package me.piebridge.brevent.override; import android.app.ActivityManager; import android.os.UserHandle; import android.provider.Settings; import android.util.Log; /** * hide api for n * Created by thom on 2017/2/22. */ public class HideApiOverrideN { private static final String TAG = "BreventServer"; public static final int USER_SYSTEM = getUserSystem(); public static final String WEBVIEW_PROVIDER = getWebviewProvider(); public static final int FREEFORM_WORKSPACE_STACK_ID = getFreeformWorkspaceStackId(); private HideApiOverrideN() { } public static boolean isFreeForm(ActivityManager.RecentTaskInfo taskInfo) { return taskInfo.stackId == FREEFORM_WORKSPACE_STACK_ID; } private static int getUserSystem() { try { return UserHandle.USER_SYSTEM; } catch (LinkageError e) { Log.w(TAG, "Can't find UserHandle.USER_SYSTEM"); return 0; } } private static String getWebviewProvider() { try { return Settings.Global.WEBVIEW_PROVIDER; } catch (LinkageError e) { Log.w(TAG, "Can't find Settings.Global.WEBVIEW_PROVIDER"); return "webview_provider"; } } private static int getFreeformWorkspaceStackId() { try { return ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID; } catch (LinkageError e) { Log.w(TAG, "Can't find ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID"); return 2; } } }