From: TrillGates Date: Wed, 1 Sep 2021 11:18:33 +0000 (+0800) Subject: fixed vibrator issues. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=f71acb0a906e52f1202dd552c4a075b44e1c89b3;p=icsupport.git fixed vibrator issues. --- diff --git a/app/src/main/java/com/enqualcomm/support/Constants.java b/app/src/main/java/com/enqualcomm/support/Constants.java index 333cf5a4..13d07f74 100644 --- a/app/src/main/java/com/enqualcomm/support/Constants.java +++ b/app/src/main/java/com/enqualcomm/support/Constants.java @@ -21,6 +21,7 @@ public interface Constants { String ACTION_ALARM_ALARM_CHANGE = "com.enqualcomm.support.ACTION_ALARM_ALARM_CHANGE"; String ACTION_ALARM_DELETE_ALARM= "com.ic.alarm.action.DELETE_ALARM"; + String ACTION_ALARM_DELETE_ALARM_RESULT= "com.ic.alarm.action.DELETE_ALARM_RESULT"; String ACTION_ANTIOFF_ALARM_CHANGE = "com.enqualcomm.support.ACTION_ANTIOFF_ALARM_CHANGE"; diff --git a/app/src/main/java/com/enqualcomm/support/LocationClient.java b/app/src/main/java/com/enqualcomm/support/LocationClient.java index ee4a01dc..19b9e5c6 100644 --- a/app/src/main/java/com/enqualcomm/support/LocationClient.java +++ b/app/src/main/java/com/enqualcomm/support/LocationClient.java @@ -828,14 +828,6 @@ public class LocationClient { } - public PowerManager.WakeLock getLocationWakeLock() { - PowerManager.WakeLock wakeLock = ((PowerManager) (runtime.getContextProxy()) - .context.getSystemService(Context.POWER_SERVICE)).newWakeLock( - PowerManager.PARTIAL_WAKE_LOCK, this.getClass().getSimpleName()); - wakeLock.acquire(1000L); - return wakeLock; - } - public void onAlarm(PowerManager.WakeLock paramWakeLock) { //每分钟更新一次数据 runtime.preCellInfo = runtime.getCurrentCellInfo(); diff --git a/app/src/main/java/com/enqualcomm/support/service/SilentManager.java b/app/src/main/java/com/enqualcomm/support/service/SilentManager.java index 2016138f..7531d907 100644 --- a/app/src/main/java/com/enqualcomm/support/service/SilentManager.java +++ b/app/src/main/java/com/enqualcomm/support/service/SilentManager.java @@ -50,6 +50,7 @@ import static android.telephony.TelephonyManager.CALL_STATE_OFFHOOK; import static android.telephony.TelephonyManager.CALL_STATE_RINGING; import static com.enqualcomm.support.Constants.ACTION_ALARM_ALARM_CHANGE; import static com.enqualcomm.support.Constants.ACTION_ALARM_DELETE_ALARM; +import static com.enqualcomm.support.Constants.ACTION_ALARM_DELETE_ALARM_RESULT; import static com.enqualcomm.support.Constants.ACTION_ANTIOFF_ALARM_CHANGE; import static com.enqualcomm.support.Constants.ACTION_CLOSE_UNREAD_MSG; import static com.enqualcomm.support.Constants.ACTION_IC_ALARM; @@ -988,6 +989,8 @@ public class SilentManager extends AbstractInvokeHandlerService { int delete = context.getContentResolver().delete(Uri.parse(ICAlarmProvider.ALARMS), "_id=?", new String[]{alarmId}); ICLogger.d("delete alarm ==|||=> " + delete); + //通知UI更新 + mContext.sendBroadcast(new Intent(ACTION_ALARM_DELETE_ALARM_RESULT)); } query.close(); } diff --git a/app/src/main/java/com/enqualcomm/support/utils/VibrateUtil.java b/app/src/main/java/com/enqualcomm/support/utils/VibrateUtil.java index b0c76857..6eadf02e 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/VibrateUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/VibrateUtil.java @@ -3,6 +3,7 @@ package com.enqualcomm.support.utils; import android.content.Context; import android.os.Handler; import android.os.HandlerThread; +import android.os.PowerManager; import android.os.Vibrator; import static android.content.Context.VIBRATOR_SERVICE; @@ -10,6 +11,7 @@ import static android.content.Context.VIBRATOR_SERVICE; public class VibrateUtil { private final Handler handler; + private PowerManager.WakeLock locationWakeLock; private VibrateUtil(Context context) { if (mContext == null) { @@ -23,7 +25,7 @@ public class VibrateUtil { handler = new Handler(handlerThread.getLooper()); } - private static Context mContext = null; + private Context mContext = null; public static VibrateUtil getInstance(Context context) { if (vibrateUtil == null) { @@ -65,7 +67,9 @@ public class VibrateUtil { isVibrate = false; vibrator.cancel(); ICLogger.d("vibrate finish..."); - }, 1300); + locationWakeLock.release(); + ICLogger.d("acquire wake lock..."); + }, 2000); handler.removeCallbacks(vibrateTask); handler.post(vibrateTask); } else { @@ -76,7 +80,16 @@ public class VibrateUtil { } } + public PowerManager.WakeLock getLocationWakeLock() { + PowerManager.WakeLock wakeLock = ((PowerManager) mContext.getSystemService(Context.POWER_SERVICE)) + .newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, this.getClass().getSimpleName()); + wakeLock.acquire(3000L); + ICLogger.d("acquire wake lock..."); + return wakeLock; + } + private final Runnable vibrateTask = () -> { + locationWakeLock = getLocationWakeLock(); vibrator.vibrate(1000);//不循环 };