api-impl: add misc stubs and static finals

This commit is contained in:
Mis012
2025-10-23 15:33:30 +02:00
parent c4e7d27b9b
commit 9ab58e4736
20 changed files with 1865 additions and 22 deletions

View File

@@ -624,6 +624,23 @@ public class Activity extends ContextThemeWrapper implements Window.Callback, La
return 0;
}
public int getTaskId() {
/* we don't support multiple activity stacks, so this is probably fine? */
return System.identityHashCode(this_application);
}
boolean moveTaskToBack(boolean nonroot) {
return true;
}
void setFinishOnTouchOutside(boolean finish) {
}
public void finishActivity(int requestCode) {
/* TODO: track started activities so we can finish the right one here */
Slog.w(TAG, "finishActivity: stub");
}
public void finishAfterTransition() {
finish();
}

View File

@@ -3,6 +3,8 @@ package android.app;
import android.content.Context;
import android.content.pm.ConfigurationInfo;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Process;
@@ -26,6 +28,7 @@ public class ActivityManager {
}
public static class TaskDescription {
public TaskDescription(String name) {}
public TaskDescription(String name, Bitmap icon, int color) {}
}
@@ -95,4 +98,7 @@ public class ActivityManager {
}
public static boolean isUserAMonkey() {return false;}
public void moveTaskToFront(int taskId, int flags, Bundle options) {
}
}

View File

@@ -2,6 +2,9 @@ package android.content;
public class ClipData {
public static class Item {
}
String text;
public static ClipData newPlainText(CharSequence label, CharSequence text) {
@@ -9,4 +12,15 @@ public class ClipData {
clip.text = text.toString();
return clip;
}
public void addItem(ContentResolver resolver, Item item) {
}
public Item getItemAt(int index) {
return null;
}
public int getItemCount() {
return 0;
}
}

View File

@@ -0,0 +1,29 @@
package android.content;
public class ClipDescription /*implements Parcelable*/ {
public static final String MIMETYPE_TEXT_PLAIN = "text/plain";
public static final String MIMETYPE_TEXT_HTML = "text/html";
public static final String MIMETYPE_TEXT_URILIST = "text/uri-list";
public static final String MIMETYPE_TEXT_INTENT = "text/vnd.android.intent";
public static final String MIMETYPE_APPLICATION_ACTIVITY = "application/vnd.android.activity";
public static final String MIMETYPE_APPLICATION_SHORTCUT = "application/vnd.android.shortcut";
public static final String MIMETYPE_APPLICATION_TASK = "application/vnd.android.task";
public static final String MIMETYPE_UNKNOWN = "application/octet-stream";
public static final String EXTRA_PENDING_INTENT = "android.intent.extra.PENDING_INTENT";
public static final String EXTRA_ACTIVITY_OPTIONS = "android.intent.extra.ACTIVITY_OPTIONS";
public static final String EXTRA_LOGGING_INSTANCE_ID = "android.intent.extra.LOGGING_INSTANCE_ID";
public static final String EXTRA_HIDE_DRAG_SOURCE_TASK_ID = "android.intent.extra.HIDE_DRAG_SOURCE_TASK_ID";
public static final String EXTRA_IS_SENSITIVE = "android.content.extra.IS_SENSITIVE";
public static final String EXTRA_IS_REMOTE_DEVICE = "android.content.extra.IS_REMOTE_DEVICE";
public static final int CLASSIFICATION_NOT_COMPLETE = 1;
public static final int CLASSIFICATION_NOT_PERFORMED = 2;
public static final int CLASSIFICATION_COMPLETE = 3;
public int getMimeTypeCount() {
return 0;
}
public String getMimeType(int index) {
return "FIXME";
}
}

View File

@@ -23,8 +23,6 @@ import android.os.RemoteException;
import android.util.Log;
import java.util.ArrayList;
class ClipDescription {}
/**
* Interface to the clipboard service, for placing and retrieving text in
* the global clipboard.

View File

@@ -56,7 +56,10 @@ public abstract class ContentProvider {
public abstract ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException;
public abstract AssetFileDescriptor openAssetFile(Uri uri, String mode) throws FileNotFoundException;
public AssetFileDescriptor openAssetFile(Uri uri, String mode) throws FileNotFoundException {
ParcelFileDescriptor fd = openFile(uri, mode);
return fd != null ? new AssetFileDescriptor(fd, 0, -1) : null;
}
public void attachInfo(Context context, ProviderInfo provider) {}

View File

@@ -14,6 +14,8 @@ import android.os.CancellationSignal;
import android.os.ParcelFileDescriptor;
public class ContentResolver {
public static final String SCHEME_CONTENT = "content";
public static final String SYNC_EXTRAS_IGNORE_SETTINGS = "ignore_settings";
public final void registerContentObserver(Uri uri, boolean notifyForDescendants, ContentObserver observer) {
@@ -40,6 +42,10 @@ public class ContentResolver {
}
}
public ParcelFileDescriptor openFileDescriptor(Uri uri, String mode, CancellationSignal signal) throws FileNotFoundException {
return openFileDescriptor(uri, mode);
}
public AssetFileDescriptor openAssetFileDescriptor(Uri uri, String mode) throws FileNotFoundException {
if ("file".equals(uri.getScheme())) {
return new AssetFileDescriptor(ParcelFileDescriptor.open(new File(uri.getPath()), ParcelFileDescriptor.parseMode(mode)), 0, AssetFileDescriptor.UNKNOWN_LENGTH);
@@ -52,6 +58,19 @@ public class ContentResolver {
}
}
public AssetFileDescriptor openAssetFileDescriptor(Uri uri, String mode, CancellationSignal signal) throws FileNotFoundException {
return openAssetFileDescriptor(uri, mode);
}
public final AssetFileDescriptor openTypedAssetFileDescriptor(Uri uri, String mimeType, Bundle opts) throws FileNotFoundException {
/* FIXME */
return openAssetFileDescriptor(uri, "r");
}
public final AssetFileDescriptor openTypedAssetFileDescriptor(Uri uri, String mimeType, Bundle opts, CancellationSignal cancellationSignal) throws FileNotFoundException {
return openTypedAssetFileDescriptor(uri, mimeType, opts);
}
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
ContentProvider provider = ContentProvider.providers.get(uri.getAuthority());
if (provider != null) {

View File

@@ -74,14 +74,16 @@ public class Context extends Object {
private final static String TAG = "Context";
public static final int MODE_PRIVATE = 0;
public static final String LOCATION_SERVICE = "location";
public static final String ACTIVITY_SERVICE = "activity";
public static final String AUDIO_SERVICE = "audio";
public static final String CLIPBOARD_SERVICE = "clipboard";
public static final String DISPLAY_SERVICE = "display";
public static final String MEDIA_ROUTER_SERVICE = "media_router";
public static final String WINDOW_SERVICE = "window";
public static final String INPUT_METHOD_SERVICE = "input";
public static final String LOCATION_SERVICE = "location";
public static final String MEDIA_ROUTER_SERVICE = "media_router";
public static final String POWER_SERVICE = "power";
public static final String VIBRATOR_SERVICE = "vibrator";
public static final String WINDOW_SERVICE = "window";
public static Vibrator vibrator;
@@ -556,7 +558,7 @@ public class Context extends Object {
public void unregisterComponentCallbacks(ComponentCallbacks callbacks) {}
public boolean bindService(final Intent intent, final ServiceConnection serviceConnection, int dummy3) {
public boolean bindService(final Intent intent, final ServiceConnection serviceConnection, int flags) {
if (intent.getComponent() == null) {
for (PackageParser.Service s : pkg.services) {
for (PackageParser.IntentInfo ii : s.intents) {
@@ -568,7 +570,7 @@ public class Context extends Object {
}
}
if (intent.getComponent() == null) {
Slog.w(TAG, "Context.bindService: intent.getComponent() is null");
Slog.w(TAG, "Context.bindService("+intent+", "+serviceConnection+", "+flags+"): intent.getComponent() is null");
return false;
}

View File

@@ -16,9 +16,471 @@ import java.util.Objects;
import java.util.Set;
public class Intent implements Parcelable {
public static final int FLAG_ACTIVITY_CLEAR_TOP = 1 << 26;
public static final int FLAG_ACTIVITY_NEW_TASK = 1 << 28;
public static final String ACTION_ACTIVITY_RECOGNIZER = "android.intent.action.ACTIVITY_RECOGNIZER";
public static final String ACTION_ADVANCED_SETTINGS_CHANGED = "android.intent.action.ADVANCED_SETTINGS";
public static final String ACTION_AIRPLANE_MODE_CHANGED = "android.intent.action.AIRPLANE_MODE";
public static final String ACTION_ALARM_CHANGED = "android.intent.action.ALARM_CHANGED";
public static final String ACTION_ALL_APPS = "android.intent.action.ALL_APPS";
public static final String ACTION_ANSWER = "android.intent.action.ANSWER";
public static final String ACTION_APP_ERROR = "android.intent.action.APP_ERROR";
public static final String ACTION_APPLICATION_LOCALE_CHANGED = "android.intent.action.APPLICATION_LOCALE_CHANGED";
public static final String ACTION_APPLICATION_PREFERENCES = "android.intent.action.APPLICATION_PREFERENCES";
public static final String ACTION_APPLICATION_RESTRICTIONS_CHANGED = "android.intent.action.APPLICATION_RESTRICTIONS_CHANGED";
public static final String ACTION_ASSIST = "android.intent.action.ASSIST";
public static final String ACTION_ATTACH_DATA = "android.intent.action.ATTACH_DATA";
public static final String ACTION_AUTO_REVOKE_PERMISSIONS = "android.intent.action.AUTO_REVOKE_PERMISSIONS";
public static final String ACTION_BATTERY_CHANGED = "android.intent.action.BATTERY_CHANGED";
public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
public static final String ACTION_BATTERY_LOW = "android.intent.action.BATTERY_LOW";
public static final String ACTION_BATTERY_OKAY = "android.intent.action.BATTERY_OKAY";
public static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED";
public static final String ACTION_BUG_REPORT = "android.intent.action.BUG_REPORT";
public static final String ACTION_CALL = "android.intent.action.CALL";
public static final String ACTION_CALL_BUTTON = "android.intent.action.CALL_BUTTON";
public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
public static final String ACTION_CAMERA_BUTTON = "android.intent.action.CAMERA_BUTTON";
public static final String ACTION_CANCEL_ENABLE_ROLLBACK = "android.intent.action.CANCEL_ENABLE_ROLLBACK";
public static final String ACTION_CARRIER_SETUP = "android.intent.action.CARRIER_SETUP";
public static final String ACTION_CHOOSER = "android.intent.action.CHOOSER";
public static final String ACTION_CLOSE_SYSTEM_DIALOGS = "android.intent.action.CLOSE_SYSTEM_DIALOGS";
public static final String ACTION_CONFIGURATION_CHANGED = "android.intent.action.CONFIGURATION_CHANGED";
public static final String ACTION_CREATE_DOCUMENT = "android.intent.action.CREATE_DOCUMENT";
public static final String ACTION_CREATE_NOTE = "android.intent.action.CREATE_NOTE";
public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
public static final String ACTION_CREATE_SHORTCUT = "android.intent.action.CREATE_SHORTCUT";
public static final String ACTION_DATE_CHANGED = "android.intent.action.DATE_CHANGED";
public static final String ACTION_DEFINE = "android.intent.action.DEFINE";
public static final String ACTION_DELETE = "android.intent.action.DELETE";
public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
public static final String ACTION_DEVICE_INITIALIZATION_WIZARD = "android.intent.action.DEVICE_INITIALIZATION_WIZARD";
public static final String ACTION_DEVICE_LOCKED_CHANGED = "android.intent.action.DEVICE_LOCKED_CHANGED";
public static final String ACTION_DEVICE_STORAGE_FULL = "android.intent.action.DEVICE_STORAGE_FULL";
public static final String ACTION_DEVICE_STORAGE_LOW = "android.intent.action.DEVICE_STORAGE_LOW";
public static final String ACTION_DEVICE_STORAGE_NOT_FULL = "android.intent.action.DEVICE_STORAGE_NOT_FULL";
public static final String ACTION_DEVICE_STORAGE_OK = "android.intent.action.DEVICE_STORAGE_OK";
public static final String ACTION_DIAL = "android.intent.action.DIAL";
public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
public static final String ACTION_DISMISS_KEYBOARD_SHORTCUTS = "com.android.intent.action.DISMISS_KEYBOARD_SHORTCUTS";
public static final String ACTION_DISTRACTING_PACKAGES_CHANGED = "android.intent.action.DISTRACTING_PACKAGES_CHANGED";
public static final String ACTION_DOCK_ACTIVE = "android.intent.action.DOCK_ACTIVE";
public static final String ACTION_DOCK_EVENT = "android.intent.action.DOCK_EVENT";
public static final String ACTION_DOCK_IDLE = "android.intent.action.DOCK_IDLE";
public static final String ACTION_DOMAINS_NEED_VERIFICATION = "android.intent.action.DOMAINS_NEED_VERIFICATION";
public static final String ACTION_DREAMING_STARTED = "android.intent.action.DREAMING_STARTED";
public static final String ACTION_DREAMING_STOPPED = "android.intent.action.DREAMING_STOPPED";
public static final String ACTION_DYNAMIC_SENSOR_CHANGED = "android.intent.action.DYNAMIC_SENSOR_CHANGED";
public static final String ACTION_EDIT = "android.intent.action.EDIT";
public static final String ACTION_EXTERNAL_APPLICATIONS_AVAILABLE = "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE";
public static final String ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE = "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE";
public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
public static final String ACTION_FACTORY_TEST = "android.intent.action.FACTORY_TEST";
public static final String ACTION_GET_CONTENT = "android.intent.action.GET_CONTENT";
public static final String ACTION_GET_RESTRICTION_ENTRIES = "android.intent.action.GET_RESTRICTION_ENTRIES";
public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
public static final String ACTION_GTALK_SERVICE_CONNECTED = "android.intent.action.GTALK_CONNECTED";
public static final String ACTION_GTALK_SERVICE_DISCONNECTED = "android.intent.action.GTALK_DISCONNECTED";
public static final String ACTION_HEADSET_PLUG = "android.intent.action.HEADSET_PLUG";
public static final String ACTION_IDLE_MAINTENANCE_END = "android.intent.action.ACTION_IDLE_MAINTENANCE_END";
public static final String ACTION_IDLE_MAINTENANCE_START = "android.intent.action.ACTION_IDLE_MAINTENANCE_START";
public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
public static final String ACTION_INPUT_METHOD_CHANGED = "android.intent.action.INPUT_METHOD_CHANGED";
public static final String ACTION_INSERT = "android.intent.action.INSERT";
public static final String ACTION_INSERT_OR_EDIT = "android.intent.action.INSERT_OR_EDIT";
public static final String ACTION_INSTALL_FAILURE = "android.intent.action.INSTALL_FAILURE";
public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
public static final String ACTION_INSTALL_PACKAGE = "android.intent.action.INSTALL_PACKAGE";
public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
public static final String ACTION_LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE = "android.intent.action.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE";
public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
public static final String ACTION_LOCALE_CHANGED = "android.intent.action.LOCALE_CHANGED";
public static final String ACTION_LOCKED_BOOT_COMPLETED = "android.intent.action.LOCKED_BOOT_COMPLETED";
public static final String ACTION_MAIN = "android.intent.action.MAIN";
public static final int FLAG_ACTIVITY_NEW_TASK = 0x10000000;
public static final int FLAG_ACTIVITY_CLEAR_TOP = 0x04000000;
public static final String ACTION_MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED = "android.intent.action.MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED";
public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
public static final String ACTION_MANAGED_PROFILE_ADDED = "android.intent.action.MANAGED_PROFILE_ADDED";
public static final String ACTION_MANAGED_PROFILE_AVAILABLE = "android.intent.action.MANAGED_PROFILE_AVAILABLE";
public static final String ACTION_MANAGED_PROFILE_REMOVED = "android.intent.action.MANAGED_PROFILE_REMOVED";
public static final String ACTION_MANAGED_PROFILE_UNAVAILABLE = "android.intent.action.MANAGED_PROFILE_UNAVAILABLE";
public static final String ACTION_MANAGED_PROFILE_UNLOCKED = "android.intent.action.MANAGED_PROFILE_UNLOCKED";
public static final String ACTION_MANAGE_NETWORK_USAGE = "android.intent.action.MANAGE_NETWORK_USAGE";
public static final String ACTION_MANAGE_PACKAGE_STORAGE = "android.intent.action.MANAGE_PACKAGE_STORAGE";
public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
public static final String ACTION_MANAGE_PERMISSION_USAGE = "android.intent.action.MANAGE_PERMISSION_USAGE";
public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
public static final String ACTION_MANAGE_UNUSED_APPS = "android.intent.action.MANAGE_UNUSED_APPS";
public static final String ACTION_MASTER_CLEAR = "android.intent.action.MASTER_CLEAR";
public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
public static final String ACTION_MEDIA_BAD_REMOVAL = "android.intent.action.MEDIA_BAD_REMOVAL";
public static final String ACTION_MEDIA_BUTTON = "android.intent.action.MEDIA_BUTTON";
public static final String ACTION_MEDIA_CHECKING = "android.intent.action.MEDIA_CHECKING";
public static final String ACTION_MEDIA_EJECT = "android.intent.action.MEDIA_EJECT";
public static final String ACTION_MEDIA_MOUNTED = "android.intent.action.MEDIA_MOUNTED";
public static final String ACTION_MEDIA_NOFS = "android.intent.action.MEDIA_NOFS";
public static final String ACTION_MEDIA_REMOVED = "android.intent.action.MEDIA_REMOVED";
public static final String ACTION_MEDIA_RESOURCE_GRANTED = "android.intent.action.MEDIA_RESOURCE_GRANTED";
public static final String ACTION_MEDIA_SCANNER_FINISHED = "android.intent.action.MEDIA_SCANNER_FINISHED";
public static final String ACTION_MEDIA_SCANNER_SCAN_FILE = "android.intent.action.MEDIA_SCANNER_SCAN_FILE";
public static final String ACTION_MEDIA_SCANNER_STARTED = "android.intent.action.MEDIA_SCANNER_STARTED";
public static final String ACTION_MEDIA_SHARED = "android.intent.action.MEDIA_SHARED";
public static final String ACTION_MEDIA_UNMOUNTABLE = "android.intent.action.MEDIA_UNMOUNTABLE";
public static final String ACTION_MEDIA_UNMOUNTED = "android.intent.action.MEDIA_UNMOUNTED";
public static final String ACTION_MEDIA_UNSHARED = "android.intent.action.MEDIA_UNSHARED";
public static final String ACTION_MY_PACKAGE_REPLACED = "android.intent.action.MY_PACKAGE_REPLACED";
public static final String ACTION_MY_PACKAGE_SUSPENDED = "android.intent.action.MY_PACKAGE_SUSPENDED";
public static final String ACTION_MY_PACKAGE_UNSUSPENDED = "android.intent.action.MY_PACKAGE_UNSUSPENDED";
public static final String ACTION_NEW_OUTGOING_CALL = "android.intent.action.NEW_OUTGOING_CALL";
public static final String ACTION_OPEN_DOCUMENT = "android.intent.action.OPEN_DOCUMENT";
public static final String ACTION_OPEN_DOCUMENT_TREE = "android.intent.action.OPEN_DOCUMENT_TREE";
public static final String ACTION_OVERLAY_CHANGED = "android.intent.action.OVERLAY_CHANGED";
public static final String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED";
public static final String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED";
public static final String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED";
public static final String ACTION_PACKAGE_ENABLE_ROLLBACK = "android.intent.action.PACKAGE_ENABLE_ROLLBACK";
public static final String ACTION_PACKAGE_FIRST_LAUNCH = "android.intent.action.PACKAGE_FIRST_LAUNCH";
public static final String ACTION_PACKAGE_FULLY_REMOVED = "android.intent.action.PACKAGE_FULLY_REMOVED";
public static final String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL";
public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
public static final String ACTION_PACKAGE_NEEDS_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_VERIFICATION";
public static final String ACTION_PACKAGE_REMOVED = "android.intent.action.PACKAGE_REMOVED";
public static final String ACTION_PACKAGE_REMOVED_INTERNAL = "android.intent.action.PACKAGE_REMOVED_INTERNAL";
public static final String ACTION_PACKAGE_REPLACED = "android.intent.action.PACKAGE_REPLACED";
public static final String ACTION_PACKAGE_RESTARTED = "android.intent.action.PACKAGE_RESTARTED";
public static final String ACTION_PACKAGES_SUSPENDED = "android.intent.action.PACKAGES_SUSPENDED";
public static final String ACTION_PACKAGES_SUSPENSION_CHANGED = "android.intent.action.PACKAGES_SUSPENSION_CHANGED";
public static final String ACTION_PACKAGES_UNSUSPENDED = "android.intent.action.PACKAGES_UNSUSPENDED";
public static final String ACTION_PACKAGE_UNSTOPPED = "android.intent.action.PACKAGE_UNSTOPPED";
public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
public static final String ACTION_PACKAGE_VERIFIED = "android.intent.action.PACKAGE_VERIFIED";
public static final String ACTION_PASTE = "android.intent.action.PASTE";
public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
public static final String ACTION_PICK_ACTIVITY = "android.intent.action.PICK_ACTIVITY";
public static final String ACTION_PICK = "android.intent.action.PICK";
public static final String ACTION_POWER_CONNECTED = "android.intent.action.ACTION_POWER_CONNECTED";
public static final String ACTION_POWER_DISCONNECTED = "android.intent.action.ACTION_POWER_DISCONNECTED";
public static final String ACTION_POWER_USAGE_SUMMARY = "android.intent.action.POWER_USAGE_SUMMARY";
public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
public static final String ACTION_PREFERRED_ACTIVITY_CHANGED = "android.intent.action.ACTION_PREFERRED_ACTIVITY_CHANGED";
public static final String ACTION_PROCESS_TEXT = "android.intent.action.PROCESS_TEXT";
public static final String ACTION_PROFILE_ACCESSIBLE = "android.intent.action.PROFILE_ACCESSIBLE";
public static final String ACTION_PROFILE_ADDED = "android.intent.action.PROFILE_ADDED";
public static final String ACTION_PROFILE_AVAILABLE = "android.intent.action.PROFILE_AVAILABLE";
public static final String ACTION_PROFILE_INACCESSIBLE = "android.intent.action.PROFILE_INACCESSIBLE";
public static final String ACTION_PROFILE_REMOVED = "android.intent.action.PROFILE_REMOVED";
public static final String ACTION_PROFILE_UNAVAILABLE = "android.intent.action.PROFILE_UNAVAILABLE";
public static final String ACTION_PROVIDER_CHANGED = "android.intent.action.PROVIDER_CHANGED";
public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
public static final String ACTION_QUICK_CLOCK = "android.intent.action.QUICK_CLOCK";
public static final String ACTION_QUICK_VIEW = "android.intent.action.QUICK_VIEW";
public static final String ACTION_REBOOT = "android.intent.action.REBOOT";
public static final String ACTION_REMOTE_INTENT = "com.google.android.c2dm.intent.RECEIVE";
public static final String ACTION_REQUEST_SHUTDOWN = "com.android.internal.intent.action.REQUEST_SHUTDOWN";
public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
public static final String ACTION_REVIEW_APP_DATA_SHARING_UPDATES = "android.intent.action.REVIEW_APP_DATA_SHARING_UPDATES";
public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
public static final String ACTION_REVIEW_PERMISSION_HISTORY = "android.intent.action.REVIEW_PERMISSION_HISTORY";
public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
public static final String ACTION_RUN = "android.intent.action.RUN";
public static final String ACTION_SAFETY_CENTER = "android.intent.action.SAFETY_CENTER";
public static final String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF";
public static final String ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON";
public static final String ACTION_SEARCH = "android.intent.action.SEARCH";
public static final String ACTION_SEARCH_LONG_PRESS = "android.intent.action.SEARCH_LONG_PRESS";
public static final String ACTION_SEND = "android.intent.action.SEND";
public static final String ACTION_SEND_MULTIPLE = "android.intent.action.SEND_MULTIPLE";
public static final String ACTION_SENDTO = "android.intent.action.SENDTO";
public static final String ACTION_SERVICE_STATE = "android.intent.action.SERVICE_STATE";
public static final String ACTION_SETTING_RESTORED = "android.os.action.SETTING_RESTORED";
public static final String ACTION_SET_WALLPAPER = "android.intent.action.SET_WALLPAPER";
public static final String ACTION_SHOW_APP_INFO = "android.intent.action.SHOW_APP_INFO";
public static final String ACTION_SHOW_BRIGHTNESS_DIALOG = "com.android.intent.action.SHOW_BRIGHTNESS_DIALOG";
public static final String ACTION_SHOW_FOREGROUND_SERVICE_MANAGER = "android.intent.action.SHOW_FOREGROUND_SERVICE_MANAGER";
public static final String ACTION_SHOW_KEYBOARD_SHORTCUTS = "com.android.intent.action.SHOW_KEYBOARD_SHORTCUTS";
public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
public static final String ACTION_SHOW_WORK_APPS = "android.intent.action.SHOW_WORK_APPS";
public static final String ACTION_SHUTDOWN = "android.intent.action.ACTION_SHUTDOWN";
public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
public static final String ACTION_SYNC = "android.intent.action.SYNC";
public static final String ACTION_SYSTEM_TUTORIAL = "android.intent.action.SYSTEM_TUTORIAL";
public static final String ACTION_THERMAL_EVENT = "android.intent.action.THERMAL_EVENT";
public static final String ACTION_TIME_CHANGED = "android.intent.action.TIME_SET";
public static final String ACTION_TIME_TICK = "android.intent.action.TIME_TICK";
public static final String ACTION_TIMEZONE_CHANGED = "android.intent.action.TIMEZONE_CHANGED";
public static final String ACTION_TRANSLATE = "android.intent.action.TRANSLATE";
public static final String ACTION_UID_REMOVED = "android.intent.action.UID_REMOVED";
public static final String ACTION_UMS_CONNECTED = "android.intent.action.UMS_CONNECTED";
public static final String ACTION_UMS_DISCONNECTED = "android.intent.action.UMS_DISCONNECTED";
public static final String ACTION_UNARCHIVE_PACKAGE = "android.intent.action.UNARCHIVE_PACKAGE";
public static final String ACTION_UNINSTALL_PACKAGE = "android.intent.action.UNINSTALL_PACKAGE";
public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
public static final String ACTION_USER_BACKGROUND = "android.intent.action.USER_BACKGROUND";
public static final String ACTION_USER_FOREGROUND = "android.intent.action.USER_FOREGROUND";
public static final String ACTION_USER_INFO_CHANGED = "android.intent.action.USER_INFO_CHANGED";
public static final String ACTION_USER_INITIALIZE = "android.intent.action.USER_INITIALIZE";
public static final String ACTION_USER_PRESENT = "android.intent.action.USER_PRESENT";
public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
public static final String ACTION_USER_STARTED = "android.intent.action.USER_STARTED";
public static final String ACTION_USER_STARTING = "android.intent.action.USER_STARTING";
public static final String ACTION_USER_STOPPED = "android.intent.action.USER_STOPPED";
public static final String ACTION_USER_STOPPING = "android.intent.action.USER_STOPPING";
public static final String ACTION_USER_SWITCHED = "android.intent.action.USER_SWITCHED";
public static final String ACTION_USER_UNLOCKED = "android.intent.action.USER_UNLOCKED";
public static final String ACTION_VIEW = "android.intent.action.VIEW";
public static final String ACTION_VIEW_APP_FEATURES = "android.intent.action.VIEW_APP_FEATURES";
public static final String ACTION_VIEW_LOCUS = "android.intent.action.VIEW_LOCUS";
public static final String ACTION_VIEW_PERMISSION_USAGE = "android.intent.action.VIEW_PERMISSION_USAGE";
public static final String ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD = "android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD";
public static final String ACTION_VIEW_SAFETY_CENTER_QS = "android.intent.action.VIEW_SAFETY_CENTER_QS";
public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
public static final String ACTION_VOICE_COMMAND = "android.intent.action.VOICE_COMMAND";
public static final String ACTION_WALLPAPER_CHANGED = "android.intent.action.WALLPAPER_CHANGED";
public static final String ACTION_WEB_SEARCH = "android.intent.action.WEB_SEARCH";
public static final String ACTION_DEFAULT = ACTION_VIEW;
public static final String CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET = "android.intent.category.ACCESSIBILITY_SHORTCUT_TARGET";
public static final String CATEGORY_ALTERNATIVE = "android.intent.category.ALTERNATIVE";
public static final String CATEGORY_APP_BROWSER = "android.intent.category.APP_BROWSER";
public static final String CATEGORY_APP_CALCULATOR = "android.intent.category.APP_CALCULATOR";
public static final String CATEGORY_APP_CALENDAR = "android.intent.category.APP_CALENDAR";
public static final String CATEGORY_APP_CONTACTS = "android.intent.category.APP_CONTACTS";
public static final String CATEGORY_APP_EMAIL = "android.intent.category.APP_EMAIL";
public static final String CATEGORY_APP_FILES = "android.intent.category.APP_FILES";
public static final String CATEGORY_APP_FITNESS = "android.intent.category.APP_FITNESS";
public static final String CATEGORY_APP_GALLERY = "android.intent.category.APP_GALLERY";
public static final String CATEGORY_APP_MAPS = "android.intent.category.APP_MAPS";
public static final String CATEGORY_APP_MARKET = "android.intent.category.APP_MARKET";
public static final String CATEGORY_APP_MESSAGING = "android.intent.category.APP_MESSAGING";
public static final String CATEGORY_APP_MUSIC = "android.intent.category.APP_MUSIC";
public static final String CATEGORY_APP_WEATHER = "android.intent.category.APP_WEATHER";
public static final String CATEGORY_BROWSABLE = "android.intent.category.BROWSABLE";
public static final String CATEGORY_CAR_DOCK = "android.intent.category.CAR_DOCK";
public static final String CATEGORY_CAR_LAUNCHER = "android.intent.category.CAR_LAUNCHER";
public static final String CATEGORY_CAR_MODE = "android.intent.category.CAR_MODE";
public static final String CATEGORY_COMMUNAL_MODE = "android.intent.category.COMMUNAL_MODE";
public static final String CATEGORY_DEFAULT = "android.intent.category.DEFAULT";
public static final String CATEGORY_DESK_DOCK = "android.intent.category.DESK_DOCK";
public static final String CATEGORY_DEVELOPMENT_PREFERENCE = "android.intent.category.DEVELOPMENT_PREFERENCE";
public static final String CATEGORY_EMBED = "android.intent.category.EMBED";
public static final String CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST = "android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST";
public static final String CATEGORY_HE_DESK_DOCK = "android.intent.category.HE_DESK_DOCK";
public static final String CATEGORY_HOME = "android.intent.category.HOME";
public static final String CATEGORY_HOME_MAIN = "android.intent.category.HOME_MAIN";
public static final String CATEGORY_INFO = "android.intent.category.INFO";
public static final String CATEGORY_LAUNCHER = "android.intent.category.LAUNCHER";
public static final String CATEGORY_LAUNCHER_APP = "android.intent.category.LAUNCHER_APP";
public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
public static final String CATEGORY_LE_DESK_DOCK = "android.intent.category.LE_DESK_DOCK";
public static final String CATEGORY_MONKEY = "android.intent.category.MONKEY";
public static final String CATEGORY_OPENABLE = "android.intent.category.OPENABLE";
public static final String CATEGORY_PREFERENCE = "android.intent.category.PREFERENCE";
public static final String CATEGORY_SAMPLE_CODE = "android.intent.category.SAMPLE_CODE";
public static final String CATEGORY_SECONDARY_HOME = "android.intent.category.SECONDARY_HOME";
public static final String CATEGORY_SELECTED_ALTERNATIVE = "android.intent.category.SELECTED_ALTERNATIVE";
public static final String CATEGORY_SETUP_WIZARD = "android.intent.category.SETUP_WIZARD";
public static final String CATEGORY_TAB = "android.intent.category.TAB";
public static final String CATEGORY_TEST = "android.intent.category.TEST";
public static final String CATEGORY_TYPED_OPENABLE = "android.intent.category.TYPED_OPENABLE";
public static final String CATEGORY_UNIT_TEST = "android.intent.category.UNIT_TEST";
public static final String CATEGORY_VOICE = "android.intent.category.VOICE";
public static final String CATEGORY_VR_HOME = "android.intent.category.VR_HOME";
public static final String EXTRA_ALARM_COUNT = "android.intent.extra.ALARM_COUNT";
public static final String EXTRA_ALLOW_MULTIPLE = "android.intent.extra.ALLOW_MULTIPLE";
public static final String EXTRA_ALLOW_REPLACE = "android.intent.extra.ALLOW_REPLACE";
public static final String EXTRA_ALTERNATE_INTENTS = "android.intent.extra.ALTERNATE_INTENTS";
public static final String EXTRA_ARCHIVAL = "android.intent.extra.ARCHIVAL";
public static final String EXTRA_ASSIST_CONTEXT = "android.intent.extra.ASSIST_CONTEXT";
public static final String EXTRA_ASSIST_INPUT_DEVICE_ID = "android.intent.extra.ASSIST_INPUT_DEVICE_ID";
public static final String EXTRA_ASSIST_INPUT_HINT_KEYBOARD = "android.intent.extra.ASSIST_INPUT_HINT_KEYBOARD";
public static final String EXTRA_ASSIST_PACKAGE = "android.intent.extra.ASSIST_PACKAGE";
public static final String EXTRA_ASSIST_UID = "android.intent.extra.ASSIST_UID";
public static final String EXTRA_ATTRIBUTION_TAGS = "android.intent.extra.ATTRIBUTION_TAGS";
public static final String EXTRA_AUTO_LAUNCH_SINGLE_CHOICE = "android.intent.extra.AUTO_LAUNCH_SINGLE_CHOICE";
public static final String EXTRA_BCC = "android.intent.extra.BCC";
public static final String EXTRA_BRIGHTNESS_DIALOG_IS_FULL_WIDTH = "android.intent.extra.BRIGHTNESS_DIALOG_IS_FULL_WIDTH";
public static final String EXTRA_BUG_REPORT = "android.intent.extra.BUG_REPORT";
public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
public static final String EXTRA_CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE = "android.intent.extra.CAPTURE_CONTENT_FOR_NOTE_STATUS_CODE";
public static final String EXTRA_CC = "android.intent.extra.CC";
public static final String EXTRA_CDMA_DEFAULT_ROAMING_INDICATOR = "cdmaDefaultRoamingIndicator";
public static final String EXTRA_CDMA_ROAMING_INDICATOR = "cdmaRoamingIndicator";
public static final String EXTRA_CHANGED_COMPONENT_NAME = "android.intent.extra.changed_component_name";
public static final String EXTRA_CHANGED_COMPONENT_NAME_LIST = "android.intent.extra.changed_component_name_list";
public static final String EXTRA_CHANGED_PACKAGE_LIST = "android.intent.extra.changed_package_list";
public static final String EXTRA_CHANGED_UID_LIST = "android.intent.extra.changed_uid_list";
public static final String EXTRA_CHOOSER_ADDITIONAL_CONTENT_URI = "android.intent.extra.CHOOSER_ADDITIONAL_CONTENT_URI";
public static final String EXTRA_CHOOSER_CONTENT_TYPE_HINT = "android.intent.extra.CHOOSER_CONTENT_TYPE_HINT";
public static final String EXTRA_CHOOSER_CUSTOM_ACTIONS = "android.intent.extra.CHOOSER_CUSTOM_ACTIONS";
public static final String EXTRA_CHOOSER_FOCUSED_ITEM_POSITION = "android.intent.extra.CHOOSER_FOCUSED_ITEM_POSITION";
public static final String EXTRA_CHOOSER_MODIFY_SHARE_ACTION = "android.intent.extra.CHOOSER_MODIFY_SHARE_ACTION";
public static final String EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER = "android.intent.extra.CHOOSER_REFINEMENT_INTENT_SENDER";
public static final String EXTRA_CHOOSER_RESULT = "android.intent.extra.CHOOSER_RESULT";
public static final String EXTRA_CHOOSER_RESULT_INTENT_SENDER = "android.intent.extra.CHOOSER_RESULT_INTENT_SENDER";
public static final String EXTRA_CHOOSER_TARGETS = "android.intent.extra.CHOOSER_TARGETS";
public static final String EXTRA_CHOSEN_COMPONENT = "android.intent.extra.CHOSEN_COMPONENT";
public static final String EXTRA_CHOSEN_COMPONENT_INTENT_SENDER = "android.intent.extra.CHOSEN_COMPONENT_INTENT_SENDER";
public static final String EXTRA_CLIENT_INTENT = "android.intent.extra.client_intent";
public static final String EXTRA_CLIENT_LABEL = "android.intent.extra.client_label";
public static final String EXTRA_COMPONENT_NAME = "android.intent.extra.COMPONENT_NAME";
public static final String EXTRA_CONTENT_ANNOTATIONS = "android.intent.extra.CONTENT_ANNOTATIONS";
public static final String EXTRA_CONTENT_QUERY = "android.intent.extra.CONTENT_QUERY";
public static final String EXTRA_CSS_INDICATOR = "cssIndicator";
public static final String EXTRA_DATA_OPERATOR_ALPHA_LONG = "data-operator-alpha-long";
public static final String EXTRA_DATA_OPERATOR_ALPHA_SHORT = "data-operator-alpha-short";
public static final String EXTRA_DATA_OPERATOR_NUMERIC = "data-operator-numeric";
public static final String EXTRA_DATA_RADIO_TECH = "dataRadioTechnology";
public static final String EXTRA_DATA_REG_STATE = "dataRegState";
public static final String EXTRA_DATA_REMOVED = "android.intent.extra.DATA_REMOVED";
public static final String EXTRA_DATA_ROAMING_TYPE = "dataRoamingType";
public static final String EXTRA_DISTRACTION_RESTRICTIONS = "android.intent.extra.distraction_restrictions";
public static final String EXTRA_DOCK_STATE = "android.intent.extra.DOCK_STATE";
public static final String EXTRA_DONT_KILL_APP = "android.intent.extra.DONT_KILL_APP";
public static final String EXTRA_DURATION_MILLIS = "android.intent.extra.DURATION_MILLIS";
public static final String EXTRA_EMAIL = "android.intent.extra.EMAIL";
public static final String EXTRA_EMERGENCY_ONLY = "emergencyOnly";
public static final String EXTRA_END_TIME = "android.intent.extra.END_TIME";
public static final String EXTRA_EXCLUDE_COMPONENTS = "android.intent.extra.EXCLUDE_COMPONENTS";
public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
public static final String EXTRA_FORCE_MASTER_CLEAR = "android.intent.extra.FORCE_MASTER_CLEAR";
public static final String EXTRA_FROM_STORAGE = "android.intent.extra.FROM_STORAGE";
public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
public static final String EXTRA_INDEX = "android.intent.extra.INDEX";
public static final String EXTRA_INITIAL_INTENTS = "android.intent.extra.INITIAL_INTENTS";
public static final String EXTRA_INSTALLER_PACKAGE_NAME = "android.intent.extra.INSTALLER_PACKAGE_NAME";
public static final String EXTRA_INSTALL_RESULT = "android.intent.extra.INSTALL_RESULT";
public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
public static final String EXTRA_INTENT = "android.intent.extra.INTENT";
public static final String EXTRA_IS_DATA_ROAMING_FROM_REGISTRATION = "isDataRoamingFromRegistration";
public static final String EXTRA_IS_RESTORE = "android.intent.extra.IS_RESTORE";
public static final String EXTRA_IS_USING_CARRIER_AGGREGATION = "isUsingCarrierAggregation";
public static final String EXTRA_KEY_CONFIRM = "android.intent.extra.KEY_CONFIRM";
public static final String EXTRA_KEY_EVENT = "android.intent.extra.KEY_EVENT";
public static final String EXTRA_LOCALE_LIST = "android.intent.extra.LOCALE_LIST";
public static final String EXTRA_LOCAL_ONLY = "android.intent.extra.LOCAL_ONLY";
public static final String EXTRA_LOCUS_ID = "android.intent.extra.LOCUS_ID";
public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
public static final String EXTRA_LTE_EARFCN_RSRP_BOOST = "LteEarfcnRsrpBoost";
public static final String EXTRA_MANUAL = "manual";
public static final String EXTRA_MEDIA_RESOURCE_TYPE = "android.intent.extra.MEDIA_RESOURCE_TYPE";
public static final String EXTRA_METADATA_TEXT = "android.intent.extra.METADATA_TEXT";
public static final String EXTRA_MIME_TYPES = "android.intent.extra.MIME_TYPES";
public static final String EXTRA_NETWORK_ID = "networkId";
public static final String EXTRA_NOT_UNKNOWN_SOURCE = "android.intent.extra.NOT_UNKNOWN_SOURCE";
public static final String EXTRA_OPERATOR_ALPHA_LONG = "operator-alpha-long";
public static final String EXTRA_OPERATOR_ALPHA_SHORT = "operator-alpha-short";
public static final String EXTRA_OPERATOR_NUMERIC = "operator-numeric";
public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
public static final String EXTRA_ORIGINATING_URI = "android.intent.extra.ORIGINATING_URI";
public static final String EXTRA_PACKAGE_NAME = "android.intent.extra.PACKAGE_NAME";
public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES";
public static final String EXTRA_PERMISSION_GROUP_NAME = "android.intent.extra.PERMISSION_GROUP_NAME";
public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
public static final String EXTRA_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER";
public static final String EXTRA_PROCESS_TEXT = "android.intent.extra.PROCESS_TEXT";
public static final String EXTRA_PROCESS_TEXT_READONLY = "android.intent.extra.PROCESS_TEXT_READONLY";
public static final String EXTRA_QUARANTINED = "android.intent.extra.quarantined";
public static final String EXTRA_QUICK_VIEW_ADVANCED = "android.intent.extra.QUICK_VIEW_ADVANCED";
public static final String EXTRA_QUICK_VIEW_FEATURES = "android.intent.extra.QUICK_VIEW_FEATURES";
public static final String EXTRA_QUIET_MODE = "android.intent.extra.QUIET_MODE";
public static final String EXTRA_REASON = "android.intent.extra.REASON";
public static final String EXTRA_REBROADCAST_ON_UNLOCK = "rebroadcastOnUnlock";
public static final String EXTRA_REFERRER = "android.intent.extra.REFERRER";
public static final String EXTRA_REFERRER_NAME = "android.intent.extra.REFERRER_NAME";
public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
public static final String EXTRA_REMOTE_INTENT_TOKEN = "android.intent.extra.remote_intent_token";
public static final String EXTRA_REMOVED_FOR_ALL_USERS = "android.intent.extra.REMOVED_FOR_ALL_USERS";
public static final String EXTRA_REPLACEMENT_EXTRAS = "android.intent.extra.REPLACEMENT_EXTRAS";
public static final String EXTRA_REPLACING = "android.intent.extra.REPLACING";
public static final String EXTRA_RESTRICTIONS_BUNDLE = "android.intent.extra.restrictions_bundle";
public static final String EXTRA_RESTRICTIONS_INTENT = "android.intent.extra.restrictions_intent";
public static final String EXTRA_RESTRICTIONS_LIST = "android.intent.extra.restrictions_list";
public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
public static final String EXTRA_RESULT_RECEIVER = "android.intent.extra.RESULT_RECEIVER";
public static final String EXTRA_RETURN_RESULT = "android.intent.extra.RETURN_RESULT";
public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
public static final String EXTRA_SETTING_NAME = "setting_name";
public static final String EXTRA_SETTING_NEW_VALUE = "new_value";
public static final String EXTRA_SETTING_PREVIOUS_VALUE = "previous_value";
public static final String EXTRA_SETTING_RESTORED_FROM_SDK_INT = "restored_from_sdk_int";
public static final String EXTRA_SHORTCUT_ICON = "android.intent.extra.shortcut.ICON";
public static final String EXTRA_SHORTCUT_ICON_RESOURCE = "android.intent.extra.shortcut.ICON_RESOURCE";
public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
public static final String EXTRA_SHORTCUT_INTENT = "android.intent.extra.shortcut.INTENT";
public static final String EXTRA_SHORTCUT_NAME = "android.intent.extra.shortcut.NAME";
public static final String EXTRA_SHOWING_ATTRIBUTION = "android.intent.extra.SHOWING_ATTRIBUTION";
public static final String EXTRA_SHOW_WIPE_PROGRESS = "android.intent.extra.SHOW_WIPE_PROGRESS";
public static final String EXTRA_SHUTDOWN_USERSPACE_ONLY = "android.intent.extra.SHUTDOWN_USERSPACE_ONLY";
public static final String EXTRA_SIM_ACTIVATION_RESPONSE = "android.intent.extra.SIM_ACTIVATION_RESPONSE";
public static final String EXTRA_SIM_LOCKED_REASON = "reason";
public static final String EXTRA_SIM_STATE = "ss";
public static final String EXTRA_SPLIT_NAME = "android.intent.extra.SPLIT_NAME";
public static final String EXTRA_START_TIME = "android.intent.extra.START_TIME";
public static final String EXTRA_STREAM = "android.intent.extra.STREAM";
public static final String EXTRA_SUBJECT = "android.intent.extra.SUBJECT";
public static final String EXTRA_SUSPENDED_PACKAGE_EXTRAS = "android.intent.extra.SUSPENDED_PACKAGE_EXTRAS";
public static final String EXTRA_SYSTEM_ID = "systemId";
public static final String EXTRA_SYSTEM_UPDATE_UNINSTALL = "android.intent.extra.SYSTEM_UPDATE_UNINSTALL";
public static final String EXTRA_TASK_ID = "android.intent.extra.TASK_ID";
public static final String EXTRA_TEMPLATE = "android.intent.extra.TEMPLATE";
public static final String EXTRA_TEXT = "android.intent.extra.TEXT";
public static final String EXTRA_THERMAL_STATE = "android.intent.extra.THERMAL_STATE";
public static final String EXTRA_TIME = "android.intent.extra.TIME";
public static final String EXTRA_TIME_PREF_24_HOUR_FORMAT = "android.intent.extra.TIME_PREF_24_HOUR_FORMAT";
public static final String EXTRA_TIMEZONE = "time-zone";
public static final String EXTRA_TITLE = "android.intent.extra.TITLE";
public static final String EXTRA_UID = "android.intent.extra.UID";
public static final String EXTRA_UNINSTALL_ALL_USERS = "android.intent.extra.UNINSTALL_ALL_USERS";
public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
public static final String EXTRA_USER = "android.intent.extra.USER";
public static final String EXTRA_USER_HANDLE = "android.intent.extra.user_handle";
public static final String EXTRA_USER_ID = "android.intent.extra.USER_ID";
public static final String EXTRA_USER_INITIATED = "android.intent.extra.USER_INITIATED";
public static final String EXTRA_USER_REQUESTED_SHUTDOWN = "android.intent.extra.USER_REQUESTED_SHUTDOWN";
public static final String EXTRA_USE_STYLUS_MODE = "android.intent.extra.USE_STYLUS_MODE";
public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
public static final String EXTRA_VERSION_CODE = "android.intent.extra.VERSION_CODE";
public static final String EXTRA_VISIBILITY_ALLOW_LIST = "android.intent.extra.VISIBILITY_ALLOW_LIST";
public static final String EXTRA_VOICE_RADIO_TECH = "radioTechnology";
public static final String EXTRA_VOICE_REG_STATE = "voiceRegState";
public static final String EXTRA_VOICE_ROAMING_TYPE = "voiceRoamingType";
public static final String EXTRA_WIPE_ESIMS = "com.android.internal.intent.extra.WIPE_ESIMS";
public static final String EXTRA_WIPE_EXTERNAL_STORAGE = "android.intent.extra.WIPE_EXTERNAL_STORAGE";
public static final String METADATA_DOCK_HOME = "android.dock_home";
public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
public static final String SIM_ABSENT_ON_PERM_DISABLED = "PERM_DISABLED";
public static final String SIM_LOCKED_NETWORK = "NETWORK";
public static final String SIM_LOCKED_ON_PIN = "PIN";
public static final String SIM_LOCKED_ON_PUK = "PUK";
public static final String SIM_STATE_ABSENT = "ABSENT";
public static final String SIM_STATE_IMSI = "IMSI";
public static final String SIM_STATE_LOADED = "LOADED";
public static final String SIM_STATE_LOCKED = "LOCKED";
public static final String SIM_STATE_NOT_READY = "NOT_READY";
public static final String SIM_STATE_PRESENT = "PRESENT";
public static final String SIM_STATE_READY = "READY";
public static final String SIM_STATE_UNKNOWN = "UNKNOWN";
private ComponentName component;
private Bundle extras = new Bundle();

File diff suppressed because it is too large Load Diff

View File

@@ -64,7 +64,7 @@ public class Canvas {
* @param paint The paint used to draw the rect
*/
public void drawRect(float left, float top, float right, float bottom, Paint paint) {
if (paint != null && paint.getXfermode() instanceof PorterDuffXfermode && ((PorterDuffXfermode)paint.getXfermode()).mode == PorterDuff.Mode.CLEAR) {
if (paint != null && paint.getXfermode() instanceof PorterDuffXfermode && ((PorterDuffXfermode)paint.getXfermode()).porterDuffMode == PorterDuff.Mode.CLEAR.nativeInt) {
bitmap.eraseColor(0);
return;
}

View File

@@ -0,0 +1,205 @@
/*
* Copyright (C) 2006 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 android.graphics;
import android.annotation.NonNull;
import android.annotation.Nullable;
//import android.os.Parcel;
import android.os.Parcelable;
/**
* An Insets instance holds four integer offsets which describe changes to the four
* edges of a Rectangle. By convention, positive values move edges towards the
* centre of the rectangle.
* <p>
* Insets are immutable so may be treated as values.
*
*/
public final class Insets implements Parcelable {
public static final @NonNull Insets NONE = new Insets(0, 0, 0, 0);
public final int left;
public final int top;
public final int right;
public final int bottom;
private Insets(int left, int top, int right, int bottom) {
this.left = left;
this.top = top;
this.right = right;
this.bottom = bottom;
}
// Factory methods
/**
* Return an Insets instance with the appropriate values.
*
* @param left the left inset
* @param top the top inset
* @param right the right inset
* @param bottom the bottom inset
*
* @return Insets instance with the appropriate values
*/
public static @NonNull Insets of(int left, int top, int right, int bottom) {
if (left == 0 && top == 0 && right == 0 && bottom == 0) {
return NONE;
}
return new Insets(left, top, right, bottom);
}
/**
* Return an Insets instance with the appropriate values.
*
* @param r the rectangle from which to take the values
*
* @return an Insets instance with the appropriate values
*/
public static @NonNull Insets of(@Nullable Rect r) {
return (r == null) ? NONE : of(r.left, r.top, r.right, r.bottom);
}
/**
* Returns a Rect instance with the appropriate values.
*
* @hide
*/
public @NonNull Rect toRect() {
return new Rect(left, top, right, bottom);
}
/**
* Add two Insets.
*
* @param a The first Insets to add.
* @param b The second Insets to add.
* @return a + b, i. e. all insets on every side are added together.
*/
public static @NonNull Insets add(@NonNull Insets a, @NonNull Insets b) {
return Insets.of(a.left + b.left, a.top + b.top, a.right + b.right, a.bottom + b.bottom);
}
/**
* Subtract two Insets.
*
* @param a The minuend.
* @param b The subtrahend.
* @return a - b, i. e. all insets on every side are subtracted from each other.
*/
public static @NonNull Insets subtract(@NonNull Insets a, @NonNull Insets b) {
return Insets.of(a.left - b.left, a.top - b.top, a.right - b.right, a.bottom - b.bottom);
}
/**
* Retrieves the maximum of two Insets.
*
* @param a The first Insets.
* @param b The second Insets.
* @return max(a, b), i. e. the larger of every inset on every side is taken for the result.
*/
public static @NonNull Insets max(@NonNull Insets a, @NonNull Insets b) {
return Insets.of(Math.max(a.left, b.left), Math.max(a.top, b.top),
Math.max(a.right, b.right), Math.max(a.bottom, b.bottom));
}
/**
* Retrieves the minimum of two Insets.
*
* @param a The first Insets.
* @param b The second Insets.
* @return min(a, b), i. e. the smaller of every inset on every side is taken for the result.
*/
public static @NonNull Insets min(@NonNull Insets a, @NonNull Insets b) {
return Insets.of(Math.min(a.left, b.left), Math.min(a.top, b.top),
Math.min(a.right, b.right), Math.min(a.bottom, b.bottom));
}
/**
* Two Insets instances are equal iff they belong to the same class and their fields are
* pairwise equal.
*
* @param o the object to compare this instance with.
*
* @return true iff this object is equal {@code o}
*/
@Override
public boolean equals(Object o) {
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
Insets insets = (Insets)o;
if (bottom != insets.bottom)
return false;
if (left != insets.left)
return false;
if (right != insets.right)
return false;
if (top != insets.top)
return false;
return true;
}
@Override
public int hashCode() {
int result = left;
result = 31 * result + top;
result = 31 * result + right;
result = 31 * result + bottom;
return result;
}
@Override
public String toString() {
return "Insets{"
+
"left=" + left +
", top=" + top +
", right=" + right +
", bottom=" + bottom +
'}';
}
/*@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel out, int flags) {
out.writeInt(left);
out.writeInt(top);
out.writeInt(right);
out.writeInt(bottom);
}
public static final @android.annotation.NonNull Parcelable.Creator<Insets> CREATOR = new Parcelable.Creator<Insets>() {
@Override
public Insets createFromParcel(Parcel in) {
return new Insets(in.readInt(), in.readInt(), in.readInt(), in.readInt());
}
@Override
public Insets[] newArray(int size) {
return new Insets[size];
}
};*/
}

View File

@@ -1,10 +1,38 @@
/*
* Copyright (C) 2006 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 android.graphics;
/**
* <p>Specialized implementation of {@link Paint}'s
* {@link Paint#setXfermode(Xfermode) transfer mode}. Refer to the
* documentation of the {@link PorterDuff.Mode} enum for more
* information on the available alpha compositing and blending modes.</p>
*
*/
public class PorterDuffXfermode extends Xfermode {
PorterDuff.Mode mode;
/**
* Create an xfermode that uses the specified porter-duff mode.
*
* @param mode The porter-duff mode that is applied
*/
static final int DEFAULT = PorterDuff.Mode.SRC_OVER.nativeInt;
int porterDuffMode = DEFAULT;
PorterDuffXfermode() {}
public PorterDuffXfermode(PorterDuff.Mode mode) {
this.mode = mode;
porterDuffMode = mode.nativeInt;
}
}

View File

@@ -0,0 +1,164 @@
/*
* Copyright (C) 2013 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 android.provider;
import java.util.List;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.net.Uri;
public final class DocumentsContract {
public static final String EXTRA_LOADING = "loading";
public static final String EXTRA_INFO = "info";
public static final String EXTRA_ERROR = "error";
public static final String EXTRA_RESULT = "result";
public static final String METHOD_CREATE_DOCUMENT = "android:createDocument";
public static final String METHOD_RENAME_DOCUMENT = "android:renameDocument";
public static final String METHOD_DELETE_DOCUMENT = "android:deleteDocument";
public static final String METHOD_COPY_DOCUMENT = "android:copyDocument";
public static final String METHOD_MOVE_DOCUMENT = "android:moveDocument";
public static final String METHOD_IS_CHILD_DOCUMENT = "android:isChildDocument";
public static final String METHOD_REMOVE_DOCUMENT = "android:removeDocument";
public static final String METHOD_EJECT_ROOT = "android:ejectRoot";
public static final String METHOD_FIND_DOCUMENT_PATH = "android:findDocumentPath";
public static final String METHOD_CREATE_WEB_LINK_INTENT = "android:createWebLinkIntent";
public static final String METHOD_GET_DOCUMENT_METADATA = "android:getDocumentMetadata";
public static final String EXTRA_PARENT_URI = "parentUri";
public static final String EXTRA_URI = "uri";
public static final String EXTRA_URI_PERMISSIONS = "uriPermissions";
public static final String EXTRA_OPTIONS = "options";
/* seems these are not supposed to be ABI but some apps disagree */
private static final String PATH_ROOT = "root";
private static final String PATH_RECENT = "recent";
private static final String PATH_DOCUMENT = "document";
private static final String PATH_CHILDREN = "children";
private static final String PATH_SEARCH = "search";
private static final String PATH_TREE = "tree";
private static final String PARAM_QUERY = "query";
private static final String PARAM_MANAGE = "manage";
public static String getDocumentId(Uri documentUri) {
final List<String> paths = documentUri.getPathSegments();
if (paths.size() >= 2 && PATH_DOCUMENT.equals(paths.get(0))) {
return paths.get(1);
}
if (paths.size() >= 4 && PATH_TREE.equals(paths.get(0))
&& PATH_DOCUMENT.equals(paths.get(2))) {
return paths.get(3);
}
throw new IllegalArgumentException("Invalid URI: " + documentUri);
}
public static String getTreeDocumentId(Uri documentUri) {
final List<String> paths = documentUri.getPathSegments();
if (paths.size() >= 2 && PATH_TREE.equals(paths.get(0))) {
return paths.get(1);
}
throw new IllegalArgumentException("Invalid URI: " + documentUri);
}
public static boolean isContentUri(Uri uri) {
return uri != null && ContentResolver.SCHEME_CONTENT.equals(uri.getScheme());
}
private static boolean isDocumentsProvider(Context context, String authority) {
throw new RuntimeException("DocumentsContract.isDocumentsProvider not implemented yet");
}
public static boolean isDocumentUri(Context context, Uri uri) {
if (isContentUri(uri) && isDocumentsProvider(context, uri.getAuthority())) {
final List<String> paths = uri.getPathSegments();
if (paths.size() == 2) {
return PATH_DOCUMENT.equals(paths.get(0));
} else if (paths.size() == 4) {
return PATH_TREE.equals(paths.get(0)) && PATH_DOCUMENT.equals(paths.get(2));
}
}
return false;
}
public static boolean isTreeUri(Uri uri) {
final List<String> paths = uri.getPathSegments();
return (paths.size() >= 2 && PATH_TREE.equals(paths.get(0)));
}
public static Uri buildChildDocumentsUriUsingTree(Uri treeUri, String parentDocumentId) {
return new Uri.Builder().scheme(ContentResolver.SCHEME_CONTENT)
.authority(treeUri.getAuthority()).appendPath(PATH_TREE)
.appendPath(getTreeDocumentId(treeUri)).appendPath(PATH_DOCUMENT)
.appendPath(parentDocumentId).appendPath(PATH_CHILDREN).build();
}
public static Uri buildDocumentUriUsingTree(Uri treeUri, String documentId) {
return new Uri.Builder().scheme(ContentResolver.SCHEME_CONTENT)
.authority(treeUri.getAuthority()).appendPath(PATH_TREE)
.appendPath(getTreeDocumentId(treeUri)).appendPath(PATH_DOCUMENT)
.appendPath(documentId).build();
}
public static Uri copyDocument(ContentResolver content, Uri sourceDocumentUri, Uri targetParentDocumentUri) {
throw new RuntimeException("DocumentsContract.copyDocument not implemented yet");
}
public static Uri createDocument(ContentResolver content, Uri parentDocumentUri, String mimeType, String displayName) {
throw new RuntimeException("DocumentsContract.createDocument not implemented yet");
}
public static boolean deleteDocument(ContentResolver content, Uri documentUri) {
throw new RuntimeException("DocumentsContract.deleteDocument not implemented yet");
}
public static Uri renameDocument(ContentResolver content, Uri documentUri, String displayName) {
throw new RuntimeException("DocumentsContract.renameDocument not implemented yet");
}
public static boolean isChildDocument(ContentResolver content, Uri parentDocumentUri, Uri childDocumentUri) {
throw new RuntimeException("DocumentsContract.isChildDocument not implemented yet");
}
public final static class Document {
public static final String COLUMN_DOCUMENT_ID = "document_id";
public static final String COLUMN_MIME_TYPE = "mime_type";
public static final String COLUMN_DISPLAY_NAME = "_display_name";//OpenableColumns.DISPLAY_NAME;
public static final String COLUMN_SUMMARY = "summary";
public static final String COLUMN_LAST_MODIFIED = "last_modified";
public static final String COLUMN_ICON = "icon";
public static final String COLUMN_FLAGS = "flags";
public static final String COLUMN_SIZE = "_size";//OpenableColumns.SIZE;
public static final String MIME_TYPE_DIR = "vnd.android.document/directory";
public static final int FLAG_SUPPORTS_THUMBNAIL = 1;
public static final int FLAG_SUPPORTS_WRITE = 1 << 1;
public static final int FLAG_SUPPORTS_DELETE = 1 << 2;
public static final int FLAG_DIR_SUPPORTS_CREATE = 1 << 3;
public static final int FLAG_DIR_PREFERS_GRID = 1 << 4;
public static final int FLAG_DIR_PREFERS_LAST_MODIFIED = 1 << 5;
public static final int FLAG_SUPPORTS_RENAME = 1 << 6;
public static final int FLAG_SUPPORTS_COPY = 1 << 7;
public static final int FLAG_SUPPORTS_MOVE = 1 << 8;
public static final int FLAG_VIRTUAL_DOCUMENT = 1 << 9;
public static final int FLAG_SUPPORTS_REMOVE = 1 << 10;
public static final int FLAG_SUPPORTS_SETTINGS = 1 << 11;
public static final int FLAG_WEB_LINKABLE = 1 << 12;
public static final int FLAG_PARTIAL = 1 << 13;
public static final int FLAG_SUPPORTS_METADATA = 1 << 14;
public static final int FLAG_DIR_BLOCKS_OPEN_DOCUMENT_TREE = 1 << 15;
}
}

View File

@@ -0,0 +1,10 @@
package android.view;
import android.view.WindowInsets.Type.InsetsType;
public class InsetsController implements WindowInsetsController {
public void setSystemBarsAppearance(int appearance, int mask) {}
public void setSystemBarsBehavior(int behavior) {}
public void show(@InsetsType int types) {}
public void hide(@InsetsType int types) {}
}

View File

@@ -218,4 +218,8 @@ public class SurfaceView extends View {
return new Rect(0, 0, 400, 400);
}
};
public void setZOrderOnTop(boolean onTop) {
/* TODO */
}
}

View File

@@ -34,6 +34,7 @@ import android.util.SparseArray;
import android.view.animation.Animation;
import java.lang.CharSequence;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@@ -820,6 +821,42 @@ public class View implements Drawable.Callback {
}
}
/* Copyright (C) 2006 The Android Open Source Project */
public static class DragShadowBuilder {
private final WeakReference<View> mView;
public DragShadowBuilder(View view) {
mView = new WeakReference<View>(view);
}
public DragShadowBuilder() {
mView = new WeakReference<View>(null);
}
final public View getView() {
return mView.get();
}
public void onProvideShadowMetrics(Point outShadowSize, Point outShadowTouchPoint) {
final View view = mView.get();
if (view != null) {
outShadowSize.set(view.getWidth(), view.getHeight());
outShadowTouchPoint.set(outShadowSize.x / 2, outShadowSize.y / 2);
} else {
Slog.e("View", "Asked for drag thumb metrics but no view");
}
}
public void onDrawShadow(Canvas canvas) {
final View view = mView.get();
if (view != null) {
view.draw(canvas);
} else {
Slog.e("View", "Asked to draw drag shadow but no view");
}
}
}
// --- end of subclasses
public int id = NO_ID;
@@ -1960,12 +1997,16 @@ public class View implements Drawable.Callback {
}
public void forceLayout() {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
requestLayout();
}
});
if(Looper.myLooper() == Looper.getMainLooper()) {
requestLayout();
} else {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
requestLayout();
}
});
}
}
private OnAttachStateChangeListener onAttachStateChangeListener;

View File

@@ -63,4 +63,241 @@ public class WindowInsets {
public WindowInsets consumeDisplayCutout() {
return this;
}
/* Copyright (C) 2014 The Android Open Source Project */
public static final class Type {
static final int FIRST = 1 << 0;
static final int STATUS_BARS = FIRST;
static final int NAVIGATION_BARS = 1 << 1;
static final int CAPTION_BAR = 1 << 2;
static final int IME = 1 << 3;
static final int SYSTEM_GESTURES = 1 << 4;
static final int MANDATORY_SYSTEM_GESTURES = 1 << 5;
static final int TAPPABLE_ELEMENT = 1 << 6;
static final int DISPLAY_CUTOUT = 1 << 7;
static final int WINDOW_DECOR = 1 << 8;
static final int SYSTEM_OVERLAYS = 1 << 9;
static final int LAST = SYSTEM_OVERLAYS;
static final int SIZE = 10;
static final int DEFAULT_VISIBLE = ~IME;
static int indexOf(@InsetsType int type) {
switch (type) {
case STATUS_BARS:
return 0;
case NAVIGATION_BARS:
return 1;
case CAPTION_BAR:
return 2;
case IME:
return 3;
case SYSTEM_GESTURES:
return 4;
case MANDATORY_SYSTEM_GESTURES:
return 5;
case TAPPABLE_ELEMENT:
return 6;
case DISPLAY_CUTOUT:
return 7;
case WINDOW_DECOR:
return 8;
case SYSTEM_OVERLAYS:
return 9;
default:
throw new IllegalArgumentException("type needs to be >= FIRST and <= LAST,"
+ " type=" + type);
}
}
/**
* @hide
*/
public static String toString(@InsetsType int types) {
StringBuilder result = new StringBuilder();
if ((types & STATUS_BARS) != 0) {
result.append("statusBars ");
}
if ((types & NAVIGATION_BARS) != 0) {
result.append("navigationBars ");
}
if ((types & CAPTION_BAR) != 0) {
result.append("captionBar ");
}
if ((types & IME) != 0) {
result.append("ime ");
}
if ((types & SYSTEM_GESTURES) != 0) {
result.append("systemGestures ");
}
if ((types & MANDATORY_SYSTEM_GESTURES) != 0) {
result.append("mandatorySystemGestures ");
}
if ((types & TAPPABLE_ELEMENT) != 0) {
result.append("tappableElement ");
}
if ((types & DISPLAY_CUTOUT) != 0) {
result.append("displayCutout ");
}
if ((types & WINDOW_DECOR) != 0) {
result.append("windowDecor ");
}
if ((types & SYSTEM_OVERLAYS) != 0) {
result.append("systemOverlays ");
}
if (result.length() > 0) {
result.delete(result.length() - 1, result.length());
}
return result.toString();
}
private Type() {
}
/**
* @hide
*/
public @interface InsetsType {
}
/**
* @return An insets type representing any system bars for displaying status.
*/
public static @InsetsType int statusBars() {
return STATUS_BARS;
}
/**
* @return An insets type representing any system bars for navigation.
*/
public static @InsetsType int navigationBars() {
return NAVIGATION_BARS;
}
/**
* @return An insets type representing the window of a caption bar.
*/
public static @InsetsType int captionBar() {
return CAPTION_BAR;
}
/**
* @return An insets type representing the window of an {@link InputMethod}.
*/
public static @InsetsType int ime() {
return IME;
}
/**
* Returns an insets type representing the system gesture insets.
*
* <p>The system gesture insets represent the area of a window where system gestures have
* priority and may consume some or all touch input, e.g. due to the a system bar
* occupying it, or it being reserved for touch-only gestures.
*
* <p>Simple taps are guaranteed to reach the window even within the system gesture insets,
* as long as they are outside the {@link #getSystemWindowInsets() system window insets}.
*
* <p>When {@link View#SYSTEM_UI_FLAG_LAYOUT_STABLE} is requested, an inset will be returned
* even when the system gestures are inactive due to
* {@link View#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN} or
* {@link View#SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION}.
*
* @see #getSystemGestureInsets()
*/
public static @InsetsType int systemGestures() {
return SYSTEM_GESTURES;
}
/**
* @see #getMandatorySystemGestureInsets
*/
public static @InsetsType int mandatorySystemGestures() {
return MANDATORY_SYSTEM_GESTURES;
}
/**
* @see #getTappableElementInsets
*/
public static @InsetsType int tappableElement() {
return TAPPABLE_ELEMENT;
}
/**
* Returns an insets type representing the area that used by {@link DisplayCutout}.
*
* <p>This is equivalent to the safe insets on {@link #getDisplayCutout()}.
*
* <p>Note: During dispatch to {@link View#onApplyWindowInsets}, if the window is using
* the {@link WindowManager.LayoutParams#LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT default}
* {@link WindowManager.LayoutParams#layoutInDisplayCutoutMode}, {@link #getDisplayCutout()}
* will return {@code null} even if the window overlaps a display cutout area, in which case
* the {@link #displayCutout() displayCutout() inset} will still report the accurate value.
*
* @see DisplayCutout#getSafeInsetLeft()
* @see DisplayCutout#getSafeInsetTop()
* @see DisplayCutout#getSafeInsetRight()
* @see DisplayCutout#getSafeInsetBottom()
*/
public static @InsetsType int displayCutout() {
return DISPLAY_CUTOUT;
}
/**
* System overlays represent the insets caused by the system visible elements. Unlike
* {@link #navigationBars()} or {@link #statusBars()}, system overlays might not be
* hidden by the client.
*
* For compatibility reasons, this type is included in {@link #systemBars()}. In this
* way, views which fit {@link #systemBars()} fit {@link #systemOverlays()}.
*
* Examples include climate controls, multi-tasking affordances, etc.
*
* @return An insets type representing the system overlays.
*/
public static @InsetsType int systemOverlays() {
return SYSTEM_OVERLAYS;
}
/**
* @return All system bars. Includes {@link #statusBars()}, {@link #captionBar()} as well as
* {@link #navigationBars()}, {@link #systemOverlays()}, but not {@link #ime()}.
*/
public static @InsetsType int systemBars() {
return STATUS_BARS | NAVIGATION_BARS | CAPTION_BAR | SYSTEM_OVERLAYS;
}
/**
* @return Default visible types.
*
* @hide
*/
public static @InsetsType int defaultVisible() {
return DEFAULT_VISIBLE;
}
/**
* @return All inset types combined.
*
* @hide
*/
public static @InsetsType int all() {
return 0xFFFFFFFF;
}
/**
* @return System bars which can be controlled by {@link View.SystemUiVisibility}.
*
* @hide
*/
public static boolean hasCompatSystemBars(@InsetsType int types) {
return (types & (STATUS_BARS | NAVIGATION_BARS)) != 0;
}
}
}

View File

@@ -0,0 +1,10 @@
package android.view;
import android.view.WindowInsets.Type.InsetsType;
public interface WindowInsetsController {
void setSystemBarsAppearance(int appearance, int mask);
void setSystemBarsBehavior(int behavior);
void show(@InsetsType int types);
void hide(@InsetsType int types);
}

View File

@@ -82,6 +82,7 @@ srcs = [
'android/content/BroadcastReceiver.java',
'android/content/ClipboardManager.java',
'android/content/ClipData.java',
'android/content/ClipDescription.java',
'android/content/ComponentCallbacks.java',
'android/content/ComponentCallbacks2.java',
'android/content/ComponentName.java',
@@ -199,6 +200,7 @@ srcs = [
'android/graphics/Bitmap.java',
'android/graphics/BitmapFactory.java',
'android/graphics/BitmapShader.java',
'android/graphics/BlendMode.java',
'android/graphics/BlurMaskFilter.java',
'android/graphics/Canvas.java',
'android/graphics/Color.java',
@@ -210,6 +212,7 @@ srcs = [
'android/graphics/DashPathEffect.java',
'android/graphics/FontFamily.java',
'android/graphics/GskCanvas.java',
'android/graphics/Insets.java',
'android/graphics/LightingColorFilter.java',
'android/graphics/LinearGradient.java',
'android/graphics/MaskFilter.java',
@@ -379,6 +382,7 @@ srcs = [
'android/provider/BaseColumns.java',
'android/provider/CalendarContract.java',
'android/provider/ContactsContract.java',
'android/provider/DocumentsContract.java',
'android/provider/MediaStore.java',
'android/provider/Settings.java',
'android/provider/UserDictionary.java',
@@ -513,6 +517,7 @@ srcs = [
'android/view/InputDevice.java',
'android/view/InputEvent.java',
'android/view/InputQueue.java',
'android/view/InsetsController.java',
'android/view/KeyCharacterMap.java',
'android/view/KeyEvent.java',
'android/view/LayoutInflater.java',
@@ -543,6 +548,7 @@ srcs = [
'android/view/ViewTreeObserver.java',
'android/view/Window.java',
'android/view/WindowInsets.java',
'android/view/WindowInsetsController.java',
'android/view/WindowManager.java',
'android/view/WindowManagerImpl.java',
'android/view/accessibility/AccessibilityManager.java',