|
1 #filter substitution |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 package org.mozilla.gecko.background.announcements; |
|
7 |
|
8 import org.mozilla.gecko.background.common.GlobalConstants; |
|
9 |
|
10 import android.app.AlarmManager; |
|
11 |
|
12 public class AnnouncementsConstants { |
|
13 // Not `final` so we have the option to turn this on at runtime with a magic addon. |
|
14 public static boolean DISABLED = false; |
|
15 |
|
16 public static final long MILLISECONDS_PER_DAY = 24 * 60 * 60 * 1000; |
|
17 |
|
18 public static final String GLOBAL_LOG_TAG = "GeckoAnnounce"; |
|
19 public static final String ACTION_ANNOUNCEMENTS_PREF = "@ANDROID_PACKAGE_NAME@.ANNOUNCEMENTS_PREF"; |
|
20 |
|
21 static final String PREFS_BRANCH = "background"; |
|
22 static final String PREF_LAST_FETCH_LOCAL_TIME = "last_fetch"; |
|
23 static final String PREF_LAST_FETCH_SERVER_DATE = "last_announce_date"; |
|
24 static final String PREF_LAST_LAUNCH = "last_firefox_launch"; |
|
25 static final String PREF_ANNOUNCE_SERVER_BASE_URL = "announce_server_base_url"; |
|
26 static final String PREF_EARLIEST_NEXT_ANNOUNCE_FETCH = "earliest_next_announce_fetch"; |
|
27 static final String PREF_ANNOUNCE_FETCH_INTERVAL_MSEC = "announce_fetch_interval_msec"; |
|
28 |
|
29 public static String DEFAULT_ANNOUNCE_SERVER_BASE_URL = "https://campaigns.services.mozilla.com/announce/"; |
|
30 |
|
31 public static final String ANNOUNCE_PROTOCOL_VERSION = "1"; |
|
32 public static final String ANNOUNCE_APPLICATION = "android"; |
|
33 public static String ANNOUNCE_PATH_SUFFIX = AnnouncementsConstants.ANNOUNCE_PROTOCOL_VERSION + "/" + |
|
34 AnnouncementsConstants.ANNOUNCE_APPLICATION + "/"; |
|
35 |
|
36 public static long DEFAULT_ANNOUNCE_FETCH_INTERVAL_MSEC = AlarmManager.INTERVAL_HALF_DAY; |
|
37 public static long DEFAULT_BACKOFF_MSEC = 2 * 24 * 60 * 60 * 1000; // Two days. Used if no Retry-After header. |
|
38 public static long MINIMUM_FETCH_INTERVAL_MSEC = 60 * 60 * 1000; // 1 hour. |
|
39 |
|
40 // Stop reporting idle counts once they hit one year. |
|
41 public static long MAX_SANE_IDLE_DAYS = 365; |
|
42 |
|
43 // Don't track last launch if the timestamp is ridiculously out of range: |
|
44 // four years after build. |
|
45 public static long LATEST_ACCEPTED_LAUNCH_TIMESTAMP_MSEC = GlobalConstants.BUILD_TIMESTAMP_MSEC + |
|
46 4 * 365 * MILLISECONDS_PER_DAY; |
|
47 |
|
48 public static String USER_AGENT = "Firefox Announcements " + GlobalConstants.MOZ_APP_VERSION; |
|
49 public static String ANNOUNCE_CHANNEL = GlobalConstants.MOZ_UPDATE_CHANNEL.replace("default", GlobalConstants.MOZ_OFFICIAL_BRANDING ? "release" : "dev"); |
|
50 } |