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

Commit d7fbcf25 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Merge cherrypicks of [18219307, 18330693, 18158869, 18670860, 18356598,...

Merge cherrypicks of [18219307, 18330693, 18158869, 18670860, 18356598, 18704664, 18670793] into security-aosp-qt-release.

Change-Id: I797d9e4625d91e7b66c9bd4943ce6702e7d4e594
parents 9a10c737 e3ec56c8
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -18,13 +18,13 @@
        android:title="@string/location_scanning_screen_title"
        android:title="@string/location_scanning_screen_title"
        android:key="scanning_screen">
        android:key="scanning_screen">


        <SwitchPreference
        <com.android.settingslib.RestrictedSwitchPreference
            android:title="@string/location_scanning_wifi_always_scanning_title"
            android:title="@string/location_scanning_wifi_always_scanning_title"
            android:summary="@string/location_scanning_wifi_always_scanning_description"
            android:summary="@string/location_scanning_wifi_always_scanning_description"
            android:defaultValue="true"
            android:defaultValue="true"
            android:key="wifi_always_scanning" />
            android:key="wifi_always_scanning" />


        <SwitchPreference
        <com.android.settingslib.RestrictedSwitchPreference
            android:title="@string/location_scanning_bluetooth_always_scanning_title"
            android:title="@string/location_scanning_bluetooth_always_scanning_title"
            android:summary="@string/location_scanning_bluetooth_always_scanning_description"
            android:summary="@string/location_scanning_bluetooth_always_scanning_description"
            android:defaultValue="true"
            android:defaultValue="true"
+26 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,9 @@ import android.content.Intent;
import android.media.RingtoneManager;
import android.media.RingtoneManager;
import android.net.Uri;
import android.net.Uri;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.util.Log;

import androidx.annotation.VisibleForTesting;


public class DefaultRingtonePreference extends RingtonePreference {
public class DefaultRingtonePreference extends RingtonePreference {
    private static final String TAG = "DefaultRingtonePreference";
    private static final String TAG = "DefaultRingtonePreference";
@@ -43,6 +46,29 @@ public class DefaultRingtonePreference extends RingtonePreference {


    @Override
    @Override
    protected void onSaveRingtone(Uri ringtoneUri) {
    protected void onSaveRingtone(Uri ringtoneUri) {
        if (ringtoneUri == null) {
            setActualDefaultRingtoneUri(ringtoneUri);
            return;
        }

        String mimeType = mUserContext.getContentResolver().getType(ringtoneUri);
        if (mimeType == null) {
            Log.e(TAG, "onSaveRingtone for URI:" + ringtoneUri
                    + " ignored: failure to find mimeType (no access from this context?)");
            return;
        }

        if (!(mimeType.startsWith("audio/") || mimeType.equals("application/ogg"))) {
            Log.e(TAG, "onSaveRingtone for URI:" + ringtoneUri
                    + " ignored: associated mimeType:" + mimeType + " is not an audio type");
            return;
        }

        setActualDefaultRingtoneUri(ringtoneUri);
    }

    @VisibleForTesting
    void setActualDefaultRingtoneUri(Uri ringtoneUri) {
        RingtoneManager.setActualDefaultRingtoneUri(mUserContext, getRingtoneType(), ringtoneUri);
        RingtoneManager.setActualDefaultRingtoneUri(mUserContext, getRingtoneType(), ringtoneUri);
    }
    }


+13 −4
Original line number Original line Diff line number Diff line
@@ -46,6 +46,7 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
    private static final String SETTINGS_PACKAGE_NAME = "com.android.settings";
    private static final String SETTINGS_PACKAGE_NAME = "com.android.settings";
    private static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui";
    private static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui";
    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
    private static final String SLICE_ACTION = "com.android.settings.SEARCH_RESULT_TRAMPOLINE";


    @VisibleForTesting
    @VisibleForTesting
    static final String KEY_CONNECTED_DEVICES = "connected_device_list";
    static final String KEY_CONNECTED_DEVICES = "connected_device_list";
@@ -98,8 +99,10 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
                SettingsUIDeviceConfig.BT_NEAR_BY_SUGGESTION_ENABLED, true);
                SettingsUIDeviceConfig.BT_NEAR_BY_SUGGESTION_ENABLED, true);
        String callingAppPackageName = PasswordUtils.getCallingAppPackageName(
        String callingAppPackageName = PasswordUtils.getCallingAppPackageName(
                getActivity().getActivityToken());
                getActivity().getActivityToken());
        String action = getIntent() != null ? getIntent().getAction() : "";
        if (DEBUG) {
        if (DEBUG) {
            Log.d(TAG, "onAttach() calling package name is : " + callingAppPackageName);
            Log.d(TAG, "onAttach() calling package name is : " + callingAppPackageName
                    + ", action : " + action);
        }
        }
        use(AvailableMediaDeviceGroupController.class).init(this);
        use(AvailableMediaDeviceGroupController.class).init(this);
        use(ConnectedDeviceGroupController.class).init(this);
        use(ConnectedDeviceGroupController.class).init(this);
@@ -108,9 +111,15 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
        use(SlicePreferenceController.class).setSliceUri(nearbyEnabled
        use(SlicePreferenceController.class).setSliceUri(nearbyEnabled
                ? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
                ? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
                : null);
                : null);
        use(DiscoverableFooterPreferenceController.class).setAlwaysDiscoverable(
        use(DiscoverableFooterPreferenceController.class)
                TextUtils.equals(SETTINGS_PACKAGE_NAME, callingAppPackageName)
                .setAlwaysDiscoverable(isAlwaysDiscoverable(callingAppPackageName, action));
                        || TextUtils.equals(SYSTEMUI_PACKAGE_NAME, callingAppPackageName));
    }

    @VisibleForTesting
    boolean isAlwaysDiscoverable(String callingAppPackageName, String action) {
        return TextUtils.equals(SLICE_ACTION, action) ? false
                : TextUtils.equals(SETTINGS_PACKAGE_NAME, callingAppPackageName)
                || TextUtils.equals(SYSTEMUI_PACKAGE_NAME, callingAppPackageName);
    }
    }


    /**
    /**
+11 −0
Original line number Original line Diff line number Diff line
@@ -14,12 +14,17 @@
package com.android.settings.location;
package com.android.settings.location;


import android.content.Context;
import android.content.Context;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.provider.Settings;


import androidx.preference.Preference;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
import androidx.preference.SwitchPreference;


import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.AbstractPreferenceController;


public class BluetoothScanningPreferenceController extends AbstractPreferenceController
public class BluetoothScanningPreferenceController extends AbstractPreferenceController
@@ -46,6 +51,12 @@ public class BluetoothScanningPreferenceController extends AbstractPreferenceCon
        ((SwitchPreference) preference).setChecked(
        ((SwitchPreference) preference).setChecked(
                Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.getInt(mContext.getContentResolver(),
                        Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) == 1);
                        Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) == 1);
        final RestrictedLockUtils.EnforcedAdmin admin =
            RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
                mContext, UserManager.DISALLOW_CONFIG_LOCATION, UserHandle.myUserId());
        if (admin != null) {
          ((RestrictedSwitchPreference) preference).setDisabledByAdmin(admin);
        }
    }
    }


    @Override
    @Override
+11 −0
Original line number Original line Diff line number Diff line
@@ -14,12 +14,17 @@
package com.android.settings.location;
package com.android.settings.location;


import android.content.Context;
import android.content.Context;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.provider.Settings;


import androidx.preference.Preference;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
import androidx.preference.SwitchPreference;


import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.AbstractPreferenceController;


public class WifiScanningPreferenceController extends AbstractPreferenceController
public class WifiScanningPreferenceController extends AbstractPreferenceController
@@ -46,6 +51,12 @@ public class WifiScanningPreferenceController extends AbstractPreferenceControll
        ((SwitchPreference) preference).setChecked(
        ((SwitchPreference) preference).setChecked(
                Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.getInt(mContext.getContentResolver(),
                        Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1);
                        Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1);
        final RestrictedLockUtils.EnforcedAdmin admin =
            RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
                mContext, UserManager.DISALLOW_CONFIG_LOCATION, UserHandle.myUserId());
        if (admin != null) {
          ((RestrictedSwitchPreference) preference).setDisabledByAdmin(admin);
        }
    }
    }


    @Override
    @Override
Loading