From: snickersun Date: Fri, 27 Mar 2020 05:01:21 +0000 (+0800) Subject: 解决过午夜步数不清零的问题,让逻辑更严谨,步数更新更及时。 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=1cca75734d4507676341b96009d8ed5325ea7e3b;p=protocol_srv.git 解决过午夜步数不清零的问题,让逻辑更严谨,步数更新更及时。 --- diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index cee6e305..e0aa917b 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -368,20 +368,37 @@ public class CoreService extends Service { return sendChatMessage; } + private void resetStepCount(){ + if ( ICJniUtils.isPedometerEnabled() == 0)ICJniUtils.enablePedometer(); + ICJniUtils.resetStepCount(); + SharPreferenceUtil.setPrefInt(this, KEY_STEP_COUNT, 0); + SharPreferenceUtil.setPrefInt(this, KEY_SAVE_STEP_COUNT, 0); + ICLogger.i("Reset StepCount , "+ICJniUtils.getStepCount()); + this.runtime.setSaveStepCount(0); + this.runtime.setTotalStepCount(0); + } private void loadStepCount() { int i = SharPreferenceUtil.getPrefInt(this, KEY_STEP_COUNT, 0); int j = SharPreferenceUtil.getPrefInt(this, KEY_SAVE_STEP_COUNT, 0); if ( ICJniUtils.isPedometerEnabled() == 0)ICJniUtils.enablePedometer(); + ICJniUtils.recoverStepCount(); if (ICJniUtils.getStepCount()>i){ i=ICJniUtils.getStepCount(); } this.runtime.setSaveStepCount(j); this.runtime.setTotalStepCount(i); } - + public void saveStepCount(){ + int i = runtime.getTotalStepCount(); + int j = runtime.getSaveStepCount(); + SharPreferenceUtil.setPrefInt(this, KEY_STEP_COUNT, i); + SharPreferenceUtil.setPrefInt(this, KEY_SAVE_STEP_COUNT, j); + ICJniUtils.saveStepCount(); + } private void setCleanStepCountAlarm() { /*一天清零一次 计步*/ AlarmHelper.setCleanStepCountAlarm(this, 23, 59, STEP_COUNT_ALARM_ACTION); +// AlarmHelper.setCleanStepCountAlarm(this, 12, 12, STEP_COUNT_ALARM_ACTION); } private void setSleepAlarm() { @@ -706,30 +723,13 @@ public class CoreService extends Service { if (Config.LOG_TOFILE) ICLogger.logToFile("alarmCycle", "HEART_ALARM alarmCycle " ); return Service.START_STICKY; } - } else { -// if (WEATHER_ALARM.equals(paramIntent.getAction())) { -//// this.mSendPairMessage.resetDownLoadConfig(); -//// this.mSendPairMessage.startDownLoad(this.runtime, false); -// return Service.START_STICKY; -// }else if (ACTION_ALARM_ADD_DATAPOINTS.equals(paramIntent.getAction())) { -// setUpLocationDataAlarm(28800000L); -// if (this.upLoadDataPoints != null) { -// this.upLoadDataPoints.uploadCurrentLocation(); -// return Service.START_STICKY; -// } -// ICLogger.i("upLoadDataPoints=null"); -// return Service.START_STICKY; -// }else if (Constants.STWORKMODE_ALARM.equals(paramIntent.getAction())) { -// if (this.startAlarmCount >= 5) { -// alarmCycle = paramIntent.getIntExtra("location_cycle", 3); -// setAlarm(alarmCycle); -// } -// stringBuilder1 = new StringBuilder(); -// stringBuilder1.append("STWORKMODE_ALARM alarmCycle="); -// stringBuilder1.append(alarmCycle); -// if (Config.LOG_TOFILE) FileOutputUtil.fileOutput(runtime.getCacheDir(), "alarmCycle", stringBuilder1.toString()); -// return Service.START_STICKY; -// }else { + } else if (STEP_COUNT_ALARM_ACTION.equals(paramIntent.getAction())) { + ICLogger.i("Reset Count At 23:59 "); + resetStepCount(); + setCleanStepCountAlarm(); + + return Service.START_STICKY; + }else { if (ACTION_HEATR_RATE_START.equals(paramIntent.getAction())) { //此处消息从timer来 @@ -950,12 +950,7 @@ public class CoreService extends Service { - public void saveStepCount(){ - int i = runtime.getTotalStepCount(); - int j = runtime.getSaveStepCount(); - SharPreferenceUtil.setPrefInt(this, KEY_STEP_COUNT, i); - SharPreferenceUtil.setPrefInt(this, KEY_SAVE_STEP_COUNT, j); - } + @Override public void onDestroy() { super.onDestroy(); diff --git a/app/src/main/java/com/enqualcomm/support/GSensorListener.java b/app/src/main/java/com/enqualcomm/support/GSensorListener.java index 100a0072..ba11304b 100644 --- a/app/src/main/java/com/enqualcomm/support/GSensorListener.java +++ b/app/src/main/java/com/enqualcomm/support/GSensorListener.java @@ -44,8 +44,16 @@ public class GSensorListener { } public void updateStepCount(){ - getStepCountOver=true; - mHandler.sendEmptyMessage(100); + if(getStepCountOver==false) { + getStepCountOver = true; + CURRENT_STEP = ICJniUtils.getStepCount(); + StringBuilder stringBuilder1 = new StringBuilder(); + stringBuilder1.append("CURRENT_STEP ="); + stringBuilder1.append(CURRENT_STEP); + ICLogger.i(stringBuilder1.toString()); + runtime.setTotalStepCount(CURRENT_STEP); + getStepCountOver = false; + } } public int getStepCount() { return this.CURRENT_STEP; diff --git a/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java b/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java index 701a95da..857454c3 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java +++ b/app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java @@ -187,266 +187,6 @@ public class ProcessReceiver extends BroadcastReceiver { public void call(Long param1Long) { wakelock.release(); } }); } - - public void initCustomNotification(final Context var1, final Contact var2, final String var3, int var4) { -// String var5 = var2.name; -// if (this.mNotificationDialog == null) { -// this.mNotificationDialog = new com.enqualcomm.support.utils.CustomNotification.Builder(var1); -// } -// -// if (this.mCustomNotification != null && this.mCustomNotification.isShowing() && last_message_name != null && var5 != null && last_message_name.equals(var5) && var4 == last_app_id) { -// this.mCustomNotification.dismiss(); -// } -// -// last_message_name = var5; -// last_app_id = var4; -// final Handler var6 = new Handler(); -// if (var2.category == 4) { -// var5 = var2.extra; -// } else { -// var5 = var2.number; -// } -// -// Observable.create(new HandleWechatNotice(var4, var5, 1, var1)).subscribeOn(Schedulers.io()).subscribe(new Subscriber() { -// public void onCompleted() { -// } -// -// public void onError(Throwable var1x) { -// } -// -// public void onNext(NotificationParam var1x) { -// final int var2x = var1x.noReadmsgCount; -// StringBuilder var3x = new StringBuilder(); -// var3x.append("msgCount="); -// var3x.append(var2x); -// ICLogger.i(var3x.toString()); -// switch(var1x.category) { -// case 1: -// var6.post(new Runnable() { -// public void run() { -// String var1x; -// if (var3 != null) { -// var1x = var3; -// } else { -// var1x = var1.getString(2131624056); -// } -// -// StringBuilder var2xx = new StringBuilder(); -// var2xx.append("setContent="); -// var2xx.append(var1x); -// ICLogger.i(var2xx.toString()); -// ProcessReceiver.this.mCustomNotification = ProcessReceiver.this.mNotificationDialog.setTitle(2131165274, 2131624055, 0).setMessage(var2.name, var2x).setContentMessage(var1x).setLayoutViewClick(new View.OnTouchListener() { -// public boolean onTouch(View var1x, MotionEvent var2xx) { -// switch(var2xx.getAction()) { -// case 0: -// ProcessReceiver.this.x1 = var2xx.getX(); -// ProcessReceiver.this.y1 = var2xx.getY(); -// break; -// case 1: -// ProcessReceiver.this.x2 = var2xx.getX(); -// ProcessReceiver.this.y2 = var2xx.getY(); -// if (ProcessReceiver.this.y1 - ProcessReceiver.this.y2 > 50.0F) { -// ProcessReceiver.this.mCustomNotification.dismiss(); -// } else { -// ICLogger.i("action up to do "); -// ProcessReceiver.this.mCustomNotification.dismiss(); -// ComponentName var8 = new ComponentName("com.enqualcomm.imessage", "com.enqualcomm.imessage.ui.chat.ChatActivity_"); -// Intent var6x = new Intent("android.intent.action.MAIN"); -// var6x.putExtra("ACTIVITY_TYPE", 2); -// var6x.putExtra("contact", var2); -// var6x.addCategory("android.intent.category.DEFAULT"); -// var6x.addFlags(268435456); -// var6x.setComponent(var8); -// -// Exception var10000; -// label47: { -// String var7; -// boolean var10001; -// label36: { -// try { -// var1.startActivity(var6x); -// if (var2.category == 4) { -// var7 = var2.extra; -// break label36; -// } -// } catch (Exception var5) { -// var10000 = var5; -// var10001 = false; -// break label47; -// } -// -// try { -// var7 = var2.number; -// } catch (Exception var4) { -// var10000 = var4; -// var10001 = false; -// break label47; -// } -// } -// -// try { -// HandleWechatNotice var10 = new HandleWechatNotice(1, var7, 3, var1); -// Observable var11 = Observable.create(var10).subscribeOn(Schedulers.io()); -// Subscriber var12 = new Subscriber() { -// public void onCompleted() { -// } -// -// public void onError(Throwable var1x) { -// } -// -// public void onNext(NotificationParam var1x) { -// } -// }; -// var11.subscribe(var12); -// return true; -// } catch (Exception var3x) { -// var10000 = var3x; -// var10001 = false; -// } -// } -// -// Exception var9 = var10000; -// var9.printStackTrace(); -// } -// } -// -// return true; -// } -// }).create(); -// ProcessReceiver.this.mCustomNotification.getWindow().setGravity(Gravity.TOP); -// ProcessReceiver.this.mCustomNotification.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); -// ProcessReceiver.this.mCustomNotification.show(); -// (new Handler()).postDelayed(new Runnable() { -// public void run() { -// if (ProcessReceiver.this.mCustomNotification != null && ProcessReceiver.this.mCustomNotification.isShowing()) { -// ProcessReceiver.this.mCustomNotification.dismiss(); -// } -// -// } -// }, 5000L); -// } -// }); -// break; -// case 2: -// var6.post(new Runnable() { -// public void run() { -// String var1x; -// if (var3 != null) { -// var1x = var3; -// } else { -// StringBuilder var3x = new StringBuilder(); -// var3x.append(Integer.toString(var2x)); -// var3x.append(var1.getString(2131624053)); -// var1x = var3x.toString(); -// } -// -// StringBuilder var2xx = new StringBuilder(); -// var2xx.append("setContent="); -// var2xx.append(var1x); -// ICLogger.i(var2xx.toString()); -// ProcessReceiver.this.mCustomNotification = ProcessReceiver.this.mNotificationDialog.setTitle(2131165268, 2131624051, 0).setMessage(var2.name, 0).setContentMessage(var1x).setLayoutViewClick(new View.OnTouchListener() { -// public boolean onTouch(View var1x, MotionEvent var2xx) { -// switch(var2xx.getAction()) { -// case 0: -// ProcessReceiver.this.x1 = var2xx.getX(); -// ProcessReceiver.this.y1 = var2xx.getY(); -// break; -// case 1: -// ProcessReceiver.this.x2 = var2xx.getX(); -// ProcessReceiver.this.y2 = var2xx.getY(); -// if (ProcessReceiver.this.y1 - ProcessReceiver.this.y2 > 50.0F) { -// ProcessReceiver.this.mCustomNotification.dismiss(); -// } else { -// ICLogger.i("action up to do "); -// ProcessReceiver.this.mCustomNotification.dismiss(); -// -// Exception var10000; -// label47: { -// boolean var10001; -// String var6x; -// label36: { -// try { -// if (var2.category == 4) { -// var6x = var2.extra; -// break label36; -// } -// } catch (Exception var5) { -// var10000 = var5; -// var10001 = false; -// break label47; -// } -// -// try { -// var6x = var2.number; -// } catch (Exception var4) { -// var10000 = var4; -// var10001 = false; -// break label47; -// } -// } -// -// try { -// HandleWechatNotice var8 = new HandleWechatNotice(2, var6x, 3, var1); -// Observable var9 = Observable.create(var8).subscribeOn(Schedulers.io()); -// Subscriber var10 = new Subscriber() { -// public void onCompleted() { -// } -// -// public void onError(Throwable var1x) { -// } -// -// public void onNext(NotificationParam var1x) { -// } -// }; -// var9.subscribe(var10); -// return true; -// } catch (Exception var3x) { -// var10000 = var3x; -// var10001 = false; -// } -// } -// -// Exception var7 = var10000; -// var7.printStackTrace(); -// } -// } -// -// return true; -// } -// }).create(); -// ProcessReceiver.this.mCustomNotification.getWindow().setGravity(Gravity.TOP); -// ProcessReceiver.this.mCustomNotification.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); -// ProcessReceiver.this.mCustomNotification.show(); -// (new Handler()).postDelayed(new Runnable() { -// public void run() { -// if (ProcessReceiver.this.mCustomNotification != null && ProcessReceiver.this.mCustomNotification.isShowing()) { -// ProcessReceiver.this.mCustomNotification.dismiss(); -// } -// -// } -// }, 5000L); -// } -// }); -// } -// -// } -// }); - } - - public void initNotification(Contact paramContact, Context var2) { -// String var3 = paramContact.name; -// Uri var6 = RingtoneManager.getDefaultUri(TYPE_NOTIFICATION); -// android.support.v4.app.NotificationCompat.Builder var4 = (new android.support.v7.app.NotificationCompat.Builder(var2)).setSmallIcon(R.drawable.microphone).setContentTitle(var2.getString(R.string.setting_title)).setWhen(System.currentTimeMillis()).setAutoCancel(true); -// StringBuilder var5 = new StringBuilder(); -// var5.append(var2.getString(R.string.voiceMessage)); -// var5.append(" "); -// var5.append(var3); -// var5.append(var2.getString(R.string.voiceMessageEnd)); -// Notification var7 = var4.setContentText(var5.toString()).setTicker(var2.getString(R.string.ticker)).setSound(var6).build(); -// this.mNotificationManager = (NotificationManager)var2.getSystemService(Context.NOTIFICATION_SERVICE); -// this.mNotificationManager.notify(1, var7); - } - @Override public void onReceive(Context paramContext, Intent paramIntent) { @@ -459,8 +199,10 @@ public class ProcessReceiver extends BroadcastReceiver { stringBuilder.append(str); ICLogger.i(stringBuilder.toString()); if (STEP_COUNT_ALARM_ACTION.equals(str)) { + ICLogger.i("Reset Count At 23:59 "); ICJniUtils.resetStepCount(); AlarmHelper.setCleanStepCountAlarm(paramContext, 23, 59, STEP_COUNT_ALARM_ACTION); + return; }else if (RESUME_ACTION.equals(str)) { SharPreferenceUtil.setPrefBoolean(paramContext, "key_is_resume", paramIntent.getBooleanExtra("is_resume", false));