]> hydra-www.ietfng.org Git - acmetensortoys-ctfws-android/commitdiff
Accumulated lint in mobile
authorNathaniel Wesley Filardo <nwfilardo@gmail.com>
Mon, 28 Feb 2022 20:20:33 +0000 (20:20 +0000)
committerNathaniel Wesley Filardo <nwfilardo@gmail.com>
Sat, 5 Mar 2022 17:08:57 +0000 (17:08 +0000)
mobile/src/main/java/com/acmetensortoys/ctfwstimer/activity/AboutActivity.java
mobile/src/main/java/com/acmetensortoys/ctfwstimer/activity/HandbookActivity.java
mobile/src/main/java/com/acmetensortoys/ctfwstimer/activity/SettingsActivity.java
mobile/src/main/java/com/acmetensortoys/ctfwstimer/activity/main/Activity.java
mobile/src/main/java/com/acmetensortoys/ctfwstimer/activity/main/CtFwSDisplay.java
mobile/src/main/java/com/acmetensortoys/ctfwstimer/service/MainService.java
mobile/src/main/java/com/acmetensortoys/ctfwstimer/service/MainServiceNotification.java
mobile/src/main/java/com/acmetensortoys/ctfwstimer/utils/CtFwSDisplayTinyChrono.java
mobile/src/main/java/com/acmetensortoys/ctfwstimer/utils/HandbookDownloader.java
mobile/src/main/res/values/strings.xml
mobile/src/main/res/xml/preferences.xml

index 2c1e2bed87d9e90e3f112189c2a4475581968d6c..384e0c2be5c6f2699db90f26513305bf39ead306 100644 (file)
@@ -84,12 +84,7 @@ public class AboutActivity extends CtFwSActivityBase {
             sb.append("Null service binder\n");
         }
 
-        mTvDebug.post(new Runnable() {
-            @Override
-            public void run() {
-                mTvDebug.setText(sb);
-            }
-        });
+        mTvDebug.post(() -> mTvDebug.setText(sb));
     }
 
     @Override
@@ -106,15 +101,12 @@ public class AboutActivity extends CtFwSActivityBase {
         }
 
         View iv = findViewById(R.id.about_image);
-        iv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                try {
-                    startActivity(new Intent(Intent.ACTION_VIEW,
-                            Uri.parse("http://www.cmukgb.org/")));
-                } catch (ActivityNotFoundException anfe) {
-                    // NOP
-                }
+        iv.setOnClickListener(v -> {
+            try {
+                startActivity(new Intent(Intent.ACTION_VIEW,
+                        Uri.parse("http://www.cmukgb.org/")));
+            } catch (ActivityNotFoundException anfe) {
+                // NOP
             }
         });
 
index cccfc7720c42a85aad94d28cc36297602be31707..7d5d26a04b948d26caeeeade409288420aef9b17 100644 (file)
@@ -43,12 +43,10 @@ public class HandbookActivity extends CtFwSActivityBase {
     private final MainService.Observer mSrvObs = new MainService.Observer() {
         @Override
         public void onMqttServerChanged(MainService.LocalBinder b, String sURL) {
-            ;
         }
 
         @Override
         public void onMqttServerEvent(MainService.LocalBinder b, MainService.MqttServerEvent mse) {
-            ;
         }
 
         @Override
@@ -112,23 +110,6 @@ public class HandbookActivity extends CtFwSActivityBase {
         sv.setQueryHint("Search handbook...");
         sv.setSubmitButtonEnabled(true);
 
-        /*
-        sv.setOnSearchClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Log.d(TAG, "sv.OClickL");
-            }
-        });
-
-        sv.setOnCloseListener(new SearchView.OnCloseListener() {
-            @Override
-            public boolean onClose() {
-                Log.d(TAG, "sv.OCloseL");
-                return false;
-            }
-        });
-        */
-
         sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
             @Override
             public boolean onQueryTextSubmit(String query) {
@@ -148,9 +129,8 @@ public class HandbookActivity extends CtFwSActivityBase {
 
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case R.id.hand_menu_search:
-                return true;
+        if (item.getItemId() == R.id.hand_menu_search) {
+            return true;
         }
 
         return false;
index 5cb764ff51d9ea8025c1e54d3f82c9413661a30f..43c7076d06d846c133a09b362ef5a7ebb70ccd17 100644 (file)
@@ -2,7 +2,6 @@ package com.acmetensortoys.ctfwstimer.activity;
 \r
 import android.content.SharedPreferences;\r
 import android.os.Bundle;\r
-import android.util.Log;\r
 \r
 import androidx.appcompat.app.AppCompatActivity;\r
 import androidx.preference.PreferenceFragmentCompat;\r
@@ -21,16 +20,13 @@ public class SettingsActivity extends AppCompatActivity {
 \r
     public static class SettingsFragment extends PreferenceFragmentCompat {\r
         private final SharedPreferences.OnSharedPreferenceChangeListener mOSPCL\r
-                = new SharedPreferences.OnSharedPreferenceChangeListener() {\r
-            @Override\r
-            public void onSharedPreferenceChanged(SharedPreferences sp, String key) {\r
-                switch (key) {\r
-                    case "server_def":\r
-                        findPreference("server").setVisible(!sp.getBoolean(key, false));\r
-                        break;\r
-                }\r
-            }\r
-        };\r
+                = (sp, key) -> {\r
+                    switch (key) {\r
+                        case "server_def":\r
+                            findPreference("server").setVisible(!sp.getBoolean(key, false));\r
+                            break;\r
+                    }\r
+                };\r
 \r
         @Override\r
         public void onResume() {\r
index 92f611fe888193fcaf22e5b8b361c797b9b6b4f4..e3a962f1895cca1df8ebba5baec52ad2606ffe29 100644 (file)
@@ -1,20 +1,21 @@
 package com.acmetensortoys.ctfwstimer.activity.main;
 
+import android.annotation.SuppressLint;
 import android.content.Intent;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.StringRes;
 import android.os.Bundle;
 import androidx.appcompat.view.menu.MenuBuilder;
+
 import android.text.Spanned;
 import android.util.Log;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
-import android.view.WindowManager;
 import android.widget.TextView;
 
-import com.acmetensortoys.ctfwstimer.BuildConfig;
 import com.acmetensortoys.ctfwstimer.R;
 import com.acmetensortoys.ctfwstimer.activity.AboutActivity;
 import com.acmetensortoys.ctfwstimer.activity.CtFwSActivityBase;
@@ -62,7 +63,6 @@ public class Activity extends CtFwSActivityBase {
 
         @Override
         public void onHandbookFetch(MainService.LocalBinder b, CheckedAsyncDownloader.DL dl) {
-            ;
         }
     };
 
@@ -72,10 +72,7 @@ public class Activity extends CtFwSActivityBase {
     private TextView mTvSS; // set in onStart
     private void setServerStateText(@StringRes final int resid, Object... args) {
         final Spanned h = AndroidResourceUtils.htmlFromStrResId(getResources(), resid, args);
-        mTvSS.post(new Runnable() {
-            @Override
-            public void run() { mTvSS.setText(h); }
-        });
+        mTvSS.post(() -> mTvSS.setText(h));
     }
 
     @Override
@@ -83,19 +80,8 @@ public class Activity extends CtFwSActivityBase {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
 
-        findViewById(R.id.main_connmeta).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                onclick_connmeta(v);
-            }
-        });
-
-        findViewById(R.id.header_gamestate).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                onclick_gamestate(v);
-            }
-        });
+        findViewById(R.id.main_connmeta).setOnClickListener(this::onclick_connmeta);
+        findViewById(R.id.header_gamestate).setOnClickListener(this::onclick_gamestate);
 
         mTvSS = findViewById(R.id.tv_mqtt_state);
 
@@ -136,7 +122,7 @@ public class Activity extends CtFwSActivityBase {
     }
 
     @Override
-    public void onSaveInstanceState(Bundle out) {
+    public void onSaveInstanceState(@NonNull Bundle out) {
         super.onSaveInstanceState(out);
         mCdl.timersToBundle(out, SIS_KEY_TMR_FINI);
     }
@@ -172,15 +158,13 @@ public class Activity extends CtFwSActivityBase {
         if (!egg) {
             egg = true;
             tv.setText(R.string.header_egg);
-            tv.postDelayed(new Runnable() {
-                public void run() {
-                    if (mCdl != null) {
-                        tv.setText(mCdl.gameStateLabelText);
-                    } else {
-                        tv.setText(R.string.header_gamestate0);
-                    }
-                    egg = false;
+            tv.postDelayed(() -> {
+                if (mCdl != null) {
+                    tv.setText(mCdl.gameStateLabelText);
+                } else {
+                    tv.setText(R.string.header_gamestate0);
                 }
+                egg = false;
             }, 3000);
         }
     }
@@ -194,36 +178,33 @@ public class Activity extends CtFwSActivityBase {
 
     @Override
     public boolean onOptionsItemSelected(MenuItem mi) {
-        switch(mi.getItemId()) {
-            case R.id.mainmenu_hand:
-                startActivity(new Intent(this, HandbookActivity.class));
-                return true;
-            case R.id.mainmenu_judge:
-                startActivity(new Intent(this, Activity.class));
-                return true;
-            case R.id.mainmenu_reconn:
-                if (mSrvBinder != null) {
-                    mSrvBinder.connect(true);
-                }
-                return true;
-            case R.id.mainmenu_prf :
-                startActivity(new Intent(this, SettingsActivity.class));
-                return true;
-            case R.id.mainmenu_about :
-                startActivity(new Intent(this, AboutActivity.class));
-                return true;
-            case R.id.mainmenu_quit:
-                if (mSrvBinder != null) {
-                    mSrvBinder.exit();
-                }
-                finish();
-                return true;
+        int itemId = mi.getItemId();
+        if (itemId == R.id.mainmenu_hand) {
+            startActivity(new Intent(this, HandbookActivity.class));
+            return true;
+        } else if (itemId == R.id.mainmenu_reconn) {
+            if (mSrvBinder != null) {
+                mSrvBinder.connect(true);
+            }
+            return true;
+        } else if (itemId == R.id.mainmenu_prf) {
+            startActivity(new Intent(this, SettingsActivity.class));
+            return true;
+        } else if (itemId == R.id.mainmenu_about) {
+            startActivity(new Intent(this, AboutActivity.class));
+            return true;
+        } else if (itemId == R.id.mainmenu_quit) {
+            if (mSrvBinder != null) {
+                mSrvBinder.exit();
+            }
+            finish();
+            return true;
             // Cam: Changing this doesn't appear to do anything? Leaving just in case.
-            default:
-                return super.onOptionsItemSelected(mi);
         }
+        return super.onOptionsItemSelected(mi);
     }
 
+    @SuppressLint("RestrictedApi")
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         MenuInflater mi = getMenuInflater();
@@ -243,18 +224,15 @@ public class Activity extends CtFwSActivityBase {
     }
 
     private void updateMenuReconnVis() {
-        runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-                switch(mLastMSE) {
-                    case MSE_CONN:
-                    case MSE_SUB:
-                        mMenuReconn.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
-                        break;
-                    case MSE_DISCONN:
-                        mMenuReconn.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
-                        break;
-                }
+        runOnUiThread(() -> {
+            switch(mLastMSE) {
+                case MSE_CONN:
+                case MSE_SUB:
+                    mMenuReconn.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
+                    break;
+                case MSE_DISCONN:
+                    mMenuReconn.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
+                    break;
             }
         });
     }
index c68aa75f66fa047e6c42aa930806da0f610d6547..567876fa6a40c10794ad28054059add9a25887ae 100644 (file)
@@ -51,12 +51,7 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
 
     private void wireTimer(int vid, final StunTimer st) {
         mAct.findViewById(vid)
-                .setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        startTimer(st, System.currentTimeMillis());
-                    }
-                });
+                .setOnClickListener(v -> startTimer(st, System.currentTimeMillis()));
     }
 
     void timersToBundle(Bundle out, String key) {
@@ -118,23 +113,13 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
         }
 
         final TextView gstv = mAct.findViewById(R.id.header_gamestate);
-        gstv.post(new Runnable() {
-            @Override
-            public void run() {
-                gstv.setText(gameStateLabelText);
-            }
-        });
+        gstv.post(() -> gstv.setText(gameStateLabelText));
     }
 
     private void doSetSidesText(final CtFwSGameStateManager gs) {
         final TextView stv = mAct.findViewById(R.id.header_sides);
         Resources rs = mAct.getResources();
-        Runnable r = new Runnable() {
-            @Override
-            public void run() {
-                stv.setText("");
-            }
-        };
+        Runnable r = () -> stv.setText("");
 
         out: if (gs.isConfigured()) {
             String ss = gs.getSides();
@@ -148,12 +133,7 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
                     default   : h = AndroidResourceUtils.htmlFromStrResId(rs, R.string.ctfws_unknown_sides); break;
                 }
 
-                r = new Runnable() {
-                    @Override
-                    public void run() {
-                        stv.setText(h);
-                    }
-                };
+                r = () -> stv.setText(h);
             }
         }
 
@@ -162,15 +142,10 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
 
     private void doSetFlagsLabel(final CtFwSGameStateManager gs) {
         final TextView tv_flags = mAct.findViewById(R.id.tv_flags_label);
-        tv_flags.post(new Runnable() {
-            @Override
-            public void run() {
-                tv_flags.setText(mAct.getResources()
-                        .getQuantityString(R.plurals.ctfws_flags,
-                                gs.getFlagsTotal(),
-                                gs.getFlagsTotal()));
-            }
-        });
+        tv_flags.post(() -> tv_flags.setText(mAct.getResources()
+                .getQuantityString(R.plurals.ctfws_flags,
+                        gs.getFlagsTotal(),
+                        gs.getFlagsTotal())));
     }
 
     @Override
@@ -213,18 +188,15 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
         // Upper line text
         {
             final TextView tv_jb = mAct.findViewById(R.id.tv_jailbreak);
-            tv_jb.post(new Runnable() {
-                @Override
-                public void run() {
-                    if (now.round == 0) {
-                        tv_jb.setText(R.string.ctfws_gamestart);
-                    } else if (now.round == gs.getRounds()) {
-                        tv_jb.setText(R.string.ctfws_gameend);
-                    } else {
-                        tv_jb.setText(
-                                String.format(mAct.getResources().getString(R.string.ctfws_jailbreak),
-                                        now.round, gs.getRounds() - 1));
-                    }
+            tv_jb.post(() -> {
+                if (now.round == 0) {
+                    tv_jb.setText(R.string.ctfws_gamestart);
+                } else if (now.round == gs.getRounds()) {
+                    tv_jb.setText(R.string.ctfws_gameend);
+                } else {
+                    tv_jb.setText(
+                            String.format(mAct.getResources().getString(R.string.ctfws_jailbreak),
+                                    now.round, gs.getRounds() - 1));
                 }
             });
         }
@@ -232,87 +204,69 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
         // Upper progress bar and chronometer
         {
             final ProgressBar pb_jb = mAct.findViewById(R.id.pb_jailbreak);
-            pb_jb.post(new Runnable() {
-                @Override
-                public void run() {
-                    pb_jb.setVisibility(View.VISIBLE);
-                    pb_jb.setIndeterminate(false);
-                    pb_jb.setMax((int) (now.roundEnd - now.roundStart));
-                    pb_jb.setProgress(0);
-                }
+            pb_jb.post(() -> {
+                pb_jb.setVisibility(View.VISIBLE);
+                pb_jb.setIndeterminate(false);
+                pb_jb.setMax((int) (now.roundEnd - now.roundStart));
+                pb_jb.setProgress(0);
             });
 
             final Chronometer ch_jb = mAct.findViewById(R.id.ch_jailbreak);
-            ch_jb.post(new Runnable() {
-                @Override
-                public void run() {
-                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
-                        ch_jb.setBase((now.roundEnd + 1) * 1000 - tbcf);
-                        ch_jb.setCountDown(true);
-                    } else {
-                        ch_jb.setBase(now.roundStart * 1000 - tbcf);
-                        ch_jb.setBackgroundColor(Color.BLACK);
-                        ch_jb.setTextColor(Color.WHITE);
-                    }
-                    ch_jb.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
-                        @Override
-                        public void onChronometerTick(Chronometer c) {
-                            pb_jb.setProgress((int) (now.roundEnd - System.currentTimeMillis() / 1000));
-                        }
-                    });
-                    ch_jb.setVisibility(View.VISIBLE);
-                    ch_jb.start();
+            ch_jb.post(() -> {
+                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+                    ch_jb.setBase((now.roundEnd + 1) * 1000 - tbcf);
+                    ch_jb.setCountDown(true);
+                } else {
+                    ch_jb.setBase(now.roundStart * 1000 - tbcf);
+                    ch_jb.setBackgroundColor(Color.BLACK);
+                    ch_jb.setTextColor(Color.WHITE);
                 }
+                ch_jb.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
+                    @Override
+                    public void onChronometerTick(Chronometer c) {
+                        pb_jb.setProgress((int) (now.roundEnd - System.currentTimeMillis() / 1000));
+                    }
+                });
+                ch_jb.setVisibility(View.VISIBLE);
+                ch_jb.start();
             });
         }
 
         // Lower progress bar and chronometer
         if (now.round > 0) {
             final ProgressBar pb_gp = mAct.findViewById(R.id.pb_gameProgress);
-            pb_gp.post(new Runnable() {
-                @Override
-                public void run() {
-                    pb_gp.setVisibility(View.VISIBLE);
-                    pb_gp.setIndeterminate(false);
-                    pb_gp.setMax(gs.getComputedGameDuration());
-                    pb_gp.setProgress(0);
-                }
+            pb_gp.post(() -> {
+                pb_gp.setVisibility(View.VISIBLE);
+                pb_gp.setIndeterminate(false);
+                pb_gp.setMax(gs.getComputedGameDuration());
+                pb_gp.setProgress(0);
             });
 
             final Chronometer ch_gp = mAct.findViewById(R.id.ch_gameProgress);
-            ch_gp.post(new Runnable() {
-                @Override
-                public void run() {
-                    ch_gp.setBase(gs.getFirstRoundStartT() * 1000 - tbcf);
-                    ch_gp.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
-                        @Override
-                        public void onChronometerTick(Chronometer c) {
-                            pb_gp.setProgress((int) (System.currentTimeMillis() / 1000
-                                    - gs.getFirstRoundStartT()));
-                        }
-                    });
-                    ch_gp.setVisibility(View.VISIBLE);
-                    ch_gp.start();
-                }
+            ch_gp.post(() -> {
+                ch_gp.setBase(gs.getFirstRoundStartT() * 1000 - tbcf);
+                ch_gp.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
+                    @Override
+                    public void onChronometerTick(Chronometer c) {
+                        pb_gp.setProgress((int) (System.currentTimeMillis() / 1000
+                                - gs.getFirstRoundStartT()));
+                    }
+                });
+                ch_gp.setVisibility(View.VISIBLE);
+                ch_gp.start();
             });
         } else {
             final ProgressBar pb_gp = mAct.findViewById(R.id.pb_gameProgress);
-            pb_gp.post(new Runnable() {
-                @Override
-                public void run() {
-                    pb_gp.setVisibility(View.INVISIBLE);
-                    pb_gp.setIndeterminate(true);
-                }
+            pb_gp.post(() -> {
+                pb_gp.setVisibility(View.INVISIBLE);
+                pb_gp.setIndeterminate(true);
             });
 
             final Chronometer ch_gp = mAct.findViewById(R.id.ch_gameProgress);
-            ch_gp.post(new Runnable() {
-                @Override
-                public void run() {
-                    ch_gp.setOnChronometerTickListener(null);
-                    ch_gp.stop();
-                    ch_gp.setVisibility(View.INVISIBLE);
-                }
+            ch_gp.post(() -> {
+                ch_gp.setOnChronometerTickListener(null);
+                ch_gp.stop();
+                ch_gp.setVisibility(View.INVISIBLE);
             });
         }
     }
@@ -334,45 +288,33 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
 
         {
             final Chronometer ch = mAct.findViewById(R.id.ch_jailbreak);
-            ch.post(new Runnable() {
-                @Override
-                public void run() {
-                    ch.setOnChronometerTickListener(null);
-                    ch.setBase(SystemClock.elapsedRealtime());
-                    ch.stop();
-                    ch.setVisibility(View.INVISIBLE);
-                }
+            ch.post(() -> {
+                ch.setOnChronometerTickListener(null);
+                ch.setBase(SystemClock.elapsedRealtime());
+                ch.stop();
+                ch.setVisibility(View.INVISIBLE);
             });
         }
         {
             final Chronometer ch = mAct.findViewById(R.id.ch_gameProgress);
-            ch.post(new Runnable() {
-                @Override
-                public void run() {
-                    ch.setOnChronometerTickListener(null);
-                    ch.stop();
-                    ch.setVisibility(View.INVISIBLE);
-                }
+            ch.post(() -> {
+                ch.setOnChronometerTickListener(null);
+                ch.stop();
+                ch.setVisibility(View.INVISIBLE);
             });
         }
         {
             final ProgressBar pb = mAct.findViewById(R.id.pb_jailbreak);
-            pb.post(new Runnable() {
-                @Override
-                public void run() {
-                    pb.setVisibility(View.INVISIBLE);
-                    pb.setIndeterminate(true);
-                }
+            pb.post(() -> {
+                pb.setVisibility(View.INVISIBLE);
+                pb.setIndeterminate(true);
             });
         }
         {
             final ProgressBar pb = mAct.findViewById(R.id.pb_gameProgress);
-            pb.post(new Runnable() {
-                @Override
-                public void run() {
-                    pb.setVisibility(View.INVISIBLE);
-                    pb.setIndeterminate(true);
-                }
+            pb.post(() -> {
+                pb.setVisibility(View.INVISIBLE);
+                pb.setIndeterminate(true);
             });
         }
     }
@@ -391,12 +333,7 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
         }
 
         final TextView msgs = mAct.findViewById(R.id.tv_flags);
-        msgs.post(new Runnable() {
-            @Override
-            public void run() {
-                msgs.setText(h);
-            }
-        });
+        msgs.post(() -> msgs.setText(h));
     }
 
     @Override
@@ -405,12 +342,7 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
         int s = msgs.size();
 
         if (s == 0) {
-            msgstv.post(new Runnable() {
-                @Override
-                public void run() {
-                    msgstv.setText("");
-                }
-            });
+            msgstv.post(() -> msgstv.setText(""));
             return;
         }
 
@@ -434,16 +366,11 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
             sb.append("\n");
         }
 
-        msgstv.post(new Runnable() {
-            @Override
-            public void run() {
-                msgstv.setText(sb);
-            }
-        });
+        msgstv.post(() -> msgstv.setText(sb));
     }
 
     // Stun timers
-    private class StunTimer {
+    private static class StunTimer {
         final Chronometer ch;
         final ProgressBar pb;
         final int ms;
@@ -481,14 +408,11 @@ public class CtFwSDisplay implements CtFwSGameStateManager.Observer {
         final long tbcf = nowWall - nowEla;
 
         st.ch.setBase(wallEnd - st.ms - tbcf);
-        st.ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
-            @Override
-            public void onChronometerTick(Chronometer chronometer) {
-                final long nowAbsCB = System.currentTimeMillis();
-                st.pb.setProgress((int) (wallEnd - nowAbsCB));
-                if (wallEnd < nowAbsCB) {
-                    hideTimer(st);
-                }
+        st.ch.setOnChronometerTickListener(chronometer -> {
+            final long nowAbsCB = System.currentTimeMillis();
+            st.pb.setProgress((int) (wallEnd - nowAbsCB));
+            if (wallEnd < nowAbsCB) {
+                hideTimer(st);
             }
         });
 
index 682f460c55162bcb26069883d279e373ca61c6ca..6ed81d2a7ca1381fe88983b4d30bbe5e2f30266e 100644 (file)
@@ -23,7 +23,6 @@ import org.eclipse.paho.android.service.MqttTraceHandler;
 import org.eclipse.paho.client.mqttv3.IMqttActionListener;
 import org.eclipse.paho.client.mqttv3.IMqttAsyncClient;
 import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
-import org.eclipse.paho.client.mqttv3.IMqttMessageListener;
 import org.eclipse.paho.client.mqttv3.IMqttToken;
 import org.eclipse.paho.client.mqttv3.MqttCallbackExtended;
 import org.eclipse.paho.client.mqttv3.MqttClient;
@@ -128,26 +127,23 @@ public class MainService extends Service {
                 mMqc.subscribe(p + "messagereset", 2, null, subal, mCtfwscbs.onMessageReset);
 
                 /* This one isn't really about the game state so much, so handle it ourselves. */
-                mMqc.subscribe("ctfws/timesync", 2, null, subal, new IMqttMessageListener() {
-                    @Override
-                    public void messageArrived(String topic, MqttMessage message) {
-                        // Retained timesync messages wouldn't make any sense; they are,
-                        // by definition, stale.  Just skip 'em.
-                        if (message.isRetained()) {
-                            return;
-                        }
-                        long rxtime = System.currentTimeMillis() / 1000;
-                        long mtime;
-                        String msg = message.toString();
-                        Log.d("CtFws", "time msg=" + msg);
-                        try {
-                            mtime = Long.parseLong(msg);
-                        } catch (NumberFormatException e) {
-                            return;
-                        }
-                        lastServerTimeDeltaEstimate = rxtime - mtime;
-                        notifyMSE();
+                mMqc.subscribe("ctfws/timesync", 2, null, subal, (topic, message) -> {
+                    // Retained timesync messages wouldn't make any sense; they are,
+                    // by definition, stale.  Just skip 'em.
+                    if (message.isRetained()) {
+                        return;
                     }
+                    long rxtime = System.currentTimeMillis() / 1000;
+                    long mtime;
+                    String msg = message.toString();
+                    Log.d("CtFws", "time msg=" + msg);
+                    try {
+                        mtime = Long.parseLong(msg);
+                    } catch (NumberFormatException e) {
+                        return;
+                    }
+                    lastServerTimeDeltaEstimate = rxtime - mtime;
+                    notifyMSE();
                 });
 
                 mHandDL.subscribeOn(mMqc);
index 348751785f86366dcabd9a9bef43d4008372f5cf..5c821866a71c90cc0c852fce6695bdaf2666e2f1 100644 (file)
@@ -196,6 +196,7 @@ class MainServiceNotification {
     }
 
     // TODO make all of these configurable?
+    @SuppressWarnings("FieldCanBeLocal")
     private final long NOTIFY_SUPPRESS_THRESHOLD = 5000; // suppress rapid-fire buzzing
 
     private final long[] VIBRATE_PATTERN_NOW  = {0, 100, 100, 300, 100, 300, 100, 300}; // 'J' = .---
index 7159074466056b13223d6be3fb0b5ce9993fb636..1ba3f5067a1d7978c07dadff14eb44c569108bfd 100644 (file)
@@ -27,12 +27,7 @@ public class CtFwSDisplayTinyChrono implements CtFwSGameStateManager.Observer {
     @Override
     public void onCtFwSConfigure(final CtFwSGameStateManager gs) {
         if (!gs.isConfigured()) {
-            mCh.post(new Runnable() {
-                @Override
-                public void run() {
-                    mCh.setText(R.string.ctfws_chrono_nogame);
-                }
-            });
+            mCh.post(() -> mCh.setText(R.string.ctfws_chrono_nogame));
         }
     }
 
@@ -40,41 +35,37 @@ public class CtFwSDisplayTinyChrono implements CtFwSGameStateManager.Observer {
     public void onCtFwSNow(final CtFwSGameStateManager gs, final CtFwSGameStateManager.Now now) {
         final long tbcf = System.currentTimeMillis() - SystemClock.elapsedRealtime();
 
-        mCh.post(new Runnable() {
-            @Override
-            public void run() {
-                mCh.stop();
-
-                if (now.rationale != CtFwSGameStateManager.NowRationale.NR_GAME_IN_PROGRESS) {
-                    int rid = R.string.ctfws_chrono_nogame;
-                    switch(now.rationale) {
-                        case NR_TIME_UP:
-                        case NR_EXPLICIT_END:
-                            rid = R.string.ctfws_chrono_over;
-                            break;
-                        case NR_START_FUTURE:
-                            rid = R.string.ctfws_chrono_future;
-                            break;
-                        case NR_NOT_CONFIG:
-                            rid = R.string.ctfws_chrono_nogame;
-                            break;
-                    }
-                    mCh.setText(rid);
-                    return;
-                }
-
-                if (now.round == 0) {
-                    mCh.setFormat(mRes.getString(R.string.ctfws_chrono_gamestart));
-                } else if (now.round == gs.getRounds()) {
-                    mCh.setFormat(mRes.getString(R.string.ctfws_chrono_gameend));
-                } else {
-                    mCh.setFormat(String.format(mRes.getString(R.string.ctfws_chrono_jailbreak),
-                                    now.round));
+        mCh.post(() -> {
+            mCh.stop();
+
+            if (now.rationale != CtFwSGameStateManager.NowRationale.NR_GAME_IN_PROGRESS) {
+                int rid = R.string.ctfws_chrono_nogame;
+                switch(now.rationale) {
+                    case NR_TIME_UP:
+                    case NR_EXPLICIT_END:
+                        rid = R.string.ctfws_chrono_over;
+                        break;
+                    case NR_START_FUTURE:
+                        rid = R.string.ctfws_chrono_future;
+                        break;
+                    case NR_NOT_CONFIG:
+                        rid = R.string.ctfws_chrono_nogame;
+                        break;
                 }
+                mCh.setText(rid);
+                return;
+            }
 
-                mCh.setBase(now.roundStart * 1000 - tbcf);
-                mCh.start();
+            if (now.round == 0) {
+                mCh.setFormat(mRes.getString(R.string.ctfws_chrono_gamestart));
+            } else if (now.round == gs.getRounds()) {
+                mCh.setFormat(mRes.getString(R.string.ctfws_chrono_gameend));
+            } else {
+                mCh.setFormat(String.format(mRes.getString(R.string.ctfws_chrono_jailbreak),
+                                now.round));
             }
+            mCh.setBase(now.roundStart * 1000 - tbcf);
+            mCh.start();
         });
     }
 
index 2e11862f15fcaba34dea289f1fac6ba2676522af..788dc072401db165bfe9959ace0c8f26033c6e0f 100644 (file)
@@ -74,27 +74,24 @@ public class HandbookDownloader implements IMqttMessageListener {
                 if (self.nextSubRunnable != null) {
                     self.mHdl.removeCallbacks(self.nextSubRunnable);
                 }
-                self.nextSubRunnable = new Runnable() {
-                    @Override
-                    public void run() {
-                        Log.d(TAG, "Resubscribing to handbook topic");
-
-                        HandbookDownloader self2 = mSelf.get();
-                        if (self2 == null) {
-                            return;
-                        }
+                self.nextSubRunnable = () -> {
+                    Log.d(TAG, "Resubscribing to handbook topic");
+
+                    HandbookDownloader self2 = mSelf.get();
+                    if (self2 == null) {
+                        return;
+                    }
 
-                        synchronized (self2) {
-                            try {
-                                self2.subscribe(self2.mMqc);
-                                self2.nextSubRunnable = null;
-                            } catch (MqttException mqe) {
-                                /*
-                                 * Well this stinks.  Presumably it is because
-                                 * something has gone wrong somewhere else and
-                                 * we will notice shortly.
-                                 */
-                            }
+                    synchronized (self2) {
+                        try {
+                            self2.subscribe(self2.mMqc);
+                            self2.nextSubRunnable = null;
+                        } catch (MqttException mqe) {
+                            /*
+                             * Well this stinks.  Presumably it is because
+                             * something has gone wrong somewhere else and
+                             * we will notice shortly.
+                             */
                         }
                     }
                 };
index addc715d859a01ad9c638e1939d1209c77bd13f9..25bb612644a18efcbc013737ead9a78a342b2eab 100644 (file)
@@ -25,8 +25,6 @@
     </string>
     <string name="ctfws_unknown_sides">We seem to be lost; where are we?</string>
 
-    <string name="dialog_reset">Default</string>
-
     <string name="flags_viz_fmt">
         <![CDATA[<font color=#a94442><b>Red</b>: %1$s</font>, <font color=#8a6d3b><b>Yellow</b>: %2$s</font>]]>
     </string>
@@ -89,7 +87,7 @@
           This project is open source under AGPLv3; see the
             <a href="https://github.com/cmukgb/ctfws-timer-android">GitHub Project Page</a>
           <br/>
-          &#169; 2017-2019 Nathaniel Wesley Filardo, Cameron Wong, and others
+          &copy; 2017-2019 Nathaniel Wesley Filardo, Cameron Wong, and others
         </center>
         ]]>
     </string>
index 7669671cbcb62a1ef500af28790cb24269596de8..8115a149390280d1a4725cc1d5c946cc129687bc 100644 (file)
@@ -1,68 +1,68 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"\r
-    xmlns:app="http://schemas.android.com/apk/res-auto">\r
-\r
-    <PreferenceCategory android:title="@string/preftext_mqtt_prefcat">\r
-\r
-    <CheckBoxPreference\r
-        android:defaultValue="true"\r
-        android:key="server_def"\r
-        android:title="@string/preftext_mqtt_def"/>\r
-\r
-    <EditTextPreference\r
-        android:selectAllOnFocus="true"\r
-        android:singleLine="true"\r
-        android:key="server"\r
-        android:defaultValue="@string/server_default"\r
-        android:title="@string/preftext_mqtt"\r
-        app:isPreferenceVisible="false"/>\r
-\r
-    </PreferenceCategory>\r
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <PreferenceCategory android:title="@string/preftext_mqtt_prefcat">
+
+    <CheckBoxPreference
+        android:defaultValue="true"
+        android:key="server_def"
+        android:title="@string/preftext_mqtt_def"/>
+
+    <EditTextPreference
+        android:selectAllOnFocus="true"
+        android:singleLine="true"
+        android:key="server"
+        android:defaultValue="@string/server_default"
+        android:title="@string/preftext_mqtt"
+        app:isPreferenceVisible="false"/>
+
+    </PreferenceCategory>
     <PreferenceCategory android:title="@string/preftext_screen_prefcat">
 
         <CheckBoxPreference
             android:defaultValue="false"
             android:key="screen_on_when_game"
             android:title="@string/preftext_screen_on_when_game" />
-\r
+
     </PreferenceCategory>
     <PreferenceCategory android:title="@string/preftext_notif_prefcat">
-\r
-    <CheckBoxPreference\r
-        android:defaultValue="true"\r
-        android:key="prf_vibr_jb"\r
-        android:title="@string/preftext_vibrate_jb" />\r
-    <CheckBoxPreference\r
-        android:defaultValue="true"\r
-        android:key="prf_sound_jb"\r
-        android:title="@string/preftext_sound_jb" />\r
-\r
-    <CheckBoxPreference\r
-        android:layout_width="wrap_content"\r
-        android:layout_height="wrap_content"\r
-        android:defaultValue="true"\r
-        android:key="prf_vibr_flag"\r
-        android:title="@string/preftext_vibrate_flag" />\r
-    <CheckBoxPreference\r
-        android:layout_width="wrap_content"\r
-        android:layout_height="wrap_content"\r
-        android:defaultValue="true"\r
-        android:key="prf_sound_flag"\r
-        android:title="@string/preftext_sound_flag" />\r
-\r
-    <CheckBoxPreference\r
-        android:layout_width="wrap_content"\r
-        android:layout_height="wrap_content"\r
-        android:defaultValue="true"\r
-        android:key="prf_vibr_mesg"\r
-        android:title="@string/preftext_vibrate_mesg" />\r
-    <CheckBoxPreference\r
-        android:layout_width="wrap_content"\r
-        android:layout_height="wrap_content"\r
-        android:defaultValue="true"\r
-        android:key="prf_sound_mesg"\r
-        android:title="@string/preftext_sound_mesg" />\r
-\r
-    </PreferenceCategory>\r
-\r
-</androidx.preference.PreferenceScreen>\r
+
+    <CheckBoxPreference
+        android:defaultValue="true"
+        android:key="prf_vibr_jb"
+        android:title="@string/preftext_vibrate_jb" />
+    <CheckBoxPreference
+        android:defaultValue="true"
+        android:key="prf_sound_jb"
+        android:title="@string/preftext_sound_jb" />
+
+    <CheckBoxPreference
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:defaultValue="true"
+        android:key="prf_vibr_flag"
+        android:title="@string/preftext_vibrate_flag" />
+    <CheckBoxPreference
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:defaultValue="true"
+        android:key="prf_sound_flag"
+        android:title="@string/preftext_sound_flag" />
+
+    <CheckBoxPreference
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:defaultValue="true"
+        android:key="prf_vibr_mesg"
+        android:title="@string/preftext_vibrate_mesg" />
+    <CheckBoxPreference
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:defaultValue="true"
+        android:key="prf_sound_mesg"
+        android:title="@string/preftext_sound_mesg" />
+
+    </PreferenceCategory>
+
+</androidx.preference.PreferenceScreen>