Bug 1240560 - Extract goToHomeScreen() method to AcitvityUtils r?sebastian draft
authorNevin Chen <cnevinchen@gmail.com>
Thu, 24 Nov 2016 10:54:49 +0800
changeset 443241 96a68959a6b2dbba8928825d4b2877fed2d20504
parent 430694 23f92954349863643543975a05ca8f229dfcbf23
child 443242 ed2c37b7d4fc37c303428ee8d719335b98ac4ba4
child 443404 c55c097f2d98925576a97aff99ee92d16cef33df
push id36934
push userbmo:cnevinchen@gmail.com
push dateThu, 24 Nov 2016 03:23:31 +0000
reviewerssebastian
bugs1240560
milestone52.0a1
Bug 1240560 - Extract goToHomeScreen() method to AcitvityUtils r?sebastian MozReview-Commit-ID: 5w4ywPhDtAy
mobile/android/base/java/org/mozilla/gecko/promotion/HomeScreenPrompt.java
mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ActivityUtils.java
--- a/mobile/android/base/java/org/mozilla/gecko/promotion/HomeScreenPrompt.java
+++ b/mobile/android/base/java/org/mozilla/gecko/promotion/HomeScreenPrompt.java
@@ -25,16 +25,17 @@ import org.mozilla.gecko.R;
 import org.mozilla.gecko.Telemetry;
 import org.mozilla.gecko.TelemetryContract;
 import org.mozilla.gecko.db.BrowserDB;
 import org.mozilla.gecko.db.UrlAnnotations;
 import org.mozilla.gecko.icons.IconCallback;
 import org.mozilla.gecko.icons.IconResponse;
 import org.mozilla.gecko.icons.Icons;
 import org.mozilla.gecko.Experiments;
+import org.mozilla.gecko.util.ActivityUtils;
 import org.mozilla.gecko.util.ThreadUtils;
 
 /**
  * Prompt to promote adding the current website to the home screen.
  */
 public class HomeScreenPrompt extends Locales.LocaleAwareActivity implements IconCallback {
     private static final String EXTRA_TITLE = "title";
     private static final String EXTRA_URL = "url";
@@ -118,33 +119,22 @@ public class HomeScreenPrompt extends Lo
     private void addToHomeScreen() {
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
                 GeckoAppShell.createShortcut(title, url);
 
                 Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.BUTTON, TELEMETRY_EXTRA);
 
-                goToHomeScreen();
+                ActivityUtils.goToHomeScreen(HomeScreenPrompt.this);
             }
         });
     }
 
-    /**
-     * Finish this activity and launch the default home screen activity.
-     */
-    private void goToHomeScreen() {
-        Intent intent = new Intent(Intent.ACTION_MAIN);
 
-        intent.addCategory(Intent.CATEGORY_HOME);
-        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        startActivity(intent);
-
-        finish();
-    }
 
     private void loadShortcutIcon() {
         Icons.with(this)
                 .pageUrl(url)
                 .skipNetwork()
                 .skipMemory()
                 .forLauncherIcon()
                 .build()
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ActivityUtils.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ActivityUtils.java
@@ -1,16 +1,17 @@
 /* -*- 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.util;
 
 import android.app.Activity;
+import android.content.Intent;
 import android.view.View;
 import android.view.Window;
 import android.view.WindowManager;
 
 import org.mozilla.gecko.AppConstants.Versions;
 
 public class ActivityUtils {
     private ActivityUtils() {
@@ -51,9 +52,22 @@ public class ActivityUtils {
         if (Versions.feature16Plus) {
             final int vis = window.getDecorView().getSystemUiVisibility();
             return (vis & View.SYSTEM_UI_FLAG_FULLSCREEN) != 0;
         }
 
         final int flags = window.getAttributes().flags;
         return ((flags & WindowManager.LayoutParams.FLAG_FULLSCREEN) != 0);
     }
+
+    /**
+     * Finish this activity and launch the default home screen activity.
+     */
+    public static void goToHomeScreen(Activity activity) {
+        Intent intent = new Intent(Intent.ACTION_MAIN);
+
+        intent.addCategory(Intent.CATEGORY_HOME);
+        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        activity.startActivity(intent);
+
+        activity.finish();
+    }
 }