Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1313eb4 authored by Beverly's avatar Beverly Committed by Beverly Tai
Browse files

Wireless charging sound used for wired charging

Test: manual (plug/unplug with charging sounds enabled)
Change-Id: Ic97cd15421804ff4b6edacfc20dd81515835d58d
Fixes: 70259821
Bug: 29737261
parent 066b551e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -8373,10 +8373,10 @@ public final class Settings {
        private static final Validator POWER_SOUNDS_ENABLED_VALIDATOR = BOOLEAN_VALIDATOR;

        /**
         * URI for the "wireless charging started" sound.
         * URI for the "wireless charging started" and "wired charging started" sound.
         * @hide
         */
        public static final String WIRELESS_CHARGING_STARTED_SOUND =
        public static final String CHARGING_STARTED_SOUND =
                "wireless_charging_started_sound";

        /**
+1 −3
Original line number Diff line number Diff line
@@ -17,11 +17,9 @@
package android.provider;

import static com.google.android.collect.Sets.newHashSet;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.empty;
import static org.hamcrest.Matchers.is;

import static java.lang.reflect.Modifier.isFinal;
import static java.lang.reflect.Modifier.isPublic;
import static java.lang.reflect.Modifier.isStatic;
@@ -440,7 +438,7 @@ public class SettingsBackupTest {
                    Settings.Global.WIFI_WATCHDOG_ON,
                    Settings.Global.WIMAX_NETWORKS_AVAILABLE_NOTIFICATION_ON,
                    Settings.Global.WINDOW_ANIMATION_SCALE,
                    Settings.Global.WIRELESS_CHARGING_STARTED_SOUND,
                    Settings.Global.CHARGING_STARTED_SOUND,
                    Settings.Global.WTF_IS_FATAL,
                    Settings.Global.ZEN_MODE,
                    Settings.Global.ZEN_MODE_CONFIG_ETAG,
+2 −3
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@ import android.provider.Settings.Secure;
import android.text.TextUtils;
import android.util.Log;

import com.android.ims.ImsConfig;
import com.android.internal.content.PackageHelper;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.RILConstants;
@@ -1504,7 +1503,7 @@ class DatabaseHelper extends SQLiteOpenHelper {
                try {
                    stmt = db.compileStatement("INSERT OR REPLACE INTO global(name,value)"
                            + " VALUES(?,?);");
                    loadStringSetting(stmt, Settings.Global.WIRELESS_CHARGING_STARTED_SOUND,
                    loadStringSetting(stmt, Settings.Global.CHARGING_STARTED_SOUND,
                            R.string.def_wireless_charging_started_sound);
                    db.setTransactionSuccessful();
                } finally {
@@ -2578,7 +2577,7 @@ class DatabaseHelper extends SQLiteOpenHelper {
                    R.string.def_car_dock_sound);
            loadStringSetting(stmt, Settings.Global.CAR_UNDOCK_SOUND,
                    R.string.def_car_undock_sound);
            loadStringSetting(stmt, Settings.Global.WIRELESS_CHARGING_STARTED_SOUND,
            loadStringSetting(stmt, Settings.Global.CHARGING_STARTED_SOUND,
                    R.string.def_wireless_charging_started_sound);

            loadIntegerSetting(stmt, Settings.Global.DOCK_AUDIO_MEDIA_ENABLED,
+1 −1
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ class SettingsProtoDumpUtil {
                Settings.Global.POWER_SOUNDS_ENABLED,
                GlobalSettingsProto.POWER_SOUNDS_ENABLED);
        dumpSetting(s, p,
                Settings.Global.WIRELESS_CHARGING_STARTED_SOUND,
                Settings.Global.CHARGING_STARTED_SOUND,
                GlobalSettingsProto.WIRELESS_CHARGING_STARTED_SOUND);
        dumpSetting(s, p,
                Settings.Global.CHARGING_SOUNDS_ENABLED,
+28 −3
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ final class Notifier {
    private static final int MSG_WIRELESS_CHARGING_STARTED = 3;
    private static final int MSG_SCREEN_BRIGHTNESS_BOOST_CHANGED = 4;
    private static final int MSG_PROFILE_TIMED_OUT = 5;
    private static final int MSG_WIRED_CHARGING_STARTED = 6;

    private final Object mLock = new Object();

@@ -571,6 +572,20 @@ final class Notifier {
        mHandler.sendMessage(msg);
    }

    /**
     * Called when wired charging has started so as to provide user feedback
     */
    public void onWiredChargingStarted() {
        if (DEBUG) {
            Slog.d(TAG, "onWiredChargingStarted");
        }

        mSuspendBlocker.acquire();
        Message msg = mHandler.obtainMessage(MSG_WIRED_CHARGING_STARTED);
        msg.setAsynchronous(true);
        mHandler.sendMessage(msg);
    }

    private void updatePendingBroadcastLocked() {
        if (!mBroadcastInProgress
                && mPendingInteractiveState != INTERACTIVE_STATE_UNKNOWN
@@ -703,11 +718,14 @@ final class Notifier {
        }
    };

    private void playWirelessChargingStartedSound() {
    /**
     * Plays the wireless charging sound for both wireless and non-wireless charging
     */
    private void playChargingStartedSound() {
        final boolean enabled = Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.CHARGING_SOUNDS_ENABLED, 1) != 0;
        final String soundPath = Settings.Global.getString(mContext.getContentResolver(),
                Settings.Global.WIRELESS_CHARGING_STARTED_SOUND);
                Settings.Global.CHARGING_STARTED_SOUND);
        if (enabled && soundPath != null) {
            final Uri soundUri = Uri.parse("file://" + soundPath);
            if (soundUri != null) {
@@ -721,11 +739,16 @@ final class Notifier {
    }

    private void showWirelessChargingStarted(int batteryLevel) {
        playWirelessChargingStartedSound();
        playChargingStartedSound();
        mStatusBarManagerInternal.showChargingAnimation(batteryLevel);
        mSuspendBlocker.release();
    }

    private void showWiredChargingStarted() {
        playChargingStartedSound();
        mSuspendBlocker.release();
    }

    private void lockProfile(@UserIdInt int userId) {
        mTrustManager.setDeviceLockedForUser(userId, true /*locked*/);
    }
@@ -753,6 +776,8 @@ final class Notifier {
                case MSG_PROFILE_TIMED_OUT:
                    lockProfile(msg.arg1);
                    break;
                case MSG_WIRED_CHARGING_STARTED:
                    showWiredChargingStarted();
            }
        }
    }
Loading