Bug 1316009 - Adding 'final' keyword to static fields where appropriate. r?sebastian draft bug6009
authorTomislav Jurin <svezauzeto12@hotmail.com>
Fri, 25 Nov 2016 20:02:44 +0100
branchbug6009
changeset 444667 65ef2ecc0b455241c32bbd9b0e668ce73286e952
parent 442068 0534254e9a40b4bade2577c631fe4cfa0b5db41d
child 724626 3fc2f8aaa4435a65aeaf5de325adc51b3324eee6
push id37326
push userbmo:svezauzeto12@hotmail.com
push dateMon, 28 Nov 2016 15:53:18 +0000
reviewerssebastian
bugs1316009, 2
milestone53.0a1
Bug 1316009 - Adding 'final' keyword to static fields where appropriate. r?sebastian MozReview-Commit-ID: DJvoG972cIM *** Bug 1316009 - adding finals where needed r?sebastian MozReview-Commit-ID: 8ahYvj5bTgi *** Bug 1316009 - adding finals where needed, removed final from boolean DEBUG r?sebastian MozReview-Commit-ID: DhwNS2jOqfb *** bug MozReview-Commit-ID: 2lG31xUHbbR *** bug 2 MozReview-Commit-ID: 48pNVz32OLS
mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
mobile/android/base/java/org/mozilla/gecko/media/MediaDrmProxy.java
mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/common/log/Logger.java
mobile/android/services/src/main/java/org/mozilla/gecko/sync/ThreadPool.java
mobile/android/services/src/main/java/org/mozilla/gecko/sync/crypto/HKDF.java
mobile/android/services/src/main/java/org/mozilla/gecko/sync/net/SyncStorageRequest.java
mobile/android/services/src/main/java/org/mozilla/gecko/sync/net/SyncStorageResponse.java
mobile/android/services/src/main/java/org/mozilla/gecko/sync/repositories/android/AndroidBrowserRepositoryDataAccessor.java
mobile/android/services/src/main/java/org/mozilla/gecko/sync/repositories/domain/PasswordRecord.java
mobile/android/stumbler/java/org/mozilla/mozstumbler/service/AppGlobals.java
mobile/android/stumbler/java/org/mozilla/mozstumbler/service/stumblerthread/scanners/cellscanner/CellScannerImplementation.java
--- a/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
@@ -100,19 +100,19 @@ public class LocalBrowserDB extends Brow
     private final HashMap<String, Long> mFolderIdMap;
 
     // Use wrapped Boolean so that we can have a null state
     private volatile Boolean mDesktopBookmarksExist;
 
     private volatile SuggestedSites mSuggestedSites;
 
     // Constants used when importing history data from legacy browser.
-    public static String HISTORY_VISITS_DATE = "date";
-    public static String HISTORY_VISITS_COUNT = "visits";
-    public static String HISTORY_VISITS_URL = "url";
+    public static final String HISTORY_VISITS_DATE = "date";
+    public static final String HISTORY_VISITS_COUNT = "visits";
+    public static final String HISTORY_VISITS_URL = "url";
 
     private static final String TELEMETRY_HISTOGRAM_ACITIVITY_STREAM_TOPSITES = "FENNEC_ACTIVITY_STREAM_TOPSITES_LOADER_TIME_MS";
 
     private final Uri mBookmarksUriWithProfile;
     private final Uri mParentsUriWithProfile;
     private final Uri mHistoryUriWithProfile;
     private final Uri mHistoryExpireUriWithProfile;
     private final Uri mCombinedUriWithProfile;
--- a/mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
+++ b/mobile/android/base/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
@@ -50,19 +50,19 @@ public class GeckoMediaDrmBridgeV21 impl
     private HashSet<ByteBuffer> mSessionIds;
     private HashMap<ByteBuffer, String> mSessionMIMETypes;
     private ArrayDeque<PendingCreateSessionData> mPendingCreateSessionDataQueue;
     private GeckoMediaDrm.Callbacks mCallbacks;
 
     private MediaCrypto mCrypto;
     protected MediaDrm mDrm;
 
-    public static int LICENSE_REQUEST_INITIAL = 0; /*MediaKeyMessageType::License_request*/
-    public static int LICENSE_REQUEST_RENEWAL = 1; /*MediaKeyMessageType::License_renewal*/
-    public static int LICENSE_REQUEST_RELEASE = 2; /*MediaKeyMessageType::License_release*/
+    public static final int LICENSE_REQUEST_INITIAL = 0; /*MediaKeyMessageType::License_request*/
+    public static final int LICENSE_REQUEST_RENEWAL = 1; /*MediaKeyMessageType::License_renewal*/
+    public static final int LICENSE_REQUEST_RELEASE = 2; /*MediaKeyMessageType::License_release*/
 
     // Store session data while provisioning
     private static class PendingCreateSessionData {
         public final int mToken;
         public final int mPromiseId;
         public final byte[] mInitData;
         public final String mMimeType;
 
--- a/mobile/android/base/java/org/mozilla/gecko/media/MediaDrmProxy.java
+++ b/mobile/android/base/java/org/mozilla/gecko/media/MediaDrmProxy.java
@@ -34,17 +34,17 @@ public final class MediaDrmProxy {
     private static final String VORBIS = "audio/vorbis";
     @WrapForJNI
     private static final String VP8 = "video/x-vnd.on2.vp8";
     @WrapForJNI
     private static final String VP9 = "video/x-vnd.on2.vp9";
     @WrapForJNI
     private static final String OPUS = "audio/opus";
 
-    public static ArrayList<MediaDrmProxy> sProxyList = new ArrayList<MediaDrmProxy>();
+    public static final ArrayList<MediaDrmProxy> sProxyList = new ArrayList<MediaDrmProxy>();
 
     // A flag to avoid using the native object that has been destroyed.
     private boolean mDestroyed;
     private GeckoMediaDrm mImpl;
     private String mDrmStubId;
 
     private static boolean isSystemSupported() {
         // Support versions >= LOLLIPOP
--- a/mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java
+++ b/mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java
@@ -114,17 +114,17 @@ OnSharedPreferenceChangeListener
     // some devices look bad. Don't use transitions on those
     // devices.
     private static final boolean NO_TRANSITIONS = HardwareUtils.IS_KINDLE_DEVICE;
     private static final int NO_SUCH_ID = 0;
 
     public static final String NON_PREF_PREFIX = "android.not_a_preference.";
     public static final String INTENT_EXTRA_RESOURCES = "resource";
     public static final String PREFS_TRACKING_PROTECTION_PROMPT_SHOWN = NON_PREF_PREFIX + "trackingProtectionPromptShown";
-    public static String PREFS_HEALTHREPORT_UPLOAD_ENABLED = NON_PREF_PREFIX + "healthreport.uploadEnabled";
+    public static final String PREFS_HEALTHREPORT_UPLOAD_ENABLED = NON_PREF_PREFIX + "healthreport.uploadEnabled";
     public static final String PREFS_SYNC = NON_PREF_PREFIX + "sync";
 
     private static boolean sIsCharEncodingEnabled;
     private boolean mInitialized;
     private PrefsHelper.PrefHandler mPrefsRequest;
     private List<Header> mHeaders;
 
     // These match keys in resources/xml*/preferences*.xml
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/background/common/log/Logger.java
+++ b/mobile/android/services/src/main/java/org/mozilla/gecko/background/common/log/Logger.java
@@ -22,17 +22,17 @@ import android.util.Log;
 /**
  * Logging helper class. Serializes all log operations (by synchronizing).
  */
 public class Logger {
   public static final String LOGGER_TAG = "Logger";
   public static final String DEFAULT_LOG_TAG = "GeckoLogger";
 
   // For extra debugging.
-  public static boolean LOG_PERSONAL_INFORMATION = false;
+  public static final boolean LOG_PERSONAL_INFORMATION = false;
 
   /**
    * Allow each thread to use its own global log tag. This allows
    * independent services to log as different sources.
    *
    * When your thread sets up logging, it should do something like the following:
    *
    *   Logger.setThreadLogTag("MyTag");
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/ThreadPool.java
+++ b/mobile/android/services/src/main/java/org/mozilla/gecko/sync/ThreadPool.java
@@ -3,13 +3,13 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.sync;
 
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 public class ThreadPool {
-  public static ExecutorService executorService = Executors.newCachedThreadPool();
+  public static  final ExecutorService executorService = Executors.newCachedThreadPool();
   public static void run(Runnable runnable) {
     executorService.submit(runnable);
   }
 }
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/crypto/HKDF.java
+++ b/mobile/android/services/src/main/java/org/mozilla/gecko/sync/crypto/HKDF.java
@@ -14,17 +14,17 @@ import javax.crypto.spec.SecretKeySpec;
 import org.mozilla.gecko.sync.Utils;
 
 /*
  * A standards-compliant implementation of RFC 5869
  * for HMAC-based Key Derivation Function.
  * HMAC uses HMAC SHA256 standard.
  */
 public class HKDF {
-  public static String HMAC_ALGORITHM = "hmacSHA256";
+  public static final String HMAC_ALGORITHM = "hmacSHA256";
 
   /**
    * Used for conversion in cases in which you *know* the encoding exists.
    */
   public static final byte[] bytes(String in) {
     try {
       return in.getBytes("UTF-8");
     } catch (java.io.UnsupportedEncodingException e) {
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/net/SyncStorageRequest.java
+++ b/mobile/android/services/src/main/java/org/mozilla/gecko/sync/net/SyncStorageRequest.java
@@ -15,17 +15,17 @@ import org.mozilla.gecko.sync.SyncConsta
 
 import ch.boye.httpclientandroidlib.HttpEntity;
 import ch.boye.httpclientandroidlib.HttpResponse;
 import ch.boye.httpclientandroidlib.client.ClientProtocolException;
 import ch.boye.httpclientandroidlib.client.methods.HttpRequestBase;
 import ch.boye.httpclientandroidlib.impl.client.DefaultHttpClient;
 
 public class SyncStorageRequest implements Resource {
-  public static HashMap<String, String> SERVER_ERROR_MESSAGES;
+  public static final HashMap<String, String> SERVER_ERROR_MESSAGES;
   static {
     HashMap<String, String> errors = new HashMap<String, String>();
 
     // Sync protocol errors.
     errors.put("1", "Illegal method/protocol");
     errors.put("2", "Incorrect/missing CAPTCHA");
     errors.put("3", "Invalid/missing username");
     errors.put("4", "Attempt to overwrite data that can't be overwritten (such as creating a user ID that already exists)");
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/net/SyncStorageResponse.java
+++ b/mobile/android/services/src/main/java/org/mozilla/gecko/sync/net/SyncStorageResponse.java
@@ -12,17 +12,17 @@ import org.mozilla.gecko.background.comm
 import ch.boye.httpclientandroidlib.HttpResponse;
 
 public class SyncStorageResponse extends SyncResponse {
   private static final String LOG_TAG = "SyncStorageResponse";
 
   // Responses that are actionable get constant status codes.
   public static final String RESPONSE_CLIENT_UPGRADE_REQUIRED = "16";
 
-  public static HashMap<String, String> SERVER_ERROR_MESSAGES;
+  public static final HashMap<String, String> SERVER_ERROR_MESSAGES;
   static {
     HashMap<String, String> errors = new HashMap<String, String>();
 
     // Sync protocol errors.
     errors.put("1", "Illegal method/protocol");
     errors.put("2", "Incorrect/missing CAPTCHA");
     errors.put("3", "Invalid/missing username");
     errors.put("4", "Attempt to overwrite data that can't be overwritten (such as creating a user ID that already exists)");
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/repositories/android/AndroidBrowserRepositoryDataAccessor.java
+++ b/mobile/android/services/src/main/java/org/mozilla/gecko/sync/repositories/android/AndroidBrowserRepositoryDataAccessor.java
@@ -16,17 +16,17 @@ import android.content.ContentValues;
 import android.content.Context;
 import android.database.Cursor;
 import android.net.Uri;
 
 public abstract class AndroidBrowserRepositoryDataAccessor {
 
   private static final String[] GUID_COLUMNS = new String[] { BrowserContract.SyncColumns.GUID };
   protected Context context;
-  protected static String LOG_TAG = "BrowserDataAccessor";
+  protected static final String LOG_TAG = "BrowserDataAccessor";
   protected final RepoUtils.QueryHelper queryHelper;
 
   public AndroidBrowserRepositoryDataAccessor(Context context) {
     this.context = context;
     this.queryHelper = new RepoUtils.QueryHelper(context, getUri(), LOG_TAG);
   }
 
   protected abstract String[] getAllColumns();
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/repositories/domain/PasswordRecord.java
+++ b/mobile/android/services/src/main/java/org/mozilla/gecko/sync/repositories/domain/PasswordRecord.java
@@ -8,17 +8,17 @@ import org.mozilla.gecko.background.comm
 import org.mozilla.gecko.sync.ExtendedJSONObject;
 import org.mozilla.gecko.sync.Utils;
 import org.mozilla.gecko.sync.repositories.android.RepoUtils;
 
 public class PasswordRecord extends Record {
   private static final String LOG_TAG = "PasswordRecord";
 
   public static final String COLLECTION_NAME = "passwords";
-  public static long PASSWORDS_TTL = -1; // Never expire passwords.
+  public static final long PASSWORDS_TTL = -1; // Never expire passwords.
 
   // Payload strings.
   public static final String PAYLOAD_HOSTNAME = "hostname";
   public static final String PAYLOAD_FORM_SUBMIT_URL = "formSubmitURL";
   public static final String PAYLOAD_HTTP_REALM = "httpRealm";
   public static final String PAYLOAD_USERNAME = "username";
   public static final String PAYLOAD_PASSWORD = "password";
   public static final String PAYLOAD_USERNAME_FIELD = "usernameField";
--- a/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/AppGlobals.java
+++ b/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/AppGlobals.java
@@ -26,19 +26,19 @@ public class AppGlobals {
     public static final String LOCATION_ORIGIN_INTERNAL = "internal";
 
     public enum ActiveOrPassiveStumbling { ACTIVE_STUMBLING, PASSIVE_STUMBLING }
 
     /* In passive mode, only scan this many times for each gps. */
     public static final int PASSIVE_MODE_MAX_SCANS_PER_GPS = 3;
 
     /* These are set on startup. The appVersionName and code are not used in the service-only case. */
-    public static String appVersionName = "0.0.0";
-    public static int appVersionCode = 0;
-    public static String appName = "StumblerService";
+    public static final String appVersionName = "0.0.0";
+    public static final int appVersionCode = 0;
+    public static final String appName = "StumblerService";
     public static boolean isDebug;
 
     /* The log activity will clear this periodically, and display the messages.
      * Always null when the stumbler service is used stand-alone. */
     public static volatile ConcurrentLinkedQueue<String> guiLogMessageBuffer;
 
     public static void guiLogError(String msg) {
         guiLogInfo(msg, "red", true);
--- a/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/stumblerthread/scanners/cellscanner/CellScannerImplementation.java
+++ b/mobile/android/stumbler/java/org/mozilla/mozstumbler/service/stumblerthread/scanners/cellscanner/CellScannerImplementation.java
@@ -30,17 +30,17 @@ import org.mozilla.mozstumbler.service.A
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
 public class CellScannerImplementation implements CellScanner.CellScannerImpl {
 
-    protected static String LOG_TAG = AppGlobals.makeLogTag(CellScannerImplementation.class.getSimpleName());
+    protected static final String LOG_TAG = AppGlobals.makeLogTag(CellScannerImplementation.class.getSimpleName());
     protected GetAllCellInfoScannerImpl mGetAllInfoCellScanner;
     protected TelephonyManager mTelephonyManager;
     protected boolean mIsStarted;
     protected int mPhoneType;
     protected final Context mContext;
 
     protected volatile int mSignalStrength = CellInfo.UNKNOWN_SIGNAL;
     protected volatile int mCdmaDbm = CellInfo.UNKNOWN_SIGNAL;