Enable Kotlin for Settings App
Currently Kotlin files cannot build with library app-compat-annotations. Only one @ChangeId need this library, create separate build target library Settings-change-ids to solve this issue. After this cl, Kotlin could be used for Settings App. Fix: 229037247 Test: make Settings Change-Id: I4a0d99425c9e6cc2cbc015d2561daa68609ca0fd
This commit is contained in:
15
Android.bp
15
Android.bp
@@ -35,6 +35,15 @@ java_library {
|
|||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
java_library {
|
||||||
|
name: "Settings-change-ids",
|
||||||
|
srcs: ["src/com/android/settings/ChangeIds.java"],
|
||||||
|
libs: [
|
||||||
|
"app-compat-annotations",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Build the Settings APK
|
// Build the Settings APK
|
||||||
android_library {
|
android_library {
|
||||||
name: "Settings-core",
|
name: "Settings-core",
|
||||||
@@ -77,18 +86,18 @@ android_library {
|
|||||||
"lottie",
|
"lottie",
|
||||||
"WifiTrackerLib",
|
"WifiTrackerLib",
|
||||||
"SettingsLibActivityEmbedding",
|
"SettingsLibActivityEmbedding",
|
||||||
|
"Settings-change-ids",
|
||||||
],
|
],
|
||||||
|
|
||||||
libs: [
|
libs: [
|
||||||
"telephony-common",
|
"telephony-common",
|
||||||
"ims-common",
|
"ims-common",
|
||||||
"app-compat-annotations",
|
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
platform_compat_config {
|
platform_compat_config {
|
||||||
name: "settings-platform-compat-config",
|
name: "settings-platform-compat-config",
|
||||||
src: ":Settings-core",
|
src: ":Settings-change-ids",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,7 +135,7 @@ filegroup {
|
|||||||
// over all the sources together.
|
// over all the sources together.
|
||||||
filegroup {
|
filegroup {
|
||||||
name: "Settings_srcs",
|
name: "Settings_srcs",
|
||||||
srcs: ["src/**/*.java"],
|
srcs: ["src/**/*.java", "src/**/*.kt"],
|
||||||
}
|
}
|
||||||
|
|
||||||
filegroup {
|
filegroup {
|
||||||
|
35
src/com/android/settings/ChangeIds.java
Normal file
35
src/com/android/settings/ChangeIds.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2022 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.settings;
|
||||||
|
|
||||||
|
import android.compat.annotation.ChangeId;
|
||||||
|
import android.compat.annotation.LoggingOnly;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* All the {@link ChangeId} used for Settings App.
|
||||||
|
*/
|
||||||
|
public class ChangeIds {
|
||||||
|
/**
|
||||||
|
* Intents with action {@code android.settings.MANAGE_APP_OVERLAY_PERMISSION}
|
||||||
|
* and data URI scheme {@code package} don't go to the app-specific screen for managing the
|
||||||
|
* permission anymore. Instead, they redirect to this screen for managing all the apps that have
|
||||||
|
* requested such permission.
|
||||||
|
*/
|
||||||
|
@ChangeId
|
||||||
|
@LoggingOnly
|
||||||
|
public static final long CHANGE_RESTRICT_SAW_INTENT = 135920175L;
|
||||||
|
}
|
@@ -18,6 +18,7 @@ package com.android.settings.applications.manageapplications;
|
|||||||
|
|
||||||
import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
|
import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
|
||||||
|
|
||||||
|
import static com.android.settings.ChangeIds.CHANGE_RESTRICT_SAW_INTENT;
|
||||||
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_ALL;
|
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_ALL;
|
||||||
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_BLOCKED;
|
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_BLOCKED;
|
||||||
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_DISABLED;
|
import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_DISABLED;
|
||||||
@@ -37,8 +38,6 @@ import android.app.Activity;
|
|||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.app.usage.IUsageStatsManager;
|
import android.app.usage.IUsageStatsManager;
|
||||||
import android.compat.annotation.ChangeId;
|
|
||||||
import android.compat.annotation.LoggingOnly;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
@@ -190,16 +189,6 @@ public class ManageApplications extends InstrumentedFragment
|
|||||||
public static final int STORAGE_TYPE_DEFAULT = 0; // Show all apps that are not categorized.
|
public static final int STORAGE_TYPE_DEFAULT = 0; // Show all apps that are not categorized.
|
||||||
public static final int STORAGE_TYPE_LEGACY = 1; // Show apps even if they can be categorized.
|
public static final int STORAGE_TYPE_LEGACY = 1; // Show apps even if they can be categorized.
|
||||||
|
|
||||||
/**
|
|
||||||
* Intents with action {@code android.settings.MANAGE_APP_OVERLAY_PERMISSION}
|
|
||||||
* and data URI scheme {@code package} don't go to the app-specific screen for managing the
|
|
||||||
* permission anymore. Instead, they redirect to this screen for managing all the apps that have
|
|
||||||
* requested such permission.
|
|
||||||
*/
|
|
||||||
@ChangeId
|
|
||||||
@LoggingOnly
|
|
||||||
private static final long CHANGE_RESTRICT_SAW_INTENT = 135920175L;
|
|
||||||
|
|
||||||
// sort order
|
// sort order
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
int mSortOrder = R.id.sort_order_alpha;
|
int mSortOrder = R.id.sort_order_alpha;
|
||||||
|
Reference in New Issue
Block a user