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

Commit 185acfc5 authored by Torne (Richard Coles)'s avatar Torne (Richard Coles)
Browse files

Remove WebView fallback package handling.

There is no longer a special "fallback package" state for WebView that
means it should not be able to have its enabled/disabled state
controlled by the user. Remove the code used to implement this in
Settings.

Bug: 129470358
Test: verify that WebView's enable/disable button is not greyed out
Change-Id: Ifc0921511a71282a77f239e5ff5955e60fab6e2c
parent d65fee5e
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -33,13 +33,10 @@ import android.content.res.Resources;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.Log;
import android.view.View;
import android.webkit.IWebViewUpdateService;

import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.Fragment;
@@ -438,10 +435,6 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
            enabled = false;
        }

        if (isFallbackPackage(mAppEntry.info.packageName)) {
            enabled = false;
        }

        mButtonsPref.setButton2Enabled(enabled);
    }

@@ -466,22 +459,6 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
        }
    }

    @VisibleForTesting
    boolean isFallbackPackage(String packageName) {
        try {
            IWebViewUpdateService webviewUpdateService =
                    IWebViewUpdateService.Stub.asInterface(
                            ServiceManager.getService("webviewupdate"));
            if (webviewUpdateService.isFallbackPackage(packageName)) {
                return true;
            }
        } catch (RemoteException e) {
            throw new RuntimeException(e);
        }

        return false;
    }

    @VisibleForTesting
    void updateForceStopButton() {
        if (mDpm.packageHasActiveAdmins(mPackageInfo.packageName)) {
+1 −13
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.webkit.IWebViewUpdateService;

import androidx.appcompat.app.AlertDialog;

@@ -48,7 +47,6 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener,
    private final PackageManager mPm;
    private final IPackageManager mIPm;
    private final INotificationManager mNm;
    private final IWebViewUpdateService mWvus;
    private final NetworkPolicyManager mNpm;
    private final AppOpsManager mAom;
    private final Context mContext;
@@ -61,7 +59,6 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener,
        mIPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
        mNm = INotificationManager.Stub.asInterface(
                ServiceManager.getService(Context.NOTIFICATION_SERVICE));
        mWvus = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate"));
        mNpm = NetworkPolicyManager.from(context);
        mAom = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
    }
@@ -122,8 +119,7 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener,
                    }
                    if (!app.enabled) {
                        if (mPm.getApplicationEnabledSetting(app.packageName)
                                == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
                                && !isNonEnableableFallback(app.packageName)) {
                                == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER) {
                            mPm.setApplicationEnabledSetting(app.packageName,
                                    PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
                                    PackageManager.DONT_KILL_APP);
@@ -147,12 +143,4 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener,
            }
        });
    }

    private boolean isNonEnableableFallback(String packageName) {
        try {
            return mWvus.isFallbackPackage(packageName);
        } catch (RemoteException e) {
            throw new RuntimeException(e);
        }
    }
}
+0 −1
Original line number Diff line number Diff line
@@ -119,7 +119,6 @@ public class AppButtonsPreferenceControllerTest {

        mController = spy(new AppButtonsPreferenceController(mSettingsActivity, mFragment,
                mLifecycle, PACKAGE_NAME, mState, REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN));
        doReturn(false).when(mController).isFallbackPackage(anyString());

        mAppEntry.info = mAppInfo;
        mAppInfo.packageName = PACKAGE_NAME;