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

Unverified Commit 6a156cb0 authored by Kevin F. Haggerty's avatar Kevin F. Haggerty
Browse files

Merge tag 'android-security-10.0.0_r69' of...

Merge tag 'android-security-10.0.0_r69' of https://android.googlesource.com/platform/packages/apps/Settings into staging/lineage-17.1_merge_android-security-10.0.0_r69

Android Security 10.0.0 Release 69 (8712615)

* tag 'android-security-10.0.0_r69' of https://android.googlesource.com/platform/packages/apps/Settings:
  Extract app label from component name in notification access confirmation UI
  [DO NOT MERGE] Fix can't change notification sound for work profile.
  [DO NOT MERGE] Fix Settings crash when setting a null ringtone
  RESTRICT AUTOMERGE Fix: policy enforcement for location wifi scanning
  Do not let guest user disable secuer nfc via SettingsSlice
  RESTRICT AUTOMERGE Make bluetooth not discoverable via SliceDeepLinkTrampoline
  [DO NOT MERGE] Verify ringtone from ringtone picker is audio

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

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

        <SwitchPreference
        <com.android.settingslib.RestrictedSwitchPreference
            android:title="@string/location_scanning_bluetooth_always_scanning_title"
            android:summary="@string/location_scanning_bluetooth_always_scanning_description"
            android:defaultValue="true"
+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
@@ -79,6 +79,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";
@@ -131,8 +132,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);
@@ -142,9 +145,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
@@ -14,12 +14,17 @@
package com.android.settings.location;

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

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

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;

public class BluetoothScanningPreferenceController extends AbstractPreferenceController
@@ -46,6 +51,12 @@ public class BluetoothScanningPreferenceController extends AbstractPreferenceCon
        ((SwitchPreference) preference).setChecked(
                Settings.Global.getInt(mContext.getContentResolver(),
                        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
+11 −0
Original line number Diff line number Diff line
@@ -14,12 +14,17 @@
package com.android.settings.location;

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

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

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;

public class WifiScanningPreferenceController extends AbstractPreferenceController
@@ -46,6 +51,12 @@ public class WifiScanningPreferenceController extends AbstractPreferenceControll
        ((SwitchPreference) preference).setChecked(
                Settings.Global.getInt(mContext.getContentResolver(),
                        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
Loading