30-Android之添加充电断开提示音

30-Android之添加充电断开提示音


Android10 MTK_6739
拔出充电器, 需要添加提示音

frameworks/base/services/core/java/com/android/server/power/Notifier.java

     private static final int MSG_WIRED_CHARGING_STARTED = 6;
     private static final int MSG_WIRED_CHARGING_STOPED = 7;
 
    public void onWiredChargingStoped(@UserIdInt int userId) {
         mSuspendBlocker.acquire();
         Message msg = mHandler.obtainMessage(MSG_WIRED_CHARGING_STOPED);
         msg.setAsynchronous(true);
         msg.arg1 = userId;
         mHandler.sendMessage(msg);
    }
 
    private void showWiredChargingStoped(@UserIdInt int userId) {
        playChargingStartedFeedback(userId);
        mSuspendBlocker.release();
    }
 
    private final class NotifierHandler extends Handler {

        public NotifierHandler(Looper looper) {
            super(looper, null, true /*async*/);
        }
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                ... // 
                case MSG_WIRED_CHARGING_STARTED:
                    showWiredChargingStarted(msg.arg1);
                    break;
                case MSG_WIRED_CHARGING_STOPED:
                	showWiredChargingStoped(msg.arg1);
                	break;
            }
        }
    }


frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java

    private void updateIsPoweredLocked(int dirty) {
        .... //
                // only play charging sounds if boot is completed so charging sounds don't play
                // with potential notification sounds
                if (mBootCompleted) {
                    if (mIsPowered && !BatteryManager.isPlugWired(oldPlugType)
                            && BatteryManager.isPlugWired(mPlugType)) {
                        mNotifier.onWiredChargingStarted(mForegroundProfile);
                    } else if (dockedOnWirelessCharger) {
                        mNotifier.onWirelessChargingStarted(mBatteryLevel, mForegroundProfile);
                    }else if(!mIsPowered) {
                    	mNotifier.onWiredChargingStoped(mForegroundProfile); // TODO 
                    }
                }
            }

            mBatterySaverStateMachine.setBatteryStatus(mIsPowered, mBatteryLevel, mBatteryLevelLow);
        }
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值