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

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

Merge cherrypicks of [18219302, 18330688, 18158869, 18690005, 18672647,...

Merge cherrypicks of [18219302, 18330688, 18158869, 18690005, 18672647, 18356593, 18704656] into security-aosp-sc-v2-release.

Change-Id: I7b95c02211cee95b2bb96d4d324c06c75408cab1
parents af6dcc84 ea7692e3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -23,13 +23,13 @@
            android:layout="@layout/preference_category_no_label"
            settings:controller="com.android.settings.location.LocationInjectedServicesPreferenceController"/>

        <Preference
        <com.android.settingslib.RestrictedPreference
            android:fragment="com.android.settings.location.WifiScanningFragment"
            android:key="location_services_wifi_scanning"
            android:title="@string/location_scanning_wifi_always_scanning_title"
            settings:controller="com.android.settings.location.LocationServicesWifiScanningPreferenceController"/>

        <Preference
        <com.android.settingslib.RestrictedPreference
            android:fragment="com.android.settings.location.BluetoothScanningFragment"
            android:key="location_services_bluetooth_scanning"
            android:title="@string/location_scanning_bluetooth_always_scanning_title"
+26 −0
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@ import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.util.AttributeSet;
import android.util.Log;

import androidx.annotation.VisibleForTesting;

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

    @Override
    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);
    }

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

    @VisibleForTesting
    static final String KEY_CONNECTED_DEVICES = "connected_device_list";
@@ -72,8 +73,10 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
                SettingsUIDeviceConfig.BT_NEAR_BY_SUGGESTION_ENABLED, true);
        String callingAppPackageName = PasswordUtils.getCallingAppPackageName(
                getActivity().getActivityToken());
        String action = getIntent() != null ? getIntent().getAction() : "";
        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(ConnectedDeviceGroupController.class).init(this);
@@ -81,9 +84,15 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment {
        use(SlicePreferenceController.class).setSliceUri(nearbyEnabled
                ? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
                : null);
        use(DiscoverableFooterPreferenceController.class).setAlwaysDiscoverable(
                TextUtils.equals(SETTINGS_PACKAGE_NAME, callingAppPackageName)
                        || TextUtils.equals(SYSTEMUI_PACKAGE_NAME, callingAppPackageName));
        use(DiscoverableFooterPreferenceController.class)
                .setAlwaysDiscoverable(isAlwaysDiscoverable(callingAppPackageName, action));
    }

    @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 Diff line number Diff line
@@ -16,10 +16,14 @@
package com.android.settings.location;

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

import androidx.preference.Preference;

import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.RestrictedPreference;

/**
 * Preference controller for Bluetooth scanning in Location Services.
@@ -31,6 +35,13 @@ public class LocationServicesBluetoothScanningPreferenceController extends
        super(context, key);
    }

    @Override
    public void updateState(Preference preference) {
        ((RestrictedPreference) preference).checkRestrictionAndSetDisabled(
                UserManager.DISALLOW_CONFIG_LOCATION);
        refreshSummary(preference);
    }

    @Override
    public CharSequence getSummary() {
        final boolean bleScanOn = Settings.Global.getInt(mContext.getContentResolver(),
+11 −0
Original line number Diff line number Diff line
@@ -17,9 +17,13 @@ package com.android.settings.location;

import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.UserManager;

import androidx.preference.Preference;

import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.RestrictedPreference;

/**
 * Preference controller for Wi-Fi scanning in Location Services.
@@ -33,6 +37,13 @@ public class LocationServicesWifiScanningPreferenceController extends BasePrefer
        mWifiManager = context.getSystemService(WifiManager.class);
    }

    @Override
    public void updateState(Preference preference) {
        ((RestrictedPreference) preference).checkRestrictionAndSetDisabled(
                UserManager.DISALLOW_CONFIG_LOCATION);
        refreshSummary(preference);
    }

    @Override
    public CharSequence getSummary() {
        final boolean wifiScanOn = mWifiManager.isScanAlwaysAvailable();
Loading