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

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

Merge cherrypicks of ['googleplex-android-review.googlesource.com/27918880',...

Merge cherrypicks of ['googleplex-android-review.googlesource.com/27918880', 'googleplex-android-review.googlesource.com/28027477', 'googleplex-android-review.googlesource.com/28326671'] into 24Q3-release.

Change-Id: Id237df0d96a112e47b00d5f9ba0884e99f935c86
parents 768511b9 a6149ddf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -140,7 +140,7 @@
    <uses-permission android:name="android.permission.REMAP_MODIFIER_KEYS" />
    <uses-permission android:name="android.permission.ACCESS_GPU_SERVICE" />
    <uses-permission android:name="android.permission.MANAGE_GAME_MODE" />
    <uses-permission android:name="android.permission.RESTART_PHONE_PROCESS" />
    <uses-permission android:name="android.permission.RESTART_TELEPHONY_PROCESS" />
    <uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" />
    <uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />
    <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
+3 −3
Original line number Diff line number Diff line
@@ -271,12 +271,12 @@ public class ResetNetworkRequest {
            builder.resetIms(mSubscriptionIdToResetIms);
        }
        // Reset phone process and RILD may impact above components, keep them at the end
        if ((mResetOptions & RESET_PHONE_PROCESS) != 0) {
            builder.restartPhoneProcess();
        }
        if ((mResetOptions & RESET_RILD) != 0) {
            builder.restartRild();
        }
        if ((mResetOptions & RESET_PHONE_PROCESS) != 0) {
            builder.restartPhoneProcess();
        }
        return builder;
    }
}
+11 −1
Original line number Diff line number Diff line
@@ -142,13 +142,23 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment
    }

    @VisibleForTesting
    @Nullable
    CachedBluetoothDevice getCachedDevice(String deviceAddress) {
        if (sTestDataFactory != null) {
            return sTestDataFactory.getDevice(deviceAddress);
        }
        BluetoothDevice remoteDevice =
                mManager.getBluetoothAdapter().getRemoteDevice(deviceAddress);
        return mManager.getCachedDeviceManager().findDevice(remoteDevice);
        if (remoteDevice == null) {
            return null;
        }
        CachedBluetoothDevice cachedDevice =
                mManager.getCachedDeviceManager().findDevice(remoteDevice);
        if (cachedDevice != null) {
            return cachedDevice;
        }
        Log.i(TAG, "Add device to cached device manager: " + remoteDevice.getAnonymizedAddress());
        return mManager.getCachedDeviceManager().addDevice(remoteDevice);
    }

    @VisibleForTesting
+31 −20
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.network;

import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothManager;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.Context;
import android.net.ConnectivityManager;
@@ -28,11 +29,14 @@ import android.net.wifi.WifiManager;
import android.net.wifi.p2p.WifiP2pManager;
import android.os.Looper;
import android.os.RecoverySystem;
import android.os.RemoteException;
import android.os.SystemClock;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;

import androidx.annotation.Nullable;

import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.ResetNetworkRequest;
@@ -257,15 +261,15 @@ public class ResetNetworkOperationBuilder {
     */
    public ResetNetworkOperationBuilder restartPhoneProcess() {
        Runnable runnable = () -> {
            try {
                mContext.getContentResolver().call(
                        getResetTelephonyContentProviderAuthority(),
                        METHOD_RESTART_PHONE_PROCESS,
                        /* arg= */ null,
                        /* extras= */ null);
            // Unstable content provider can avoid us getting killed together with phone process
            try (ContentProviderClient client = getUnstableTelephonyContentProviderClient()) {
                if (client != null) {
                    client.call(METHOD_RESTART_PHONE_PROCESS, /* arg= */ null, /* extra= */ null);
                    Log.i(TAG, "Phone process was restarted.");
            } catch (IllegalArgumentException iae) {
                Log.w(TAG, "Fail to restart phone process: " + iae);
                }
            } catch (RemoteException re) {
                // It's normal to throw RE since phone process immediately dies
                Log.i(TAG, "Phone process has been restarted: " + re);
            }
        };
        mResetSequence.add(runnable);
@@ -279,15 +283,13 @@ public class ResetNetworkOperationBuilder {
     */
    public ResetNetworkOperationBuilder restartRild() {
        Runnable runnable = () -> {
            try {
                mContext.getContentResolver().call(
                        getResetTelephonyContentProviderAuthority(),
                        METHOD_RESTART_RILD,
                        /* arg= */ null,
                        /* extras= */ null);
            try (ContentProviderClient client = getUnstableTelephonyContentProviderClient()) {
                if (client != null) {
                    client.call(METHOD_RESTART_RILD, /* arg= */ null, /* extra= */ null);
                    Log.i(TAG, "RILD was restarted.");
            } catch (IllegalArgumentException iae) {
                Log.w(TAG, "Fail to restart RILD: " + iae);
                }
            } catch (RemoteException re) {
                Log.w(TAG, "Fail to restart RILD: " + re);
            }
        };
        mResetSequence.add(runnable);
@@ -322,9 +324,18 @@ public class ResetNetworkOperationBuilder {
     * @return the authority of the telephony content provider that support methods
     * resetPhoneProcess and resetRild.
     */
    @VisibleForTesting
    String getResetTelephonyContentProviderAuthority() {
    private String getResetTelephonyContentProviderAuthority() {
        return mContext.getResources().getString(
                R.string.reset_telephony_stack_content_provider_authority);
    }

    /**
     * @return the unstable content provider to avoid us getting killed with phone process
     */
    @Nullable
    @VisibleForTesting
    public ContentProviderClient getUnstableTelephonyContentProviderClient() {
        return mContext.getContentResolver().acquireUnstableContentProviderClient(
                getResetTelephonyContentProviderAuthority());
    }
}
+0 −6
Original line number Diff line number Diff line
@@ -20,13 +20,10 @@ import android.os.Bundle;

import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;

/**
 * Cellular Security features (insecure network notifications, network security controls, etc)
 */
@SearchIndexable
public class CellularSecuritySettingsFragment extends DashboardFragment {

    private static final String TAG = "CellularSecuritySettingsFragment";
@@ -53,7 +50,4 @@ public class CellularSecuritySettingsFragment extends DashboardFragment {
        super.onCreatePreferences(bundle, rootKey);
        setPreferencesFromResource(R.xml.cellular_security, rootKey);
    }

    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider(R.xml.cellular_security);
}
Loading