@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); fContext = getActivity().getApplicationContext(); mActivity = (MainActivity) getActivity(); // bottomPanel = (LinearLayout) rootView.findViewById(R.id.bottomPanelPhoto); progress = (DonutProgress) rootView.findViewById(R.id.donut_progress); progress.setVisibility(View.GONE); btnSave = (ActionButton) rootView.findViewById(R.id.aBtnSave); btnSave.setImageResource(R.drawable.ic_check); btnSave.setButtonColor(Color.TRANSPARENT); btnSave.setStrokeColor(Color.GREEN); btnSave.setStrokeWidth(3.0f); btnSave.setButtonColorPressed(Color.LTGRAY); btnSave.removeShadow(); btnSave.setType(ActionButton.Type.BIG); btnSave.setShowAnimation(ActionButton.Animations.FADE_IN); btnSave.setHideAnimation(ActionButton.Animations.FADE_OUT); btnSave.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { new SendFilesTask().execute(); } }); btnCancel = (ActionButton) rootView.findViewById(R.id.aBtnBack); btnCancel.setImageResource(R.drawable.ic_cancel); btnCancel.setButtonColor(Color.TRANSPARENT); btnCancel.setStrokeColor(Color.RED); btnCancel.setStrokeWidth(3.0f); btnCancel.setButtonColorPressed(Color.LTGRAY); btnCancel.removeShadow(); btnCancel.setType(ActionButton.Type.BIG); btnCancel.setShowAnimation(ActionButton.Animations.FADE_IN); btnCancel.setHideAnimation(ActionButton.Animations.FADE_OUT); btnCancel.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { btnCancel.playHideAnimation(); btnSave.playHideAnimation(); mActivity.onBackPressed(); } }); imgView = (ImageView) rootView.findViewById(R.id.imgView); try { ImageLoader.getInstance().displayImage("file:///mnt/" + bmp, imgView); } catch (Exception e) { } mActivity.setIsFAB(false); mActivity.updateFAB(); if (savedInstanceState == null) { startAnimation(); } }
public void sendDelayedSms() { mProgress.setVisibility(VISIBLE); updateButtonState(SendButtonState.CANCEL); mProgressAnimator.start(); }
@Override public void onFinishInflate() { super.onFinishInflate(); // Get references to the views mReplyText = (QKEditText) findViewById(R.id.compose_reply_text); mButton = (FrameLayout) findViewById(R.id.compose_button); mProgress = (DonutProgress) findViewById(R.id.progress); mButtonBackground = (ImageView) findViewById(R.id.compose_button_background); mButtonBar1 = (ImageView) findViewById(R.id.compose_button_bar_1); mButtonBar2 = (ImageView) findViewById(R.id.compose_button_bar_2); mAttachmentPanel = findViewById(R.id.attachment_panel); mAttach = (ImageButton) findViewById(R.id.attach); mCamera = (ImageButton) findViewById(R.id.camera); mDelay = (ImageButton) findViewById(R.id.delay); mLetterCount = (QKTextView) findViewById(R.id.compose_letter_count); mAttachmentLayout = (FrameLayout) findViewById(R.id.attachment); mAttachment = (AttachmentImageView) findViewById(R.id.compose_attachment); mCancel = (ImageButton) findViewById(R.id.cancel); mButton.setOnClickListener(this); mAttach.setOnClickListener(this); mCamera.setOnClickListener(this); mCancel.setOnClickListener(this); mDelay.setOnClickListener(this); LiveViewManager.registerView( QKPreference.THEME, this, key -> { mButtonBackground.setColorFilter(ThemeManager.getColor(), PorterDuff.Mode.SRC_ATOP); mButtonBar1.setColorFilter( ThemeManager.getTextOnColorPrimary(), PorterDuff.Mode.SRC_ATOP); mButtonBar2.setColorFilter( ThemeManager.getTextOnColorPrimary(), PorterDuff.Mode.SRC_ATOP); mAttachmentPanel.setBackgroundColor(ThemeManager.getColor()); mAttach.setColorFilter(ThemeManager.getTextOnColorPrimary(), PorterDuff.Mode.SRC_ATOP); mCamera.setColorFilter(ThemeManager.getTextOnColorPrimary(), PorterDuff.Mode.SRC_ATOP); updateDelayButton(); mProgress.setUnfinishedStrokeColor(ThemeManager.getTextOnColorSecondary()); mProgress.setFinishedStrokeColor(ThemeManager.getTextOnColorPrimary()); if (ThemeManager.getSentBubbleRes() != 0) mReplyText.setBackgroundResource(ThemeManager.getSentBubbleRes()); }); LiveViewManager.registerView( QKPreference.BACKGROUND, this, key -> { mReplyText .getBackground() .setColorFilter(ThemeManager.getNeutralBubbleColor(), PorterDuff.Mode.SRC_ATOP); getBackground() .setColorFilter(ThemeManager.getBackgroundColor(), PorterDuff.Mode.SRC_ATOP); }); // There is an option for using the return button instead of the emoticon button in the // keyboard; set that up here. switch (Integer.parseInt(mPrefs.getString(SettingsFragment.ENTER_BUTTON, "0"))) { case 0: // emoji break; case 1: // new line mReplyText.setInputType( InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES | InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE); mReplyText.setSingleLine(false); break; case 2: // send mReplyText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI); mReplyText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES); mReplyText.setSingleLine(false); mReplyText.setOnKeyListener( new OnKeyListener() { // Workaround because ACTION_SEND does not support multiline mode @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == 66) { sendSms(); return true; } return false; } }); break; } mReplyText.setTextChangedListener( new QKEditText.TextChangedListener() { @Override public void onTextChanged(CharSequence s) { int length = s.length(); updateButtonState(length); // If the reply is within 10 characters of the SMS limit (160), it will start counting // down // If the reply exceeds the SMS limit, it will count down until an extra message will // have to be sent, and shows how many messages will currently be sent if (length < 150) { mLetterCount.setText(""); } else if (150 <= length && length <= 160) { mLetterCount.setText("" + (160 - length)); } else if (160 < length) { mLetterCount.setText((160 - length % 160) + "/" + (length / 160 + 1)); } } }); mProgressAnimator = new ValueAnimator(); mProgressAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); mProgressAnimator.setDuration(mDelayDuration); mProgressAnimator.setIntValues(0, 360); mProgressAnimator.addUpdateListener( new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { mProgress.setProgress((int) animation.getAnimatedValue()); } }); mProgressAnimator.addListener( new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); mProgress.setVisibility(INVISIBLE); mProgress.setProgress(0); if (!mSendingCancelled) { sendSms(); // In case they only enabled it for a particular message, let's set it back to the // pref value mDelayedMessagingEnabled = mPrefs.getBoolean(SettingsFragment.DELAYED, false); updateDelayButton(); } else { mSendingCancelled = false; updateButtonState(); } } }); }