summaryrefslogtreecommitdiff
path: root/common/framework/com/android/net/module/util/ConnectivitySettingsUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'common/framework/com/android/net/module/util/ConnectivitySettingsUtils.java')
-rw-r--r--common/framework/com/android/net/module/util/ConnectivitySettingsUtils.java131
1 files changed, 0 insertions, 131 deletions
diff --git a/common/framework/com/android/net/module/util/ConnectivitySettingsUtils.java b/common/framework/com/android/net/module/util/ConnectivitySettingsUtils.java
deleted file mode 100644
index f4856b34..00000000
--- a/common/framework/com/android/net/module/util/ConnectivitySettingsUtils.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2021 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.net.module.util;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-/**
- * Collection of connectivity settings utilities.
- *
- * @hide
- */
-public class ConnectivitySettingsUtils {
- public static final int PRIVATE_DNS_MODE_OFF = 1;
- public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2;
- public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3;
-
- public static final String PRIVATE_DNS_DEFAULT_MODE = "private_dns_default_mode";
- public static final String PRIVATE_DNS_MODE = "private_dns_mode";
- public static final String PRIVATE_DNS_MODE_OFF_STRING = "off";
- public static final String PRIVATE_DNS_MODE_OPPORTUNISTIC_STRING = "opportunistic";
- public static final String PRIVATE_DNS_MODE_PROVIDER_HOSTNAME_STRING = "hostname";
- public static final String PRIVATE_DNS_SPECIFIER = "private_dns_specifier";
-
- /**
- * Get private DNS mode as string.
- *
- * @param mode One of the private DNS values.
- * @return A string of private DNS mode.
- */
- public static String getPrivateDnsModeAsString(int mode) {
- switch (mode) {
- case PRIVATE_DNS_MODE_OFF:
- return PRIVATE_DNS_MODE_OFF_STRING;
- case PRIVATE_DNS_MODE_OPPORTUNISTIC:
- return PRIVATE_DNS_MODE_OPPORTUNISTIC_STRING;
- case PRIVATE_DNS_MODE_PROVIDER_HOSTNAME:
- return PRIVATE_DNS_MODE_PROVIDER_HOSTNAME_STRING;
- default:
- throw new IllegalArgumentException("Invalid private dns mode: " + mode);
- }
- }
-
- private static int getPrivateDnsModeAsInt(String mode) {
- // If both PRIVATE_DNS_MODE and PRIVATE_DNS_DEFAULT_MODE are not set, choose
- // PRIVATE_DNS_MODE_OPPORTUNISTIC as default mode.
- if (TextUtils.isEmpty(mode))
- return PRIVATE_DNS_MODE_OPPORTUNISTIC;
- switch (mode) {
- case "off":
- return PRIVATE_DNS_MODE_OFF;
- case "hostname":
- return PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
- case "opportunistic":
- return PRIVATE_DNS_MODE_OPPORTUNISTIC;
- default:
- // b/260211513: adb shell settings put global private_dns_mode foo
- // can result in arbitrary strings - treat any unknown value as empty string.
- // throw new IllegalArgumentException("Invalid private dns mode: " + mode);
- return PRIVATE_DNS_MODE_OPPORTUNISTIC;
- }
- }
-
- /**
- * Get private DNS mode from settings.
- *
- * @param context The Context to query the private DNS mode from settings.
- * @return An integer of private DNS mode.
- */
- public static int getPrivateDnsMode(@NonNull Context context) {
- final ContentResolver cr = context.getContentResolver();
- String mode = Settings.Global.getString(cr, PRIVATE_DNS_MODE);
- if (TextUtils.isEmpty(mode)) mode = Settings.Global.getString(cr, PRIVATE_DNS_DEFAULT_MODE);
- return getPrivateDnsModeAsInt(mode);
- }
-
- /**
- * Set private DNS mode to settings.
- *
- * @param context The {@link Context} to set the private DNS mode.
- * @param mode The private dns mode. This should be one of the PRIVATE_DNS_MODE_* constants.
- */
- public static void setPrivateDnsMode(@NonNull Context context, int mode) {
- if (!(mode == PRIVATE_DNS_MODE_OFF
- || mode == PRIVATE_DNS_MODE_OPPORTUNISTIC
- || mode == PRIVATE_DNS_MODE_PROVIDER_HOSTNAME)) {
- throw new IllegalArgumentException("Invalid private dns mode: " + mode);
- }
- Settings.Global.putString(context.getContentResolver(), PRIVATE_DNS_MODE,
- getPrivateDnsModeAsString(mode));
- }
-
- /**
- * Get specific private dns provider name from {@link Settings}.
- *
- * @param context The {@link Context} to query the setting.
- * @return The specific private dns provider name, or null if no setting value.
- */
- @Nullable
- public static String getPrivateDnsHostname(@NonNull Context context) {
- return Settings.Global.getString(context.getContentResolver(), PRIVATE_DNS_SPECIFIER);
- }
-
- /**
- * Set specific private dns provider name to {@link Settings}.
- *
- * @param context The {@link Context} to set the setting.
- * @param specifier The specific private dns provider name.
- */
- public static void setPrivateDnsHostname(@NonNull Context context, @Nullable String specifier) {
- Settings.Global.putString(context.getContentResolver(), PRIVATE_DNS_SPECIFIER, specifier);
- }
-}