get shake state.
authorTrillGates <williamtrillgates@gmail.com>
Thu, 15 Jul 2021 06:10:59 +0000 (14:10 +0800)
committerTrillGates <williamtrillgates@gmail.com>
Thu, 15 Jul 2021 06:10:59 +0000 (14:10 +0800)
app/src/main/java/com/ic/launcher/presenter/StatusBarPresenter.java
app/src/main/java/com/ic/launcher/view/MarqueeView.java
app/src/main/res/layout/item_status_bar.xml

index 3fc78e0..3da4f50 100644 (file)
@@ -71,6 +71,7 @@ public class StatusBarPresenter extends StatusBarBasePresenter {
         getSilentState();
         checkIcTalkMsg();
         checkHasMissCall();
+        getShakeState();
         observerContentChange();
     }
 
index f6b165b..247928b 100644 (file)
@@ -9,6 +9,8 @@ import com.ic.iclooger.ICLogger;
 
 public class MarqueeView extends ViewGroup {
 
+    private int defaultWidth = 0;
+
     public MarqueeView(Context context) {
         this(context, null);
     }
@@ -61,7 +63,9 @@ public class MarqueeView extends ViewGroup {
         int parentWidth = MeasureSpec.makeMeasureSpec(totalWidth, MeasureSpec.EXACTLY);
         setMeasuredDimension(parentWidth, heightMeasureSpec);
         //测量完以后,判断宽度是否够用
-        int defaultWidth = MeasureSpec.getSize(widthMeasureSpec);
+        if (defaultWidth == 0) {
+            defaultWidth = MeasureSpec.getSize(widthMeasureSpec);
+        }
         //如果不够用则滚动,如果够用则不滚动
         ICLogger.d("default width == > " + totalWidth + " real width == > " + defaultWidth);
         removeCallbacks(scrollTask);
@@ -99,6 +103,9 @@ public class MarqueeView extends ViewGroup {
             }
             //拿到它的位置
             Position position = (Position) item.getTag();
+            if (position == null) {
+                continue;
+            }
             position.left -= stepDx;
             position.right = position.left + item.getMeasuredWidth();
             //检查位置是否超了
index 8d399e6..5eced81 100644 (file)
         android:layout_height="match_parent"
         android:layout_alignParentLeft="true" />
 
+    <com.ic.launcher.view.BatteryView
+        android:id="@+id/right_battery_view"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:layout_alignParentRight="true"
+        android:layout_centerVertical="true" />
+
+
+    <TextView
+        android:id="@+id/battery_value"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:layout_marginRight="5dp"
+        android:layout_toLeftOf="@id/right_battery_view"
+        android:text="100%"
+        android:textColor="@color/white"
+        android:textSize="20sp"
+        android:textStyle="bold" />
+
     <com.ic.launcher.view.MarqueeView
         android:id="@+id/mar_queue_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_centerVertical="true"
-        android:layout_marginLeft="10dp"
-        android:layout_marginRight="90dp"
+        android:layout_toLeftOf="@id/battery_value"
         android:layout_toRightOf="@id/signal_view">
 
         <ImageView
@@ -34,7 +53,6 @@
             android:src="@mipmap/top_icon_location"
             android:visibility="gone" />
 
-
         <ImageView
             android:id="@+id/top_icon_bt"
             android:layout_width="wrap_content"
             android:src="@mipmap/top_icon_wear"
             android:visibility="gone" />
 
+        <ImageView
+            android:id="@+id/top_icon_ic_shake"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@mipmap/top_icon_shake"
+            android:visibility="gone" />
 
         <ImageView
             android:id="@+id/top_icon_connected"
             android:src="@mipmap/top_icon_ic_talk_msg"
             android:visibility="gone" />
 
-        <ImageView
-            android:id="@+id/top_icon_ic_shake"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@mipmap/top_icon_shake"
-            android:visibility="gone" />
-
-
         <ImageView
             android:id="@+id/top_icon_silent"
             android:layout_width="wrap_content"
     </com.ic.launcher.view.MarqueeView>
 
 
-    <com.ic.launcher.view.BatteryView
-        android:id="@+id/right_battery_view"
-        android:layout_width="wrap_content"
-        android:layout_height="match_parent"
-        android:layout_alignParentRight="true"
-        android:layout_centerVertical="true" />
-
-
-    <TextView
-        android:id="@+id/battery_value"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_centerVertical="true"
-        android:layout_marginRight="5dp"
-        android:layout_toLeftOf="@id/right_battery_view"
-        android:text="100%"
-        android:textColor="@color/white"
-        android:textSize="20sp"
-        android:textStyle="bold" />
 
 </RelativeLayout>
\ No newline at end of file