OSDN Git Service

レイアウトを少し変更。
authorMRSa <mrsa@myad.jp>
Sun, 4 Mar 2018 13:43:54 +0000 (22:43 +0900)
committerMRSa <mrsa@myad.jp>
Sun, 4 Mar 2018 13:43:54 +0000 (22:43 +0900)
wear/src/main/java/net/osdn/gokigen/joggingtimer/ButtonClickListener.java
wear/src/main/java/net/osdn/gokigen/joggingtimer/IClickCallback.java
wear/src/main/java/net/osdn/gokigen/joggingtimer/MainActivity.java
wear/src/main/java/net/osdn/gokigen/joggingtimer/MyTimerCounter.java
wear/src/main/java/net/osdn/gokigen/joggingtimer/WearableActivityController.java
wear/src/main/res/layout-notround/activity_main.xml
wear/src/main/res/layout-round/activity_main.xml

index d236748..62c5d13 100644 (file)
@@ -2,6 +2,7 @@ package net.osdn.gokigen.joggingtimer;
 
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.util.Log;
 import android.view.View;
 
 /**
@@ -10,6 +11,7 @@ import android.view.View;
  */
 public class ButtonClickListener implements View.OnClickListener, View.OnLongClickListener, Parcelable
 {
+    private final String TAG = toString();
     private IClickCallback callback = null;
 
     ButtonClickListener()
@@ -40,6 +42,10 @@ public class ButtonClickListener implements View.OnClickListener, View.OnLongCli
             {
                 callback.clickedBtn3();
             }
+            else if (id == R.id.main_counter)
+            {
+                callback.clickedCounter();
+            }
         }
     }
 
@@ -79,7 +85,7 @@ public class ButtonClickListener implements View.OnClickListener, View.OnLongCli
     @Override
     public void writeToParcel(Parcel dest, int flags)
     {
-
+        Log.v(TAG, "writeToParcel() ");
     }
     public static final Parcelable.Creator<ButtonClickListener> CREATOR = new Parcelable.Creator<ButtonClickListener>()
     {
@@ -96,15 +102,14 @@ public class ButtonClickListener implements View.OnClickListener, View.OnLongCli
 
     private ButtonClickListener(Parcel in)
     {
-/*
         try
         {
             //
+            Log.v(TAG, " in : " + in.toString());
         }
         catch (Exception e)
         {
             e.printStackTrace();
         }
-*/
     }
 }
index 03013e2..c0c864f 100644 (file)
@@ -2,6 +2,7 @@ package net.osdn.gokigen.joggingtimer;
 
 public interface IClickCallback
 {
+    void clickedCounter();
     void clickedBtn1();
     void clickedBtn2();
     void clickedBtn3();
index 7c0b727..cf7bbdc 100644 (file)
@@ -22,6 +22,7 @@ public class MainActivity extends WearableActivity implements IClickCallback, My
     private final String TAG = toString();
     private final IWearableActivityControl controller = new WearableActivityController();
     private MyTimerCounter counter = new MyTimerCounter();
+    private boolean isCounterLapTime = false;
 
     /**
      *
@@ -177,10 +178,13 @@ public class MainActivity extends WearableActivity implements IClickCallback, My
             int bgColor;
             BoxInsetLayout insetLayout = findViewById(R.id.box_inset_layout);
             RelativeLayout layout = findViewById(R.id.relative_main_layout);
-            TextView main = findViewById(R.id.main_counter);
+
             ImageButton btn1 = findViewById(R.id.btn1);
             ImageButton btn2 = findViewById(R.id.btn2);
             ImageButton btn3 = findViewById(R.id.btn3);
+
+            updateMainSubCounter();
+
             if (timerCounter.isStarted())
             {
                 bgColor = Color.CYAN;
@@ -205,9 +209,6 @@ public class MainActivity extends WearableActivity implements IClickCallback, My
                 btn3.setVisibility(View.INVISIBLE);
                 btn3.invalidate();
 
-                main.setText(MyTimerCounter.getTimeString(timerCounter.getPastTime()));
-                main.invalidate();
-
                 updateElapsedTimes();
             }
             else if (timerCounter.isReset())
@@ -234,9 +235,6 @@ public class MainActivity extends WearableActivity implements IClickCallback, My
                 btn3.setVisibility(View.INVISIBLE);
                 btn3.invalidate();
 
-                main.setText(MyTimerCounter.getTimeString(timerCounter.getPastTime()));
-                main.invalidate();
-
                 updateElapsedTimes();
             }
             else
@@ -263,14 +261,18 @@ public class MainActivity extends WearableActivity implements IClickCallback, My
                 btn3.setBackgroundColor(bgColor);
                 btn3.invalidate();
 
-                main.setText(MyTimerCounter.getTimeString(timerCounter.getPastTime()));
-                main.invalidate();
-
                 updateElapsedTimes();
             }
         }
     }
 
+    @Override
+    public void clickedCounter()
+    {
+        // 表示順番を変える
+        isCounterLapTime = !isCounterLapTime;
+    }
+
     /**
      *
      */
@@ -388,13 +390,50 @@ public class MainActivity extends WearableActivity implements IClickCallback, My
         }
     }
 
+    private void updateMainSubCounter()
+    {
+        TextView main = findViewById(R.id.main_counter);
+        TextView sub = findViewById(R.id.sub_counter1);
+
+        ITimerCounter timerCounter = counter;
+        if (timerCounter != null)
+        {
+            long time1 = timerCounter.getPastTime();
+            CharSequence str1 = MyTimerCounter.getTimeString(time1);
+
+            CharSequence str2 = "";
+            if (timerCounter.isStarted())
+            {
+                long time2 = timerCounter.getCurrentElapsedTime();
+                int lapCount = timerCounter.getElapsedCount();
+                if ((time2 >= 100) && (lapCount > 1)) {
+                    str2 = "[" + lapCount + "] " + MyTimerCounter.getTimeString(time2);
+                }
+            }
+
+            if ((str2.length() > 0)&&(isCounterLapTime))
+            {
+                // ラップタイムの方を大きく表示する
+                main.setText(str2);
+                sub.setText(str1);
+            }
+            else
+            {
+                main.setText(str1);
+                sub.setText(str2);
+            }
+            main.invalidate();
+            sub.invalidate();
+        }
+    }
+
+
     private void updateElapsedTimes()
     {
         String dummy = "";
-        TextView area1 = findViewById(R.id.sub_counter1);
-        TextView area2 = findViewById(R.id.sub_counter2);
-        TextView area3 = findViewById(R.id.sub_counter3);
-        TextView area4 = findViewById(R.id.sub_counter4);
+        TextView area1 = findViewById(R.id.sub_counter2);
+        TextView area2 = findViewById(R.id.sub_counter3);
+        TextView area3 = findViewById(R.id.sub_counter4);
 
         ITimerCounter timerCounter = counter;
         if (timerCounter != null)
@@ -410,23 +449,19 @@ public class MainActivity extends WearableActivity implements IClickCallback, My
                 area2.invalidate();
                 area3.setText(dummy);
                 area3.invalidate();
-                area4.setText(dummy);
-                area4.invalidate();
                 return;
             }
             if (indexSize <= 2)
             {
-                // ã\83©ã\83\83ã\83\97ã\81\8cï¼\92つとれた場合
+                // ã\83©ã\83\83ã\83\97ã\81\8cï¼\91つとれた場合
                 long time = (elapsedTimes.get(indexSize - 1) - elapsedTimes.get(indexSize - 2));
                 String elapsedTime = "[" + (timerCounter.getElapsedCount() - 1) + "] " + MyTimerCounter.getTimeString(time);
                 area1.setText(elapsedTime);
                 area1.invalidate();
-                area2.setText(getElapsedTime());
+                area2.setText(dummy);
                 area2.invalidate();
                 area3.setText(dummy);
                 area3.invalidate();
-                area4.setText(dummy);
-                area4.invalidate();
                 return;
             }
             if (indexSize <= 3)
@@ -440,10 +475,8 @@ public class MainActivity extends WearableActivity implements IClickCallback, My
                 area1.invalidate();
                 area2.setText(elapsedTime2);
                 area2.invalidate();
-                area3.setText(getElapsedTime());
+                area3.setText(dummy);
                 area3.invalidate();
-                area4.setText(dummy);
-                area4.invalidate();
                 return;
             }
 
@@ -460,15 +493,14 @@ public class MainActivity extends WearableActivity implements IClickCallback, My
             area2.invalidate();
             area3.setText(elapsedTime3);
             area3.invalidate();
-            area4.setText(getElapsedTime());
-            area4.invalidate();
         }
     }
 
-    /**
+    /*
      *
      *
      */
+/*
     private String getElapsedTime()
     {
         String elapsedTime = "";
@@ -483,4 +515,5 @@ public class MainActivity extends WearableActivity implements IClickCallback, My
         }
         return (elapsedTime);
     }
+*/
 }
index 924a0e9..b724a4c 100644 (file)
@@ -1,11 +1,9 @@
 package net.osdn.gokigen.joggingtimer;
 
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 
-import android.text.format.DateFormat;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.SystemClock;
index 2a14cac..7941268 100644 (file)
@@ -2,7 +2,6 @@ package net.osdn.gokigen.joggingtimer;
 
 import android.Manifest;
 import android.content.pm.PackageManager;
-import android.os.PowerManager;
 import android.os.Vibrator;
 import android.support.v4.app.ActivityCompat;
 import android.support.v4.content.ContextCompat;
@@ -11,7 +10,6 @@ import android.util.Log;
 import android.widget.ImageButton;
 import android.widget.TextView;
 
-import static android.content.Context.POWER_SERVICE;
 import static android.content.Context.VIBRATOR_SERVICE;
 
 /**
@@ -130,6 +128,10 @@ class WearableActivityController implements IWearableActivityControl
             ImageButton btn3 = activity.findViewById(R.id.btn3);
             btn3.setOnClickListener(clickListener);
             btn3.setOnLongClickListener(clickListener);
+
+            TextView main = activity.findViewById(R.id.main_counter);
+            main.setOnClickListener(clickListener);
+            main.setOnLongClickListener(clickListener);
         }
         catch (Exception e)
         {
index e3d1766..72bd30f 100644 (file)
@@ -25,6 +25,8 @@
             android:layout_height="wrap_content"
             android:textAlignment="center"
             android:textSize="15pt"
+            android:focusable="true"
+            android:clickable="true"
             android:text="@string/counter" />
 
 
@@ -69,7 +71,7 @@
             android:layout_alignParentBottom="true"
             android:clickable="true"
             android:focusable="true"
-            android:scaleType="fitCenter"
+            android:scaleType="fitEnd"
             android:visibility="visible"
             android:contentDescription="@string/blank"
             android:src="@drawable/ic_play_arrow_black_24dp"
@@ -80,7 +82,7 @@
             android:textColor="@color/dark_grey"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:textAlignment="textStart"
+            android:textAlignment="textEnd"
             android:layout_alignStart="@id/main_counter"
             android:layout_below="@id/main_counter"
             android:textSize="8pt"
index 2487209..e72ac50 100644 (file)
@@ -25,6 +25,8 @@
             android:layout_height="wrap_content"
             android:textAlignment="center"
             android:textSize="12pt"
+            android:focusable="true"
+            android:clickable="true"
             android:text="@string/counter" />
 
         <ImageButton
@@ -68,7 +70,7 @@
             android:layout_alignParentBottom="true"
             android:clickable="true"
             android:focusable="true"
-            android:scaleType="fitCenter"
+            android:scaleType="fitEnd"
             android:visibility="visible"
             android:contentDescription="@string/blank"
             android:src="@drawable/ic_play_arrow_black_24dp"
@@ -79,7 +81,7 @@
             android:textColor="@color/dark_grey"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:textAlignment="textStart"
+            android:textAlignment="textEnd"
             android:layout_alignStart="@id/main_counter"
             android:layout_below="@id/main_counter"
             android:textSize="7pt"