Android 9 客户手动安装对讲apk后,自动设置电池不优化

— a/alps/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/alps/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -2228,6 +2228,14 @@ public class PhoneWindowManager implements WindowManagerPolicy {
context.registerReceiver(mBootCompletedReceiver, bootCompletedFilter);
/// chenxs @}

  •    /// chenxs: addPowerSaveWhitelistApp for custom apps @{
    
  •    IntentFilter packageAddedFilter = new IntentFilter();
    
  •    packageAddedFilter.addAction("android.intent.action.PACKAGE_ADDED");
    
  •    packageAddedFilter.addAction("android.intent.action.PACKAGE_REMOVED");
    
  •    packageAddedFilter.addDataScheme("package");
    
  •    context.registerReceiver(mPackageAddedReceiver, packageAddedFilter);
    
  •    /// chenxs @}
    
  •    /// chenxs: add for set preferred sim card @{
       IntentFilter simUpdatedFilter = new IntentFilter();
       simUpdatedFilter.addAction(TelephonyIntents.ACTION_SUBINFO_RECORD_UPDATED);
    

@@ -7080,7 +7088,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
};

  • /// chenxs: addPowerSaveWhitelistApp for com.corget @{
  • /// chenxs add @{
    BroadcastReceiver mBootCompletedReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
    @@ -7090,15 +7098,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    boolean mFirstBoot= Settings.System.getInt(context.getContentResolver(),
    “first_boot”, 0) == 0;
    if (mFirstBoot) {
  •                   IDeviceIdleController dic = IDeviceIdleController.Stub.asInterface(
    
  •                        ServiceManager.getService(Context.DEVICE_IDLE_CONTROLLER));
    
  •                try {
    
  •                    dic.addPowerSaveWhitelistApp("com.corget");
    
  •                } catch (RemoteException e) {
    
  •                    Log.w(TAG, "Unable to reach IDeviceIdleController", e);
    
  •                }
    
  •                                   set3gppPreferredActivity(); // chenxs: set 3gpp preferred
    
  •                   // chenxs: set 3gpp preferred
    
  •                                   set3gppPreferredActivity();
    
  •                                   // chenxs: addPowerSaveWhitelistApp for com.corget
    
  •                                   //setPowerSaveWhitelist("com.corget", true);
                                      
                   Settings.System.putInt(context.getContentResolver(),
                           "first_boot", 1);
    

@@ -7108,6 +7111,28 @@ public class PhoneWindowManager implements WindowManagerPolicy {
};

 /// chenxs @}
  • /// chenxs: addPowerSaveWhitelistApp for custom apps @{

  • BroadcastReceiver mPackageAddedReceiver = new BroadcastReceiver() {

  •    @Override
    
  •    public void onReceive(Context context, Intent intent) {
    
  •        final String action = intent.getAction();
    
  •        if (action.equals("android.intent.action.PACKAGE_ADDED")) {
    
  •            String packageName = intent.getDataString().substring(8);
    
  •            if (isCustomApp(packageName)) {
    
  •                setPowerSaveWhitelist(packageName, true);
    
  •            }
    
  •        } else if (action.equals("android.intent.action.PACKAGE_REMOVED")) {
    
  •            String packageName = intent.getDataString();
    
  •            if (isCustomApp(packageName)) {
    
  •                setPowerSaveWhitelist(packageName, false);
    
  •            }
    
  •        }
    
  •    }
    
  • };

  • /// chenxs @}

  • /// chenxs: set 3gpp preferred @{
    private void set3gppPreferredActivity() {
    final PackageManager pm = mContext.getPackageManager();
    @@ -7134,6 +7159,47 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    }
    /// chenxs @}

  • private boolean isCustomApp(String packageName) {

  •   boolean value = packageName.equals("com.fleetclient") ||
    
  •                           packageName.equals("com.corget") ||
    
  •                           packageName.equals("com.shli.interphone") ||
    
  •                           packageName.equals("com.zeroonemore.rtv") ||
    
  •                           packageName.equals("com.zed3.sipua") ||
    
  •                           packageName.equals("com.loudtalks") ||
    
  •                           packageName.equals("net.loudtalks") ||
    
  •                           packageName.equals("com.tassta.flex") ||
    
  •                           packageName.equals("com.safemobile.linxupdater") ||
    
  •                           packageName.equals("com.easytalk") ||
    
  •                           packageName.equals("com.teamtalk") ||
    
  •                           packageName.equals("com.zain_ptt") ||
    
  •                           packageName.equals("com.mcptt") ||
    
  •                           packageName.equals("com.talkip") ||
    
  •                           packageName.equals("com.kirisun.app.p2t") ||
    
  •                           packageName.equals("com.azetti.ptt") ||
    
  •                           packageName.equals("com.goptt.ptt") ||
    
  •                           packageName.equals("com.tigoptt.ptt") ||
    
  •                           packageName.equals("com.azetti.tigohn") ||
    
  •                           packageName.equals("com.azetti.tigoune") ||
    
  •                           packageName.equals("aacnet.eu.Broadnet") ||
    
  •                           packageName.equals("ro.ui.pttdroid.Main") ||
    
  •                           packageName.equals("com.cellstar.ptt");
    
  •   return value;
    
  • }

  • private void setPowerSaveWhitelist(String packageName, boolean add) {

  •           IDeviceIdleController dic = IDeviceIdleController.Stub.asInterface(
    
  •               ServiceManager.getService(Context.DEVICE_IDLE_CONTROLLER));
    
  •       try {
    
  •           if (add) {
    
  •               dic.addPowerSaveWhitelistApp(packageName);
    
  •           } else {
    
  •                   dic.removePowerSaveWhitelistApp(packageName);
    
  •           }
    
  •       } catch (RemoteException e) {
    
  •           Log.w(TAG, "Unable to reach IDeviceIdleController", e);
    
  •       }
    
  • }

  • /// chenxs: set preferred sim card @{
    BroadcastReceiver mSimUpdatedReceiver = new BroadcastReceiver() {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值