Bug 1245497 - (Part 2) Measure FENNEC_GECKOAPP_STARTUP_ACTION when we handle a new intent. r=mcomella draft
authorMargaret Leibovic <margaret.leibovic@gmail.com>
Wed, 03 Feb 2016 12:22:06 -0500
changeset 328575 6038c53d6c86e05132ee12f0e75ae31fea92bdc4
parent 328574 6a03986c6e2bbd53238bc6beb6083023d83bd124
child 513831 c65329d5bbfc3b84959128c60b6bef5be4b3ff2a
push id10374
push usermleibovic@mozilla.com
push dateWed, 03 Feb 2016 17:27:57 +0000
reviewersmcomella
bugs1245497
milestone47.0a1
Bug 1245497 - (Part 2) Measure FENNEC_GECKOAPP_STARTUP_ACTION when we handle a new intent. r=mcomella
mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
@@ -1897,46 +1897,54 @@ public abstract class GeckoApp
         // from external shortcuts, so set this as the intent for initialization
         if (!mInitialized) {
             setIntent(externalIntent);
             return;
         }
 
         final String action = intent.getAction();
 
+        final String uri = getURIFromIntent(intent);
+        final String passedUri;
+        if (!TextUtils.isEmpty(uri)) {
+            passedUri = uri;
+        } else {
+            passedUri = null;
+        }
+
         if (ACTION_LOAD.equals(action)) {
-            String uri = intent.getDataString();
-            Tabs.getInstance().loadUrl(uri);
+            Tabs.getInstance().loadUrl(intent.getDataString());
         } else if (Intent.ACTION_VIEW.equals(action)) {
             processActionViewIntent(new Runnable() {
                 @Override
                 public void run() {
                     final String url = intent.getDataString();
                     Tabs.getInstance().loadUrlWithIntentExtras(url, intent, Tabs.LOADURL_NEW_TAB |
                                                                                     Tabs.LOADURL_USER_ENTERED |
                                                                                     Tabs.LOADURL_EXTERNAL);
                 }
             });
         } else if (ACTION_HOMESCREEN_SHORTCUT.equals(action)) {
-            String uri = getURIFromIntent(intent);
             GeckoAppShell.sendEventToGecko(GeckoEvent.createBookmarkLoadEvent(uri));
         } else if (Intent.ACTION_SEARCH.equals(action)) {
-            String uri = getURIFromIntent(intent);
             GeckoAppShell.sendEventToGecko(GeckoEvent.createURILoadEvent(uri));
         } else if (ACTION_ALERT_CALLBACK.equals(action)) {
             processAlertCallback(intent);
         } else if (NotificationHelper.HELPER_BROADCAST_ACTION.equals(action)) {
             NotificationHelper.getInstance(getApplicationContext()).handleNotificationIntent(intent);
         } else if (ACTION_LAUNCH_SETTINGS.equals(action)) {
             // Check if launched from data reporting notification.
             Intent settingsIntent = new Intent(GeckoApp.this, GeckoPreferences.class);
             // Copy extras.
             settingsIntent.putExtras(intent.getUnsafe());
             startActivity(settingsIntent);
         }
+
+        final StartupAction startupAction = getStartupAction(passedUri, action);
+        Telemetry.addToHistogram("FENNEC_GECKOAPP_STARTUP_ACTION", startupAction.ordinal());
     }
 
     /**
      * Handles getting a URI from an intent in a way that is backwards-
      * compatible with our previous implementations.
      */
     protected String getURIFromIntent(SafeIntent intent) {
         final String action = intent.getAction();