diff options
Diffstat (limited to 'mobile/android/base/java/org/mozilla/gecko/tabqueue/TabQueuePrompt.java')
-rw-r--r-- | mobile/android/base/java/org/mozilla/gecko/tabqueue/TabQueuePrompt.java | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/mobile/android/base/java/org/mozilla/gecko/tabqueue/TabQueuePrompt.java b/mobile/android/base/java/org/mozilla/gecko/tabqueue/TabQueuePrompt.java deleted file mode 100644 index ead16ccba..000000000 --- a/mobile/android/base/java/org/mozilla/gecko/tabqueue/TabQueuePrompt.java +++ /dev/null @@ -1,215 +0,0 @@ -/* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.mozilla.gecko.tabqueue; - -import org.mozilla.gecko.GeckoSharedPrefs; -import org.mozilla.gecko.Locales; -import org.mozilla.gecko.R; -import org.mozilla.gecko.Telemetry; -import org.mozilla.gecko.TelemetryContract; - -import android.annotation.TargetApi; -import android.content.Intent; -import android.net.Uri; -import android.os.Build; -import android.os.Bundle; -import android.os.Handler; -import android.provider.Settings; -import android.util.Log; -import android.view.MotionEvent; -import android.view.View; -import android.widget.Toast; - -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.AnimatorSet; -import android.animation.ObjectAnimator; - -public class TabQueuePrompt extends Locales.LocaleAwareActivity { - public static final String LOGTAG = "Gecko" + TabQueuePrompt.class.getSimpleName(); - - private static final int SETTINGS_REQUEST_CODE = 1; - - // Flag set during animation to prevent animation multiple-start. - private boolean isAnimating; - - private View containerView; - private View buttonContainer; - private View enabledConfirmation; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - showTabQueueEnablePrompt(); - } - - private void showTabQueueEnablePrompt() { - setContentView(R.layout.tab_queue_prompt); - - final View okButton = findViewById(R.id.ok_button); - okButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - onConfirmButtonPressed(); - Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.BUTTON, "tabqueue_prompt_yes"); - } - }); - findViewById(R.id.cancel_button).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.BUTTON, "tabqueue_prompt_no"); - setResult(TabQueueHelper.TAB_QUEUE_NO); - finish(); - } - }); - final View settingsButton = findViewById(R.id.settings_button); - settingsButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - onSettingsButtonPressed(); - } - }); - - final View tipView = findViewById(R.id.tip_text); - final View settingsPermitView = findViewById(R.id.settings_permit_text); - - if (TabQueueHelper.canDrawOverlays(this)) { - okButton.setVisibility(View.VISIBLE); - settingsButton.setVisibility(View.GONE); - tipView.setVisibility(View.VISIBLE); - settingsPermitView.setVisibility(View.GONE); - } else { - okButton.setVisibility(View.GONE); - settingsButton.setVisibility(View.VISIBLE); - tipView.setVisibility(View.GONE); - settingsPermitView.setVisibility(View.VISIBLE); - } - - containerView = findViewById(R.id.tab_queue_container); - buttonContainer = findViewById(R.id.button_container); - enabledConfirmation = findViewById(R.id.enabled_confirmation); - - containerView.setTranslationY(500); - containerView.setAlpha(0); - - final Animator translateAnimator = ObjectAnimator.ofFloat(containerView, "translationY", 0); - translateAnimator.setDuration(400); - - final Animator alphaAnimator = ObjectAnimator.ofFloat(containerView, "alpha", 1); - alphaAnimator.setStartDelay(200); - alphaAnimator.setDuration(600); - - final AnimatorSet set = new AnimatorSet(); - set.playTogether(alphaAnimator, translateAnimator); - set.setStartDelay(400); - - set.start(); - } - - @Override - public void finish() { - super.finish(); - - // Don't perform an activity-dismiss animation. - overridePendingTransition(0, 0); - } - - private void onConfirmButtonPressed() { - enabledConfirmation.setVisibility(View.VISIBLE); - enabledConfirmation.setAlpha(0); - - final Animator buttonsAlphaAnimator = ObjectAnimator.ofFloat(buttonContainer, "alpha", 0); - buttonsAlphaAnimator.setDuration(300); - - final Animator messagesAlphaAnimator = ObjectAnimator.ofFloat(enabledConfirmation, "alpha", 1); - messagesAlphaAnimator.setDuration(300); - messagesAlphaAnimator.setStartDelay(200); - - final AnimatorSet set = new AnimatorSet(); - set.playTogether(buttonsAlphaAnimator, messagesAlphaAnimator); - - set.addListener(new AnimatorListenerAdapter() { - - @Override - public void onAnimationEnd(Animator animation) { - - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - slideOut(); - setResult(TabQueueHelper.TAB_QUEUE_YES); - } - }, 1000); - } - }); - - set.start(); - } - - @TargetApi(Build.VERSION_CODES.M) - private void onSettingsButtonPressed() { - Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); - intent.setData(Uri.parse("package:" + getPackageName())); - startActivityForResult(intent, SETTINGS_REQUEST_CODE); - - Toast.makeText(this, R.string.tab_queue_prompt_permit_drawing_over_apps, Toast.LENGTH_LONG).show(); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - if (requestCode != SETTINGS_REQUEST_CODE) { - return; - } - - if (TabQueueHelper.canDrawOverlays(this)) { - // User granted the permission in Android's settings. - Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.BUTTON, "tabqueue_prompt_yes"); - - setResult(TabQueueHelper.TAB_QUEUE_YES); - finish(); - } - } - - /** - * Slide the overlay down off the screen and destroy it. - */ - private void slideOut() { - if (isAnimating) { - return; - } - - isAnimating = true; - - ObjectAnimator animator = ObjectAnimator.ofFloat(containerView, "translationY", containerView.getHeight()); - animator.addListener(new AnimatorListenerAdapter() { - - @Override - public void onAnimationEnd(Animator animation) { - finish(); - } - - }); - animator.start(); - } - - /** - * Close the dialog if back is pressed. - */ - @Override - public void onBackPressed() { - slideOut(); - } - - /** - * Close the dialog if the anything that isn't a button is tapped. - */ - @Override - public boolean onTouchEvent(MotionEvent event) { - slideOut(); - return true; - } -}
\ No newline at end of file |