WIP. Please help... Did I miss anything?
draft
WIP. Please help... Did I miss anything?
MozReview-Commit-ID: EPIa9NqqmI8
--- a/mobile/android/app/build.gradle
+++ b/mobile/android/app/build.gradle
@@ -159,16 +159,22 @@ android {
}
if (mozconfig.substs.MOZ_INSTALL_TRACKING) {
exclude 'org/mozilla/gecko/adjust/StubAdjustHelper.java'
} else {
exclude 'org/mozilla/gecko/adjust/AdjustHelper.java'
}
+ if (mozconfig.substs.MOZ_INSTALL_MMA) {
+ exclude 'org/mozilla/gecko/mma/MmaStubImp.java'
+ } else {
+ exclude 'org/mozilla/gecko/mma/MmaLeanplumImp.java'
+ }
+
if (!mozconfig.substs.MOZ_ANDROID_GCM) {
exclude 'org/mozilla/gecko/gcm/**/*.java'
exclude 'org/mozilla/gecko/push/**/*.java'
}
srcDir "${project.buildDir}/generated/source/preprocessed_code" // See syncPreprocessedCode.
}
--- a/mobile/android/base/generate_build_config.py
+++ b/mobile/android/base/generate_build_config.py
@@ -44,16 +44,17 @@ def _defines():
'MOZ_ANDROID_DOWNLOAD_CONTENT_SERVICE',
'MOZ_ANDROID_EXCLUDE_FONTS',
'MOZ_ANDROID_GCM',
'MOZ_ANDROID_MLS_STUMBLER',
'MOZ_ANDROID_SEARCH_ACTIVITY',
'MOZ_CRASHREPORTER',
'MOZ_DEBUG',
'MOZ_INSTALL_TRACKING',
+ 'MOZ_INSTALL_MMA'
'MOZ_LOCALE_SWITCHER',
'MOZ_NATIVE_DEVICES',
'MOZ_SWITCHBOARD'):
if CONFIG[var]:
DEFINES[var] = 1
for var in ('MOZ_ANDROID_GCM_SENDERID',
'MOZ_PKG_SPECIAL',
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -54,16 +54,17 @@ import org.mozilla.gecko.home.HomePager.
import org.mozilla.gecko.home.HomePager.OnUrlOpenListener;
import org.mozilla.gecko.home.HomePanelsManager;
import org.mozilla.gecko.home.HomeScreen;
import org.mozilla.gecko.home.SearchEngine;
import org.mozilla.gecko.icons.Icons;
import org.mozilla.gecko.media.VideoPlayer;
import org.mozilla.gecko.menu.GeckoMenu;
import org.mozilla.gecko.menu.GeckoMenuItem;
+import org.mozilla.gecko.mma.MmaDelegate;
import org.mozilla.gecko.mozglue.GeckoLoader;
import org.mozilla.gecko.mozglue.SafeIntent;
import org.mozilla.gecko.notifications.NotificationHelper;
import org.mozilla.gecko.overlays.ui.ShareDialog;
import org.mozilla.gecko.permissions.Permissions;
import org.mozilla.gecko.preferences.ClearOnShutdownPref;
import org.mozilla.gecko.preferences.GeckoPreferences;
import org.mozilla.gecko.promotion.AddToHomeScreenPromotion;
@@ -879,16 +880,17 @@ public class BrowserApp extends GeckoApp
final String serverUrl = TextUtils.isEmpty(serverExtra) ? SWITCHBOARD_SERVER : serverExtra;
new AsyncConfigLoader(context, serverUrl) {
@Override
protected Void doInBackground(Void... params) {
super.doInBackground(params);
if (SwitchBoard.isInExperiment(context, Experiments.LEANPLUM) &&
GeckoPreferences.getBooleanPref(context, GeckoPreferences.PREFS_HEALTHREPORT_UPLOAD_ENABLED, true)) {
// Do LeanPlum start/init here
+ MmaDelegate.init(context.getApplicationContext());
}
return null;
}
}.execute();
}
private static void initTelemetryUploader(final boolean isInAutomation) {
TelemetryUploadService.setDisabled(isInAutomation);
--- a/mobile/android/base/java/org/mozilla/gecko/mma/MmaDelegate.java
+++ b/mobile/android/base/java/org/mozilla/gecko/mma/MmaDelegate.java
@@ -1,16 +1,17 @@
+//#filter substitution
+/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; 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.mma;
-import android.app.Application;
import android.content.Context;
-/**
- * Created by nevin on 5/11/17.
- */
public class MmaDelegate {
private static MmaInterface mmaHelper = new MmaStubImp();
public static String FIRST_RUN = "First Run";
public static String SECOND_RUN = "Second Run";
public static String OPENED_APP = "Opened App";
@@ -21,17 +22,17 @@ public class MmaDelegate {
public static String SAVED_BOOKMARK = "saved bookmark";
public static String OPENED_TELEPHONE_LINK = "Opened Telephone Link";
public static String OPENED_MAILTO_LINK = "Opened Mailto Link";
public static String SAVED_IMAGE = "Download Media - Saved Image";
public static String CLEAR_PRIVATE_DATA = "Closed Private Tabs When Leaving Private Browsing";
public static String CLOSED_PRIVATE_TABS = "Closed Private Tabs";
public static String SAVED_LOGIN_AND_PASSWORD = "Saved Login and Password";
- public static void init(Application application) {
- mmaHelper.init(application);
+ public static void init(Context context) {
+ mmaHelper.init(context);
}
public void start(Context context) {
mmaHelper.start(context);
}
}
--- a/mobile/android/base/java/org/mozilla/gecko/mma/MmaInterface.java
+++ b/mobile/android/base/java/org/mozilla/gecko/mma/MmaInterface.java
@@ -1,11 +1,16 @@
+//#filter substitution
+/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; 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.mma;
-import android.app.Application;
import android.content.Context;
public interface MmaInterface {
- void init(Application application);
+ void init(Context context);
+
void start(Context context);
}
--- a/mobile/android/base/java/org/mozilla/gecko/mma/MmaLeanplumImp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/mma/MmaLeanplumImp.java
@@ -1,15 +1,19 @@
+//#filter substitution
+/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; 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.mma;
-import android.app.Application;
import android.content.Context;
public class MmaLeanplumImp implements MmaInterface {
- @Override public void init(Application application) {
+ @Override public void init(Context context) {
}
@Override public void start(Context context) {
}
}
--- a/mobile/android/base/java/org/mozilla/gecko/mma/MmaStubImp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/mma/MmaStubImp.java
@@ -1,18 +1,19 @@
+//#filter substitution
+/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; 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.mma;
-import android.app.Application;
import android.content.Context;
-/**
- * Created by nevin on 5/11/17.
- */
public class MmaStubImp implements MmaInterface {
- @Override public void init(Application application) {
+ @Override public void init(Context context) {
}
@Override public void start(Context context) {
}
}
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -107,33 +107,42 @@ with Files('resources/menu/*home*'):
BUG_COMPONENT = ('Firefox for Android', 'Awesomescreen')
with Files('resources/menu/*activitystream*'):
BUG_COMPONENT = ('Firefox for Android', 'Awesomescreen')
with Files('resources/menu/browsersearch_contextmenu.xml'):
BUG_COMPONENT = ('Firefox for Android', 'Awesomescreen')
+with Files('java/org/mozilla/gecko/mma/**'):
+ BUG_COMPONENT = ('Firefox for Android', 'Marketing')
+
DIRS += ['locales']
GENERATED_FILES += [
'../geckoview/generated/preprocessed/org/mozilla/geckoview/BuildConfig.java',
'AndroidManifest.xml',
'generated/preprocessed/org/mozilla/gecko/AdjustConstants.java',
'generated/preprocessed/org/mozilla/gecko/AppConstants.java',
+ 'generated/preprocessed/org/mozilla/gecko/mma/MmaConstants.java',
]
w = GENERATED_FILES['../geckoview/generated/preprocessed/org/mozilla/geckoview/BuildConfig.java']
w.script = 'generate_build_config.py:generate_java'
w.inputs += ['../geckoview/BuildConfig.java.in']
x = GENERATED_FILES['generated/preprocessed/org/mozilla/gecko/AdjustConstants.java']
x.script = 'generate_build_config.py:generate_java'
x.inputs += ['AdjustConstants.java.in']
y = GENERATED_FILES['generated/preprocessed/org/mozilla/gecko/AppConstants.java']
y.script = 'generate_build_config.py:generate_java'
y.inputs += ['AppConstants.java.in']
+
+y1 = GENERATED_FILES['generated/preprocessed/org/mozilla/gecko/mma/MmaConstants.java']
+y1.script = 'generate_build_config.py:generate_java'
+y1.inputs += ['MmaConstants.java.in']
+
z = GENERATED_FILES['AndroidManifest.xml']
z.script = 'generate_build_config.py:generate_android_manifest'
z.inputs += ['AndroidManifest.xml.in']
include('android-services.mozbuild')
geckoview_source_dir = TOPSRCDIR + '/mobile/android/geckoview/src/main/'
geckoview_thirdparty_source_dir = TOPSRCDIR + '/mobile/android/geckoview/src/thirdparty/'
@@ -154,16 +163,17 @@ constants_jar.sources += ['java/org/mozi
'db/BrowserContract.java',
'LocaleManager.java',
'Locales.java',
]]
constants_jar.generated_sources = [
'../geckoview/generated/preprocessed/org/mozilla/geckoview/BuildConfig.java',
'generated/preprocessed/org/mozilla/gecko/AdjustConstants.java',
'generated/preprocessed/org/mozilla/gecko/AppConstants.java',
+ 'generated/preprocessed/org/mozilla/gecko/mma/MmaConstants.java',
]
constants_jar.extra_jars = [
CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'],
CONFIG['ANDROID_SUPPORT_V4_AAR_LIB'],
CONFIG['ANDROID_SUPPORT_V4_AAR_INTERNAL_LIB'],
CONFIG['ANDROID_APPCOMPAT_V7_AAR_LIB'],
]
@@ -740,16 +750,18 @@ gbjar.sources += ['java/org/mozilla/geck
'menu/GeckoMenuInflater.java',
'menu/GeckoMenuItem.java',
'menu/GeckoSubMenu.java',
'menu/MenuItemActionBar.java',
'menu/MenuItemDefault.java',
'menu/MenuItemSwitcherLayout.java',
'menu/MenuPanel.java',
'menu/MenuPopup.java',
+ 'mma/MmaDelegate.java',
+
'MotionEventInterceptor.java',
'notifications/NotificationClient.java',
'notifications/NotificationHelper.java',
'notifications/NotificationReceiver.java',
'notifications/NotificationService.java',
'notifications/WhatsNewReceiver.java',
'overlays/OverlayConstants.java',
'overlays/service/OverlayActionService.java',