There is a protection in Settings that Settings would gray out if tethering requires entitlement check but the entitlement app is invalid. Tethering resource is moved from framework to tethering module, so Settings can not fetch entitlement app name anymore. In this change, tethering module would check whether entitltement app package name is exsited if entitlement check is needed. Tethering would be not supported (Settings tethering option would be hidded) if entitlement app is not installed. After moving the protection into tethering module, TetherUtil#isProvisioningNeeded is no longer needed. Because The only use case is Settings wants to gray out tethering setting when entitltement check is needed but entitlement app is invalid. Bug: 146918263 Test: atest TetheringCoverageTests Change-Id: I9a5ff5dbc1db3f3be7fcd7146862a16b373507e6 Merged-In: I9a5ff5dbc1db3f3be7fcd7146862a16b373507e6
35 lines
1.5 KiB
Java
35 lines
1.5 KiB
Java
/*
|
|
* Copyright (C) 2015 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
package com.android.settingslib;
|
|
|
|
import static android.os.UserManager.DISALLOW_CONFIG_TETHERING;
|
|
|
|
import android.content.Context;
|
|
import android.net.ConnectivityManager;
|
|
import android.os.UserHandle;
|
|
|
|
public class TetherUtil {
|
|
public static boolean isTetherAvailable(Context context) {
|
|
final ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
|
|
final boolean tetherConfigDisallowed = RestrictedLockUtilsInternal
|
|
.checkIfRestrictionEnforced(context, DISALLOW_CONFIG_TETHERING,
|
|
UserHandle.myUserId()) != null;
|
|
final boolean hasBaseUserRestriction = RestrictedLockUtilsInternal.hasBaseUserRestriction(
|
|
context, DISALLOW_CONFIG_TETHERING, UserHandle.myUserId());
|
|
return (cm.isTetheringSupported() || tetherConfigDisallowed) && !hasBaseUserRestriction;
|
|
}
|
|
}
|