From fb2d9833e2139d943049a7a0dea2bced9ed0c2a5 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Thu, 19 Nov 2015 20:55:53 +0800 Subject: [PATCH 01/66] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E6=97=B6=E7=82=B9=E4=BA=AE=E5=B1=8F=E5=B9=95=E7=9A=84?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=AE=BE=E7=BD=AE=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../android/zjsnviewer/NotificationSender.java | 13 ++++++++++--- app/src/main/res/values/strings_pref_values.xml | 1 + app/src/main/res/xml/pref_part_notification.xml | 5 +++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java b/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java index ffe336c..082e46b 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java @@ -6,12 +6,14 @@ import android.app.PendingIntent; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Build; import android.os.PowerManager; +import android.preference.PreferenceManager; import android.support.v4.app.NotificationCompat; public class NotificationSender { @@ -22,6 +24,9 @@ public class NotificationSender { public static void notify(final Context context, final String title, final String text) { final Resources res = context.getResources(); + final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean screen_light = prefs.getBoolean("notification_screen_light", true); + final Notification.Builder builder = new Notification.Builder(context) .setDefaults(Notification.DEFAULT_ALL) .setSmallIcon(R.drawable.logo) @@ -32,9 +37,11 @@ public static void notify(final Context context, final String title, final Strin .setContentIntent(Storage.getStartPendingIntent(context)) .setAutoCancel(true); - PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); - PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "ZJSN"); - wl.acquire(10000); + if(screen_light) { + PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); + PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "ZJSN"); + wl.acquire(10000); + } notify(context, builder.build()); } diff --git a/app/src/main/res/values/strings_pref_values.xml b/app/src/main/res/values/strings_pref_values.xml index a5d42d3..59881c2 100644 --- a/app/src/main/res/values/strings_pref_values.xml +++ b/app/src/main/res/values/strings_pref_values.xml @@ -100,6 +100,7 @@ 维修结束通知 建造结束通知 开发结束通知 + 通知时点亮屏幕 Turn On Notifications Expedition Notifications diff --git a/app/src/main/res/xml/pref_part_notification.xml b/app/src/main/res/xml/pref_part_notification.xml index fd65dbf..40f018c 100644 --- a/app/src/main/res/xml/pref_part_notification.xml +++ b/app/src/main/res/xml/pref_part_notification.xml @@ -33,6 +33,11 @@ android:title="@string/pref_title_notify_make" android:defaultValue="true" /> + + Date: Fri, 20 Nov 2015 00:56:03 +0800 Subject: [PATCH 02/66] =?UTF-8?q?=E6=99=BA=E8=83=BD=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=B8=B8=E6=88=8F=E6=98=AF=E5=90=A6=E5=A4=84?= =?UTF-8?q?=E4=BA=8E=E5=89=8D=E5=8F=B0=EF=BC=8C=E5=A6=82=E6=9E=9C=E5=A4=84?= =?UTF-8?q?=E4=BA=8E=E5=89=8D=E5=8F=B0=EF=BC=8C=E5=88=99=E4=B8=8D=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E6=9B=B4=E6=96=B0=EF=BC=8C=E4=BB=A5=E5=85=8D=E5=8F=91?= =?UTF-8?q?=E7=94=9F=E6=8E=89=E7=BA=BF=E9=97=AE=E9=A2=98=EF=BC=8C=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E5=A4=84=E4=BA=8E=E5=90=8E=E5=8F=B0=EF=BC=8C=E5=88=99?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 5 +- .../crafter/android/zjsnviewer/DockInfo.java | 30 ++++++--- .../me/crafter/android/zjsnviewer/State.java | 2 +- .../android/zjsnviewer/TimerService.java | 1 - .../crafter/android/zjsnviewer/ZjsnState.java | 61 +++++++++++++++++++ 5 files changed, 89 insertions(+), 10 deletions(-) create mode 100644 app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 00da9d0..de6c53d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,10 +1,13 @@ + xmlns:tools="http://schemas.android.com/tools" + package="me.crafter.android.zjsnviewer"> + updateInterval){ - //lastUpdate is put before updateDockInfo - //to prevent multi request caused by delay - lastUpdate = currentUnix(); - NetworkManager.updateDockInfo(context); - } else { - ret = false; + boolean zjsn_running_state = false; + switch (ZjsnState.getZjsnState(context, TimerService.NOTIFY_INTERVAL)) { + case -1: + //Nothing happen. + break; + case 0: + zjsn_running_state = true; + //Zjsn in foreground + break; + case 1: + zjsn_running_state = false; + //Zjsn in background + break; + } + if(!zjsn_running_state) { + if (currentUnix() - lastUpdate > updateInterval) { + //lastUpdate is put before updateDockInfo + //to prevent multi request caused by delay + lastUpdate = currentUnix(); + NetworkManager.updateDockInfo(context); + } else { + ret = false; + } } ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/State.java b/app/src/main/java/me/crafter/android/zjsnviewer/State.java index f361935..30c049e 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/State.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/State.java @@ -2,4 +2,4 @@ public enum State { DEFAULT, UNKNOWN, INTERRUPT, CONNECTION_FAIL, NO_INTERNET, CONNECTION_RESET, PARSE_ERROR, NO_UPDATE_FOUND, UPDATE_FOUND; -} +} \ No newline at end of file diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java b/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java index 4dc9914..0c09875 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java @@ -90,7 +90,6 @@ protected Object doInBackground(Object... arg0){ Context context = instance; SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); Storage.language = Integer.parseInt(prefs.getString("language", "0")); - DockInfo.requestUpdate(context); //notification checker if (DockInfo.shouldNotify(context)){ diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java new file mode 100644 index 0000000..b0363b7 --- /dev/null +++ b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java @@ -0,0 +1,61 @@ +package me.crafter.android.zjsnviewer; + +import android.annotation.TargetApi; +import android.app.AppOpsManager; +import android.app.usage.UsageEvents; +import android.app.usage.UsageStatsManager; +import android.content.Context; +import android.os.Build; +import android.util.Log; + +/** + * Created by JohnnySun on 2015/11/19. + */ +public class ZjsnState { + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public static boolean isUsageStatsAllowed(Context context) { + AppOpsManager appOps = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); + int uid = android.os.Process.myUid(); + int mode = appOps.checkOpNoThrow(AppOpsManager.OPSTR_GET_USAGE_STATS, uid, context.getPackageName()); + return mode == AppOpsManager.MODE_ALLOWED; + } + + public static int getZjsnState(Context context, long updateInterval) { + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + if (!isUsageStatsAllowed(context)) { + Log.i("getZjsnState", "Permission Not Allowed!!"); + return -1; + } + } else { + return -1; + } + + long time = System.currentTimeMillis(); + UsageStatsManager usm = (UsageStatsManager) context.getSystemService("usagestats"); + //long interval = updateInterval * 1000; + UsageEvents events = usm.queryEvents(time - updateInterval, time); + while (events.hasNextEvent()) { + UsageEvents.Event event = new UsageEvents.Event(); + if(events.getNextEvent(event)) { + if(event.getEventType() == UsageEvents.Event.MOVE_TO_FOREGROUND) { + Log.i("packagename", event.getPackageName()); + if(event.getPackageName().startsWith("com.muka.shipwar") || event.getPackageName().startsWith("org.huanmeng.Zhanjian2")) { + Log.i("getZjsnState", "Zjsn Move to Foreground"); + return 0; + } + }else if(event.getEventType() == UsageEvents.Event.MOVE_TO_BACKGROUND) { + Log.i("packagename", event.getPackageName()); + if (event.getPackageName().startsWith("com.muka.shipwar") || event.getPackageName().startsWith("org.huanmeng.Zhanjian2")) { + Log.i("getZjsnState", "Zjsn Move to Background"); + return 1; + } + } + + } + + } + Log.i("getZjsnState", "Zjsn not cache"); + return -1; + } +} \ No newline at end of file From 2f8476081fa02b48631daa834de128020d42351f Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Fri, 20 Nov 2015 08:20:05 +0800 Subject: [PATCH 03/66] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E9=80=BB=E8=BE=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java index 4d52be3..38c1f20 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java @@ -10,6 +10,7 @@ public class DockInfo { + static boolean zjsn_running_state = false; public static int lastUpdate = -1; public static int[] dockTravelTime = {0, 0, 0, 0}; @@ -266,7 +267,6 @@ public static String[] getMakeBoard(){ public static boolean requestUpdate(Context context){ boolean ret = true; Log.i("DockInfo", "Current Interval is " + updateInterval + " (" + (currentUnix() - lastUpdate) + ")"); - boolean zjsn_running_state = false; switch (ZjsnState.getZjsnState(context, TimerService.NOTIFY_INTERVAL)) { case -1: //Nothing happen. From 7c998e44b2fe137acd946ddfb1bc7bf48b1efccb Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Fri, 22 Jan 2016 14:36:56 +0800 Subject: [PATCH 04/66] Create .travis.yml init buildbot --- .travis.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..f458647 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,23 @@ +language: android +android: + components: + # Uncomment the lines below if you want to + # use the latest revision of Android SDK Tools + # - platform-tools + # - tools + + # The BuildTools version used by your project + - build-tools-19.1.0 + + # The SDK version used to compile your project + - android-19 + + # Additional components + - extra-google-google_play_services + - extra-google-m2repository + - extra-android-m2repository + - addon-google_apis-google-19 + + # Specify at least one system image, + # if you need to run emulator(s) during your tests + - sys-img-armeabi-v7a-android-19 From 873bba151d2165eb6f39aedffd7913ed8ce1c0bf Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 12:53:33 +0800 Subject: [PATCH 05/66] Update .travis.yml --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index f458647..8384b97 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,17 +7,17 @@ android: # - tools # The BuildTools version used by your project - - build-tools-19.1.0 + - build-tools-21.1.2 # The SDK version used to compile your project - android-19 # Additional components - - extra-google-google_play_services + - extra-android-support - extra-google-m2repository - extra-android-m2repository - - addon-google_apis-google-19 + - addon-google_apis-google-21 # Specify at least one system image, # if you need to run emulator(s) during your tests - - sys-img-armeabi-v7a-android-19 + - sys-img-armeabi-v7a-android-21 From 860f9a03c868b77d79ec203b4e5f790c4c14c539 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 12:54:01 +0800 Subject: [PATCH 06/66] Update .travis.yml --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8384b97..382744a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,13 +10,12 @@ android: - build-tools-21.1.2 # The SDK version used to compile your project - - android-19 + - android-21 # Additional components - extra-android-support - extra-google-m2repository - extra-android-m2repository - - addon-google_apis-google-21 # Specify at least one system image, # if you need to run emulator(s) during your tests From 1c44160a5b3a61e8d3ea81de7d64c2e86bed6792 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 16:24:43 +0800 Subject: [PATCH 07/66] permission access for travis --- gradlew | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 gradlew diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 From 5903bf2f2cc2c672834638864bdf6507a4d7c67a Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 16:30:08 +0800 Subject: [PATCH 08/66] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 382744a..f6cefab 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ android: - build-tools-21.1.2 # The SDK version used to compile your project - - android-21 + - android-23 # Additional components - extra-android-support From 4238575d4d2e27131024a24062f3d04b43269bab Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 16:36:38 +0800 Subject: [PATCH 09/66] Update .travis.yml --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index f6cefab..94d3c35 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,3 +20,5 @@ android: # Specify at least one system image, # if you need to run emulator(s) during your tests - sys-img-armeabi-v7a-android-21 + lintOptions: + - abortOnError false From a0d0329003f9c3924f4b456b74cb45f826b7bca1 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 16:41:18 +0800 Subject: [PATCH 10/66] Update .travis.yml --- .travis.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 94d3c35..1726756 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,5 +20,8 @@ android: # Specify at least one system image, # if you need to run emulator(s) during your tests - sys-img-armeabi-v7a-android-21 - lintOptions: - - abortOnError false + android { + lintOptions { + abortOnError false + } + } From ec1caa7a1a0c3470ae07ec7f1565a26d7473f638 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 16:44:49 +0800 Subject: [PATCH 11/66] Update .travis.yml --- .travis.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1726756..94d3c35 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,8 +20,5 @@ android: # Specify at least one system image, # if you need to run emulator(s) during your tests - sys-img-armeabi-v7a-android-21 - android { - lintOptions { - abortOnError false - } - } + lintOptions: + - abortOnError false From 5700a1a5fdb02f042ba5697395b9bc33bf7ec808 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 16:48:41 +0800 Subject: [PATCH 12/66] add lintOptions --- app/build.gradle | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 0026589..c7f26c8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,6 +17,9 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + lintOptions { + abortOnError false + } } dependencies { From e7116cdf0c4d7f519bcfa27beb13a9629c459ce1 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 16:49:55 +0800 Subject: [PATCH 13/66] Update .travis.yml --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 94d3c35..f6cefab 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,5 +20,3 @@ android: # Specify at least one system image, # if you need to run emulator(s) during your tests - sys-img-armeabi-v7a-android-21 - lintOptions: - - abortOnError false From 9f4981eeca9200dd21a402ab74a9be6ee05b2e52 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 17:10:10 +0800 Subject: [PATCH 14/66] Update .travis.yml --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index f6cefab..bdd3add 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,3 +20,5 @@ android: # Specify at least one system image, # if you need to run emulator(s) during your tests - sys-img-armeabi-v7a-android-21 +script: + - ./gradlew assembleRelease From 7c46c298fd28a7e4d7e1f5000bbe141b7341e8c4 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 17:51:36 +0800 Subject: [PATCH 15/66] Add release key --- app/build.gradle | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index c7f26c8..4897d35 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -20,6 +20,14 @@ android { lintOptions { abortOnError false } + signingConfigs { + release { + storeFile file("johnny.moe.jks") + storePassword System.getenv("KEYSTORE_PASS") + keyAlias System.getenv("ALIAS_NAME") + keyPassword System.getenv("ALIAS_PASS") + } + } } dependencies { From 04d4f2114b2c3b3e796e6d8b59d2bd7d231f859a Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 09:54:19 +0000 Subject: [PATCH 16/66] update: .travis.yml --- .travis.yml | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/.travis.yml b/.travis.yml index bdd3add..c883cad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,24 +1,19 @@ language: android android: components: - # Uncomment the lines below if you want to - # use the latest revision of Android SDK Tools - # - platform-tools - # - tools - - # The BuildTools version used by your project - - build-tools-21.1.2 - - # The SDK version used to compile your project - - android-23 - - # Additional components - - extra-android-support - - extra-google-m2repository - - extra-android-m2repository - - # Specify at least one system image, - # if you need to run emulator(s) during your tests - - sys-img-armeabi-v7a-android-21 -script: - - ./gradlew assembleRelease + - build-tools-21.1.2 + - android-23 + - extra-android-support + - extra-google-m2repository + - extra-android-m2repository + - sys-img-armeabi-v7a-android-21 +script: +- "./gradlew assembleRelease" +deploy: + provider: releases + api_key: + secure: Jmz8pk7OTjM7VMHTYdQxWQz+Tng0NFgIgpW2dPqNRlmwro4cFaKwelt0uckGNJCdTf7oZngtCoP1IFiD6ZqisSRqxp1spd1Xtqv0pxeTKXoY5EQthHl5iM3QLnQtE/Uwbcg387TFhC/lZt34khmFI5Pe9GNPGuf4yYa/MspNcR8AUnoo60p/LHgcQgr9tLViFgE4+1grSFPFnW3JksadFYkGlAxL4Yf6pbEKDKtoGJm34E2MkQFeKiw3g2RJRBjguWzPub8O3gz7q1P/9v6ysBxiwUMWdOsFUoQ7ysVm+CRgwKagIAmdYaU/31lkw+XLU43rAFi3u8hbCbyqC3mzGNdRL8sXKdVMmHJJcSOhynfwKAH8SFX9WHmAbw4xbs68+dI7zdt8vVF4/GZj2uXSD6jrzMOna6IF8jSgYLa7HhNVEqHS1rZA3J3mxob9MWTsoxhDXXhwnmcRhRRuwHIFGvzAH4zyAUt2tbYsI+l8paml5s4KEU3zVRNSNyUWRyzNa8ZEBnlNP+tbdIMzHi2Z9f7zGwFzy4aJrSjFZeFlffYNkdbGZARQqGYpz7x4gL2uVkYbtTkb9p047Q0n//1ApEayERAJ06CNHDMmC9bzpcST1qxfRg+q3PNs5jk9ORw9RmlmuYfAvWHTFocxmzc2wiwvnrXfPvLlJxajwM6jnjU= + file: app/build/outputs/apk/app-release.apk + skip_cleanup: true + on: + tags: true From 48fccd3b5f16a351de59c7c13198d3acef5ba14c Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 10:06:18 +0000 Subject: [PATCH 17/66] update: .travis.yml --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c883cad..10bde6e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,11 +9,13 @@ android: - sys-img-armeabi-v7a-android-21 script: - "./gradlew assembleRelease" +before_deploy: + - mv app/build/outputs/apk/app-release.apk app/build/outputs/apk/Zjsnviewer.apk deploy: provider: releases api_key: secure: Jmz8pk7OTjM7VMHTYdQxWQz+Tng0NFgIgpW2dPqNRlmwro4cFaKwelt0uckGNJCdTf7oZngtCoP1IFiD6ZqisSRqxp1spd1Xtqv0pxeTKXoY5EQthHl5iM3QLnQtE/Uwbcg387TFhC/lZt34khmFI5Pe9GNPGuf4yYa/MspNcR8AUnoo60p/LHgcQgr9tLViFgE4+1grSFPFnW3JksadFYkGlAxL4Yf6pbEKDKtoGJm34E2MkQFeKiw3g2RJRBjguWzPub8O3gz7q1P/9v6ysBxiwUMWdOsFUoQ7ysVm+CRgwKagIAmdYaU/31lkw+XLU43rAFi3u8hbCbyqC3mzGNdRL8sXKdVMmHJJcSOhynfwKAH8SFX9WHmAbw4xbs68+dI7zdt8vVF4/GZj2uXSD6jrzMOna6IF8jSgYLa7HhNVEqHS1rZA3J3mxob9MWTsoxhDXXhwnmcRhRRuwHIFGvzAH4zyAUt2tbYsI+l8paml5s4KEU3zVRNSNyUWRyzNa8ZEBnlNP+tbdIMzHi2Z9f7zGwFzy4aJrSjFZeFlffYNkdbGZARQqGYpz7x4gL2uVkYbtTkb9p047Q0n//1ApEayERAJ06CNHDMmC9bzpcST1qxfRg+q3PNs5jk9ORw9RmlmuYfAvWHTFocxmzc2wiwvnrXfPvLlJxajwM6jnjU= - file: app/build/outputs/apk/app-release.apk + file: app/build/outputs/apk/Zjsnviewer.apk skip_cleanup: true on: tags: true From 22f681845a4628b9e3b998f71205e07ea717d07a Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 18:20:06 +0800 Subject: [PATCH 18/66] Update: update .travis.yml --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 10bde6e..c3c3b74 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,12 +10,12 @@ android: script: - "./gradlew assembleRelease" before_deploy: - - mv app/build/outputs/apk/app-release.apk app/build/outputs/apk/Zjsnviewer.apk + - mv app/app-release.apk app/Zjsnviewer.apk deploy: provider: releases api_key: secure: Jmz8pk7OTjM7VMHTYdQxWQz+Tng0NFgIgpW2dPqNRlmwro4cFaKwelt0uckGNJCdTf7oZngtCoP1IFiD6ZqisSRqxp1spd1Xtqv0pxeTKXoY5EQthHl5iM3QLnQtE/Uwbcg387TFhC/lZt34khmFI5Pe9GNPGuf4yYa/MspNcR8AUnoo60p/LHgcQgr9tLViFgE4+1grSFPFnW3JksadFYkGlAxL4Yf6pbEKDKtoGJm34E2MkQFeKiw3g2RJRBjguWzPub8O3gz7q1P/9v6ysBxiwUMWdOsFUoQ7ysVm+CRgwKagIAmdYaU/31lkw+XLU43rAFi3u8hbCbyqC3mzGNdRL8sXKdVMmHJJcSOhynfwKAH8SFX9WHmAbw4xbs68+dI7zdt8vVF4/GZj2uXSD6jrzMOna6IF8jSgYLa7HhNVEqHS1rZA3J3mxob9MWTsoxhDXXhwnmcRhRRuwHIFGvzAH4zyAUt2tbYsI+l8paml5s4KEU3zVRNSNyUWRyzNa8ZEBnlNP+tbdIMzHi2Z9f7zGwFzy4aJrSjFZeFlffYNkdbGZARQqGYpz7x4gL2uVkYbtTkb9p047Q0n//1ApEayERAJ06CNHDMmC9bzpcST1qxfRg+q3PNs5jk9ORw9RmlmuYfAvWHTFocxmzc2wiwvnrXfPvLlJxajwM6jnjU= - file: app/build/outputs/apk/Zjsnviewer.apk + file: app/Zjsnviewer.apk skip_cleanup: true on: tags: true From acb984af461a8d7d1bf10eebda9490c52297a5ae Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 18:28:52 +0800 Subject: [PATCH 19/66] Update: update .travis.yml --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c3c3b74..fffa8d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,12 +10,12 @@ android: script: - "./gradlew assembleRelease" before_deploy: - - mv app/app-release.apk app/Zjsnviewer.apk + - mv ./app/app-release.apk ./app/Zjsnviewer.apk deploy: provider: releases api_key: secure: Jmz8pk7OTjM7VMHTYdQxWQz+Tng0NFgIgpW2dPqNRlmwro4cFaKwelt0uckGNJCdTf7oZngtCoP1IFiD6ZqisSRqxp1spd1Xtqv0pxeTKXoY5EQthHl5iM3QLnQtE/Uwbcg387TFhC/lZt34khmFI5Pe9GNPGuf4yYa/MspNcR8AUnoo60p/LHgcQgr9tLViFgE4+1grSFPFnW3JksadFYkGlAxL4Yf6pbEKDKtoGJm34E2MkQFeKiw3g2RJRBjguWzPub8O3gz7q1P/9v6ysBxiwUMWdOsFUoQ7ysVm+CRgwKagIAmdYaU/31lkw+XLU43rAFi3u8hbCbyqC3mzGNdRL8sXKdVMmHJJcSOhynfwKAH8SFX9WHmAbw4xbs68+dI7zdt8vVF4/GZj2uXSD6jrzMOna6IF8jSgYLa7HhNVEqHS1rZA3J3mxob9MWTsoxhDXXhwnmcRhRRuwHIFGvzAH4zyAUt2tbYsI+l8paml5s4KEU3zVRNSNyUWRyzNa8ZEBnlNP+tbdIMzHi2Z9f7zGwFzy4aJrSjFZeFlffYNkdbGZARQqGYpz7x4gL2uVkYbtTkb9p047Q0n//1ApEayERAJ06CNHDMmC9bzpcST1qxfRg+q3PNs5jk9ORw9RmlmuYfAvWHTFocxmzc2wiwvnrXfPvLlJxajwM6jnjU= - file: app/Zjsnviewer.apk + file: ./app/Zjsnviewer.apk skip_cleanup: true on: tags: true From 37ca86dbc774d4c06bdc2f0902bedc4ce2b54ac3 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 18:57:14 +0800 Subject: [PATCH 20/66] update --- .travis.yml | 5 +++-- app/build.gradle | 14 ++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index fffa8d7..84050ae 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: android +jdk: openjdk7 android: components: - build-tools-21.1.2 @@ -10,12 +11,12 @@ android: script: - "./gradlew assembleRelease" before_deploy: - - mv ./app/app-release.apk ./app/Zjsnviewer.apk + - mv app/build/outputs/apk/app-release.apk app/build/outputs/apk/Zjsnviewer.apk deploy: provider: releases api_key: secure: Jmz8pk7OTjM7VMHTYdQxWQz+Tng0NFgIgpW2dPqNRlmwro4cFaKwelt0uckGNJCdTf7oZngtCoP1IFiD6ZqisSRqxp1spd1Xtqv0pxeTKXoY5EQthHl5iM3QLnQtE/Uwbcg387TFhC/lZt34khmFI5Pe9GNPGuf4yYa/MspNcR8AUnoo60p/LHgcQgr9tLViFgE4+1grSFPFnW3JksadFYkGlAxL4Yf6pbEKDKtoGJm34E2MkQFeKiw3g2RJRBjguWzPub8O3gz7q1P/9v6ysBxiwUMWdOsFUoQ7ysVm+CRgwKagIAmdYaU/31lkw+XLU43rAFi3u8hbCbyqC3mzGNdRL8sXKdVMmHJJcSOhynfwKAH8SFX9WHmAbw4xbs68+dI7zdt8vVF4/GZj2uXSD6jrzMOna6IF8jSgYLa7HhNVEqHS1rZA3J3mxob9MWTsoxhDXXhwnmcRhRRuwHIFGvzAH4zyAUt2tbYsI+l8paml5s4KEU3zVRNSNyUWRyzNa8ZEBnlNP+tbdIMzHi2Z9f7zGwFzy4aJrSjFZeFlffYNkdbGZARQqGYpz7x4gL2uVkYbtTkb9p047Q0n//1ApEayERAJ06CNHDMmC9bzpcST1qxfRg+q3PNs5jk9ORw9RmlmuYfAvWHTFocxmzc2wiwvnrXfPvLlJxajwM6jnjU= - file: ./app/Zjsnviewer.apk + file: app/build/outputs/apk/Zjsnviewer.apk skip_cleanup: true on: tags: true diff --git a/app/build.gradle b/app/build.gradle index 4897d35..47ed59d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,12 +11,6 @@ android { versionCode 26 versionName "2.6 - G" } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } lintOptions { abortOnError false } @@ -28,6 +22,14 @@ android { keyPassword System.getenv("ALIAS_PASS") } } + buildTypes { + release { + signingConfig signingConfigs.release + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + } dependencies { From 2507eb21b75508b2061bfc5c84a97bdeaa3a9875 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 19:04:16 +0800 Subject: [PATCH 21/66] update build.gradle --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 47ed59d..8ebfe2b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,7 +16,7 @@ android { } signingConfigs { release { - storeFile file("johnny.moe.jks") + storeFile file("../johnny.moe.jks") storePassword System.getenv("KEYSTORE_PASS") keyAlias System.getenv("ALIAS_NAME") keyPassword System.getenv("ALIAS_PASS") From 107ba64169578c6420755a37422097275e8bc2d9 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 19:09:17 +0800 Subject: [PATCH 22/66] add keyfile --- .idea/gradle.xml | 8 +++++++- .idea/misc.xml | 2 +- app/app.iml | 13 +++---------- gradle.properties | 18 +++++++++--------- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 166a03b..27c13a0 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -6,13 +6,19 @@ + diff --git a/.idea/misc.xml b/.idea/misc.xml index 5d19981..1a3eaff 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/app/app.iml b/app/app.iml index 8125b53..60ec129 100644 --- a/app/app.iml +++ b/app/app.iml @@ -65,33 +65,26 @@ - - - - - - - - - + + - + \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 1d3591c..87ad127 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,18 +1,18 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - +## Project-wide Gradle settings. +# # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html - +# # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx10248m -XX:MaxPermSize=256m # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 - +# # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true \ No newline at end of file +# org.gradle.parallel=true +#Tue Nov 17 12:26:58 CST 2015 +systemProp.http.proxyHost=127.0.0.1 +systemProp.http.nonProxyHosts=192.168.*, 127.0.0.1, localhost +systemProp.http.proxyPort=1080 From cdadb306a789cd85ce47938a404f6d2f3f012435 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 19:10:04 +0800 Subject: [PATCH 23/66] add keyfile --- johnny.moe.jks | Bin 0 -> 2253 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 johnny.moe.jks diff --git a/johnny.moe.jks b/johnny.moe.jks new file mode 100644 index 0000000000000000000000000000000000000000..0a6159118ce12007bcc35ecfefa0abcced4101bc GIT binary patch literal 2253 zcmchY`8yPf8pmhP9;QUdBzu+_+gOfeY-JcZQbOsXG`2Ca7R@jkdz2_kS;i7dPSkBE zXOL{6axG)ajA$GhX6zJ>y5~Ok+<)Ny@c!_Ap6?Iu^L^jv`|faexBvhEv{%5NB^VHb zClIcMMG*FgOYmf`EC2unASsaVNHLhuaTpK+)Bs5UflvU10-5zRt-?8b-ISB4=HP$3 zb#JysL~DTBEBiV+-(|ta^!_3EL0qIhZ|;&-k)8IE2#jz*(qw>qoVg%>f~($yi~%n?5&|X=_H}ehW6EN=3?IrgJw41Hi06eB~ zYY5reh~S)L{|?XyHSjZMdO18y%>)KNpp_ulq>lf`b&~XC^FmUauZGq2cS<}p(q|{R zp~IY9zX!q`9d5bYdkrVTfOUa@+AD6e#WrzlSr`8@J(rsD>GfLN!;8x$Z1UlO?^jy` z4)CEm82>j-Ls{U2^}@!Lft^l=t4@F9dNJy+9bF$!UM4$W-c2Y+ackCL4HQt5*Dn=H zEm6}2?j0e4>^#*pC*XW`pb=AQ$|k{fKf3Lg=NDV&4xcUU?LQTDskJ?Fi_Z8Eca2DE z4)lb&Lf;4FVm7QfSB3LJ(H~1(>hxR9tBM|)=zl@C$4#Y5!RCnXf}TdgXlVZ~dEwG6 zQvtET+Xh{2q)`7GB?j1MIcWK{B<56pfcEH!c}CD<%VD2R3!_HI=n|E|PZ-9F$C|;O zmU@phLVLs*X(Z_@N20NTn26#oEmyOd#xyXIG_oC{AbSYtUw8tFTp2D_0qe=|m_HlZzThOBE|8TslmTZ&b~NIW5}yduiS=$K5m4>IPeWT0mwn-@`q z>JWh-#g?A^nrD_t+Y(dE{tqj=Rm0BTMu>jj^^MhQUn9z$dEVIHqAca76b>TXZ^jzd zgr>!B6})T_!PzmBo)(v3miWoiX3x8yRzIP8PvpFeCx!c(#k3cg;ZoU4CyGjz;6t5B zImdyd)`2&rP2*q!dA*(Z;f6!(yK~`?(yRrNZ(hT;H*eHd{k}r~S{yUyCSj(EtIEoGz@uvx;S0W$5)igcBSBo;t2vXgxl2@7}@N~UgZ zyXlZlq-5et6kSK5OT@NBj17%6=58;t@@lazW8Q;LWY1ESKkOtHUhG)mb@k*=)F3aX zF>A8uJj5WQ$ds~HZR>IS%22$#f0&nhYy_-6vm9_NB#Wk~l|D@MVnm(~cRW-)@GVvL z#J3CG?s4SZG9SrDY9Fv|0q!V$oyPD`M8N32Sr*sS7T$P-sOz4t7lCM8)N3bvqA2P}C(Uev-_MUW>5@asLlo{fopBWuHWn4yXx8Q$HPLK9fH5}3g%B%?W=4n<{XgrY$G+d!O2~r-^MD^Mz zbym7fY#hPWm*I^L3_%Ga1!3Sb5EvX}?SvBFOV7PV z0KU)F-O8n3W!G*9tGguoJavAj(6#gG5i4^~#1j7aYtvnq;Kq3x_ zq70EJT|K0+zJac>hxC436iWX`{}=fGk3<0~{@s?np8=)-_wPLupb&@x1Ol>RJqtX> zP6yg4c~2L99hedhH1qYEG^rH1J$63B_iA$LOu+DhRZHv4m_iy>bMU6oX+_pzRoysY zJ~H*~1D$o1>92(2RO3lEH9d4YgzDXcgA&xn!`!kalA$S}W@d-<%c8L!@rde%jaf{r zvyY!!jpn&-A9OU{C>6nw4x?Oal&9?YCM!#u@X;`b{#d&B zEG>wwI+X3G^09A+w@95o)|2B^TQ>7<`n}3pLYC_>kBx&h=+Z9xlf|{}zAU}qMgeN< z+mv#N{EOcE_}z=*D~!?nBWuCRtnf?cTkhf)DgBJJ7^cl!)e5d**f E3Ar-)RR910 literal 0 HcmV?d00001 From f18882cc86b2b0e2fec048b11c6677b0d38fdf84 Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 19:15:15 +0800 Subject: [PATCH 24/66] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 0376266..6543b9f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +Travis CI: [![Travis CI](https://travis-ci.org/JohnnySun/ZjsnViewer.svg?branch=master)](https://travis-ci.org/JohnnySun/ZjsnViewer) +原作者貌似不再支持,fork来此工程进行继续开发。 +--- # ZjsnViewer by Tidu no JB From 168194d80bf96dae38270b3718bd9238e6b05ccc Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 19:20:35 +0800 Subject: [PATCH 25/66] Update: Change org.huanmeng.Zhanjian2 to com.huanmeng.zhanjian2 --- app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java index b0363b7..77ec5b6 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java @@ -46,7 +46,7 @@ public static int getZjsnState(Context context, long updateInterval) { } }else if(event.getEventType() == UsageEvents.Event.MOVE_TO_BACKGROUND) { Log.i("packagename", event.getPackageName()); - if (event.getPackageName().startsWith("com.muka.shipwar") || event.getPackageName().startsWith("org.huanmeng.Zhanjian2")) { + if (event.getPackageName().startsWith("com.muka.shipwar") || event.getPackageName().startsWith("com.huanmeng.zhanjian2")) { Log.i("getZjsnState", "Zjsn Move to Background"); return 1; } From 84cfb0122441ba1fbfd677482e69d4694b8f1e7c Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Sat, 23 Jan 2016 20:10:33 +0800 Subject: [PATCH 26/66] Update: Fix Notification setContentIntent, open com.huanmeng.jianniang2 instead org.huanmeng.jianniang2_alipay. --- .../main/java/me/crafter/android/zjsnviewer/NetworkManager.java | 2 +- app/src/main/java/me/crafter/android/zjsnviewer/Storage.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java index 44f0465..818612a 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java @@ -94,7 +94,7 @@ public static void updateDockInfo(Context context){ List procInfos = activityManager.getRunningAppProcesses(); for (int i = 0; i < procInfos.size(); i++){ String processName = procInfos.get(i).processName; - if (processName.startsWith("com.muka.shipwar") || processName.startsWith("org.huanmeng.Zhanjian2")){ + if (processName.startsWith("com.muka.shipwar") || processName.startsWith("com.huanmeng.zhanjian2")){ DockInfo.updateInterval = 15; Storage.str_tiduName = Storage.str_gameRunning[Storage.language]; return; diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java b/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java index 16e4d07..f0ce564 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java @@ -56,7 +56,7 @@ public static String getZjsnPackageName(Context context){ } else if (serverId < 100){ return "com.muka.shipwar"; } else { - return "org.huanmeng.Zhanjian2_alipay"; + return "com.huanmeng.Zhanjian2"; } } From f6269e5ab751446351797e31782b0ef04f343adb Mon Sep 17 00:00:00 2001 From: ElvisSong Date: Wed, 4 May 2016 20:25:44 +0800 Subject: [PATCH 27/66] =?UTF-8?q?=E6=B7=BB=E5=8A=A0[=E5=8F=B0]=E5=9F=83?= =?UTF-8?q?=E5=A1=9E=E5=85=8B=E6=96=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/values/strings_pref_values.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/values/strings_pref_values.xml b/app/src/main/res/values/strings_pref_values.xml index 59881c2..ad1de1f 100644 --- a/app/src/main/res/values/strings_pref_values.xml +++ b/app/src/main/res/values/strings_pref_values.xml @@ -48,6 +48,7 @@ [台] 突击者 [台] 黎赛留 [台] 贝尔法斯特 + [台] 埃塞克斯 0 @@ -72,6 +73,7 @@ 108 109 110 + 111 挂件刷新时间 From 89e00f3e7dbf0a6482a7c2e1af09c78f657f597c Mon Sep 17 00:00:00 2001 From: ElvisSong Date: Wed, 4 May 2016 20:30:59 +0800 Subject: [PATCH 28/66] =?UTF-8?q?=E6=B7=BB=E5=8A=A0[=E5=8F=B0]=E5=9F=83?= =?UTF-8?q?=E5=A1=9E=E5=85=8B=E6=96=AF=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/me/crafter/android/zjsnviewer/NetworkManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java index 818612a..4418b33 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java @@ -53,7 +53,8 @@ public class NetworkManager { "http://s8.jianniang.com/", "http://s9.jianniang.com/", "http://s10.jianniang.com/", - "http://s11.jianniang.com/" + "http://s11.jianniang.com/", + "http://s12.jianniang.com/" }; public static String getCurrentUnixTime() { From 4dcd18b0ab030251d65cca69def7b097359a5e68 Mon Sep 17 00:00:00 2001 From: ElvisSong Date: Wed, 4 May 2016 20:36:37 +0800 Subject: [PATCH 29/66] =?UTF-8?q?=E6=B7=BB=E5=8A=A0[=E5=8F=B0]=E5=9F=83?= =?UTF-8?q?=E5=A1=9E=E5=85=8B=E6=96=AF=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.iml | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/app/app.iml b/app/app.iml index 60ec129..3b5874b 100644 --- a/app/app.iml +++ b/app/app.iml @@ -12,10 +12,7 @@ - + @@ -50,6 +47,13 @@ + + + + + + + @@ -64,20 +68,34 @@ + + + + + + + + + - + + + + + - + + - + From 112b0a6ef5e55aa7ec43b889f6e2ccb20d95e399 Mon Sep 17 00:00:00 2001 From: wangqr Date: Sat, 21 May 2016 14:33:16 +0800 Subject: [PATCH 30/66] Update: Change org.huanmeng.Zhanjian2 to com.huanmeng.zhanjian2 --- app/src/main/java/me/crafter/android/zjsnviewer/Storage.java | 2 +- app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java b/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java index f0ce564..497f383 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java @@ -56,7 +56,7 @@ public static String getZjsnPackageName(Context context){ } else if (serverId < 100){ return "com.muka.shipwar"; } else { - return "com.huanmeng.Zhanjian2"; + return "com.huanmeng.zhanjian2"; } } diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java index 77ec5b6..bbb7595 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java @@ -40,7 +40,7 @@ public static int getZjsnState(Context context, long updateInterval) { if(events.getNextEvent(event)) { if(event.getEventType() == UsageEvents.Event.MOVE_TO_FOREGROUND) { Log.i("packagename", event.getPackageName()); - if(event.getPackageName().startsWith("com.muka.shipwar") || event.getPackageName().startsWith("org.huanmeng.Zhanjian2")) { + if(event.getPackageName().startsWith("com.muka.shipwar") || event.getPackageName().startsWith("com.huanmeng.zhanjian2")) { Log.i("getZjsnState", "Zjsn Move to Foreground"); return 0; } From 28778081ff47bac5dd56ff98bbd1763c80533d2f Mon Sep 17 00:00:00 2001 From: William Lyu Date: Wed, 25 May 2016 15:48:31 +0800 Subject: [PATCH 31/66] abandon PACKAGE_USAGE_STATS permission which works quite complex on Android.M. Using "com.jaredrummler:android-processes:1.0.8" instead. --- .idea/gradle.xml | 3 +- .idea/misc.xml | 2 +- ZjsnViewer.iml | 2 +- app/app.iml | 49 ++++++++--------- app/build.gradle | 7 +-- app/src/main/AndroidManifest.xml | 3 -- .../crafter/android/zjsnviewer/DockInfo.java | 10 ++-- .../crafter/android/zjsnviewer/ZjsnState.java | 53 +++++-------------- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 +- 10 files changed, 51 insertions(+), 84 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 27c13a0..ee6ddd0 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -5,8 +5,7 @@ - + diff --git a/ZjsnViewer.iml b/ZjsnViewer.iml index 40d8945..4a1830a 100644 --- a/ZjsnViewer.iml +++ b/ZjsnViewer.iml @@ -13,7 +13,7 @@ - + \ No newline at end of file diff --git a/app/app.iml b/app/app.iml index 3b5874b..89060cb 100644 --- a/app/app.iml +++ b/app/app.iml @@ -47,6 +47,7 @@ + @@ -54,6 +55,7 @@ + @@ -61,13 +63,7 @@ - - - - - - - + @@ -75,34 +71,39 @@ + + + + + + + + + - - - - + + + + + - - - - - - - - + - - - - - + + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 8ebfe2b..bdfd63f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ android { minSdkVersion 16 targetSdkVersion 23 versionCode 26 - versionName "2.6 - G" + versionName "2.7rc1" } lintOptions { abortOnError false @@ -34,6 +34,7 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.android.support:support-v4:23.1.1' + compile 'com.android.support:appcompat-v7:23.4.0' + compile 'com.android.support:support-v4:23.4.0' + compile 'com.jaredrummler:android-processes:1.0.8' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index de6c53d..4ab3704 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,13 +1,10 @@ - procInfos = activityManager.getRunningAppProcesses(); for (int i = 0; i < procInfos.size(); i++){ - if (procInfos.get(i).processName.startsWith("com.muka.shipwar")){ + String processName = procInfos.get(i).processName; + if (processName.startsWith("com.muka.shipwar")||processName.startsWith("com.huanmeng.zhanjian2")){ DockInfo.updateInterval = 15; Storage.str_tiduName = Storage.str_gameRunning[Storage.language]; break; diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java index bbb7595..44b0f3b 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java @@ -8,54 +8,25 @@ import android.os.Build; import android.util.Log; +import com.jaredrummler.android.processes.AndroidProcesses; +import com.jaredrummler.android.processes.models.AndroidAppProcess; + +import java.util.List; /** * Created by JohnnySun on 2015/11/19. + * Edit by PaleNeutron on 2016/5/25. */ public class ZjsnState { - @TargetApi(Build.VERSION_CODES.LOLLIPOP) - public static boolean isUsageStatsAllowed(Context context) { - AppOpsManager appOps = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); - int uid = android.os.Process.myUid(); - int mode = appOps.checkOpNoThrow(AppOpsManager.OPSTR_GET_USAGE_STATS, uid, context.getPackageName()); - return mode == AppOpsManager.MODE_ALLOWED; - } - public static int getZjsnState(Context context, long updateInterval) { - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - if (!isUsageStatsAllowed(context)) { - Log.i("getZjsnState", "Permission Not Allowed!!"); - return -1; - } - } else { - return -1; - } - - long time = System.currentTimeMillis(); - UsageStatsManager usm = (UsageStatsManager) context.getSystemService("usagestats"); - //long interval = updateInterval * 1000; - UsageEvents events = usm.queryEvents(time - updateInterval, time); - while (events.hasNextEvent()) { - UsageEvents.Event event = new UsageEvents.Event(); - if(events.getNextEvent(event)) { - if(event.getEventType() == UsageEvents.Event.MOVE_TO_FOREGROUND) { - Log.i("packagename", event.getPackageName()); - if(event.getPackageName().startsWith("com.muka.shipwar") || event.getPackageName().startsWith("com.huanmeng.zhanjian2")) { - Log.i("getZjsnState", "Zjsn Move to Foreground"); - return 0; - } - }else if(event.getEventType() == UsageEvents.Event.MOVE_TO_BACKGROUND) { - Log.i("packagename", event.getPackageName()); - if (event.getPackageName().startsWith("com.muka.shipwar") || event.getPackageName().startsWith("com.huanmeng.zhanjian2")) { - Log.i("getZjsnState", "Zjsn Move to Background"); - return 1; - } - } - + List processes = AndroidProcesses.getRunningAppProcesses(); + for (int i = 0; i < processes.size(); i++) { + String processName = processes.get(i).name; + if (processName.startsWith("com.huanmeng.zhanjian2")||processName.startsWith("com.muka.shipwar")){ + Log.i("Zjsn_ACTIVE", "Zjsn is in processes"); + return 0; } - } - Log.i("getZjsnState", "Zjsn not cache"); - return -1; + return 1; } } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 1b7886d..f6e9073 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.3.0' + classpath 'com.android.tools.build:gradle:2.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0c71e76..7221e11 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Apr 10 15:27:10 PDT 2013 +#Wed May 25 15:22:41 CST 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip From 4c356c50cf293019b8b0f7a3e5238d6b226e34d4 Mon Sep 17 00:00:00 2001 From: William Lyu Date: Wed, 25 May 2016 15:53:27 +0800 Subject: [PATCH 32/66] The service now starts with the application and will restart after killed. --- .idea/misc.xml | 2 +- .../java/me/crafter/android/zjsnviewer/TimerService.java | 6 ++++++ .../java/me/crafter/android/zjsnviewer/ZjsnViewer.java | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index fbb6828..5d19981 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java b/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java index 0c09875..1f84af4 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java @@ -33,6 +33,12 @@ public class TimerService extends Service { // timer handling private Timer mTimer = null; + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + // If we get killed, after returning from here, restart + return START_STICKY; + } + @Override public IBinder onBind(Intent intent) { return null; diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java index ae21a0c..8cde7e1 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java @@ -1,6 +1,7 @@ package me.crafter.android.zjsnviewer; import android.content.Context; +import android.content.Intent; import android.media.Ringtone; import android.media.RingtoneManager; import android.net.Uri; @@ -26,6 +27,12 @@ protected void onPostCreate(Bundle savedInstanceState) { registerListener(getApplicationContext()); } + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + startService(new Intent(this, TimerService.class)); + } + private void setupSimplePreferencesScreen() { addPreferencesFromResource(R.xml.pref_shared_top); From e786677e8919099e5579942f7d275c536c7bb511 Mon Sep 17 00:00:00 2001 From: William Lyu Date: Wed, 25 May 2016 16:27:51 +0800 Subject: [PATCH 33/66] Edit default font size from 48 to 24 --- app/app.iml | 14 ++++++++++++++ .../me/crafter/android/zjsnviewer/Storage.java | 8 ++++---- app/src/main/res/values/strings_pref_values.xml | 4 ++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/app/app.iml b/app/app.iml index 89060cb..7114b62 100644 --- a/app/app.iml +++ b/app/app.iml @@ -82,19 +82,33 @@ + + + + + + + + + + + + + + diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java b/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java index 497f383..1eae82c 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/Storage.java @@ -70,8 +70,8 @@ public static PendingIntent getStartPendingIntent(Context context){ public static float getTextSizeMajor(Context context){ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - String size = prefs.getString("textsize_major", "48"); - float ret = 48; + String size = prefs.getString("textsize_major", "24"); + float ret = 24; try { ret = Float.parseFloat(size); } catch (Exception ex) {} @@ -81,8 +81,8 @@ public static float getTextSizeMajor(Context context){ public static float getTextSizeMinor(Context context){ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - String size = prefs.getString("textsize_minor", "48"); - float ret = 48; + String size = prefs.getString("textsize_minor", "24"); + float ret = 24; try { ret = Float.parseFloat(size); } catch (Exception ex) {} diff --git a/app/src/main/res/values/strings_pref_values.xml b/app/src/main/res/values/strings_pref_values.xml index ad1de1f..b0d573a 100644 --- a/app/src/main/res/values/strings_pref_values.xml +++ b/app/src/main/res/values/strings_pref_values.xml @@ -111,10 +111,10 @@ Constriction Notifications (Equipment) 信息挂件字体大小 - 48 + 24 主挂件字体大小 - 48 + 24 黑科技开关 比较新奇的玩意,请谨慎使用 From 2ebc9a71a9af5d96c7d2cf78738e80bbd7797192 Mon Sep 17 00:00:00 2001 From: William Lyu Date: Thu, 26 May 2016 09:43:24 +0800 Subject: [PATCH 34/66] fix main widget's game_running_state on API 23 remove context dependency of ZjsnState. It is a pure function now. --- .idea/misc.xml | 2 +- app/app.iml | 17 ++++++++--------- .../me/crafter/android/zjsnviewer/DockInfo.java | 15 +++++---------- .../android/zjsnviewer/NetworkManager.java | 15 ++++++--------- .../crafter/android/zjsnviewer/ZjsnState.java | 4 ++-- 5 files changed, 22 insertions(+), 31 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 5d19981..fbb6828 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/app/app.iml b/app/app.iml index 7114b62..49726ba 100644 --- a/app/app.iml +++ b/app/app.iml @@ -64,14 +64,6 @@ - - - - - - - - @@ -80,9 +72,16 @@ + + + + + + + + - diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java index 986826f..6204be3 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java @@ -267,7 +267,7 @@ public static String[] getMakeBoard(){ public static boolean requestUpdate(Context context){ boolean ret = true; Log.i("DockInfo", "Current Interval is " + updateInterval + " (" + (currentUnix() - lastUpdate) + ")"); - switch (ZjsnState.getZjsnState(context, TimerService.NOTIFY_INTERVAL)) { + switch (ZjsnState.getZjsnState()) { case 0: zjsn_running_state = true; //Zjsn in running(both foreground and background) @@ -288,15 +288,10 @@ public static boolean requestUpdate(Context context){ } } - ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); - List procInfos = activityManager.getRunningAppProcesses(); - for (int i = 0; i < procInfos.size(); i++){ - String processName = procInfos.get(i).processName; - if (processName.startsWith("com.muka.shipwar")||processName.startsWith("com.huanmeng.zhanjian2")){ - DockInfo.updateInterval = 15; - Storage.str_tiduName = Storage.str_gameRunning[Storage.language]; - break; - } + + if (zjsn_running_state){ + DockInfo.updateInterval = 15; + Storage.str_tiduName = Storage.str_gameRunning[Storage.language]; } SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java index 4418b33..657fce9 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java @@ -91,16 +91,13 @@ public static void updateDockInfo(Context context){ return; } - ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); - List procInfos = activityManager.getRunningAppProcesses(); - for (int i = 0; i < procInfos.size(); i++){ - String processName = procInfos.get(i).processName; - if (processName.startsWith("com.muka.shipwar") || processName.startsWith("com.huanmeng.zhanjian2")){ - DockInfo.updateInterval = 15; - Storage.str_tiduName = Storage.str_gameRunning[Storage.language]; - return; - } + + if (ZjsnState.getZjsnState() == 1){ + DockInfo.updateInterval = 15; + Storage.str_tiduName = Storage.str_gameRunning[Storage.language]; + return; } + String error = ""; try { diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java index 44b0f3b..ea84064 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnState.java @@ -17,8 +17,8 @@ * Edit by PaleNeutron on 2016/5/25. */ public class ZjsnState { - - public static int getZjsnState(Context context, long updateInterval) { +//if running return 0 + public static int getZjsnState() { List processes = AndroidProcesses.getRunningAppProcesses(); for (int i = 0; i < processes.size(); i++) { String processName = processes.get(i).name; From 5959712b802db15d1349f704ea25a99a5dd932c0 Mon Sep 17 00:00:00 2001 From: William Lyu Date: Thu, 26 May 2016 13:33:34 +0800 Subject: [PATCH 35/66] Change click action of main widget from open the game to update infomation. --- .idea/misc.xml | 2 +- app/app.iml | 17 ++++---- app/build.gradle | 4 +- .../crafter/android/zjsnviewer/DockInfo.java | 4 +- .../android/zjsnviewer/NetworkManager.java | 2 +- .../android/zjsnviewer/Widget_Main.java | 42 +++++++++++++++++-- 6 files changed, 55 insertions(+), 16 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index fbb6828..5d19981 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/app/app.iml b/app/app.iml index 49726ba..7114b62 100644 --- a/app/app.iml +++ b/app/app.iml @@ -64,14 +64,6 @@ - - - - - - - - @@ -80,8 +72,17 @@ + + + + + + + + + diff --git a/app/build.gradle b/app/build.gradle index bdfd63f..c3170ca 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "me.crafter.android.zjsnviewer" minSdkVersion 16 targetSdkVersion 23 - versionCode 26 - versionName "2.7rc1" + versionCode 27 + versionName "2.7.1rc1" } lintOptions { abortOnError false diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java index 6204be3..b63cb11 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java @@ -11,6 +11,7 @@ public class DockInfo { static boolean zjsn_running_state = false; + static boolean zjsn_formal_state = false; public static int lastUpdate = -1; public static int[] dockTravelTime = {0, 0, 0, 0}; @@ -267,6 +268,7 @@ public static String[] getMakeBoard(){ public static boolean requestUpdate(Context context){ boolean ret = true; Log.i("DockInfo", "Current Interval is " + updateInterval + " (" + (currentUnix() - lastUpdate) + ")"); + zjsn_formal_state = zjsn_running_state; switch (ZjsnState.getZjsnState()) { case 0: zjsn_running_state = true; @@ -278,7 +280,7 @@ public static boolean requestUpdate(Context context){ break; } if(!zjsn_running_state) { - if (currentUnix() - lastUpdate > updateInterval) { + if (currentUnix() - lastUpdate > updateInterval || zjsn_formal_state != zjsn_running_state) { //lastUpdate is put before updateDockInfo //to prevent multi request caused by delay lastUpdate = currentUnix(); diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java index 657fce9..948a2ab 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java @@ -92,7 +92,7 @@ public static void updateDockInfo(Context context){ } - if (ZjsnState.getZjsnState() == 1){ + if (ZjsnState.getZjsnState() == 0){ DockInfo.updateInterval = 15; Storage.str_tiduName = Storage.str_gameRunning[Storage.language]; return; diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java index e489f79..262551e 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java @@ -12,6 +12,7 @@ public class Widget_Main extends AppWidgetProvider { + private static final String SYNC_CLICKED = "automaticWidgetSyncButtonClick"; @Override public void onEnabled(Context context) { context.startService(new Intent(context, TimerService.class)); @@ -29,6 +30,14 @@ public void onDisabled(Context context) { public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds){ context.startService(new Intent(context, TimerService.class)); super.onUpdate(context, appWidgetManager, appWidgetIds); + RemoteViews remoteViews; + ComponentName watchWidget; + + remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget__main); + watchWidget = new ComponentName(context, Widget_Main.class); + + remoteViews.setOnClickPendingIntent(R.id.imageButton, getPendingSelfIntent(context, SYNC_CLICKED)); + appWidgetManager.updateAppWidget(watchWidget, remoteViews); updateWidget(context); } @@ -39,6 +48,32 @@ public void onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidge updateWidget(context); } + @Override + public void onReceive(Context context, Intent intent) { + // TODO Auto-generated method stub + super.onReceive(context, intent); + + if (SYNC_CLICKED.equals(intent.getAction())) { + + AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); + + RemoteViews remoteViews; + ComponentName watchWidget; + + remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget__main); + watchWidget = new ComponentName(context, Widget_Main.class); + +// remoteViews.setTextViewText(R.id.imageButton, "TESTING"); + + appWidgetManager.updateAppWidget(watchWidget, remoteViews); + + } + } + protected PendingIntent getPendingSelfIntent(Context context, String action) { + Intent intent = new Intent(context, getClass()); + intent.setAction(action); + return PendingIntent.getBroadcast(context, 0, intent, 0); + } public static void updateWidget(Context context){ updateWidget(context, AppWidgetManager.getInstance(context)); @@ -46,10 +81,11 @@ public static void updateWidget(Context context){ public static void updateWidget(Context context, AppWidgetManager appWidgetManager){ //Log.i("Widget_Main", "updateWidget()"); - PendingIntent pending = Storage.getStartPendingIntent(context); +// PendingIntent pending = Storage.getStartPendingIntent(context); +// PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget__main); - - views.setOnClickPendingIntent(R.id.imageButton, pending); +// +// views.setOnClickPendingIntent(R.id.imageButton, pendingIntent); //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); //views.setTextViewText(R.id.textView, "Last Update: " + sdf.format(new Date())); From 6a5289c395cd2a73bf7d59336c7768d368d277a3 Mon Sep 17 00:00:00 2001 From: William Lyu Date: Thu, 26 May 2016 18:38:05 +0800 Subject: [PATCH 36/66] force refresh main widget --- app/app.iml | 1 - app/build.gradle | 4 ++-- .../main/java/me/crafter/android/zjsnviewer/Widget_Main.java | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/app.iml b/app/app.iml index 7114b62..96594de 100644 --- a/app/app.iml +++ b/app/app.iml @@ -99,7 +99,6 @@ - diff --git a/app/build.gradle b/app/build.gradle index c3170ca..a309193 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 23 - buildToolsVersion "21.1.2" + buildToolsVersion '23.0.3' defaultConfig { applicationId "me.crafter.android.zjsnviewer" @@ -33,7 +33,7 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) + compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:support-v4:23.4.0' compile 'com.jaredrummler:android-processes:1.0.8' diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java index 262551e..dcffb60 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java @@ -54,7 +54,7 @@ public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); if (SYNC_CLICKED.equals(intent.getAction())) { - + DockInfo.requestUpdate(context); AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); RemoteViews remoteViews; @@ -64,7 +64,7 @@ public void onReceive(Context context, Intent intent) { watchWidget = new ComponentName(context, Widget_Main.class); // remoteViews.setTextViewText(R.id.imageButton, "TESTING"); - + Widget_Main.updateWidget(context); appWidgetManager.updateAppWidget(watchWidget, remoteViews); } From c8e22cb7dc93f1c2df332071dbc230ba54ffd71b Mon Sep 17 00:00:00 2001 From: William Lyu Date: Fri, 27 May 2016 14:46:58 +0800 Subject: [PATCH 37/66] fix async network problem. add manual mode --- app/app.iml | 1 + app/build.gradle | 2 +- .../crafter/android/zjsnviewer/DockInfo.java | 9 +++---- .../android/zjsnviewer/NetworkManager.java | 2 +- .../android/zjsnviewer/TimerService.java | 4 +++- .../android/zjsnviewer/Widget_Main.java | 24 +++++++++++++++---- .../main/res/values/strings_pref_values.xml | 1 + .../main/res/xml/pref_part_main_settings.xml | 5 ++++ 8 files changed, 36 insertions(+), 12 deletions(-) diff --git a/app/app.iml b/app/app.iml index 96594de..7114b62 100644 --- a/app/app.iml +++ b/app/app.iml @@ -99,6 +99,7 @@ + diff --git a/app/build.gradle b/app/build.gradle index a309193..b89c1cf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ android { minSdkVersion 16 targetSdkVersion 23 versionCode 27 - versionName "2.7.1rc1" + versionName "2.7.1rc2" } lintOptions { abortOnError false diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java index b63cb11..966bbcb 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java @@ -279,8 +279,10 @@ public static boolean requestUpdate(Context context){ //Zjsn in not running break; } - if(!zjsn_running_state) { - if (currentUnix() - lastUpdate > updateInterval || zjsn_formal_state != zjsn_running_state) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); +// 如果战舰少女没有运行或者自动运行被关闭则允许更新 + if(!zjsn_running_state||!prefs.getBoolean("auto_run", true)) { + if (currentUnix() - lastUpdate > updateInterval || zjsn_formal_state != zjsn_running_state||!prefs.getBoolean("auto_run", true)) { //lastUpdate is put before updateDockInfo //to prevent multi request caused by delay lastUpdate = currentUnix(); @@ -291,12 +293,11 @@ public static boolean requestUpdate(Context context){ } - if (zjsn_running_state){ + if (zjsn_running_state&&prefs.getBoolean("auto_run", true)){ DockInfo.updateInterval = 15; Storage.str_tiduName = Storage.str_gameRunning[Storage.language]; } - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); Boolean on = prefs.getBoolean("on", false); if (!on){ DockInfo.updateInterval = 15; diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java index 948a2ab..fed7e00 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java @@ -92,7 +92,7 @@ public static void updateDockInfo(Context context){ } - if (ZjsnState.getZjsnState() == 0){ + if (ZjsnState.getZjsnState() == 0 && prefs.getBoolean("auto_run", true)){ DockInfo.updateInterval = 15; Storage.str_tiduName = Storage.str_gameRunning[Storage.language]; return; diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java b/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java index 1f84af4..f123812 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java @@ -96,7 +96,9 @@ protected Object doInBackground(Object... arg0){ Context context = instance; SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); Storage.language = Integer.parseInt(prefs.getString("language", "0")); - DockInfo.requestUpdate(context); + if (prefs.getBoolean("auto_run", true)) { + DockInfo.requestUpdate(context); + } //notification checker if (DockInfo.shouldNotify(context)){ NotificationSender.notify(context, Storage.str_reportTitle[Storage.language], DockInfo.getStatusReportAllFull()); diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java index dcffb60..076d110 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java @@ -6,9 +6,10 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.os.AsyncTask; import android.os.Bundle; import android.widget.RemoteViews; - +import android.util.Log; public class Widget_Main extends AppWidgetProvider { @@ -47,16 +48,29 @@ public void onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidge //Toast.makeText(context, "啦啦啦", Toast.LENGTH_SHORT).show(); updateWidget(context); } - + private class UpdateTask extends AsyncTask { + private Context context=null; + public UpdateTask(Context main_context){ + context = main_context; + } + @Override + protected Void doInBackground(Void... params) { + DockInfo.updateInterval = 1; + DockInfo.requestUpdate(context); + Widget_Main.updateWidget(context); + return null; + } + } @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub super.onReceive(context, intent); if (SYNC_CLICKED.equals(intent.getAction())) { - DockInfo.requestUpdate(context); - AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); + Log.i("widget","clicked"); + AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); + new UpdateTask(context).execute(); RemoteViews remoteViews; ComponentName watchWidget; @@ -64,7 +78,7 @@ public void onReceive(Context context, Intent intent) { watchWidget = new ComponentName(context, Widget_Main.class); // remoteViews.setTextViewText(R.id.imageButton, "TESTING"); - Widget_Main.updateWidget(context); + appWidgetManager.updateAppWidget(watchWidget, remoteViews); } diff --git a/app/src/main/res/values/strings_pref_values.xml b/app/src/main/res/values/strings_pref_values.xml index b0d573a..2b8ae8e 100644 --- a/app/src/main/res/values/strings_pref_values.xml +++ b/app/src/main/res/values/strings_pref_values.xml @@ -97,6 +97,7 @@ 总开关 + 自动模式 开启推送通知 远征结束通知 维修结束通知 diff --git a/app/src/main/res/xml/pref_part_main_settings.xml b/app/src/main/res/xml/pref_part_main_settings.xml index 79cfeb5..3181a16 100644 --- a/app/src/main/res/xml/pref_part_main_settings.xml +++ b/app/src/main/res/xml/pref_part_main_settings.xml @@ -5,6 +5,11 @@ android:title="@string/pref_title_on" android:defaultValue="true" /> + + Date: Sat, 28 May 2016 22:26:24 +0800 Subject: [PATCH 38/66] fresh all widget --- .travis.yml | 4 ++-- app/app.iml | 19 ++++++++----------- .../android/zjsnviewer/Widget_Main.java | 4 ++++ 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index 84050ae..94c5d7b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: android -jdk: openjdk7 +jdk: openjdk8 android: components: - - build-tools-21.1.2 + - build-tools-23.0.3 - android-23 - extra-android-support - extra-google-m2repository diff --git a/app/app.iml b/app/app.iml index 7114b62..56748ec 100644 --- a/app/app.iml +++ b/app/app.iml @@ -64,14 +64,6 @@ - - - - - - - - @@ -80,9 +72,16 @@ + + + + + + + + - @@ -99,8 +98,6 @@ - - diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java index 076d110..de97895 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java @@ -58,6 +58,10 @@ protected Void doInBackground(Void... params) { DockInfo.updateInterval = 1; DockInfo.requestUpdate(context); Widget_Main.updateWidget(context); + Widget_Travel.updateWidget(context); + Widget_Repair.updateWidget(context); + Widget_Build.updateWidget(context); + Widget_Make.updateWidget(context); return null; } } From ae516893cf299127f8f3b0456efa5e32656e02bc Mon Sep 17 00:00:00 2001 From: William Lyu Date: Mon, 30 May 2016 13:41:13 +0800 Subject: [PATCH 39/66] Notification modify & AsyncTask bug fix --- app/build.gradle | 2 +- .../crafter/android/zjsnviewer/DockInfo.java | 1 + .../zjsnviewer/NotificationSender.java | 24 +++++++++++-------- .../android/zjsnviewer/TimerService.java | 19 ++++++++++----- 4 files changed, 29 insertions(+), 17 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b89c1cf..5d0cecf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,7 +8,7 @@ android { applicationId "me.crafter.android.zjsnviewer" minSdkVersion 16 targetSdkVersion 23 - versionCode 27 + versionCode 28 versionName "2.7.1rc2" } lintOptions { diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java index 966bbcb..0a6d564 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java @@ -133,6 +133,7 @@ public static int[][] getStatusInt(){ public static boolean shouldNotify(Context context){ // First check no disturb + Log.d("DockInfo", "check notify"); if (Storage.isNoDisturbNow(context)) return false; SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java b/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java index 082e46b..15f01d9 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java @@ -3,13 +3,10 @@ import android.annotation.TargetApi; import android.app.Notification; import android.app.NotificationManager; -import android.app.PendingIntent; import android.content.Context; -import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; +import android.media.RingtoneManager; import android.net.Uri; import android.os.Build; import android.os.PowerManager; @@ -27,26 +24,33 @@ public static void notify(final Context context, final String title, final Strin final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); boolean screen_light = prefs.getBoolean("notification_screen_light", true); - final Notification.Builder builder = new Notification.Builder(context) - .setDefaults(Notification.DEFAULT_ALL) + final NotificationCompat.Builder builder = new NotificationCompat.Builder(context) +// .setDefaults(Notification.DEFAULT_ALL) .setSmallIcon(R.drawable.logo) .setContentTitle(title) .setContentText(text) - .setStyle(new Notification.BigTextStyle().bigText(text)) - .setPriority(NotificationCompat.PRIORITY_DEFAULT) +// .setStyle(new NotificationCompat.BigTextStyle().bigText(text)) +// TODO 加个是否显示浮动窗口的选项 + .setPriority(NotificationCompat.PRIORITY_HIGH) + .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)) + .setDefaults(Notification.DEFAULT_LIGHTS) .setContentIntent(Storage.getStartPendingIntent(context)) .setAutoCancel(true); if(screen_light) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + builder.setVisibility(Notification.VISIBILITY_PUBLIC); + } else { PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "ZJSN"); wl.acquire(10000); + } } - notify(context, builder.build()); + SendNotification(context, builder.build()); } @TargetApi(Build.VERSION_CODES.ECLAIR) - private static void notify(final Context context, final Notification notification) { + private static void SendNotification(final Context context, final Notification notification) { final NotificationManager nm = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java b/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java index f123812..3d6dda1 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java @@ -9,6 +9,7 @@ import android.content.IntentFilter; import android.content.SharedPreferences; import android.os.AsyncTask; +import android.os.Build; import android.os.Handler; import android.os.IBinder; import android.os.PowerManager; @@ -33,11 +34,11 @@ public class TimerService extends Service { // timer handling private Timer mTimer = null; - @Override - public int onStartCommand(Intent intent, int flags, int startId) { - // If we get killed, after returning from here, restart - return START_STICKY; - } +// @Override +// public int onStartCommand(Intent intent, int flags, int startId) { +// // If we get killed, after returning from here, restart +// return START_STICKY; +// } @Override public IBinder onBind(Intent intent) { @@ -106,7 +107,13 @@ protected Object doInBackground(Object... arg0){ //check if screen is on //if screen not on, widget should not update PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); - if (!pm.isScreenOn()){ + boolean screenon = true; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH){ + screenon = pm.isInteractive(); + } else { + screenon = pm.isScreenOn(); + } + if (!screenon){ //Log.i("TimerService", "run() - Screen is off, ignores update."); } else { int currentUnix = DockInfo.currentUnix(); From 9d558b937b1950c2893c086050e6e34e7baca91c Mon Sep 17 00:00:00 2001 From: William Lyu Date: Mon, 30 May 2016 15:51:17 +0800 Subject: [PATCH 40/66] Notification modify & Add vibration checkbox --- app/app.iml | 3 +++ app/build.gradle | 2 +- .../crafter/android/zjsnviewer/NotificationSender.java | 9 ++++++--- app/src/main/res/values/strings_pref_values.xml | 1 + app/src/main/res/xml/pref_part_notification.xml | 5 +++++ 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/app/app.iml b/app/app.iml index 56748ec..f7d2f5f 100644 --- a/app/app.iml +++ b/app/app.iml @@ -82,6 +82,7 @@ + @@ -98,6 +99,8 @@ + + diff --git a/app/build.gradle b/app/build.gradle index 5d0cecf..4bd2f9f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ android { minSdkVersion 16 targetSdkVersion 23 versionCode 28 - versionName "2.7.1rc2" + versionName "2.7.1" } lintOptions { abortOnError false diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java b/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java index 15f01d9..e73e053 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java @@ -23,20 +23,23 @@ public static void notify(final Context context, final String title, final Strin final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); boolean screen_light = prefs.getBoolean("notification_screen_light", true); + boolean if_send_vibration = prefs.getBoolean("notification_vibration", true); final NotificationCompat.Builder builder = new NotificationCompat.Builder(context) // .setDefaults(Notification.DEFAULT_ALL) .setSmallIcon(R.drawable.logo) .setContentTitle(title) .setContentText(text) -// .setStyle(new NotificationCompat.BigTextStyle().bigText(text)) + .setStyle(new NotificationCompat.BigTextStyle().bigText(text)) +// .setStyle(new Notification.InboxStyle()) // TODO 加个是否显示浮动窗口的选项 .setPriority(NotificationCompat.PRIORITY_HIGH) - .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)) - .setDefaults(Notification.DEFAULT_LIGHTS) + .setDefaults(NotificationCompat.DEFAULT_ALL) .setContentIntent(Storage.getStartPendingIntent(context)) .setAutoCancel(true); + if (!if_send_vibration) builder.setVibrate(new long[0]); + if(screen_light) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { builder.setVisibility(Notification.VISIBILITY_PUBLIC); diff --git a/app/src/main/res/values/strings_pref_values.xml b/app/src/main/res/values/strings_pref_values.xml index 2b8ae8e..c26b26e 100644 --- a/app/src/main/res/values/strings_pref_values.xml +++ b/app/src/main/res/values/strings_pref_values.xml @@ -104,6 +104,7 @@ 建造结束通知 开发结束通知 通知时点亮屏幕 + 通知时震动 Turn On Notifications Expedition Notifications diff --git a/app/src/main/res/xml/pref_part_notification.xml b/app/src/main/res/xml/pref_part_notification.xml index 40f018c..680e5a8 100644 --- a/app/src/main/res/xml/pref_part_notification.xml +++ b/app/src/main/res/xml/pref_part_notification.xml @@ -38,6 +38,11 @@ android:title="@string/pref_title_notify_screen_light" android:defaultValue="true" /> + + Date: Mon, 30 May 2016 16:28:19 +0800 Subject: [PATCH 41/66] modify server name & add IOS servers of hm --- .../android/zjsnviewer/NetworkManager.java | 8 +- .../main/res/values/strings_pref_values.xml | 82 +++++++++++-------- 2 files changed, 54 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java index fed7e00..54294c2 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java @@ -54,7 +54,13 @@ public class NetworkManager { "http://s9.jianniang.com/", "http://s10.jianniang.com/", "http://s11.jianniang.com/", - "http://s12.jianniang.com/" + "http://s12.jianniang.com/", + "http://s101.jianniang.com/", + "http://s102.jianniang.com/", + "http://s103.jianniang.com/", + "http://s104.jianniang.com/", + "http://s105.jianniang.com/", + "http://s106.jianniang.com/" }; public static String getCurrentUnixTime() { diff --git a/app/src/main/res/values/strings_pref_values.xml b/app/src/main/res/values/strings_pref_values.xml index c26b26e..f1a5268 100644 --- a/app/src/main/res/values/strings_pref_values.xml +++ b/app/src/main/res/values/strings_pref_values.xml @@ -26,31 +26,54 @@ - [国] ZERO - [国] 胡德 - [国] 萨拉托加 - [国] 俾斯麦 - [国] 声望 - [国] 纳尔逊 - [国] 空想 - [国] 海伦娜 - [国] 突击者 - [国] 黎塞留 - [国] 贝尔法斯特 - [国] 追赶者 - [台] 胡德 - [台] 萨拉托加 - [台] 俾斯麦 - [台] 声望 - [台] 纳尔逊 - [台] 空想 - [台] 海伦娜 - [台] 突击者 - [台] 黎赛留 - [台] 贝尔法斯特 - [台] 埃塞克斯 + [战舰少女R] 胡德 + [战舰少女R] 萨拉托加 + [战舰少女R] 俾斯麦 + [战舰少女R] 声望 + [战舰少女R] 纳尔逊 + [战舰少女R] 空想 + [战舰少女R] 海伦娜 + [战舰少女R] 突击者 + [战舰少女R] 黎赛留 + [战舰少女R] 贝尔法斯特 + [战舰少女R] 埃塞克斯 + [战舰少女R] 列克星敦 + [战舰少女R] 欧根亲王 + [战舰少女R] 提尔比茨 + [战舰少女R] 大青花鱼 + [战舰少女R] 阿拉斯加 + [战舰少女R] 皇家方舟 + [战舰少女] ZERO + [战舰少女] 胡德 + [战舰少女] 萨拉托加 + [战舰少女] 俾斯麦 + [战舰少女] 声望 + [战舰少女] 纳尔逊 + [战舰少女] 空想 + [战舰少女] 海伦娜 + [战舰少女] 突击者 + [战舰少女] 黎塞留 + [战舰少女] 贝尔法斯特 + [战舰少女] 追赶者 + 101 + 102 + 103 + 104 + 105 + 106 + 107 + 108 + 109 + 110 + 111 + 112 + 113 + 114 + 115 + 116 + 117 0 1 2 @@ -63,17 +86,6 @@ 9 10 11 - 101 - 102 - 103 - 104 - 105 - 106 - 107 - 108 - 109 - 110 - 111 挂件刷新时间 @@ -121,7 +133,7 @@ 黑科技开关 比较新奇的玩意,请谨慎使用 真·黑科技 (未完成) - 无视平台与服务器,甚至不需要设置用户名密码,需要root权限支持 + 无视平战舰少女R与服务器,甚至不需要设置用户名密码,需要root权限支持 手动输入服务器 高级选项,强制使用输入的服务器地址,使用方法请参见网站。 From 5e092eb6c359cc63009281d688f3bed3d77ccc72 Mon Sep 17 00:00:00 2001 From: William Lyu Date: Mon, 30 May 2016 16:48:42 +0800 Subject: [PATCH 42/66] fix ios server --- app/app.iml | 16 +++++------ app/build.gradle | 4 +-- .../android/zjsnviewer/NetworkManager.java | 28 +++++++++++++------ .../main/res/values/strings_pref_values.xml | 12 ++++---- 4 files changed, 35 insertions(+), 25 deletions(-) diff --git a/app/app.iml b/app/app.iml index f7d2f5f..7114b62 100644 --- a/app/app.iml +++ b/app/app.iml @@ -64,14 +64,6 @@ - - - - - - - - @@ -80,6 +72,14 @@ + + + + + + + + diff --git a/app/build.gradle b/app/build.gradle index 4bd2f9f..2747f06 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "me.crafter.android.zjsnviewer" minSdkVersion 16 targetSdkVersion 23 - versionCode 28 - versionName "2.7.1" + versionCode 29 + versionName "2.7.2" } lintOptions { abortOnError false diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java index 54294c2..59bb36c 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java @@ -27,6 +27,7 @@ public class NetworkManager { public static String url_passport_p7 = "http://login.alpha.p7game.com/index/passportLogin/";// +username/password //hm change the login in url as http://login.jianniang.com/index/passportLogin/ public static String url_passport_hm = "http://login.jianniang.com/index/passportLogin/";// +username/password + public static String url_passport_hm_ios = "http://loginios.jianniang.com/index/passportLogin/";// +username/password public static String url_login = "index/login/";//+uid public static String[] url_server_p7 = { "http://zj.alpha.p7game.com/", @@ -54,15 +55,17 @@ public class NetworkManager { "http://s9.jianniang.com/", "http://s10.jianniang.com/", "http://s11.jianniang.com/", - "http://s12.jianniang.com/", - "http://s101.jianniang.com/", - "http://s102.jianniang.com/", - "http://s103.jianniang.com/", - "http://s104.jianniang.com/", - "http://s105.jianniang.com/", - "http://s106.jianniang.com/" + "http://s12.jianniang.com/" }; + public static String[] url_server_hm_ios = { + "http://s101.jianniang.com/", + "http://s102.jianniang.com/", + "http://s103.jianniang.com/", + "http://s104.jianniang.com/", + "http://s105.jianniang.com/", + "http://s106.jianniang.com/" + }; public static String getCurrentUnixTime() { long unixTime = System.currentTimeMillis() / 10L; return String.valueOf(unixTime); @@ -77,11 +80,16 @@ public static void updateDockInfo(Context context){ String server = prefs.getString("server", "-1"); if (server.equals("-1")) return; int serverId = Integer.parseInt(server); + if (serverId < 100){ server = url_server_p7[serverId]; - } else { + } + else if (serverId < 200) { server = url_server_hm[serverId-100]; } + else { + server = url_server_hm_ios[serverId-200]; + } // Black: Alt Server boolean altserver = prefs.getBoolean("altserver", false); @@ -111,8 +119,10 @@ public static void updateDockInfo(Context context){ URL url; if (serverId < 100){ url = new URL(url_passport_p7 +username+"/"+password); - } else { + }else if (serverId < 200){ url = new URL(url_passport_hm +username+"/"+password); + }else { + url = new URL(url_passport_hm_ios +username+"/"+password); } if (altserver){ url = new URL(prefs.getString("alt_url_login", "") +username+"/"+password); diff --git a/app/src/main/res/values/strings_pref_values.xml b/app/src/main/res/values/strings_pref_values.xml index f1a5268..d219e99 100644 --- a/app/src/main/res/values/strings_pref_values.xml +++ b/app/src/main/res/values/strings_pref_values.xml @@ -68,12 +68,12 @@ 109 110 111 - 112 - 113 - 114 - 115 - 116 - 117 + 201 + 202 + 203 + 204 + 205 + 206 0 1 2 From ce1b211b0733b4ec808e71ad3eb149f64b14da8c Mon Sep 17 00:00:00 2001 From: William Lyu Date: Mon, 30 May 2016 16:53:16 +0800 Subject: [PATCH 43/66] fix ios server --- app/src/main/res/xml/pref_part_general.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/xml/pref_part_general.xml b/app/src/main/res/xml/pref_part_general.xml index f1a7eff..ae14c1e 100644 --- a/app/src/main/res/xml/pref_part_general.xml +++ b/app/src/main/res/xml/pref_part_general.xml @@ -22,7 +22,7 @@ Date: Mon, 30 May 2016 23:20:07 +0800 Subject: [PATCH 44/66] fix server addresses --- .idea/misc.xml | 2 +- .../main/java/me/crafter/android/zjsnviewer/NetworkManager.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 5d19981..fbb6828 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java index 59bb36c..81462e0 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java @@ -88,7 +88,7 @@ else if (serverId < 200) { server = url_server_hm[serverId-100]; } else { - server = url_server_hm_ios[serverId-200]; + server = url_server_hm_ios[serverId-201]; } // Black: Alt Server From eaa0e043f34600056d1dba2f79b63dd9f63af1ac Mon Sep 17 00:00:00 2001 From: John Lyu Date: Wed, 1 Jun 2016 09:33:59 +0800 Subject: [PATCH 45/66] spelling mistake fix --- app/src/main/res/values/strings_pref_values.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values/strings_pref_values.xml b/app/src/main/res/values/strings_pref_values.xml index d219e99..ecc3801 100644 --- a/app/src/main/res/values/strings_pref_values.xml +++ b/app/src/main/res/values/strings_pref_values.xml @@ -133,7 +133,7 @@ 黑科技开关 比较新奇的玩意,请谨慎使用 真·黑科技 (未完成) - 无视平战舰少女R与服务器,甚至不需要设置用户名密码,需要root权限支持 + 无视平台与服务器,甚至不需要设置用户名密码,需要root权限支持 手动输入服务器 高级选项,强制使用输入的服务器地址,使用方法请参见网站。 @@ -150,4 +150,4 @@ 结束时间 你将不会在以上时间段内收到推送通知。 - \ No newline at end of file + From 020280dbc1d7a75b2eb1f13473500d820d397ebe Mon Sep 17 00:00:00 2001 From: William Lyu Date: Wed, 1 Jun 2016 17:07:48 +0800 Subject: [PATCH 46/66] fix notification vibration, setVibration would not work after setDefaults(N.DEFAULT_VIBRATE) http://stackoverflow.com/questions/24008764/disable-vibration-for-a-notification --- .../android/zjsnviewer/NotificationSender.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java b/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java index e73e053..b3cc20f 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java @@ -22,8 +22,8 @@ public static void notify(final Context context, final String title, final Strin final Resources res = context.getResources(); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - boolean screen_light = prefs.getBoolean("notification_screen_light", true); - boolean if_send_vibration = prefs.getBoolean("notification_vibration", true); + final boolean screen_light = prefs.getBoolean("notification_screen_light", true); + final boolean if_send_vibration = prefs.getBoolean("notification_vibration", true); final NotificationCompat.Builder builder = new NotificationCompat.Builder(context) // .setDefaults(Notification.DEFAULT_ALL) @@ -34,15 +34,19 @@ public static void notify(final Context context, final String title, final Strin // .setStyle(new Notification.InboxStyle()) // TODO 加个是否显示浮动窗口的选项 .setPriority(NotificationCompat.PRIORITY_HIGH) - .setDefaults(NotificationCompat.DEFAULT_ALL) + .setDefaults(NotificationCompat.DEFAULT_LIGHTS|NotificationCompat.DEFAULT_SOUND) .setContentIntent(Storage.getStartPendingIntent(context)) .setAutoCancel(true); - if (!if_send_vibration) builder.setVibrate(new long[0]); + if (if_send_vibration) { + builder.setDefaults(NotificationCompat.DEFAULT_VIBRATE); + } else { + builder.setVibrate(new long[]{0L}); + } if(screen_light) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - builder.setVisibility(Notification.VISIBILITY_PUBLIC); + builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC); } else { PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "ZJSN"); From 2bf34d185383ac311bdba2a7bfb3f2dff18af0ab Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Wed, 1 Jun 2016 21:08:33 +0800 Subject: [PATCH 47/66] Update .travis.yml change to openjdk7, because, openjdk8 with android not support by travis-ci --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 94c5d7b..8b35594 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: android -jdk: openjdk8 +jdk: openjdk7 android: components: - build-tools-23.0.3 From 86600cc49312f14eb7f3c0603f1656c43875c4ea Mon Sep 17 00:00:00 2001 From: JohnnySun Date: Wed, 1 Jun 2016 21:14:24 +0800 Subject: [PATCH 48/66] Update .travis.yml use build-tools-23.0.2 inside of build-tools-23.0.3 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8b35594..c810c3d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: android jdk: openjdk7 android: components: - - build-tools-23.0.3 + - build-tools-23.0.2 - android-23 - extra-android-support - extra-google-m2repository From 6ebddc88cd018246d84751f37f8f52ec1cfaffb2 Mon Sep 17 00:00:00 2001 From: traburiss Date: Thu, 2 Jun 2016 13:18:32 +0800 Subject: [PATCH 49/66] =?UTF-8?q?1=E5=A2=9E=E5=8A=A0=E4=BA=86=E6=8F=90?= =?UTF-8?q?=E7=9D=A3=E4=BF=A1=E6=81=AF=E7=9A=84=E9=A1=B5=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E7=9B=B4=E6=8E=A5=E6=9F=A5=E7=9C=8B=E5=90=8D?= =?UTF-8?q?=E5=AD=97=E7=AD=89=E7=BA=A7=E5=90=84=E7=A7=8D=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 8 +- .idea/misc.xml | 2 +- .idea/runConfigurations.xml | 12 - app/app.iml | 11 +- app/build.gradle | 15 ++ app/src/main/AndroidManifest.xml | 38 ++- .../android/zjsnviewer/InfoActivity.java | 225 ++++++++++++++++++ .../infofragment/BuildFragment.java | 51 ++++ .../zjsnviewer/infofragment/MakeFragment.java | 50 ++++ .../infofragment/RepairFragment.java | 51 ++++ .../infofragment/TravelFragemt.java | 51 ++++ app/src/main/res/drawable/text_color.xml | 9 + app/src/main/res/layout/activity_info.xml | 131 ++++++++++ app/src/main/res/values/colors.xml | 3 +- app/src/main/res/values/strings.xml | 5 +- .../res/values/strings_activity_settings.xml | 2 + .../main/res/xml/pref_part_main_settings.xml | 8 + build.gradle | 2 +- 18 files changed, 628 insertions(+), 46 deletions(-) delete mode 100644 .idea/runConfigurations.xml create mode 100644 app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java create mode 100644 app/src/main/java/me/crafter/android/zjsnviewer/infofragment/BuildFragment.java create mode 100644 app/src/main/java/me/crafter/android/zjsnviewer/infofragment/MakeFragment.java create mode 100644 app/src/main/java/me/crafter/android/zjsnviewer/infofragment/RepairFragment.java create mode 100644 app/src/main/java/me/crafter/android/zjsnviewer/infofragment/TravelFragemt.java create mode 100644 app/src/main/res/drawable/text_color.xml create mode 100644 app/src/main/res/layout/activity_info.xml diff --git a/.idea/gradle.xml b/.idea/gradle.xml index ee6ddd0..0a8066c 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -5,19 +5,13 @@ - diff --git a/.idea/misc.xml b/.idea/misc.xml index fbb6828..5d19981 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 7f68460..0000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/app.iml b/app/app.iml index 7114b62..fd8f379 100644 --- a/app/app.iml +++ b/app/app.iml @@ -28,6 +28,7 @@ + @@ -86,10 +87,12 @@ + + @@ -99,7 +102,6 @@ - @@ -112,12 +114,15 @@ - + + + + - + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 2747f06..4f204aa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,9 +32,24 @@ android { } +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' + } +} + +apply plugin: 'com.neenbedankt.android-apt' + dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:support-v4:23.4.0' compile 'com.jaredrummler:android-processes:1.0.8' + compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha1' + + compile 'com.jakewharton:butterknife:8.0.1' + apt 'com.jakewharton:butterknife-compiler:8.0.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4ab3704..b0d9cd8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,10 +10,10 @@ android:allowBackup="true" android:icon="@drawable/logo" android:label="@string/app_name" - android:theme="@style/AppTheme" > + android:theme="@style/AppTheme"> + android:label="@string/repair_widget_name"> @@ -24,7 +24,7 @@ + android:label="@string/build_widget_name"> @@ -35,7 +35,7 @@ + android:label="@string/make_widget_name"> @@ -46,7 +46,7 @@ + android:label="@string/travel_widget_name"> @@ -57,7 +57,7 @@ + android:label="@string/app_name"> @@ -67,18 +67,16 @@ android:resource="@xml/widget__main_info" /> - - + - + android:exported="true"> + android:label="@string/title_activity_settings"> @@ -90,6 +88,7 @@ android:label="@string/title_activity_main"> + @@ -98,7 +97,7 @@ + android:parentActivityName=".ZjsnViewer"> @@ -109,7 +108,7 @@ + android:parentActivityName=".ZjsnViewer"> @@ -120,7 +119,7 @@ + android:parentActivityName=".ZjsnViewer"> @@ -131,24 +130,23 @@ + android:parentActivityName=".ZjsnViewer"> > - + android:parentActivityName=".ZjsnViewer"> > - - + - + \ No newline at end of file diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java new file mode 100644 index 0000000..56e3560 --- /dev/null +++ b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java @@ -0,0 +1,225 @@ +package me.crafter.android.zjsnviewer; + +import android.os.Bundle; +import android.os.Handler; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; +import android.support.v4.view.ViewPager; +import android.support.v7.widget.Toolbar; +import android.view.View; +import android.widget.TextView; + +import java.util.ArrayList; + +import butterknife.BindView; +import butterknife.ButterKnife; +import me.crafter.android.zjsnviewer.infofragment.BuildFragment; +import me.crafter.android.zjsnviewer.infofragment.MakeFragment; +import me.crafter.android.zjsnviewer.infofragment.RepairFragment; +import me.crafter.android.zjsnviewer.infofragment.TravelFragemt; + +public class InfoActivity extends FragmentActivity { + + @BindView(R.id.include2) + Toolbar bar; + +// @BindView(R.id.sr_refresh) +// SwipeRefreshLayout sr_refresh; + +// @BindView(R.id.ib_icon) +// ImageButton ib_icon; + @BindView(R.id.tv_name) + TextView tv_name; + @BindView(R.id.tv_level) + TextView tv_level; + + @BindView(R.id.tv_travel) + TextView tv_travel; + @BindView(R.id.tv_repair) + TextView tv_repair; + @BindView(R.id.tv_build) + TextView tv_build; + @BindView(R.id.tv_make) + TextView tv_make; + @BindView(R.id.vp_page) + ViewPager vp_page; + + private TextView[] tabs = new TextView[4]; + private TravelFragemt travelFragemt; + private BuildFragment buildFragment; + private MakeFragment makeFragment; + private RepairFragment repairFragment; + + private Handler handler; + private Runnable runnable; + private int RUN_TIME = 30*1000; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_info); + ButterKnife.bind(this); + + initView(); + initEven(); + refreshView(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + handler.removeCallbacks(runnable); + } + + private void initView(){ + + bar.setTitle(R.string.pref_header_info); + +// sr_refresh.setColorSchemeResources( +// android.R.color.holo_red_light, +// android.R.color.holo_orange_light, +// android.R.color.holo_green_light +// ); + + initFragment(); + } + + private void initEven(){ + + bar.setNavigationOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + +// sr_refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { +// @Override +// public void onRefresh() { +// +// Handler handler = new Handler(); +// handler.postDelayed(new Runnable() { +// @Override +// public void run() { +// +// sr_refresh.setRefreshing(false); +// Toast.makeText(InfoActivity.this, "刷新成功", Toast.LENGTH_SHORT).show(); +// } +// }, 2000); +// } +// }); + + vp_page.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + + } + + @Override + public void onPageSelected(int position) { + + setTab(position); + } + + @Override + public void onPageScrollStateChanged(int state) { + + } + }); + + + handler = new Handler(); + runnable = new Runnable() { + @Override + public void run() { + + refreeshAllView(); +// Toast.makeText(InfoActivity.this,new Date().toString(), Toast.LENGTH_SHORT).show(); + handler.postDelayed(runnable,RUN_TIME); + } + }; + handler.postDelayed(runnable,RUN_TIME); + } + + private void initFragment(){ + + travelFragemt = new TravelFragemt(); + repairFragment = new RepairFragment(); + buildFragment = new BuildFragment(); + makeFragment = new MakeFragment(); + + ArrayList fragments = new ArrayList<>(); + fragments.add(travelFragemt); + fragments.add(repairFragment); + fragments.add(buildFragment); + fragments.add(makeFragment); + + tv_repair.setEnabled(false); + tv_build.setEnabled(false); + tv_make.setEnabled(false); + + tabs[0] = tv_travel; + tabs[1] = tv_repair; + tabs[2] = tv_build; + tabs[3] = tv_make; + + vp_page.setOffscreenPageLimit(4); + pageAdapter adapter = new pageAdapter(getSupportFragmentManager(), fragments); + + vp_page.setAdapter(adapter); + vp_page.setCurrentItem(0); + } + + private class pageAdapter extends FragmentPagerAdapter{ + + ArrayList fragments; + + public pageAdapter(FragmentManager fm, ArrayList fragments) { + super(fm); + this.fragments = fragments; + } + + @Override + public Fragment getItem(int position) { + return fragments.get(position); + } + + @Override + public int getCount() { + return fragments.size(); + } + } + + private void setTab(int position) { + + if (position >= 0 && position < tabs.length){ + + for (int i = 0; i < tabs.length; i++){ + + if (i == position) tabs[i].setEnabled(true); + else tabs[i].setEnabled(false); + } + } + } + + private void refreshView(){ + + tv_name.setText(Storage.str_tiduName); + tv_level.setText("Level: " + DockInfo.level + " (" + DockInfo.exp + "/" + DockInfo.nextExp + ")"); + if (DockInfo.level.equals("150")){ + tv_level.setText("Level: 150 (MAX)"); + } + } + + private void refreeshAllView(){ + + refreshView(); + + buildFragment.refreshView(); + repairFragment.refreshView(); + makeFragment.refreshView(); + travelFragemt.refreshView(); + } +} diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/BuildFragment.java b/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/BuildFragment.java new file mode 100644 index 0000000..7da0905 --- /dev/null +++ b/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/BuildFragment.java @@ -0,0 +1,51 @@ +package me.crafter.android.zjsnviewer.infofragment; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import butterknife.BindView; +import butterknife.ButterKnife; +import me.crafter.android.zjsnviewer.DockInfo; +import me.crafter.android.zjsnviewer.R; + + +public class BuildFragment extends Fragment { + + @BindView(R.id.textView1) + TextView textView1; + @BindView(R.id.textView2) + TextView textView2; + @BindView(R.id.textView3) + TextView textView3; + @BindView(R.id.textView4) + TextView textView4; + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + + View view = inflater.inflate(R.layout.widget__build, null); + ButterKnife.bind(this, view); + return view; + } + + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + refreshView(); + } + + public void refreshView(){ + + String[] info = DockInfo.getBuildBoard(); + textView1.setText(info[0]); + textView2.setText(info[1]); + textView3.setText(info[2]); + textView4.setText(info[3]); + } +} diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/MakeFragment.java b/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/MakeFragment.java new file mode 100644 index 0000000..4dac87e --- /dev/null +++ b/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/MakeFragment.java @@ -0,0 +1,50 @@ +package me.crafter.android.zjsnviewer.infofragment; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import butterknife.BindView; +import butterknife.ButterKnife; +import me.crafter.android.zjsnviewer.DockInfo; +import me.crafter.android.zjsnviewer.R; + +public class MakeFragment extends Fragment { + + @BindView(R.id.textView1) + TextView textView1; + @BindView(R.id.textView2) + TextView textView2; + @BindView(R.id.textView3) + TextView textView3; + @BindView(R.id.textView4) + TextView textView4; + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + + View view = inflater.inflate(R.layout.widget__make, null); + ButterKnife.bind(this, view); + return view; + } + + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + refreshView(); + } + + public void refreshView(){ + + String[] info = DockInfo.getMakeBoard(); + textView1.setText(info[0]); + textView2.setText(info[1]); + textView3.setText(info[2]); + textView4.setText(info[3]); + } +} diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/RepairFragment.java b/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/RepairFragment.java new file mode 100644 index 0000000..656f7d1 --- /dev/null +++ b/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/RepairFragment.java @@ -0,0 +1,51 @@ +package me.crafter.android.zjsnviewer.infofragment; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import butterknife.BindView; +import butterknife.ButterKnife; +import me.crafter.android.zjsnviewer.DockInfo; +import me.crafter.android.zjsnviewer.R; + + +public class RepairFragment extends Fragment { + + @BindView(R.id.textView1) + TextView textView1; + @BindView(R.id.textView2) + TextView textView2; + @BindView(R.id.textView3) + TextView textView3; + @BindView(R.id.textView4) + TextView textView4; + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + + View view = inflater.inflate(R.layout.widget__repair, null); + ButterKnife.bind(this, view); + return view; + } + + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + refreshView(); + } + + public void refreshView(){ + + String[] info = DockInfo.getRepairBoard(); + textView1.setText(info[0]); + textView2.setText(info[1]); + textView3.setText(info[2]); + textView4.setText(info[3]); + } +} diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/TravelFragemt.java b/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/TravelFragemt.java new file mode 100644 index 0000000..198e0ff --- /dev/null +++ b/app/src/main/java/me/crafter/android/zjsnviewer/infofragment/TravelFragemt.java @@ -0,0 +1,51 @@ +package me.crafter.android.zjsnviewer.infofragment; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import butterknife.BindView; +import butterknife.ButterKnife; +import me.crafter.android.zjsnviewer.DockInfo; +import me.crafter.android.zjsnviewer.R; + + +public class TravelFragemt extends Fragment { + + @BindView(R.id.textView1) + TextView textView1; + @BindView(R.id.textView2) + TextView textView2; + @BindView(R.id.textView3) + TextView textView3; + @BindView(R.id.textView4) + TextView textView4; + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + + View view = inflater.inflate(R.layout.widget__travel, null); + ButterKnife.bind(this, view); + return view; + } + + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + refreshView(); + } + + public void refreshView(){ + + String[] info = DockInfo.getTravelBoard(); + textView1.setText(info[0]); + textView2.setText(info[1]); + textView3.setText(info[2]); + textView4.setText(info[3]); + } +} diff --git a/app/src/main/res/drawable/text_color.xml b/app/src/main/res/drawable/text_color.xml new file mode 100644 index 0000000..8974ef4 --- /dev/null +++ b/app/src/main/res/drawable/text_color.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/activity_info.xml b/app/src/main/res/layout/activity_info.xml new file mode 100644 index 0000000..68d7851 --- /dev/null +++ b/app/src/main/res/layout/activity_info.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 1252343..cab9a4d 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -7,7 +7,8 @@ #070707 #fafafa - + #000000 + #bbbbbb \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b9aa563..cc082a1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -10,6 +10,10 @@ ZjsnViewer - 远征 ZjsnViewer - 建造 ZjsnViewer - 开发 + 修理 + 远征 + 建造 + 开发 加载未完成 加载未完成 Loading... @@ -20,7 +24,6 @@ ZjsnViewer - 检查更新中 网络不给力,检查失败 QwQ 无法检测更新,可能当前版本过旧 diff --git a/app/src/main/res/values/strings_activity_settings.xml b/app/src/main/res/values/strings_activity_settings.xml index fdd7f6f..fb1c883 100644 --- a/app/src/main/res/values/strings_activity_settings.xml +++ b/app/src/main/res/values/strings_activity_settings.xml @@ -9,12 +9,14 @@ 自定义 其他 黑科技 + 提督信息 用户名/密码/服务器 远征/入渠/建造结束通知 挂件刷新时间 字体大小/显示方式 其他 + 快速查看提督信息 关于 战舰少女Viewer 2.6 by 提督の機霸\n©2014–2015 crafter.me diff --git a/app/src/main/res/xml/pref_part_main_settings.xml b/app/src/main/res/xml/pref_part_main_settings.xml index 3181a16..5c9ac74 100644 --- a/app/src/main/res/xml/pref_part_main_settings.xml +++ b/app/src/main/res/xml/pref_part_main_settings.xml @@ -18,6 +18,14 @@ android:targetClass="me.crafter.android.zjsnviewer.SettingsGeneral"/> + + + + Date: Thu, 2 Jun 2016 15:47:15 +0800 Subject: [PATCH 50/66] =?UTF-8?q?=E8=B6=81=E7=9D=80=E5=86=99=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E7=9A=84=E6=97=B6=E9=97=B4=E4=BC=98=E5=8C=96=E4=BA=86?= =?UTF-8?q?=E4=B8=80=E4=B8=8B=E7=95=8C=E9=9D=A2=EF=BC=8C=E7=9C=8B=E8=B5=B7?= =?UTF-8?q?=E6=9D=A5=E5=A5=BD=E7=9C=8B=E5=A4=9A=E4=BA=86=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.iml | 17 +-- .../android/zjsnviewer/InfoActivity.java | 71 +++++------ .../main/res/drawable/background_color.xml | 9 ++ app/src/main/res/layout/activity_info.xml | 110 +++++++++++------- app/src/main/res/values/colors.xml | 3 +- app/src/main/res/values/strings.xml | 3 + .../res/values/strings_activity_settings.xml | 2 +- app/src/main/res/values/styles.xml | 2 +- 8 files changed, 120 insertions(+), 97 deletions(-) create mode 100644 app/src/main/res/drawable/background_color.xml diff --git a/app/app.iml b/app/app.iml index fd8f379..6330ce8 100644 --- a/app/app.iml +++ b/app/app.iml @@ -65,14 +65,6 @@ - - - - - - - - @@ -81,6 +73,14 @@ + + + + + + + + @@ -102,6 +102,7 @@ + diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java index 56e3560..aaa64de 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java @@ -25,11 +25,6 @@ public class InfoActivity extends FragmentActivity { @BindView(R.id.include2) Toolbar bar; -// @BindView(R.id.sr_refresh) -// SwipeRefreshLayout sr_refresh; - -// @BindView(R.id.ib_icon) -// ImageButton ib_icon; @BindView(R.id.tv_name) TextView tv_name; @BindView(R.id.tv_level) @@ -46,7 +41,7 @@ public class InfoActivity extends FragmentActivity { @BindView(R.id.vp_page) ViewPager vp_page; - private TextView[] tabs = new TextView[4]; + private ArrayList tabs; private TravelFragemt travelFragemt; private BuildFragment buildFragment; private MakeFragment makeFragment; @@ -76,13 +71,6 @@ protected void onDestroy() { private void initView(){ bar.setTitle(R.string.pref_header_info); - -// sr_refresh.setColorSchemeResources( -// android.R.color.holo_red_light, -// android.R.color.holo_orange_light, -// android.R.color.holo_green_light -// ); - initFragment(); } @@ -95,22 +83,6 @@ public void onClick(View v) { } }); -// sr_refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { -// @Override -// public void onRefresh() { -// -// Handler handler = new Handler(); -// handler.postDelayed(new Runnable() { -// @Override -// public void run() { -// -// sr_refresh.setRefreshing(false); -// Toast.makeText(InfoActivity.this, "刷新成功", Toast.LENGTH_SHORT).show(); -// } -// }, 2000); -// } -// }); - vp_page.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { @@ -129,14 +101,26 @@ public void onPageScrollStateChanged(int state) { } }); + for(final TextView textView : tabs){ + + View view = (View) textView.getParent(); + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + int position = (int) textView.getTag(); + vp_page.setCurrentItem(position); + setTab(position); + } + }); + } handler = new Handler(); runnable = new Runnable() { @Override public void run() { - refreeshAllView(); -// Toast.makeText(InfoActivity.this,new Date().toString(), Toast.LENGTH_SHORT).show(); + refreshAllView(); handler.postDelayed(runnable,RUN_TIME); } }; @@ -156,14 +140,19 @@ private void initFragment(){ fragments.add(buildFragment); fragments.add(makeFragment); + tv_travel.setTag(0); + tv_repair.setTag(1); + tv_build.setTag(2); + tv_make.setTag(3); tv_repair.setEnabled(false); tv_build.setEnabled(false); tv_make.setEnabled(false); - tabs[0] = tv_travel; - tabs[1] = tv_repair; - tabs[2] = tv_build; - tabs[3] = tv_make; + tabs = new ArrayList<>(); + tabs.add(tv_travel); + tabs.add(tv_repair); + tabs.add(tv_build); + tabs.add(tv_make); vp_page.setOffscreenPageLimit(4); pageAdapter adapter = new pageAdapter(getSupportFragmentManager(), fragments); @@ -194,12 +183,12 @@ public int getCount() { private void setTab(int position) { - if (position >= 0 && position < tabs.length){ + if (position >= 0 && position < tabs.size()){ - for (int i = 0; i < tabs.length; i++){ + for (int i = 0; i < tabs.size(); i++){ - if (i == position) tabs[i].setEnabled(true); - else tabs[i].setEnabled(false); + if (i == position) tabs.get(i).setEnabled(true); + else tabs.get(i).setEnabled(false); } } } @@ -209,11 +198,11 @@ private void refreshView(){ tv_name.setText(Storage.str_tiduName); tv_level.setText("Level: " + DockInfo.level + " (" + DockInfo.exp + "/" + DockInfo.nextExp + ")"); if (DockInfo.level.equals("150")){ - tv_level.setText("Level: 150 (MAX)"); + tv_level.setText(R.string.max); } } - private void refreeshAllView(){ + private void refreshAllView(){ refreshView(); diff --git a/app/src/main/res/drawable/background_color.xml b/app/src/main/res/drawable/background_color.xml new file mode 100644 index 0000000..9dbbd55 --- /dev/null +++ b/app/src/main/res/drawable/background_color.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/activity_info.xml b/app/src/main/res/layout/activity_info.xml index 68d7851..cd3966d 100644 --- a/app/src/main/res/layout/activity_info.xml +++ b/app/src/main/res/layout/activity_info.xml @@ -3,7 +3,7 @@ android:id="@+id/activity_info" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/widget_minor" + android:background="@color/background_white" android:orientation="vertical"> - - - - - - - - - - + android:orientation="horizontal" + android:background="@color/background_grey"> + android:layout_height="match_parent"> + android:shadowRadius="2" + android:layout_below="@+id/tv_name" /> @@ -77,42 +68,75 @@ + android:orientation="horizontal" + android:background="@color/background_grey" + android:baselineAligned="false"> - - + + + + + - + + + + - + + + + + android:gravity="center"> + + + - - - - diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index cab9a4d..33e717e 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -8,7 +8,8 @@ #fafafa #000000 + #ffffff #bbbbbb - + #f5f5f5 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cc082a1..882530c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -18,6 +18,9 @@ 加载未完成 Loading... + 提督の名前 + Level: 150 (MAX) + SettingsInfo Hello world! Settings diff --git a/app/src/main/res/values/strings_activity_settings.xml b/app/src/main/res/values/strings_activity_settings.xml index fb1c883..444ee03 100644 --- a/app/src/main/res/values/strings_activity_settings.xml +++ b/app/src/main/res/values/strings_activity_settings.xml @@ -16,7 +16,7 @@ 挂件刷新时间 字体大小/显示方式 其他 - 快速查看提督信息 + 直接查看提督信息 关于 战舰少女Viewer 2.6 by 提督の機霸\n©2014–2015 crafter.me diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 1a6b3a9..3b91f16 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,7 +1,7 @@ - From f9eca86b6dfcf627ee6a3b2991934e2c1ef08486 Mon Sep 17 00:00:00 2001 From: traburiss Date: Thu, 2 Jun 2016 20:06:32 +0800 Subject: [PATCH 51/66] =?UTF-8?q?=E7=BB=86=E8=8A=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.iml | 17 ++++++++--------- .../android/zjsnviewer/InfoActivity.java | 3 ++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/app.iml b/app/app.iml index 6330ce8..fd8f379 100644 --- a/app/app.iml +++ b/app/app.iml @@ -65,14 +65,6 @@ - - - - - - - - @@ -81,6 +73,14 @@ + + + + + + + + @@ -102,7 +102,6 @@ - diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java index aaa64de..cfc7f4b 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java @@ -71,6 +71,7 @@ protected void onDestroy() { private void initView(){ bar.setTitle(R.string.pref_header_info); + initFragment(); } @@ -165,7 +166,7 @@ private class pageAdapter extends FragmentPagerAdapter{ ArrayList fragments; - public pageAdapter(FragmentManager fm, ArrayList fragments) { + pageAdapter(FragmentManager fm, ArrayList fragments) { super(fm); this.fragments = fragments; } From 7188b764106aa0ee0e4939386bc58aff37aac2a0 Mon Sep 17 00:00:00 2001 From: William Lyu Date: Fri, 3 Jun 2016 11:02:13 +0800 Subject: [PATCH 52/66] Add manual refresh to image button of InfoActivity --- .../crafter/android/zjsnviewer/DockInfo.java | 1 + .../android/zjsnviewer/InfoActivity.java | 13 +++++++++- .../android/zjsnviewer/UpdateTask.java | 26 +++++++++++++++++++ .../android/zjsnviewer/Widget_Main.java | 19 ++------------ 4 files changed, 41 insertions(+), 18 deletions(-) create mode 100644 app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java index 0a6d564..471d750 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java @@ -286,6 +286,7 @@ public static boolean requestUpdate(Context context){ if (currentUnix() - lastUpdate > updateInterval || zjsn_formal_state != zjsn_running_state||!prefs.getBoolean("auto_run", true)) { //lastUpdate is put before updateDockInfo //to prevent multi request caused by delay + if (updateInterval == 0) updateInterval =15; lastUpdate = currentUnix(); NetworkManager.updateDockInfo(context); } else { diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java index aaa64de..b444b9c 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java @@ -9,6 +9,7 @@ import android.support.v4.view.ViewPager; import android.support.v7.widget.Toolbar; import android.view.View; +import android.widget.ImageButton; import android.widget.TextView; import java.util.ArrayList; @@ -41,6 +42,9 @@ public class InfoActivity extends FragmentActivity { @BindView(R.id.vp_page) ViewPager vp_page; + @BindView(R.id.ib_icon) + ImageButton ib_icon; + private ArrayList tabs; private TravelFragemt travelFragemt; private BuildFragment buildFragment; @@ -82,7 +86,14 @@ public void onClick(View v) { finish(); } }); - + ib_icon.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + DockInfo.updateInterval = 0; + new UpdateTask(v.getContext()).execute(); + refreshAllView(); + } + }); vp_page.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java b/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java new file mode 100644 index 0000000..e68738a --- /dev/null +++ b/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java @@ -0,0 +1,26 @@ +package me.crafter.android.zjsnviewer; + +import android.content.Context; +import android.content.Intent; +import android.os.AsyncTask; + +/** + * Created by paleneutron on 6/3/2016. + */ +class UpdateTask extends AsyncTask { + private Context context=null; + public UpdateTask(Context main_context){ + context = main_context; + } + @Override + protected Void doInBackground(Void... params) { + DockInfo.requestUpdate(context); + Widget_Main.updateWidget(context); + Widget_Travel.updateWidget(context); + Widget_Repair.updateWidget(context); + Widget_Build.updateWidget(context); + Widget_Make.updateWidget(context); + context.startService(new Intent(context, TimerService.class)); + return null; + } +} \ No newline at end of file diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java index de97895..503efa5 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java @@ -48,23 +48,7 @@ public void onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidge //Toast.makeText(context, "啦啦啦", Toast.LENGTH_SHORT).show(); updateWidget(context); } - private class UpdateTask extends AsyncTask { - private Context context=null; - public UpdateTask(Context main_context){ - context = main_context; - } - @Override - protected Void doInBackground(Void... params) { - DockInfo.updateInterval = 1; - DockInfo.requestUpdate(context); - Widget_Main.updateWidget(context); - Widget_Travel.updateWidget(context); - Widget_Repair.updateWidget(context); - Widget_Build.updateWidget(context); - Widget_Make.updateWidget(context); - return null; - } - } + @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub @@ -74,6 +58,7 @@ public void onReceive(Context context, Intent intent) { Log.i("widget","clicked"); AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); + DockInfo.updateInterval = 0; new UpdateTask(context).execute(); RemoteViews remoteViews; ComponentName watchWidget; From 1c606c57b5017b2d8990569d5e222c679ab8b6cb Mon Sep 17 00:00:00 2001 From: traburiss Date: Fri, 3 Jun 2016 14:34:46 +0800 Subject: [PATCH 53/66] =?UTF-8?q?1=E3=80=81=E9=A1=B5=E9=9D=A2=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E6=94=B9=E5=8A=A8=202=E3=80=81=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E7=9C=8B=E8=B5=B7=E6=9D=A5=E4=B8=8D=E7=AE=97?= =?UTF-8?q?=E9=9A=BE=E7=9C=8B=E7=9A=84=E4=B8=BB=E8=89=B2=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.iml | 1 + app/src/main/AndroidManifest.xml | 27 ++-- .../android/zjsnviewer/InfoActivity.java | 60 +++++++- .../android/zjsnviewer/ZjsnViewer.java | 20 ++- .../android/zjsnviewer/webactivity.java | 30 ++++ .../main/res/drawable/background_color.xml | 6 +- app/src/main/res/drawable/text_color.xml | 2 +- app/src/main/res/layout/activity_info.xml | 135 ++++++++++++++++-- app/src/main/res/layout/layout_web.xml | 10 ++ .../main/res/layout/pref_shared_toolbar.xml | 1 + app/src/main/res/values-v21/styles.xml | 11 ++ app/src/main/res/values/colors.xml | 5 +- app/src/main/res/values/dimens.xml | 2 + app/src/main/res/values/strings.xml | 2 + app/src/main/res/values/styles.xml | 3 +- .../main/res/xml/pref_part_main_settings.xml | 8 -- 16 files changed, 282 insertions(+), 41 deletions(-) create mode 100644 app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java create mode 100644 app/src/main/res/layout/layout_web.xml create mode 100644 app/src/main/res/values-v21/styles.xml diff --git a/app/app.iml b/app/app.iml index fd8f379..a1f2c51 100644 --- a/app/app.iml +++ b/app/app.iml @@ -102,6 +102,7 @@ + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b0d9cd8..056e882 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -67,12 +67,16 @@ android:resource="@xml/widget__main_info" /> - + + + + android:exported="true"> + + - - - - - @@ -145,8 +144,18 @@ android:value="me.crafter.android.zjsnviewer.ZjsnViewer" /> > - + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java index cfc7f4b..b58ae09 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java @@ -1,15 +1,21 @@ package me.crafter.android.zjsnviewer; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; +import android.preference.PreferenceManager; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; +import android.support.v4.widget.DrawerLayout; import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.TextView; +import android.widget.Toast; import java.util.ArrayList; @@ -22,7 +28,10 @@ public class InfoActivity extends FragmentActivity { - @BindView(R.id.include2) + @BindView(R.id.dl_drawer) + DrawerLayout dl_drawer; + + @BindView(R.id.toobar) Toolbar bar; @BindView(R.id.tv_name) @@ -41,6 +50,17 @@ public class InfoActivity extends FragmentActivity { @BindView(R.id.vp_page) ViewPager vp_page; + @BindView(R.id.tv_drawer_name) + TextView tv_drawer_name; + @BindView(R.id.tv_drawer_level) + TextView tv_drawer_level; + @BindView(R.id.tv_build_time) + TextView tv_build_time; + @BindView(R.id.tv_setting) + TextView tv_setting; + + private Context context; + private ArrayList tabs; private TravelFragemt travelFragemt; private BuildFragment buildFragment; @@ -49,17 +69,27 @@ public class InfoActivity extends FragmentActivity { private Handler handler; private Runnable runnable; - private int RUN_TIME = 30*1000; + private int RUN_TIME = 2*1000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_info); ButterKnife.bind(this); + startService(new Intent(this, TimerService.class)); + initData(); initView(); initEven(); - refreshView(); + } + + public void initData(){ + + context = this; + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + String username = prefs.getString("username", "none"); + String password = prefs.getString("password", "none"); + if (username.contains("none") && password.contains("none")) Toast.makeText(context, R.string.username_hint, Toast.LENGTH_SHORT).show(); } @Override @@ -70,8 +100,7 @@ protected void onDestroy() { private void initView(){ - bar.setTitle(R.string.pref_header_info); - + refreshView(); initFragment(); } @@ -126,6 +155,24 @@ public void run() { } }; handler.postDelayed(runnable,RUN_TIME); + + tv_setting.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + Intent intent = new Intent(context, ZjsnViewer.class); + startActivity(intent); + } + }); + tv_build_time.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + Intent intent = new Intent(context, Webactivity.class); + intent.putExtra("URL", "http://js.ntwikis.com/jsp/apps/cancollezh/charactors/buildtime.jsp"); + startActivity(intent); + } + }); } private void initFragment(){ @@ -197,9 +244,12 @@ private void setTab(int position) { private void refreshView(){ tv_name.setText(Storage.str_tiduName); + tv_drawer_name.setText(Storage.str_tiduName); tv_level.setText("Level: " + DockInfo.level + " (" + DockInfo.exp + "/" + DockInfo.nextExp + ")"); + tv_drawer_level.setText("Level: " + DockInfo.level + " (" + DockInfo.exp + "/" + DockInfo.nextExp + ")"); if (DockInfo.level.equals("150")){ tv_level.setText(R.string.max); + tv_drawer_level.setText(R.string.max); } } diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java index 8cde7e1..f950c16 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java @@ -1,7 +1,6 @@ package me.crafter.android.zjsnviewer; import android.content.Context; -import android.content.Intent; import android.media.Ringtone; import android.media.RingtoneManager; import android.net.Uri; @@ -12,10 +11,11 @@ import android.preference.PreferenceCategory; import android.preference.PreferenceManager; import android.preference.RingtonePreference; +import android.support.v7.widget.Toolbar; import android.text.TextUtils; -import android.util.Log; +import android.view.LayoutInflater; import android.view.View; -import android.widget.Toast; +import android.widget.LinearLayout; @SuppressWarnings("deprecation") public class ZjsnViewer extends PreferenceActivity { @@ -23,6 +23,7 @@ public class ZjsnViewer extends PreferenceActivity { @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); + setupToolBar(); setupSimplePreferencesScreen(); registerListener(getApplicationContext()); } @@ -30,7 +31,18 @@ protected void onPostCreate(Bundle savedInstanceState) { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - startService(new Intent(this, TimerService.class)); + } + + private void setupToolBar(){ + LinearLayout root = (LinearLayout)findViewById(android.R.id.list).getParent().getParent().getParent(); + Toolbar bar = (Toolbar) LayoutInflater.from(this).inflate(R.layout.pref_shared_toolbar, root, false); + root.addView(bar, 0); // insert at top + bar.setNavigationOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); } private void setupSimplePreferencesScreen() { diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java b/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java new file mode 100644 index 0000000..707ab2f --- /dev/null +++ b/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java @@ -0,0 +1,30 @@ +package me.crafter.android.zjsnviewer; + +import android.app.Activity; +import android.os.Bundle; +import android.os.PersistableBundle; +import android.webkit.WebSettings; +import android.webkit.WebView; + +import butterknife.BindView; +import butterknife.ButterKnife; + +public class Webactivity extends Activity{ + + @BindView(R.id.web_view) + WebView webView; + + @Override + public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) { + super.onCreate(savedInstanceState, persistentState); + setContentView(R.layout.layout_web); + ButterKnife.bind(this); + String url = getIntent().getStringExtra("URL"); + WebSettings webSettings = webView.getSettings(); + webSettings.setSaveFormData(false); + webSettings.setJavaScriptEnabled(true); + webSettings.setSupportZoom(false); + + webView.loadUrl(url); + } +} diff --git a/app/src/main/res/drawable/background_color.xml b/app/src/main/res/drawable/background_color.xml index 9dbbd55..403a646 100644 --- a/app/src/main/res/drawable/background_color.xml +++ b/app/src/main/res/drawable/background_color.xml @@ -1,9 +1,7 @@ - - - - + + diff --git a/app/src/main/res/drawable/text_color.xml b/app/src/main/res/drawable/text_color.xml index 8974ef4..b02c135 100644 --- a/app/src/main/res/drawable/text_color.xml +++ b/app/src/main/res/drawable/text_color.xml @@ -1,7 +1,7 @@ - + diff --git a/app/src/main/res/layout/activity_info.xml b/app/src/main/res/layout/activity_info.xml index cd3966d..20f2863 100644 --- a/app/src/main/res/layout/activity_info.xml +++ b/app/src/main/res/layout/activity_info.xml @@ -6,10 +6,28 @@ android:background="@color/background_white" android:orientation="vertical"> - - + + + + + + android:background="@color/background_blue"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/layout_web.xml b/app/src/main/res/layout/layout_web.xml new file mode 100644 index 0000000..18dc479 --- /dev/null +++ b/app/src/main/res/layout/layout_web.xml @@ -0,0 +1,10 @@ + + + + + diff --git a/app/src/main/res/layout/pref_shared_toolbar.xml b/app/src/main/res/layout/pref_shared_toolbar.xml index 9a74e6e..ef48433 100644 --- a/app/src/main/res/layout/pref_shared_toolbar.xml +++ b/app/src/main/res/layout/pref_shared_toolbar.xml @@ -9,6 +9,7 @@ android:minHeight="?attr/actionBarSize" app:navigationContentDescription="@string/abc_action_bar_up_description" android:background="?attr/colorPrimary" + app:titleTextColor="@color/font_white" app:navigationIcon="?attr/homeAsUpIndicator" app:title="@string/title_actionbar_default" /> \ No newline at end of file diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml new file mode 100644 index 0000000..ae28ca3 --- /dev/null +++ b/app/src/main/res/values-v21/styles.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 33e717e..8c526a6 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -9,7 +9,10 @@ #000000 #ffffff - #bbbbbb + #aaaaaa #f5f5f5 + #f5f5f5 + #2896c8 + #2886c8 \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 452944e..f287677 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -9,4 +9,6 @@ http://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout 12dp 12dp + 20sp + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 882530c..890401b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -20,6 +20,8 @@ 提督の名前 Level: 150 (MAX) + 设置 + 请设置提督的账号密码 SettingsInfo Hello world! diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 3b91f16..85855a8 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -3,6 +3,7 @@ diff --git a/app/src/main/res/xml/pref_part_main_settings.xml b/app/src/main/res/xml/pref_part_main_settings.xml index 5c9ac74..3181a16 100644 --- a/app/src/main/res/xml/pref_part_main_settings.xml +++ b/app/src/main/res/xml/pref_part_main_settings.xml @@ -18,14 +18,6 @@ android:targetClass="me.crafter.android.zjsnviewer.SettingsGeneral"/> - - - - Date: Fri, 3 Jun 2016 14:52:48 +0800 Subject: [PATCH 54/66] =?UTF-8?q?=E9=A2=9C=E8=89=B2=E6=80=8E=E4=B9=88?= =?UTF-8?q?=E6=90=9E=E9=83=BD=E4=B8=8D=E5=A5=BD=E7=9C=8B=E5=95=8A~~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../crafter/android/zjsnviewer/webactivity.java | 16 +++++++++++++--- app/src/main/res/layout/layout_web.xml | 4 ++++ app/src/main/res/values/colors.xml | 4 ++-- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java b/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java index 707ab2f..8ad687a 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java @@ -2,7 +2,8 @@ import android.app.Activity; import android.os.Bundle; -import android.os.PersistableBundle; +import android.support.v7.widget.Toolbar; +import android.view.View; import android.webkit.WebSettings; import android.webkit.WebView; @@ -13,12 +14,21 @@ public class Webactivity extends Activity{ @BindView(R.id.web_view) WebView webView; + @BindView(R.id.toolbar) + Toolbar toolbar; @Override - public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) { - super.onCreate(savedInstanceState, persistentState); + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); setContentView(R.layout.layout_web); ButterKnife.bind(this); + toolbar.setTitle("web"); + toolbar.setNavigationOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); String url = getIntent().getStringExtra("URL"); WebSettings webSettings = webView.getSettings(); webSettings.setSaveFormData(false); diff --git a/app/src/main/res/layout/layout_web.xml b/app/src/main/res/layout/layout_web.xml index 18dc479..dfadda6 100644 --- a/app/src/main/res/layout/layout_web.xml +++ b/app/src/main/res/layout/layout_web.xml @@ -3,6 +3,10 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + + + + #aaaaaa #f5f5f5 #f5f5f5 - #2896c8 - #2886c8 + #28a6d8 + #2896d8 \ No newline at end of file From 6be6e8127e96d8887c81b0c68448dc42da25b3f3 Mon Sep 17 00:00:00 2001 From: traburiss Date: Fri, 3 Jun 2016 19:29:03 +0800 Subject: [PATCH 55/66] =?UTF-8?q?=E9=A2=9C=E8=89=B2=E6=80=8E=E4=B9=88?= =?UTF-8?q?=E6=90=9E=E9=83=BD=E4=B8=8D=E5=A5=BD=E7=9C=8B=E5=95=8A~~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.iml | 1 - app/src/main/res/drawable/text_color.xml | 2 +- app/src/main/res/layout/activity_info.xml | 6 ++++-- app/src/main/res/values/colors.xml | 1 + 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/app.iml b/app/app.iml index a1f2c51..fd8f379 100644 --- a/app/app.iml +++ b/app/app.iml @@ -102,7 +102,6 @@ - diff --git a/app/src/main/res/drawable/text_color.xml b/app/src/main/res/drawable/text_color.xml index b02c135..42def63 100644 --- a/app/src/main/res/drawable/text_color.xml +++ b/app/src/main/res/drawable/text_color.xml @@ -3,7 +3,7 @@ - + diff --git a/app/src/main/res/layout/activity_info.xml b/app/src/main/res/layout/activity_info.xml index 20f2863..6846517 100644 --- a/app/src/main/res/layout/activity_info.xml +++ b/app/src/main/res/layout/activity_info.xml @@ -246,7 +246,8 @@ android:padding="15dp" android:gravity="center|start" android:textAppearance="?android:attr/textAppearanceMedium" - android:text="@string/unavailable"/> + android:text="@string/unavailable" + android:textColor="@color/font_black"/> @@ -261,7 +262,8 @@ android:padding="15dp" android:gravity="center|start" android:textAppearance="?android:attr/textAppearanceMedium" - android:text="@string/set_name" /> + android:text="@string/set_name" + android:textColor="@color/font_black"/> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 4f497e3..566fbac 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -13,6 +13,7 @@ #f5f5f5 #f5f5f5 #28a6d8 + #99ffffff #2896d8 \ No newline at end of file From 10a99a802d1621d98807e3486b23c47dd1677ae5 Mon Sep 17 00:00:00 2001 From: traburiss Date: Fri, 3 Jun 2016 19:51:42 +0800 Subject: [PATCH 56/66] =?UTF-8?q?=E6=84=9F=E8=A7=89=E9=A2=9C=E8=89=B2?= =?UTF-8?q?=E5=B7=AE=E4=B8=8D=E5=A4=9A=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.iml | 16 +++++------ app/src/main/res/layout/activity_info.xml | 33 ++++++++++++++--------- app/src/main/res/values/colors.xml | 2 +- 3 files changed, 29 insertions(+), 22 deletions(-) diff --git a/app/app.iml b/app/app.iml index fd8f379..23a2881 100644 --- a/app/app.iml +++ b/app/app.iml @@ -65,14 +65,6 @@ - - - - - - - - @@ -81,6 +73,14 @@ + + + + + + + + diff --git a/app/src/main/res/layout/activity_info.xml b/app/src/main/res/layout/activity_info.xml index 6846517..ca0242e 100644 --- a/app/src/main/res/layout/activity_info.xml +++ b/app/src/main/res/layout/activity_info.xml @@ -56,29 +56,32 @@ android:layout_height="match_parent"> + android:shadowRadius="2" + android:layout_below="@+id/tv_name" /> + android:layout_centerVertical="true" + android:layout_alignParentLeft="true" + android:layout_alignParentStart="true" /> @@ -103,8 +106,9 @@ android:layout_height="wrap_content" android:padding="10dp" android:gravity="center" + android:text="@string/travel_name" android:textColor="@drawable/text_color" - android:text="@string/travel_name"/> + android:textAppearance="?android:attr/textAppearanceSmall"/> + android:textAppearance="?android:attr/textAppearanceSmall"/> + android:textAppearance="?android:attr/textAppearanceSmall"/> + android:textAppearance="?android:attr/textAppearanceSmall"/> @@ -222,6 +228,7 @@ android:text="@string/shipowner" android:id="@+id/tv_drawer_level" android:textColor="@color/font_white" + android:textAppearance="?android:attr/textAppearanceSmall" android:shadowColor="@color/widget_major_shadow" android:shadowDx="1" android:shadowDy="1" diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 566fbac..ddbe25e 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -13,7 +13,7 @@ #f5f5f5 #f5f5f5 #28a6d8 - #99ffffff + #77ffffff #2896d8 \ No newline at end of file From 258463c143daac5bb140f904297d24d903a16eda Mon Sep 17 00:00:00 2001 From: traburiss Date: Fri, 3 Jun 2016 21:39:20 +0800 Subject: [PATCH 57/66] =?UTF-8?q?=E4=B8=8D=E7=9F=A5=E9=81=93=E6=80=8E?= =?UTF-8?q?=E4=B9=88=E6=8A=8Afork=E7=9A=84=E5=B7=A5=E7=A8=8B=E7=9A=84?= =?UTF-8?q?=E6=94=B9=E5=8A=A8=E5=90=8C=E6=AD=A5=E8=BF=87=E6=9D=A5=E4=BA=8E?= =?UTF-8?q?=E6=98=AF=E6=89=8B=E6=94=B9PaleNeutron=E7=9A=84=E6=94=B9?= =?UTF-8?q?=E5=8A=A8=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../crafter/android/zjsnviewer/DockInfo.java | 4 +-- .../android/zjsnviewer/InfoActivity.java | 31 +++++++++++++------ .../android/zjsnviewer/UpdateTask.java | 26 ++++++++++++++++ .../android/zjsnviewer/Widget_Main.java | 22 ++----------- app/src/main/res/layout/activity_info.xml | 3 +- 5 files changed, 54 insertions(+), 32 deletions(-) create mode 100644 app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java index 0a6d564..1fbf0ae 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/DockInfo.java @@ -1,13 +1,10 @@ package me.crafter.android.zjsnviewer; -import android.app.ActivityManager; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.util.Log; -import java.util.List; - public class DockInfo { static boolean zjsn_running_state = false; @@ -286,6 +283,7 @@ public static boolean requestUpdate(Context context){ if (currentUnix() - lastUpdate > updateInterval || zjsn_formal_state != zjsn_running_state||!prefs.getBoolean("auto_run", true)) { //lastUpdate is put before updateDockInfo //to prevent multi request caused by delay + if (updateInterval == 0) updateInterval =15; lastUpdate = currentUnix(); NetworkManager.updateDockInfo(context); } else { diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java index b58ae09..cdaba98 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java @@ -14,6 +14,7 @@ import android.support.v4.widget.DrawerLayout; import android.support.v7.widget.Toolbar; import android.view.View; +import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; @@ -50,6 +51,9 @@ public class InfoActivity extends FragmentActivity { @BindView(R.id.vp_page) ViewPager vp_page; + @BindView(R.id.ib_icon) + ImageButton ib_icon; + @BindView(R.id.tv_drawer_name) TextView tv_drawer_name; @BindView(R.id.tv_drawer_level) @@ -113,6 +117,15 @@ public void onClick(View v) { } }); + ib_icon.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + DockInfo.updateInterval = 0; + new UpdateTask(v.getContext()).execute(); + refreshAllView(); + } + }); + vp_page.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { @@ -164,15 +177,15 @@ public void onClick(View v) { startActivity(intent); } }); - tv_build_time.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - - Intent intent = new Intent(context, Webactivity.class); - intent.putExtra("URL", "http://js.ntwikis.com/jsp/apps/cancollezh/charactors/buildtime.jsp"); - startActivity(intent); - } - }); +// tv_build_time.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View v) { +// +// Intent intent = new Intent(context, Webactivity.class); +// intent.putExtra("URL", "http://js.ntwikis.com/jsp/apps/cancollezh/charactors/buildtime.jsp"); +// startActivity(intent); +// } +// }); } private void initFragment(){ diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java b/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java new file mode 100644 index 0000000..e68738a --- /dev/null +++ b/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java @@ -0,0 +1,26 @@ +package me.crafter.android.zjsnviewer; + +import android.content.Context; +import android.content.Intent; +import android.os.AsyncTask; + +/** + * Created by paleneutron on 6/3/2016. + */ +class UpdateTask extends AsyncTask { + private Context context=null; + public UpdateTask(Context main_context){ + context = main_context; + } + @Override + protected Void doInBackground(Void... params) { + DockInfo.requestUpdate(context); + Widget_Main.updateWidget(context); + Widget_Travel.updateWidget(context); + Widget_Repair.updateWidget(context); + Widget_Build.updateWidget(context); + Widget_Make.updateWidget(context); + context.startService(new Intent(context, TimerService.class)); + return null; + } +} \ No newline at end of file diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java index de97895..d377da5 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/Widget_Main.java @@ -6,10 +6,9 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import android.os.AsyncTask; import android.os.Bundle; -import android.widget.RemoteViews; import android.util.Log; +import android.widget.RemoteViews; public class Widget_Main extends AppWidgetProvider { @@ -48,23 +47,7 @@ public void onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidge //Toast.makeText(context, "啦啦啦", Toast.LENGTH_SHORT).show(); updateWidget(context); } - private class UpdateTask extends AsyncTask { - private Context context=null; - public UpdateTask(Context main_context){ - context = main_context; - } - @Override - protected Void doInBackground(Void... params) { - DockInfo.updateInterval = 1; - DockInfo.requestUpdate(context); - Widget_Main.updateWidget(context); - Widget_Travel.updateWidget(context); - Widget_Repair.updateWidget(context); - Widget_Build.updateWidget(context); - Widget_Make.updateWidget(context); - return null; - } - } + @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub @@ -74,6 +57,7 @@ public void onReceive(Context context, Intent intent) { Log.i("widget","clicked"); AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); + DockInfo.updateInterval = 0; new UpdateTask(context).execute(); RemoteViews remoteViews; ComponentName watchWidget; diff --git a/app/src/main/res/layout/activity_info.xml b/app/src/main/res/layout/activity_info.xml index ca0242e..7d5dbd0 100644 --- a/app/src/main/res/layout/activity_info.xml +++ b/app/src/main/res/layout/activity_info.xml @@ -254,7 +254,8 @@ android:gravity="center|start" android:textAppearance="?android:attr/textAppearanceMedium" android:text="@string/unavailable" - android:textColor="@color/font_black"/> + android:textColor="@color/font_black" + android:visibility="gone"/> From f962638cdb1fc6221a8ebd928eb5bcce56d6fad5 Mon Sep 17 00:00:00 2001 From: traburiss Date: Fri, 3 Jun 2016 22:33:44 +0800 Subject: [PATCH 58/66] =?UTF-8?q?1=E3=80=81=E7=82=B9=E5=87=BB=E5=A4=B4?= =?UTF-8?q?=E5=83=8F=E5=8A=A0=E8=BD=BD=E6=95=B0=E6=8D=AE=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E4=BA=86loadingdialog=E4=BB=A5=E6=8F=90=E7=A4=BA=202=E3=80=81u?= =?UTF-8?q?pdatetask=E5=8A=A0=E5=85=A5=E4=BA=86=E5=9B=9E=E8=B0=83=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E4=BB=A5=E4=BF=9D=E8=AF=81=E7=95=8C=E9=9D=A2=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E5=9C=A8=E6=95=B0=E6=8D=AE=E5=88=B7=E6=96=B0=E5=90=8E?= =?UTF-8?q?=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../android/zjsnviewer/InfoActivity.java | 26 ++++++++++++++----- .../android/zjsnviewer/UpdateTask.java | 17 ++++++++++++ 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java index cdaba98..0baf2cb 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/InfoActivity.java @@ -1,5 +1,6 @@ package me.crafter.android.zjsnviewer; +import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -117,14 +118,27 @@ public void onClick(View v) { } }); - ib_icon.setOnClickListener(new View.OnClickListener() { + ib_icon.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + DockInfo.updateInterval = 0; + final ProgressDialog progressDialog = ProgressDialog.show(context,"",getString(R.string.loading)); + UpdateTask task = new UpdateTask(context); + task.setUpdateTaskStateChange(new UpdateTask.onUpdateTaskStateChange() { + @Override - public void onClick(View v) { - DockInfo.updateInterval = 0; - new UpdateTask(v.getContext()).execute(); - refreshAllView(); - } + public void AfterTask() { + + progressDialog.dismiss(); + refreshAllView(); + } }); + task.execute(); +// new UpdateTask(v.getContext()).execute(); + + } + }); vp_page.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java b/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java index e68738a..41cdd52 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java @@ -9,9 +9,15 @@ */ class UpdateTask extends AsyncTask { private Context context=null; + private onUpdateTaskStateChange updateTaskStateChange; public UpdateTask(Context main_context){ context = main_context; } + + public void setUpdateTaskStateChange(onUpdateTaskStateChange updateTaskStateChange) { + this.updateTaskStateChange = updateTaskStateChange; + } + @Override protected Void doInBackground(Void... params) { DockInfo.requestUpdate(context); @@ -23,4 +29,15 @@ protected Void doInBackground(Void... params) { context.startService(new Intent(context, TimerService.class)); return null; } + + @Override + protected void onPostExecute(Void aVoid) { + super.onPostExecute(aVoid); + if (null != updateTaskStateChange) updateTaskStateChange.AfterTask(); + } + + public interface onUpdateTaskStateChange{ + + void AfterTask(); + } } \ No newline at end of file From 4a8682f4e62d63c2e4ba715848e97567e3e8d360 Mon Sep 17 00:00:00 2001 From: William Lyu Date: Sat, 4 Jun 2016 11:14:29 +0800 Subject: [PATCH 59/66] hotfix server url --- .idea/gradle.xml | 8 ++++- app/app.iml | 19 +++++----- app/src/main/AndroidManifest.xml | 2 +- .../android/zjsnviewer/NetworkManager.java | 36 +++++++++---------- .../android/zjsnviewer/UpdateTask.java | 2 +- .../android/zjsnviewer/webactivity.java | 2 +- 6 files changed, 38 insertions(+), 31 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 0a8066c..ee6ddd0 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -5,13 +5,19 @@ + diff --git a/app/app.iml b/app/app.iml index 23a2881..b9e7e37 100644 --- a/app/app.iml +++ b/app/app.iml @@ -65,14 +65,6 @@ - - - - - - - - @@ -81,6 +73,14 @@ + + + + + + + + @@ -114,8 +114,8 @@ - + @@ -124,5 +124,6 @@ + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 056e882..7aaa33f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -153,7 +153,7 @@ - + diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java index 81462e0..7fae3a0 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NetworkManager.java @@ -26,7 +26,7 @@ public class NetworkManager { public static String url_init_hm = "api/initGame&t=233&e=3deb25e23f5fdd11d792d63bd66ced7c"; public static String url_passport_p7 = "http://login.alpha.p7game.com/index/passportLogin/";// +username/password //hm change the login in url as http://login.jianniang.com/index/passportLogin/ - public static String url_passport_hm = "http://login.jianniang.com/index/passportLogin/";// +username/password + public static String url_passport_hm = "http://login.jr.moefantasy.com/index/passportLogin/";// +username/password public static String url_passport_hm_ios = "http://loginios.jianniang.com/index/passportLogin/";// +username/password public static String url_login = "index/login/";//+uid public static String[] url_server_p7 = { @@ -45,26 +45,26 @@ public class NetworkManager { public static String[] url_server_hm = { "http://zj.alpha.jianniang.com/", - "http://s2.jianniang.com/", - "http://s3.jianniang.com/", - "http://s4.jianniang.com/", - "http://s5.jianniang.com/", - "http://s6.jianniang.com/", - "http://s7.jianniang.com/", - "http://s8.jianniang.com/", - "http://s9.jianniang.com/", - "http://s10.jianniang.com/", - "http://s11.jianniang.com/", - "http://s12.jianniang.com/" + "http://s2.jr.moefantasy.com/", + "http://s3.jr.moefantasy.com/", + "http://s4.jr.moefantasy.com/", + "http://s5.jr.moefantasy.com/", + "http://s6.jr.moefantasy.com/", + "http://s7.jr.moefantasy.com/", + "http://s8.jr.moefantasy.com/", + "http://s9.jr.moefantasy.com/", + "http://s10.jr.moefantasy.com/", + "http://s11.jr.moefantasy.com/", + "http://s12.jr.moefantasy.com/" }; public static String[] url_server_hm_ios = { - "http://s101.jianniang.com/", - "http://s102.jianniang.com/", - "http://s103.jianniang.com/", - "http://s104.jianniang.com/", - "http://s105.jianniang.com/", - "http://s106.jianniang.com/" + "http://s101.jr.moefantasy.com/", + "http://s102.jr.moefantasy.com/", + "http://s103.jr.moefantasy.com/", + "http://s104.jr.moefantasy.com/", + "http://s105.jr.moefantasy.com/", + "http://s106.jr.moefantasy.com/" }; public static String getCurrentUnixTime() { long unixTime = System.currentTimeMillis() / 10L; diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java b/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java index 0b77ace..d9a044c 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/UpdateTask.java @@ -7,7 +7,7 @@ /** * Created by paleneutron on 6/3/2016. */ -class UpdateTask extends AsyncTask { +public class UpdateTask extends AsyncTask { private Context context=null; private onUpdateTaskStateChange updateTaskStateChange; public UpdateTask(Context main_context){ diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java b/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java index 8ad687a..7e4378a 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/webactivity.java @@ -10,7 +10,7 @@ import butterknife.BindView; import butterknife.ButterKnife; -public class Webactivity extends Activity{ +public class WebActivity extends Activity{ @BindView(R.id.web_view) WebView webView; From 25ac973a6c101496d3780183bff2d00cdb6b419b Mon Sep 17 00:00:00 2001 From: traburiss Date: Sun, 5 Jun 2016 13:14:27 +0800 Subject: [PATCH 60/66] =?UTF-8?q?timeservice=E7=9A=84timer=E4=BC=9A?= =?UTF-8?q?=E5=9C=A8=E6=AF=8F=E6=AC=A1=E5=BC=82=E6=AD=A5=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=AE=8C=E6=AF=95=E5=90=8E=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E9=9C=80=E8=A6=81=E9=87=8D=E8=AE=BE=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E5=99=A8=E9=97=B4=E9=9A=94=EF=BC=8C=E7=94=A8=E4=BB=A5?= =?UTF-8?q?=E9=99=8D=E4=BD=8E=E5=8A=9F=E8=80=97=20=EF=BC=88=E6=9C=AA?= =?UTF-8?q?=E5=AE=9E=E9=99=85=E6=B5=8B=E8=AF=95=EF=BC=8C=E4=BD=86=E4=BB=8E?= =?UTF-8?q?CPU=E5=8F=8A=E5=86=85=E5=AD=98=E4=B8=8A=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E7=9C=8B=E5=88=B0CPU=E4=B8=8E=E5=86=85=E5=AD=98=E7=9A=84?= =?UTF-8?q?=E5=8D=A0=E7=94=A8=E9=83=BD=E9=99=8D=E4=BD=8E=E4=BA=86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 8 +---- app/app.iml | 19 +++++------ .../android/zjsnviewer/TimerService.java | 33 ++++++++++++++----- 3 files changed, 35 insertions(+), 25 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index ee6ddd0..0a8066c 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -5,19 +5,13 @@ - diff --git a/app/app.iml b/app/app.iml index b9e7e37..23a2881 100644 --- a/app/app.iml +++ b/app/app.iml @@ -65,14 +65,6 @@ - - - - - - - - @@ -81,6 +73,14 @@ + + + + + + + + @@ -114,8 +114,8 @@ - + @@ -124,6 +124,5 @@ - \ No newline at end of file diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java b/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java index 3d6dda1..029c37e 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/TimerService.java @@ -22,7 +22,7 @@ public class TimerService extends Service { // constant - public static final long NOTIFY_INTERVAL = 5 * 1000; // 10 seconds + public static long NOTIFY_INTERVAL = 5 * 1000; // 10 seconds public static TimerService instance; public static BroadcastReceiver mReceiver; @@ -48,18 +48,19 @@ public IBinder onBind(Intent intent) { @Override public void onCreate() { Log.i("TimerService", "onCreate()"); - if (mTimer != null) { - mTimer.cancel(); - } else { - mTimer = new Timer(); - instance = this; - } if (mReceiver == null){ IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON); filter.addAction(Intent.ACTION_SCREEN_OFF); mReceiver = new ScreenReceiver(); registerReceiver(mReceiver, filter); } + + if (mTimer != null) { + mTimer.cancel(); + } else { + mTimer = new Timer(); + instance = this; + } mTimer.scheduleAtFixedRate(new TimeDisplayTimerTask(), 0, NOTIFY_INTERVAL); } @@ -84,7 +85,6 @@ public void run() { mHandler.post(new Runnable() { @Override public void run() { -// Log.i("TimerService", "run() - TimerService Receive Call"); new Proceed().execute(); } }); @@ -96,6 +96,7 @@ private class Proceed extends AsyncTask { protected Object doInBackground(Object... arg0){ Context context = instance; SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + Storage.language = Integer.parseInt(prefs.getString("language", "0")); if (prefs.getBoolean("auto_run", true)) { DockInfo.requestUpdate(context); @@ -118,6 +119,7 @@ protected Object doInBackground(Object... arg0){ } else { int currentUnix = DockInfo.currentUnix(); if (currentUnix - lastWidgetUpdate >= Integer.parseInt(prefs.getString("refresh", "60"))){ + lastWidgetUpdate = currentUnix; Widget_Main.updateWidget(context); Widget_Travel.updateWidget(context); @@ -130,6 +132,21 @@ protected Object doInBackground(Object... arg0){ } return null; } + + @Override + protected void onPostExecute(Object o) { + super.onPostExecute(o); + + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(instance); + if (NOTIFY_INTERVAL != (Long.valueOf(prefs.getString("refresh", "60")))*1000) { + + NOTIFY_INTERVAL = (Long.valueOf(prefs.getString("refresh", "60")))*1000; + mTimer.cancel(); + mTimer = new Timer(); + mTimer.scheduleAtFixedRate(new TimeDisplayTimerTask(), NOTIFY_INTERVAL, NOTIFY_INTERVAL); + } + Log.i("TimerService", "run() - TimerService Receive Call\nNOTIFY_INTERVAL:" + NOTIFY_INTERVAL + "\nrefresh:"+ prefs.getString("refresh", "60")); + } } } \ No newline at end of file From 59e4b73c320481434539615d2e4fabfa3d0d502e Mon Sep 17 00:00:00 2001 From: traburiss Date: Mon, 6 Jun 2016 16:16:43 +0800 Subject: [PATCH 61/66] =?UTF-8?q?1=E3=80=81=E5=B0=86timeservice=E6=94=BE?= =?UTF-8?q?=E5=88=B0=E4=BA=86application=E9=87=8C=E9=9D=A2=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=202=E3=80=81=E5=9C=A8=E6=8A=BD=E5=B1=89=E9=87=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=80=BB=E5=BC=80=E5=85=B3=E5=92=8C?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=A8=A1=E5=BC=8F=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/app.iml | 1 + app/src/main/AndroidManifest.xml | 1 + .../android/zjsnviewer/InfoActivity.java | 56 +++++++++++++++---- .../android/zjsnviewer/zjsApplication.java | 20 +++++++ app/src/main/res/layout/activity_info.xml | 20 +++++++ 5 files changed, 86 insertions(+), 12 deletions(-) create mode 100644 app/src/main/java/me/crafter/android/zjsnviewer/zjsApplication.java diff --git a/app/app.iml b/app/app.iml index 23a2881..6330ce8 100644 --- a/app/app.iml +++ b/app/app.iml @@ -102,6 +102,7 @@ + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7aaa33f..c8f9c47 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -7,6 +7,7 @@ tabs; @@ -74,20 +81,30 @@ public class InfoActivity extends FragmentActivity { private Handler handler; private Runnable runnable; - private int RUN_TIME = 2*1000; + private int RUN_TIME = 60*1000; + private int FIRST_TIME = 2*1000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_info); ButterKnife.bind(this); - startService(new Intent(this, TimerService.class)); initData(); initView(); initEven(); } + @Override + protected void onResume() { + super.onResume(); + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); + Boolean on = preferences.getBoolean("on", true); + Boolean auto = preferences.getBoolean("auto_run", true); + sw_title_on.setChecked(on); + sw_title_auto_run.setChecked(auto); + } + public void initData(){ context = this; @@ -181,7 +198,7 @@ public void run() { handler.postDelayed(runnable,RUN_TIME); } }; - handler.postDelayed(runnable,RUN_TIME); + handler.postDelayed(runnable,FIRST_TIME); tv_setting.setOnClickListener(new View.OnClickListener() { @Override @@ -191,15 +208,30 @@ public void onClick(View v) { startActivity(intent); } }); -// tv_build_time.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// -// Intent intent = new Intent(context, Webactivity.class); -// intent.putExtra("URL", "http://js.ntwikis.com/jsp/apps/cancollezh/charactors/buildtime.jsp"); -// startActivity(intent); -// } -// }); + + sw_title_on.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); + if (!preferences.edit().putBoolean("on", isChecked).commit()){ + + sw_title_on.setChecked(!isChecked); + } + } + }); + + sw_title_auto_run.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); + if (!preferences.edit().putBoolean("auto_run", isChecked).commit()){ + + sw_title_auto_run.setChecked(!isChecked); + } + } + }); } private void initFragment(){ diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/zjsApplication.java b/app/src/main/java/me/crafter/android/zjsnviewer/zjsApplication.java new file mode 100644 index 0000000..75f1052 --- /dev/null +++ b/app/src/main/java/me/crafter/android/zjsnviewer/zjsApplication.java @@ -0,0 +1,20 @@ +package me.crafter.android.zjsnviewer; + +import android.app.Application; +import android.content.Intent; + +/** + * @author traburiss + * @date 2016/6/6 + * @info ZjsnViewer + * @desc + */ + +public class zjsApplication extends Application{ + + @Override + public void onCreate() { + super.onCreate(); + startService(new Intent(this, TimerService.class)); + } +} diff --git a/app/src/main/res/layout/activity_info.xml b/app/src/main/res/layout/activity_info.xml index 7d5dbd0..38047e2 100644 --- a/app/src/main/res/layout/activity_info.xml +++ b/app/src/main/res/layout/activity_info.xml @@ -257,6 +257,26 @@ android:textColor="@color/font_black" android:visibility="gone"/> + + + + Date: Tue, 7 Jun 2016 10:59:34 +0800 Subject: [PATCH 62/66] reset DEFAULT_VIBRATE will disable ringtone and light, use DEFAULT_ALL instead. hide two preference in settings --- .idea/gradle.xml | 6 ++++++ app/app.iml | 4 ++-- app/build.gradle | 4 ++-- .../me/crafter/android/zjsnviewer/NotificationSender.java | 2 +- .../main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java | 6 ++++++ 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 0a8066c..0dd3e88 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -12,6 +12,12 @@ + diff --git a/app/app.iml b/app/app.iml index 6330ce8..1bd1156 100644 --- a/app/app.iml +++ b/app/app.iml @@ -83,7 +83,6 @@ - @@ -115,8 +114,8 @@ - + @@ -125,5 +124,6 @@ + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 4f204aa..5d46da6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "me.crafter.android.zjsnviewer" minSdkVersion 16 targetSdkVersion 23 - versionCode 29 - versionName "2.7.2" + versionCode 30 + versionName "2.7.3" } lintOptions { abortOnError false diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java b/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java index b3cc20f..49aa6b6 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/NotificationSender.java @@ -39,7 +39,7 @@ public static void notify(final Context context, final String title, final Strin .setAutoCancel(true); if (if_send_vibration) { - builder.setDefaults(NotificationCompat.DEFAULT_VIBRATE); + builder.setDefaults(NotificationCompat.DEFAULT_ALL); } else { builder.setVibrate(new long[]{0L}); } diff --git a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java index f950c16..c25fe1a 100644 --- a/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java +++ b/app/src/main/java/me/crafter/android/zjsnviewer/ZjsnViewer.java @@ -10,6 +10,7 @@ import android.preference.PreferenceActivity; import android.preference.PreferenceCategory; import android.preference.PreferenceManager; +import android.preference.PreferenceScreen; import android.preference.RingtonePreference; import android.support.v7.widget.Toolbar; import android.text.TextUtils; @@ -54,6 +55,11 @@ private void setupSimplePreferencesScreen() { getPreferenceScreen().addPreference(fakeHeader); addPreferencesFromResource(R.xml.pref_part_main_settings); + //hide "on" and "auto_run" + PreferenceScreen screen = getPreferenceScreen(); + screen.removePreference(screen.findPreference("on")); + screen.removePreference(screen.findPreference("auto_run")); + // Add 'other' preferences. fakeHeader = new PreferenceCategory(this); fakeHeader.setTitle(R.string.pref_header_other); From 34b1963f043af32c64b10f48d8816f6c531606f4 Mon Sep 17 00:00:00 2001 From: William Lyu Date: Wed, 8 Jun 2016 19:34:52 +0800 Subject: [PATCH 63/66] make service foreground --- .idea/gradle.xml | 2 +- app/app.iml | 2 +- app/build.gradle | 4 +-- app/src/main/app_notification-web.png | Bin 0 -> 243972 bytes .../android/zjsnviewer/NetworkManager.java | 3 +- .../zjsnviewer/NotificationSender.java | 1 + .../crafter/android/zjsnviewer/Storage.java | 8 +++++ .../android/zjsnviewer/TimerService.java | 32 +++++++++++++++++- .../main/res/drawable-hdpi-v11/cat_icon.png | Bin 0 -> 839 bytes .../main/res/drawable-hdpi-v9/cat_icon.png | Bin 0 -> 765 bytes app/src/main/res/drawable-hdpi/cat_icon.png | Bin 0 -> 1314 bytes .../main/res/drawable-mdpi-v11/cat_icon.png | Bin 0 -> 515 bytes .../main/res/drawable-mdpi-v9/cat_icon.png | Bin 0 -> 471 bytes app/src/main/res/drawable-mdpi/cat_icon.png | Bin 0 -> 802 bytes .../main/res/drawable-xhdpi-v11/cat_icon.png | Bin 0 -> 1134 bytes .../main/res/drawable-xhdpi-v9/cat_icon.png | Bin 0 -> 1072 bytes app/src/main/res/drawable-xhdpi/cat_icon.png | Bin 0 -> 1793 bytes .../main/res/drawable-xxhdpi-v11/cat_icon.png | Bin 0 -> 1792 bytes .../main/res/drawable-xxhdpi-v9/cat_icon.png | Bin 0 -> 1738 bytes app/src/main/res/drawable-xxhdpi/cat_icon.png | Bin 0 -> 1402 bytes 20 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 app/src/main/app_notification-web.png create mode 100644 app/src/main/res/drawable-hdpi-v11/cat_icon.png create mode 100644 app/src/main/res/drawable-hdpi-v9/cat_icon.png create mode 100644 app/src/main/res/drawable-hdpi/cat_icon.png create mode 100644 app/src/main/res/drawable-mdpi-v11/cat_icon.png create mode 100644 app/src/main/res/drawable-mdpi-v9/cat_icon.png create mode 100644 app/src/main/res/drawable-mdpi/cat_icon.png create mode 100644 app/src/main/res/drawable-xhdpi-v11/cat_icon.png create mode 100644 app/src/main/res/drawable-xhdpi-v9/cat_icon.png create mode 100644 app/src/main/res/drawable-xhdpi/cat_icon.png create mode 100644 app/src/main/res/drawable-xxhdpi-v11/cat_icon.png create mode 100644 app/src/main/res/drawable-xxhdpi-v9/cat_icon.png create mode 100644 app/src/main/res/drawable-xxhdpi/cat_icon.png diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 0dd3e88..ee6ddd0 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -5,7 +5,7 @@