diff --git a/.idea/misc.xml b/.idea/misc.xml
index c425c9c..901e839 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -40,7 +40,7 @@
-
+
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 9cffa97..e183bf4 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,6 +1,6 @@
-
diff --git a/googleioclock/src/main/java/com/lypeer/googleioclock/GoogleClock.java b/googleioclock/src/main/java/com/lypeer/googleioclock/GoogleClock.java
index cd30864..08fdb64 100644
--- a/googleioclock/src/main/java/com/lypeer/googleioclock/GoogleClock.java
+++ b/googleioclock/src/main/java/com/lypeer/googleioclock/GoogleClock.java
@@ -8,6 +8,7 @@
import android.support.annotation.DimenRes;
import android.support.annotation.StyleRes;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.ContextThemeWrapper;
import android.view.View;
import android.view.ViewGroup;
@@ -211,7 +212,7 @@ private void updateClock(TimeUpdateEvent event) {
updateImageView(mIvSecSingleDigits, mResList.get(event.getSecSingleDigits()));
mSecSingleDigits = event.getSecSingleDigits();
}
- updateImageView(mIvColon, R.drawable.svg_colon);
+ updateImageView(mIvColon, R.drawable.animated_colon);
}
/**
@@ -229,19 +230,33 @@ private void updateImageView(ImageView target, int animTo) {
}
Drawable drawable = mContext.getDrawable(animTo);
if (drawable == null) {
+ Log.e(mContext.getPackageCodePath(), "ResId is wrong .");
return;
}
- drawable.canApplyTheme();
- drawable.applyTheme(wrapper.getTheme());
target.setImageDrawable(drawable);
+ drawable.applyTheme(wrapper.getTheme());
if (drawable instanceof AnimatedVectorDrawable) {
final AnimatedVectorDrawable animatedVectorDrawable = (AnimatedVectorDrawable) drawable;
+ if (mHourTenDigits != -1 &&
+ mHourSingleDigits != -1 &&
+ mMinTenDigits != -1 &&
+ mMinSingleDigits != -1 &&
+ mSecTenDigits != -1) {
+ animatedVectorDrawable.start();
+ return;
+ }
//todo there exists a bug in XiaoMi phone : when the time is 00:00 ,
//todo 11:11, 22:22(there are some same numbers) , only the first can work correctly
- animatedVectorDrawable.start();
+ //todo So I do this to avoid that . But this way is so fool .
+ target.post(new Runnable() {
+ @Override
+ public void run() {
+ animatedVectorDrawable.start();
+ }
+ });
}
}
diff --git a/googleioclock/src/main/java/com/lypeer/googleioclock/service/LyClockService.java b/googleioclock/src/main/java/com/lypeer/googleioclock/service/LyClockService.java
index 17bf642..a4d2481 100644
--- a/googleioclock/src/main/java/com/lypeer/googleioclock/service/LyClockService.java
+++ b/googleioclock/src/main/java/com/lypeer/googleioclock/service/LyClockService.java
@@ -1,7 +1,10 @@
package com.lypeer.googleioclock.service;
import android.app.Service;
+import android.content.BroadcastReceiver;
+import android.content.Context;
import android.content.Intent;
+import android.content.IntentFilter;
import android.os.IBinder;
import android.support.annotation.Nullable;
@@ -41,6 +44,14 @@ public IBinder onBind(Intent intent) {
return null;
}
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(Intent.ACTION_SCREEN_ON);
+ registerReceiver(mReceiver , filter);
+ }
+
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
beginClock();
@@ -135,11 +146,20 @@ private void initTime() {
mSecTenDigits = seconds / 10;
}
+ // Monitoring the screen on to reset time
+ private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ initTime();
+ }
+ };
+
@Override
public void onDestroy() {
super.onDestroy();
if (mTimer != null) {
mTimer.cancel();
}
+ unregisterReceiver(mReceiver);
}
}
diff --git a/googleioclock/src/main/res/drawable/animated_colon.xml b/googleioclock/src/main/res/drawable/animated_colon.xml
new file mode 100644
index 0000000..d7b4d33
--- /dev/null
+++ b/googleioclock/src/main/res/drawable/animated_colon.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/googleioclock/src/main/res/drawable/svg_7.xml b/googleioclock/src/main/res/drawable/svg_7.xml
index 6aa04a7..6b41371 100644
--- a/googleioclock/src/main/res/drawable/svg_7.xml
+++ b/googleioclock/src/main/res/drawable/svg_7.xml
@@ -19,14 +19,14 @@
android:strokeWidth="?attr/lyThickness" />
diff --git a/googleioclock/src/main/res/layout/view_google_clock.xml b/googleioclock/src/main/res/layout/view_google_clock.xml
index bba3029..53c5d9a 100644
--- a/googleioclock/src/main/res/layout/view_google_clock.xml
+++ b/googleioclock/src/main/res/layout/view_google_clock.xml
@@ -15,7 +15,7 @@
android:layout_width="48dp"
android:layout_height="48dp"
android:contentDescription="@string/cd_iv_hour_ten_digits"
- android:src="@drawable/svg_0"/>
+ android:src="@drawable/svg_1"/>
+ android:layout_height="16dp"/>
+
\ No newline at end of file
diff --git a/googleioclock/src/main/res/values/dimens.xml b/googleioclock/src/main/res/values/dimens.xml
index 4d147a1..3e8eeae 100644
--- a/googleioclock/src/main/res/values/dimens.xml
+++ b/googleioclock/src/main/res/values/dimens.xml
@@ -1,5 +1,7 @@
- 4
+ 8
1
+
\ No newline at end of file
diff --git a/googleioclock/src/main/res/values/styles.xml b/googleioclock/src/main/res/values/styles.xml
index 7b2b741..16a9407 100644
--- a/googleioclock/src/main/res/values/styles.xml
+++ b/googleioclock/src/main/res/values/styles.xml
@@ -9,5 +9,7 @@
- @color/colorDarkBlue
- @integer/lyThickness_4
- @integer/lyThickness_1
+
\ No newline at end of file