Merge "Support all ViewPort ScaleTypes" into androidx-master-dev am: cf1d9469a4
Change-Id: I798c54d708878add29869e0d9b377b9a7ff03d2c
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
index 001ebad..3cfaa1f 100644
--- a/PREUPLOAD.cfg
+++ b/PREUPLOAD.cfg
@@ -7,4 +7,3 @@
[Builtin Hooks]
commit_msg_changeid_field = true
commit_msg_test_field = true
-commit_msg_relnote_field_format = true
\ No newline at end of file
diff --git a/ads/ads-identifier-benchmark/src/androidTest/java/androidx/ads/identifier/benchmark/AdvertisingIdBenchmark.java b/ads/ads-identifier-benchmark/src/androidTest/java/androidx/ads/identifier/benchmark/AdvertisingIdBenchmark.java
index 01f1016..417ca5a 100644
--- a/ads/ads-identifier-benchmark/src/androidTest/java/androidx/ads/identifier/benchmark/AdvertisingIdBenchmark.java
+++ b/ads/ads-identifier-benchmark/src/androidTest/java/androidx/ads/identifier/benchmark/AdvertisingIdBenchmark.java
@@ -26,7 +26,6 @@
import android.content.ContextWrapper;
import android.content.Intent;
import android.content.pm.PackageManager;
-import android.os.AsyncTask;
import androidx.ads.identifier.AdvertisingIdClient;
import androidx.ads.identifier.AdvertisingIdInfo;
@@ -173,19 +172,21 @@
}
@Test
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void getAdvertisingIdInfo_asyncTask() throws Exception {
final BenchmarkState state = mBenchmarkRule.getState();
while (state.keepRunning()) {
- AdvertisingIdInfo advertisingIdInfo = new AsyncTask<Void, Void, AdvertisingIdInfo>() {
- @Override
- protected AdvertisingIdInfo doInBackground(Void... voids) {
- try {
- return AdvertisingIdClient.getAdvertisingIdInfo(mContext).get();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }.execute().get();
+ AdvertisingIdInfo advertisingIdInfo =
+ new android.os.AsyncTask<Void, Void, AdvertisingIdInfo>() {
+ @Override
+ protected AdvertisingIdInfo doInBackground(Void... voids) {
+ try {
+ return AdvertisingIdClient.getAdvertisingIdInfo(mContext).get();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }.execute().get();
assertThat(advertisingIdInfo.getId()).isEqualTo(DUMMY_AD_ID);
}
}
diff --git a/appcompat/appcompat-resources/api/1.3.0-alpha01.txt b/appcompat/appcompat-resources/api/1.3.0-alpha01.txt
new file mode 100644
index 0000000..7de85f8
--- /dev/null
+++ b/appcompat/appcompat-resources/api/1.3.0-alpha01.txt
@@ -0,0 +1,35 @@
+// Signature format: 3.0
+package androidx.appcompat.content.res {
+
+ public final class AppCompatResources {
+ method public static android.content.res.ColorStateList! getColorStateList(android.content.Context, @ColorRes int);
+ method public static android.graphics.drawable.Drawable? getDrawable(android.content.Context, @DrawableRes int);
+ }
+
+}
+
+package androidx.appcompat.graphics.drawable {
+
+ public class AnimatedStateListDrawableCompat extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+ ctor public AnimatedStateListDrawableCompat();
+ method public void addState(int[], android.graphics.drawable.Drawable, int);
+ method public void addState(int[]!, android.graphics.drawable.Drawable!);
+ method public <T extends android.graphics.drawable.Drawable & android.graphics.drawable.Animatable> void addTransition(int, int, T, boolean);
+ method public static androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat? create(android.content.Context, @DrawableRes int, android.content.res.Resources.Theme?);
+ method public static androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat! createFromXmlInner(android.content.Context, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public void draw(android.graphics.Canvas);
+ method public final android.graphics.drawable.Drawable.ConstantState! getConstantState();
+ method public int getOpacity();
+ method public void inflate(android.content.Context, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable, Runnable, long);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter!);
+ method public void setDither(boolean);
+ method public void setEnterFadeDuration(int);
+ method public void setExitFadeDuration(int);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable, Runnable);
+ }
+
+}
+
diff --git a/appcompat/appcompat-resources/api/public_plus_experimental_1.3.0-alpha01.txt b/appcompat/appcompat-resources/api/public_plus_experimental_1.3.0-alpha01.txt
new file mode 100644
index 0000000..990b059
--- /dev/null
+++ b/appcompat/appcompat-resources/api/public_plus_experimental_1.3.0-alpha01.txt
@@ -0,0 +1,35 @@
+// Signature format: 3.0
+package androidx.appcompat.content.res {
+
+ public final class AppCompatResources {
+ method public static android.content.res.ColorStateList! getColorStateList(android.content.Context, @ColorRes int);
+ method public static android.graphics.drawable.Drawable? getDrawable(android.content.Context, @DrawableRes int);
+ }
+
+}
+
+package androidx.appcompat.graphics.drawable {
+
+ public class AnimatedStateListDrawableCompat extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback androidx.core.graphics.drawable.TintAwareDrawable {
+ ctor public AnimatedStateListDrawableCompat();
+ method public void addState(int[], android.graphics.drawable.Drawable, int);
+ method public void addState(int[]!, android.graphics.drawable.Drawable!);
+ method public <T extends android.graphics.drawable.Drawable & android.graphics.drawable.Animatable> void addTransition(int, int, T, boolean);
+ method public static androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat? create(android.content.Context, @DrawableRes int, android.content.res.Resources.Theme?);
+ method public static androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat! createFromXmlInner(android.content.Context, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public void draw(android.graphics.Canvas);
+ method public final android.graphics.drawable.Drawable.ConstantState! getConstantState();
+ method public int getOpacity();
+ method public void inflate(android.content.Context, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable, Runnable, long);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter!);
+ method public void setDither(boolean);
+ method public void setEnterFadeDuration(int);
+ method public void setExitFadeDuration(int);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable, Runnable);
+ }
+
+}
+
diff --git a/swiperefreshlayout/swiperefreshlayout/api/res-1.2.0-alpha01.txt b/appcompat/appcompat-resources/api/res-1.3.0-alpha01.txt
similarity index 100%
rename from swiperefreshlayout/swiperefreshlayout/api/res-1.2.0-alpha01.txt
rename to appcompat/appcompat-resources/api/res-1.3.0-alpha01.txt
diff --git a/appcompat/appcompat-resources/api/restricted_1.3.0-alpha01.txt b/appcompat/appcompat-resources/api/restricted_1.3.0-alpha01.txt
new file mode 100644
index 0000000..1f32e40
--- /dev/null
+++ b/appcompat/appcompat-resources/api/restricted_1.3.0-alpha01.txt
@@ -0,0 +1,90 @@
+// Signature format: 3.0
+package androidx.appcompat.content.res {
+
+ public final class AppCompatResources {
+ method public static android.content.res.ColorStateList! getColorStateList(android.content.Context, @ColorRes int);
+ method public static android.graphics.drawable.Drawable? getDrawable(android.content.Context, @DrawableRes int);
+ }
+
+}
+
+package androidx.appcompat.graphics.drawable {
+
+ public class AnimatedStateListDrawableCompat extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback androidx.core.graphics.drawable.TintAwareDrawable {
+ ctor public AnimatedStateListDrawableCompat();
+ method public void addState(int[], android.graphics.drawable.Drawable, int);
+ method public void addState(int[]!, android.graphics.drawable.Drawable!);
+ method public <T extends android.graphics.drawable.Drawable & android.graphics.drawable.Animatable> void addTransition(int, int, T, boolean);
+ method public static androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat? create(android.content.Context, @DrawableRes int, android.content.res.Resources.Theme?);
+ method public static androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat! createFromXmlInner(android.content.Context, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public void draw(android.graphics.Canvas);
+ method public final android.graphics.drawable.Drawable.ConstantState! getConstantState();
+ method public int getOpacity();
+ method public void inflate(android.content.Context, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ method public void invalidateDrawable(android.graphics.drawable.Drawable);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable, Runnable, long);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter!);
+ method public void setDither(boolean);
+ method public void setEnterFadeDuration(int);
+ method public void setExitFadeDuration(int);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable, Runnable);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class DrawableWrapper extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+ ctor public DrawableWrapper(android.graphics.drawable.Drawable!);
+ method public void draw(android.graphics.Canvas!);
+ method public int getOpacity();
+ method public android.graphics.drawable.Drawable! getWrappedDrawable();
+ method public void invalidateDrawable(android.graphics.drawable.Drawable!);
+ method public void scheduleDrawable(android.graphics.drawable.Drawable!, Runnable!, long);
+ method public void setAlpha(int);
+ method public void setColorFilter(android.graphics.ColorFilter!);
+ method public void setDither(boolean);
+ method public void setWrappedDrawable(android.graphics.drawable.Drawable!);
+ method public void unscheduleDrawable(android.graphics.drawable.Drawable!, Runnable!);
+ }
+
+}
+
+package androidx.appcompat.widget {
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class DrawableUtils {
+ method public static boolean canSafelyMutateDrawable(android.graphics.drawable.Drawable);
+ method public static android.graphics.Rect! getOpticalBounds(android.graphics.drawable.Drawable!);
+ method public static android.graphics.PorterDuff.Mode! parseTintMode(int, android.graphics.PorterDuff.Mode!);
+ field public static final android.graphics.Rect! INSETS_NONE;
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class ResourceManagerInternal {
+ ctor public ResourceManagerInternal();
+ method public static androidx.appcompat.widget.ResourceManagerInternal! get();
+ method public android.graphics.drawable.Drawable! getDrawable(android.content.Context, @DrawableRes int);
+ method public static android.graphics.PorterDuffColorFilter! getPorterDuffColorFilter(int, android.graphics.PorterDuff.Mode!);
+ method public void onConfigurationChanged(android.content.Context);
+ method public void setHooks(androidx.appcompat.widget.ResourceManagerInternal.ResourceManagerHooks!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class TintContextWrapper extends android.content.ContextWrapper {
+ method public static android.content.Context! wrap(android.content.Context);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class TintInfo {
+ ctor public TintInfo();
+ field public boolean mHasTintList;
+ field public boolean mHasTintMode;
+ field public android.content.res.ColorStateList! mTintList;
+ field public android.graphics.PorterDuff.Mode! mTintMode;
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class VectorEnabledTintResources extends android.content.res.Resources {
+ ctor public VectorEnabledTintResources(android.content.Context, android.content.res.Resources);
+ method public android.graphics.drawable.Drawable! getDrawable(int) throws android.content.res.Resources.NotFoundException;
+ method public static boolean isCompatVectorFromResourcesEnabled();
+ method public static void setCompatVectorFromResourcesEnabled(boolean);
+ method public static boolean shouldBeUsed();
+ field public static final int MAX_SDK_WHERE_REQUIRED = 20; // 0x14
+ }
+
+}
+
diff --git a/appcompat/appcompat/api/1.3.0-alpha01.txt b/appcompat/appcompat/api/1.3.0-alpha01.txt
new file mode 100644
index 0000000..53d14d4
--- /dev/null
+++ b/appcompat/appcompat/api/1.3.0-alpha01.txt
@@ -0,0 +1,979 @@
+// Signature format: 3.0
+package androidx.appcompat.app {
+
+ public abstract class ActionBar {
+ ctor public ActionBar();
+ method public abstract void addOnMenuVisibilityListener(androidx.appcompat.app.ActionBar.OnMenuVisibilityListener!);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!, boolean);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!, int);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!, int, boolean);
+ method public abstract android.view.View! getCustomView();
+ method public abstract int getDisplayOptions();
+ method public float getElevation();
+ method public abstract int getHeight();
+ method public int getHideOffset();
+ method @Deprecated public abstract int getNavigationItemCount();
+ method @Deprecated public abstract int getNavigationMode();
+ method @Deprecated public abstract int getSelectedNavigationIndex();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab? getSelectedTab();
+ method public abstract CharSequence? getSubtitle();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! getTabAt(int);
+ method @Deprecated public abstract int getTabCount();
+ method public android.content.Context! getThemedContext();
+ method public abstract CharSequence? getTitle();
+ method public abstract void hide();
+ method public boolean isHideOnContentScrollEnabled();
+ method public abstract boolean isShowing();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! newTab();
+ method @Deprecated public abstract void removeAllTabs();
+ method public abstract void removeOnMenuVisibilityListener(androidx.appcompat.app.ActionBar.OnMenuVisibilityListener!);
+ method @Deprecated public abstract void removeTab(androidx.appcompat.app.ActionBar.Tab!);
+ method @Deprecated public abstract void removeTabAt(int);
+ method @Deprecated public abstract void selectTab(androidx.appcompat.app.ActionBar.Tab!);
+ method public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable?);
+ method public abstract void setCustomView(android.view.View!);
+ method public abstract void setCustomView(android.view.View!, androidx.appcompat.app.ActionBar.LayoutParams!);
+ method public abstract void setCustomView(int);
+ method public abstract void setDisplayHomeAsUpEnabled(boolean);
+ method public abstract void setDisplayOptions(int);
+ method public abstract void setDisplayOptions(int, int);
+ method public abstract void setDisplayShowCustomEnabled(boolean);
+ method public abstract void setDisplayShowHomeEnabled(boolean);
+ method public abstract void setDisplayShowTitleEnabled(boolean);
+ method public abstract void setDisplayUseLogoEnabled(boolean);
+ method public void setElevation(float);
+ method public void setHideOffset(int);
+ method public void setHideOnContentScrollEnabled(boolean);
+ method public void setHomeActionContentDescription(CharSequence?);
+ method public void setHomeActionContentDescription(@StringRes int);
+ method public void setHomeAsUpIndicator(android.graphics.drawable.Drawable?);
+ method public void setHomeAsUpIndicator(@DrawableRes int);
+ method public void setHomeButtonEnabled(boolean);
+ method public abstract void setIcon(@DrawableRes int);
+ method public abstract void setIcon(android.graphics.drawable.Drawable!);
+ method @Deprecated public abstract void setListNavigationCallbacks(android.widget.SpinnerAdapter!, androidx.appcompat.app.ActionBar.OnNavigationListener!);
+ method public abstract void setLogo(@DrawableRes int);
+ method public abstract void setLogo(android.graphics.drawable.Drawable!);
+ method @Deprecated public abstract void setNavigationMode(int);
+ method @Deprecated public abstract void setSelectedNavigationItem(int);
+ method public void setSplitBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setStackedBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public abstract void setSubtitle(CharSequence!);
+ method public abstract void setSubtitle(int);
+ method public abstract void setTitle(CharSequence!);
+ method public abstract void setTitle(@StringRes int);
+ method public abstract void show();
+ field public static final int DISPLAY_HOME_AS_UP = 4; // 0x4
+ field public static final int DISPLAY_SHOW_CUSTOM = 16; // 0x10
+ field public static final int DISPLAY_SHOW_HOME = 2; // 0x2
+ field public static final int DISPLAY_SHOW_TITLE = 8; // 0x8
+ field public static final int DISPLAY_USE_LOGO = 1; // 0x1
+ field @Deprecated public static final int NAVIGATION_MODE_LIST = 1; // 0x1
+ field @Deprecated public static final int NAVIGATION_MODE_STANDARD = 0; // 0x0
+ field @Deprecated public static final int NAVIGATION_MODE_TABS = 2; // 0x2
+ }
+
+ public static class ActionBar.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public ActionBar.LayoutParams(android.content.Context, android.util.AttributeSet!);
+ ctor public ActionBar.LayoutParams(int, int);
+ ctor public ActionBar.LayoutParams(int, int, int);
+ ctor public ActionBar.LayoutParams(int);
+ ctor public ActionBar.LayoutParams(androidx.appcompat.app.ActionBar.LayoutParams!);
+ ctor public ActionBar.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ field public int gravity;
+ }
+
+ public static interface ActionBar.OnMenuVisibilityListener {
+ method public void onMenuVisibilityChanged(boolean);
+ }
+
+ @Deprecated public static interface ActionBar.OnNavigationListener {
+ method @Deprecated public boolean onNavigationItemSelected(int, long);
+ }
+
+ @Deprecated public abstract static class ActionBar.Tab {
+ ctor @Deprecated public ActionBar.Tab();
+ method @Deprecated public abstract CharSequence! getContentDescription();
+ method @Deprecated public abstract android.view.View! getCustomView();
+ method @Deprecated public abstract android.graphics.drawable.Drawable! getIcon();
+ method @Deprecated public abstract int getPosition();
+ method @Deprecated public abstract Object! getTag();
+ method @Deprecated public abstract CharSequence! getText();
+ method @Deprecated public abstract void select();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setContentDescription(@StringRes int);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setContentDescription(CharSequence!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setCustomView(android.view.View!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setCustomView(int);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setIcon(android.graphics.drawable.Drawable!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setIcon(@DrawableRes int);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setTabListener(androidx.appcompat.app.ActionBar.TabListener!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setTag(Object!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setText(CharSequence!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setText(int);
+ field @Deprecated public static final int INVALID_POSITION = -1; // 0xffffffff
+ }
+
+ @Deprecated public static interface ActionBar.TabListener {
+ method @Deprecated public void onTabReselected(androidx.appcompat.app.ActionBar.Tab!, androidx.fragment.app.FragmentTransaction!);
+ method @Deprecated public void onTabSelected(androidx.appcompat.app.ActionBar.Tab!, androidx.fragment.app.FragmentTransaction!);
+ method @Deprecated public void onTabUnselected(androidx.appcompat.app.ActionBar.Tab!, androidx.fragment.app.FragmentTransaction!);
+ }
+
+ public class ActionBarDrawerToggle implements androidx.drawerlayout.widget.DrawerLayout.DrawerListener {
+ ctor public ActionBarDrawerToggle(android.app.Activity!, androidx.drawerlayout.widget.DrawerLayout!, @StringRes int, @StringRes int);
+ ctor public ActionBarDrawerToggle(android.app.Activity!, androidx.drawerlayout.widget.DrawerLayout!, androidx.appcompat.widget.Toolbar!, @StringRes int, @StringRes int);
+ method public androidx.appcompat.graphics.drawable.DrawerArrowDrawable getDrawerArrowDrawable();
+ method public android.view.View.OnClickListener! getToolbarNavigationClickListener();
+ method public boolean isDrawerIndicatorEnabled();
+ method public boolean isDrawerSlideAnimationEnabled();
+ method public void onConfigurationChanged(android.content.res.Configuration!);
+ method public void onDrawerClosed(android.view.View!);
+ method public void onDrawerOpened(android.view.View!);
+ method public void onDrawerSlide(android.view.View!, float);
+ method public void onDrawerStateChanged(int);
+ method public boolean onOptionsItemSelected(android.view.MenuItem!);
+ method public void setDrawerArrowDrawable(androidx.appcompat.graphics.drawable.DrawerArrowDrawable);
+ method public void setDrawerIndicatorEnabled(boolean);
+ method public void setDrawerSlideAnimationEnabled(boolean);
+ method public void setHomeAsUpIndicator(android.graphics.drawable.Drawable!);
+ method public void setHomeAsUpIndicator(int);
+ method public void setToolbarNavigationClickListener(android.view.View.OnClickListener!);
+ method public void syncState();
+ }
+
+ public static interface ActionBarDrawerToggle.Delegate {
+ method public android.content.Context! getActionBarThemedContext();
+ method public android.graphics.drawable.Drawable! getThemeUpIndicator();
+ method public boolean isNavigationVisible();
+ method public void setActionBarDescription(@StringRes int);
+ method public void setActionBarUpIndicator(android.graphics.drawable.Drawable!, @StringRes int);
+ }
+
+ public static interface ActionBarDrawerToggle.DelegateProvider {
+ method public androidx.appcompat.app.ActionBarDrawerToggle.Delegate? getDrawerToggleDelegate();
+ }
+
+ public class AlertDialog extends androidx.appcompat.app.AppCompatDialog implements android.content.DialogInterface {
+ ctor protected AlertDialog(android.content.Context);
+ ctor protected AlertDialog(android.content.Context, @StyleRes int);
+ ctor protected AlertDialog(android.content.Context, boolean, android.content.DialogInterface.OnCancelListener?);
+ method public android.widget.Button! getButton(int);
+ method public android.widget.ListView! getListView();
+ method public void setButton(int, CharSequence!, android.os.Message!);
+ method public void setButton(int, CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public void setButton(int, CharSequence!, android.graphics.drawable.Drawable!, android.content.DialogInterface.OnClickListener!);
+ method public void setCustomTitle(android.view.View!);
+ method public void setIcon(int);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setIconAttribute(int);
+ method public void setMessage(CharSequence!);
+ method public void setView(android.view.View!);
+ method public void setView(android.view.View!, int, int, int, int);
+ }
+
+ public static class AlertDialog.Builder {
+ ctor public AlertDialog.Builder(android.content.Context);
+ ctor public AlertDialog.Builder(android.content.Context, @StyleRes int);
+ method public androidx.appcompat.app.AlertDialog create();
+ method public android.content.Context getContext();
+ method public androidx.appcompat.app.AlertDialog.Builder! setAdapter(android.widget.ListAdapter!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setCancelable(boolean);
+ method public androidx.appcompat.app.AlertDialog.Builder! setCursor(android.database.Cursor!, android.content.DialogInterface.OnClickListener!, String!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setCustomTitle(android.view.View?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setIcon(@DrawableRes int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setIcon(android.graphics.drawable.Drawable?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setIconAttribute(@AttrRes int);
+ method @Deprecated public androidx.appcompat.app.AlertDialog.Builder! setInverseBackgroundForced(boolean);
+ method public androidx.appcompat.app.AlertDialog.Builder! setItems(@ArrayRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setItems(CharSequence![]!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMessage(@StringRes int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMessage(CharSequence?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMultiChoiceItems(@ArrayRes int, boolean[]!, android.content.DialogInterface.OnMultiChoiceClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMultiChoiceItems(CharSequence![]!, boolean[]!, android.content.DialogInterface.OnMultiChoiceClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMultiChoiceItems(android.database.Cursor!, String!, String!, android.content.DialogInterface.OnMultiChoiceClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNegativeButton(@StringRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNegativeButton(CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNegativeButtonIcon(android.graphics.drawable.Drawable!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNeutralButton(@StringRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNeutralButton(CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNeutralButtonIcon(android.graphics.drawable.Drawable!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnCancelListener(android.content.DialogInterface.OnCancelListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnDismissListener(android.content.DialogInterface.OnDismissListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnKeyListener(android.content.DialogInterface.OnKeyListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setPositiveButton(@StringRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setPositiveButton(CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setPositiveButtonIcon(android.graphics.drawable.Drawable!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(@ArrayRes int, int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(android.database.Cursor!, int, String!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(CharSequence![]!, int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(android.widget.ListAdapter!, int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setTitle(@StringRes int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setTitle(CharSequence?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setView(int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setView(android.view.View!);
+ method public androidx.appcompat.app.AlertDialog! show();
+ }
+
+ public class AppCompatActivity extends androidx.fragment.app.FragmentActivity implements androidx.appcompat.app.ActionBarDrawerToggle.DelegateProvider androidx.appcompat.app.AppCompatCallback androidx.lifecycle.LifecycleOwner androidx.core.app.TaskStackBuilder.SupportParentable {
+ ctor public AppCompatActivity();
+ ctor @ContentView public AppCompatActivity(@LayoutRes int);
+ method public androidx.appcompat.app.AppCompatDelegate getDelegate();
+ method public androidx.appcompat.app.ActionBarDrawerToggle.Delegate? getDrawerToggleDelegate();
+ method public androidx.appcompat.app.ActionBar? getSupportActionBar();
+ method public android.content.Intent? getSupportParentActivityIntent();
+ method public void onCreateSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder);
+ method public final boolean onMenuItemSelected(int, android.view.MenuItem);
+ method protected void onNightModeChanged(int);
+ method public void onPrepareSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder);
+ method @CallSuper public void onSupportActionModeFinished(androidx.appcompat.view.ActionMode);
+ method @CallSuper public void onSupportActionModeStarted(androidx.appcompat.view.ActionMode);
+ method @Deprecated public void onSupportContentChanged();
+ method public boolean onSupportNavigateUp();
+ method public androidx.appcompat.view.ActionMode? onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback);
+ method public void setSupportActionBar(androidx.appcompat.widget.Toolbar?);
+ method @Deprecated public void setSupportProgress(int);
+ method @Deprecated public void setSupportProgressBarIndeterminate(boolean);
+ method @Deprecated public void setSupportProgressBarIndeterminateVisibility(boolean);
+ method @Deprecated public void setSupportProgressBarVisibility(boolean);
+ method public androidx.appcompat.view.ActionMode? startSupportActionMode(androidx.appcompat.view.ActionMode.Callback);
+ method public void supportInvalidateOptionsMenu();
+ method public void supportNavigateUpTo(android.content.Intent);
+ method public boolean supportRequestWindowFeature(int);
+ method public boolean supportShouldUpRecreateTask(android.content.Intent);
+ }
+
+ public interface AppCompatCallback {
+ method public void onSupportActionModeFinished(androidx.appcompat.view.ActionMode!);
+ method public void onSupportActionModeStarted(androidx.appcompat.view.ActionMode!);
+ method public androidx.appcompat.view.ActionMode? onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback!);
+ }
+
+ public abstract class AppCompatDelegate {
+ method public abstract void addContentView(android.view.View!, android.view.ViewGroup.LayoutParams!);
+ method public abstract boolean applyDayNight();
+ method @Deprecated public void attachBaseContext(android.content.Context!);
+ method @CallSuper public android.content.Context attachBaseContext2(android.content.Context);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.app.Activity, androidx.appcompat.app.AppCompatCallback?);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.app.Dialog, androidx.appcompat.app.AppCompatCallback?);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.content.Context, android.view.Window, androidx.appcompat.app.AppCompatCallback?);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.content.Context, android.app.Activity, androidx.appcompat.app.AppCompatCallback?);
+ method public abstract android.view.View! createView(android.view.View?, String!, android.content.Context, android.util.AttributeSet);
+ method public abstract <T extends android.view.View> T! findViewById(@IdRes int);
+ method public static int getDefaultNightMode();
+ method public abstract androidx.appcompat.app.ActionBarDrawerToggle.Delegate? getDrawerToggleDelegate();
+ method public int getLocalNightMode();
+ method public abstract android.view.MenuInflater! getMenuInflater();
+ method public abstract androidx.appcompat.app.ActionBar? getSupportActionBar();
+ method public abstract boolean hasWindowFeature(int);
+ method public abstract void installViewFactory();
+ method public abstract void invalidateOptionsMenu();
+ method public static boolean isCompatVectorFromResourcesEnabled();
+ method public abstract boolean isHandleNativeActionModesEnabled();
+ method public abstract void onConfigurationChanged(android.content.res.Configuration!);
+ method public abstract void onCreate(android.os.Bundle!);
+ method public abstract void onDestroy();
+ method public abstract void onPostCreate(android.os.Bundle!);
+ method public abstract void onPostResume();
+ method public abstract void onSaveInstanceState(android.os.Bundle!);
+ method public abstract void onStart();
+ method public abstract void onStop();
+ method public abstract boolean requestWindowFeature(int);
+ method public static void setCompatVectorFromResourcesEnabled(boolean);
+ method public abstract void setContentView(android.view.View!);
+ method public abstract void setContentView(@LayoutRes int);
+ method public abstract void setContentView(android.view.View!, android.view.ViewGroup.LayoutParams!);
+ method public static void setDefaultNightMode(int);
+ method public abstract void setHandleNativeActionModesEnabled(boolean);
+ method public abstract void setLocalNightMode(int);
+ method public abstract void setSupportActionBar(androidx.appcompat.widget.Toolbar?);
+ method public void setTheme(@StyleRes int);
+ method public abstract void setTitle(CharSequence?);
+ method public abstract androidx.appcompat.view.ActionMode? startSupportActionMode(androidx.appcompat.view.ActionMode.Callback);
+ field public static final int FEATURE_ACTION_MODE_OVERLAY = 10; // 0xa
+ field public static final int FEATURE_SUPPORT_ACTION_BAR = 108; // 0x6c
+ field public static final int FEATURE_SUPPORT_ACTION_BAR_OVERLAY = 109; // 0x6d
+ field @Deprecated public static final int MODE_NIGHT_AUTO = 0; // 0x0
+ field public static final int MODE_NIGHT_AUTO_BATTERY = 3; // 0x3
+ field @Deprecated public static final int MODE_NIGHT_AUTO_TIME = 0; // 0x0
+ field public static final int MODE_NIGHT_FOLLOW_SYSTEM = -1; // 0xffffffff
+ field public static final int MODE_NIGHT_NO = 1; // 0x1
+ field public static final int MODE_NIGHT_UNSPECIFIED = -100; // 0xffffff9c
+ field public static final int MODE_NIGHT_YES = 2; // 0x2
+ }
+
+ public class AppCompatDialog extends android.app.Dialog implements androidx.appcompat.app.AppCompatCallback {
+ ctor public AppCompatDialog(android.content.Context!);
+ ctor public AppCompatDialog(android.content.Context!, int);
+ ctor protected AppCompatDialog(android.content.Context!, boolean, android.content.DialogInterface.OnCancelListener!);
+ method public androidx.appcompat.app.AppCompatDelegate! getDelegate();
+ method public androidx.appcompat.app.ActionBar! getSupportActionBar();
+ method public void onSupportActionModeFinished(androidx.appcompat.view.ActionMode!);
+ method public void onSupportActionModeStarted(androidx.appcompat.view.ActionMode!);
+ method public androidx.appcompat.view.ActionMode? onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback!);
+ method public boolean supportRequestWindowFeature(int);
+ }
+
+ public class AppCompatDialogFragment extends androidx.fragment.app.DialogFragment {
+ ctor public AppCompatDialogFragment();
+ }
+
+ public class AppCompatViewInflater {
+ ctor public AppCompatViewInflater();
+ method protected androidx.appcompat.widget.AppCompatAutoCompleteTextView createAutoCompleteTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatButton createButton(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatCheckBox createCheckBox(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatCheckedTextView createCheckedTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatEditText createEditText(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatImageButton createImageButton(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatImageView createImageView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView createMultiAutoCompleteTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatRadioButton createRadioButton(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatRatingBar createRatingBar(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatSeekBar createSeekBar(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatSpinner createSpinner(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatTextView createTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatToggleButton createToggleButton(android.content.Context!, android.util.AttributeSet!);
+ method protected android.view.View? createView(android.content.Context!, String!, android.util.AttributeSet!);
+ }
+
+}
+
+package androidx.appcompat.graphics.drawable {
+
+ public class DrawerArrowDrawable extends android.graphics.drawable.Drawable {
+ ctor public DrawerArrowDrawable(android.content.Context!);
+ method public void draw(android.graphics.Canvas!);
+ method public float getArrowHeadLength();
+ method public float getArrowShaftLength();
+ method public float getBarLength();
+ method public float getBarThickness();
+ method @ColorInt public int getColor();
+ method public int getDirection();
+ method public float getGapSize();
+ method public int getOpacity();
+ method public final android.graphics.Paint! getPaint();
+ method @FloatRange(from=0.0, to=1.0) public float getProgress();
+ method public boolean isSpinEnabled();
+ method public void setAlpha(int);
+ method public void setArrowHeadLength(float);
+ method public void setArrowShaftLength(float);
+ method public void setBarLength(float);
+ method public void setBarThickness(float);
+ method public void setColor(@ColorInt int);
+ method public void setColorFilter(android.graphics.ColorFilter!);
+ method public void setDirection(int);
+ method public void setGapSize(float);
+ method public void setProgress(@FloatRange(from=0.0, to=1.0) float);
+ method public void setSpinEnabled(boolean);
+ method public void setVerticalMirror(boolean);
+ field public static final int ARROW_DIRECTION_END = 3; // 0x3
+ field public static final int ARROW_DIRECTION_LEFT = 0; // 0x0
+ field public static final int ARROW_DIRECTION_RIGHT = 1; // 0x1
+ field public static final int ARROW_DIRECTION_START = 2; // 0x2
+ }
+
+}
+
+package androidx.appcompat.view {
+
+ public abstract class ActionMode {
+ ctor public ActionMode();
+ method public abstract void finish();
+ method public abstract android.view.View! getCustomView();
+ method public abstract android.view.Menu! getMenu();
+ method public abstract android.view.MenuInflater! getMenuInflater();
+ method public abstract CharSequence! getSubtitle();
+ method public Object! getTag();
+ method public abstract CharSequence! getTitle();
+ method public boolean getTitleOptionalHint();
+ method public abstract void invalidate();
+ method public boolean isTitleOptional();
+ method public abstract void setCustomView(android.view.View!);
+ method public abstract void setSubtitle(CharSequence!);
+ method public abstract void setSubtitle(int);
+ method public void setTag(Object!);
+ method public abstract void setTitle(CharSequence!);
+ method public abstract void setTitle(int);
+ method public void setTitleOptionalHint(boolean);
+ }
+
+ public static interface ActionMode.Callback {
+ method public boolean onActionItemClicked(androidx.appcompat.view.ActionMode!, android.view.MenuItem!);
+ method public boolean onCreateActionMode(androidx.appcompat.view.ActionMode!, android.view.Menu!);
+ method public void onDestroyActionMode(androidx.appcompat.view.ActionMode!);
+ method public boolean onPrepareActionMode(androidx.appcompat.view.ActionMode!, android.view.Menu!);
+ }
+
+ @Deprecated public interface CollapsibleActionView {
+ method @Deprecated public void onActionViewCollapsed();
+ method @Deprecated public void onActionViewExpanded();
+ }
+
+ public class ContextThemeWrapper extends android.content.ContextWrapper {
+ ctor public ContextThemeWrapper();
+ ctor public ContextThemeWrapper(android.content.Context!, @StyleRes int);
+ ctor public ContextThemeWrapper(android.content.Context!, android.content.res.Resources.Theme!);
+ method public void applyOverrideConfiguration(android.content.res.Configuration!);
+ method public int getThemeResId();
+ method protected void onApplyThemeResource(android.content.res.Resources.Theme!, int, boolean);
+ }
+
+}
+
+package androidx.appcompat.widget {
+
+ public class ActionMenuView extends androidx.appcompat.widget.LinearLayoutCompat {
+ ctor public ActionMenuView(android.content.Context);
+ ctor public ActionMenuView(android.content.Context, android.util.AttributeSet?);
+ method public void dismissPopupMenus();
+ method protected androidx.appcompat.widget.ActionMenuView.LayoutParams! generateDefaultLayoutParams();
+ method public androidx.appcompat.widget.ActionMenuView.LayoutParams! generateLayoutParams(android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.ActionMenuView.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!);
+ method public android.view.Menu! getMenu();
+ method public android.graphics.drawable.Drawable? getOverflowIcon();
+ method public int getPopupTheme();
+ method public boolean hideOverflowMenu();
+ method public boolean isOverflowMenuShowing();
+ method public void onConfigurationChanged(android.content.res.Configuration!);
+ method public void onDetachedFromWindow();
+ method public void setOnMenuItemClickListener(androidx.appcompat.widget.ActionMenuView.OnMenuItemClickListener!);
+ method public void setOverflowIcon(android.graphics.drawable.Drawable?);
+ method public void setPopupTheme(@StyleRes int);
+ method public boolean showOverflowMenu();
+ }
+
+ public static class ActionMenuView.LayoutParams extends androidx.appcompat.widget.LinearLayoutCompat.LayoutParams {
+ ctor public ActionMenuView.LayoutParams(android.content.Context!, android.util.AttributeSet!);
+ ctor public ActionMenuView.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ ctor public ActionMenuView.LayoutParams(androidx.appcompat.widget.ActionMenuView.LayoutParams!);
+ ctor public ActionMenuView.LayoutParams(int, int);
+ field @android.view.ViewDebug.ExportedProperty public int cellsUsed;
+ field @android.view.ViewDebug.ExportedProperty public boolean expandable;
+ field @android.view.ViewDebug.ExportedProperty public int extraPixels;
+ field @android.view.ViewDebug.ExportedProperty public boolean isOverflowButton;
+ field @android.view.ViewDebug.ExportedProperty public boolean preventEdgeOffset;
+ }
+
+ public static interface ActionMenuView.OnMenuItemClickListener {
+ method public boolean onMenuItemClick(android.view.MenuItem!);
+ }
+
+ public class AppCompatAutoCompleteTextView extends android.widget.AutoCompleteTextView implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatAutoCompleteTextView(android.content.Context);
+ ctor public AppCompatAutoCompleteTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatAutoCompleteTextView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatButton extends android.widget.Button implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundDrawablesView {
+ ctor public AppCompatButton(android.content.Context);
+ ctor public AppCompatButton(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatButton(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportCompoundDrawablesTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportCompoundDrawablesTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int) throws java.lang.IllegalArgumentException;
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithPresetSizes(int[], int) throws java.lang.IllegalArgumentException;
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setSupportAllCaps(boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatCheckBox extends android.widget.CheckBox implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundButton {
+ ctor public AppCompatCheckBox(android.content.Context);
+ ctor public AppCompatCheckBox(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatCheckBox(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportButtonTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportButtonTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatCheckedTextView extends android.widget.CheckedTextView {
+ ctor public AppCompatCheckedTextView(android.content.Context);
+ ctor public AppCompatCheckedTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatCheckedTextView(android.content.Context, android.util.AttributeSet?, int);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatEditText extends android.widget.EditText implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatEditText(android.content.Context);
+ ctor public AppCompatEditText(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatEditText(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatImageButton extends android.widget.ImageButton implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatImageButton(android.content.Context);
+ ctor public AppCompatImageButton(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatImageButton(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatImageView extends android.widget.ImageView implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatImageView(android.content.Context);
+ ctor public AppCompatImageView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatImageView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatMultiAutoCompleteTextView extends android.widget.MultiAutoCompleteTextView implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatMultiAutoCompleteTextView(android.content.Context);
+ ctor public AppCompatMultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatMultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatRadioButton extends android.widget.RadioButton implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundButton {
+ ctor public AppCompatRadioButton(android.content.Context!);
+ ctor public AppCompatRadioButton(android.content.Context!, android.util.AttributeSet?);
+ ctor public AppCompatRadioButton(android.content.Context!, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportButtonTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportButtonTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatRatingBar extends android.widget.RatingBar {
+ ctor public AppCompatRatingBar(android.content.Context);
+ ctor public AppCompatRatingBar(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatRatingBar(android.content.Context, android.util.AttributeSet?, int);
+ }
+
+ public class AppCompatSeekBar extends android.widget.SeekBar {
+ ctor public AppCompatSeekBar(android.content.Context);
+ ctor public AppCompatSeekBar(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatSeekBar(android.content.Context, android.util.AttributeSet?, int);
+ }
+
+ public class AppCompatSpinner extends android.widget.Spinner implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatSpinner(android.content.Context);
+ ctor public AppCompatSpinner(android.content.Context, int);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?, int);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?, int, int);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?, int, int, android.content.res.Resources.Theme!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatTextView extends android.widget.TextView implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundDrawablesView {
+ ctor public AppCompatTextView(android.content.Context);
+ ctor public AppCompatTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatTextView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportCompoundDrawablesTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportCompoundDrawablesTintMode();
+ method public androidx.core.text.PrecomputedTextCompat.Params getTextMetricsParamsCompat();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int) throws java.lang.IllegalArgumentException;
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithPresetSizes(int[], int) throws java.lang.IllegalArgumentException;
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setPrecomputedText(androidx.core.text.PrecomputedTextCompat);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ method public void setTextFuture(java.util.concurrent.Future<androidx.core.text.PrecomputedTextCompat!>?);
+ method public void setTextMetricsParamsCompat(androidx.core.text.PrecomputedTextCompat.Params);
+ }
+
+ public class AppCompatToggleButton extends android.widget.ToggleButton {
+ ctor public AppCompatToggleButton(android.content.Context);
+ ctor public AppCompatToggleButton(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatToggleButton(android.content.Context, android.util.AttributeSet?, int);
+ }
+
+ public class LinearLayoutCompat extends android.view.ViewGroup {
+ ctor public LinearLayoutCompat(android.content.Context);
+ ctor public LinearLayoutCompat(android.content.Context, android.util.AttributeSet?);
+ ctor public LinearLayoutCompat(android.content.Context, android.util.AttributeSet?, int);
+ method protected androidx.appcompat.widget.LinearLayoutCompat.LayoutParams! generateDefaultLayoutParams();
+ method public androidx.appcompat.widget.LinearLayoutCompat.LayoutParams! generateLayoutParams(android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.LinearLayoutCompat.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!);
+ method public int getBaselineAlignedChildIndex();
+ method public android.graphics.drawable.Drawable! getDividerDrawable();
+ method public int getDividerPadding();
+ method public int getGravity();
+ method public int getOrientation();
+ method public int getShowDividers();
+ method public float getWeightSum();
+ method public boolean isBaselineAligned();
+ method public boolean isMeasureWithLargestChildEnabled();
+ method public void setBaselineAligned(boolean);
+ method public void setBaselineAlignedChildIndex(int);
+ method public void setDividerDrawable(android.graphics.drawable.Drawable!);
+ method public void setDividerPadding(int);
+ method public void setGravity(int);
+ method public void setHorizontalGravity(int);
+ method public void setMeasureWithLargestChildEnabled(boolean);
+ method public void setOrientation(int);
+ method public void setShowDividers(int);
+ method public void setVerticalGravity(int);
+ method public void setWeightSum(float);
+ field public static final int HORIZONTAL = 0; // 0x0
+ field public static final int SHOW_DIVIDER_BEGINNING = 1; // 0x1
+ field public static final int SHOW_DIVIDER_END = 4; // 0x4
+ field public static final int SHOW_DIVIDER_MIDDLE = 2; // 0x2
+ field public static final int SHOW_DIVIDER_NONE = 0; // 0x0
+ field public static final int VERTICAL = 1; // 0x1
+ }
+
+ public static class LinearLayoutCompat.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public LinearLayoutCompat.LayoutParams(android.content.Context!, android.util.AttributeSet!);
+ ctor public LinearLayoutCompat.LayoutParams(int, int);
+ ctor public LinearLayoutCompat.LayoutParams(int, int, float);
+ ctor public LinearLayoutCompat.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ ctor public LinearLayoutCompat.LayoutParams(android.view.ViewGroup.MarginLayoutParams!);
+ ctor public LinearLayoutCompat.LayoutParams(androidx.appcompat.widget.LinearLayoutCompat.LayoutParams!);
+ field public int gravity;
+ field public float weight;
+ }
+
+ public class ListPopupWindow {
+ ctor public ListPopupWindow(android.content.Context);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet?);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet?, @AttrRes int);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet?, @AttrRes int, @StyleRes int);
+ method public void clearListSelection();
+ method public android.view.View.OnTouchListener! createDragToOpenListener(android.view.View!);
+ method public void dismiss();
+ method public android.view.View? getAnchorView();
+ method @StyleRes public int getAnimationStyle();
+ method public android.graphics.drawable.Drawable? getBackground();
+ method public android.graphics.Rect? getEpicenterBounds();
+ method public int getHeight();
+ method public int getHorizontalOffset();
+ method public int getInputMethodMode();
+ method public android.widget.ListView? getListView();
+ method public int getPromptPosition();
+ method public Object? getSelectedItem();
+ method public long getSelectedItemId();
+ method public int getSelectedItemPosition();
+ method public android.view.View? getSelectedView();
+ method public int getSoftInputMode();
+ method public int getVerticalOffset();
+ method public int getWidth();
+ method public boolean isInputMethodNotNeeded();
+ method public boolean isModal();
+ method public boolean isShowing();
+ method public boolean onKeyDown(int, android.view.KeyEvent);
+ method public boolean onKeyPreIme(int, android.view.KeyEvent);
+ method public boolean onKeyUp(int, android.view.KeyEvent);
+ method public boolean performItemClick(int);
+ method public void postShow();
+ method public void setAdapter(android.widget.ListAdapter?);
+ method public void setAnchorView(android.view.View?);
+ method public void setAnimationStyle(@StyleRes int);
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable?);
+ method public void setContentWidth(int);
+ method public void setDropDownGravity(int);
+ method public void setEpicenterBounds(android.graphics.Rect?);
+ method public void setHeight(int);
+ method public void setHorizontalOffset(int);
+ method public void setInputMethodMode(int);
+ method public void setListSelector(android.graphics.drawable.Drawable!);
+ method public void setModal(boolean);
+ method public void setOnDismissListener(android.widget.PopupWindow.OnDismissListener?);
+ method public void setOnItemClickListener(android.widget.AdapterView.OnItemClickListener?);
+ method public void setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener?);
+ method public void setPromptPosition(int);
+ method public void setPromptView(android.view.View?);
+ method public void setSelection(int);
+ method public void setSoftInputMode(int);
+ method public void setVerticalOffset(int);
+ method public void setWidth(int);
+ method public void setWindowLayoutType(int);
+ method public void show();
+ field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0
+ field public static final int INPUT_METHOD_NEEDED = 1; // 0x1
+ field public static final int INPUT_METHOD_NOT_NEEDED = 2; // 0x2
+ field public static final int MATCH_PARENT = -1; // 0xffffffff
+ field public static final int POSITION_PROMPT_ABOVE = 0; // 0x0
+ field public static final int POSITION_PROMPT_BELOW = 1; // 0x1
+ field public static final int WRAP_CONTENT = -2; // 0xfffffffe
+ }
+
+ public class PopupMenu {
+ ctor public PopupMenu(android.content.Context, android.view.View);
+ ctor public PopupMenu(android.content.Context, android.view.View, int);
+ ctor public PopupMenu(android.content.Context, android.view.View, int, @AttrRes int, @StyleRes int);
+ method public void dismiss();
+ method public android.view.View.OnTouchListener getDragToOpenListener();
+ method public int getGravity();
+ method public android.view.Menu getMenu();
+ method public android.view.MenuInflater getMenuInflater();
+ method public void inflate(@MenuRes int);
+ method public void setGravity(int);
+ method public void setOnDismissListener(androidx.appcompat.widget.PopupMenu.OnDismissListener?);
+ method public void setOnMenuItemClickListener(androidx.appcompat.widget.PopupMenu.OnMenuItemClickListener?);
+ method public void show();
+ }
+
+ public static interface PopupMenu.OnDismissListener {
+ method public void onDismiss(androidx.appcompat.widget.PopupMenu!);
+ }
+
+ public static interface PopupMenu.OnMenuItemClickListener {
+ method public boolean onMenuItemClick(android.view.MenuItem!);
+ }
+
+ public class SearchView extends androidx.appcompat.widget.LinearLayoutCompat implements androidx.appcompat.view.CollapsibleActionView {
+ ctor public SearchView(android.content.Context);
+ ctor public SearchView(android.content.Context, android.util.AttributeSet?);
+ ctor public SearchView(android.content.Context, android.util.AttributeSet?, int);
+ method public int getImeOptions();
+ method public int getInputType();
+ method public int getMaxWidth();
+ method public CharSequence! getQuery();
+ method public CharSequence? getQueryHint();
+ method public androidx.cursoradapter.widget.CursorAdapter! getSuggestionsAdapter();
+ method public boolean isIconfiedByDefault();
+ method public boolean isIconified();
+ method public boolean isQueryRefinementEnabled();
+ method public boolean isSubmitButtonEnabled();
+ method public void onActionViewCollapsed();
+ method public void onActionViewExpanded();
+ method public void setIconified(boolean);
+ method public void setIconifiedByDefault(boolean);
+ method public void setImeOptions(int);
+ method public void setInputType(int);
+ method public void setMaxWidth(int);
+ method public void setOnCloseListener(androidx.appcompat.widget.SearchView.OnCloseListener!);
+ method public void setOnQueryTextFocusChangeListener(android.view.View.OnFocusChangeListener!);
+ method public void setOnQueryTextListener(androidx.appcompat.widget.SearchView.OnQueryTextListener!);
+ method public void setOnSearchClickListener(android.view.View.OnClickListener!);
+ method public void setOnSuggestionListener(androidx.appcompat.widget.SearchView.OnSuggestionListener!);
+ method public void setQuery(CharSequence!, boolean);
+ method public void setQueryHint(CharSequence?);
+ method public void setQueryRefinementEnabled(boolean);
+ method public void setSearchableInfo(android.app.SearchableInfo!);
+ method public void setSubmitButtonEnabled(boolean);
+ method public void setSuggestionsAdapter(androidx.cursoradapter.widget.CursorAdapter!);
+ }
+
+ public static interface SearchView.OnCloseListener {
+ method public boolean onClose();
+ }
+
+ public static interface SearchView.OnQueryTextListener {
+ method public boolean onQueryTextChange(String!);
+ method public boolean onQueryTextSubmit(String!);
+ }
+
+ public static interface SearchView.OnSuggestionListener {
+ method public boolean onSuggestionClick(int);
+ method public boolean onSuggestionSelect(int);
+ }
+
+ public class ShareActionProvider extends androidx.core.view.ActionProvider {
+ ctor public ShareActionProvider(android.content.Context!);
+ method public android.view.View! onCreateActionView();
+ method public void setOnShareTargetSelectedListener(androidx.appcompat.widget.ShareActionProvider.OnShareTargetSelectedListener!);
+ method public void setShareHistoryFileName(String!);
+ method public void setShareIntent(android.content.Intent!);
+ field public static final String DEFAULT_SHARE_HISTORY_FILE_NAME = "share_history.xml";
+ }
+
+ public static interface ShareActionProvider.OnShareTargetSelectedListener {
+ method public boolean onShareTargetSelected(androidx.appcompat.widget.ShareActionProvider!, android.content.Intent!);
+ }
+
+ public class SwitchCompat extends android.widget.CompoundButton {
+ ctor public SwitchCompat(android.content.Context);
+ ctor public SwitchCompat(android.content.Context, android.util.AttributeSet?);
+ ctor public SwitchCompat(android.content.Context, android.util.AttributeSet?, int);
+ method public boolean getShowText();
+ method public boolean getSplitTrack();
+ method public int getSwitchMinWidth();
+ method public int getSwitchPadding();
+ method public CharSequence! getTextOff();
+ method public CharSequence! getTextOn();
+ method public android.graphics.drawable.Drawable! getThumbDrawable();
+ method public int getThumbTextPadding();
+ method public android.content.res.ColorStateList? getThumbTintList();
+ method public android.graphics.PorterDuff.Mode? getThumbTintMode();
+ method public android.graphics.drawable.Drawable! getTrackDrawable();
+ method public android.content.res.ColorStateList? getTrackTintList();
+ method public android.graphics.PorterDuff.Mode? getTrackTintMode();
+ method public void onMeasure(int, int);
+ method public void setShowText(boolean);
+ method public void setSplitTrack(boolean);
+ method public void setSwitchMinWidth(int);
+ method public void setSwitchPadding(int);
+ method public void setSwitchTextAppearance(android.content.Context!, int);
+ method public void setSwitchTypeface(android.graphics.Typeface!, int);
+ method public void setSwitchTypeface(android.graphics.Typeface!);
+ method public void setTextOff(CharSequence!);
+ method public void setTextOn(CharSequence!);
+ method public void setThumbDrawable(android.graphics.drawable.Drawable!);
+ method public void setThumbResource(int);
+ method public void setThumbTextPadding(int);
+ method public void setThumbTintList(android.content.res.ColorStateList?);
+ method public void setThumbTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTrackDrawable(android.graphics.drawable.Drawable!);
+ method public void setTrackResource(int);
+ method public void setTrackTintList(android.content.res.ColorStateList?);
+ method public void setTrackTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public interface ThemedSpinnerAdapter extends android.widget.SpinnerAdapter {
+ method public android.content.res.Resources.Theme? getDropDownViewTheme();
+ method public void setDropDownViewTheme(android.content.res.Resources.Theme?);
+ }
+
+ public static final class ThemedSpinnerAdapter.Helper {
+ ctor public ThemedSpinnerAdapter.Helper(android.content.Context);
+ method public android.view.LayoutInflater getDropDownViewInflater();
+ method public android.content.res.Resources.Theme? getDropDownViewTheme();
+ method public void setDropDownViewTheme(android.content.res.Resources.Theme?);
+ }
+
+ public class Toolbar extends android.view.ViewGroup {
+ ctor public Toolbar(android.content.Context);
+ ctor public Toolbar(android.content.Context, android.util.AttributeSet?);
+ ctor public Toolbar(android.content.Context, android.util.AttributeSet?, int);
+ method public void collapseActionView();
+ method public void dismissPopupMenus();
+ method protected androidx.appcompat.widget.Toolbar.LayoutParams! generateDefaultLayoutParams();
+ method public androidx.appcompat.widget.Toolbar.LayoutParams! generateLayoutParams(android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.Toolbar.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!);
+ method public CharSequence? getCollapseContentDescription();
+ method public android.graphics.drawable.Drawable? getCollapseIcon();
+ method public int getContentInsetEnd();
+ method public int getContentInsetEndWithActions();
+ method public int getContentInsetLeft();
+ method public int getContentInsetRight();
+ method public int getContentInsetStart();
+ method public int getContentInsetStartWithNavigation();
+ method public int getCurrentContentInsetEnd();
+ method public int getCurrentContentInsetLeft();
+ method public int getCurrentContentInsetRight();
+ method public int getCurrentContentInsetStart();
+ method public android.graphics.drawable.Drawable! getLogo();
+ method public CharSequence! getLogoDescription();
+ method public android.view.Menu! getMenu();
+ method public CharSequence? getNavigationContentDescription();
+ method public android.graphics.drawable.Drawable? getNavigationIcon();
+ method public android.graphics.drawable.Drawable? getOverflowIcon();
+ method public int getPopupTheme();
+ method public CharSequence! getSubtitle();
+ method public CharSequence! getTitle();
+ method public int getTitleMarginBottom();
+ method public int getTitleMarginEnd();
+ method public int getTitleMarginStart();
+ method public int getTitleMarginTop();
+ method public boolean hasExpandedActionView();
+ method public boolean hideOverflowMenu();
+ method public void inflateMenu(@MenuRes int);
+ method public boolean isOverflowMenuShowing();
+ method public void setCollapseContentDescription(@StringRes int);
+ method public void setCollapseContentDescription(CharSequence?);
+ method public void setCollapseIcon(@DrawableRes int);
+ method public void setCollapseIcon(android.graphics.drawable.Drawable?);
+ method public void setContentInsetEndWithActions(int);
+ method public void setContentInsetStartWithNavigation(int);
+ method public void setContentInsetsAbsolute(int, int);
+ method public void setContentInsetsRelative(int, int);
+ method public void setLogo(@DrawableRes int);
+ method public void setLogo(android.graphics.drawable.Drawable!);
+ method public void setLogoDescription(@StringRes int);
+ method public void setLogoDescription(CharSequence!);
+ method public void setNavigationContentDescription(@StringRes int);
+ method public void setNavigationContentDescription(CharSequence?);
+ method public void setNavigationIcon(@DrawableRes int);
+ method public void setNavigationIcon(android.graphics.drawable.Drawable?);
+ method public void setNavigationOnClickListener(android.view.View.OnClickListener!);
+ method public void setOnMenuItemClickListener(androidx.appcompat.widget.Toolbar.OnMenuItemClickListener!);
+ method public void setOverflowIcon(android.graphics.drawable.Drawable?);
+ method public void setPopupTheme(@StyleRes int);
+ method public void setSubtitle(@StringRes int);
+ method public void setSubtitle(CharSequence!);
+ method public void setSubtitleTextAppearance(android.content.Context!, @StyleRes int);
+ method public void setSubtitleTextColor(@ColorInt int);
+ method public void setSubtitleTextColor(android.content.res.ColorStateList);
+ method public void setTitle(@StringRes int);
+ method public void setTitle(CharSequence!);
+ method public void setTitleMargin(int, int, int, int);
+ method public void setTitleMarginBottom(int);
+ method public void setTitleMarginEnd(int);
+ method public void setTitleMarginStart(int);
+ method public void setTitleMarginTop(int);
+ method public void setTitleTextAppearance(android.content.Context!, @StyleRes int);
+ method public void setTitleTextColor(@ColorInt int);
+ method public void setTitleTextColor(android.content.res.ColorStateList);
+ method public boolean showOverflowMenu();
+ }
+
+ public static class Toolbar.LayoutParams extends androidx.appcompat.app.ActionBar.LayoutParams {
+ ctor public Toolbar.LayoutParams(android.content.Context, android.util.AttributeSet!);
+ ctor public Toolbar.LayoutParams(int, int);
+ ctor public Toolbar.LayoutParams(int, int, int);
+ ctor public Toolbar.LayoutParams(int);
+ ctor public Toolbar.LayoutParams(androidx.appcompat.widget.Toolbar.LayoutParams!);
+ ctor public Toolbar.LayoutParams(androidx.appcompat.app.ActionBar.LayoutParams!);
+ ctor public Toolbar.LayoutParams(android.view.ViewGroup.MarginLayoutParams!);
+ ctor public Toolbar.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ }
+
+ public static interface Toolbar.OnMenuItemClickListener {
+ method public boolean onMenuItemClick(android.view.MenuItem!);
+ }
+
+ public static class Toolbar.SavedState extends androidx.customview.view.AbsSavedState {
+ ctor public Toolbar.SavedState(android.os.Parcel!);
+ ctor public Toolbar.SavedState(android.os.Parcel!, ClassLoader!);
+ ctor public Toolbar.SavedState(android.os.Parcelable!);
+ field public static final android.os.Parcelable.Creator<androidx.appcompat.widget.Toolbar.SavedState!>! CREATOR;
+ }
+
+ public class TooltipCompat {
+ method public static void setTooltipText(android.view.View, CharSequence?);
+ }
+
+}
+
diff --git a/appcompat/appcompat/api/public_plus_experimental_1.3.0-alpha01.txt b/appcompat/appcompat/api/public_plus_experimental_1.3.0-alpha01.txt
new file mode 100644
index 0000000..330bca1
--- /dev/null
+++ b/appcompat/appcompat/api/public_plus_experimental_1.3.0-alpha01.txt
@@ -0,0 +1,987 @@
+// Signature format: 3.0
+package androidx.appcompat.app {
+
+ public abstract class ActionBar {
+ ctor public ActionBar();
+ method public abstract void addOnMenuVisibilityListener(androidx.appcompat.app.ActionBar.OnMenuVisibilityListener!);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!, boolean);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!, int);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!, int, boolean);
+ method public abstract android.view.View! getCustomView();
+ method public abstract int getDisplayOptions();
+ method public float getElevation();
+ method public abstract int getHeight();
+ method public int getHideOffset();
+ method @Deprecated public abstract int getNavigationItemCount();
+ method @Deprecated public abstract int getNavigationMode();
+ method @Deprecated public abstract int getSelectedNavigationIndex();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab? getSelectedTab();
+ method public abstract CharSequence? getSubtitle();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! getTabAt(int);
+ method @Deprecated public abstract int getTabCount();
+ method public android.content.Context! getThemedContext();
+ method public abstract CharSequence? getTitle();
+ method public abstract void hide();
+ method public boolean isHideOnContentScrollEnabled();
+ method public abstract boolean isShowing();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! newTab();
+ method @Deprecated public abstract void removeAllTabs();
+ method public abstract void removeOnMenuVisibilityListener(androidx.appcompat.app.ActionBar.OnMenuVisibilityListener!);
+ method @Deprecated public abstract void removeTab(androidx.appcompat.app.ActionBar.Tab!);
+ method @Deprecated public abstract void removeTabAt(int);
+ method @Deprecated public abstract void selectTab(androidx.appcompat.app.ActionBar.Tab!);
+ method public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable?);
+ method public abstract void setCustomView(android.view.View!);
+ method public abstract void setCustomView(android.view.View!, androidx.appcompat.app.ActionBar.LayoutParams!);
+ method public abstract void setCustomView(int);
+ method public abstract void setDisplayHomeAsUpEnabled(boolean);
+ method public abstract void setDisplayOptions(int);
+ method public abstract void setDisplayOptions(int, int);
+ method public abstract void setDisplayShowCustomEnabled(boolean);
+ method public abstract void setDisplayShowHomeEnabled(boolean);
+ method public abstract void setDisplayShowTitleEnabled(boolean);
+ method public abstract void setDisplayUseLogoEnabled(boolean);
+ method public void setElevation(float);
+ method public void setHideOffset(int);
+ method public void setHideOnContentScrollEnabled(boolean);
+ method public void setHomeActionContentDescription(CharSequence?);
+ method public void setHomeActionContentDescription(@StringRes int);
+ method public void setHomeAsUpIndicator(android.graphics.drawable.Drawable?);
+ method public void setHomeAsUpIndicator(@DrawableRes int);
+ method public void setHomeButtonEnabled(boolean);
+ method public abstract void setIcon(@DrawableRes int);
+ method public abstract void setIcon(android.graphics.drawable.Drawable!);
+ method @Deprecated public abstract void setListNavigationCallbacks(android.widget.SpinnerAdapter!, androidx.appcompat.app.ActionBar.OnNavigationListener!);
+ method public abstract void setLogo(@DrawableRes int);
+ method public abstract void setLogo(android.graphics.drawable.Drawable!);
+ method @Deprecated public abstract void setNavigationMode(int);
+ method @Deprecated public abstract void setSelectedNavigationItem(int);
+ method public void setSplitBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setStackedBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public abstract void setSubtitle(CharSequence!);
+ method public abstract void setSubtitle(int);
+ method public abstract void setTitle(CharSequence!);
+ method public abstract void setTitle(@StringRes int);
+ method public abstract void show();
+ field public static final int DISPLAY_HOME_AS_UP = 4; // 0x4
+ field public static final int DISPLAY_SHOW_CUSTOM = 16; // 0x10
+ field public static final int DISPLAY_SHOW_HOME = 2; // 0x2
+ field public static final int DISPLAY_SHOW_TITLE = 8; // 0x8
+ field public static final int DISPLAY_USE_LOGO = 1; // 0x1
+ field @Deprecated public static final int NAVIGATION_MODE_LIST = 1; // 0x1
+ field @Deprecated public static final int NAVIGATION_MODE_STANDARD = 0; // 0x0
+ field @Deprecated public static final int NAVIGATION_MODE_TABS = 2; // 0x2
+ }
+
+ public static class ActionBar.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public ActionBar.LayoutParams(android.content.Context, android.util.AttributeSet!);
+ ctor public ActionBar.LayoutParams(int, int);
+ ctor public ActionBar.LayoutParams(int, int, int);
+ ctor public ActionBar.LayoutParams(int);
+ ctor public ActionBar.LayoutParams(androidx.appcompat.app.ActionBar.LayoutParams!);
+ ctor public ActionBar.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ field public int gravity;
+ }
+
+ public static interface ActionBar.OnMenuVisibilityListener {
+ method public void onMenuVisibilityChanged(boolean);
+ }
+
+ @Deprecated public static interface ActionBar.OnNavigationListener {
+ method @Deprecated public boolean onNavigationItemSelected(int, long);
+ }
+
+ @Deprecated public abstract static class ActionBar.Tab {
+ ctor @Deprecated public ActionBar.Tab();
+ method @Deprecated public abstract CharSequence! getContentDescription();
+ method @Deprecated public abstract android.view.View! getCustomView();
+ method @Deprecated public abstract android.graphics.drawable.Drawable! getIcon();
+ method @Deprecated public abstract int getPosition();
+ method @Deprecated public abstract Object! getTag();
+ method @Deprecated public abstract CharSequence! getText();
+ method @Deprecated public abstract void select();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setContentDescription(@StringRes int);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setContentDescription(CharSequence!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setCustomView(android.view.View!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setCustomView(int);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setIcon(android.graphics.drawable.Drawable!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setIcon(@DrawableRes int);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setTabListener(androidx.appcompat.app.ActionBar.TabListener!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setTag(Object!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setText(CharSequence!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setText(int);
+ field @Deprecated public static final int INVALID_POSITION = -1; // 0xffffffff
+ }
+
+ @Deprecated public static interface ActionBar.TabListener {
+ method @Deprecated public void onTabReselected(androidx.appcompat.app.ActionBar.Tab!, androidx.fragment.app.FragmentTransaction!);
+ method @Deprecated public void onTabSelected(androidx.appcompat.app.ActionBar.Tab!, androidx.fragment.app.FragmentTransaction!);
+ method @Deprecated public void onTabUnselected(androidx.appcompat.app.ActionBar.Tab!, androidx.fragment.app.FragmentTransaction!);
+ }
+
+ public class ActionBarDrawerToggle implements androidx.drawerlayout.widget.DrawerLayout.DrawerListener {
+ ctor public ActionBarDrawerToggle(android.app.Activity!, androidx.drawerlayout.widget.DrawerLayout!, @StringRes int, @StringRes int);
+ ctor public ActionBarDrawerToggle(android.app.Activity!, androidx.drawerlayout.widget.DrawerLayout!, androidx.appcompat.widget.Toolbar!, @StringRes int, @StringRes int);
+ method public androidx.appcompat.graphics.drawable.DrawerArrowDrawable getDrawerArrowDrawable();
+ method public android.view.View.OnClickListener! getToolbarNavigationClickListener();
+ method public boolean isDrawerIndicatorEnabled();
+ method public boolean isDrawerSlideAnimationEnabled();
+ method public void onConfigurationChanged(android.content.res.Configuration!);
+ method public void onDrawerClosed(android.view.View!);
+ method public void onDrawerOpened(android.view.View!);
+ method public void onDrawerSlide(android.view.View!, float);
+ method public void onDrawerStateChanged(int);
+ method public boolean onOptionsItemSelected(android.view.MenuItem!);
+ method public void setDrawerArrowDrawable(androidx.appcompat.graphics.drawable.DrawerArrowDrawable);
+ method public void setDrawerIndicatorEnabled(boolean);
+ method public void setDrawerSlideAnimationEnabled(boolean);
+ method public void setHomeAsUpIndicator(android.graphics.drawable.Drawable!);
+ method public void setHomeAsUpIndicator(int);
+ method public void setToolbarNavigationClickListener(android.view.View.OnClickListener!);
+ method public void syncState();
+ }
+
+ public static interface ActionBarDrawerToggle.Delegate {
+ method public android.content.Context! getActionBarThemedContext();
+ method public android.graphics.drawable.Drawable! getThemeUpIndicator();
+ method public boolean isNavigationVisible();
+ method public void setActionBarDescription(@StringRes int);
+ method public void setActionBarUpIndicator(android.graphics.drawable.Drawable!, @StringRes int);
+ }
+
+ public static interface ActionBarDrawerToggle.DelegateProvider {
+ method public androidx.appcompat.app.ActionBarDrawerToggle.Delegate? getDrawerToggleDelegate();
+ }
+
+ public class AlertDialog extends androidx.appcompat.app.AppCompatDialog implements android.content.DialogInterface {
+ ctor protected AlertDialog(android.content.Context);
+ ctor protected AlertDialog(android.content.Context, @StyleRes int);
+ ctor protected AlertDialog(android.content.Context, boolean, android.content.DialogInterface.OnCancelListener?);
+ method public android.widget.Button! getButton(int);
+ method public android.widget.ListView! getListView();
+ method public void setButton(int, CharSequence!, android.os.Message!);
+ method public void setButton(int, CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public void setButton(int, CharSequence!, android.graphics.drawable.Drawable!, android.content.DialogInterface.OnClickListener!);
+ method public void setCustomTitle(android.view.View!);
+ method public void setIcon(int);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setIconAttribute(int);
+ method public void setMessage(CharSequence!);
+ method public void setView(android.view.View!);
+ method public void setView(android.view.View!, int, int, int, int);
+ }
+
+ public static class AlertDialog.Builder {
+ ctor public AlertDialog.Builder(android.content.Context);
+ ctor public AlertDialog.Builder(android.content.Context, @StyleRes int);
+ method public androidx.appcompat.app.AlertDialog create();
+ method public android.content.Context getContext();
+ method public androidx.appcompat.app.AlertDialog.Builder! setAdapter(android.widget.ListAdapter!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setCancelable(boolean);
+ method public androidx.appcompat.app.AlertDialog.Builder! setCursor(android.database.Cursor!, android.content.DialogInterface.OnClickListener!, String!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setCustomTitle(android.view.View?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setIcon(@DrawableRes int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setIcon(android.graphics.drawable.Drawable?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setIconAttribute(@AttrRes int);
+ method @Deprecated public androidx.appcompat.app.AlertDialog.Builder! setInverseBackgroundForced(boolean);
+ method public androidx.appcompat.app.AlertDialog.Builder! setItems(@ArrayRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setItems(CharSequence![]!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMessage(@StringRes int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMessage(CharSequence?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMultiChoiceItems(@ArrayRes int, boolean[]!, android.content.DialogInterface.OnMultiChoiceClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMultiChoiceItems(CharSequence![]!, boolean[]!, android.content.DialogInterface.OnMultiChoiceClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMultiChoiceItems(android.database.Cursor!, String!, String!, android.content.DialogInterface.OnMultiChoiceClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNegativeButton(@StringRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNegativeButton(CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNegativeButtonIcon(android.graphics.drawable.Drawable!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNeutralButton(@StringRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNeutralButton(CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNeutralButtonIcon(android.graphics.drawable.Drawable!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnCancelListener(android.content.DialogInterface.OnCancelListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnDismissListener(android.content.DialogInterface.OnDismissListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnKeyListener(android.content.DialogInterface.OnKeyListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setPositiveButton(@StringRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setPositiveButton(CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setPositiveButtonIcon(android.graphics.drawable.Drawable!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(@ArrayRes int, int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(android.database.Cursor!, int, String!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(CharSequence![]!, int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(android.widget.ListAdapter!, int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setTitle(@StringRes int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setTitle(CharSequence?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setView(int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setView(android.view.View!);
+ method public androidx.appcompat.app.AlertDialog! show();
+ }
+
+ public class AppCompatActivity extends androidx.fragment.app.FragmentActivity implements androidx.appcompat.app.ActionBarDrawerToggle.DelegateProvider androidx.appcompat.app.AppCompatCallback androidx.core.app.TaskStackBuilder.SupportParentable {
+ ctor public AppCompatActivity();
+ ctor @ContentView public AppCompatActivity(@LayoutRes int);
+ method public androidx.appcompat.app.AppCompatDelegate getDelegate();
+ method public androidx.appcompat.app.ActionBarDrawerToggle.Delegate? getDrawerToggleDelegate();
+ method public androidx.appcompat.app.ActionBar? getSupportActionBar();
+ method public android.content.Intent? getSupportParentActivityIntent();
+ method public void onCreateSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder);
+ method public final boolean onMenuItemSelected(int, android.view.MenuItem);
+ method protected void onNightModeChanged(int);
+ method public void onPrepareSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder);
+ method @CallSuper public void onSupportActionModeFinished(androidx.appcompat.view.ActionMode);
+ method @CallSuper public void onSupportActionModeStarted(androidx.appcompat.view.ActionMode);
+ method @Deprecated public void onSupportContentChanged();
+ method public boolean onSupportNavigateUp();
+ method public androidx.appcompat.view.ActionMode? onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback);
+ method public void setSupportActionBar(androidx.appcompat.widget.Toolbar?);
+ method @Deprecated public void setSupportProgress(int);
+ method @Deprecated public void setSupportProgressBarIndeterminate(boolean);
+ method @Deprecated public void setSupportProgressBarIndeterminateVisibility(boolean);
+ method @Deprecated public void setSupportProgressBarVisibility(boolean);
+ method public androidx.appcompat.view.ActionMode? startSupportActionMode(androidx.appcompat.view.ActionMode.Callback);
+ method public void supportInvalidateOptionsMenu();
+ method public void supportNavigateUpTo(android.content.Intent);
+ method public boolean supportRequestWindowFeature(int);
+ method public boolean supportShouldUpRecreateTask(android.content.Intent);
+ }
+
+ public interface AppCompatCallback {
+ method public void onSupportActionModeFinished(androidx.appcompat.view.ActionMode!);
+ method public void onSupportActionModeStarted(androidx.appcompat.view.ActionMode!);
+ method public androidx.appcompat.view.ActionMode? onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback!);
+ }
+
+ public abstract class AppCompatDelegate {
+ method public abstract void addContentView(android.view.View!, android.view.ViewGroup.LayoutParams!);
+ method public abstract boolean applyDayNight();
+ method @Deprecated public void attachBaseContext(android.content.Context!);
+ method @CallSuper public android.content.Context attachBaseContext2(android.content.Context);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.app.Activity, androidx.appcompat.app.AppCompatCallback?);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.app.Dialog, androidx.appcompat.app.AppCompatCallback?);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.content.Context, android.view.Window, androidx.appcompat.app.AppCompatCallback?);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.content.Context, android.app.Activity, androidx.appcompat.app.AppCompatCallback?);
+ method public abstract android.view.View! createView(android.view.View?, String!, android.content.Context, android.util.AttributeSet);
+ method public abstract <T extends android.view.View> T! findViewById(@IdRes int);
+ method public static int getDefaultNightMode();
+ method public abstract androidx.appcompat.app.ActionBarDrawerToggle.Delegate? getDrawerToggleDelegate();
+ method public int getLocalNightMode();
+ method public abstract android.view.MenuInflater! getMenuInflater();
+ method public abstract androidx.appcompat.app.ActionBar? getSupportActionBar();
+ method public abstract boolean hasWindowFeature(int);
+ method public abstract void installViewFactory();
+ method public abstract void invalidateOptionsMenu();
+ method public static boolean isCompatVectorFromResourcesEnabled();
+ method public abstract boolean isHandleNativeActionModesEnabled();
+ method public abstract void onConfigurationChanged(android.content.res.Configuration!);
+ method public abstract void onCreate(android.os.Bundle!);
+ method public abstract void onDestroy();
+ method public abstract void onPostCreate(android.os.Bundle!);
+ method public abstract void onPostResume();
+ method public abstract void onSaveInstanceState(android.os.Bundle!);
+ method public abstract void onStart();
+ method public abstract void onStop();
+ method public abstract boolean requestWindowFeature(int);
+ method public static void setCompatVectorFromResourcesEnabled(boolean);
+ method public abstract void setContentView(android.view.View!);
+ method public abstract void setContentView(@LayoutRes int);
+ method public abstract void setContentView(android.view.View!, android.view.ViewGroup.LayoutParams!);
+ method public static void setDefaultNightMode(int);
+ method public abstract void setHandleNativeActionModesEnabled(boolean);
+ method public abstract void setLocalNightMode(int);
+ method public abstract void setSupportActionBar(androidx.appcompat.widget.Toolbar?);
+ method public void setTheme(@StyleRes int);
+ method public abstract void setTitle(CharSequence?);
+ method public abstract androidx.appcompat.view.ActionMode? startSupportActionMode(androidx.appcompat.view.ActionMode.Callback);
+ field public static final int FEATURE_ACTION_MODE_OVERLAY = 10; // 0xa
+ field public static final int FEATURE_SUPPORT_ACTION_BAR = 108; // 0x6c
+ field public static final int FEATURE_SUPPORT_ACTION_BAR_OVERLAY = 109; // 0x6d
+ field @Deprecated public static final int MODE_NIGHT_AUTO = 0; // 0x0
+ field public static final int MODE_NIGHT_AUTO_BATTERY = 3; // 0x3
+ field @Deprecated public static final int MODE_NIGHT_AUTO_TIME = 0; // 0x0
+ field public static final int MODE_NIGHT_FOLLOW_SYSTEM = -1; // 0xffffffff
+ field public static final int MODE_NIGHT_NO = 1; // 0x1
+ field public static final int MODE_NIGHT_UNSPECIFIED = -100; // 0xffffff9c
+ field public static final int MODE_NIGHT_YES = 2; // 0x2
+ }
+
+ public class AppCompatDialog extends android.app.Dialog implements androidx.appcompat.app.AppCompatCallback {
+ ctor public AppCompatDialog(android.content.Context!);
+ ctor public AppCompatDialog(android.content.Context!, int);
+ ctor protected AppCompatDialog(android.content.Context!, boolean, android.content.DialogInterface.OnCancelListener!);
+ method public androidx.appcompat.app.AppCompatDelegate! getDelegate();
+ method public androidx.appcompat.app.ActionBar! getSupportActionBar();
+ method public void onSupportActionModeFinished(androidx.appcompat.view.ActionMode!);
+ method public void onSupportActionModeStarted(androidx.appcompat.view.ActionMode!);
+ method public androidx.appcompat.view.ActionMode? onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback!);
+ method public boolean supportRequestWindowFeature(int);
+ }
+
+ public class AppCompatDialogFragment extends androidx.fragment.app.DialogFragment {
+ ctor public AppCompatDialogFragment();
+ }
+
+ public class AppCompatViewInflater {
+ ctor public AppCompatViewInflater();
+ method protected androidx.appcompat.widget.AppCompatAutoCompleteTextView createAutoCompleteTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatButton createButton(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatCheckBox createCheckBox(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatCheckedTextView createCheckedTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatEditText createEditText(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatImageButton createImageButton(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatImageView createImageView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView createMultiAutoCompleteTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatRadioButton createRadioButton(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatRatingBar createRatingBar(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatSeekBar createSeekBar(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatSpinner createSpinner(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatTextView createTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatToggleButton createToggleButton(android.content.Context!, android.util.AttributeSet!);
+ method protected android.view.View? createView(android.content.Context!, String!, android.util.AttributeSet!);
+ }
+
+}
+
+package androidx.appcompat.graphics.drawable {
+
+ public class DrawerArrowDrawable extends android.graphics.drawable.Drawable {
+ ctor public DrawerArrowDrawable(android.content.Context!);
+ method public void draw(android.graphics.Canvas!);
+ method public float getArrowHeadLength();
+ method public float getArrowShaftLength();
+ method public float getBarLength();
+ method public float getBarThickness();
+ method @ColorInt public int getColor();
+ method public int getDirection();
+ method public float getGapSize();
+ method public int getOpacity();
+ method public final android.graphics.Paint! getPaint();
+ method @FloatRange(from=0.0, to=1.0) public float getProgress();
+ method public boolean isSpinEnabled();
+ method public void setAlpha(int);
+ method public void setArrowHeadLength(float);
+ method public void setArrowShaftLength(float);
+ method public void setBarLength(float);
+ method public void setBarThickness(float);
+ method public void setColor(@ColorInt int);
+ method public void setColorFilter(android.graphics.ColorFilter!);
+ method public void setDirection(int);
+ method public void setGapSize(float);
+ method public void setProgress(@FloatRange(from=0.0, to=1.0) float);
+ method public void setSpinEnabled(boolean);
+ method public void setVerticalMirror(boolean);
+ field public static final int ARROW_DIRECTION_END = 3; // 0x3
+ field public static final int ARROW_DIRECTION_LEFT = 0; // 0x0
+ field public static final int ARROW_DIRECTION_RIGHT = 1; // 0x1
+ field public static final int ARROW_DIRECTION_START = 2; // 0x2
+ }
+
+}
+
+package androidx.appcompat.view {
+
+ public abstract class ActionMode {
+ ctor public ActionMode();
+ method public abstract void finish();
+ method public abstract android.view.View! getCustomView();
+ method public abstract android.view.Menu! getMenu();
+ method public abstract android.view.MenuInflater! getMenuInflater();
+ method public abstract CharSequence! getSubtitle();
+ method public Object! getTag();
+ method public abstract CharSequence! getTitle();
+ method public boolean getTitleOptionalHint();
+ method public abstract void invalidate();
+ method public boolean isTitleOptional();
+ method public abstract void setCustomView(android.view.View!);
+ method public abstract void setSubtitle(CharSequence!);
+ method public abstract void setSubtitle(int);
+ method public void setTag(Object!);
+ method public abstract void setTitle(CharSequence!);
+ method public abstract void setTitle(int);
+ method public void setTitleOptionalHint(boolean);
+ }
+
+ public static interface ActionMode.Callback {
+ method public boolean onActionItemClicked(androidx.appcompat.view.ActionMode!, android.view.MenuItem!);
+ method public boolean onCreateActionMode(androidx.appcompat.view.ActionMode!, android.view.Menu!);
+ method public void onDestroyActionMode(androidx.appcompat.view.ActionMode!);
+ method public boolean onPrepareActionMode(androidx.appcompat.view.ActionMode!, android.view.Menu!);
+ }
+
+ @Deprecated public interface CollapsibleActionView {
+ method @Deprecated public void onActionViewCollapsed();
+ method @Deprecated public void onActionViewExpanded();
+ }
+
+ public class ContextThemeWrapper extends android.content.ContextWrapper {
+ ctor public ContextThemeWrapper();
+ ctor public ContextThemeWrapper(android.content.Context!, @StyleRes int);
+ ctor public ContextThemeWrapper(android.content.Context!, android.content.res.Resources.Theme!);
+ method public void applyOverrideConfiguration(android.content.res.Configuration!);
+ method public int getThemeResId();
+ method protected void onApplyThemeResource(android.content.res.Resources.Theme!, int, boolean);
+ }
+
+}
+
+package androidx.appcompat.widget {
+
+ public class ActionMenuView extends androidx.appcompat.widget.LinearLayoutCompat {
+ ctor public ActionMenuView(android.content.Context);
+ ctor public ActionMenuView(android.content.Context, android.util.AttributeSet?);
+ method public void dismissPopupMenus();
+ method protected androidx.appcompat.widget.ActionMenuView.LayoutParams! generateDefaultLayoutParams();
+ method public androidx.appcompat.widget.ActionMenuView.LayoutParams! generateLayoutParams(android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.ActionMenuView.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!);
+ method public android.view.Menu! getMenu();
+ method public android.graphics.drawable.Drawable? getOverflowIcon();
+ method public int getPopupTheme();
+ method public boolean hideOverflowMenu();
+ method public boolean isOverflowMenuShowing();
+ method public void onConfigurationChanged(android.content.res.Configuration!);
+ method public void onDetachedFromWindow();
+ method public void setOnMenuItemClickListener(androidx.appcompat.widget.ActionMenuView.OnMenuItemClickListener!);
+ method public void setOverflowIcon(android.graphics.drawable.Drawable?);
+ method public void setPopupTheme(@StyleRes int);
+ method public boolean showOverflowMenu();
+ }
+
+ public static class ActionMenuView.LayoutParams extends androidx.appcompat.widget.LinearLayoutCompat.LayoutParams {
+ ctor public ActionMenuView.LayoutParams(android.content.Context!, android.util.AttributeSet!);
+ ctor public ActionMenuView.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ ctor public ActionMenuView.LayoutParams(androidx.appcompat.widget.ActionMenuView.LayoutParams!);
+ ctor public ActionMenuView.LayoutParams(int, int);
+ field @android.view.ViewDebug.ExportedProperty public int cellsUsed;
+ field @android.view.ViewDebug.ExportedProperty public boolean expandable;
+ field @android.view.ViewDebug.ExportedProperty public int extraPixels;
+ field @android.view.ViewDebug.ExportedProperty public boolean isOverflowButton;
+ field @android.view.ViewDebug.ExportedProperty public boolean preventEdgeOffset;
+ }
+
+ public static interface ActionMenuView.OnMenuItemClickListener {
+ method public boolean onMenuItemClick(android.view.MenuItem!);
+ }
+
+ public class AppCompatAutoCompleteTextView extends android.widget.AutoCompleteTextView implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatAutoCompleteTextView(android.content.Context);
+ ctor public AppCompatAutoCompleteTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatAutoCompleteTextView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatButton extends android.widget.Button implements androidx.core.widget.AutoSizeableTextView androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundDrawablesView {
+ ctor public AppCompatButton(android.content.Context);
+ ctor public AppCompatButton(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatButton(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportCompoundDrawablesTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportCompoundDrawablesTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int) throws java.lang.IllegalArgumentException;
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithPresetSizes(int[], int) throws java.lang.IllegalArgumentException;
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setSupportAllCaps(boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatCheckBox extends android.widget.CheckBox implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundButton {
+ ctor public AppCompatCheckBox(android.content.Context);
+ ctor public AppCompatCheckBox(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatCheckBox(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportButtonTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportButtonTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatCheckedTextView extends android.widget.CheckedTextView {
+ ctor public AppCompatCheckedTextView(android.content.Context);
+ ctor public AppCompatCheckedTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatCheckedTextView(android.content.Context, android.util.AttributeSet?, int);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatEditText extends android.widget.EditText implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatEditText(android.content.Context);
+ ctor public AppCompatEditText(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatEditText(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatImageButton extends android.widget.ImageButton implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableImageSourceView {
+ ctor public AppCompatImageButton(android.content.Context);
+ ctor public AppCompatImageButton(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatImageButton(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportImageTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportImageTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportImageTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportImageTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatImageView extends android.widget.ImageView implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableImageSourceView {
+ ctor public AppCompatImageView(android.content.Context);
+ ctor public AppCompatImageView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatImageView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportImageTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportImageTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportImageTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportImageTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatMultiAutoCompleteTextView extends android.widget.MultiAutoCompleteTextView implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatMultiAutoCompleteTextView(android.content.Context);
+ ctor public AppCompatMultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatMultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatRadioButton extends android.widget.RadioButton implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundButton {
+ ctor public AppCompatRadioButton(android.content.Context!);
+ ctor public AppCompatRadioButton(android.content.Context!, android.util.AttributeSet?);
+ ctor public AppCompatRadioButton(android.content.Context!, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportButtonTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportButtonTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatRatingBar extends android.widget.RatingBar {
+ ctor public AppCompatRatingBar(android.content.Context);
+ ctor public AppCompatRatingBar(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatRatingBar(android.content.Context, android.util.AttributeSet?, int);
+ }
+
+ public class AppCompatSeekBar extends android.widget.SeekBar {
+ ctor public AppCompatSeekBar(android.content.Context);
+ ctor public AppCompatSeekBar(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatSeekBar(android.content.Context, android.util.AttributeSet?, int);
+ }
+
+ public class AppCompatSpinner extends android.widget.Spinner implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatSpinner(android.content.Context);
+ ctor public AppCompatSpinner(android.content.Context, int);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?, int);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?, int, int);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?, int, int, android.content.res.Resources.Theme!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatTextView extends android.widget.TextView implements androidx.core.widget.AutoSizeableTextView androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundDrawablesView {
+ ctor public AppCompatTextView(android.content.Context);
+ ctor public AppCompatTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatTextView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportCompoundDrawablesTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportCompoundDrawablesTintMode();
+ method public androidx.core.text.PrecomputedTextCompat.Params getTextMetricsParamsCompat();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int) throws java.lang.IllegalArgumentException;
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithPresetSizes(int[], int) throws java.lang.IllegalArgumentException;
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setPrecomputedText(androidx.core.text.PrecomputedTextCompat);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ method public void setTextFuture(java.util.concurrent.Future<androidx.core.text.PrecomputedTextCompat!>?);
+ method public void setTextMetricsParamsCompat(androidx.core.text.PrecomputedTextCompat.Params);
+ }
+
+ public class AppCompatToggleButton extends android.widget.ToggleButton {
+ ctor public AppCompatToggleButton(android.content.Context);
+ ctor public AppCompatToggleButton(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatToggleButton(android.content.Context, android.util.AttributeSet?, int);
+ }
+
+ public class LinearLayoutCompat extends android.view.ViewGroup {
+ ctor public LinearLayoutCompat(android.content.Context);
+ ctor public LinearLayoutCompat(android.content.Context, android.util.AttributeSet?);
+ ctor public LinearLayoutCompat(android.content.Context, android.util.AttributeSet?, int);
+ method protected androidx.appcompat.widget.LinearLayoutCompat.LayoutParams! generateDefaultLayoutParams();
+ method public androidx.appcompat.widget.LinearLayoutCompat.LayoutParams! generateLayoutParams(android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.LinearLayoutCompat.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!);
+ method public int getBaselineAlignedChildIndex();
+ method public android.graphics.drawable.Drawable! getDividerDrawable();
+ method public int getDividerPadding();
+ method public int getGravity();
+ method public int getOrientation();
+ method public int getShowDividers();
+ method public float getWeightSum();
+ method public boolean isBaselineAligned();
+ method public boolean isMeasureWithLargestChildEnabled();
+ method public void setBaselineAligned(boolean);
+ method public void setBaselineAlignedChildIndex(int);
+ method public void setDividerDrawable(android.graphics.drawable.Drawable!);
+ method public void setDividerPadding(int);
+ method public void setGravity(int);
+ method public void setHorizontalGravity(int);
+ method public void setMeasureWithLargestChildEnabled(boolean);
+ method public void setOrientation(int);
+ method public void setShowDividers(int);
+ method public void setVerticalGravity(int);
+ method public void setWeightSum(float);
+ field public static final int HORIZONTAL = 0; // 0x0
+ field public static final int SHOW_DIVIDER_BEGINNING = 1; // 0x1
+ field public static final int SHOW_DIVIDER_END = 4; // 0x4
+ field public static final int SHOW_DIVIDER_MIDDLE = 2; // 0x2
+ field public static final int SHOW_DIVIDER_NONE = 0; // 0x0
+ field public static final int VERTICAL = 1; // 0x1
+ }
+
+ public static class LinearLayoutCompat.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public LinearLayoutCompat.LayoutParams(android.content.Context!, android.util.AttributeSet!);
+ ctor public LinearLayoutCompat.LayoutParams(int, int);
+ ctor public LinearLayoutCompat.LayoutParams(int, int, float);
+ ctor public LinearLayoutCompat.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ ctor public LinearLayoutCompat.LayoutParams(android.view.ViewGroup.MarginLayoutParams!);
+ ctor public LinearLayoutCompat.LayoutParams(androidx.appcompat.widget.LinearLayoutCompat.LayoutParams!);
+ field public int gravity;
+ field public float weight;
+ }
+
+ public class ListPopupWindow {
+ ctor public ListPopupWindow(android.content.Context);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet?);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet?, @AttrRes int);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet?, @AttrRes int, @StyleRes int);
+ method public void clearListSelection();
+ method public android.view.View.OnTouchListener! createDragToOpenListener(android.view.View!);
+ method public void dismiss();
+ method public android.view.View? getAnchorView();
+ method @StyleRes public int getAnimationStyle();
+ method public android.graphics.drawable.Drawable? getBackground();
+ method public android.graphics.Rect? getEpicenterBounds();
+ method public int getHeight();
+ method public int getHorizontalOffset();
+ method public int getInputMethodMode();
+ method public android.widget.ListView? getListView();
+ method public int getPromptPosition();
+ method public Object? getSelectedItem();
+ method public long getSelectedItemId();
+ method public int getSelectedItemPosition();
+ method public android.view.View? getSelectedView();
+ method public int getSoftInputMode();
+ method public int getVerticalOffset();
+ method public int getWidth();
+ method public boolean isInputMethodNotNeeded();
+ method public boolean isModal();
+ method public boolean isShowing();
+ method public boolean onKeyDown(int, android.view.KeyEvent);
+ method public boolean onKeyPreIme(int, android.view.KeyEvent);
+ method public boolean onKeyUp(int, android.view.KeyEvent);
+ method public boolean performItemClick(int);
+ method public void postShow();
+ method public void setAdapter(android.widget.ListAdapter?);
+ method public void setAnchorView(android.view.View?);
+ method public void setAnimationStyle(@StyleRes int);
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable?);
+ method public void setContentWidth(int);
+ method public void setDropDownGravity(int);
+ method public void setEpicenterBounds(android.graphics.Rect?);
+ method public void setHeight(int);
+ method public void setHorizontalOffset(int);
+ method public void setInputMethodMode(int);
+ method public void setListSelector(android.graphics.drawable.Drawable!);
+ method public void setModal(boolean);
+ method public void setOnDismissListener(android.widget.PopupWindow.OnDismissListener?);
+ method public void setOnItemClickListener(android.widget.AdapterView.OnItemClickListener?);
+ method public void setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener?);
+ method public void setPromptPosition(int);
+ method public void setPromptView(android.view.View?);
+ method public void setSelection(int);
+ method public void setSoftInputMode(int);
+ method public void setVerticalOffset(int);
+ method public void setWidth(int);
+ method public void setWindowLayoutType(int);
+ method public void show();
+ field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0
+ field public static final int INPUT_METHOD_NEEDED = 1; // 0x1
+ field public static final int INPUT_METHOD_NOT_NEEDED = 2; // 0x2
+ field public static final int MATCH_PARENT = -1; // 0xffffffff
+ field public static final int POSITION_PROMPT_ABOVE = 0; // 0x0
+ field public static final int POSITION_PROMPT_BELOW = 1; // 0x1
+ field public static final int WRAP_CONTENT = -2; // 0xfffffffe
+ }
+
+ public class PopupMenu {
+ ctor public PopupMenu(android.content.Context, android.view.View);
+ ctor public PopupMenu(android.content.Context, android.view.View, int);
+ ctor public PopupMenu(android.content.Context, android.view.View, int, @AttrRes int, @StyleRes int);
+ method public void dismiss();
+ method public android.view.View.OnTouchListener getDragToOpenListener();
+ method public int getGravity();
+ method public android.view.Menu getMenu();
+ method public android.view.MenuInflater getMenuInflater();
+ method public void inflate(@MenuRes int);
+ method public void setGravity(int);
+ method public void setOnDismissListener(androidx.appcompat.widget.PopupMenu.OnDismissListener?);
+ method public void setOnMenuItemClickListener(androidx.appcompat.widget.PopupMenu.OnMenuItemClickListener?);
+ method public void show();
+ }
+
+ public static interface PopupMenu.OnDismissListener {
+ method public void onDismiss(androidx.appcompat.widget.PopupMenu!);
+ }
+
+ public static interface PopupMenu.OnMenuItemClickListener {
+ method public boolean onMenuItemClick(android.view.MenuItem!);
+ }
+
+ public class SearchView extends androidx.appcompat.widget.LinearLayoutCompat implements androidx.appcompat.view.CollapsibleActionView {
+ ctor public SearchView(android.content.Context);
+ ctor public SearchView(android.content.Context, android.util.AttributeSet?);
+ ctor public SearchView(android.content.Context, android.util.AttributeSet?, int);
+ method public int getImeOptions();
+ method public int getInputType();
+ method public int getMaxWidth();
+ method public CharSequence! getQuery();
+ method public CharSequence? getQueryHint();
+ method public androidx.cursoradapter.widget.CursorAdapter! getSuggestionsAdapter();
+ method public boolean isIconfiedByDefault();
+ method public boolean isIconified();
+ method public boolean isQueryRefinementEnabled();
+ method public boolean isSubmitButtonEnabled();
+ method public void onActionViewCollapsed();
+ method public void onActionViewExpanded();
+ method public void setIconified(boolean);
+ method public void setIconifiedByDefault(boolean);
+ method public void setImeOptions(int);
+ method public void setInputType(int);
+ method public void setMaxWidth(int);
+ method public void setOnCloseListener(androidx.appcompat.widget.SearchView.OnCloseListener!);
+ method public void setOnQueryTextFocusChangeListener(android.view.View.OnFocusChangeListener!);
+ method public void setOnQueryTextListener(androidx.appcompat.widget.SearchView.OnQueryTextListener!);
+ method public void setOnSearchClickListener(android.view.View.OnClickListener!);
+ method public void setOnSuggestionListener(androidx.appcompat.widget.SearchView.OnSuggestionListener!);
+ method public void setQuery(CharSequence!, boolean);
+ method public void setQueryHint(CharSequence?);
+ method public void setQueryRefinementEnabled(boolean);
+ method public void setSearchableInfo(android.app.SearchableInfo!);
+ method public void setSubmitButtonEnabled(boolean);
+ method public void setSuggestionsAdapter(androidx.cursoradapter.widget.CursorAdapter!);
+ }
+
+ public static interface SearchView.OnCloseListener {
+ method public boolean onClose();
+ }
+
+ public static interface SearchView.OnQueryTextListener {
+ method public boolean onQueryTextChange(String!);
+ method public boolean onQueryTextSubmit(String!);
+ }
+
+ public static interface SearchView.OnSuggestionListener {
+ method public boolean onSuggestionClick(int);
+ method public boolean onSuggestionSelect(int);
+ }
+
+ public class ShareActionProvider extends androidx.core.view.ActionProvider {
+ ctor public ShareActionProvider(android.content.Context!);
+ method public android.view.View! onCreateActionView();
+ method public void setOnShareTargetSelectedListener(androidx.appcompat.widget.ShareActionProvider.OnShareTargetSelectedListener!);
+ method public void setShareHistoryFileName(String!);
+ method public void setShareIntent(android.content.Intent!);
+ field public static final String DEFAULT_SHARE_HISTORY_FILE_NAME = "share_history.xml";
+ }
+
+ public static interface ShareActionProvider.OnShareTargetSelectedListener {
+ method public boolean onShareTargetSelected(androidx.appcompat.widget.ShareActionProvider!, android.content.Intent!);
+ }
+
+ public class SwitchCompat extends android.widget.CompoundButton {
+ ctor public SwitchCompat(android.content.Context);
+ ctor public SwitchCompat(android.content.Context, android.util.AttributeSet?);
+ ctor public SwitchCompat(android.content.Context, android.util.AttributeSet?, int);
+ method public boolean getShowText();
+ method public boolean getSplitTrack();
+ method public int getSwitchMinWidth();
+ method public int getSwitchPadding();
+ method public CharSequence! getTextOff();
+ method public CharSequence! getTextOn();
+ method public android.graphics.drawable.Drawable! getThumbDrawable();
+ method public int getThumbTextPadding();
+ method public android.content.res.ColorStateList? getThumbTintList();
+ method public android.graphics.PorterDuff.Mode? getThumbTintMode();
+ method public android.graphics.drawable.Drawable! getTrackDrawable();
+ method public android.content.res.ColorStateList? getTrackTintList();
+ method public android.graphics.PorterDuff.Mode? getTrackTintMode();
+ method public void onMeasure(int, int);
+ method public void setShowText(boolean);
+ method public void setSplitTrack(boolean);
+ method public void setSwitchMinWidth(int);
+ method public void setSwitchPadding(int);
+ method public void setSwitchTextAppearance(android.content.Context!, int);
+ method public void setSwitchTypeface(android.graphics.Typeface!, int);
+ method public void setSwitchTypeface(android.graphics.Typeface!);
+ method public void setTextOff(CharSequence!);
+ method public void setTextOn(CharSequence!);
+ method public void setThumbDrawable(android.graphics.drawable.Drawable!);
+ method public void setThumbResource(int);
+ method public void setThumbTextPadding(int);
+ method public void setThumbTintList(android.content.res.ColorStateList?);
+ method public void setThumbTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTrackDrawable(android.graphics.drawable.Drawable!);
+ method public void setTrackResource(int);
+ method public void setTrackTintList(android.content.res.ColorStateList?);
+ method public void setTrackTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public interface ThemedSpinnerAdapter extends android.widget.SpinnerAdapter {
+ method public android.content.res.Resources.Theme? getDropDownViewTheme();
+ method public void setDropDownViewTheme(android.content.res.Resources.Theme?);
+ }
+
+ public static final class ThemedSpinnerAdapter.Helper {
+ ctor public ThemedSpinnerAdapter.Helper(android.content.Context);
+ method public android.view.LayoutInflater getDropDownViewInflater();
+ method public android.content.res.Resources.Theme? getDropDownViewTheme();
+ method public void setDropDownViewTheme(android.content.res.Resources.Theme?);
+ }
+
+ public class Toolbar extends android.view.ViewGroup {
+ ctor public Toolbar(android.content.Context);
+ ctor public Toolbar(android.content.Context, android.util.AttributeSet?);
+ ctor public Toolbar(android.content.Context, android.util.AttributeSet?, int);
+ method public void collapseActionView();
+ method public void dismissPopupMenus();
+ method protected androidx.appcompat.widget.Toolbar.LayoutParams! generateDefaultLayoutParams();
+ method public androidx.appcompat.widget.Toolbar.LayoutParams! generateLayoutParams(android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.Toolbar.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!);
+ method public CharSequence? getCollapseContentDescription();
+ method public android.graphics.drawable.Drawable? getCollapseIcon();
+ method public int getContentInsetEnd();
+ method public int getContentInsetEndWithActions();
+ method public int getContentInsetLeft();
+ method public int getContentInsetRight();
+ method public int getContentInsetStart();
+ method public int getContentInsetStartWithNavigation();
+ method public int getCurrentContentInsetEnd();
+ method public int getCurrentContentInsetLeft();
+ method public int getCurrentContentInsetRight();
+ method public int getCurrentContentInsetStart();
+ method public android.graphics.drawable.Drawable! getLogo();
+ method public CharSequence! getLogoDescription();
+ method public android.view.Menu! getMenu();
+ method public CharSequence? getNavigationContentDescription();
+ method public android.graphics.drawable.Drawable? getNavigationIcon();
+ method public android.graphics.drawable.Drawable? getOverflowIcon();
+ method public int getPopupTheme();
+ method public CharSequence! getSubtitle();
+ method public CharSequence! getTitle();
+ method public int getTitleMarginBottom();
+ method public int getTitleMarginEnd();
+ method public int getTitleMarginStart();
+ method public int getTitleMarginTop();
+ method public boolean hasExpandedActionView();
+ method public boolean hideOverflowMenu();
+ method public void inflateMenu(@MenuRes int);
+ method public boolean isOverflowMenuShowing();
+ method public void setCollapseContentDescription(@StringRes int);
+ method public void setCollapseContentDescription(CharSequence?);
+ method public void setCollapseIcon(@DrawableRes int);
+ method public void setCollapseIcon(android.graphics.drawable.Drawable?);
+ method public void setContentInsetEndWithActions(int);
+ method public void setContentInsetStartWithNavigation(int);
+ method public void setContentInsetsAbsolute(int, int);
+ method public void setContentInsetsRelative(int, int);
+ method public void setLogo(@DrawableRes int);
+ method public void setLogo(android.graphics.drawable.Drawable!);
+ method public void setLogoDescription(@StringRes int);
+ method public void setLogoDescription(CharSequence!);
+ method public void setNavigationContentDescription(@StringRes int);
+ method public void setNavigationContentDescription(CharSequence?);
+ method public void setNavigationIcon(@DrawableRes int);
+ method public void setNavigationIcon(android.graphics.drawable.Drawable?);
+ method public void setNavigationOnClickListener(android.view.View.OnClickListener!);
+ method public void setOnMenuItemClickListener(androidx.appcompat.widget.Toolbar.OnMenuItemClickListener!);
+ method public void setOverflowIcon(android.graphics.drawable.Drawable?);
+ method public void setPopupTheme(@StyleRes int);
+ method public void setSubtitle(@StringRes int);
+ method public void setSubtitle(CharSequence!);
+ method public void setSubtitleTextAppearance(android.content.Context!, @StyleRes int);
+ method public void setSubtitleTextColor(@ColorInt int);
+ method public void setSubtitleTextColor(android.content.res.ColorStateList);
+ method public void setTitle(@StringRes int);
+ method public void setTitle(CharSequence!);
+ method public void setTitleMargin(int, int, int, int);
+ method public void setTitleMarginBottom(int);
+ method public void setTitleMarginEnd(int);
+ method public void setTitleMarginStart(int);
+ method public void setTitleMarginTop(int);
+ method public void setTitleTextAppearance(android.content.Context!, @StyleRes int);
+ method public void setTitleTextColor(@ColorInt int);
+ method public void setTitleTextColor(android.content.res.ColorStateList);
+ method public boolean showOverflowMenu();
+ }
+
+ public static class Toolbar.LayoutParams extends androidx.appcompat.app.ActionBar.LayoutParams {
+ ctor public Toolbar.LayoutParams(android.content.Context, android.util.AttributeSet!);
+ ctor public Toolbar.LayoutParams(int, int);
+ ctor public Toolbar.LayoutParams(int, int, int);
+ ctor public Toolbar.LayoutParams(int);
+ ctor public Toolbar.LayoutParams(androidx.appcompat.widget.Toolbar.LayoutParams!);
+ ctor public Toolbar.LayoutParams(androidx.appcompat.app.ActionBar.LayoutParams!);
+ ctor public Toolbar.LayoutParams(android.view.ViewGroup.MarginLayoutParams!);
+ ctor public Toolbar.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ }
+
+ public static interface Toolbar.OnMenuItemClickListener {
+ method public boolean onMenuItemClick(android.view.MenuItem!);
+ }
+
+ public static class Toolbar.SavedState extends androidx.customview.view.AbsSavedState {
+ ctor public Toolbar.SavedState(android.os.Parcel!);
+ ctor public Toolbar.SavedState(android.os.Parcel!, ClassLoader!);
+ ctor public Toolbar.SavedState(android.os.Parcelable!);
+ field public static final android.os.Parcelable.Creator<androidx.appcompat.widget.Toolbar.SavedState!>! CREATOR;
+ }
+
+ public class TooltipCompat {
+ method public static void setTooltipText(android.view.View, CharSequence?);
+ }
+
+}
+
diff --git a/appcompat/appcompat/api/res-1.3.0-alpha01.txt b/appcompat/appcompat/api/res-1.3.0-alpha01.txt
new file mode 100644
index 0000000..cb8c1e3
--- /dev/null
+++ b/appcompat/appcompat/api/res-1.3.0-alpha01.txt
@@ -0,0 +1,366 @@
+attr actionBarDivider
+attr actionBarItemBackground
+attr actionBarPopupTheme
+attr actionBarSize
+attr actionBarSplitStyle
+attr actionBarStyle
+attr actionBarTabBarStyle
+attr actionBarTabStyle
+attr actionBarTabTextStyle
+attr actionBarTheme
+attr actionBarWidgetTheme
+attr actionButtonStyle
+attr actionDropDownStyle
+attr actionLayout
+attr actionMenuTextAppearance
+attr actionMenuTextColor
+attr actionModeBackground
+attr actionModeCloseButtonStyle
+attr actionModeCloseDrawable
+attr actionModeCopyDrawable
+attr actionModeCutDrawable
+attr actionModeFindDrawable
+attr actionModePasteDrawable
+attr actionModeSelectAllDrawable
+attr actionModeShareDrawable
+attr actionModeSplitBackground
+attr actionModeStyle
+attr actionModeWebSearchDrawable
+attr actionOverflowButtonStyle
+attr actionOverflowMenuStyle
+attr actionProviderClass
+attr actionViewClass
+attr alertDialogStyle
+attr alertDialogTheme
+attr arrowHeadLength
+attr arrowShaftLength
+attr autoCompleteTextViewStyle
+attr autoSizeMaxTextSize
+attr autoSizeMinTextSize
+attr autoSizePresetSizes
+attr autoSizeStepGranularity
+attr autoSizeTextType
+attr background
+attr backgroundSplit
+attr backgroundStacked
+attr backgroundTint
+attr backgroundTintMode
+attr barLength
+attr borderlessButtonStyle
+attr buttonBarButtonStyle
+attr buttonBarNegativeButtonStyle
+attr buttonBarNeutralButtonStyle
+attr buttonBarPositiveButtonStyle
+attr buttonBarStyle
+attr buttonGravity
+attr buttonStyle
+attr buttonStyleSmall
+attr buttonTint
+attr buttonTintMode
+attr checkboxStyle
+attr checkedTextViewStyle
+attr closeIcon
+attr closeItemLayout
+attr collapseContentDescription
+attr collapseIcon
+attr color
+attr colorAccent
+attr colorBackgroundFloating
+attr colorButtonNormal
+attr colorControlActivated
+attr colorControlHighlight
+attr colorControlNormal
+attr colorError
+attr colorPrimary
+attr colorPrimaryDark
+attr commitIcon
+attr contentInsetEnd
+attr contentInsetEndWithActions
+attr contentInsetLeft
+attr contentInsetRight
+attr contentInsetStart
+attr contentInsetStartWithNavigation
+attr customNavigationLayout
+attr dialogCornerRadius
+attr dialogPreferredPadding
+attr dialogTheme
+attr displayOptions
+attr divider
+attr dividerHorizontal
+attr dividerPadding
+attr dividerVertical
+attr drawableSize
+attr drawerArrowStyle
+attr dropDownListViewStyle
+attr editTextBackground
+attr editTextColor
+attr editTextStyle
+attr elevation
+attr firstBaselineToTopHeight
+attr fontFamily
+attr fontVariationSettings
+attr gapBetweenBars
+attr goIcon
+attr height
+attr hideOnContentScroll
+attr homeAsUpIndicator
+attr homeLayout
+attr icon
+attr iconTint
+attr iconTintMode
+attr iconifiedByDefault
+attr imageButtonStyle
+attr indeterminateProgressStyle
+attr isLightTheme
+attr itemPadding
+attr lastBaselineToBottomHeight
+attr layout
+attr lineHeight
+attr listChoiceBackgroundIndicator
+attr listChoiceIndicatorMultipleAnimated
+attr listChoiceIndicatorSingleAnimated
+attr listDividerAlertDialog
+attr listPopupWindowStyle
+attr listPreferredItemHeight
+attr listPreferredItemHeightLarge
+attr listPreferredItemHeightSmall
+attr listPreferredItemPaddingEnd
+attr listPreferredItemPaddingLeft
+attr listPreferredItemPaddingRight
+attr listPreferredItemPaddingStart
+attr logo
+attr logoDescription
+attr maxButtonHeight
+attr measureWithLargestChild
+attr navigationContentDescription
+attr navigationIcon
+attr navigationMode
+attr overlapAnchor
+attr paddingEnd
+attr paddingStart
+attr panelBackground
+attr popupMenuStyle
+attr popupTheme
+attr popupWindowStyle
+attr preserveIconSpacing
+attr progressBarPadding
+attr progressBarStyle
+attr queryBackground
+attr queryHint
+attr radioButtonStyle
+attr ratingBarStyle
+attr ratingBarStyleIndicator
+attr ratingBarStyleSmall
+attr searchHintIcon
+attr searchIcon
+attr searchViewStyle
+attr seekBarStyle
+attr selectableItemBackground
+attr selectableItemBackgroundBorderless
+attr showAsAction
+attr showDividers
+attr showText
+attr spinBars
+attr spinnerDropDownItemStyle
+attr spinnerStyle
+attr splitTrack
+attr srcCompat
+attr state_above_anchor
+attr submitBackground
+attr subtitle
+attr subtitleTextAppearance
+attr subtitleTextColor
+attr subtitleTextStyle
+attr suggestionRowLayout
+attr switchMinWidth
+attr switchPadding
+attr switchStyle
+attr switchTextAppearance
+attr textAllCaps
+attr textAppearanceLargePopupMenu
+attr textAppearanceListItem
+attr textAppearanceListItemSecondary
+attr textAppearanceListItemSmall
+attr textAppearancePopupMenuHeader
+attr textAppearanceSearchResultSubtitle
+attr textAppearanceSearchResultTitle
+attr textAppearanceSmallPopupMenu
+attr textColorAlertDialogListItem
+attr textLocale
+attr theme
+attr thickness
+attr thumbTextPadding
+attr thumbTint
+attr thumbTintMode
+attr tickMark
+attr tickMarkTint
+attr tickMarkTintMode
+attr tint
+attr tintMode
+attr title
+attr titleMargin
+attr titleMarginBottom
+attr titleMarginEnd
+attr titleMarginStart
+attr titleMarginTop
+attr titleMargins
+attr titleTextAppearance
+attr titleTextColor
+attr titleTextStyle
+attr toolbarNavigationButtonStyle
+attr toolbarStyle
+attr track
+attr trackTint
+attr trackTintMode
+attr voiceIcon
+attr windowActionBar
+attr windowActionBarOverlay
+attr windowActionModeOverlay
+attr windowNoTitle
+layout support_simple_spinner_dropdown_item
+style TextAppearance_AppCompat
+style TextAppearance_AppCompat_Body1
+style TextAppearance_AppCompat_Body2
+style TextAppearance_AppCompat_Button
+style TextAppearance_AppCompat_Caption
+style TextAppearance_AppCompat_Display1
+style TextAppearance_AppCompat_Display2
+style TextAppearance_AppCompat_Display3
+style TextAppearance_AppCompat_Display4
+style TextAppearance_AppCompat_Headline
+style TextAppearance_AppCompat_Inverse
+style TextAppearance_AppCompat_Large
+style TextAppearance_AppCompat_Large_Inverse
+style TextAppearance_AppCompat_Light_SearchResult_Subtitle
+style TextAppearance_AppCompat_Light_SearchResult_Title
+style TextAppearance_AppCompat_Light_Widget_PopupMenu_Large
+style TextAppearance_AppCompat_Light_Widget_PopupMenu_Small
+style TextAppearance_AppCompat_Medium
+style TextAppearance_AppCompat_Medium_Inverse
+style TextAppearance_AppCompat_Menu
+style TextAppearance_AppCompat_SearchResult_Subtitle
+style TextAppearance_AppCompat_SearchResult_Title
+style TextAppearance_AppCompat_Small
+style TextAppearance_AppCompat_Small_Inverse
+style TextAppearance_AppCompat_Subhead
+style TextAppearance_AppCompat_Subhead_Inverse
+style TextAppearance_AppCompat_Title
+style TextAppearance_AppCompat_Title_Inverse
+style TextAppearance_AppCompat_Widget_ActionBar_Menu
+style TextAppearance_AppCompat_Widget_ActionBar_Subtitle
+style TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse
+style TextAppearance_AppCompat_Widget_ActionBar_Title
+style TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse
+style TextAppearance_AppCompat_Widget_ActionMode_Subtitle
+style TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse
+style TextAppearance_AppCompat_Widget_ActionMode_Title
+style TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse
+style TextAppearance_AppCompat_Widget_Button
+style TextAppearance_AppCompat_Widget_Button_Borderless_Colored
+style TextAppearance_AppCompat_Widget_Button_Colored
+style TextAppearance_AppCompat_Widget_Button_Inverse
+style TextAppearance_AppCompat_Widget_DropDownItem
+style TextAppearance_AppCompat_Widget_PopupMenu_Header
+style TextAppearance_AppCompat_Widget_PopupMenu_Large
+style TextAppearance_AppCompat_Widget_PopupMenu_Small
+style TextAppearance_AppCompat_Widget_Switch
+style TextAppearance_AppCompat_Widget_TextView_SpinnerItem
+style ThemeOverlay_AppCompat
+style ThemeOverlay_AppCompat_ActionBar
+style ThemeOverlay_AppCompat_Dark
+style ThemeOverlay_AppCompat_Dark_ActionBar
+style ThemeOverlay_AppCompat_DayNight
+style ThemeOverlay_AppCompat_DayNight_ActionBar
+style ThemeOverlay_AppCompat_Dialog
+style ThemeOverlay_AppCompat_Dialog_Alert
+style ThemeOverlay_AppCompat_Light
+style Theme_AppCompat
+style Theme_AppCompat_DayNight
+style Theme_AppCompat_DayNight_DarkActionBar
+style Theme_AppCompat_DayNight_Dialog
+style Theme_AppCompat_DayNight_DialogWhenLarge
+style Theme_AppCompat_DayNight_Dialog_Alert
+style Theme_AppCompat_DayNight_Dialog_MinWidth
+style Theme_AppCompat_DayNight_NoActionBar
+style Theme_AppCompat_Dialog
+style Theme_AppCompat_DialogWhenLarge
+style Theme_AppCompat_Dialog_Alert
+style Theme_AppCompat_Dialog_MinWidth
+style Theme_AppCompat_Light
+style Theme_AppCompat_Light_DarkActionBar
+style Theme_AppCompat_Light_Dialog
+style Theme_AppCompat_Light_DialogWhenLarge
+style Theme_AppCompat_Light_Dialog_Alert
+style Theme_AppCompat_Light_Dialog_MinWidth
+style Theme_AppCompat_Light_NoActionBar
+style Theme_AppCompat_NoActionBar
+style Widget_AppCompat_ActionBar
+style Widget_AppCompat_ActionBar_Solid
+style Widget_AppCompat_ActionBar_TabBar
+style Widget_AppCompat_ActionBar_TabText
+style Widget_AppCompat_ActionBar_TabView
+style Widget_AppCompat_ActionButton
+style Widget_AppCompat_ActionButton_CloseMode
+style Widget_AppCompat_ActionButton_Overflow
+style Widget_AppCompat_ActionMode
+style Widget_AppCompat_AutoCompleteTextView
+style Widget_AppCompat_Button
+style Widget_AppCompat_ButtonBar
+style Widget_AppCompat_ButtonBar_AlertDialog
+style Widget_AppCompat_Button_Borderless
+style Widget_AppCompat_Button_Borderless_Colored
+style Widget_AppCompat_Button_ButtonBar_AlertDialog
+style Widget_AppCompat_Button_Colored
+style Widget_AppCompat_Button_Small
+style Widget_AppCompat_CompoundButton_CheckBox
+style Widget_AppCompat_CompoundButton_RadioButton
+style Widget_AppCompat_CompoundButton_Switch
+style Widget_AppCompat_DrawerArrowToggle
+style Widget_AppCompat_DropDownItem_Spinner
+style Widget_AppCompat_EditText
+style Widget_AppCompat_ImageButton
+style Widget_AppCompat_Light_ActionBar
+style Widget_AppCompat_Light_ActionBar_Solid
+style Widget_AppCompat_Light_ActionBar_Solid_Inverse
+style Widget_AppCompat_Light_ActionBar_TabBar
+style Widget_AppCompat_Light_ActionBar_TabBar_Inverse
+style Widget_AppCompat_Light_ActionBar_TabText
+style Widget_AppCompat_Light_ActionBar_TabText_Inverse
+style Widget_AppCompat_Light_ActionBar_TabView
+style Widget_AppCompat_Light_ActionBar_TabView_Inverse
+style Widget_AppCompat_Light_ActionButton
+style Widget_AppCompat_Light_ActionButton_CloseMode
+style Widget_AppCompat_Light_ActionButton_Overflow
+style Widget_AppCompat_Light_ActionMode_Inverse
+style Widget_AppCompat_Light_AutoCompleteTextView
+style Widget_AppCompat_Light_DropDownItem_Spinner
+style Widget_AppCompat_Light_ListPopupWindow
+style Widget_AppCompat_Light_ListView_DropDown
+style Widget_AppCompat_Light_PopupMenu
+style Widget_AppCompat_Light_PopupMenu_Overflow
+style Widget_AppCompat_Light_SearchView
+style Widget_AppCompat_Light_Spinner_DropDown_ActionBar
+style Widget_AppCompat_ListPopupWindow
+style Widget_AppCompat_ListView
+style Widget_AppCompat_ListView_DropDown
+style Widget_AppCompat_ListView_Menu
+style Widget_AppCompat_PopupMenu
+style Widget_AppCompat_PopupMenu_Overflow
+style Widget_AppCompat_PopupWindow
+style Widget_AppCompat_ProgressBar
+style Widget_AppCompat_ProgressBar_Horizontal
+style Widget_AppCompat_RatingBar
+style Widget_AppCompat_RatingBar_Indicator
+style Widget_AppCompat_RatingBar_Small
+style Widget_AppCompat_SearchView
+style Widget_AppCompat_SearchView_ActionBar
+style Widget_AppCompat_SeekBar
+style Widget_AppCompat_SeekBar_Discrete
+style Widget_AppCompat_Spinner
+style Widget_AppCompat_Spinner_DropDown
+style Widget_AppCompat_Spinner_DropDown_ActionBar
+style Widget_AppCompat_Spinner_Underlined
+style Widget_AppCompat_TextView
+style Widget_AppCompat_TextView_SpinnerItem
+style Widget_AppCompat_Toolbar
+style Widget_AppCompat_Toolbar_Button_Navigation
diff --git a/appcompat/appcompat/api/restricted_1.2.0-alpha03.txt b/appcompat/appcompat/api/restricted_1.2.0-alpha03.txt
index 05e8e4a..34f0d38 100644
--- a/appcompat/appcompat/api/restricted_1.2.0-alpha03.txt
+++ b/appcompat/appcompat/api/restricted_1.2.0-alpha03.txt
@@ -1218,6 +1218,7 @@
method public void onNestedScrollAccepted(android.view.View!, android.view.View!, int, int);
method public boolean onStartNestedScroll(android.view.View!, android.view.View!, int, int);
method public void onStopNestedScroll(android.view.View!, int);
+ method public void onWindowSystemUiVisibilityChanged(int);
method public void restoreToolbarHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
method public void saveToolbarHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
method public void setActionBarHideOffset(int);
diff --git a/appcompat/appcompat/api/restricted_1.2.0-alpha04.txt b/appcompat/appcompat/api/restricted_1.2.0-alpha04.txt
index 05e8e4a..34f0d38 100644
--- a/appcompat/appcompat/api/restricted_1.2.0-alpha04.txt
+++ b/appcompat/appcompat/api/restricted_1.2.0-alpha04.txt
@@ -1218,6 +1218,7 @@
method public void onNestedScrollAccepted(android.view.View!, android.view.View!, int, int);
method public boolean onStartNestedScroll(android.view.View!, android.view.View!, int, int);
method public void onStopNestedScroll(android.view.View!, int);
+ method public void onWindowSystemUiVisibilityChanged(int);
method public void restoreToolbarHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
method public void saveToolbarHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
method public void setActionBarHideOffset(int);
diff --git a/appcompat/appcompat/api/restricted_1.2.0-beta01.txt b/appcompat/appcompat/api/restricted_1.2.0-beta01.txt
index 34ad4f3..05e8e4a 100644
--- a/appcompat/appcompat/api/restricted_1.2.0-beta01.txt
+++ b/appcompat/appcompat/api/restricted_1.2.0-beta01.txt
@@ -439,8 +439,8 @@
method public void invalidate();
method public void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder!, boolean);
method public void onCloseSubMenu(androidx.appcompat.view.menu.SubMenuBuilder!);
- method public boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder, android.view.MenuItem);
- method public void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder);
+ method public boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder!, android.view.MenuItem!);
+ method public void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder!);
method public boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder!);
method public void setCustomView(android.view.View!);
method public void setSubtitle(CharSequence!);
@@ -590,8 +590,8 @@
method public void invalidate();
method public void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder!, boolean);
method public void onCloseSubMenu(androidx.appcompat.view.menu.SubMenuBuilder!);
- method public boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder, android.view.MenuItem);
- method public void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder);
+ method public boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder!, android.view.MenuItem!);
+ method public void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder!);
method public boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder!);
method public void setCustomView(android.view.View!);
method public void setSubtitle(CharSequence!);
@@ -918,8 +918,8 @@
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static interface MenuBuilder.Callback {
- method public boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder, android.view.MenuItem);
- method public void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder);
+ method public boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder!, android.view.MenuItem!);
+ method public void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder!);
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static interface MenuBuilder.ItemInvoker {
@@ -1074,8 +1074,8 @@
}
public static interface MenuPresenter.Callback {
- method public void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder, boolean);
- method public boolean onOpenSubMenu(androidx.appcompat.view.menu.MenuBuilder);
+ method public void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder!, boolean);
+ method public boolean onOpenSubMenu(androidx.appcompat.view.menu.MenuBuilder!);
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface MenuView {
diff --git a/appcompat/appcompat/api/restricted_1.3.0-alpha01.txt b/appcompat/appcompat/api/restricted_1.3.0-alpha01.txt
new file mode 100644
index 0000000..34ad4f3
--- /dev/null
+++ b/appcompat/appcompat/api/restricted_1.3.0-alpha01.txt
@@ -0,0 +1,2204 @@
+// Signature format: 3.0
+package androidx.appcompat.app {
+
+ public abstract class ActionBar {
+ ctor public ActionBar();
+ method public abstract void addOnMenuVisibilityListener(androidx.appcompat.app.ActionBar.OnMenuVisibilityListener!);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!, boolean);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!, int);
+ method @Deprecated public abstract void addTab(androidx.appcompat.app.ActionBar.Tab!, int, boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean closeOptionsMenu();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean collapseActionView();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void dispatchMenuVisibilityChanged(boolean);
+ method public abstract android.view.View! getCustomView();
+ method @androidx.appcompat.app.ActionBar.DisplayOptions public abstract int getDisplayOptions();
+ method public float getElevation();
+ method public abstract int getHeight();
+ method public int getHideOffset();
+ method @Deprecated public abstract int getNavigationItemCount();
+ method @Deprecated @androidx.appcompat.app.ActionBar.NavigationMode public abstract int getNavigationMode();
+ method @Deprecated public abstract int getSelectedNavigationIndex();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab? getSelectedTab();
+ method public abstract CharSequence? getSubtitle();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! getTabAt(int);
+ method @Deprecated public abstract int getTabCount();
+ method public android.content.Context! getThemedContext();
+ method public abstract CharSequence? getTitle();
+ method public abstract void hide();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean invalidateOptionsMenu();
+ method public boolean isHideOnContentScrollEnabled();
+ method public abstract boolean isShowing();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isTitleTruncated();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! newTab();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void onConfigurationChanged(android.content.res.Configuration!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean onKeyShortcut(int, android.view.KeyEvent!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean onMenuKeyEvent(android.view.KeyEvent!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean openOptionsMenu();
+ method @Deprecated public abstract void removeAllTabs();
+ method public abstract void removeOnMenuVisibilityListener(androidx.appcompat.app.ActionBar.OnMenuVisibilityListener!);
+ method @Deprecated public abstract void removeTab(androidx.appcompat.app.ActionBar.Tab!);
+ method @Deprecated public abstract void removeTabAt(int);
+ method @Deprecated public abstract void selectTab(androidx.appcompat.app.ActionBar.Tab!);
+ method public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable?);
+ method public abstract void setCustomView(android.view.View!);
+ method public abstract void setCustomView(android.view.View!, androidx.appcompat.app.ActionBar.LayoutParams!);
+ method public abstract void setCustomView(int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setDefaultDisplayHomeAsUpEnabled(boolean);
+ method public abstract void setDisplayHomeAsUpEnabled(boolean);
+ method public abstract void setDisplayOptions(@androidx.appcompat.app.ActionBar.DisplayOptions int);
+ method public abstract void setDisplayOptions(@androidx.appcompat.app.ActionBar.DisplayOptions int, @androidx.appcompat.app.ActionBar.DisplayOptions int);
+ method public abstract void setDisplayShowCustomEnabled(boolean);
+ method public abstract void setDisplayShowHomeEnabled(boolean);
+ method public abstract void setDisplayShowTitleEnabled(boolean);
+ method public abstract void setDisplayUseLogoEnabled(boolean);
+ method public void setElevation(float);
+ method public void setHideOffset(int);
+ method public void setHideOnContentScrollEnabled(boolean);
+ method public void setHomeActionContentDescription(CharSequence?);
+ method public void setHomeActionContentDescription(@StringRes int);
+ method public void setHomeAsUpIndicator(android.graphics.drawable.Drawable?);
+ method public void setHomeAsUpIndicator(@DrawableRes int);
+ method public void setHomeButtonEnabled(boolean);
+ method public abstract void setIcon(@DrawableRes int);
+ method public abstract void setIcon(android.graphics.drawable.Drawable!);
+ method @Deprecated public abstract void setListNavigationCallbacks(android.widget.SpinnerAdapter!, androidx.appcompat.app.ActionBar.OnNavigationListener!);
+ method public abstract void setLogo(@DrawableRes int);
+ method public abstract void setLogo(android.graphics.drawable.Drawable!);
+ method @Deprecated public abstract void setNavigationMode(@androidx.appcompat.app.ActionBar.NavigationMode int);
+ method @Deprecated public abstract void setSelectedNavigationItem(int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setShowHideAnimationEnabled(boolean);
+ method public void setSplitBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setStackedBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public abstract void setSubtitle(CharSequence!);
+ method public abstract void setSubtitle(int);
+ method public abstract void setTitle(CharSequence!);
+ method public abstract void setTitle(@StringRes int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setWindowTitle(CharSequence!);
+ method public abstract void show();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.appcompat.view.ActionMode! startActionMode(androidx.appcompat.view.ActionMode.Callback!);
+ field public static final int DISPLAY_HOME_AS_UP = 4; // 0x4
+ field public static final int DISPLAY_SHOW_CUSTOM = 16; // 0x10
+ field public static final int DISPLAY_SHOW_HOME = 2; // 0x2
+ field public static final int DISPLAY_SHOW_TITLE = 8; // 0x8
+ field public static final int DISPLAY_USE_LOGO = 1; // 0x1
+ field @Deprecated public static final int NAVIGATION_MODE_LIST = 1; // 0x1
+ field @Deprecated public static final int NAVIGATION_MODE_STANDARD = 0; // 0x0
+ field @Deprecated public static final int NAVIGATION_MODE_TABS = 2; // 0x2
+ }
+
+ @IntDef(flag=true, value={androidx.appcompat.app.ActionBar.DISPLAY_USE_LOGO, androidx.appcompat.app.ActionBar.DISPLAY_SHOW_HOME, androidx.appcompat.app.ActionBar.DISPLAY_HOME_AS_UP, androidx.appcompat.app.ActionBar.DISPLAY_SHOW_TITLE, androidx.appcompat.app.ActionBar.DISPLAY_SHOW_CUSTOM}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ActionBar.DisplayOptions {
+ }
+
+ public static class ActionBar.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public ActionBar.LayoutParams(android.content.Context, android.util.AttributeSet!);
+ ctor public ActionBar.LayoutParams(int, int);
+ ctor public ActionBar.LayoutParams(int, int, int);
+ ctor public ActionBar.LayoutParams(int);
+ ctor public ActionBar.LayoutParams(androidx.appcompat.app.ActionBar.LayoutParams!);
+ ctor public ActionBar.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ field public int gravity;
+ }
+
+ @IntDef({androidx.appcompat.app.ActionBar.NAVIGATION_MODE_STANDARD, androidx.appcompat.app.ActionBar.NAVIGATION_MODE_LIST, androidx.appcompat.app.ActionBar.NAVIGATION_MODE_TABS}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ActionBar.NavigationMode {
+ }
+
+ public static interface ActionBar.OnMenuVisibilityListener {
+ method public void onMenuVisibilityChanged(boolean);
+ }
+
+ @Deprecated public static interface ActionBar.OnNavigationListener {
+ method @Deprecated public boolean onNavigationItemSelected(int, long);
+ }
+
+ @Deprecated public abstract static class ActionBar.Tab {
+ ctor @Deprecated public ActionBar.Tab();
+ method @Deprecated public abstract CharSequence! getContentDescription();
+ method @Deprecated public abstract android.view.View! getCustomView();
+ method @Deprecated public abstract android.graphics.drawable.Drawable! getIcon();
+ method @Deprecated public abstract int getPosition();
+ method @Deprecated public abstract Object! getTag();
+ method @Deprecated public abstract CharSequence! getText();
+ method @Deprecated public abstract void select();
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setContentDescription(@StringRes int);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setContentDescription(CharSequence!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setCustomView(android.view.View!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setCustomView(int);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setIcon(android.graphics.drawable.Drawable!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setIcon(@DrawableRes int);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setTabListener(androidx.appcompat.app.ActionBar.TabListener!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setTag(Object!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setText(CharSequence!);
+ method @Deprecated public abstract androidx.appcompat.app.ActionBar.Tab! setText(int);
+ field @Deprecated public static final int INVALID_POSITION = -1; // 0xffffffff
+ }
+
+ @Deprecated public static interface ActionBar.TabListener {
+ method @Deprecated public void onTabReselected(androidx.appcompat.app.ActionBar.Tab!, androidx.fragment.app.FragmentTransaction!);
+ method @Deprecated public void onTabSelected(androidx.appcompat.app.ActionBar.Tab!, androidx.fragment.app.FragmentTransaction!);
+ method @Deprecated public void onTabUnselected(androidx.appcompat.app.ActionBar.Tab!, androidx.fragment.app.FragmentTransaction!);
+ }
+
+ public class ActionBarDrawerToggle implements androidx.drawerlayout.widget.DrawerLayout.DrawerListener {
+ ctor public ActionBarDrawerToggle(android.app.Activity!, androidx.drawerlayout.widget.DrawerLayout!, @StringRes int, @StringRes int);
+ ctor public ActionBarDrawerToggle(android.app.Activity!, androidx.drawerlayout.widget.DrawerLayout!, androidx.appcompat.widget.Toolbar!, @StringRes int, @StringRes int);
+ method public androidx.appcompat.graphics.drawable.DrawerArrowDrawable getDrawerArrowDrawable();
+ method public android.view.View.OnClickListener! getToolbarNavigationClickListener();
+ method public boolean isDrawerIndicatorEnabled();
+ method public boolean isDrawerSlideAnimationEnabled();
+ method public void onConfigurationChanged(android.content.res.Configuration!);
+ method public void onDrawerClosed(android.view.View!);
+ method public void onDrawerOpened(android.view.View!);
+ method public void onDrawerSlide(android.view.View!, float);
+ method public void onDrawerStateChanged(int);
+ method public boolean onOptionsItemSelected(android.view.MenuItem!);
+ method public void setDrawerArrowDrawable(androidx.appcompat.graphics.drawable.DrawerArrowDrawable);
+ method public void setDrawerIndicatorEnabled(boolean);
+ method public void setDrawerSlideAnimationEnabled(boolean);
+ method public void setHomeAsUpIndicator(android.graphics.drawable.Drawable!);
+ method public void setHomeAsUpIndicator(int);
+ method public void setToolbarNavigationClickListener(android.view.View.OnClickListener!);
+ method public void syncState();
+ }
+
+ public static interface ActionBarDrawerToggle.Delegate {
+ method public android.content.Context! getActionBarThemedContext();
+ method public android.graphics.drawable.Drawable! getThemeUpIndicator();
+ method public boolean isNavigationVisible();
+ method public void setActionBarDescription(@StringRes int);
+ method public void setActionBarUpIndicator(android.graphics.drawable.Drawable!, @StringRes int);
+ }
+
+ public static interface ActionBarDrawerToggle.DelegateProvider {
+ method public androidx.appcompat.app.ActionBarDrawerToggle.Delegate? getDrawerToggleDelegate();
+ }
+
+ public class AlertDialog extends androidx.appcompat.app.AppCompatDialog implements android.content.DialogInterface {
+ ctor protected AlertDialog(android.content.Context);
+ ctor protected AlertDialog(android.content.Context, @StyleRes int);
+ ctor protected AlertDialog(android.content.Context, boolean, android.content.DialogInterface.OnCancelListener?);
+ method public android.widget.Button! getButton(int);
+ method public android.widget.ListView! getListView();
+ method public void setButton(int, CharSequence!, android.os.Message!);
+ method public void setButton(int, CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public void setButton(int, CharSequence!, android.graphics.drawable.Drawable!, android.content.DialogInterface.OnClickListener!);
+ method public void setCustomTitle(android.view.View!);
+ method public void setIcon(int);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setIconAttribute(int);
+ method public void setMessage(CharSequence!);
+ method public void setView(android.view.View!);
+ method public void setView(android.view.View!, int, int, int, int);
+ }
+
+ public static class AlertDialog.Builder {
+ ctor public AlertDialog.Builder(android.content.Context);
+ ctor public AlertDialog.Builder(android.content.Context, @StyleRes int);
+ method public androidx.appcompat.app.AlertDialog create();
+ method public android.content.Context getContext();
+ method public androidx.appcompat.app.AlertDialog.Builder! setAdapter(android.widget.ListAdapter!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setCancelable(boolean);
+ method public androidx.appcompat.app.AlertDialog.Builder! setCursor(android.database.Cursor!, android.content.DialogInterface.OnClickListener!, String!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setCustomTitle(android.view.View?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setIcon(@DrawableRes int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setIcon(android.graphics.drawable.Drawable?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setIconAttribute(@AttrRes int);
+ method @Deprecated public androidx.appcompat.app.AlertDialog.Builder! setInverseBackgroundForced(boolean);
+ method public androidx.appcompat.app.AlertDialog.Builder! setItems(@ArrayRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setItems(CharSequence![]!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMessage(@StringRes int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMessage(CharSequence?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMultiChoiceItems(@ArrayRes int, boolean[]!, android.content.DialogInterface.OnMultiChoiceClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMultiChoiceItems(CharSequence![]!, boolean[]!, android.content.DialogInterface.OnMultiChoiceClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setMultiChoiceItems(android.database.Cursor!, String!, String!, android.content.DialogInterface.OnMultiChoiceClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNegativeButton(@StringRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNegativeButton(CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNegativeButtonIcon(android.graphics.drawable.Drawable!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNeutralButton(@StringRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNeutralButton(CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setNeutralButtonIcon(android.graphics.drawable.Drawable!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnCancelListener(android.content.DialogInterface.OnCancelListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnDismissListener(android.content.DialogInterface.OnDismissListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setOnKeyListener(android.content.DialogInterface.OnKeyListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setPositiveButton(@StringRes int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setPositiveButton(CharSequence!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setPositiveButtonIcon(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.appcompat.app.AlertDialog.Builder! setRecycleOnMeasureEnabled(boolean);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(@ArrayRes int, int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(android.database.Cursor!, int, String!, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(CharSequence![]!, int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setSingleChoiceItems(android.widget.ListAdapter!, int, android.content.DialogInterface.OnClickListener!);
+ method public androidx.appcompat.app.AlertDialog.Builder! setTitle(@StringRes int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setTitle(CharSequence?);
+ method public androidx.appcompat.app.AlertDialog.Builder! setView(int);
+ method public androidx.appcompat.app.AlertDialog.Builder! setView(android.view.View!);
+ method @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.appcompat.app.AlertDialog.Builder! setView(android.view.View!, int, int, int, int);
+ method public androidx.appcompat.app.AlertDialog! show();
+ }
+
+ public class AppCompatActivity extends androidx.fragment.app.FragmentActivity implements androidx.appcompat.app.ActionBarDrawerToggle.DelegateProvider androidx.appcompat.app.AppCompatCallback androidx.core.app.TaskStackBuilder.SupportParentable {
+ ctor public AppCompatActivity();
+ ctor @ContentView public AppCompatActivity(@LayoutRes int);
+ method public androidx.appcompat.app.AppCompatDelegate getDelegate();
+ method public androidx.appcompat.app.ActionBarDrawerToggle.Delegate? getDrawerToggleDelegate();
+ method public androidx.appcompat.app.ActionBar? getSupportActionBar();
+ method public android.content.Intent? getSupportParentActivityIntent();
+ method public void onCreateSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder);
+ method public final boolean onMenuItemSelected(int, android.view.MenuItem);
+ method protected void onNightModeChanged(@androidx.appcompat.app.AppCompatDelegate.NightMode int);
+ method public void onPrepareSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder);
+ method @CallSuper public void onSupportActionModeFinished(androidx.appcompat.view.ActionMode);
+ method @CallSuper public void onSupportActionModeStarted(androidx.appcompat.view.ActionMode);
+ method @Deprecated public void onSupportContentChanged();
+ method public boolean onSupportNavigateUp();
+ method public androidx.appcompat.view.ActionMode? onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback);
+ method public void setSupportActionBar(androidx.appcompat.widget.Toolbar?);
+ method @Deprecated public void setSupportProgress(int);
+ method @Deprecated public void setSupportProgressBarIndeterminate(boolean);
+ method @Deprecated public void setSupportProgressBarIndeterminateVisibility(boolean);
+ method @Deprecated public void setSupportProgressBarVisibility(boolean);
+ method public androidx.appcompat.view.ActionMode? startSupportActionMode(androidx.appcompat.view.ActionMode.Callback);
+ method public void supportInvalidateOptionsMenu();
+ method public void supportNavigateUpTo(android.content.Intent);
+ method public boolean supportRequestWindowFeature(int);
+ method public boolean supportShouldUpRecreateTask(android.content.Intent);
+ }
+
+ public interface AppCompatCallback {
+ method public void onSupportActionModeFinished(androidx.appcompat.view.ActionMode!);
+ method public void onSupportActionModeStarted(androidx.appcompat.view.ActionMode!);
+ method public androidx.appcompat.view.ActionMode? onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback!);
+ }
+
+ public abstract class AppCompatDelegate {
+ method public abstract void addContentView(android.view.View!, android.view.ViewGroup.LayoutParams!);
+ method public abstract boolean applyDayNight();
+ method @Deprecated public void attachBaseContext(android.content.Context!);
+ method @CallSuper public android.content.Context attachBaseContext2(android.content.Context);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.app.Activity, androidx.appcompat.app.AppCompatCallback?);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.app.Dialog, androidx.appcompat.app.AppCompatCallback?);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.content.Context, android.view.Window, androidx.appcompat.app.AppCompatCallback?);
+ method public static androidx.appcompat.app.AppCompatDelegate create(android.content.Context, android.app.Activity, androidx.appcompat.app.AppCompatCallback?);
+ method public abstract android.view.View! createView(android.view.View?, String!, android.content.Context, android.util.AttributeSet);
+ method public abstract <T extends android.view.View> T! findViewById(@IdRes int);
+ method @androidx.appcompat.app.AppCompatDelegate.NightMode public static int getDefaultNightMode();
+ method public abstract androidx.appcompat.app.ActionBarDrawerToggle.Delegate? getDrawerToggleDelegate();
+ method @androidx.appcompat.app.AppCompatDelegate.NightMode public int getLocalNightMode();
+ method public abstract android.view.MenuInflater! getMenuInflater();
+ method public abstract androidx.appcompat.app.ActionBar? getSupportActionBar();
+ method public abstract boolean hasWindowFeature(int);
+ method public abstract void installViewFactory();
+ method public abstract void invalidateOptionsMenu();
+ method public static boolean isCompatVectorFromResourcesEnabled();
+ method public abstract boolean isHandleNativeActionModesEnabled();
+ method public abstract void onConfigurationChanged(android.content.res.Configuration!);
+ method public abstract void onCreate(android.os.Bundle!);
+ method public abstract void onDestroy();
+ method public abstract void onPostCreate(android.os.Bundle!);
+ method public abstract void onPostResume();
+ method public abstract void onSaveInstanceState(android.os.Bundle!);
+ method public abstract void onStart();
+ method public abstract void onStop();
+ method public abstract boolean requestWindowFeature(int);
+ method public static void setCompatVectorFromResourcesEnabled(boolean);
+ method public abstract void setContentView(android.view.View!);
+ method public abstract void setContentView(@LayoutRes int);
+ method public abstract void setContentView(android.view.View!, android.view.ViewGroup.LayoutParams!);
+ method public static void setDefaultNightMode(@androidx.appcompat.app.AppCompatDelegate.NightMode int);
+ method public abstract void setHandleNativeActionModesEnabled(boolean);
+ method public abstract void setLocalNightMode(@androidx.appcompat.app.AppCompatDelegate.NightMode int);
+ method public abstract void setSupportActionBar(androidx.appcompat.widget.Toolbar?);
+ method public void setTheme(@StyleRes int);
+ method public abstract void setTitle(CharSequence?);
+ method public abstract androidx.appcompat.view.ActionMode? startSupportActionMode(androidx.appcompat.view.ActionMode.Callback);
+ field public static final int FEATURE_ACTION_MODE_OVERLAY = 10; // 0xa
+ field public static final int FEATURE_SUPPORT_ACTION_BAR = 108; // 0x6c
+ field public static final int FEATURE_SUPPORT_ACTION_BAR_OVERLAY = 109; // 0x6d
+ field @Deprecated public static final int MODE_NIGHT_AUTO = 0; // 0x0
+ field public static final int MODE_NIGHT_AUTO_BATTERY = 3; // 0x3
+ field @Deprecated public static final int MODE_NIGHT_AUTO_TIME = 0; // 0x0
+ field public static final int MODE_NIGHT_FOLLOW_SYSTEM = -1; // 0xffffffff
+ field public static final int MODE_NIGHT_NO = 1; // 0x1
+ field public static final int MODE_NIGHT_UNSPECIFIED = -100; // 0xffffff9c
+ field public static final int MODE_NIGHT_YES = 2; // 0x2
+ }
+
+ @IntDef({androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO, androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES, androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_AUTO_TIME, androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM, androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_UNSPECIFIED, androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface AppCompatDelegate.NightMode {
+ }
+
+ public class AppCompatDialog extends android.app.Dialog implements androidx.appcompat.app.AppCompatCallback {
+ ctor public AppCompatDialog(android.content.Context!);
+ ctor public AppCompatDialog(android.content.Context!, int);
+ ctor protected AppCompatDialog(android.content.Context!, boolean, android.content.DialogInterface.OnCancelListener!);
+ method public androidx.appcompat.app.AppCompatDelegate! getDelegate();
+ method public androidx.appcompat.app.ActionBar! getSupportActionBar();
+ method public void onSupportActionModeFinished(androidx.appcompat.view.ActionMode!);
+ method public void onSupportActionModeStarted(androidx.appcompat.view.ActionMode!);
+ method public androidx.appcompat.view.ActionMode? onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode.Callback!);
+ method public boolean supportRequestWindowFeature(int);
+ }
+
+ public class AppCompatDialogFragment extends androidx.fragment.app.DialogFragment {
+ ctor public AppCompatDialogFragment();
+ }
+
+ public class AppCompatViewInflater {
+ ctor public AppCompatViewInflater();
+ method protected androidx.appcompat.widget.AppCompatAutoCompleteTextView createAutoCompleteTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatButton createButton(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatCheckBox createCheckBox(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatCheckedTextView createCheckedTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatEditText createEditText(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatImageButton createImageButton(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatImageView createImageView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView createMultiAutoCompleteTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatRadioButton createRadioButton(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatRatingBar createRatingBar(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatSeekBar createSeekBar(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatSpinner createSpinner(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatTextView createTextView(android.content.Context!, android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.AppCompatToggleButton createToggleButton(android.content.Context!, android.util.AttributeSet!);
+ method protected android.view.View? createView(android.content.Context!, String!, android.util.AttributeSet!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class WindowDecorActionBar extends androidx.appcompat.app.ActionBar implements androidx.appcompat.widget.ActionBarOverlayLayout.ActionBarVisibilityCallback {
+ ctor public WindowDecorActionBar(android.app.Activity!, boolean);
+ ctor public WindowDecorActionBar(android.app.Dialog!);
+ ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public WindowDecorActionBar(android.view.View!);
+ method public void addOnMenuVisibilityListener(androidx.appcompat.app.ActionBar.OnMenuVisibilityListener!);
+ method public void addTab(androidx.appcompat.app.ActionBar.Tab!);
+ method public void addTab(androidx.appcompat.app.ActionBar.Tab!, int);
+ method public void addTab(androidx.appcompat.app.ActionBar.Tab!, boolean);
+ method public void addTab(androidx.appcompat.app.ActionBar.Tab!, int, boolean);
+ method public void animateToMode(boolean);
+ method public void doHide(boolean);
+ method public void doShow(boolean);
+ method public void enableContentAnimations(boolean);
+ method public android.view.View! getCustomView();
+ method public int getDisplayOptions();
+ method public int getHeight();
+ method public int getNavigationItemCount();
+ method public int getNavigationMode();
+ method public int getSelectedNavigationIndex();
+ method public androidx.appcompat.app.ActionBar.Tab! getSelectedTab();
+ method public CharSequence! getSubtitle();
+ method public androidx.appcompat.app.ActionBar.Tab! getTabAt(int);
+ method public int getTabCount();
+ method public CharSequence! getTitle();
+ method public boolean hasIcon();
+ method public boolean hasLogo();
+ method public void hide();
+ method public void hideForSystem();
+ method public boolean isShowing();
+ method public androidx.appcompat.app.ActionBar.Tab! newTab();
+ method public void onContentScrollStarted();
+ method public void onContentScrollStopped();
+ method public void onWindowVisibilityChanged(int);
+ method public void removeAllTabs();
+ method public void removeOnMenuVisibilityListener(androidx.appcompat.app.ActionBar.OnMenuVisibilityListener!);
+ method public void removeTab(androidx.appcompat.app.ActionBar.Tab!);
+ method public void removeTabAt(int);
+ method public boolean requestFocus();
+ method public void selectTab(androidx.appcompat.app.ActionBar.Tab!);
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setCustomView(int);
+ method public void setCustomView(android.view.View!);
+ method public void setCustomView(android.view.View!, androidx.appcompat.app.ActionBar.LayoutParams!);
+ method public void setDisplayHomeAsUpEnabled(boolean);
+ method public void setDisplayOptions(int);
+ method public void setDisplayOptions(int, int);
+ method public void setDisplayShowCustomEnabled(boolean);
+ method public void setDisplayShowHomeEnabled(boolean);
+ method public void setDisplayShowTitleEnabled(boolean);
+ method public void setDisplayUseLogoEnabled(boolean);
+ method public void setIcon(int);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setListNavigationCallbacks(android.widget.SpinnerAdapter!, androidx.appcompat.app.ActionBar.OnNavigationListener!);
+ method public void setLogo(int);
+ method public void setLogo(android.graphics.drawable.Drawable!);
+ method public void setNavigationMode(int);
+ method public void setSelectedNavigationItem(int);
+ method public void setSubtitle(int);
+ method public void setSubtitle(CharSequence!);
+ method public void setTitle(int);
+ method public void setTitle(CharSequence!);
+ method public void show();
+ method public void showForSystem();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class WindowDecorActionBar.ActionModeImpl extends androidx.appcompat.view.ActionMode implements androidx.appcompat.view.menu.MenuBuilder.Callback {
+ ctor public WindowDecorActionBar.ActionModeImpl(android.content.Context!, androidx.appcompat.view.ActionMode.Callback!);
+ method public boolean dispatchOnCreate();
+ method public void finish();
+ method public android.view.View! getCustomView();
+ method public android.view.Menu! getMenu();
+ method public android.view.MenuInflater! getMenuInflater();
+ method public CharSequence! getSubtitle();
+ method public CharSequence! getTitle();
+ method public void invalidate();
+ method public void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder!, boolean);
+ method public void onCloseSubMenu(androidx.appcompat.view.menu.SubMenuBuilder!);
+ method public boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder, android.view.MenuItem);
+ method public void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder);
+ method public boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder!);
+ method public void setCustomView(android.view.View!);
+ method public void setSubtitle(CharSequence!);
+ method public void setSubtitle(int);
+ method public void setTitle(CharSequence!);
+ method public void setTitle(int);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class WindowDecorActionBar.TabImpl extends androidx.appcompat.app.ActionBar.Tab {
+ ctor public WindowDecorActionBar.TabImpl();
+ method public androidx.appcompat.app.ActionBar.TabListener! getCallback();
+ method public CharSequence! getContentDescription();
+ method public android.view.View! getCustomView();
+ method public android.graphics.drawable.Drawable! getIcon();
+ method public int getPosition();
+ method public Object! getTag();
+ method public CharSequence! getText();
+ method public void select();
+ method public androidx.appcompat.app.ActionBar.Tab! setContentDescription(int);
+ method public androidx.appcompat.app.ActionBar.Tab! setContentDescription(CharSequence!);
+ method public androidx.appcompat.app.ActionBar.Tab! setCustomView(android.view.View!);
+ method public androidx.appcompat.app.ActionBar.Tab! setCustomView(int);
+ method public androidx.appcompat.app.ActionBar.Tab! setIcon(android.graphics.drawable.Drawable!);
+ method public androidx.appcompat.app.ActionBar.Tab! setIcon(int);
+ method public void setPosition(int);
+ method public androidx.appcompat.app.ActionBar.Tab! setTabListener(androidx.appcompat.app.ActionBar.TabListener!);
+ method public androidx.appcompat.app.ActionBar.Tab! setTag(Object!);
+ method public androidx.appcompat.app.ActionBar.Tab! setText(CharSequence!);
+ method public androidx.appcompat.app.ActionBar.Tab! setText(int);
+ }
+
+}
+
+package androidx.appcompat.graphics.drawable {
+
+ public class DrawerArrowDrawable extends android.graphics.drawable.Drawable {
+ ctor public DrawerArrowDrawable(android.content.Context!);
+ method public void draw(android.graphics.Canvas!);
+ method public float getArrowHeadLength();
+ method public float getArrowShaftLength();
+ method public float getBarLength();
+ method public float getBarThickness();
+ method @ColorInt public int getColor();
+ method @androidx.appcompat.graphics.drawable.DrawerArrowDrawable.ArrowDirection public int getDirection();
+ method public float getGapSize();
+ method public int getOpacity();
+ method public final android.graphics.Paint! getPaint();
+ method @FloatRange(from=0.0, to=1.0) public float getProgress();
+ method public boolean isSpinEnabled();
+ method public void setAlpha(int);
+ method public void setArrowHeadLength(float);
+ method public void setArrowShaftLength(float);
+ method public void setBarLength(float);
+ method public void setBarThickness(float);
+ method public void setColor(@ColorInt int);
+ method public void setColorFilter(android.graphics.ColorFilter!);
+ method public void setDirection(@androidx.appcompat.graphics.drawable.DrawerArrowDrawable.ArrowDirection int);
+ method public void setGapSize(float);
+ method public void setProgress(@FloatRange(from=0.0, to=1.0) float);
+ method public void setSpinEnabled(boolean);
+ method public void setVerticalMirror(boolean);
+ field public static final int ARROW_DIRECTION_END = 3; // 0x3
+ field public static final int ARROW_DIRECTION_LEFT = 0; // 0x0
+ field public static final int ARROW_DIRECTION_RIGHT = 1; // 0x1
+ field public static final int ARROW_DIRECTION_START = 2; // 0x2
+ }
+
+ @IntDef({androidx.appcompat.graphics.drawable.DrawerArrowDrawable.ARROW_DIRECTION_LEFT, androidx.appcompat.graphics.drawable.DrawerArrowDrawable.ARROW_DIRECTION_RIGHT, androidx.appcompat.graphics.drawable.DrawerArrowDrawable.ARROW_DIRECTION_START, androidx.appcompat.graphics.drawable.DrawerArrowDrawable.ARROW_DIRECTION_END}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface DrawerArrowDrawable.ArrowDirection {
+ }
+
+}
+
+package androidx.appcompat.text {
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class AllCapsTransformationMethod implements android.text.method.TransformationMethod {
+ ctor public AllCapsTransformationMethod(android.content.Context!);
+ method public CharSequence! getTransformation(CharSequence!, android.view.View!);
+ method public void onFocusChanged(android.view.View!, CharSequence!, boolean, int, android.graphics.Rect!);
+ }
+
+}
+
+package androidx.appcompat.view {
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ActionBarPolicy {
+ method public boolean enableHomeButtonByDefault();
+ method public static androidx.appcompat.view.ActionBarPolicy! get(android.content.Context!);
+ method public int getEmbeddedMenuWidthLimit();
+ method public int getMaxActionButtons();
+ method public int getStackedTabMaxWidth();
+ method public int getTabContainerHeight();
+ method public boolean hasEmbeddedTabs();
+ method public boolean showsOverflowMenuButton();
+ }
+
+ public abstract class ActionMode {
+ ctor public ActionMode();
+ method public abstract void finish();
+ method public abstract android.view.View! getCustomView();
+ method public abstract android.view.Menu! getMenu();
+ method public abstract android.view.MenuInflater! getMenuInflater();
+ method public abstract CharSequence! getSubtitle();
+ method public Object! getTag();
+ method public abstract CharSequence! getTitle();
+ method public boolean getTitleOptionalHint();
+ method public abstract void invalidate();
+ method public boolean isTitleOptional();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isUiFocusable();
+ method public abstract void setCustomView(android.view.View!);
+ method public abstract void setSubtitle(CharSequence!);
+ method public abstract void setSubtitle(int);
+ method public void setTag(Object!);
+ method public abstract void setTitle(CharSequence!);
+ method public abstract void setTitle(int);
+ method public void setTitleOptionalHint(boolean);
+ }
+
+ public static interface ActionMode.Callback {
+ method public boolean onActionItemClicked(androidx.appcompat.view.ActionMode!, android.view.MenuItem!);
+ method public boolean onCreateActionMode(androidx.appcompat.view.ActionMode!, android.view.Menu!);
+ method public void onDestroyActionMode(androidx.appcompat.view.ActionMode!);
+ method public boolean onPrepareActionMode(androidx.appcompat.view.ActionMode!, android.view.Menu!);
+ }
+
+ @Deprecated public interface CollapsibleActionView {
+ method @Deprecated public void onActionViewCollapsed();
+ method @Deprecated public void onActionViewExpanded();
+ }
+
+ public class ContextThemeWrapper extends android.content.ContextWrapper {
+ ctor public ContextThemeWrapper();
+ ctor public ContextThemeWrapper(android.content.Context!, @StyleRes int);
+ ctor public ContextThemeWrapper(android.content.Context!, android.content.res.Resources.Theme!);
+ method public void applyOverrideConfiguration(android.content.res.Configuration!);
+ method public int getThemeResId();
+ method protected void onApplyThemeResource(android.content.res.Resources.Theme!, int, boolean);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class StandaloneActionMode extends androidx.appcompat.view.ActionMode implements androidx.appcompat.view.menu.MenuBuilder.Callback {
+ ctor public StandaloneActionMode(android.content.Context!, androidx.appcompat.widget.ActionBarContextView!, androidx.appcompat.view.ActionMode.Callback!, boolean);
+ method public void finish();
+ method public android.view.View! getCustomView();
+ method public android.view.Menu! getMenu();
+ method public android.view.MenuInflater! getMenuInflater();
+ method public CharSequence! getSubtitle();
+ method public CharSequence! getTitle();
+ method public void invalidate();
+ method public void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder!, boolean);
+ method public void onCloseSubMenu(androidx.appcompat.view.menu.SubMenuBuilder!);
+ method public boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder, android.view.MenuItem);
+ method public void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder);
+ method public boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder!);
+ method public void setCustomView(android.view.View!);
+ method public void setSubtitle(CharSequence!);
+ method public void setSubtitle(int);
+ method public void setTitle(CharSequence!);
+ method public void setTitle(int);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class SupportActionModeWrapper extends android.view.ActionMode {
+ ctor public SupportActionModeWrapper(android.content.Context!, androidx.appcompat.view.ActionMode!);
+ method public void finish();
+ method public android.view.View! getCustomView();
+ method public android.view.Menu! getMenu();
+ method public android.view.MenuInflater! getMenuInflater();
+ method public CharSequence! getSubtitle();
+ method public CharSequence! getTitle();
+ method public void invalidate();
+ method public void setCustomView(android.view.View!);
+ method public void setSubtitle(CharSequence!);
+ method public void setSubtitle(int);
+ method public void setTitle(CharSequence!);
+ method public void setTitle(int);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static class SupportActionModeWrapper.CallbackWrapper implements androidx.appcompat.view.ActionMode.Callback {
+ ctor public SupportActionModeWrapper.CallbackWrapper(android.content.Context!, android.view.ActionMode.Callback!);
+ method public android.view.ActionMode! getActionModeWrapper(androidx.appcompat.view.ActionMode!);
+ method public boolean onActionItemClicked(androidx.appcompat.view.ActionMode!, android.view.MenuItem!);
+ method public boolean onCreateActionMode(androidx.appcompat.view.ActionMode!, android.view.Menu!);
+ method public void onDestroyActionMode(androidx.appcompat.view.ActionMode!);
+ method public boolean onPrepareActionMode(androidx.appcompat.view.ActionMode!, android.view.Menu!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class SupportMenuInflater extends android.view.MenuInflater {
+ ctor public SupportMenuInflater(android.content.Context!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ViewPropertyAnimatorCompatSet {
+ ctor public ViewPropertyAnimatorCompatSet();
+ method public void cancel();
+ method public androidx.appcompat.view.ViewPropertyAnimatorCompatSet! play(androidx.core.view.ViewPropertyAnimatorCompat!);
+ method public androidx.appcompat.view.ViewPropertyAnimatorCompatSet! playSequentially(androidx.core.view.ViewPropertyAnimatorCompat!, androidx.core.view.ViewPropertyAnimatorCompat!);
+ method public androidx.appcompat.view.ViewPropertyAnimatorCompatSet! setDuration(long);
+ method public androidx.appcompat.view.ViewPropertyAnimatorCompatSet! setInterpolator(android.view.animation.Interpolator!);
+ method public androidx.appcompat.view.ViewPropertyAnimatorCompatSet! setListener(androidx.core.view.ViewPropertyAnimatorListener!);
+ method public void start();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class WindowCallbackWrapper implements android.view.Window.Callback {
+ ctor public WindowCallbackWrapper(android.view.Window.Callback!);
+ method public boolean dispatchGenericMotionEvent(android.view.MotionEvent!);
+ method public boolean dispatchKeyEvent(android.view.KeyEvent!);
+ method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent!);
+ method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent!);
+ method public boolean dispatchTouchEvent(android.view.MotionEvent!);
+ method public boolean dispatchTrackballEvent(android.view.MotionEvent!);
+ method public final android.view.Window.Callback! getWrapped();
+ method public void onActionModeFinished(android.view.ActionMode!);
+ method public void onActionModeStarted(android.view.ActionMode!);
+ method public void onAttachedToWindow();
+ method public void onContentChanged();
+ method public boolean onCreatePanelMenu(int, android.view.Menu!);
+ method public android.view.View! onCreatePanelView(int);
+ method public void onDetachedFromWindow();
+ method public boolean onMenuItemSelected(int, android.view.MenuItem!);
+ method public boolean onMenuOpened(int, android.view.Menu!);
+ method public void onPanelClosed(int, android.view.Menu!);
+ method public boolean onPreparePanel(int, android.view.View!, android.view.Menu!);
+ method @RequiresApi(23) public boolean onSearchRequested(android.view.SearchEvent!);
+ method public boolean onSearchRequested();
+ method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams!);
+ method public void onWindowFocusChanged(boolean);
+ method public android.view.ActionMode! onWindowStartingActionMode(android.view.ActionMode.Callback!);
+ method @RequiresApi(23) public android.view.ActionMode! onWindowStartingActionMode(android.view.ActionMode.Callback!, int);
+ }
+
+}
+
+package androidx.appcompat.view.menu {
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ActionMenuItem implements androidx.core.internal.view.SupportMenuItem {
+ ctor public ActionMenuItem(android.content.Context!, int, int, int, int, CharSequence!);
+ method public boolean collapseActionView();
+ method public boolean expandActionView();
+ method public android.view.ActionProvider! getActionProvider();
+ method public android.view.View! getActionView();
+ method public char getAlphabeticShortcut();
+ method public int getGroupId();
+ method public android.graphics.drawable.Drawable! getIcon();
+ method public android.content.Intent! getIntent();
+ method public int getItemId();
+ method public android.view.ContextMenu.ContextMenuInfo! getMenuInfo();
+ method public char getNumericShortcut();
+ method public int getOrder();
+ method public android.view.SubMenu! getSubMenu();
+ method public androidx.core.view.ActionProvider! getSupportActionProvider();
+ method public CharSequence! getTitle();
+ method public CharSequence! getTitleCondensed();
+ method public boolean hasSubMenu();
+ method public boolean invoke();
+ method public boolean isActionViewExpanded();
+ method public boolean isCheckable();
+ method public boolean isChecked();
+ method public boolean isEnabled();
+ method public boolean isVisible();
+ method public boolean requiresActionButton();
+ method public boolean requiresOverflow();
+ method public android.view.MenuItem! setActionProvider(android.view.ActionProvider!);
+ method public androidx.core.internal.view.SupportMenuItem! setActionView(android.view.View!);
+ method public androidx.core.internal.view.SupportMenuItem! setActionView(int);
+ method public android.view.MenuItem! setAlphabeticShortcut(char);
+ method public android.view.MenuItem! setCheckable(boolean);
+ method public android.view.MenuItem! setChecked(boolean);
+ method public androidx.core.internal.view.SupportMenuItem! setContentDescription(CharSequence!);
+ method public android.view.MenuItem! setEnabled(boolean);
+ method public androidx.appcompat.view.menu.ActionMenuItem! setExclusiveCheckable(boolean);
+ method public android.view.MenuItem! setIcon(android.graphics.drawable.Drawable!);
+ method public android.view.MenuItem! setIcon(int);
+ method public android.view.MenuItem! setIntent(android.content.Intent!);
+ method public android.view.MenuItem! setNumericShortcut(char);
+ method public android.view.MenuItem! setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener!);
+ method public android.view.MenuItem! setOnMenuItemClickListener(android.view.MenuItem.OnMenuItemClickListener!);
+ method public android.view.MenuItem! setShortcut(char, char);
+ method public void setShowAsAction(int);
+ method public androidx.core.internal.view.SupportMenuItem! setShowAsActionFlags(int);
+ method public androidx.core.internal.view.SupportMenuItem! setSupportActionProvider(androidx.core.view.ActionProvider!);
+ method public android.view.MenuItem! setTitle(CharSequence!);
+ method public android.view.MenuItem! setTitle(int);
+ method public android.view.MenuItem! setTitleCondensed(CharSequence!);
+ method public androidx.core.internal.view.SupportMenuItem! setTooltipText(CharSequence!);
+ method public android.view.MenuItem! setVisible(boolean);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ActionMenuItemView extends androidx.appcompat.widget.AppCompatTextView implements androidx.appcompat.widget.ActionMenuView.ActionMenuChildView androidx.appcompat.view.menu.MenuView.ItemView android.view.View.OnClickListener {
+ ctor public ActionMenuItemView(android.content.Context!);
+ ctor public ActionMenuItemView(android.content.Context!, android.util.AttributeSet!);
+ ctor public ActionMenuItemView(android.content.Context!, android.util.AttributeSet!, int);
+ method public androidx.appcompat.view.menu.MenuItemImpl! getItemData();
+ method public boolean hasText();
+ method public void initialize(androidx.appcompat.view.menu.MenuItemImpl!, int);
+ method public boolean needsDividerAfter();
+ method public boolean needsDividerBefore();
+ method public void onClick(android.view.View!);
+ method public void onConfigurationChanged(android.content.res.Configuration!);
+ method public boolean prefersCondensedTitle();
+ method public void setCheckable(boolean);
+ method public void setChecked(boolean);
+ method public void setExpandedFormat(boolean);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setItemInvoker(androidx.appcompat.view.menu.MenuBuilder.ItemInvoker!);
+ method public void setPopupCallback(androidx.appcompat.view.menu.ActionMenuItemView.PopupCallback!);
+ method public void setShortcut(boolean, char);
+ method public void setTitle(CharSequence!);
+ method public boolean showsIcon();
+ }
+
+ public abstract static class ActionMenuItemView.PopupCallback {
+ ctor public ActionMenuItemView.PopupCallback();
+ method public abstract androidx.appcompat.view.menu.ShowableListMenu! getPopup();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class BaseMenuPresenter implements androidx.appcompat.view.menu.MenuPresenter {
+ ctor public BaseMenuPresenter(android.content.Context!, int, int);
+ method protected void addItemView(android.view.View!, int);
+ method public abstract void bindItemView(androidx.appcompat.view.menu.MenuItemImpl!, androidx.appcompat.view.menu.MenuView.ItemView!);
+ method public boolean collapseItemActionView(androidx.appcompat.view.menu.MenuBuilder!, androidx.appcompat.view.menu.MenuItemImpl!);
+ method public androidx.appcompat.view.menu.MenuView.ItemView! createItemView(android.view.ViewGroup!);
+ method public boolean expandItemActionView(androidx.appcompat.view.menu.MenuBuilder!, androidx.appcompat.view.menu.MenuItemImpl!);
+ method protected boolean filterLeftoverView(android.view.ViewGroup!, int);
+ method public boolean flagActionItems();
+ method public androidx.appcompat.view.menu.MenuPresenter.Callback! getCallback();
+ method public int getId();
+ method public android.view.View! getItemView(androidx.appcompat.view.menu.MenuItemImpl!, android.view.View!, android.view.ViewGroup!);
+ method public androidx.appcompat.view.menu.MenuView! getMenuView(android.view.ViewGroup!);
+ method public void initForMenu(android.content.Context!, androidx.appcompat.view.menu.MenuBuilder!);
+ method public void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder!, boolean);
+ method public boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder!);
+ method public void setCallback(androidx.appcompat.view.menu.MenuPresenter.Callback!);
+ method public void setId(int);
+ method public boolean shouldIncludeItem(int, androidx.appcompat.view.menu.MenuItemImpl!);
+ method public void updateMenuView(boolean);
+ field protected android.content.Context! mContext;
+ field protected android.view.LayoutInflater! mInflater;
+ field protected androidx.appcompat.view.menu.MenuBuilder! mMenu;
+ field protected androidx.appcompat.view.menu.MenuView! mMenuView;
+ field protected android.content.Context! mSystemContext;
+ field protected android.view.LayoutInflater! mSystemInflater;
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class ExpandedMenuView extends android.widget.ListView implements android.widget.AdapterView.OnItemClickListener androidx.appcompat.view.menu.MenuBuilder.ItemInvoker androidx.appcompat.view.menu.MenuView {
+ ctor public ExpandedMenuView(android.content.Context!, android.util.AttributeSet!);
+ ctor public ExpandedMenuView(android.content.Context!, android.util.AttributeSet!, int);
+ method public int getWindowAnimations();
+ method public void initialize(androidx.appcompat.view.menu.MenuBuilder!);
+ method public boolean invokeItem(androidx.appcompat.view.menu.MenuItemImpl!);
+ method public void onItemClick(android.widget.AdapterView!, android.view.View!, int, long);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ListMenuItemView extends android.widget.LinearLayout implements android.widget.AbsListView.SelectionBoundsAdjuster androidx.appcompat.view.menu.MenuView.ItemView {
+ ctor public ListMenuItemView(android.content.Context!, android.util.AttributeSet!);
+ ctor public ListMenuItemView(android.content.Context!, android.util.AttributeSet!, int);
+ method public void adjustListItemSelectionBounds(android.graphics.Rect!);
+ method public androidx.appcompat.view.menu.MenuItemImpl! getItemData();
+ method public void initialize(androidx.appcompat.view.menu.MenuItemImpl!, int);
+ method public boolean prefersCondensedTitle();
+ method public void setCheckable(boolean);
+ method public void setChecked(boolean);
+ method public void setForceShowIcon(boolean);
+ method public void setGroupDividerEnabled(boolean);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setShortcut(boolean, char);
+ method public void setTitle(CharSequence!);
+ method public boolean showsIcon();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ListMenuPresenter implements android.widget.AdapterView.OnItemClickListener androidx.appcompat.view.menu.MenuPresenter {
+ ctor public ListMenuPresenter(android.content.Context!, int);
+ ctor public ListMenuPresenter(int, int);
+ method public boolean collapseItemActionView(androidx.appcompat.view.menu.MenuBuilder!, androidx.appcompat.view.menu.MenuItemImpl!);
+ method public boolean expandItemActionView(androidx.appcompat.view.menu.MenuBuilder!, androidx.appcompat.view.menu.MenuItemImpl!);
+ method public boolean flagActionItems();
+ method public android.widget.ListAdapter! getAdapter();
+ method public int getId();
+ method public androidx.appcompat.view.menu.MenuView! getMenuView(android.view.ViewGroup!);
+ method public void initForMenu(android.content.Context!, androidx.appcompat.view.menu.MenuBuilder!);
+ method public void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder!, boolean);
+ method public void onItemClick(android.widget.AdapterView<?>!, android.view.View!, int, long);
+ method public void onRestoreInstanceState(android.os.Parcelable!);
+ method public android.os.Parcelable! onSaveInstanceState();
+ method public boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder!);
+ method public void restoreHierarchyState(android.os.Bundle!);
+ method public void saveHierarchyState(android.os.Bundle!);
+ method public void setCallback(androidx.appcompat.view.menu.MenuPresenter.Callback!);
+ method public void setId(int);
+ method public void setItemIndexOffset(int);
+ method public void updateMenuView(boolean);
+ field public static final String VIEWS_TAG = "android:menu:list";
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class MenuAdapter extends android.widget.BaseAdapter {
+ ctor public MenuAdapter(androidx.appcompat.view.menu.MenuBuilder!, android.view.LayoutInflater!, boolean, int);
+ method public androidx.appcompat.view.menu.MenuBuilder! getAdapterMenu();
+ method public int getCount();
+ method public boolean getForceShowIcon();
+ method public androidx.appcompat.view.menu.MenuItemImpl! getItem(int);
+ method public long getItemId(int);
+ method public android.view.View! getView(int, android.view.View!, android.view.ViewGroup!);
+ method public void setForceShowIcon(boolean);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class MenuBuilder implements androidx.core.internal.view.SupportMenu {
+ ctor public MenuBuilder(android.content.Context!);
+ method public android.view.MenuItem! add(CharSequence!);
+ method public android.view.MenuItem! add(int);
+ method public android.view.MenuItem! add(int, int, int, CharSequence!);
+ method public android.view.MenuItem! add(int, int, int, int);
+ method public int addIntentOptions(int, int, int, android.content.ComponentName!, android.content.Intent![]!, android.content.Intent!, int, android.view.MenuItem![]!);
+ method protected android.view.MenuItem! addInternal(int, int, int, CharSequence!);
+ method public void addMenuPresenter(androidx.appcompat.view.menu.MenuPresenter!);
+ method public void addMenuPresenter(androidx.appcompat.view.menu.MenuPresenter!, android.content.Context!);
+ method public android.view.SubMenu! addSubMenu(CharSequence!);
+ method public android.view.SubMenu! addSubMenu(int);
+ method public android.view.SubMenu! addSubMenu(int, int, int, CharSequence!);
+ method public android.view.SubMenu! addSubMenu(int, int, int, int);
+ method public void changeMenuMode();
+ method public void clear();
+ method public void clearAll();
+ method public void clearHeader();
+ method public final void close(boolean);
+ method public void close();
+ method public boolean collapseItemActionView(androidx.appcompat.view.menu.MenuItemImpl!);
+ method public boolean expandItemActionView(androidx.appcompat.view.menu.MenuItemImpl!);
+ method public int findGroupIndex(int);
+ method public int findGroupIndex(int, int);
+ method public android.view.MenuItem! findItem(int);
+ method public int findItemIndex(int);
+ method public void flagActionItems();
+ method public java.util.ArrayList<androidx.appcompat.view.menu.MenuItemImpl!>! getActionItems();
+ method protected String! getActionViewStatesKey();
+ method public android.content.Context! getContext();
+ method public androidx.appcompat.view.menu.MenuItemImpl! getExpandedItem();
+ method public android.graphics.drawable.Drawable! getHeaderIcon();
+ method public CharSequence! getHeaderTitle();
+ method public android.view.View! getHeaderView();
+ method public android.view.MenuItem! getItem(int);
+ method public java.util.ArrayList<androidx.appcompat.view.menu.MenuItemImpl!>! getNonActionItems();
+ method public androidx.appcompat.view.menu.MenuBuilder! getRootMenu();
+ method public java.util.ArrayList<androidx.appcompat.view.menu.MenuItemImpl!> getVisibleItems();
+ method public boolean hasVisibleItems();
+ method public boolean isGroupDividerEnabled();
+ method public boolean isShortcutKey(int, android.view.KeyEvent!);
+ method public boolean isShortcutsVisible();
+ method public void onItemsChanged(boolean);
+ method public boolean performIdentifierAction(int, int);
+ method public boolean performItemAction(android.view.MenuItem!, int);
+ method public boolean performItemAction(android.view.MenuItem!, androidx.appcompat.view.menu.MenuPresenter!, int);
+ method public boolean performShortcut(int, android.view.KeyEvent!, int);
+ method public void removeGroup(int);
+ method public void removeItem(int);
+ method public void removeItemAt(int);
+ method public void removeMenuPresenter(androidx.appcompat.view.menu.MenuPresenter!);
+ method public void restoreActionViewStates(android.os.Bundle!);
+ method public void restorePresenterStates(android.os.Bundle!);
+ method public void saveActionViewStates(android.os.Bundle!);
+ method public void savePresenterStates(android.os.Bundle!);
+ method public void setCallback(androidx.appcompat.view.menu.MenuBuilder.Callback!);
+ method public void setCurrentMenuInfo(android.view.ContextMenu.ContextMenuInfo!);
+ method public androidx.appcompat.view.menu.MenuBuilder! setDefaultShowAsAction(int);
+ method public void setGroupCheckable(int, boolean, boolean);
+ method public void setGroupEnabled(int, boolean);
+ method public void setGroupVisible(int, boolean);
+ method protected androidx.appcompat.view.menu.MenuBuilder! setHeaderIconInt(android.graphics.drawable.Drawable!);
+ method protected androidx.appcompat.view.menu.MenuBuilder! setHeaderIconInt(int);
+ method protected androidx.appcompat.view.menu.MenuBuilder! setHeaderTitleInt(CharSequence!);
+ method protected androidx.appcompat.view.menu.MenuBuilder! setHeaderTitleInt(int);
+ method protected androidx.appcompat.view.menu.MenuBuilder! setHeaderViewInt(android.view.View!);
+ method public void setOptionalIconsVisible(boolean);
+ method public void setOverrideVisibleItems(boolean);
+ method public void setQwertyMode(boolean);
+ method public void setShortcutsVisible(boolean);
+ method public int size();
+ method public void startDispatchingItemsChanged();
+ method public void stopDispatchingItemsChanged();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static interface MenuBuilder.Callback {
+ method public boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder, android.view.MenuItem);
+ method public void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static interface MenuBuilder.ItemInvoker {
+ method public boolean invokeItem(androidx.appcompat.view.menu.MenuItemImpl!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class MenuItemImpl implements androidx.core.internal.view.SupportMenuItem {
+ method public void actionFormatChanged();
+ method public boolean collapseActionView();
+ method public boolean expandActionView();
+ method public android.view.ActionProvider! getActionProvider();
+ method public android.view.View! getActionView();
+ method public char getAlphabeticShortcut();
+ method public int getGroupId();
+ method public android.graphics.drawable.Drawable! getIcon();
+ method public android.content.Intent! getIntent();
+ method @android.view.ViewDebug.CapturedViewProperty public int getItemId();
+ method public android.view.ContextMenu.ContextMenuInfo! getMenuInfo();
+ method public char getNumericShortcut();
+ method public int getOrder();
+ method public int getOrdering();
+ method public android.view.SubMenu! getSubMenu();
+ method public androidx.core.view.ActionProvider! getSupportActionProvider();
+ method @android.view.ViewDebug.CapturedViewProperty public CharSequence! getTitle();
+ method public CharSequence! getTitleCondensed();
+ method public boolean hasCollapsibleActionView();
+ method public boolean hasSubMenu();
+ method public boolean invoke();
+ method public boolean isActionButton();
+ method public boolean isActionViewExpanded();
+ method public boolean isCheckable();
+ method public boolean isChecked();
+ method public boolean isEnabled();
+ method public boolean isExclusiveCheckable();
+ method public boolean isVisible();
+ method public boolean requestsActionButton();
+ method public boolean requiresActionButton();
+ method public boolean requiresOverflow();
+ method public android.view.MenuItem! setActionProvider(android.view.ActionProvider!);
+ method public androidx.core.internal.view.SupportMenuItem! setActionView(android.view.View!);
+ method public androidx.core.internal.view.SupportMenuItem! setActionView(int);
+ method public void setActionViewExpanded(boolean);
+ method public android.view.MenuItem! setAlphabeticShortcut(char);
+ method public android.view.MenuItem! setCallback(Runnable!);
+ method public android.view.MenuItem! setCheckable(boolean);
+ method public android.view.MenuItem! setChecked(boolean);
+ method public androidx.core.internal.view.SupportMenuItem! setContentDescription(CharSequence!);
+ method public android.view.MenuItem! setEnabled(boolean);
+ method public void setExclusiveCheckable(boolean);
+ method public android.view.MenuItem! setIcon(android.graphics.drawable.Drawable!);
+ method public android.view.MenuItem! setIcon(int);
+ method public android.view.MenuItem! setIntent(android.content.Intent!);
+ method public void setIsActionButton(boolean);
+ method public android.view.MenuItem! setNumericShortcut(char);
+ method public android.view.MenuItem! setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener!);
+ method public android.view.MenuItem! setOnMenuItemClickListener(android.view.MenuItem.OnMenuItemClickListener!);
+ method public android.view.MenuItem! setShortcut(char, char);
+ method public void setShowAsAction(int);
+ method public androidx.core.internal.view.SupportMenuItem! setShowAsActionFlags(int);
+ method public void setSubMenu(androidx.appcompat.view.menu.SubMenuBuilder!);
+ method public androidx.core.internal.view.SupportMenuItem! setSupportActionProvider(androidx.core.view.ActionProvider!);
+ method public android.view.MenuItem! setTitle(CharSequence!);
+ method public android.view.MenuItem! setTitle(int);
+ method public android.view.MenuItem! setTitleCondensed(CharSequence!);
+ method public androidx.core.internal.view.SupportMenuItem! setTooltipText(CharSequence!);
+ method public android.view.MenuItem! setVisible(boolean);
+ method public boolean shouldShowIcon();
+ method public boolean showsTextAsAction();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class MenuItemWrapperICS implements android.view.MenuItem {
+ ctor public MenuItemWrapperICS(android.content.Context!, androidx.core.internal.view.SupportMenuItem!);
+ method public boolean collapseActionView();
+ method public boolean expandActionView();
+ method public android.view.ActionProvider! getActionProvider();
+ method public android.view.View! getActionView();
+ method public char getAlphabeticShortcut();
+ method public int getGroupId();
+ method public android.graphics.drawable.Drawable! getIcon();
+ method public android.content.Intent! getIntent();
+ method public int getItemId();
+ method public android.view.ContextMenu.ContextMenuInfo! getMenuInfo();
+ method public char getNumericShortcut();
+ method public int getOrder();
+ method public android.view.SubMenu! getSubMenu();
+ method public CharSequence! getTitle();
+ method public CharSequence! getTitleCondensed();
+ method public boolean hasSubMenu();
+ method public boolean isActionViewExpanded();
+ method public boolean isCheckable();
+ method public boolean isChecked();
+ method public boolean isEnabled();
+ method public boolean isVisible();
+ method public android.view.MenuItem! setActionProvider(android.view.ActionProvider!);
+ method public android.view.MenuItem! setActionView(android.view.View!);
+ method public android.view.MenuItem! setActionView(int);
+ method public android.view.MenuItem! setAlphabeticShortcut(char);
+ method public android.view.MenuItem! setCheckable(boolean);
+ method public android.view.MenuItem! setChecked(boolean);
+ method public android.view.MenuItem! setEnabled(boolean);
+ method public void setExclusiveCheckable(boolean);
+ method public android.view.MenuItem! setIcon(android.graphics.drawable.Drawable!);
+ method public android.view.MenuItem! setIcon(int);
+ method public android.view.MenuItem! setIntent(android.content.Intent!);
+ method public android.view.MenuItem! setNumericShortcut(char);
+ method public android.view.MenuItem! setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener!);
+ method public android.view.MenuItem! setOnMenuItemClickListener(android.view.MenuItem.OnMenuItemClickListener!);
+ method public android.view.MenuItem! setShortcut(char, char);
+ method public void setShowAsAction(int);
+ method public android.view.MenuItem! setShowAsActionFlags(int);
+ method public android.view.MenuItem! setTitle(CharSequence!);
+ method public android.view.MenuItem! setTitle(int);
+ method public android.view.MenuItem! setTitleCondensed(CharSequence!);
+ method public android.view.MenuItem! setVisible(boolean);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class MenuPopupHelper {
+ ctor public MenuPopupHelper(android.content.Context, androidx.appcompat.view.menu.MenuBuilder);
+ ctor public MenuPopupHelper(android.content.Context, androidx.appcompat.view.menu.MenuBuilder, android.view.View);
+ ctor public MenuPopupHelper(android.content.Context, androidx.appcompat.view.menu.MenuBuilder, android.view.View, boolean, @AttrRes int);
+ ctor public MenuPopupHelper(android.content.Context, androidx.appcompat.view.menu.MenuBuilder, android.view.View, boolean, @AttrRes int, @StyleRes int);
+ method public void dismiss();
+ method public int getGravity();
+ method public android.widget.ListView! getListView();
+ method public androidx.appcompat.view.menu.MenuPopup getPopup();
+ method public boolean isShowing();
+ method protected void onDismiss();
+ method public void setAnchorView(android.view.View);
+ method public void setForceShowIcon(boolean);
+ method public void setGravity(int);
+ method public void setOnDismissListener(android.widget.PopupWindow.OnDismissListener?);
+ method public void setPresenterCallback(androidx.appcompat.view.menu.MenuPresenter.Callback?);
+ method public void show();
+ method public void show(int, int);
+ method public boolean tryShow();
+ method public boolean tryShow(int, int);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface MenuPresenter {
+ method public boolean collapseItemActionView(androidx.appcompat.view.menu.MenuBuilder!, androidx.appcompat.view.menu.MenuItemImpl!);
+ method public boolean expandItemActionView(androidx.appcompat.view.menu.MenuBuilder!, androidx.appcompat.view.menu.MenuItemImpl!);
+ method public boolean flagActionItems();
+ method public int getId();
+ method public androidx.appcompat.view.menu.MenuView! getMenuView(android.view.ViewGroup!);
+ method public void initForMenu(android.content.Context!, androidx.appcompat.view.menu.MenuBuilder!);
+ method public void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder!, boolean);
+ method public void onRestoreInstanceState(android.os.Parcelable!);
+ method public android.os.Parcelable! onSaveInstanceState();
+ method public boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder!);
+ method public void setCallback(androidx.appcompat.view.menu.MenuPresenter.Callback!);
+ method public void updateMenuView(boolean);
+ }
+
+ public static interface MenuPresenter.Callback {
+ method public void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder, boolean);
+ method public boolean onOpenSubMenu(androidx.appcompat.view.menu.MenuBuilder);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface MenuView {
+ method public int getWindowAnimations();
+ method public void initialize(androidx.appcompat.view.menu.MenuBuilder!);
+ }
+
+ public static interface MenuView.ItemView {
+ method public androidx.appcompat.view.menu.MenuItemImpl! getItemData();
+ method public void initialize(androidx.appcompat.view.menu.MenuItemImpl!, int);
+ method public boolean prefersCondensedTitle();
+ method public void setCheckable(boolean);
+ method public void setChecked(boolean);
+ method public void setEnabled(boolean);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setShortcut(boolean, char);
+ method public void setTitle(CharSequence!);
+ method public boolean showsIcon();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class MenuWrapperICS implements android.view.Menu {
+ ctor public MenuWrapperICS(android.content.Context!, androidx.core.internal.view.SupportMenu!);
+ method public android.view.MenuItem! add(CharSequence!);
+ method public android.view.MenuItem! add(int);
+ method public android.view.MenuItem! add(int, int, int, CharSequence!);
+ method public android.view.MenuItem! add(int, int, int, int);
+ method public int addIntentOptions(int, int, int, android.content.ComponentName!, android.content.Intent![]!, android.content.Intent!, int, android.view.MenuItem![]!);
+ method public android.view.SubMenu! addSubMenu(CharSequence!);
+ method public android.view.SubMenu! addSubMenu(int);
+ method public android.view.SubMenu! addSubMenu(int, int, int, CharSequence!);
+ method public android.view.SubMenu! addSubMenu(int, int, int, int);
+ method public void clear();
+ method public void close();
+ method public android.view.MenuItem! findItem(int);
+ method public android.view.MenuItem! getItem(int);
+ method public boolean hasVisibleItems();
+ method public boolean isShortcutKey(int, android.view.KeyEvent!);
+ method public boolean performIdentifierAction(int, int);
+ method public boolean performShortcut(int, android.view.KeyEvent!, int);
+ method public void removeGroup(int);
+ method public void removeItem(int);
+ method public void setGroupCheckable(int, boolean, boolean);
+ method public void setGroupEnabled(int, boolean);
+ method public void setGroupVisible(int, boolean);
+ method public void setQwertyMode(boolean);
+ method public int size();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface ShowableListMenu {
+ method public void dismiss();
+ method public android.widget.ListView! getListView();
+ method public boolean isShowing();
+ method public void show();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class SubMenuBuilder extends androidx.appcompat.view.menu.MenuBuilder implements android.view.SubMenu {
+ ctor public SubMenuBuilder(android.content.Context!, androidx.appcompat.view.menu.MenuBuilder!, androidx.appcompat.view.menu.MenuItemImpl!);
+ method public String! getActionViewStatesKey();
+ method public android.view.MenuItem! getItem();
+ method public android.view.Menu! getParentMenu();
+ method public boolean isQwertyMode();
+ method public android.view.SubMenu! setHeaderIcon(android.graphics.drawable.Drawable!);
+ method public android.view.SubMenu! setHeaderIcon(int);
+ method public android.view.SubMenu! setHeaderTitle(CharSequence!);
+ method public android.view.SubMenu! setHeaderTitle(int);
+ method public android.view.SubMenu! setHeaderView(android.view.View!);
+ method public android.view.SubMenu! setIcon(android.graphics.drawable.Drawable!);
+ method public android.view.SubMenu! setIcon(int);
+ }
+
+}
+
+package androidx.appcompat.widget {
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ActionBarContainer extends android.widget.FrameLayout {
+ ctor public ActionBarContainer(android.content.Context!);
+ ctor public ActionBarContainer(android.content.Context!, android.util.AttributeSet!);
+ method public android.view.View! getTabContainer();
+ method public void onFinishInflate();
+ method public void onLayout(boolean, int, int, int, int);
+ method public void onMeasure(int, int);
+ method public void setPrimaryBackground(android.graphics.drawable.Drawable!);
+ method public void setSplitBackground(android.graphics.drawable.Drawable!);
+ method public void setStackedBackground(android.graphics.drawable.Drawable!);
+ method public void setTabContainer(androidx.appcompat.widget.ScrollingTabContainerView!);
+ method public void setTransitioning(boolean);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ActionBarContextView extends android.view.ViewGroup {
+ ctor public ActionBarContextView(android.content.Context);
+ ctor public ActionBarContextView(android.content.Context, android.util.AttributeSet?);
+ ctor public ActionBarContextView(android.content.Context, android.util.AttributeSet?, int);
+ method public void animateToVisibility(int);
+ method public boolean canShowOverflowMenu();
+ method public void closeMode();
+ method public void dismissPopupMenus();
+ method public int getAnimatedVisibility();
+ method public int getContentHeight();
+ method public CharSequence! getSubtitle();
+ method public CharSequence! getTitle();
+ method public boolean hideOverflowMenu();
+ method public void initForMode(androidx.appcompat.view.ActionMode!);
+ method public boolean isOverflowMenuShowPending();
+ method public boolean isOverflowMenuShowing();
+ method public boolean isOverflowReserved();
+ method public boolean isTitleOptional();
+ method public void killMode();
+ method public void onDetachedFromWindow();
+ method public void postShowOverflowMenu();
+ method public void setContentHeight(int);
+ method public void setCustomView(android.view.View!);
+ method public void setSubtitle(CharSequence!);
+ method public void setTitle(CharSequence!);
+ method public void setTitleOptional(boolean);
+ method public androidx.core.view.ViewPropertyAnimatorCompat! setupAnimatorToVisibility(int, long);
+ method public boolean showOverflowMenu();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ActionBarOverlayLayout extends android.view.ViewGroup implements androidx.appcompat.widget.DecorContentParent androidx.core.view.NestedScrollingParent androidx.core.view.NestedScrollingParent2 androidx.core.view.NestedScrollingParent3 {
+ ctor public ActionBarOverlayLayout(android.content.Context);
+ ctor public ActionBarOverlayLayout(android.content.Context, android.util.AttributeSet?);
+ method public boolean canShowOverflowMenu();
+ method public void dismissPopups();
+ method protected boolean fitSystemWindows(android.graphics.Rect!);
+ method protected androidx.appcompat.widget.ActionBarOverlayLayout.LayoutParams! generateDefaultLayoutParams();
+ method public androidx.appcompat.widget.ActionBarOverlayLayout.LayoutParams! generateLayoutParams(android.util.AttributeSet!);
+ method public int getActionBarHideOffset();
+ method public CharSequence! getTitle();
+ method public boolean hasIcon();
+ method public boolean hasLogo();
+ method public boolean hideOverflowMenu();
+ method public void initFeature(int);
+ method public boolean isHideOnContentScrollEnabled();
+ method public boolean isInOverlayMode();
+ method public boolean isOverflowMenuShowPending();
+ method public boolean isOverflowMenuShowing();
+ method public void onNestedPreScroll(android.view.View!, int, int, int[]!, int);
+ method public void onNestedScroll(android.view.View!, int, int, int, int, int, int[]!);
+ method public void onNestedScroll(android.view.View!, int, int, int, int, int);
+ method public void onNestedScrollAccepted(android.view.View!, android.view.View!, int, int);
+ method public boolean onStartNestedScroll(android.view.View!, android.view.View!, int, int);
+ method public void onStopNestedScroll(android.view.View!, int);
+ method public void restoreToolbarHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
+ method public void saveToolbarHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
+ method public void setActionBarHideOffset(int);
+ method public void setActionBarVisibilityCallback(androidx.appcompat.widget.ActionBarOverlayLayout.ActionBarVisibilityCallback!);
+ method public void setHasNonEmbeddedTabs(boolean);
+ method public void setHideOnContentScrollEnabled(boolean);
+ method public void setIcon(int);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setLogo(int);
+ method public void setMenu(android.view.Menu!, androidx.appcompat.view.menu.MenuPresenter.Callback!);
+ method public void setMenuPrepared();
+ method public void setOverlayMode(boolean);
+ method public void setShowingForActionMode(boolean);
+ method public void setUiOptions(int);
+ method public void setWindowCallback(android.view.Window.Callback!);
+ method public void setWindowTitle(CharSequence!);
+ method public boolean showOverflowMenu();
+ }
+
+ public static interface ActionBarOverlayLayout.ActionBarVisibilityCallback {
+ method public void enableContentAnimations(boolean);
+ method public void hideForSystem();
+ method public void onContentScrollStarted();
+ method public void onContentScrollStopped();
+ method public void onWindowVisibilityChanged(int);
+ method public void showForSystem();
+ }
+
+ public static class ActionBarOverlayLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public ActionBarOverlayLayout.LayoutParams(android.content.Context!, android.util.AttributeSet!);
+ ctor public ActionBarOverlayLayout.LayoutParams(int, int);
+ ctor public ActionBarOverlayLayout.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ ctor public ActionBarOverlayLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams!);
+ }
+
+ public class ActionMenuView extends androidx.appcompat.widget.LinearLayoutCompat implements androidx.appcompat.view.menu.MenuBuilder.ItemInvoker androidx.appcompat.view.menu.MenuView {
+ ctor public ActionMenuView(android.content.Context);
+ ctor public ActionMenuView(android.content.Context, android.util.AttributeSet?);
+ method public void dismissPopupMenus();
+ method protected androidx.appcompat.widget.ActionMenuView.LayoutParams! generateDefaultLayoutParams();
+ method public androidx.appcompat.widget.ActionMenuView.LayoutParams! generateLayoutParams(android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.ActionMenuView.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.appcompat.widget.ActionMenuView.LayoutParams! generateOverflowButtonLayoutParams();
+ method public android.view.Menu! getMenu();
+ method public android.graphics.drawable.Drawable? getOverflowIcon();
+ method public int getPopupTheme();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int getWindowAnimations();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected boolean hasSupportDividerBeforeChildAt(int);
+ method public boolean hideOverflowMenu();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void initialize(androidx.appcompat.view.menu.MenuBuilder!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean invokeItem(androidx.appcompat.view.menu.MenuItemImpl!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isOverflowMenuShowPending();
+ method public boolean isOverflowMenuShowing();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isOverflowReserved();
+ method public void onConfigurationChanged(android.content.res.Configuration!);
+ method public void onDetachedFromWindow();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.appcompat.view.menu.MenuBuilder! peekMenu();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setExpandedActionViewsExclusive(boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setMenuCallbacks(androidx.appcompat.view.menu.MenuPresenter.Callback!, androidx.appcompat.view.menu.MenuBuilder.Callback!);
+ method public void setOnMenuItemClickListener(androidx.appcompat.widget.ActionMenuView.OnMenuItemClickListener!);
+ method public void setOverflowIcon(android.graphics.drawable.Drawable?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setOverflowReserved(boolean);
+ method public void setPopupTheme(@StyleRes int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setPresenter(androidx.appcompat.widget.ActionMenuPresenter!);
+ method public boolean showOverflowMenu();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static interface ActionMenuView.ActionMenuChildView {
+ method public boolean needsDividerAfter();
+ method public boolean needsDividerBefore();
+ }
+
+ public static class ActionMenuView.LayoutParams extends androidx.appcompat.widget.LinearLayoutCompat.LayoutParams {
+ ctor public ActionMenuView.LayoutParams(android.content.Context!, android.util.AttributeSet!);
+ ctor public ActionMenuView.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ ctor public ActionMenuView.LayoutParams(androidx.appcompat.widget.ActionMenuView.LayoutParams!);
+ ctor public ActionMenuView.LayoutParams(int, int);
+ field @android.view.ViewDebug.ExportedProperty public int cellsUsed;
+ field @android.view.ViewDebug.ExportedProperty public boolean expandable;
+ field @android.view.ViewDebug.ExportedProperty public int extraPixels;
+ field @android.view.ViewDebug.ExportedProperty public boolean isOverflowButton;
+ field @android.view.ViewDebug.ExportedProperty public boolean preventEdgeOffset;
+ }
+
+ public static interface ActionMenuView.OnMenuItemClickListener {
+ method public boolean onMenuItemClick(android.view.MenuItem!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ActivityChooserView extends android.view.ViewGroup {
+ ctor public ActivityChooserView(android.content.Context);
+ ctor public ActivityChooserView(android.content.Context, android.util.AttributeSet?);
+ ctor public ActivityChooserView(android.content.Context, android.util.AttributeSet?, int);
+ method public boolean dismissPopup();
+ method public androidx.appcompat.widget.ActivityChooserModel! getDataModel();
+ method public boolean isShowingPopup();
+ method public void setActivityChooserModel(androidx.appcompat.widget.ActivityChooserModel!);
+ method public void setDefaultActionButtonContentDescription(int);
+ method public void setExpandActivityOverflowButtonContentDescription(int);
+ method public void setExpandActivityOverflowButtonDrawable(android.graphics.drawable.Drawable!);
+ method public void setInitialActivityCount(int);
+ method public void setOnDismissListener(android.widget.PopupWindow.OnDismissListener!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setProvider(androidx.core.view.ActionProvider!);
+ method public boolean showPopup();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static class ActivityChooserView.InnerLayout extends android.widget.LinearLayout {
+ ctor public ActivityChooserView.InnerLayout(android.content.Context!, android.util.AttributeSet!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class AlertDialogLayout extends androidx.appcompat.widget.LinearLayoutCompat {
+ ctor public AlertDialogLayout(android.content.Context?);
+ ctor public AlertDialogLayout(android.content.Context?, android.util.AttributeSet?);
+ }
+
+ public class AppCompatAutoCompleteTextView extends android.widget.AutoCompleteTextView implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatAutoCompleteTextView(android.content.Context);
+ ctor public AppCompatAutoCompleteTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatAutoCompleteTextView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatButton extends android.widget.Button implements androidx.core.widget.AutoSizeableTextView androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundDrawablesView {
+ ctor public AppCompatButton(android.content.Context);
+ ctor public AppCompatButton(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatButton(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportCompoundDrawablesTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportCompoundDrawablesTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int) throws java.lang.IllegalArgumentException;
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithPresetSizes(int[], int) throws java.lang.IllegalArgumentException;
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setSupportAllCaps(boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatCheckBox extends android.widget.CheckBox implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundButton {
+ ctor public AppCompatCheckBox(android.content.Context);
+ ctor public AppCompatCheckBox(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatCheckBox(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportButtonTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportButtonTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatCheckedTextView extends android.widget.CheckedTextView {
+ ctor public AppCompatCheckedTextView(android.content.Context);
+ ctor public AppCompatCheckedTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatCheckedTextView(android.content.Context, android.util.AttributeSet?, int);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class AppCompatDrawableManager {
+ ctor public AppCompatDrawableManager();
+ method public static androidx.appcompat.widget.AppCompatDrawableManager! get();
+ method public android.graphics.drawable.Drawable! getDrawable(android.content.Context, @DrawableRes int);
+ method public static android.graphics.PorterDuffColorFilter! getPorterDuffColorFilter(int, android.graphics.PorterDuff.Mode!);
+ method public void onConfigurationChanged(android.content.Context);
+ method public static void preload();
+ }
+
+ public class AppCompatEditText extends android.widget.EditText implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatEditText(android.content.Context);
+ ctor public AppCompatEditText(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatEditText(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatImageButton extends android.widget.ImageButton implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableImageSourceView {
+ ctor public AppCompatImageButton(android.content.Context);
+ ctor public AppCompatImageButton(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatImageButton(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportImageTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportImageTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportImageTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportImageTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class AppCompatImageHelper {
+ ctor public AppCompatImageHelper(android.widget.ImageView);
+ method public void loadFromAttributes(android.util.AttributeSet!, int);
+ method public void setImageResource(int);
+ }
+
+ public class AppCompatImageView extends android.widget.ImageView implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableImageSourceView {
+ ctor public AppCompatImageView(android.content.Context);
+ ctor public AppCompatImageView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatImageView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportImageTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportImageTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportImageTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportImageTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatMultiAutoCompleteTextView extends android.widget.MultiAutoCompleteTextView implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatMultiAutoCompleteTextView(android.content.Context);
+ ctor public AppCompatMultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatMultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ }
+
+ public class AppCompatRadioButton extends android.widget.RadioButton implements androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundButton {
+ ctor public AppCompatRadioButton(android.content.Context!);
+ ctor public AppCompatRadioButton(android.content.Context!, android.util.AttributeSet?);
+ ctor public AppCompatRadioButton(android.content.Context!, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportButtonTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportButtonTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportButtonTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatRatingBar extends android.widget.RatingBar {
+ ctor public AppCompatRatingBar(android.content.Context);
+ ctor public AppCompatRatingBar(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatRatingBar(android.content.Context, android.util.AttributeSet?, int);
+ }
+
+ public class AppCompatSeekBar extends android.widget.SeekBar {
+ ctor public AppCompatSeekBar(android.content.Context);
+ ctor public AppCompatSeekBar(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatSeekBar(android.content.Context, android.util.AttributeSet?, int);
+ }
+
+ public class AppCompatSpinner extends android.widget.Spinner implements androidx.core.view.TintableBackgroundView {
+ ctor public AppCompatSpinner(android.content.Context);
+ ctor public AppCompatSpinner(android.content.Context, int);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?, int);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?, int, int);
+ ctor public AppCompatSpinner(android.content.Context, android.util.AttributeSet?, int, int, android.content.res.Resources.Theme!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public class AppCompatTextView extends android.widget.TextView implements androidx.core.widget.AutoSizeableTextView androidx.core.view.TintableBackgroundView androidx.core.widget.TintableCompoundDrawablesView {
+ ctor public AppCompatTextView(android.content.Context);
+ ctor public AppCompatTextView(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatTextView(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportBackgroundTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.res.ColorStateList? getSupportCompoundDrawablesTintList();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.PorterDuff.Mode? getSupportCompoundDrawablesTintMode();
+ method public androidx.core.text.PrecomputedTextCompat.Params getTextMetricsParamsCompat();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int) throws java.lang.IllegalArgumentException;
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAutoSizeTextTypeUniformWithPresetSizes(int[], int) throws java.lang.IllegalArgumentException;
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setPrecomputedText(androidx.core.text.PrecomputedTextCompat);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTextAppearance(android.content.Context!, int);
+ method public void setTextFuture(java.util.concurrent.Future<androidx.core.text.PrecomputedTextCompat!>?);
+ method public void setTextMetricsParamsCompat(androidx.core.text.PrecomputedTextCompat.Params);
+ }
+
+ public class AppCompatToggleButton extends android.widget.ToggleButton {
+ ctor public AppCompatToggleButton(android.content.Context);
+ ctor public AppCompatToggleButton(android.content.Context, android.util.AttributeSet?);
+ ctor public AppCompatToggleButton(android.content.Context, android.util.AttributeSet?, int);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ButtonBarLayout extends android.widget.LinearLayout {
+ ctor public ButtonBarLayout(android.content.Context, android.util.AttributeSet?);
+ method public void setAllowStacking(boolean);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface DecorContentParent {
+ method public boolean canShowOverflowMenu();
+ method public void dismissPopups();
+ method public CharSequence! getTitle();
+ method public boolean hasIcon();
+ method public boolean hasLogo();
+ method public boolean hideOverflowMenu();
+ method public void initFeature(int);
+ method public boolean isOverflowMenuShowPending();
+ method public boolean isOverflowMenuShowing();
+ method public void restoreToolbarHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
+ method public void saveToolbarHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
+ method public void setIcon(int);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setLogo(int);
+ method public void setMenu(android.view.Menu!, androidx.appcompat.view.menu.MenuPresenter.Callback!);
+ method public void setMenuPrepared();
+ method public void setUiOptions(int);
+ method public void setWindowCallback(android.view.Window.Callback!);
+ method public void setWindowTitle(CharSequence!);
+ method public boolean showOverflowMenu();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface DecorToolbar {
+ method public void animateToVisibility(int);
+ method public boolean canShowOverflowMenu();
+ method public void collapseActionView();
+ method public void dismissPopupMenus();
+ method public android.content.Context! getContext();
+ method public android.view.View! getCustomView();
+ method public int getDisplayOptions();
+ method public int getDropdownItemCount();
+ method public int getDropdownSelectedPosition();
+ method public int getHeight();
+ method public android.view.Menu! getMenu();
+ method public int getNavigationMode();
+ method public CharSequence! getSubtitle();
+ method public CharSequence! getTitle();
+ method public android.view.ViewGroup! getViewGroup();
+ method public int getVisibility();
+ method public boolean hasEmbeddedTabs();
+ method public boolean hasExpandedActionView();
+ method public boolean hasIcon();
+ method public boolean hasLogo();
+ method public boolean hideOverflowMenu();
+ method public void initIndeterminateProgress();
+ method public void initProgress();
+ method public boolean isOverflowMenuShowPending();
+ method public boolean isOverflowMenuShowing();
+ method public boolean isTitleTruncated();
+ method public void restoreHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
+ method public void saveHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setCollapsible(boolean);
+ method public void setCustomView(android.view.View!);
+ method public void setDefaultNavigationContentDescription(int);
+ method public void setDefaultNavigationIcon(android.graphics.drawable.Drawable!);
+ method public void setDisplayOptions(int);
+ method public void setDropdownParams(android.widget.SpinnerAdapter!, android.widget.AdapterView.OnItemSelectedListener!);
+ method public void setDropdownSelectedPosition(int);
+ method public void setEmbeddedTabView(androidx.appcompat.widget.ScrollingTabContainerView!);
+ method public void setHomeButtonEnabled(boolean);
+ method public void setIcon(int);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setLogo(int);
+ method public void setLogo(android.graphics.drawable.Drawable!);
+ method public void setMenu(android.view.Menu!, androidx.appcompat.view.menu.MenuPresenter.Callback!);
+ method public void setMenuCallbacks(androidx.appcompat.view.menu.MenuPresenter.Callback!, androidx.appcompat.view.menu.MenuBuilder.Callback!);
+ method public void setMenuPrepared();
+ method public void setNavigationContentDescription(CharSequence!);
+ method public void setNavigationContentDescription(int);
+ method public void setNavigationIcon(android.graphics.drawable.Drawable!);
+ method public void setNavigationIcon(int);
+ method public void setNavigationMode(int);
+ method public void setSubtitle(CharSequence!);
+ method public void setTitle(CharSequence!);
+ method public void setVisibility(int);
+ method public void setWindowCallback(android.view.Window.Callback!);
+ method public void setWindowTitle(CharSequence!);
+ method public androidx.core.view.ViewPropertyAnimatorCompat! setupAnimatorToVisibility(int, long);
+ method public boolean showOverflowMenu();
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class DialogTitle extends androidx.appcompat.widget.AppCompatTextView {
+ ctor public DialogTitle(android.content.Context, android.util.AttributeSet?, int);
+ ctor public DialogTitle(android.content.Context, android.util.AttributeSet?);
+ ctor public DialogTitle(android.content.Context);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class FitWindowsFrameLayout extends android.widget.FrameLayout implements androidx.appcompat.widget.FitWindowsViewGroup {
+ ctor public FitWindowsFrameLayout(android.content.Context);
+ ctor public FitWindowsFrameLayout(android.content.Context, android.util.AttributeSet?);
+ method protected boolean fitSystemWindows(android.graphics.Rect!);
+ method public void setOnFitSystemWindowsListener(androidx.appcompat.widget.FitWindowsViewGroup.OnFitSystemWindowsListener!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class FitWindowsLinearLayout extends android.widget.LinearLayout implements androidx.appcompat.widget.FitWindowsViewGroup {
+ ctor public FitWindowsLinearLayout(android.content.Context);
+ ctor public FitWindowsLinearLayout(android.content.Context, android.util.AttributeSet?);
+ method protected boolean fitSystemWindows(android.graphics.Rect!);
+ method public void setOnFitSystemWindowsListener(androidx.appcompat.widget.FitWindowsViewGroup.OnFitSystemWindowsListener!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface FitWindowsViewGroup {
+ method public void setOnFitSystemWindowsListener(androidx.appcompat.widget.FitWindowsViewGroup.OnFitSystemWindowsListener!);
+ }
+
+ public static interface FitWindowsViewGroup.OnFitSystemWindowsListener {
+ method public void onFitSystemWindows(android.graphics.Rect!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class ForwardingListener implements android.view.View.OnAttachStateChangeListener android.view.View.OnTouchListener {
+ ctor public ForwardingListener(android.view.View!);
+ method public abstract androidx.appcompat.view.menu.ShowableListMenu! getPopup();
+ method protected boolean onForwardingStarted();
+ method protected boolean onForwardingStopped();
+ method public boolean onTouch(android.view.View!, android.view.MotionEvent!);
+ method public void onViewAttachedToWindow(android.view.View!);
+ method public void onViewDetachedFromWindow(android.view.View!);
+ }
+
+ public class LinearLayoutCompat extends android.view.ViewGroup {
+ ctor public LinearLayoutCompat(android.content.Context);
+ ctor public LinearLayoutCompat(android.content.Context, android.util.AttributeSet?);
+ ctor public LinearLayoutCompat(android.content.Context, android.util.AttributeSet?, int);
+ method protected androidx.appcompat.widget.LinearLayoutCompat.LayoutParams! generateDefaultLayoutParams();
+ method public androidx.appcompat.widget.LinearLayoutCompat.LayoutParams! generateLayoutParams(android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.LinearLayoutCompat.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!);
+ method public int getBaselineAlignedChildIndex();
+ method public android.graphics.drawable.Drawable! getDividerDrawable();
+ method public int getDividerPadding();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int getDividerWidth();
+ method public int getGravity();
+ method @androidx.appcompat.widget.LinearLayoutCompat.OrientationMode public int getOrientation();
+ method @androidx.appcompat.widget.LinearLayoutCompat.DividerMode public int getShowDividers();
+ method public float getWeightSum();
+ method public boolean isBaselineAligned();
+ method public boolean isMeasureWithLargestChildEnabled();
+ method public void setBaselineAligned(boolean);
+ method public void setBaselineAlignedChildIndex(int);
+ method public void setDividerDrawable(android.graphics.drawable.Drawable!);
+ method public void setDividerPadding(int);
+ method public void setGravity(int);
+ method public void setHorizontalGravity(int);
+ method public void setMeasureWithLargestChildEnabled(boolean);
+ method public void setOrientation(@androidx.appcompat.widget.LinearLayoutCompat.OrientationMode int);
+ method public void setShowDividers(@androidx.appcompat.widget.LinearLayoutCompat.DividerMode int);
+ method public void setVerticalGravity(int);
+ method public void setWeightSum(float);
+ field public static final int HORIZONTAL = 0; // 0x0
+ field public static final int SHOW_DIVIDER_BEGINNING = 1; // 0x1
+ field public static final int SHOW_DIVIDER_END = 4; // 0x4
+ field public static final int SHOW_DIVIDER_MIDDLE = 2; // 0x2
+ field public static final int SHOW_DIVIDER_NONE = 0; // 0x0
+ field public static final int VERTICAL = 1; // 0x1
+ }
+
+ @IntDef(flag=true, value={androidx.appcompat.widget.LinearLayoutCompat.SHOW_DIVIDER_NONE, androidx.appcompat.widget.LinearLayoutCompat.SHOW_DIVIDER_BEGINNING, androidx.appcompat.widget.LinearLayoutCompat.SHOW_DIVIDER_MIDDLE, androidx.appcompat.widget.LinearLayoutCompat.SHOW_DIVIDER_END}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface LinearLayoutCompat.DividerMode {
+ }
+
+ public static class LinearLayoutCompat.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+ ctor public LinearLayoutCompat.LayoutParams(android.content.Context!, android.util.AttributeSet!);
+ ctor public LinearLayoutCompat.LayoutParams(int, int);
+ ctor public LinearLayoutCompat.LayoutParams(int, int, float);
+ ctor public LinearLayoutCompat.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ ctor public LinearLayoutCompat.LayoutParams(android.view.ViewGroup.MarginLayoutParams!);
+ ctor public LinearLayoutCompat.LayoutParams(androidx.appcompat.widget.LinearLayoutCompat.LayoutParams!);
+ field public int gravity;
+ field public float weight;
+ }
+
+ @IntDef({androidx.appcompat.widget.LinearLayoutCompat.HORIZONTAL, androidx.appcompat.widget.LinearLayoutCompat.VERTICAL}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface LinearLayoutCompat.OrientationMode {
+ }
+
+ public class ListPopupWindow implements androidx.appcompat.view.menu.ShowableListMenu {
+ ctor public ListPopupWindow(android.content.Context);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet?);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet?, @AttrRes int);
+ ctor public ListPopupWindow(android.content.Context, android.util.AttributeSet?, @AttrRes int, @StyleRes int);
+ method public void clearListSelection();
+ method public android.view.View.OnTouchListener! createDragToOpenListener(android.view.View!);
+ method public void dismiss();
+ method public android.view.View? getAnchorView();
+ method @StyleRes public int getAnimationStyle();
+ method public android.graphics.drawable.Drawable? getBackground();
+ method public android.graphics.Rect? getEpicenterBounds();
+ method public int getHeight();
+ method public int getHorizontalOffset();
+ method public int getInputMethodMode();
+ method public android.widget.ListView? getListView();
+ method public int getPromptPosition();
+ method public Object? getSelectedItem();
+ method public long getSelectedItemId();
+ method public int getSelectedItemPosition();
+ method public android.view.View? getSelectedView();
+ method public int getSoftInputMode();
+ method public int getVerticalOffset();
+ method public int getWidth();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isDropDownAlwaysVisible();
+ method public boolean isInputMethodNotNeeded();
+ method public boolean isModal();
+ method public boolean isShowing();
+ method public boolean onKeyDown(int, android.view.KeyEvent);
+ method public boolean onKeyPreIme(int, android.view.KeyEvent);
+ method public boolean onKeyUp(int, android.view.KeyEvent);
+ method public boolean performItemClick(int);
+ method public void postShow();
+ method public void setAdapter(android.widget.ListAdapter?);
+ method public void setAnchorView(android.view.View?);
+ method public void setAnimationStyle(@StyleRes int);
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable?);
+ method public void setContentWidth(int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setDropDownAlwaysVisible(boolean);
+ method public void setDropDownGravity(int);
+ method public void setEpicenterBounds(android.graphics.Rect?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setForceIgnoreOutsideTouch(boolean);
+ method public void setHeight(int);
+ method public void setHorizontalOffset(int);
+ method public void setInputMethodMode(int);
+ method public void setListSelector(android.graphics.drawable.Drawable!);
+ method public void setModal(boolean);
+ method public void setOnDismissListener(android.widget.PopupWindow.OnDismissListener?);
+ method public void setOnItemClickListener(android.widget.AdapterView.OnItemClickListener?);
+ method public void setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setOverlapAnchor(boolean);
+ method public void setPromptPosition(int);
+ method public void setPromptView(android.view.View?);
+ method public void setSelection(int);
+ method public void setSoftInputMode(int);
+ method public void setVerticalOffset(int);
+ method public void setWidth(int);
+ method public void setWindowLayoutType(int);
+ method public void show();
+ field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0
+ field public static final int INPUT_METHOD_NEEDED = 1; // 0x1
+ field public static final int INPUT_METHOD_NOT_NEEDED = 2; // 0x2
+ field public static final int MATCH_PARENT = -1; // 0xffffffff
+ field public static final int POSITION_PROMPT_ABOVE = 0; // 0x0
+ field public static final int POSITION_PROMPT_BELOW = 1; // 0x1
+ field public static final int WRAP_CONTENT = -2; // 0xfffffffe
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface MenuItemHoverListener {
+ method public void onItemHoverEnter(androidx.appcompat.view.menu.MenuBuilder, android.view.MenuItem);
+ method public void onItemHoverExit(androidx.appcompat.view.menu.MenuBuilder, android.view.MenuItem);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class MenuPopupWindow extends androidx.appcompat.widget.ListPopupWindow implements androidx.appcompat.widget.MenuItemHoverListener {
+ ctor public MenuPopupWindow(android.content.Context, android.util.AttributeSet?, int, int);
+ method public void onItemHoverEnter(androidx.appcompat.view.menu.MenuBuilder, android.view.MenuItem);
+ method public void onItemHoverExit(androidx.appcompat.view.menu.MenuBuilder, android.view.MenuItem);
+ method public void setEnterTransition(Object!);
+ method public void setExitTransition(Object!);
+ method public void setHoverListener(androidx.appcompat.widget.MenuItemHoverListener!);
+ method public void setTouchModal(boolean);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static class MenuPopupWindow.MenuDropDownListView extends android.widget.ListView {
+ ctor public MenuPopupWindow.MenuDropDownListView(android.content.Context!, boolean);
+ method public void clearSelection();
+ method public int lookForSelectablePosition(int, boolean);
+ method public int measureHeightOfChildrenCompat(int, int, int, int, int);
+ method public boolean onForwardedEvent(android.view.MotionEvent!, int);
+ method public void setHoverListener(androidx.appcompat.widget.MenuItemHoverListener!);
+ field public static final int INVALID_POSITION = -1; // 0xffffffff
+ field public static final int NO_POSITION = -1; // 0xffffffff
+ }
+
+ public class PopupMenu {
+ ctor public PopupMenu(android.content.Context, android.view.View);
+ ctor public PopupMenu(android.content.Context, android.view.View, int);
+ ctor public PopupMenu(android.content.Context, android.view.View, int, @AttrRes int, @StyleRes int);
+ method public void dismiss();
+ method public android.view.View.OnTouchListener getDragToOpenListener();
+ method public int getGravity();
+ method public android.view.Menu getMenu();
+ method public android.view.MenuInflater getMenuInflater();
+ method public void inflate(@MenuRes int);
+ method public void setGravity(int);
+ method public void setOnDismissListener(androidx.appcompat.widget.PopupMenu.OnDismissListener?);
+ method public void setOnMenuItemClickListener(androidx.appcompat.widget.PopupMenu.OnMenuItemClickListener?);
+ method public void show();
+ }
+
+ public static interface PopupMenu.OnDismissListener {
+ method public void onDismiss(androidx.appcompat.widget.PopupMenu!);
+ }
+
+ public static interface PopupMenu.OnMenuItemClickListener {
+ method public boolean onMenuItemClick(android.view.MenuItem!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ScrollingTabContainerView extends android.widget.HorizontalScrollView implements android.widget.AdapterView.OnItemSelectedListener {
+ ctor public ScrollingTabContainerView(android.content.Context);
+ method public void addTab(androidx.appcompat.app.ActionBar.Tab!, boolean);
+ method public void addTab(androidx.appcompat.app.ActionBar.Tab!, int, boolean);
+ method public void animateToTab(int);
+ method public void animateToVisibility(int);
+ method public void onAttachedToWindow();
+ method public void onDetachedFromWindow();
+ method public void onItemSelected(android.widget.AdapterView<?>!, android.view.View!, int, long);
+ method public void onMeasure(int, int);
+ method public void onNothingSelected(android.widget.AdapterView<?>!);
+ method public void removeAllTabs();
+ method public void removeTabAt(int);
+ method public void setAllowCollapse(boolean);
+ method public void setContentHeight(int);
+ method public void setTabSelected(int);
+ method public void updateTab(int);
+ field protected final androidx.appcompat.widget.ScrollingTabContainerView.VisibilityAnimListener! mVisAnimListener;
+ field protected android.view.ViewPropertyAnimator! mVisibilityAnim;
+ }
+
+ protected class ScrollingTabContainerView.VisibilityAnimListener extends android.animation.AnimatorListenerAdapter {
+ ctor protected ScrollingTabContainerView.VisibilityAnimListener();
+ method public androidx.appcompat.widget.ScrollingTabContainerView.VisibilityAnimListener! withFinalVisibility(android.view.ViewPropertyAnimator!, int);
+ }
+
+ public class SearchView extends androidx.appcompat.widget.LinearLayoutCompat implements androidx.appcompat.view.CollapsibleActionView {
+ ctor public SearchView(android.content.Context);
+ ctor public SearchView(android.content.Context, android.util.AttributeSet?);
+ ctor public SearchView(android.content.Context, android.util.AttributeSet?, int);
+ method public int getImeOptions();
+ method public int getInputType();
+ method public int getMaxWidth();
+ method public CharSequence! getQuery();
+ method public CharSequence? getQueryHint();
+ method public androidx.cursoradapter.widget.CursorAdapter! getSuggestionsAdapter();
+ method public boolean isIconfiedByDefault();
+ method public boolean isIconified();
+ method public boolean isQueryRefinementEnabled();
+ method public boolean isSubmitButtonEnabled();
+ method public void onActionViewCollapsed();
+ method public void onActionViewExpanded();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setAppSearchData(android.os.Bundle!);
+ method public void setIconified(boolean);
+ method public void setIconifiedByDefault(boolean);
+ method public void setImeOptions(int);
+ method public void setInputType(int);
+ method public void setMaxWidth(int);
+ method public void setOnCloseListener(androidx.appcompat.widget.SearchView.OnCloseListener!);
+ method public void setOnQueryTextFocusChangeListener(android.view.View.OnFocusChangeListener!);
+ method public void setOnQueryTextListener(androidx.appcompat.widget.SearchView.OnQueryTextListener!);
+ method public void setOnSearchClickListener(android.view.View.OnClickListener!);
+ method public void setOnSuggestionListener(androidx.appcompat.widget.SearchView.OnSuggestionListener!);
+ method public void setQuery(CharSequence!, boolean);
+ method public void setQueryHint(CharSequence?);
+ method public void setQueryRefinementEnabled(boolean);
+ method public void setSearchableInfo(android.app.SearchableInfo!);
+ method public void setSubmitButtonEnabled(boolean);
+ method public void setSuggestionsAdapter(androidx.cursoradapter.widget.CursorAdapter!);
+ }
+
+ public static interface SearchView.OnCloseListener {
+ method public boolean onClose();
+ }
+
+ public static interface SearchView.OnQueryTextListener {
+ method public boolean onQueryTextChange(String!);
+ method public boolean onQueryTextSubmit(String!);
+ }
+
+ public static interface SearchView.OnSuggestionListener {
+ method public boolean onSuggestionClick(int);
+ method public boolean onSuggestionSelect(int);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static class SearchView.SearchAutoComplete extends androidx.appcompat.widget.AppCompatAutoCompleteTextView {
+ ctor public SearchView.SearchAutoComplete(android.content.Context!);
+ ctor public SearchView.SearchAutoComplete(android.content.Context!, android.util.AttributeSet!);
+ ctor public SearchView.SearchAutoComplete(android.content.Context!, android.util.AttributeSet!, int);
+ }
+
+ public class ShareActionProvider extends androidx.core.view.ActionProvider {
+ ctor public ShareActionProvider(android.content.Context!);
+ method public android.view.View! onCreateActionView();
+ method public void setOnShareTargetSelectedListener(androidx.appcompat.widget.ShareActionProvider.OnShareTargetSelectedListener!);
+ method public void setShareHistoryFileName(String!);
+ method public void setShareIntent(android.content.Intent!);
+ field public static final String DEFAULT_SHARE_HISTORY_FILE_NAME = "share_history.xml";
+ }
+
+ public static interface ShareActionProvider.OnShareTargetSelectedListener {
+ method public boolean onShareTargetSelected(androidx.appcompat.widget.ShareActionProvider!, android.content.Intent!);
+ }
+
+ public class SwitchCompat extends android.widget.CompoundButton {
+ ctor public SwitchCompat(android.content.Context);
+ ctor public SwitchCompat(android.content.Context, android.util.AttributeSet?);
+ ctor public SwitchCompat(android.content.Context, android.util.AttributeSet?, int);
+ method public boolean getShowText();
+ method public boolean getSplitTrack();
+ method public int getSwitchMinWidth();
+ method public int getSwitchPadding();
+ method public CharSequence! getTextOff();
+ method public CharSequence! getTextOn();
+ method public android.graphics.drawable.Drawable! getThumbDrawable();
+ method public int getThumbTextPadding();
+ method public android.content.res.ColorStateList? getThumbTintList();
+ method public android.graphics.PorterDuff.Mode? getThumbTintMode();
+ method public android.graphics.drawable.Drawable! getTrackDrawable();
+ method public android.content.res.ColorStateList? getTrackTintList();
+ method public android.graphics.PorterDuff.Mode? getTrackTintMode();
+ method public void onMeasure(int, int);
+ method public void setShowText(boolean);
+ method public void setSplitTrack(boolean);
+ method public void setSwitchMinWidth(int);
+ method public void setSwitchPadding(int);
+ method public void setSwitchTextAppearance(android.content.Context!, int);
+ method public void setSwitchTypeface(android.graphics.Typeface!, int);
+ method public void setSwitchTypeface(android.graphics.Typeface!);
+ method public void setTextOff(CharSequence!);
+ method public void setTextOn(CharSequence!);
+ method public void setThumbDrawable(android.graphics.drawable.Drawable!);
+ method public void setThumbResource(int);
+ method public void setThumbTextPadding(int);
+ method public void setThumbTintList(android.content.res.ColorStateList?);
+ method public void setThumbTintMode(android.graphics.PorterDuff.Mode?);
+ method public void setTrackDrawable(android.graphics.drawable.Drawable!);
+ method public void setTrackResource(int);
+ method public void setTrackTintList(android.content.res.ColorStateList?);
+ method public void setTrackTintMode(android.graphics.PorterDuff.Mode?);
+ }
+
+ public interface ThemedSpinnerAdapter extends android.widget.SpinnerAdapter {
+ method public android.content.res.Resources.Theme? getDropDownViewTheme();
+ method public void setDropDownViewTheme(android.content.res.Resources.Theme?);
+ }
+
+ public static final class ThemedSpinnerAdapter.Helper {
+ ctor public ThemedSpinnerAdapter.Helper(android.content.Context);
+ method public android.view.LayoutInflater getDropDownViewInflater();
+ method public android.content.res.Resources.Theme? getDropDownViewTheme();
+ method public void setDropDownViewTheme(android.content.res.Resources.Theme?);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class TintTypedArray {
+ method public boolean getBoolean(int, boolean);
+ method @RequiresApi(21) public int getChangingConfigurations();
+ method public int getColor(int, int);
+ method public android.content.res.ColorStateList! getColorStateList(int);
+ method public float getDimension(int, float);
+ method public int getDimensionPixelOffset(int, int);
+ method public int getDimensionPixelSize(int, int);
+ method public android.graphics.drawable.Drawable! getDrawable(int);
+ method public android.graphics.drawable.Drawable! getDrawableIfKnown(int);
+ method public float getFloat(int, float);
+ method public android.graphics.Typeface? getFont(@StyleableRes int, int, androidx.core.content.res.ResourcesCompat.FontCallback?);
+ method public float getFraction(int, int, int, float);
+ method public int getIndex(int);
+ method public int getIndexCount();
+ method public int getInt(int, int);
+ method public int getInteger(int, int);
+ method public int getLayoutDimension(int, String!);
+ method public int getLayoutDimension(int, int);
+ method public String! getNonResourceString(int);
+ method public String! getPositionDescription();
+ method public int getResourceId(int, int);
+ method public android.content.res.Resources! getResources();
+ method public String! getString(int);
+ method public CharSequence! getText(int);
+ method public CharSequence![]! getTextArray(int);
+ method public int getType(int);
+ method public boolean getValue(int, android.util.TypedValue!);
+ method public android.content.res.TypedArray! getWrappedTypeArray();
+ method public boolean hasValue(int);
+ method public int length();
+ method public static androidx.appcompat.widget.TintTypedArray! obtainStyledAttributes(android.content.Context!, android.util.AttributeSet!, int[]!);
+ method public static androidx.appcompat.widget.TintTypedArray! obtainStyledAttributes(android.content.Context!, android.util.AttributeSet!, int[]!, int, int);
+ method public static androidx.appcompat.widget.TintTypedArray! obtainStyledAttributes(android.content.Context!, int, int[]!);
+ method public android.util.TypedValue! peekValue(int);
+ method public void recycle();
+ }
+
+ public class Toolbar extends android.view.ViewGroup {
+ ctor public Toolbar(android.content.Context);
+ ctor public Toolbar(android.content.Context, android.util.AttributeSet?);
+ ctor public Toolbar(android.content.Context, android.util.AttributeSet?, int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean canShowOverflowMenu();
+ method public void collapseActionView();
+ method public void dismissPopupMenus();
+ method protected androidx.appcompat.widget.Toolbar.LayoutParams! generateDefaultLayoutParams();
+ method public androidx.appcompat.widget.Toolbar.LayoutParams! generateLayoutParams(android.util.AttributeSet!);
+ method protected androidx.appcompat.widget.Toolbar.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!);
+ method public CharSequence? getCollapseContentDescription();
+ method public android.graphics.drawable.Drawable? getCollapseIcon();
+ method public int getContentInsetEnd();
+ method public int getContentInsetEndWithActions();
+ method public int getContentInsetLeft();
+ method public int getContentInsetRight();
+ method public int getContentInsetStart();
+ method public int getContentInsetStartWithNavigation();
+ method public int getCurrentContentInsetEnd();
+ method public int getCurrentContentInsetLeft();
+ method public int getCurrentContentInsetRight();
+ method public int getCurrentContentInsetStart();
+ method public android.graphics.drawable.Drawable! getLogo();
+ method public CharSequence! getLogoDescription();
+ method public android.view.Menu! getMenu();
+ method public CharSequence? getNavigationContentDescription();
+ method public android.graphics.drawable.Drawable? getNavigationIcon();
+ method public android.graphics.drawable.Drawable? getOverflowIcon();
+ method public int getPopupTheme();
+ method public CharSequence! getSubtitle();
+ method public CharSequence! getTitle();
+ method public int getTitleMarginBottom();
+ method public int getTitleMarginEnd();
+ method public int getTitleMarginStart();
+ method public int getTitleMarginTop();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.appcompat.widget.DecorToolbar! getWrapper();
+ method public boolean hasExpandedActionView();
+ method public boolean hideOverflowMenu();
+ method public void inflateMenu(@MenuRes int);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isOverflowMenuShowPending();
+ method public boolean isOverflowMenuShowing();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isTitleTruncated();
+ method public void setCollapseContentDescription(@StringRes int);
+ method public void setCollapseContentDescription(CharSequence?);
+ method public void setCollapseIcon(@DrawableRes int);
+ method public void setCollapseIcon(android.graphics.drawable.Drawable?);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setCollapsible(boolean);
+ method public void setContentInsetEndWithActions(int);
+ method public void setContentInsetStartWithNavigation(int);
+ method public void setContentInsetsAbsolute(int, int);
+ method public void setContentInsetsRelative(int, int);
+ method public void setLogo(@DrawableRes int);
+ method public void setLogo(android.graphics.drawable.Drawable!);
+ method public void setLogoDescription(@StringRes int);
+ method public void setLogoDescription(CharSequence!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setMenu(androidx.appcompat.view.menu.MenuBuilder!, androidx.appcompat.widget.ActionMenuPresenter!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setMenuCallbacks(androidx.appcompat.view.menu.MenuPresenter.Callback!, androidx.appcompat.view.menu.MenuBuilder.Callback!);
+ method public void setNavigationContentDescription(@StringRes int);
+ method public void setNavigationContentDescription(CharSequence?);
+ method public void setNavigationIcon(@DrawableRes int);
+ method public void setNavigationIcon(android.graphics.drawable.Drawable?);
+ method public void setNavigationOnClickListener(android.view.View.OnClickListener!);
+ method public void setOnMenuItemClickListener(androidx.appcompat.widget.Toolbar.OnMenuItemClickListener!);
+ method public void setOverflowIcon(android.graphics.drawable.Drawable?);
+ method public void setPopupTheme(@StyleRes int);
+ method public void setSubtitle(@StringRes int);
+ method public void setSubtitle(CharSequence!);
+ method public void setSubtitleTextAppearance(android.content.Context!, @StyleRes int);
+ method public void setSubtitleTextColor(@ColorInt int);
+ method public void setSubtitleTextColor(android.content.res.ColorStateList);
+ method public void setTitle(@StringRes int);
+ method public void setTitle(CharSequence!);
+ method public void setTitleMargin(int, int, int, int);
+ method public void setTitleMarginBottom(int);
+ method public void setTitleMarginEnd(int);
+ method public void setTitleMarginStart(int);
+ method public void setTitleMarginTop(int);
+ method public void setTitleTextAppearance(android.content.Context!, @StyleRes int);
+ method public void setTitleTextColor(@ColorInt int);
+ method public void setTitleTextColor(android.content.res.ColorStateList);
+ method public boolean showOverflowMenu();
+ }
+
+ public static class Toolbar.LayoutParams extends androidx.appcompat.app.ActionBar.LayoutParams {
+ ctor public Toolbar.LayoutParams(android.content.Context, android.util.AttributeSet!);
+ ctor public Toolbar.LayoutParams(int, int);
+ ctor public Toolbar.LayoutParams(int, int, int);
+ ctor public Toolbar.LayoutParams(int);
+ ctor public Toolbar.LayoutParams(androidx.appcompat.widget.Toolbar.LayoutParams!);
+ ctor public Toolbar.LayoutParams(androidx.appcompat.app.ActionBar.LayoutParams!);
+ ctor public Toolbar.LayoutParams(android.view.ViewGroup.MarginLayoutParams!);
+ ctor public Toolbar.LayoutParams(android.view.ViewGroup.LayoutParams!);
+ }
+
+ public static interface Toolbar.OnMenuItemClickListener {
+ method public boolean onMenuItemClick(android.view.MenuItem!);
+ }
+
+ public static class Toolbar.SavedState extends androidx.customview.view.AbsSavedState {
+ ctor public Toolbar.SavedState(android.os.Parcel!);
+ ctor public Toolbar.SavedState(android.os.Parcel!, ClassLoader!);
+ ctor public Toolbar.SavedState(android.os.Parcelable!);
+ field public static final android.os.Parcelable.Creator<androidx.appcompat.widget.Toolbar.SavedState!>! CREATOR;
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ToolbarWidgetWrapper implements androidx.appcompat.widget.DecorToolbar {
+ ctor public ToolbarWidgetWrapper(androidx.appcompat.widget.Toolbar!, boolean);
+ ctor public ToolbarWidgetWrapper(androidx.appcompat.widget.Toolbar!, boolean, int, int);
+ method public void animateToVisibility(int);
+ method public boolean canShowOverflowMenu();
+ method public void collapseActionView();
+ method public void dismissPopupMenus();
+ method public android.content.Context! getContext();
+ method public android.view.View! getCustomView();
+ method public int getDisplayOptions();
+ method public int getDropdownItemCount();
+ method public int getDropdownSelectedPosition();
+ method public int getHeight();
+ method public android.view.Menu! getMenu();
+ method public int getNavigationMode();
+ method public CharSequence! getSubtitle();
+ method public CharSequence! getTitle();
+ method public android.view.ViewGroup! getViewGroup();
+ method public int getVisibility();
+ method public boolean hasEmbeddedTabs();
+ method public boolean hasExpandedActionView();
+ method public boolean hasIcon();
+ method public boolean hasLogo();
+ method public boolean hideOverflowMenu();
+ method public void initIndeterminateProgress();
+ method public void initProgress();
+ method public boolean isOverflowMenuShowPending();
+ method public boolean isOverflowMenuShowing();
+ method public boolean isTitleTruncated();
+ method public void restoreHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
+ method public void saveHierarchyState(android.util.SparseArray<android.os.Parcelable!>!);
+ method public void setBackgroundDrawable(android.graphics.drawable.Drawable!);
+ method public void setCollapsible(boolean);
+ method public void setCustomView(android.view.View!);
+ method public void setDefaultNavigationContentDescription(int);
+ method public void setDefaultNavigationIcon(android.graphics.drawable.Drawable!);
+ method public void setDisplayOptions(int);
+ method public void setDropdownParams(android.widget.SpinnerAdapter!, android.widget.AdapterView.OnItemSelectedListener!);
+ method public void setDropdownSelectedPosition(int);
+ method public void setEmbeddedTabView(androidx.appcompat.widget.ScrollingTabContainerView!);
+ method public void setHomeButtonEnabled(boolean);
+ method public void setIcon(int);
+ method public void setIcon(android.graphics.drawable.Drawable!);
+ method public void setLogo(int);
+ method public void setLogo(android.graphics.drawable.Drawable!);
+ method public void setMenu(android.view.Menu!, androidx.appcompat.view.menu.MenuPresenter.Callback!);
+ method public void setMenuCallbacks(androidx.appcompat.view.menu.MenuPresenter.Callback!, androidx.appcompat.view.menu.MenuBuilder.Callback!);
+ method public void setMenuPrepared();
+ method public void setNavigationContentDescription(CharSequence!);
+ method public void setNavigationContentDescription(int);
+ method public void setNavigationIcon(android.graphics.drawable.Drawable!);
+ method public void setNavigationIcon(int);
+ method public void setNavigationMode(int);
+ method public void setSubtitle(CharSequence!);
+ method public void setTitle(CharSequence!);
+ method public void setVisibility(int);
+ method public void setWindowCallback(android.view.Window.Callback!);
+ method public void setWindowTitle(CharSequence!);
+ method public androidx.core.view.ViewPropertyAnimatorCompat! setupAnimatorToVisibility(int, long);
+ method public boolean showOverflowMenu();
+ }
+
+ public class TooltipCompat {
+ method public static void setTooltipText(android.view.View, CharSequence?);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class ViewStubCompat extends android.view.View {
+ ctor public ViewStubCompat(android.content.Context, android.util.AttributeSet?);
+ ctor public ViewStubCompat(android.content.Context, android.util.AttributeSet?, int);
+ method public int getInflatedId();
+ method public android.view.LayoutInflater! getLayoutInflater();
+ method public int getLayoutResource();
+ method public android.view.View! inflate();
+ method public void setInflatedId(int);
+ method public void setLayoutInflater(android.view.LayoutInflater!);
+ method public void setLayoutResource(int);
+ method public void setOnInflateListener(androidx.appcompat.widget.ViewStubCompat.OnInflateListener!);
+ }
+
+ public static interface ViewStubCompat.OnInflateListener {
+ method public void onInflate(androidx.appcompat.widget.ViewStubCompat!, android.view.View!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ViewUtils {
+ method public static void computeFitSystemWindows(android.view.View!, android.graphics.Rect!, android.graphics.Rect!);
+ method public static boolean isLayoutRtl(android.view.View!);
+ method public static void makeOptionalFitsSystemWindows(android.view.View!);
+ }
+
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface WithHint {
+ method public CharSequence? getHint();
+ }
+
+}
+
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/BaseBasicsTestCase.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/BaseBasicsTestCase.java
index c10c37c..48f46ec 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/BaseBasicsTestCase.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/BaseBasicsTestCase.java
@@ -131,6 +131,7 @@
@Test
@SdkSuppress(minSdkVersion = 16, maxSdkVersion = 20)
@RequiresApi(16)
+ @SuppressWarnings("deprecation") /* SYSTEM_UI_FLAG_LAYOUT_* */
public void testFitSystemWindowsReachesContent() {
final FitWindowsContentLayout content =
mActivityTestRule.getActivity().findViewById(R.id.test_content);
@@ -150,6 +151,7 @@
@Test
@SdkSuppress(minSdkVersion = 21)
+ @RequiresApi(21)
public void testOnApplyWindowInsetsReachesContent() throws Throwable {
final A activity = mActivityTestRule.getActivity();
if (!canShowSystemUi(activity)) {
@@ -189,6 +191,7 @@
@Test
@SdkSuppress(minSdkVersion = 28)
@RequiresApi(28)
+ @SuppressWarnings("deprecation") /* SYSTEM_UI_FLAG_LAYOUT_* */
public void testOnApplyWindowInsetsReachesContent_withDisplayCutout() throws Throwable {
final A activity = mActivityTestRule.getActivity();
if (!canShowSystemUi(activity)) {
@@ -354,6 +357,7 @@
}
@RequiresApi(16)
+ @SuppressWarnings("deprecation") /* SYSTEM_UI_FLAG_LAYOUT_* */
private WindowInsetsCompat waitForWindowInsets(@NonNull final View view) throws Throwable {
final CountDownLatch latch = new CountDownLatch(1);
final AtomicReference<WindowInsetsCompat> received = new AtomicReference<>();
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/view/menu/MenuPopupHelper.java b/appcompat/appcompat/src/main/java/androidx/appcompat/view/menu/MenuPopupHelper.java
index 9bc4584..e3e5129 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/view/menu/MenuPopupHelper.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/view/menu/MenuPopupHelper.java
@@ -220,6 +220,7 @@
* @return an initialized popup
*/
@NonNull
+ @SuppressWarnings("deprecation") /* getDefaultDisplay */
private MenuPopup createPopup() {
final WindowManager windowManager = (WindowManager) mContext.getSystemService(
Context.WINDOW_SERVICE);
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActionBarOverlayLayout.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActionBarOverlayLayout.java
index 606e12a..5239315 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActionBarOverlayLayout.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActionBarOverlayLayout.java
@@ -243,7 +243,12 @@
ViewCompat.requestApplyInsets(this);
}
+ /**
+ * @deprecated see {@link View#onWindowSystemUiVisibilityChanged(int)}
+ */
+ @Deprecated
@Override
+ @SuppressWarnings("deprecation") /* SYSTEM_UI_FLAG_LAYOUT_* */
public void onWindowSystemUiVisibilityChanged(int visible) {
if (Build.VERSION.SDK_INT >= 16) {
super.onWindowSystemUiVisibilityChanged(visible);
@@ -400,6 +405,7 @@
}
@Override
+ @SuppressWarnings("deprecation") /* SYSTEM_UI_FLAG_LAYOUT_* */
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
pullChildren();
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActivityChooserModel.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActivityChooserModel.java
index d4832d2..89e3bb9 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActivityChooserModel.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/ActivityChooserModel.java
@@ -21,7 +21,6 @@
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.database.DataSetObservable;
-import android.os.AsyncTask;
import android.text.TextUtils;
import android.util.Log;
import android.util.Xml;
@@ -571,8 +570,9 @@
}
mHistoricalRecordsChanged = false;
if (!TextUtils.isEmpty(mHistoryFileName)) {
- new PersistHistoryAsyncTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
- new ArrayList<HistoricalRecord>(mHistoricalRecords), mHistoryFileName);
+ new PersistHistoryAsyncTask().executeOnExecutor(
+ android.os.AsyncTask.THREAD_POOL_EXECUTOR,
+ new ArrayList<>(mHistoricalRecords), mHistoryFileName);
}
}
@@ -1034,10 +1034,10 @@
/**
* Command for persisting the historical records to a file off the UI thread.
*/
- private final class PersistHistoryAsyncTask extends AsyncTask<Object, Void, Void> {
+ @SuppressWarnings("deprecation") /* AsyncTask */
+ private final class PersistHistoryAsyncTask extends android.os.AsyncTask<Object, Void, Void> {
- PersistHistoryAsyncTask() {
- }
+ PersistHistoryAsyncTask() {}
@Override
@SuppressWarnings("unchecked")
diff --git a/biometric/biometric/src/main/java/androidx/biometric/BiometricFragment.java b/biometric/biometric/src/main/java/androidx/biometric/BiometricFragment.java
index 409a620..c7e13a2 100644
--- a/biometric/biometric/src/main/java/androidx/biometric/BiometricFragment.java
+++ b/biometric/biometric/src/main/java/androidx/biometric/BiometricFragment.java
@@ -258,6 +258,7 @@
@Override
@Nullable
+ @SuppressWarnings("deprecation") /* setDeviceCredentialAllowed */
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
// Start the actual authentication when the fragment is attached.
diff --git a/browser/browser/src/androidTest/java/androidx/browser/customtabs/PostMessageTest.java b/browser/browser/src/androidTest/java/androidx/browser/customtabs/PostMessageTest.java
index 5d68340..ee74d68 100644
--- a/browser/browser/src/androidTest/java/androidx/browser/customtabs/PostMessageTest.java
+++ b/browser/browser/src/androidTest/java/androidx/browser/customtabs/PostMessageTest.java
@@ -24,7 +24,6 @@
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Bundle;
import androidx.annotation.NonNull;
@@ -71,6 +70,7 @@
private CustomTabsSession mSession;
@Before
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void setup() {
// Bind to PostMessageService only after CustomTabsService sends the callback to do so. This
// callback is sent after requestPostMessageChannel is called.
@@ -79,7 +79,7 @@
public void extraCallback(@NonNull String callbackName, Bundle args) {
if (TestCustomTabsService.CALLBACK_BIND_TO_POST_MESSAGE.equals(callbackName)) {
// This gets run on the UI thread, where mServiceRule.bindService will not work.
- AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() {
+ android.os.AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() {
@Override
public void run() {
try {
diff --git a/browser/browser/src/androidTest/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionPoolTest.java b/browser/browser/src/androidTest/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionPoolTest.java
index e16d431..e465ab3 100644
--- a/browser/browser/src/androidTest/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionPoolTest.java
+++ b/browser/browser/src/androidTest/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionPoolTest.java
@@ -23,7 +23,6 @@
import android.content.Context;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.RemoteException;
import androidx.browser.customtabs.EnableComponentsTestRule;
@@ -49,6 +48,7 @@
@RunWith(AndroidJUnit4.class)
@MediumTest
+@SuppressWarnings("deprecation") /* AsyncTask */
public class TrustedWebActivityServiceConnectionPoolTest {
private static final Uri GOOD_SCOPE = Uri.parse("https://www.example.com/notifications");
private static final Uri BAD_SCOPE = Uri.parse("https://www.notexample.com");
@@ -84,7 +84,8 @@
final AtomicBoolean connected = new AtomicBoolean();
ListenableFuture<TrustedWebActivityServiceConnection> serviceFuture =
- mManager.connect(GOOD_SCOPE, mTrustedPackages, AsyncTask.THREAD_POOL_EXECUTOR);
+ mManager.connect(GOOD_SCOPE, mTrustedPackages,
+ android.os.AsyncTask.THREAD_POOL_EXECUTOR);
serviceFuture.addListener(() -> {
try {
@@ -94,7 +95,7 @@
} catch (RemoteException | ExecutionException | InterruptedException e) {
throw new RuntimeException(e);
}
- }, AsyncTask.THREAD_POOL_EXECUTOR);
+ }, android.os.AsyncTask.THREAD_POOL_EXECUTOR);
PollingCheck.waitFor(connected::get);
}
@@ -104,7 +105,8 @@
assertFalse(mManager.serviceExistsForScope(BAD_SCOPE, mTrustedPackages));
ListenableFuture<TrustedWebActivityServiceConnection> serviceFuture =
- mManager.connect(BAD_SCOPE, mTrustedPackages, AsyncTask.THREAD_POOL_EXECUTOR);
+ mManager.connect(BAD_SCOPE, mTrustedPackages,
+ android.os.AsyncTask.THREAD_POOL_EXECUTOR);
try {
serviceFuture.get();
@@ -120,10 +122,10 @@
public void testMultipleExecutions() {
final AtomicInteger count = new AtomicInteger();
- mManager.connect(GOOD_SCOPE, mTrustedPackages, AsyncTask.THREAD_POOL_EXECUTOR)
- .addListener(count::incrementAndGet, AsyncTask.THREAD_POOL_EXECUTOR);
- mManager.connect(GOOD_SCOPE, mTrustedPackages, AsyncTask.THREAD_POOL_EXECUTOR)
- .addListener(count::incrementAndGet, AsyncTask.THREAD_POOL_EXECUTOR);
+ mManager.connect(GOOD_SCOPE, mTrustedPackages, android.os.AsyncTask.THREAD_POOL_EXECUTOR)
+ .addListener(count::incrementAndGet, android.os.AsyncTask.THREAD_POOL_EXECUTOR);
+ mManager.connect(GOOD_SCOPE, mTrustedPackages, android.os.AsyncTask.THREAD_POOL_EXECUTOR)
+ .addListener(count::incrementAndGet, android.os.AsyncTask.THREAD_POOL_EXECUTOR);
PollingCheck.waitFor(() -> count.get() == 2);
}
diff --git a/browser/browser/src/main/java/androidx/browser/browseractions/BrowserServiceFileProvider.java b/browser/browser/src/main/java/androidx/browser/browseractions/BrowserServiceFileProvider.java
index 319f162..3bde75d 100644
--- a/browser/browser/src/main/java/androidx/browser/browseractions/BrowserServiceFileProvider.java
+++ b/browser/browser/src/main/java/androidx/browser/browseractions/BrowserServiceFileProvider.java
@@ -27,7 +27,6 @@
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Build;
import android.os.ParcelFileDescriptor;
import android.util.Log;
@@ -61,6 +60,7 @@
*/
@Deprecated
@RestrictTo(LIBRARY)
+@SuppressWarnings("deprecation") /* AsyncTask */
public final class BrowserServiceFileProvider extends FileProvider {
private static final String TAG = "BrowserServiceFP";
private static final String AUTHORITY_SUFFIX = ".image_provider";
@@ -74,7 +74,7 @@
@SuppressWarnings("WeakerAccess") /* synthetic access */
static Object sFileCleanupLock = new Object();
- private static class FileCleanupTask extends AsyncTask<Void, Void, Void> {
+ private static class FileCleanupTask extends android.os.AsyncTask<Void, Void, Void> {
private final Context mAppContext;
private static final long IMAGE_RETENTION_DURATION = TimeUnit.DAYS.toMillis(7);
private static final long CLEANUP_REQUIRED_TIME_SPAN = TimeUnit.DAYS.toMillis(7);
@@ -130,7 +130,7 @@
}
}
- private static class FileSaveTask extends AsyncTask<String, Void, Void> {
+ private static class FileSaveTask extends android.os.AsyncTask<String, Void, Void> {
private final Context mAppContext;
private final String mFilename;
private final Bitmap mBitmap;
@@ -155,7 +155,8 @@
@Override
protected void onPostExecute(Void result) {
- new FileCleanupTask(mAppContext).executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
+ new FileCleanupTask(mAppContext)
+ .executeOnExecutor(android.os.AsyncTask.SERIAL_EXECUTOR);
}
private void saveFileIfNeededBlocking() {
@@ -221,6 +222,7 @@
*/
@UiThread
@NonNull
+ @SuppressWarnings("deprecation") /* AsyncTask */
public static ResolvableFuture<Uri> saveBitmap(@NonNull Context context, @NonNull Bitmap bitmap,
@NonNull String name, int version) {
String filename = name + "_" + Integer.toString(version);
@@ -228,7 +230,7 @@
ResolvableFuture<Uri> result = ResolvableFuture.create();
new FileSaveTask(context, filename, bitmap, uri, result)
- .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ .executeOnExecutor(android.os.AsyncTask.THREAD_POOL_EXECUTOR);
return result;
}
@@ -268,11 +270,12 @@
* completed or with an IOException describing the reason for failure.
*/
@NonNull
+ @SuppressWarnings("deprecation") /* AsyncTask */
public static ListenableFuture<Bitmap> loadBitmap(@NonNull final ContentResolver resolver,
@NonNull final Uri uri) {
final ResolvableFuture<Bitmap> result = ResolvableFuture.create();
- AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() {
+ android.os.AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() {
@Override
public void run() {
try {
diff --git a/browser/browser/src/main/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionPool.java b/browser/browser/src/main/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionPool.java
index 2110f57..691d1ce 100644
--- a/browser/browser/src/main/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionPool.java
+++ b/browser/browser/src/main/java/androidx/browser/trusted/TrustedWebActivityServiceConnectionPool.java
@@ -22,7 +22,6 @@
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
-import android.os.AsyncTask;
import android.util.Log;
import androidx.annotation.MainThread;
@@ -100,6 +99,7 @@
*/
@MainThread
@NonNull
+ @SuppressWarnings("deprecation") /* AsyncTask */
public ListenableFuture<TrustedWebActivityServiceConnection> connect(
@NonNull final Uri scope,
@NonNull Set<Token> possiblePackages,
@@ -128,7 +128,8 @@
return newConnection.getServiceWrapper();
}
- static class BindToServiceAsyncTask extends AsyncTask<Void, Void, Exception> {
+ @SuppressWarnings("deprecation") /* AsyncTask */
+ static class BindToServiceAsyncTask extends android.os.AsyncTask<Void, Void, Exception> {
private final Context mAppContext;
private final Intent mIntent;
private final ConnectionHolder mConnection;
diff --git a/browser/browser/src/test/java/androidx/browser/trusted/ConnectionHolderTest.java b/browser/browser/src/test/java/androidx/browser/trusted/ConnectionHolderTest.java
index 9460530..99ac592 100644
--- a/browser/browser/src/test/java/androidx/browser/trusted/ConnectionHolderTest.java
+++ b/browser/browser/src/test/java/androidx/browser/trusted/ConnectionHolderTest.java
@@ -23,7 +23,6 @@
import static org.mockito.Mockito.when;
import android.content.ComponentName;
-import android.os.AsyncTask;
import android.os.IBinder;
import android.os.RemoteException;
@@ -140,6 +139,7 @@
}
@Test
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void futureSetWithCorrectObject() throws InterruptedException, RemoteException {
final int smallIconId = 56;
@@ -163,7 +163,7 @@
} catch (ExecutionException | InterruptedException | RemoteException e) {
e.printStackTrace();
}
- }, AsyncTask.THREAD_POOL_EXECUTOR);
+ }, android.os.AsyncTask.THREAD_POOL_EXECUTOR);
assertTrue(methodCalledLatch.await(200, TimeUnit.MILLISECONDS));
assertTrue(noExceptionLatch.await(200, TimeUnit.MILLISECONDS));
diff --git a/buildSrc/src/main/kotlin/androidx/build/AndroidXExtension.kt b/buildSrc/src/main/kotlin/androidx/build/AndroidXExtension.kt
index a20f32e..b8c0212 100644
--- a/buildSrc/src/main/kotlin/androidx/build/AndroidXExtension.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/AndroidXExtension.kt
@@ -78,7 +78,7 @@
var url = SUPPORT_URL
private var licenses: MutableCollection<License> = ArrayList()
var publish: Publish = Publish.NONE
- var failOnDeprecationWarnings = true
+ var failOnDeprecationWarnings = false // TODO: Set back to true before upstreaming to AOSP
var compilationTarget: CompilationTarget = CompilationTarget.DEVICE
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
index 549caa3..bbd52d5 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
@@ -24,7 +24,7 @@
val ADS_IDENTIFIER = Version("1.0.0-alpha04")
val ANNOTATION = Version("1.2.0-alpha01")
val ANNOTATION_EXPERIMENTAL = Version("1.1.0-alpha01")
- val APPCOMPAT = Version("1.2.0-beta01")
+ val APPCOMPAT = Version("1.3.0-alpha01")
val APPSEARCH = Version("1.0.0-alpha01")
val ARCH_CORE = Version("2.2.0-alpha01")
val ARCH_CORE_TESTING = ARCH_CORE
@@ -102,7 +102,7 @@
val STARTUP = Version("1.0.0-alpha01")
val SQLITE = Version("2.1.0-rc01")
val SQLITE_INSPECTOR = Version("2.1.0-alpha01")
- val SWIPEREFRESHLAYOUT = Version("1.2.0-alpha01")
+ val SWIPEREFRESHLAYOUT = Version("1.1.0-rc01")
val TESTSCREENSHOT = Version("1.0.0-alpha01")
val TEXTCLASSIFIER = Version("1.0.0-alpha03")
val TRACING = Version("1.0.0-alpha01")
diff --git a/buildSrc/src/main/kotlin/androidx/build/SupportConfig.kt b/buildSrc/src/main/kotlin/androidx/build/SupportConfig.kt
index 92b340b..640f3af 100644
--- a/buildSrc/src/main/kotlin/androidx/build/SupportConfig.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/SupportConfig.kt
@@ -31,7 +31,7 @@
* Either an integer value or a pre-release platform code, prefixed with "android-" (ex.
* "android-28" or "android-Q") as you would see within the SDK's platforms directory.
*/
- const val COMPILE_SDK_VERSION = "android-29"
+ const val COMPILE_SDK_VERSION = "android-R"
/**
* The Android SDK version to use for targetSdkVersion meta-data.
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java
index 1963490..79a7d07 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java
@@ -42,7 +42,6 @@
import android.media.Image;
import android.media.ImageReader;
import android.media.ImageReader.OnImageAvailableListener;
-import android.os.AsyncTask;
import android.os.Handler;
import android.os.HandlerThread;
import android.view.Surface;
@@ -657,6 +656,7 @@
}
@Test
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void cancelOpenCaptureSessionListenableFuture_shouldNoop() {
CaptureSession captureSession = createCaptureSession(mTestParameters0);
captureSession.setSessionConfig(mTestParameters0.mSessionConfig);
@@ -665,7 +665,8 @@
ArgumentCaptor<Throwable> throwableCaptor = ArgumentCaptor.forClass(Throwable.class);
ListenableFuture<Void> openingFuture = captureSession.open(mTestParameters0.mSessionConfig,
mCameraDeviceHolder.get());
- Futures.addCallback(openingFuture, mockFutureCallback, AsyncTask.THREAD_POOL_EXECUTOR);
+ Futures.addCallback(openingFuture, mockFutureCallback,
+ android.os.AsyncTask.THREAD_POOL_EXECUTOR);
openingFuture.cancel(true);
// The captureSession opening should callback onFailure with a CancellationException.
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.java
index 2ee8d44..bc553f9 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.java
@@ -30,7 +30,6 @@
import android.hardware.camera2.CameraDevice;
import android.hardware.camera2.CameraManager;
import android.hardware.camera2.params.StreamConfigurationMap;
-import android.os.AsyncTask;
import android.os.Handler;
import android.os.HandlerThread;
import android.util.Size;
@@ -155,6 +154,7 @@
}
@Test
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void canConfigureCaptureSession() throws CameraAccessException {
OutputConfigurationCompat outputConfig = new OutputConfigurationCompat(mSurface);
@@ -163,7 +163,7 @@
SessionConfigurationCompat sessionConfig = new SessionConfigurationCompat(
SessionConfigurationCompat.SESSION_REGULAR,
- Collections.singletonList(outputConfig), AsyncTask.THREAD_POOL_EXECUTOR,
+ Collections.singletonList(outputConfig), android.os.AsyncTask.THREAD_POOL_EXECUTOR,
stateCallback);
CameraDeviceCompat deviceCompat = CameraDeviceCompat.toCameraDeviceCompat(mCameraDevice,
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/ImageAnalysisConfigProvider.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/ImageAnalysisConfigProvider.java
index 9069061..c9f9b72 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/ImageAnalysisConfigProvider.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/ImageAnalysisConfigProvider.java
@@ -46,6 +46,7 @@
@Override
@NonNull
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public ImageAnalysisConfig getConfig(@Nullable CameraInfo cameraInfo) {
ImageAnalysis.Builder builder = ImageAnalysis.Builder.fromConfig(
ImageAnalysis.DEFAULT_CONFIG.getConfig(cameraInfo));
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/ImageCaptureConfigProvider.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/ImageCaptureConfigProvider.java
index fb303dd..7ebc13e2 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/ImageCaptureConfigProvider.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/ImageCaptureConfigProvider.java
@@ -46,6 +46,7 @@
@Override
@NonNull
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public ImageCaptureConfig getConfig(@Nullable CameraInfo cameraInfo) {
ImageCapture.Builder builder = ImageCapture.Builder.fromConfig(
ImageCapture.DEFAULT_CONFIG.getConfig(cameraInfo));
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/PreviewConfigProvider.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/PreviewConfigProvider.java
index ab6bbca..d05ea1e 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/PreviewConfigProvider.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/PreviewConfigProvider.java
@@ -46,6 +46,7 @@
@Override
@NonNull
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public PreviewConfig getConfig(@Nullable CameraInfo cameraInfo) {
Preview.Builder builder = Preview.Builder.fromConfig(
Preview.DEFAULT_CONFIG.getConfig(cameraInfo));
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/SupportedSurfaceCombination.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/SupportedSurfaceCombination.java
index ffd508b..a0bb2e1 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/SupportedSurfaceCombination.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/SupportedSurfaceCombination.java
@@ -1110,6 +1110,7 @@
* PREVIEW refers to the best size match to the device's screen resolution, or to 1080p
* (1920x1080), whichever is smaller.
*/
+ @SuppressWarnings("deprecation") /* defaultDisplay */
private Size getPreviewSize(WindowManager windowManager) {
Point displaySize = new Point();
windowManager.getDefaultDisplay().getRealSize(displaySize);
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/VideoCaptureConfigProvider.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/VideoCaptureConfigProvider.java
index d6a3e1b..87de342 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/VideoCaptureConfigProvider.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/VideoCaptureConfigProvider.java
@@ -46,6 +46,7 @@
@Override
@NonNull
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public VideoCaptureConfig getConfig(@Nullable CameraInfo cameraInfo) {
VideoCaptureConfig.Builder builder =
VideoCaptureConfig.Builder.fromConfig(
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatApi23Impl.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatApi23Impl.java
index e10b4b5..6950152e 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatApi23Impl.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatApi23Impl.java
@@ -33,6 +33,7 @@
import java.util.List;
@RequiresApi(23)
+@SuppressWarnings("deprecation")
class CameraDeviceCompatApi23Impl extends CameraDeviceCompatBaseImpl {
CameraDeviceCompatApi23Impl(@NonNull CameraDevice cameraDevice, @Nullable Object implParams) {
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatApi24Impl.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatApi24Impl.java
index 8adcb08..a58b8e5 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatApi24Impl.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatApi24Impl.java
@@ -33,6 +33,7 @@
import java.util.List;
@RequiresApi(24)
+@SuppressWarnings("deprecation")
class CameraDeviceCompatApi24Impl extends CameraDeviceCompatApi23Impl {
CameraDeviceCompatApi24Impl(@NonNull CameraDevice cameraDevice, @Nullable Object implParams) {
diff --git a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatBaseImpl.java b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatBaseImpl.java
index 0f26f8d..c05d416 100644
--- a/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatBaseImpl.java
+++ b/camera/camera-camera2/src/main/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatBaseImpl.java
@@ -100,6 +100,7 @@
}
}
+ @SuppressWarnings("deprecation") /* createCaptureSession */
void createBaseCaptureSession(@NonNull CameraDevice device, @NonNull List<Surface> surfaces,
@NonNull CameraCaptureSession.StateCallback cb, @NonNull Handler handler)
throws CameraAccessException {
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/Camera2DeviceSurfaceManagerTest.java b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/Camera2DeviceSurfaceManagerTest.java
index 234bcfb..84bcd6c 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/Camera2DeviceSurfaceManagerTest.java
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/Camera2DeviceSurfaceManagerTest.java
@@ -136,6 +136,7 @@
private FakeCameraFactory mCameraFactory;
@Before
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public void setUp() {
WindowManager windowManager =
(WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
diff --git a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/SupportedSurfaceCombinationTest.java b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/SupportedSurfaceCombinationTest.java
index 50f50ac..d685bd9 100644
--- a/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/SupportedSurfaceCombinationTest.java
+++ b/camera/camera-camera2/src/test/java/androidx/camera/camera2/internal/SupportedSurfaceCombinationTest.java
@@ -154,6 +154,7 @@
private FakeCameraFactory mCameraFactory;
@Before
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public void setUp() {
WindowManager windowManager =
(WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
diff --git a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/DeferrableSurfacesTest.java b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/DeferrableSurfacesTest.java
index 2199ee2..389990c 100644
--- a/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/DeferrableSurfacesTest.java
+++ b/camera/camera-core/src/androidTest/java/androidx/camera/core/impl/DeferrableSurfacesTest.java
@@ -22,7 +22,6 @@
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.verify;
-import android.os.AsyncTask;
import android.view.Surface;
import androidx.annotation.NonNull;
@@ -77,16 +76,18 @@
@Test
@MediumTest
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void getSurfaceTimeoutTest() {
DeferrableSurface fakeDeferrableSurface = getFakeDeferrableSurface();
List<DeferrableSurface> surfaces = Arrays.asList(fakeDeferrableSurface);
ListenableFuture<List<Surface>> listenableFuture =
DeferrableSurfaces.surfaceListWithTimeout(surfaces, false, 50,
- AsyncTask.THREAD_POOL_EXECUTOR, mScheduledExecutorService);
+ android.os.AsyncTask.THREAD_POOL_EXECUTOR, mScheduledExecutorService);
FutureCallback<List<Surface>> mockFutureCallback = mock(FutureCallback.class);
- Futures.addCallback(listenableFuture, mockFutureCallback, AsyncTask.THREAD_POOL_EXECUTOR);
+ Futures.addCallback(listenableFuture, mockFutureCallback,
+ android.os.AsyncTask.THREAD_POOL_EXECUTOR);
ArgumentCaptor<Throwable> throwableCaptor = ArgumentCaptor.forClass(Throwable.class);
verify(mockFutureCallback, timeout(3000).times(1)).onFailure(throwableCaptor.capture());
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/DeferrableSurfacesUtil.java b/camera/camera-testing/src/main/java/androidx/camera/testing/DeferrableSurfacesUtil.java
index f7e8554..0ee14f3 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/DeferrableSurfacesUtil.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/DeferrableSurfacesUtil.java
@@ -16,7 +16,6 @@
package androidx.camera.testing;
-import android.os.AsyncTask;
import android.os.Looper;
import android.view.Surface;
@@ -56,6 +55,7 @@
* @param removeNullSurfaces If true remove all Surfaces that were not retrieved.
*/
@NonNull
+ @SuppressWarnings("deprecation") /* AsyncTask */
public static List<Surface> surfaceList(
@NonNull Collection<DeferrableSurface> deferrableSurfaces, boolean removeNullSurfaces) {
ScheduledExecutorService scheduledExecutorService =
@@ -63,7 +63,7 @@
HandlerCompat.createAsync(Looper.getMainLooper()));
try {
return DeferrableSurfaces.surfaceListWithTimeout(deferrableSurfaces, removeNullSurfaces,
- Long.MAX_VALUE, AsyncTask.THREAD_POOL_EXECUTOR,
+ Long.MAX_VALUE, android.os.AsyncTask.THREAD_POOL_EXECUTOR,
scheduledExecutorService).get();
} catch (InterruptedException | ExecutionException e) {
return Collections.unmodifiableList(Collections.emptyList());
diff --git a/camera/camera-testing/src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java b/camera/camera-testing/src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java
index ed43db7..ce72f7e 100644
--- a/camera/camera-testing/src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java
+++ b/camera/camera-testing/src/main/java/androidx/camera/testing/activity/Camera2TestActivity.java
@@ -230,6 +230,7 @@
/**
* Creates a new {@link CameraCaptureSession} for camera preview.
*/
+ @SuppressWarnings("deprecation") /* createCaptureSession */
void createCameraPreviewSession() {
try {
SurfaceTexture texture = mTextureView.getSurfaceTexture();
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/TextureViewMeteringPointFactoryTest.java b/camera/camera-view/src/androidTest/java/androidx/camera/view/TextureViewMeteringPointFactoryTest.java
index 5b390e9..0447a80 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/TextureViewMeteringPointFactoryTest.java
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/TextureViewMeteringPointFactoryTest.java
@@ -102,6 +102,7 @@
private int mHeight;
@Before
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public void setUp() throws Throwable {
assumeTrue(CameraUtil.deviceHasCamera());
CoreAppTestUtil.assumeCompatibleDevice();
diff --git a/core/core-ktx/api/res-1.3.0-rc01.txt b/camera/camera-view/src/androidTest/java/androidx/camera/view/TransformableSurfaceViewTest.java
similarity index 100%
rename from core/core-ktx/api/res-1.3.0-rc01.txt
rename to camera/camera-view/src/androidTest/java/androidx/camera/view/TransformableSurfaceViewTest.java
diff --git a/core/core-ktx/api/res-1.3.0-rc01.txt b/camera/camera-view/src/main/java/androidx/camera/view/SurfaceRotation.java
similarity index 100%
copy from core/core-ktx/api/res-1.3.0-rc01.txt
copy to camera/camera-view/src/main/java/androidx/camera/view/SurfaceRotation.java
diff --git a/core/core-ktx/api/res-1.3.0-rc01.txt b/camera/camera-view/src/main/java/androidx/camera/view/TransformableSurfaceView.java
similarity index 100%
copy from core/core-ktx/api/res-1.3.0-rc01.txt
copy to camera/camera-view/src/main/java/androidx/camera/view/TransformableSurfaceView.java
diff --git a/camera/integration-tests/coretestapp/src/main/java/androidx/camera/integration/core/CameraXActivity.java b/camera/integration-tests/coretestapp/src/main/java/androidx/camera/integration/core/CameraXActivity.java
index 3be62c4..fa8ec77 100644
--- a/camera/integration-tests/coretestapp/src/main/java/androidx/camera/integration/core/CameraXActivity.java
+++ b/camera/integration-tests/coretestapp/src/main/java/androidx/camera/integration/core/CameraXActivity.java
@@ -325,6 +325,7 @@
}
/** @return One of 0, 90, 180, 270. */
+ @SuppressWarnings("deprecation") /* defaultDisplay */
private int getDisplayRotation() {
int displayRotation = getWindowManager().getDefaultDisplay().getRotation();
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/ImageUtils.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/ImageUtils.kt
index 678e8d8..60c4280 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/ImageUtils.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/ImageUtils.kt
@@ -31,12 +31,12 @@
import androidx.camera.core.ImageCapture
import androidx.camera.core.ImageCaptureException
import androidx.camera.core.ImageProxy
-import androidx.exifinterface.media.ExifInterface
import androidx.camera.integration.antelope.MainActivity.Companion.PHOTOS_DIR
import androidx.camera.integration.antelope.MainActivity.Companion.logd
import androidx.camera.integration.antelope.cameracontrollers.CameraState
import androidx.camera.integration.antelope.cameracontrollers.closeCameraX
import androidx.camera.integration.antelope.cameracontrollers.closePreviewAndCamera
+import androidx.exifinterface.media.ExifInterface
import java.io.ByteArrayInputStream
import java.io.File
import java.io.FileOutputStream
@@ -71,6 +71,7 @@
when (image.format) {
ImageFormat.JPEG -> {
// Orientation
+ @Suppress("DEPRECATION") /* defaultDisplay */
val rotation = activity.windowManager.defaultDisplay.rotation
val capturedImageRotation = getOrientation(params, rotation)
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2Controller.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2Controller.kt
index 2a626c1..7a1faa0 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2Controller.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2Controller.kt
@@ -110,6 +110,7 @@
params.captureRequestBuilder?.removeTarget(params.previewSurfaceView?.holder?.surface!!)
params.captureRequestBuilder?.addTarget(surface)
+ @Suppress("DEPRECATION")
params.device?.createCaptureSession(Arrays.asList(surface, imageSurface),
Camera2PreviewSessionStateCallback(activity, params, testConfig), null)
} catch (e: CameraAccessException) {
@@ -222,6 +223,7 @@
/**
* Make a still capture request. At this point, AF and AE should be converged or unnecessary.
*/
+@Suppress("DEPRECATION") /* defaultDisplay */
fun captureStillPicture(activity: MainActivity, params: CameraParams, testConfig: TestConfig) {
if (!params.isOpen) {
return
@@ -260,6 +262,7 @@
}
// Orientation
+ @Suppress("DEPRECATION") /* defaultDisplay */
val rotation = activity.windowManager.defaultDisplay.rotation
val capturedImageRotation = getOrientation(params, rotation)
params.captureRequestBuilder
diff --git a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2PreviewSessionStateCallback.kt b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2PreviewSessionStateCallback.kt
index 2a1afbf..63760c7 100644
--- a/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2PreviewSessionStateCallback.kt
+++ b/camera/integration-tests/timingtestapp/src/main/java/androidx/camera/integration/antelope/cameracontrollers/Camera2PreviewSessionStateCallback.kt
@@ -171,6 +171,7 @@
val surface = Surface(surfaceTexture)
try {
+ @Suppress("DEPRECATION")
params.device?.createCaptureSession(
Arrays.asList(surface),
object : CameraCaptureSession.StateCallback() {
diff --git a/cardview/cardview/build.gradle b/cardview/cardview/build.gradle
index e190825..5a7f6f9 100644
--- a/cardview/cardview/build.gradle
+++ b/cardview/cardview/build.gradle
@@ -7,7 +7,7 @@
id("com.android.library")
}
-dependencies {
+dependencies {
api("androidx.annotation:annotation:1.1.0")
implementation("androidx.core:core:1.3.0-beta01")
}
diff --git a/collection/collection/api/api_lint.ignore b/collection/collection/api/api_lint.ignore
index 03c418f..3b2f13b 100644
--- a/collection/collection/api/api_lint.ignore
+++ b/collection/collection/api/api_lint.ignore
@@ -35,8 +35,6 @@
Missing nullability on parameter `map` in method `putAll`
MissingNullability: androidx.collection.ArrayMap#values():
Missing nullability on method `values` return
-MissingNullability: androidx.collection.ArraySet#iterator():
- Missing nullability on method `iterator` return
MissingNullability: androidx.collection.LongSparseArray#clone():
Missing nullability on method `clone` return
MissingNullability: androidx.collection.LongSparseArray#remove(long, Object) parameter #1:
diff --git a/coordinatorlayout/coordinatorlayout/src/main/java/androidx/coordinatorlayout/widget/CoordinatorLayout.java b/coordinatorlayout/coordinatorlayout/src/main/java/androidx/coordinatorlayout/widget/CoordinatorLayout.java
index 1de1353..3a89eba 100644
--- a/coordinatorlayout/coordinatorlayout/src/main/java/androidx/coordinatorlayout/widget/CoordinatorLayout.java
+++ b/coordinatorlayout/coordinatorlayout/src/main/java/androidx/coordinatorlayout/widget/CoordinatorLayout.java
@@ -3337,6 +3337,7 @@
return super.requestChildRectangleOnScreen(child, rectangle, immediate);
}
+ @SuppressWarnings("deprecation") /* SYSTEM_UI_FLAG_LAYOUT_* */
private void setupForInsets() {
if (Build.VERSION.SDK_INT < 21) {
return;
diff --git a/core/core-ktx/api/1.3.0-rc01.txt b/core/core-ktx/api/1.3.0-rc01.txt
deleted file mode 100644
index cb5c321..0000000
--- a/core/core-ktx/api/1.3.0-rc01.txt
+++ /dev/null
@@ -1,599 +0,0 @@
-// Signature format: 3.0
-package androidx.core.animation {
-
- public final class AnimatorKt {
- method public static inline android.animation.Animator.AnimatorListener addListener(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> >
- method @RequiresApi(19) public static inline android.animation.Animator.AnimatorPauseListener addPauseListener(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> >
- method public static inline android.animation.Animator.AnimatorListener doOnCancel(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method public static inline android.animation.Animator.AnimatorListener doOnEnd(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.animation.Animator.AnimatorPauseListener doOnPause(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method public static inline android.animation.Animator.AnimatorListener doOnRepeat(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.animation.Animator.AnimatorPauseListener doOnResume(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method public static inline android.animation.Animator.AnimatorListener doOnStart(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- }
-
-}
-
-package androidx.core.content {
-
- public final class ContentValuesKt {
- method public static android.content.ContentValues contentValuesOf(kotlin.Pair<java.lang.String,?>... pairs);
- }
-
- public final class ContextKt {
- method public static inline <reified T> T! getSystemService(android.content.Context);
- method public static inline void withStyledAttributes(android.content.Context, android.util.AttributeSet? set = null, int[] attrs, @AttrRes int defStyleAttr = 0, @StyleRes int defStyleRes = 0, kotlin.jvm.functions.Function1<? super android.content.res.TypedArray,kotlin.Unit> block);
- method public static inline void withStyledAttributes(android.content.Context, @StyleRes int resourceId, int[] attrs, kotlin.jvm.functions.Function1<? super android.content.res.TypedArray,kotlin.Unit> block);
- }
-
- public final class SharedPreferencesKt {
- method public static inline void edit(android.content.SharedPreferences, boolean commit = false, kotlin.jvm.functions.Function1<? super android.content.SharedPreferences.Editor,kotlin.Unit> action);
- }
-
-}
-
-package androidx.core.content.res {
-
- public final class TypedArrayKt {
- method public static boolean getBooleanOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @ColorInt public static int getColorOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static android.content.res.ColorStateList getColorStateListOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static float getDimensionOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @Dimension public static int getDimensionPixelOffsetOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @Dimension public static int getDimensionPixelSizeOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static android.graphics.drawable.Drawable getDrawableOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static float getFloatOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @RequiresApi(26) public static android.graphics.Typeface getFontOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static int getIntOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static int getIntegerOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @AnyRes public static int getResourceIdOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static String getStringOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static CharSequence![] getTextArrayOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static CharSequence getTextOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static inline <R> R! use(android.content.res.TypedArray, kotlin.jvm.functions.Function1<? super android.content.res.TypedArray,? extends R> block);
- }
-
-}
-
-package androidx.core.database {
-
- public final class CursorKt {
- method public static inline byte[]? getBlobOrNull(android.database.Cursor, int index);
- method public static inline Double? getDoubleOrNull(android.database.Cursor, int index);
- method public static inline Float? getFloatOrNull(android.database.Cursor, int index);
- method public static inline Integer? getIntOrNull(android.database.Cursor, int index);
- method public static inline Long? getLongOrNull(android.database.Cursor, int index);
- method public static inline Short? getShortOrNull(android.database.Cursor, int index);
- method public static inline String? getStringOrNull(android.database.Cursor, int index);
- }
-
-}
-
-package androidx.core.database.sqlite {
-
- public final class SQLiteDatabaseKt {
- method public static inline <T> T! transaction(android.database.sqlite.SQLiteDatabase, boolean exclusive = true, kotlin.jvm.functions.Function1<? super android.database.sqlite.SQLiteDatabase,? extends T> body);
- }
-
-}
-
-package androidx.core.graphics {
-
- public final class BitmapKt {
- method public static inline android.graphics.Bitmap applyCanvas(android.graphics.Bitmap, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline operator boolean contains(android.graphics.Bitmap, android.graphics.Point p);
- method public static inline operator boolean contains(android.graphics.Bitmap, android.graphics.PointF p);
- method public static inline android.graphics.Bitmap createBitmap(int width, int height, android.graphics.Bitmap.Config config = android.graphics.Bitmap.Config.ARGB_8888);
- method @RequiresApi(26) public static inline android.graphics.Bitmap createBitmap(int width, int height, android.graphics.Bitmap.Config config = android.graphics.Bitmap.Config.ARGB_8888, boolean hasAlpha = true, android.graphics.ColorSpace colorSpace = ColorSpace.get(ColorSpace.Named.SRGB));
- method public static inline operator int get(android.graphics.Bitmap, int x, int y);
- method public static inline android.graphics.Bitmap scale(android.graphics.Bitmap, int width, int height, boolean filter = true);
- method public static inline operator void set(android.graphics.Bitmap, int x, int y, @ColorInt int color);
- }
-
- public final class CanvasKt {
- method public static inline void withClip(android.graphics.Canvas, android.graphics.Rect clipRect, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, android.graphics.RectF clipRect, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, int left, int top, int right, int bottom, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, android.graphics.Path clipPath, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withMatrix(android.graphics.Canvas, android.graphics.Matrix matrix = android.graphics.Matrix(), kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withRotation(android.graphics.Canvas, float degrees = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withSave(android.graphics.Canvas, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withScale(android.graphics.Canvas, float x = 1.0f, float y = 1.0f, float pivotX = 0.0f, float pivotY = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withSkew(android.graphics.Canvas, float x = 0.0f, float y = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withTranslation(android.graphics.Canvas, float x = 0.0f, float y = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- }
-
- public final class ColorKt {
- method @RequiresApi(26) public static inline operator float component1(android.graphics.Color);
- method public static inline operator int component1(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component1(@ColorLong long);
- method @RequiresApi(26) public static inline operator float component2(android.graphics.Color);
- method public static inline operator int component2(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component2(@ColorLong long);
- method @RequiresApi(26) public static inline operator float component3(android.graphics.Color);
- method public static inline operator int component3(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component3(@ColorLong long);
- method @RequiresApi(26) public static inline operator float component4(android.graphics.Color);
- method public static inline operator int component4(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component4(@ColorLong long);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorInt int, android.graphics.ColorSpace.Named colorSpace);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorInt int, android.graphics.ColorSpace colorSpace);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorLong long, android.graphics.ColorSpace.Named colorSpace);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorLong long, android.graphics.ColorSpace colorSpace);
- method @RequiresApi(26) public static inline infix android.graphics.Color convertTo(android.graphics.Color, android.graphics.ColorSpace.Named colorSpace);
- method @RequiresApi(26) public static inline infix android.graphics.Color convertTo(android.graphics.Color, android.graphics.ColorSpace colorSpace);
- method public static inline int getAlpha(@ColorInt int);
- method @RequiresApi(26) public static inline float getAlpha(@ColorLong long);
- method public static inline int getBlue(@ColorInt int);
- method @RequiresApi(26) public static inline float getBlue(@ColorLong long);
- method @RequiresApi(26) public static inline android.graphics.ColorSpace getColorSpace(@ColorLong long);
- method public static inline int getGreen(@ColorInt int);
- method @RequiresApi(26) public static inline float getGreen(@ColorLong long);
- method @RequiresApi(26) public static inline float getLuminance(@ColorInt int);
- method @RequiresApi(26) public static inline float getLuminance(@ColorLong long);
- method public static inline int getRed(@ColorInt int);
- method @RequiresApi(26) public static inline float getRed(@ColorLong long);
- method @RequiresApi(26) public static inline boolean isSrgb(@ColorLong long);
- method @RequiresApi(26) public static inline boolean isWideGamut(@ColorLong long);
- method @RequiresApi(26) public static operator android.graphics.Color plus(android.graphics.Color, android.graphics.Color c);
- method @RequiresApi(26) public static inline android.graphics.Color toColor(@ColorInt int);
- method @RequiresApi(26) public static inline android.graphics.Color toColor(@ColorLong long);
- method @ColorInt @RequiresApi(26) public static inline int toColorInt(@ColorLong long);
- method @ColorInt public static inline int toColorInt(String);
- method @ColorLong @RequiresApi(26) public static inline long toColorLong(@ColorInt int);
- }
-
- public final class ImageDecoderKt {
- method @RequiresApi(28) public static inline android.graphics.Bitmap decodeBitmap(android.graphics.ImageDecoder.Source, kotlin.jvm.functions.Function3<? super android.graphics.ImageDecoder,? super android.graphics.ImageDecoder.ImageInfo,? super android.graphics.ImageDecoder.Source,kotlin.Unit> action);
- method @RequiresApi(28) public static inline android.graphics.drawable.Drawable decodeDrawable(android.graphics.ImageDecoder.Source, kotlin.jvm.functions.Function3<? super android.graphics.ImageDecoder,? super android.graphics.ImageDecoder.ImageInfo,? super android.graphics.ImageDecoder.Source,kotlin.Unit> action);
- }
-
- public final class MatrixKt {
- method public static android.graphics.Matrix rotationMatrix(float degrees, float px = 0.0f, float py = 0.0f);
- method public static android.graphics.Matrix scaleMatrix(float sx = 1.0f, float sy = 1.0f);
- method public static inline operator android.graphics.Matrix times(android.graphics.Matrix, android.graphics.Matrix m);
- method public static android.graphics.Matrix translationMatrix(float tx = 0.0f, float ty = 0.0f);
- method public static inline float[] values(android.graphics.Matrix);
- }
-
- public final class PaintKt {
- method public static inline boolean setBlendMode(android.graphics.Paint, androidx.core.graphics.BlendModeCompat? blendModeCompat);
- }
-
- public final class PathKt {
- method @RequiresApi(19) public static inline infix android.graphics.Path and(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(26) public static Iterable<androidx.core.graphics.PathSegment> flatten(android.graphics.Path, float error = 0.5f);
- method @RequiresApi(19) public static inline operator android.graphics.Path minus(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(19) public static inline infix android.graphics.Path or(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(19) public static inline operator android.graphics.Path plus(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(19) public static inline infix android.graphics.Path xor(android.graphics.Path, android.graphics.Path p);
- }
-
- public final class PictureKt {
- method public static inline android.graphics.Picture record(android.graphics.Picture, int width, int height, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- }
-
- public final class PointKt {
- method public static inline operator int component1(android.graphics.Point);
- method public static inline operator float component1(android.graphics.PointF);
- method public static inline operator int component2(android.graphics.Point);
- method public static inline operator float component2(android.graphics.PointF);
- method public static inline operator android.graphics.Point minus(android.graphics.Point, android.graphics.Point p);
- method public static inline operator android.graphics.PointF minus(android.graphics.PointF, android.graphics.PointF p);
- method public static inline operator android.graphics.Point minus(android.graphics.Point, int xy);
- method public static inline operator android.graphics.PointF minus(android.graphics.PointF, float xy);
- method public static inline operator android.graphics.Point plus(android.graphics.Point, android.graphics.Point p);
- method public static inline operator android.graphics.PointF plus(android.graphics.PointF, android.graphics.PointF p);
- method public static inline operator android.graphics.Point plus(android.graphics.Point, int xy);
- method public static inline operator android.graphics.PointF plus(android.graphics.PointF, float xy);
- method public static inline android.graphics.Point toPoint(android.graphics.PointF);
- method public static inline android.graphics.PointF toPointF(android.graphics.Point);
- method public static inline operator android.graphics.Point unaryMinus(android.graphics.Point);
- method public static inline operator android.graphics.PointF unaryMinus(android.graphics.PointF);
- }
-
- public final class PorterDuffKt {
- method public static inline android.graphics.PorterDuffColorFilter toColorFilter(android.graphics.PorterDuff.Mode, int color);
- method public static inline android.graphics.PorterDuffXfermode toXfermode(android.graphics.PorterDuff.Mode);
- }
-
- public final class RectKt {
- method public static inline infix android.graphics.Rect and(android.graphics.Rect, android.graphics.Rect r);
- method public static inline infix android.graphics.RectF and(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator int component1(android.graphics.Rect);
- method public static inline operator float component1(android.graphics.RectF);
- method public static inline operator int component2(android.graphics.Rect);
- method public static inline operator float component2(android.graphics.RectF);
- method public static inline operator int component3(android.graphics.Rect);
- method public static inline operator float component3(android.graphics.RectF);
- method public static inline operator int component4(android.graphics.Rect);
- method public static inline operator float component4(android.graphics.RectF);
- method public static inline operator boolean contains(android.graphics.Rect, android.graphics.Point p);
- method public static inline operator boolean contains(android.graphics.RectF, android.graphics.PointF p);
- method public static inline operator android.graphics.Region minus(android.graphics.Rect, android.graphics.Rect r);
- method public static inline operator android.graphics.Region minus(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator android.graphics.Rect minus(android.graphics.Rect, int xy);
- method public static inline operator android.graphics.RectF minus(android.graphics.RectF, float xy);
- method public static inline operator android.graphics.Rect minus(android.graphics.Rect, android.graphics.Point xy);
- method public static inline operator android.graphics.RectF minus(android.graphics.RectF, android.graphics.PointF xy);
- method public static inline infix android.graphics.Rect or(android.graphics.Rect, android.graphics.Rect r);
- method public static inline infix android.graphics.RectF or(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator android.graphics.Rect plus(android.graphics.Rect, android.graphics.Rect r);
- method public static inline operator android.graphics.RectF plus(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator android.graphics.Rect plus(android.graphics.Rect, int xy);
- method public static inline operator android.graphics.RectF plus(android.graphics.RectF, float xy);
- method public static inline operator android.graphics.Rect plus(android.graphics.Rect, android.graphics.Point xy);
- method public static inline operator android.graphics.RectF plus(android.graphics.RectF, android.graphics.PointF xy);
- method public static inline operator android.graphics.Rect times(android.graphics.Rect, int factor);
- method public static inline operator android.graphics.RectF times(android.graphics.RectF, int factor);
- method public static inline operator android.graphics.RectF times(android.graphics.RectF, float factor);
- method public static inline android.graphics.Rect toRect(android.graphics.RectF);
- method public static inline android.graphics.RectF toRectF(android.graphics.Rect);
- method public static inline android.graphics.Region toRegion(android.graphics.Rect);
- method public static inline android.graphics.Region toRegion(android.graphics.RectF);
- method public static inline android.graphics.RectF transform(android.graphics.RectF, android.graphics.Matrix m);
- method public static inline infix android.graphics.Region xor(android.graphics.Rect, android.graphics.Rect r);
- method public static inline infix android.graphics.Region xor(android.graphics.RectF, android.graphics.RectF r);
- }
-
- public final class RegionKt {
- method public static inline infix android.graphics.Region and(android.graphics.Region, android.graphics.Rect r);
- method public static inline infix android.graphics.Region and(android.graphics.Region, android.graphics.Region r);
- method public static inline operator boolean contains(android.graphics.Region, android.graphics.Point p);
- method public static inline void forEach(android.graphics.Region, kotlin.jvm.functions.Function1<? super android.graphics.Rect,kotlin.Unit> action);
- method public static operator java.util.Iterator<android.graphics.Rect> iterator(android.graphics.Region);
- method public static inline operator android.graphics.Region minus(android.graphics.Region, android.graphics.Rect r);
- method public static inline operator android.graphics.Region minus(android.graphics.Region, android.graphics.Region r);
- method public static inline operator android.graphics.Region not(android.graphics.Region);
- method public static inline infix android.graphics.Region or(android.graphics.Region, android.graphics.Rect r);
- method public static inline infix android.graphics.Region or(android.graphics.Region, android.graphics.Region r);
- method public static inline operator android.graphics.Region plus(android.graphics.Region, android.graphics.Rect r);
- method public static inline operator android.graphics.Region plus(android.graphics.Region, android.graphics.Region r);
- method public static inline operator android.graphics.Region unaryMinus(android.graphics.Region);
- method public static inline infix android.graphics.Region xor(android.graphics.Region, android.graphics.Rect r);
- method public static inline infix android.graphics.Region xor(android.graphics.Region, android.graphics.Region r);
- }
-
- public final class ShaderKt {
- method public static inline void transform(android.graphics.Shader, kotlin.jvm.functions.Function1<? super android.graphics.Matrix,kotlin.Unit> block);
- }
-
-}
-
-package androidx.core.graphics.drawable {
-
- public final class BitmapDrawableKt {
- method public static inline android.graphics.drawable.BitmapDrawable toDrawable(android.graphics.Bitmap, android.content.res.Resources resources);
- }
-
- public final class ColorDrawableKt {
- method public static inline android.graphics.drawable.ColorDrawable toDrawable(@ColorInt int);
- method @RequiresApi(26) public static inline android.graphics.drawable.ColorDrawable toDrawable(android.graphics.Color);
- }
-
- public final class DrawableKt {
- method public static android.graphics.Bitmap toBitmap(android.graphics.drawable.Drawable, @Px int width = intrinsicWidth, @Px int height = intrinsicHeight, android.graphics.Bitmap.Config? config = null);
- method public static void updateBounds(android.graphics.drawable.Drawable, @Px int left = android.graphics.Rect.left, @Px int top = android.graphics.Rect.top, @Px int right = android.graphics.Rect.right, @Px int bottom = android.graphics.Rect.bottom);
- }
-
- public final class IconKt {
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toAdaptiveIcon(android.graphics.Bitmap);
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toIcon(android.graphics.Bitmap);
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toIcon(android.net.Uri);
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toIcon(byte[]);
- }
-
-}
-
-package androidx.core.location {
-
- public final class LocationKt {
- method public static inline operator double component1(android.location.Location);
- method public static inline operator double component2(android.location.Location);
- }
-
-}
-
-package androidx.core.net {
-
- public final class UriKt {
- method public static java.io.File toFile(android.net.Uri);
- method public static inline android.net.Uri toUri(String);
- method public static inline android.net.Uri toUri(java.io.File);
- }
-
-}
-
-package androidx.core.os {
-
- public final class BundleKt {
- method public static android.os.Bundle bundleOf(kotlin.Pair<java.lang.String,?>... pairs);
- }
-
- public final class HandlerKt {
- method public static inline Runnable postAtTime(android.os.Handler, long uptimeMillis, Object? token = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- method public static inline Runnable postDelayed(android.os.Handler, long delayInMillis, Object? token = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- }
-
- public final class PersistableBundleKt {
- method @RequiresApi(21) public static android.os.PersistableBundle persistableBundleOf(kotlin.Pair<java.lang.String,?>... pairs);
- }
-
- public final class TraceKt {
- method public static inline <T> T! trace(String sectionName, kotlin.jvm.functions.Function0<? extends T> block);
- }
-
-}
-
-package androidx.core.text {
-
- public final class CharSequenceKt {
- method public static inline boolean isDigitsOnly(CharSequence);
- method public static inline int trimmedLength(CharSequence);
- }
-
- public final class HtmlKt {
- method public static inline android.text.Spanned parseAsHtml(String, int flags = 0, android.text.Html.ImageGetter? imageGetter = null, android.text.Html.TagHandler? tagHandler = null);
- method public static inline String toHtml(android.text.Spanned, int option = 0);
- }
-
- public final class LocaleKt {
- method @RequiresApi(17) public static inline int getLayoutDirection(java.util.Locale);
- }
-
- public final class SpannableStringBuilderKt {
- method public static inline android.text.SpannableStringBuilder backgroundColor(android.text.SpannableStringBuilder, @ColorInt int color, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder bold(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannedString buildSpannedString(kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder color(android.text.SpannableStringBuilder, @ColorInt int color, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder inSpans(android.text.SpannableStringBuilder, Object![] spans, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder inSpans(android.text.SpannableStringBuilder, Object span, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder italic(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder scale(android.text.SpannableStringBuilder, float proportion, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder strikeThrough(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder subscript(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder superscript(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder underline(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- }
-
- public final class SpannableStringKt {
- method public static inline void clearSpans(android.text.Spannable);
- method public static inline operator void set(android.text.Spannable, int start, int end, Object span);
- method public static inline operator void set(android.text.Spannable, kotlin.ranges.IntRange range, Object span);
- method public static inline android.text.Spannable toSpannable(CharSequence);
- }
-
- public final class SpannedStringKt {
- method public static inline <reified T> T![] getSpans(android.text.Spanned, int start = 0, int end = length);
- method public static inline android.text.Spanned toSpanned(CharSequence);
- }
-
- public final class StringKt {
- method public static inline String htmlEncode(String);
- }
-
-}
-
-package androidx.core.transition {
-
- public final class TransitionKt {
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener addListener(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> >
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnCancel(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnEnd(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnPause(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnResume(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnStart(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- }
-
-}
-
-package androidx.core.util {
-
- public final class AtomicFileKt {
- method @RequiresApi(17) public static inline byte[] readBytes(android.util.AtomicFile);
- method @RequiresApi(17) public static String readText(android.util.AtomicFile, java.nio.charset.Charset charset = Charsets.UTF_8);
- method @RequiresApi(17) public static inline void tryWrite(android.util.AtomicFile, kotlin.jvm.functions.Function1<? super java.io.FileOutputStream,kotlin.Unit> block);
- method @RequiresApi(17) public static void writeBytes(android.util.AtomicFile, byte[] array);
- method @RequiresApi(17) public static void writeText(android.util.AtomicFile, String text, java.nio.charset.Charset charset = Charsets.UTF_8);
- }
-
- public final class HalfKt {
- method @RequiresApi(26) public static inline android.util.Half toHalf(@HalfFloat short);
- method @RequiresApi(26) public static inline android.util.Half toHalf(float);
- method @RequiresApi(26) public static inline android.util.Half toHalf(double);
- method @RequiresApi(26) public static inline android.util.Half toHalf(String);
- }
-
- public final class LongSparseArrayKt {
- method @RequiresApi(16) public static inline operator <T> boolean contains(android.util.LongSparseArray<T>, long key);
- method @RequiresApi(16) public static inline <T> boolean containsKey(android.util.LongSparseArray<T>, long key);
- method @RequiresApi(16) public static inline <T> boolean containsValue(android.util.LongSparseArray<T>, T? value);
- method @RequiresApi(16) public static inline <T> void forEach(android.util.LongSparseArray<T>, kotlin.jvm.functions.Function2<? super java.lang.Long,? super T,kotlin.Unit> action);
- method @RequiresApi(16) public static inline <T> T! getOrDefault(android.util.LongSparseArray<T>, long key, T? defaultValue);
- method @RequiresApi(16) public static inline <T> T! getOrElse(android.util.LongSparseArray<T>, long key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
- method @RequiresApi(16) public static inline <T> int getSize(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static inline <T> boolean isEmpty(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static inline <T> boolean isNotEmpty(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static <T> kotlin.collections.LongIterator keyIterator(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static operator <T> android.util.LongSparseArray<T> plus(android.util.LongSparseArray<T>, android.util.LongSparseArray<T> other);
- method @RequiresApi(16) public static <T> void putAll(android.util.LongSparseArray<T>, android.util.LongSparseArray<T> other);
- method @RequiresApi(16) public static <T> boolean remove(android.util.LongSparseArray<T>, long key, T? value);
- method @RequiresApi(16) public static inline operator <T> void set(android.util.LongSparseArray<T>, long key, T? value);
- method @RequiresApi(16) public static <T> java.util.Iterator<T> valueIterator(android.util.LongSparseArray<T>);
- }
-
- public final class LruCacheKt {
- method public static inline <K, V> android.util.LruCache<K,V> lruCache(int maxSize, kotlin.jvm.functions.Function2<? super K,? super V,java.lang.Integer> sizeOf = { _, _ -> 1 }, kotlin.jvm.functions.Function1<? super K,? extends V> create = { (V)null }, kotlin.jvm.functions.Function4<? super java.lang.Boolean,? super K,? super V,? super V,kotlin.Unit> _, _, _, _ -> });
- }
-
- public final class PairKt {
- method public static inline operator <F, S> F! component1(android.util.Pair<F,S>);
- method public static inline operator <F, S> S! component2(android.util.Pair<F,S>);
- method public static inline <F, S> android.util.Pair<F,S> toAndroidPair(kotlin.Pair<? extends F,? extends S>);
- method public static inline <F, S> kotlin.Pair<F,S> toKotlinPair(android.util.Pair<F,S>);
- }
-
- public final class RangeKt {
- method @RequiresApi(21) public static inline infix <T extends java.lang.Comparable<? super T>> android.util.Range<T> and(android.util.Range<T>, android.util.Range<T> other);
- method @RequiresApi(21) public static inline operator <T extends java.lang.Comparable<? super T>> android.util.Range<T> plus(android.util.Range<T>, T value);
- method @RequiresApi(21) public static inline operator <T extends java.lang.Comparable<? super T>> android.util.Range<T> plus(android.util.Range<T>, android.util.Range<T> other);
- method @RequiresApi(21) public static inline infix <T extends java.lang.Comparable<? super T>> android.util.Range<T> rangeTo(T, T that);
- method @RequiresApi(21) public static <T extends java.lang.Comparable<? super T>> kotlin.ranges.ClosedRange<T> toClosedRange(android.util.Range<T>);
- method @RequiresApi(21) public static <T extends java.lang.Comparable<? super T>> android.util.Range<T> toRange(kotlin.ranges.ClosedRange<T>);
- }
-
- public final class SizeKt {
- method @RequiresApi(21) public static inline operator int component1(android.util.Size);
- method @RequiresApi(21) public static inline operator float component1(android.util.SizeF);
- method @RequiresApi(21) public static inline operator int component2(android.util.Size);
- method @RequiresApi(21) public static inline operator float component2(android.util.SizeF);
- }
-
- public final class SparseArrayKt {
- method public static inline operator <T> boolean contains(android.util.SparseArray<T>, int key);
- method public static inline <T> boolean containsKey(android.util.SparseArray<T>, int key);
- method public static inline <T> boolean containsValue(android.util.SparseArray<T>, T? value);
- method public static inline <T> void forEach(android.util.SparseArray<T>, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> action);
- method public static inline <T> T! getOrDefault(android.util.SparseArray<T>, int key, T? defaultValue);
- method public static inline <T> T! getOrElse(android.util.SparseArray<T>, int key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
- method public static inline <T> int getSize(android.util.SparseArray<T>);
- method public static inline <T> boolean isEmpty(android.util.SparseArray<T>);
- method public static inline <T> boolean isNotEmpty(android.util.SparseArray<T>);
- method public static <T> kotlin.collections.IntIterator keyIterator(android.util.SparseArray<T>);
- method public static operator <T> android.util.SparseArray<T> plus(android.util.SparseArray<T>, android.util.SparseArray<T> other);
- method public static <T> void putAll(android.util.SparseArray<T>, android.util.SparseArray<T> other);
- method public static <T> boolean remove(android.util.SparseArray<T>, int key, T? value);
- method public static inline operator <T> void set(android.util.SparseArray<T>, int key, T? value);
- method public static <T> java.util.Iterator<T> valueIterator(android.util.SparseArray<T>);
- }
-
- public final class SparseBooleanArrayKt {
- method public static inline operator boolean contains(android.util.SparseBooleanArray, int key);
- method public static inline boolean containsKey(android.util.SparseBooleanArray, int key);
- method public static inline boolean containsValue(android.util.SparseBooleanArray, boolean value);
- method public static inline void forEach(android.util.SparseBooleanArray, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> action);
- method public static inline boolean getOrDefault(android.util.SparseBooleanArray, int key, boolean defaultValue);
- method public static inline boolean getOrElse(android.util.SparseBooleanArray, int key, kotlin.jvm.functions.Function0<java.lang.Boolean> defaultValue);
- method public static inline int getSize(android.util.SparseBooleanArray);
- method public static inline boolean isEmpty(android.util.SparseBooleanArray);
- method public static inline boolean isNotEmpty(android.util.SparseBooleanArray);
- method public static kotlin.collections.IntIterator keyIterator(android.util.SparseBooleanArray);
- method public static operator android.util.SparseBooleanArray plus(android.util.SparseBooleanArray, android.util.SparseBooleanArray other);
- method public static void putAll(android.util.SparseBooleanArray, android.util.SparseBooleanArray other);
- method public static boolean remove(android.util.SparseBooleanArray, int key, boolean value);
- method public static inline operator void set(android.util.SparseBooleanArray, int key, boolean value);
- method public static kotlin.collections.BooleanIterator valueIterator(android.util.SparseBooleanArray);
- }
-
- public final class SparseIntArrayKt {
- method public static inline operator boolean contains(android.util.SparseIntArray, int key);
- method public static inline boolean containsKey(android.util.SparseIntArray, int key);
- method public static inline boolean containsValue(android.util.SparseIntArray, int value);
- method public static inline void forEach(android.util.SparseIntArray, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> action);
- method public static inline int getOrDefault(android.util.SparseIntArray, int key, int defaultValue);
- method public static inline int getOrElse(android.util.SparseIntArray, int key, kotlin.jvm.functions.Function0<java.lang.Integer> defaultValue);
- method public static inline int getSize(android.util.SparseIntArray);
- method public static inline boolean isEmpty(android.util.SparseIntArray);
- method public static inline boolean isNotEmpty(android.util.SparseIntArray);
- method public static kotlin.collections.IntIterator keyIterator(android.util.SparseIntArray);
- method public static operator android.util.SparseIntArray plus(android.util.SparseIntArray, android.util.SparseIntArray other);
- method public static void putAll(android.util.SparseIntArray, android.util.SparseIntArray other);
- method public static boolean remove(android.util.SparseIntArray, int key, int value);
- method public static inline operator void set(android.util.SparseIntArray, int key, int value);
- method public static kotlin.collections.IntIterator valueIterator(android.util.SparseIntArray);
- }
-
- public final class SparseLongArrayKt {
- method @RequiresApi(18) public static inline operator boolean contains(android.util.SparseLongArray, int key);
- method @RequiresApi(18) public static inline boolean containsKey(android.util.SparseLongArray, int key);
- method @RequiresApi(18) public static inline boolean containsValue(android.util.SparseLongArray, long value);
- method @RequiresApi(18) public static inline void forEach(android.util.SparseLongArray, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Long,kotlin.Unit> action);
- method @RequiresApi(18) public static inline long getOrDefault(android.util.SparseLongArray, int key, long defaultValue);
- method @RequiresApi(18) public static inline long getOrElse(android.util.SparseLongArray, int key, kotlin.jvm.functions.Function0<java.lang.Long> defaultValue);
- method @RequiresApi(18) public static inline int getSize(android.util.SparseLongArray);
- method @RequiresApi(18) public static inline boolean isEmpty(android.util.SparseLongArray);
- method @RequiresApi(18) public static inline boolean isNotEmpty(android.util.SparseLongArray);
- method @RequiresApi(18) public static kotlin.collections.IntIterator keyIterator(android.util.SparseLongArray);
- method @RequiresApi(18) public static operator android.util.SparseLongArray plus(android.util.SparseLongArray, android.util.SparseLongArray other);
- method @RequiresApi(18) public static void putAll(android.util.SparseLongArray, android.util.SparseLongArray other);
- method @RequiresApi(18) public static boolean remove(android.util.SparseLongArray, int key, long value);
- method @RequiresApi(18) public static inline operator void set(android.util.SparseLongArray, int key, long value);
- method @RequiresApi(18) public static kotlin.collections.LongIterator valueIterator(android.util.SparseLongArray);
- }
-
-}
-
-package androidx.core.view {
-
- public final class MenuKt {
- method public static operator boolean contains(android.view.Menu, android.view.MenuItem item);
- method public static inline void forEach(android.view.Menu, kotlin.jvm.functions.Function1<? super android.view.MenuItem,kotlin.Unit> action);
- method public static inline void forEachIndexed(android.view.Menu, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super android.view.MenuItem,kotlin.Unit> action);
- method public static inline operator android.view.MenuItem get(android.view.Menu, int index);
- method public static kotlin.sequences.Sequence<android.view.MenuItem> getChildren(android.view.Menu);
- method public static inline int getSize(android.view.Menu);
- method public static inline boolean isEmpty(android.view.Menu);
- method public static inline boolean isNotEmpty(android.view.Menu);
- method public static operator java.util.Iterator<android.view.MenuItem> iterator(android.view.Menu);
- method public static inline operator void minusAssign(android.view.Menu, android.view.MenuItem item);
- }
-
- public final class ViewGroupKt {
- method public static inline operator boolean contains(android.view.ViewGroup, android.view.View view);
- method public static inline void forEach(android.view.ViewGroup, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void forEachIndexed(android.view.ViewGroup, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super android.view.View,kotlin.Unit> action);
- method public static operator android.view.View get(android.view.ViewGroup, int index);
- method public static kotlin.sequences.Sequence<android.view.View> getChildren(android.view.ViewGroup);
- method public static inline int getSize(android.view.ViewGroup);
- method public static inline boolean isEmpty(android.view.ViewGroup);
- method public static inline boolean isNotEmpty(android.view.ViewGroup);
- method public static operator java.util.Iterator<android.view.View> iterator(android.view.ViewGroup);
- method public static inline operator void minusAssign(android.view.ViewGroup, android.view.View view);
- method public static inline operator void plusAssign(android.view.ViewGroup, android.view.View view);
- method public static inline void setMargins(android.view.ViewGroup.MarginLayoutParams, @Px int size);
- method public static inline void updateMargins(android.view.ViewGroup.MarginLayoutParams, @Px int left = android.view.ViewGroup.MarginLayoutParams.leftMargin, @Px int top = android.view.ViewGroup.MarginLayoutParams.topMargin, @Px int right = android.view.ViewGroup.MarginLayoutParams.rightMargin, @Px int bottom = android.view.ViewGroup.MarginLayoutParams.bottomMargin);
- method @RequiresApi(17) public static inline void updateMarginsRelative(android.view.ViewGroup.MarginLayoutParams, @Px int start = marginStart, @Px int top = android.view.ViewGroup.MarginLayoutParams.topMargin, @Px int end = marginEnd, @Px int bottom = android.view.ViewGroup.MarginLayoutParams.bottomMargin);
- }
-
- public final class ViewKt {
- method public static inline void doOnAttach(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void doOnDetach(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void doOnLayout(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void doOnNextLayout(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline androidx.core.view.OneShotPreDrawListener doOnPreDraw(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static android.graphics.Bitmap drawToBitmap(android.view.View, android.graphics.Bitmap.Config config = android.graphics.Bitmap.Config.ARGB_8888);
- method public static inline int getMarginBottom(android.view.View);
- method public static inline int getMarginEnd(android.view.View);
- method public static inline int getMarginLeft(android.view.View);
- method public static inline int getMarginRight(android.view.View);
- method public static inline int getMarginStart(android.view.View);
- method public static inline int getMarginTop(android.view.View);
- method public static inline boolean isGone(android.view.View);
- method public static inline boolean isInvisible(android.view.View);
- method public static inline boolean isVisible(android.view.View);
- method public static inline Runnable postDelayed(android.view.View, long delayInMillis, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- method @RequiresApi(16) public static inline Runnable postOnAnimationDelayed(android.view.View, long delayInMillis, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- method public static inline void setGone(android.view.View, boolean value);
- method public static inline void setInvisible(android.view.View, boolean value);
- method public static inline void setPadding(android.view.View, @Px int size);
- method public static inline void setVisible(android.view.View, boolean value);
- method public static inline void updateLayoutParams(android.view.View, kotlin.jvm.functions.Function1<? super android.view.ViewGroup.LayoutParams,kotlin.Unit> block);
- method public static inline <reified T extends android.view.ViewGroup.LayoutParams> void updateLayoutParamsTyped(android.view.View, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
- method public static inline void updatePadding(android.view.View, @Px int left = paddingLeft, @Px int top = paddingTop, @Px int right = paddingRight, @Px int bottom = paddingBottom);
- method @RequiresApi(17) public static inline void updatePaddingRelative(android.view.View, @Px int start = paddingStart, @Px int top = paddingTop, @Px int end = paddingEnd, @Px int bottom = paddingBottom);
- }
-
-}
-
-package androidx.core.widget {
-
- public final class TextViewKt {
- method public static inline android.text.TextWatcher addTextChangedListener(android.widget.TextView, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> beforeTextChanged = { _, _, _, _ -> }, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> _, _, _, _ -> }, kotlin.jvm.functions.Function1<? super android.text.Editable,kotlin.Unit> afterTextChanged = {});
- method public static inline android.text.TextWatcher doAfterTextChanged(android.widget.TextView, kotlin.jvm.functions.Function1<? super android.text.Editable,kotlin.Unit> action);
- method public static inline android.text.TextWatcher doBeforeTextChanged(android.widget.TextView, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> action);
- method public static inline android.text.TextWatcher doOnTextChanged(android.widget.TextView, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> action);
- }
-
-}
-
diff --git a/core/core-ktx/api/public_plus_experimental_1.3.0-rc01.txt b/core/core-ktx/api/public_plus_experimental_1.3.0-rc01.txt
deleted file mode 100644
index cb5c321..0000000
--- a/core/core-ktx/api/public_plus_experimental_1.3.0-rc01.txt
+++ /dev/null
@@ -1,599 +0,0 @@
-// Signature format: 3.0
-package androidx.core.animation {
-
- public final class AnimatorKt {
- method public static inline android.animation.Animator.AnimatorListener addListener(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> >
- method @RequiresApi(19) public static inline android.animation.Animator.AnimatorPauseListener addPauseListener(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> >
- method public static inline android.animation.Animator.AnimatorListener doOnCancel(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method public static inline android.animation.Animator.AnimatorListener doOnEnd(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.animation.Animator.AnimatorPauseListener doOnPause(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method public static inline android.animation.Animator.AnimatorListener doOnRepeat(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.animation.Animator.AnimatorPauseListener doOnResume(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method public static inline android.animation.Animator.AnimatorListener doOnStart(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- }
-
-}
-
-package androidx.core.content {
-
- public final class ContentValuesKt {
- method public static android.content.ContentValues contentValuesOf(kotlin.Pair<java.lang.String,?>... pairs);
- }
-
- public final class ContextKt {
- method public static inline <reified T> T! getSystemService(android.content.Context);
- method public static inline void withStyledAttributes(android.content.Context, android.util.AttributeSet? set = null, int[] attrs, @AttrRes int defStyleAttr = 0, @StyleRes int defStyleRes = 0, kotlin.jvm.functions.Function1<? super android.content.res.TypedArray,kotlin.Unit> block);
- method public static inline void withStyledAttributes(android.content.Context, @StyleRes int resourceId, int[] attrs, kotlin.jvm.functions.Function1<? super android.content.res.TypedArray,kotlin.Unit> block);
- }
-
- public final class SharedPreferencesKt {
- method public static inline void edit(android.content.SharedPreferences, boolean commit = false, kotlin.jvm.functions.Function1<? super android.content.SharedPreferences.Editor,kotlin.Unit> action);
- }
-
-}
-
-package androidx.core.content.res {
-
- public final class TypedArrayKt {
- method public static boolean getBooleanOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @ColorInt public static int getColorOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static android.content.res.ColorStateList getColorStateListOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static float getDimensionOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @Dimension public static int getDimensionPixelOffsetOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @Dimension public static int getDimensionPixelSizeOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static android.graphics.drawable.Drawable getDrawableOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static float getFloatOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @RequiresApi(26) public static android.graphics.Typeface getFontOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static int getIntOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static int getIntegerOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @AnyRes public static int getResourceIdOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static String getStringOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static CharSequence![] getTextArrayOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static CharSequence getTextOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static inline <R> R! use(android.content.res.TypedArray, kotlin.jvm.functions.Function1<? super android.content.res.TypedArray,? extends R> block);
- }
-
-}
-
-package androidx.core.database {
-
- public final class CursorKt {
- method public static inline byte[]? getBlobOrNull(android.database.Cursor, int index);
- method public static inline Double? getDoubleOrNull(android.database.Cursor, int index);
- method public static inline Float? getFloatOrNull(android.database.Cursor, int index);
- method public static inline Integer? getIntOrNull(android.database.Cursor, int index);
- method public static inline Long? getLongOrNull(android.database.Cursor, int index);
- method public static inline Short? getShortOrNull(android.database.Cursor, int index);
- method public static inline String? getStringOrNull(android.database.Cursor, int index);
- }
-
-}
-
-package androidx.core.database.sqlite {
-
- public final class SQLiteDatabaseKt {
- method public static inline <T> T! transaction(android.database.sqlite.SQLiteDatabase, boolean exclusive = true, kotlin.jvm.functions.Function1<? super android.database.sqlite.SQLiteDatabase,? extends T> body);
- }
-
-}
-
-package androidx.core.graphics {
-
- public final class BitmapKt {
- method public static inline android.graphics.Bitmap applyCanvas(android.graphics.Bitmap, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline operator boolean contains(android.graphics.Bitmap, android.graphics.Point p);
- method public static inline operator boolean contains(android.graphics.Bitmap, android.graphics.PointF p);
- method public static inline android.graphics.Bitmap createBitmap(int width, int height, android.graphics.Bitmap.Config config = android.graphics.Bitmap.Config.ARGB_8888);
- method @RequiresApi(26) public static inline android.graphics.Bitmap createBitmap(int width, int height, android.graphics.Bitmap.Config config = android.graphics.Bitmap.Config.ARGB_8888, boolean hasAlpha = true, android.graphics.ColorSpace colorSpace = ColorSpace.get(ColorSpace.Named.SRGB));
- method public static inline operator int get(android.graphics.Bitmap, int x, int y);
- method public static inline android.graphics.Bitmap scale(android.graphics.Bitmap, int width, int height, boolean filter = true);
- method public static inline operator void set(android.graphics.Bitmap, int x, int y, @ColorInt int color);
- }
-
- public final class CanvasKt {
- method public static inline void withClip(android.graphics.Canvas, android.graphics.Rect clipRect, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, android.graphics.RectF clipRect, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, int left, int top, int right, int bottom, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, android.graphics.Path clipPath, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withMatrix(android.graphics.Canvas, android.graphics.Matrix matrix = android.graphics.Matrix(), kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withRotation(android.graphics.Canvas, float degrees = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withSave(android.graphics.Canvas, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withScale(android.graphics.Canvas, float x = 1.0f, float y = 1.0f, float pivotX = 0.0f, float pivotY = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withSkew(android.graphics.Canvas, float x = 0.0f, float y = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withTranslation(android.graphics.Canvas, float x = 0.0f, float y = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- }
-
- public final class ColorKt {
- method @RequiresApi(26) public static inline operator float component1(android.graphics.Color);
- method public static inline operator int component1(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component1(@ColorLong long);
- method @RequiresApi(26) public static inline operator float component2(android.graphics.Color);
- method public static inline operator int component2(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component2(@ColorLong long);
- method @RequiresApi(26) public static inline operator float component3(android.graphics.Color);
- method public static inline operator int component3(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component3(@ColorLong long);
- method @RequiresApi(26) public static inline operator float component4(android.graphics.Color);
- method public static inline operator int component4(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component4(@ColorLong long);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorInt int, android.graphics.ColorSpace.Named colorSpace);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorInt int, android.graphics.ColorSpace colorSpace);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorLong long, android.graphics.ColorSpace.Named colorSpace);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorLong long, android.graphics.ColorSpace colorSpace);
- method @RequiresApi(26) public static inline infix android.graphics.Color convertTo(android.graphics.Color, android.graphics.ColorSpace.Named colorSpace);
- method @RequiresApi(26) public static inline infix android.graphics.Color convertTo(android.graphics.Color, android.graphics.ColorSpace colorSpace);
- method public static inline int getAlpha(@ColorInt int);
- method @RequiresApi(26) public static inline float getAlpha(@ColorLong long);
- method public static inline int getBlue(@ColorInt int);
- method @RequiresApi(26) public static inline float getBlue(@ColorLong long);
- method @RequiresApi(26) public static inline android.graphics.ColorSpace getColorSpace(@ColorLong long);
- method public static inline int getGreen(@ColorInt int);
- method @RequiresApi(26) public static inline float getGreen(@ColorLong long);
- method @RequiresApi(26) public static inline float getLuminance(@ColorInt int);
- method @RequiresApi(26) public static inline float getLuminance(@ColorLong long);
- method public static inline int getRed(@ColorInt int);
- method @RequiresApi(26) public static inline float getRed(@ColorLong long);
- method @RequiresApi(26) public static inline boolean isSrgb(@ColorLong long);
- method @RequiresApi(26) public static inline boolean isWideGamut(@ColorLong long);
- method @RequiresApi(26) public static operator android.graphics.Color plus(android.graphics.Color, android.graphics.Color c);
- method @RequiresApi(26) public static inline android.graphics.Color toColor(@ColorInt int);
- method @RequiresApi(26) public static inline android.graphics.Color toColor(@ColorLong long);
- method @ColorInt @RequiresApi(26) public static inline int toColorInt(@ColorLong long);
- method @ColorInt public static inline int toColorInt(String);
- method @ColorLong @RequiresApi(26) public static inline long toColorLong(@ColorInt int);
- }
-
- public final class ImageDecoderKt {
- method @RequiresApi(28) public static inline android.graphics.Bitmap decodeBitmap(android.graphics.ImageDecoder.Source, kotlin.jvm.functions.Function3<? super android.graphics.ImageDecoder,? super android.graphics.ImageDecoder.ImageInfo,? super android.graphics.ImageDecoder.Source,kotlin.Unit> action);
- method @RequiresApi(28) public static inline android.graphics.drawable.Drawable decodeDrawable(android.graphics.ImageDecoder.Source, kotlin.jvm.functions.Function3<? super android.graphics.ImageDecoder,? super android.graphics.ImageDecoder.ImageInfo,? super android.graphics.ImageDecoder.Source,kotlin.Unit> action);
- }
-
- public final class MatrixKt {
- method public static android.graphics.Matrix rotationMatrix(float degrees, float px = 0.0f, float py = 0.0f);
- method public static android.graphics.Matrix scaleMatrix(float sx = 1.0f, float sy = 1.0f);
- method public static inline operator android.graphics.Matrix times(android.graphics.Matrix, android.graphics.Matrix m);
- method public static android.graphics.Matrix translationMatrix(float tx = 0.0f, float ty = 0.0f);
- method public static inline float[] values(android.graphics.Matrix);
- }
-
- public final class PaintKt {
- method public static inline boolean setBlendMode(android.graphics.Paint, androidx.core.graphics.BlendModeCompat? blendModeCompat);
- }
-
- public final class PathKt {
- method @RequiresApi(19) public static inline infix android.graphics.Path and(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(26) public static Iterable<androidx.core.graphics.PathSegment> flatten(android.graphics.Path, float error = 0.5f);
- method @RequiresApi(19) public static inline operator android.graphics.Path minus(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(19) public static inline infix android.graphics.Path or(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(19) public static inline operator android.graphics.Path plus(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(19) public static inline infix android.graphics.Path xor(android.graphics.Path, android.graphics.Path p);
- }
-
- public final class PictureKt {
- method public static inline android.graphics.Picture record(android.graphics.Picture, int width, int height, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- }
-
- public final class PointKt {
- method public static inline operator int component1(android.graphics.Point);
- method public static inline operator float component1(android.graphics.PointF);
- method public static inline operator int component2(android.graphics.Point);
- method public static inline operator float component2(android.graphics.PointF);
- method public static inline operator android.graphics.Point minus(android.graphics.Point, android.graphics.Point p);
- method public static inline operator android.graphics.PointF minus(android.graphics.PointF, android.graphics.PointF p);
- method public static inline operator android.graphics.Point minus(android.graphics.Point, int xy);
- method public static inline operator android.graphics.PointF minus(android.graphics.PointF, float xy);
- method public static inline operator android.graphics.Point plus(android.graphics.Point, android.graphics.Point p);
- method public static inline operator android.graphics.PointF plus(android.graphics.PointF, android.graphics.PointF p);
- method public static inline operator android.graphics.Point plus(android.graphics.Point, int xy);
- method public static inline operator android.graphics.PointF plus(android.graphics.PointF, float xy);
- method public static inline android.graphics.Point toPoint(android.graphics.PointF);
- method public static inline android.graphics.PointF toPointF(android.graphics.Point);
- method public static inline operator android.graphics.Point unaryMinus(android.graphics.Point);
- method public static inline operator android.graphics.PointF unaryMinus(android.graphics.PointF);
- }
-
- public final class PorterDuffKt {
- method public static inline android.graphics.PorterDuffColorFilter toColorFilter(android.graphics.PorterDuff.Mode, int color);
- method public static inline android.graphics.PorterDuffXfermode toXfermode(android.graphics.PorterDuff.Mode);
- }
-
- public final class RectKt {
- method public static inline infix android.graphics.Rect and(android.graphics.Rect, android.graphics.Rect r);
- method public static inline infix android.graphics.RectF and(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator int component1(android.graphics.Rect);
- method public static inline operator float component1(android.graphics.RectF);
- method public static inline operator int component2(android.graphics.Rect);
- method public static inline operator float component2(android.graphics.RectF);
- method public static inline operator int component3(android.graphics.Rect);
- method public static inline operator float component3(android.graphics.RectF);
- method public static inline operator int component4(android.graphics.Rect);
- method public static inline operator float component4(android.graphics.RectF);
- method public static inline operator boolean contains(android.graphics.Rect, android.graphics.Point p);
- method public static inline operator boolean contains(android.graphics.RectF, android.graphics.PointF p);
- method public static inline operator android.graphics.Region minus(android.graphics.Rect, android.graphics.Rect r);
- method public static inline operator android.graphics.Region minus(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator android.graphics.Rect minus(android.graphics.Rect, int xy);
- method public static inline operator android.graphics.RectF minus(android.graphics.RectF, float xy);
- method public static inline operator android.graphics.Rect minus(android.graphics.Rect, android.graphics.Point xy);
- method public static inline operator android.graphics.RectF minus(android.graphics.RectF, android.graphics.PointF xy);
- method public static inline infix android.graphics.Rect or(android.graphics.Rect, android.graphics.Rect r);
- method public static inline infix android.graphics.RectF or(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator android.graphics.Rect plus(android.graphics.Rect, android.graphics.Rect r);
- method public static inline operator android.graphics.RectF plus(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator android.graphics.Rect plus(android.graphics.Rect, int xy);
- method public static inline operator android.graphics.RectF plus(android.graphics.RectF, float xy);
- method public static inline operator android.graphics.Rect plus(android.graphics.Rect, android.graphics.Point xy);
- method public static inline operator android.graphics.RectF plus(android.graphics.RectF, android.graphics.PointF xy);
- method public static inline operator android.graphics.Rect times(android.graphics.Rect, int factor);
- method public static inline operator android.graphics.RectF times(android.graphics.RectF, int factor);
- method public static inline operator android.graphics.RectF times(android.graphics.RectF, float factor);
- method public static inline android.graphics.Rect toRect(android.graphics.RectF);
- method public static inline android.graphics.RectF toRectF(android.graphics.Rect);
- method public static inline android.graphics.Region toRegion(android.graphics.Rect);
- method public static inline android.graphics.Region toRegion(android.graphics.RectF);
- method public static inline android.graphics.RectF transform(android.graphics.RectF, android.graphics.Matrix m);
- method public static inline infix android.graphics.Region xor(android.graphics.Rect, android.graphics.Rect r);
- method public static inline infix android.graphics.Region xor(android.graphics.RectF, android.graphics.RectF r);
- }
-
- public final class RegionKt {
- method public static inline infix android.graphics.Region and(android.graphics.Region, android.graphics.Rect r);
- method public static inline infix android.graphics.Region and(android.graphics.Region, android.graphics.Region r);
- method public static inline operator boolean contains(android.graphics.Region, android.graphics.Point p);
- method public static inline void forEach(android.graphics.Region, kotlin.jvm.functions.Function1<? super android.graphics.Rect,kotlin.Unit> action);
- method public static operator java.util.Iterator<android.graphics.Rect> iterator(android.graphics.Region);
- method public static inline operator android.graphics.Region minus(android.graphics.Region, android.graphics.Rect r);
- method public static inline operator android.graphics.Region minus(android.graphics.Region, android.graphics.Region r);
- method public static inline operator android.graphics.Region not(android.graphics.Region);
- method public static inline infix android.graphics.Region or(android.graphics.Region, android.graphics.Rect r);
- method public static inline infix android.graphics.Region or(android.graphics.Region, android.graphics.Region r);
- method public static inline operator android.graphics.Region plus(android.graphics.Region, android.graphics.Rect r);
- method public static inline operator android.graphics.Region plus(android.graphics.Region, android.graphics.Region r);
- method public static inline operator android.graphics.Region unaryMinus(android.graphics.Region);
- method public static inline infix android.graphics.Region xor(android.graphics.Region, android.graphics.Rect r);
- method public static inline infix android.graphics.Region xor(android.graphics.Region, android.graphics.Region r);
- }
-
- public final class ShaderKt {
- method public static inline void transform(android.graphics.Shader, kotlin.jvm.functions.Function1<? super android.graphics.Matrix,kotlin.Unit> block);
- }
-
-}
-
-package androidx.core.graphics.drawable {
-
- public final class BitmapDrawableKt {
- method public static inline android.graphics.drawable.BitmapDrawable toDrawable(android.graphics.Bitmap, android.content.res.Resources resources);
- }
-
- public final class ColorDrawableKt {
- method public static inline android.graphics.drawable.ColorDrawable toDrawable(@ColorInt int);
- method @RequiresApi(26) public static inline android.graphics.drawable.ColorDrawable toDrawable(android.graphics.Color);
- }
-
- public final class DrawableKt {
- method public static android.graphics.Bitmap toBitmap(android.graphics.drawable.Drawable, @Px int width = intrinsicWidth, @Px int height = intrinsicHeight, android.graphics.Bitmap.Config? config = null);
- method public static void updateBounds(android.graphics.drawable.Drawable, @Px int left = android.graphics.Rect.left, @Px int top = android.graphics.Rect.top, @Px int right = android.graphics.Rect.right, @Px int bottom = android.graphics.Rect.bottom);
- }
-
- public final class IconKt {
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toAdaptiveIcon(android.graphics.Bitmap);
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toIcon(android.graphics.Bitmap);
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toIcon(android.net.Uri);
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toIcon(byte[]);
- }
-
-}
-
-package androidx.core.location {
-
- public final class LocationKt {
- method public static inline operator double component1(android.location.Location);
- method public static inline operator double component2(android.location.Location);
- }
-
-}
-
-package androidx.core.net {
-
- public final class UriKt {
- method public static java.io.File toFile(android.net.Uri);
- method public static inline android.net.Uri toUri(String);
- method public static inline android.net.Uri toUri(java.io.File);
- }
-
-}
-
-package androidx.core.os {
-
- public final class BundleKt {
- method public static android.os.Bundle bundleOf(kotlin.Pair<java.lang.String,?>... pairs);
- }
-
- public final class HandlerKt {
- method public static inline Runnable postAtTime(android.os.Handler, long uptimeMillis, Object? token = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- method public static inline Runnable postDelayed(android.os.Handler, long delayInMillis, Object? token = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- }
-
- public final class PersistableBundleKt {
- method @RequiresApi(21) public static android.os.PersistableBundle persistableBundleOf(kotlin.Pair<java.lang.String,?>... pairs);
- }
-
- public final class TraceKt {
- method public static inline <T> T! trace(String sectionName, kotlin.jvm.functions.Function0<? extends T> block);
- }
-
-}
-
-package androidx.core.text {
-
- public final class CharSequenceKt {
- method public static inline boolean isDigitsOnly(CharSequence);
- method public static inline int trimmedLength(CharSequence);
- }
-
- public final class HtmlKt {
- method public static inline android.text.Spanned parseAsHtml(String, int flags = 0, android.text.Html.ImageGetter? imageGetter = null, android.text.Html.TagHandler? tagHandler = null);
- method public static inline String toHtml(android.text.Spanned, int option = 0);
- }
-
- public final class LocaleKt {
- method @RequiresApi(17) public static inline int getLayoutDirection(java.util.Locale);
- }
-
- public final class SpannableStringBuilderKt {
- method public static inline android.text.SpannableStringBuilder backgroundColor(android.text.SpannableStringBuilder, @ColorInt int color, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder bold(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannedString buildSpannedString(kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder color(android.text.SpannableStringBuilder, @ColorInt int color, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder inSpans(android.text.SpannableStringBuilder, Object![] spans, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder inSpans(android.text.SpannableStringBuilder, Object span, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder italic(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder scale(android.text.SpannableStringBuilder, float proportion, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder strikeThrough(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder subscript(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder superscript(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder underline(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- }
-
- public final class SpannableStringKt {
- method public static inline void clearSpans(android.text.Spannable);
- method public static inline operator void set(android.text.Spannable, int start, int end, Object span);
- method public static inline operator void set(android.text.Spannable, kotlin.ranges.IntRange range, Object span);
- method public static inline android.text.Spannable toSpannable(CharSequence);
- }
-
- public final class SpannedStringKt {
- method public static inline <reified T> T![] getSpans(android.text.Spanned, int start = 0, int end = length);
- method public static inline android.text.Spanned toSpanned(CharSequence);
- }
-
- public final class StringKt {
- method public static inline String htmlEncode(String);
- }
-
-}
-
-package androidx.core.transition {
-
- public final class TransitionKt {
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener addListener(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> >
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnCancel(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnEnd(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnPause(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnResume(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnStart(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- }
-
-}
-
-package androidx.core.util {
-
- public final class AtomicFileKt {
- method @RequiresApi(17) public static inline byte[] readBytes(android.util.AtomicFile);
- method @RequiresApi(17) public static String readText(android.util.AtomicFile, java.nio.charset.Charset charset = Charsets.UTF_8);
- method @RequiresApi(17) public static inline void tryWrite(android.util.AtomicFile, kotlin.jvm.functions.Function1<? super java.io.FileOutputStream,kotlin.Unit> block);
- method @RequiresApi(17) public static void writeBytes(android.util.AtomicFile, byte[] array);
- method @RequiresApi(17) public static void writeText(android.util.AtomicFile, String text, java.nio.charset.Charset charset = Charsets.UTF_8);
- }
-
- public final class HalfKt {
- method @RequiresApi(26) public static inline android.util.Half toHalf(@HalfFloat short);
- method @RequiresApi(26) public static inline android.util.Half toHalf(float);
- method @RequiresApi(26) public static inline android.util.Half toHalf(double);
- method @RequiresApi(26) public static inline android.util.Half toHalf(String);
- }
-
- public final class LongSparseArrayKt {
- method @RequiresApi(16) public static inline operator <T> boolean contains(android.util.LongSparseArray<T>, long key);
- method @RequiresApi(16) public static inline <T> boolean containsKey(android.util.LongSparseArray<T>, long key);
- method @RequiresApi(16) public static inline <T> boolean containsValue(android.util.LongSparseArray<T>, T? value);
- method @RequiresApi(16) public static inline <T> void forEach(android.util.LongSparseArray<T>, kotlin.jvm.functions.Function2<? super java.lang.Long,? super T,kotlin.Unit> action);
- method @RequiresApi(16) public static inline <T> T! getOrDefault(android.util.LongSparseArray<T>, long key, T? defaultValue);
- method @RequiresApi(16) public static inline <T> T! getOrElse(android.util.LongSparseArray<T>, long key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
- method @RequiresApi(16) public static inline <T> int getSize(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static inline <T> boolean isEmpty(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static inline <T> boolean isNotEmpty(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static <T> kotlin.collections.LongIterator keyIterator(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static operator <T> android.util.LongSparseArray<T> plus(android.util.LongSparseArray<T>, android.util.LongSparseArray<T> other);
- method @RequiresApi(16) public static <T> void putAll(android.util.LongSparseArray<T>, android.util.LongSparseArray<T> other);
- method @RequiresApi(16) public static <T> boolean remove(android.util.LongSparseArray<T>, long key, T? value);
- method @RequiresApi(16) public static inline operator <T> void set(android.util.LongSparseArray<T>, long key, T? value);
- method @RequiresApi(16) public static <T> java.util.Iterator<T> valueIterator(android.util.LongSparseArray<T>);
- }
-
- public final class LruCacheKt {
- method public static inline <K, V> android.util.LruCache<K,V> lruCache(int maxSize, kotlin.jvm.functions.Function2<? super K,? super V,java.lang.Integer> sizeOf = { _, _ -> 1 }, kotlin.jvm.functions.Function1<? super K,? extends V> create = { (V)null }, kotlin.jvm.functions.Function4<? super java.lang.Boolean,? super K,? super V,? super V,kotlin.Unit> _, _, _, _ -> });
- }
-
- public final class PairKt {
- method public static inline operator <F, S> F! component1(android.util.Pair<F,S>);
- method public static inline operator <F, S> S! component2(android.util.Pair<F,S>);
- method public static inline <F, S> android.util.Pair<F,S> toAndroidPair(kotlin.Pair<? extends F,? extends S>);
- method public static inline <F, S> kotlin.Pair<F,S> toKotlinPair(android.util.Pair<F,S>);
- }
-
- public final class RangeKt {
- method @RequiresApi(21) public static inline infix <T extends java.lang.Comparable<? super T>> android.util.Range<T> and(android.util.Range<T>, android.util.Range<T> other);
- method @RequiresApi(21) public static inline operator <T extends java.lang.Comparable<? super T>> android.util.Range<T> plus(android.util.Range<T>, T value);
- method @RequiresApi(21) public static inline operator <T extends java.lang.Comparable<? super T>> android.util.Range<T> plus(android.util.Range<T>, android.util.Range<T> other);
- method @RequiresApi(21) public static inline infix <T extends java.lang.Comparable<? super T>> android.util.Range<T> rangeTo(T, T that);
- method @RequiresApi(21) public static <T extends java.lang.Comparable<? super T>> kotlin.ranges.ClosedRange<T> toClosedRange(android.util.Range<T>);
- method @RequiresApi(21) public static <T extends java.lang.Comparable<? super T>> android.util.Range<T> toRange(kotlin.ranges.ClosedRange<T>);
- }
-
- public final class SizeKt {
- method @RequiresApi(21) public static inline operator int component1(android.util.Size);
- method @RequiresApi(21) public static inline operator float component1(android.util.SizeF);
- method @RequiresApi(21) public static inline operator int component2(android.util.Size);
- method @RequiresApi(21) public static inline operator float component2(android.util.SizeF);
- }
-
- public final class SparseArrayKt {
- method public static inline operator <T> boolean contains(android.util.SparseArray<T>, int key);
- method public static inline <T> boolean containsKey(android.util.SparseArray<T>, int key);
- method public static inline <T> boolean containsValue(android.util.SparseArray<T>, T? value);
- method public static inline <T> void forEach(android.util.SparseArray<T>, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> action);
- method public static inline <T> T! getOrDefault(android.util.SparseArray<T>, int key, T? defaultValue);
- method public static inline <T> T! getOrElse(android.util.SparseArray<T>, int key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
- method public static inline <T> int getSize(android.util.SparseArray<T>);
- method public static inline <T> boolean isEmpty(android.util.SparseArray<T>);
- method public static inline <T> boolean isNotEmpty(android.util.SparseArray<T>);
- method public static <T> kotlin.collections.IntIterator keyIterator(android.util.SparseArray<T>);
- method public static operator <T> android.util.SparseArray<T> plus(android.util.SparseArray<T>, android.util.SparseArray<T> other);
- method public static <T> void putAll(android.util.SparseArray<T>, android.util.SparseArray<T> other);
- method public static <T> boolean remove(android.util.SparseArray<T>, int key, T? value);
- method public static inline operator <T> void set(android.util.SparseArray<T>, int key, T? value);
- method public static <T> java.util.Iterator<T> valueIterator(android.util.SparseArray<T>);
- }
-
- public final class SparseBooleanArrayKt {
- method public static inline operator boolean contains(android.util.SparseBooleanArray, int key);
- method public static inline boolean containsKey(android.util.SparseBooleanArray, int key);
- method public static inline boolean containsValue(android.util.SparseBooleanArray, boolean value);
- method public static inline void forEach(android.util.SparseBooleanArray, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> action);
- method public static inline boolean getOrDefault(android.util.SparseBooleanArray, int key, boolean defaultValue);
- method public static inline boolean getOrElse(android.util.SparseBooleanArray, int key, kotlin.jvm.functions.Function0<java.lang.Boolean> defaultValue);
- method public static inline int getSize(android.util.SparseBooleanArray);
- method public static inline boolean isEmpty(android.util.SparseBooleanArray);
- method public static inline boolean isNotEmpty(android.util.SparseBooleanArray);
- method public static kotlin.collections.IntIterator keyIterator(android.util.SparseBooleanArray);
- method public static operator android.util.SparseBooleanArray plus(android.util.SparseBooleanArray, android.util.SparseBooleanArray other);
- method public static void putAll(android.util.SparseBooleanArray, android.util.SparseBooleanArray other);
- method public static boolean remove(android.util.SparseBooleanArray, int key, boolean value);
- method public static inline operator void set(android.util.SparseBooleanArray, int key, boolean value);
- method public static kotlin.collections.BooleanIterator valueIterator(android.util.SparseBooleanArray);
- }
-
- public final class SparseIntArrayKt {
- method public static inline operator boolean contains(android.util.SparseIntArray, int key);
- method public static inline boolean containsKey(android.util.SparseIntArray, int key);
- method public static inline boolean containsValue(android.util.SparseIntArray, int value);
- method public static inline void forEach(android.util.SparseIntArray, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> action);
- method public static inline int getOrDefault(android.util.SparseIntArray, int key, int defaultValue);
- method public static inline int getOrElse(android.util.SparseIntArray, int key, kotlin.jvm.functions.Function0<java.lang.Integer> defaultValue);
- method public static inline int getSize(android.util.SparseIntArray);
- method public static inline boolean isEmpty(android.util.SparseIntArray);
- method public static inline boolean isNotEmpty(android.util.SparseIntArray);
- method public static kotlin.collections.IntIterator keyIterator(android.util.SparseIntArray);
- method public static operator android.util.SparseIntArray plus(android.util.SparseIntArray, android.util.SparseIntArray other);
- method public static void putAll(android.util.SparseIntArray, android.util.SparseIntArray other);
- method public static boolean remove(android.util.SparseIntArray, int key, int value);
- method public static inline operator void set(android.util.SparseIntArray, int key, int value);
- method public static kotlin.collections.IntIterator valueIterator(android.util.SparseIntArray);
- }
-
- public final class SparseLongArrayKt {
- method @RequiresApi(18) public static inline operator boolean contains(android.util.SparseLongArray, int key);
- method @RequiresApi(18) public static inline boolean containsKey(android.util.SparseLongArray, int key);
- method @RequiresApi(18) public static inline boolean containsValue(android.util.SparseLongArray, long value);
- method @RequiresApi(18) public static inline void forEach(android.util.SparseLongArray, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Long,kotlin.Unit> action);
- method @RequiresApi(18) public static inline long getOrDefault(android.util.SparseLongArray, int key, long defaultValue);
- method @RequiresApi(18) public static inline long getOrElse(android.util.SparseLongArray, int key, kotlin.jvm.functions.Function0<java.lang.Long> defaultValue);
- method @RequiresApi(18) public static inline int getSize(android.util.SparseLongArray);
- method @RequiresApi(18) public static inline boolean isEmpty(android.util.SparseLongArray);
- method @RequiresApi(18) public static inline boolean isNotEmpty(android.util.SparseLongArray);
- method @RequiresApi(18) public static kotlin.collections.IntIterator keyIterator(android.util.SparseLongArray);
- method @RequiresApi(18) public static operator android.util.SparseLongArray plus(android.util.SparseLongArray, android.util.SparseLongArray other);
- method @RequiresApi(18) public static void putAll(android.util.SparseLongArray, android.util.SparseLongArray other);
- method @RequiresApi(18) public static boolean remove(android.util.SparseLongArray, int key, long value);
- method @RequiresApi(18) public static inline operator void set(android.util.SparseLongArray, int key, long value);
- method @RequiresApi(18) public static kotlin.collections.LongIterator valueIterator(android.util.SparseLongArray);
- }
-
-}
-
-package androidx.core.view {
-
- public final class MenuKt {
- method public static operator boolean contains(android.view.Menu, android.view.MenuItem item);
- method public static inline void forEach(android.view.Menu, kotlin.jvm.functions.Function1<? super android.view.MenuItem,kotlin.Unit> action);
- method public static inline void forEachIndexed(android.view.Menu, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super android.view.MenuItem,kotlin.Unit> action);
- method public static inline operator android.view.MenuItem get(android.view.Menu, int index);
- method public static kotlin.sequences.Sequence<android.view.MenuItem> getChildren(android.view.Menu);
- method public static inline int getSize(android.view.Menu);
- method public static inline boolean isEmpty(android.view.Menu);
- method public static inline boolean isNotEmpty(android.view.Menu);
- method public static operator java.util.Iterator<android.view.MenuItem> iterator(android.view.Menu);
- method public static inline operator void minusAssign(android.view.Menu, android.view.MenuItem item);
- }
-
- public final class ViewGroupKt {
- method public static inline operator boolean contains(android.view.ViewGroup, android.view.View view);
- method public static inline void forEach(android.view.ViewGroup, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void forEachIndexed(android.view.ViewGroup, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super android.view.View,kotlin.Unit> action);
- method public static operator android.view.View get(android.view.ViewGroup, int index);
- method public static kotlin.sequences.Sequence<android.view.View> getChildren(android.view.ViewGroup);
- method public static inline int getSize(android.view.ViewGroup);
- method public static inline boolean isEmpty(android.view.ViewGroup);
- method public static inline boolean isNotEmpty(android.view.ViewGroup);
- method public static operator java.util.Iterator<android.view.View> iterator(android.view.ViewGroup);
- method public static inline operator void minusAssign(android.view.ViewGroup, android.view.View view);
- method public static inline operator void plusAssign(android.view.ViewGroup, android.view.View view);
- method public static inline void setMargins(android.view.ViewGroup.MarginLayoutParams, @Px int size);
- method public static inline void updateMargins(android.view.ViewGroup.MarginLayoutParams, @Px int left = android.view.ViewGroup.MarginLayoutParams.leftMargin, @Px int top = android.view.ViewGroup.MarginLayoutParams.topMargin, @Px int right = android.view.ViewGroup.MarginLayoutParams.rightMargin, @Px int bottom = android.view.ViewGroup.MarginLayoutParams.bottomMargin);
- method @RequiresApi(17) public static inline void updateMarginsRelative(android.view.ViewGroup.MarginLayoutParams, @Px int start = marginStart, @Px int top = android.view.ViewGroup.MarginLayoutParams.topMargin, @Px int end = marginEnd, @Px int bottom = android.view.ViewGroup.MarginLayoutParams.bottomMargin);
- }
-
- public final class ViewKt {
- method public static inline void doOnAttach(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void doOnDetach(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void doOnLayout(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void doOnNextLayout(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline androidx.core.view.OneShotPreDrawListener doOnPreDraw(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static android.graphics.Bitmap drawToBitmap(android.view.View, android.graphics.Bitmap.Config config = android.graphics.Bitmap.Config.ARGB_8888);
- method public static inline int getMarginBottom(android.view.View);
- method public static inline int getMarginEnd(android.view.View);
- method public static inline int getMarginLeft(android.view.View);
- method public static inline int getMarginRight(android.view.View);
- method public static inline int getMarginStart(android.view.View);
- method public static inline int getMarginTop(android.view.View);
- method public static inline boolean isGone(android.view.View);
- method public static inline boolean isInvisible(android.view.View);
- method public static inline boolean isVisible(android.view.View);
- method public static inline Runnable postDelayed(android.view.View, long delayInMillis, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- method @RequiresApi(16) public static inline Runnable postOnAnimationDelayed(android.view.View, long delayInMillis, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- method public static inline void setGone(android.view.View, boolean value);
- method public static inline void setInvisible(android.view.View, boolean value);
- method public static inline void setPadding(android.view.View, @Px int size);
- method public static inline void setVisible(android.view.View, boolean value);
- method public static inline void updateLayoutParams(android.view.View, kotlin.jvm.functions.Function1<? super android.view.ViewGroup.LayoutParams,kotlin.Unit> block);
- method public static inline <reified T extends android.view.ViewGroup.LayoutParams> void updateLayoutParamsTyped(android.view.View, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
- method public static inline void updatePadding(android.view.View, @Px int left = paddingLeft, @Px int top = paddingTop, @Px int right = paddingRight, @Px int bottom = paddingBottom);
- method @RequiresApi(17) public static inline void updatePaddingRelative(android.view.View, @Px int start = paddingStart, @Px int top = paddingTop, @Px int end = paddingEnd, @Px int bottom = paddingBottom);
- }
-
-}
-
-package androidx.core.widget {
-
- public final class TextViewKt {
- method public static inline android.text.TextWatcher addTextChangedListener(android.widget.TextView, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> beforeTextChanged = { _, _, _, _ -> }, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> _, _, _, _ -> }, kotlin.jvm.functions.Function1<? super android.text.Editable,kotlin.Unit> afterTextChanged = {});
- method public static inline android.text.TextWatcher doAfterTextChanged(android.widget.TextView, kotlin.jvm.functions.Function1<? super android.text.Editable,kotlin.Unit> action);
- method public static inline android.text.TextWatcher doBeforeTextChanged(android.widget.TextView, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> action);
- method public static inline android.text.TextWatcher doOnTextChanged(android.widget.TextView, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> action);
- }
-
-}
-
diff --git a/core/core-ktx/api/restricted_1.3.0-rc01.txt b/core/core-ktx/api/restricted_1.3.0-rc01.txt
deleted file mode 100644
index cb5c321..0000000
--- a/core/core-ktx/api/restricted_1.3.0-rc01.txt
+++ /dev/null
@@ -1,599 +0,0 @@
-// Signature format: 3.0
-package androidx.core.animation {
-
- public final class AnimatorKt {
- method public static inline android.animation.Animator.AnimatorListener addListener(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> >
- method @RequiresApi(19) public static inline android.animation.Animator.AnimatorPauseListener addPauseListener(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> >
- method public static inline android.animation.Animator.AnimatorListener doOnCancel(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method public static inline android.animation.Animator.AnimatorListener doOnEnd(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.animation.Animator.AnimatorPauseListener doOnPause(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method public static inline android.animation.Animator.AnimatorListener doOnRepeat(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.animation.Animator.AnimatorPauseListener doOnResume(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- method public static inline android.animation.Animator.AnimatorListener doOnStart(android.animation.Animator, kotlin.jvm.functions.Function1<? super android.animation.Animator,kotlin.Unit> action);
- }
-
-}
-
-package androidx.core.content {
-
- public final class ContentValuesKt {
- method public static android.content.ContentValues contentValuesOf(kotlin.Pair<java.lang.String,?>... pairs);
- }
-
- public final class ContextKt {
- method public static inline <reified T> T! getSystemService(android.content.Context);
- method public static inline void withStyledAttributes(android.content.Context, android.util.AttributeSet? set = null, int[] attrs, @AttrRes int defStyleAttr = 0, @StyleRes int defStyleRes = 0, kotlin.jvm.functions.Function1<? super android.content.res.TypedArray,kotlin.Unit> block);
- method public static inline void withStyledAttributes(android.content.Context, @StyleRes int resourceId, int[] attrs, kotlin.jvm.functions.Function1<? super android.content.res.TypedArray,kotlin.Unit> block);
- }
-
- public final class SharedPreferencesKt {
- method public static inline void edit(android.content.SharedPreferences, boolean commit = false, kotlin.jvm.functions.Function1<? super android.content.SharedPreferences.Editor,kotlin.Unit> action);
- }
-
-}
-
-package androidx.core.content.res {
-
- public final class TypedArrayKt {
- method public static boolean getBooleanOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @ColorInt public static int getColorOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static android.content.res.ColorStateList getColorStateListOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static float getDimensionOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @Dimension public static int getDimensionPixelOffsetOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @Dimension public static int getDimensionPixelSizeOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static android.graphics.drawable.Drawable getDrawableOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static float getFloatOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @RequiresApi(26) public static android.graphics.Typeface getFontOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static int getIntOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static int getIntegerOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method @AnyRes public static int getResourceIdOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static String getStringOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static CharSequence![] getTextArrayOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static CharSequence getTextOrThrow(android.content.res.TypedArray, @StyleableRes int index);
- method public static inline <R> R! use(android.content.res.TypedArray, kotlin.jvm.functions.Function1<? super android.content.res.TypedArray,? extends R> block);
- }
-
-}
-
-package androidx.core.database {
-
- public final class CursorKt {
- method public static inline byte[]? getBlobOrNull(android.database.Cursor, int index);
- method public static inline Double? getDoubleOrNull(android.database.Cursor, int index);
- method public static inline Float? getFloatOrNull(android.database.Cursor, int index);
- method public static inline Integer? getIntOrNull(android.database.Cursor, int index);
- method public static inline Long? getLongOrNull(android.database.Cursor, int index);
- method public static inline Short? getShortOrNull(android.database.Cursor, int index);
- method public static inline String? getStringOrNull(android.database.Cursor, int index);
- }
-
-}
-
-package androidx.core.database.sqlite {
-
- public final class SQLiteDatabaseKt {
- method public static inline <T> T! transaction(android.database.sqlite.SQLiteDatabase, boolean exclusive = true, kotlin.jvm.functions.Function1<? super android.database.sqlite.SQLiteDatabase,? extends T> body);
- }
-
-}
-
-package androidx.core.graphics {
-
- public final class BitmapKt {
- method public static inline android.graphics.Bitmap applyCanvas(android.graphics.Bitmap, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline operator boolean contains(android.graphics.Bitmap, android.graphics.Point p);
- method public static inline operator boolean contains(android.graphics.Bitmap, android.graphics.PointF p);
- method public static inline android.graphics.Bitmap createBitmap(int width, int height, android.graphics.Bitmap.Config config = android.graphics.Bitmap.Config.ARGB_8888);
- method @RequiresApi(26) public static inline android.graphics.Bitmap createBitmap(int width, int height, android.graphics.Bitmap.Config config = android.graphics.Bitmap.Config.ARGB_8888, boolean hasAlpha = true, android.graphics.ColorSpace colorSpace = ColorSpace.get(ColorSpace.Named.SRGB));
- method public static inline operator int get(android.graphics.Bitmap, int x, int y);
- method public static inline android.graphics.Bitmap scale(android.graphics.Bitmap, int width, int height, boolean filter = true);
- method public static inline operator void set(android.graphics.Bitmap, int x, int y, @ColorInt int color);
- }
-
- public final class CanvasKt {
- method public static inline void withClip(android.graphics.Canvas, android.graphics.Rect clipRect, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, android.graphics.RectF clipRect, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, int left, int top, int right, int bottom, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withClip(android.graphics.Canvas, android.graphics.Path clipPath, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withMatrix(android.graphics.Canvas, android.graphics.Matrix matrix = android.graphics.Matrix(), kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withRotation(android.graphics.Canvas, float degrees = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withSave(android.graphics.Canvas, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withScale(android.graphics.Canvas, float x = 1.0f, float y = 1.0f, float pivotX = 0.0f, float pivotY = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withSkew(android.graphics.Canvas, float x = 0.0f, float y = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- method public static inline void withTranslation(android.graphics.Canvas, float x = 0.0f, float y = 0.0f, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- }
-
- public final class ColorKt {
- method @RequiresApi(26) public static inline operator float component1(android.graphics.Color);
- method public static inline operator int component1(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component1(@ColorLong long);
- method @RequiresApi(26) public static inline operator float component2(android.graphics.Color);
- method public static inline operator int component2(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component2(@ColorLong long);
- method @RequiresApi(26) public static inline operator float component3(android.graphics.Color);
- method public static inline operator int component3(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component3(@ColorLong long);
- method @RequiresApi(26) public static inline operator float component4(android.graphics.Color);
- method public static inline operator int component4(@ColorInt int);
- method @RequiresApi(26) public static inline operator float component4(@ColorLong long);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorInt int, android.graphics.ColorSpace.Named colorSpace);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorInt int, android.graphics.ColorSpace colorSpace);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorLong long, android.graphics.ColorSpace.Named colorSpace);
- method @ColorLong @RequiresApi(26) public static inline infix long convertTo(@ColorLong long, android.graphics.ColorSpace colorSpace);
- method @RequiresApi(26) public static inline infix android.graphics.Color convertTo(android.graphics.Color, android.graphics.ColorSpace.Named colorSpace);
- method @RequiresApi(26) public static inline infix android.graphics.Color convertTo(android.graphics.Color, android.graphics.ColorSpace colorSpace);
- method public static inline int getAlpha(@ColorInt int);
- method @RequiresApi(26) public static inline float getAlpha(@ColorLong long);
- method public static inline int getBlue(@ColorInt int);
- method @RequiresApi(26) public static inline float getBlue(@ColorLong long);
- method @RequiresApi(26) public static inline android.graphics.ColorSpace getColorSpace(@ColorLong long);
- method public static inline int getGreen(@ColorInt int);
- method @RequiresApi(26) public static inline float getGreen(@ColorLong long);
- method @RequiresApi(26) public static inline float getLuminance(@ColorInt int);
- method @RequiresApi(26) public static inline float getLuminance(@ColorLong long);
- method public static inline int getRed(@ColorInt int);
- method @RequiresApi(26) public static inline float getRed(@ColorLong long);
- method @RequiresApi(26) public static inline boolean isSrgb(@ColorLong long);
- method @RequiresApi(26) public static inline boolean isWideGamut(@ColorLong long);
- method @RequiresApi(26) public static operator android.graphics.Color plus(android.graphics.Color, android.graphics.Color c);
- method @RequiresApi(26) public static inline android.graphics.Color toColor(@ColorInt int);
- method @RequiresApi(26) public static inline android.graphics.Color toColor(@ColorLong long);
- method @ColorInt @RequiresApi(26) public static inline int toColorInt(@ColorLong long);
- method @ColorInt public static inline int toColorInt(String);
- method @ColorLong @RequiresApi(26) public static inline long toColorLong(@ColorInt int);
- }
-
- public final class ImageDecoderKt {
- method @RequiresApi(28) public static inline android.graphics.Bitmap decodeBitmap(android.graphics.ImageDecoder.Source, kotlin.jvm.functions.Function3<? super android.graphics.ImageDecoder,? super android.graphics.ImageDecoder.ImageInfo,? super android.graphics.ImageDecoder.Source,kotlin.Unit> action);
- method @RequiresApi(28) public static inline android.graphics.drawable.Drawable decodeDrawable(android.graphics.ImageDecoder.Source, kotlin.jvm.functions.Function3<? super android.graphics.ImageDecoder,? super android.graphics.ImageDecoder.ImageInfo,? super android.graphics.ImageDecoder.Source,kotlin.Unit> action);
- }
-
- public final class MatrixKt {
- method public static android.graphics.Matrix rotationMatrix(float degrees, float px = 0.0f, float py = 0.0f);
- method public static android.graphics.Matrix scaleMatrix(float sx = 1.0f, float sy = 1.0f);
- method public static inline operator android.graphics.Matrix times(android.graphics.Matrix, android.graphics.Matrix m);
- method public static android.graphics.Matrix translationMatrix(float tx = 0.0f, float ty = 0.0f);
- method public static inline float[] values(android.graphics.Matrix);
- }
-
- public final class PaintKt {
- method public static inline boolean setBlendMode(android.graphics.Paint, androidx.core.graphics.BlendModeCompat? blendModeCompat);
- }
-
- public final class PathKt {
- method @RequiresApi(19) public static inline infix android.graphics.Path and(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(26) public static Iterable<androidx.core.graphics.PathSegment> flatten(android.graphics.Path, float error = 0.5f);
- method @RequiresApi(19) public static inline operator android.graphics.Path minus(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(19) public static inline infix android.graphics.Path or(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(19) public static inline operator android.graphics.Path plus(android.graphics.Path, android.graphics.Path p);
- method @RequiresApi(19) public static inline infix android.graphics.Path xor(android.graphics.Path, android.graphics.Path p);
- }
-
- public final class PictureKt {
- method public static inline android.graphics.Picture record(android.graphics.Picture, int width, int height, kotlin.jvm.functions.Function1<? super android.graphics.Canvas,kotlin.Unit> block);
- }
-
- public final class PointKt {
- method public static inline operator int component1(android.graphics.Point);
- method public static inline operator float component1(android.graphics.PointF);
- method public static inline operator int component2(android.graphics.Point);
- method public static inline operator float component2(android.graphics.PointF);
- method public static inline operator android.graphics.Point minus(android.graphics.Point, android.graphics.Point p);
- method public static inline operator android.graphics.PointF minus(android.graphics.PointF, android.graphics.PointF p);
- method public static inline operator android.graphics.Point minus(android.graphics.Point, int xy);
- method public static inline operator android.graphics.PointF minus(android.graphics.PointF, float xy);
- method public static inline operator android.graphics.Point plus(android.graphics.Point, android.graphics.Point p);
- method public static inline operator android.graphics.PointF plus(android.graphics.PointF, android.graphics.PointF p);
- method public static inline operator android.graphics.Point plus(android.graphics.Point, int xy);
- method public static inline operator android.graphics.PointF plus(android.graphics.PointF, float xy);
- method public static inline android.graphics.Point toPoint(android.graphics.PointF);
- method public static inline android.graphics.PointF toPointF(android.graphics.Point);
- method public static inline operator android.graphics.Point unaryMinus(android.graphics.Point);
- method public static inline operator android.graphics.PointF unaryMinus(android.graphics.PointF);
- }
-
- public final class PorterDuffKt {
- method public static inline android.graphics.PorterDuffColorFilter toColorFilter(android.graphics.PorterDuff.Mode, int color);
- method public static inline android.graphics.PorterDuffXfermode toXfermode(android.graphics.PorterDuff.Mode);
- }
-
- public final class RectKt {
- method public static inline infix android.graphics.Rect and(android.graphics.Rect, android.graphics.Rect r);
- method public static inline infix android.graphics.RectF and(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator int component1(android.graphics.Rect);
- method public static inline operator float component1(android.graphics.RectF);
- method public static inline operator int component2(android.graphics.Rect);
- method public static inline operator float component2(android.graphics.RectF);
- method public static inline operator int component3(android.graphics.Rect);
- method public static inline operator float component3(android.graphics.RectF);
- method public static inline operator int component4(android.graphics.Rect);
- method public static inline operator float component4(android.graphics.RectF);
- method public static inline operator boolean contains(android.graphics.Rect, android.graphics.Point p);
- method public static inline operator boolean contains(android.graphics.RectF, android.graphics.PointF p);
- method public static inline operator android.graphics.Region minus(android.graphics.Rect, android.graphics.Rect r);
- method public static inline operator android.graphics.Region minus(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator android.graphics.Rect minus(android.graphics.Rect, int xy);
- method public static inline operator android.graphics.RectF minus(android.graphics.RectF, float xy);
- method public static inline operator android.graphics.Rect minus(android.graphics.Rect, android.graphics.Point xy);
- method public static inline operator android.graphics.RectF minus(android.graphics.RectF, android.graphics.PointF xy);
- method public static inline infix android.graphics.Rect or(android.graphics.Rect, android.graphics.Rect r);
- method public static inline infix android.graphics.RectF or(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator android.graphics.Rect plus(android.graphics.Rect, android.graphics.Rect r);
- method public static inline operator android.graphics.RectF plus(android.graphics.RectF, android.graphics.RectF r);
- method public static inline operator android.graphics.Rect plus(android.graphics.Rect, int xy);
- method public static inline operator android.graphics.RectF plus(android.graphics.RectF, float xy);
- method public static inline operator android.graphics.Rect plus(android.graphics.Rect, android.graphics.Point xy);
- method public static inline operator android.graphics.RectF plus(android.graphics.RectF, android.graphics.PointF xy);
- method public static inline operator android.graphics.Rect times(android.graphics.Rect, int factor);
- method public static inline operator android.graphics.RectF times(android.graphics.RectF, int factor);
- method public static inline operator android.graphics.RectF times(android.graphics.RectF, float factor);
- method public static inline android.graphics.Rect toRect(android.graphics.RectF);
- method public static inline android.graphics.RectF toRectF(android.graphics.Rect);
- method public static inline android.graphics.Region toRegion(android.graphics.Rect);
- method public static inline android.graphics.Region toRegion(android.graphics.RectF);
- method public static inline android.graphics.RectF transform(android.graphics.RectF, android.graphics.Matrix m);
- method public static inline infix android.graphics.Region xor(android.graphics.Rect, android.graphics.Rect r);
- method public static inline infix android.graphics.Region xor(android.graphics.RectF, android.graphics.RectF r);
- }
-
- public final class RegionKt {
- method public static inline infix android.graphics.Region and(android.graphics.Region, android.graphics.Rect r);
- method public static inline infix android.graphics.Region and(android.graphics.Region, android.graphics.Region r);
- method public static inline operator boolean contains(android.graphics.Region, android.graphics.Point p);
- method public static inline void forEach(android.graphics.Region, kotlin.jvm.functions.Function1<? super android.graphics.Rect,kotlin.Unit> action);
- method public static operator java.util.Iterator<android.graphics.Rect> iterator(android.graphics.Region);
- method public static inline operator android.graphics.Region minus(android.graphics.Region, android.graphics.Rect r);
- method public static inline operator android.graphics.Region minus(android.graphics.Region, android.graphics.Region r);
- method public static inline operator android.graphics.Region not(android.graphics.Region);
- method public static inline infix android.graphics.Region or(android.graphics.Region, android.graphics.Rect r);
- method public static inline infix android.graphics.Region or(android.graphics.Region, android.graphics.Region r);
- method public static inline operator android.graphics.Region plus(android.graphics.Region, android.graphics.Rect r);
- method public static inline operator android.graphics.Region plus(android.graphics.Region, android.graphics.Region r);
- method public static inline operator android.graphics.Region unaryMinus(android.graphics.Region);
- method public static inline infix android.graphics.Region xor(android.graphics.Region, android.graphics.Rect r);
- method public static inline infix android.graphics.Region xor(android.graphics.Region, android.graphics.Region r);
- }
-
- public final class ShaderKt {
- method public static inline void transform(android.graphics.Shader, kotlin.jvm.functions.Function1<? super android.graphics.Matrix,kotlin.Unit> block);
- }
-
-}
-
-package androidx.core.graphics.drawable {
-
- public final class BitmapDrawableKt {
- method public static inline android.graphics.drawable.BitmapDrawable toDrawable(android.graphics.Bitmap, android.content.res.Resources resources);
- }
-
- public final class ColorDrawableKt {
- method public static inline android.graphics.drawable.ColorDrawable toDrawable(@ColorInt int);
- method @RequiresApi(26) public static inline android.graphics.drawable.ColorDrawable toDrawable(android.graphics.Color);
- }
-
- public final class DrawableKt {
- method public static android.graphics.Bitmap toBitmap(android.graphics.drawable.Drawable, @Px int width = intrinsicWidth, @Px int height = intrinsicHeight, android.graphics.Bitmap.Config? config = null);
- method public static void updateBounds(android.graphics.drawable.Drawable, @Px int left = android.graphics.Rect.left, @Px int top = android.graphics.Rect.top, @Px int right = android.graphics.Rect.right, @Px int bottom = android.graphics.Rect.bottom);
- }
-
- public final class IconKt {
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toAdaptiveIcon(android.graphics.Bitmap);
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toIcon(android.graphics.Bitmap);
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toIcon(android.net.Uri);
- method @RequiresApi(26) public static inline android.graphics.drawable.Icon toIcon(byte[]);
- }
-
-}
-
-package androidx.core.location {
-
- public final class LocationKt {
- method public static inline operator double component1(android.location.Location);
- method public static inline operator double component2(android.location.Location);
- }
-
-}
-
-package androidx.core.net {
-
- public final class UriKt {
- method public static java.io.File toFile(android.net.Uri);
- method public static inline android.net.Uri toUri(String);
- method public static inline android.net.Uri toUri(java.io.File);
- }
-
-}
-
-package androidx.core.os {
-
- public final class BundleKt {
- method public static android.os.Bundle bundleOf(kotlin.Pair<java.lang.String,?>... pairs);
- }
-
- public final class HandlerKt {
- method public static inline Runnable postAtTime(android.os.Handler, long uptimeMillis, Object? token = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- method public static inline Runnable postDelayed(android.os.Handler, long delayInMillis, Object? token = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- }
-
- public final class PersistableBundleKt {
- method @RequiresApi(21) public static android.os.PersistableBundle persistableBundleOf(kotlin.Pair<java.lang.String,?>... pairs);
- }
-
- public final class TraceKt {
- method public static inline <T> T! trace(String sectionName, kotlin.jvm.functions.Function0<? extends T> block);
- }
-
-}
-
-package androidx.core.text {
-
- public final class CharSequenceKt {
- method public static inline boolean isDigitsOnly(CharSequence);
- method public static inline int trimmedLength(CharSequence);
- }
-
- public final class HtmlKt {
- method public static inline android.text.Spanned parseAsHtml(String, int flags = 0, android.text.Html.ImageGetter? imageGetter = null, android.text.Html.TagHandler? tagHandler = null);
- method public static inline String toHtml(android.text.Spanned, int option = 0);
- }
-
- public final class LocaleKt {
- method @RequiresApi(17) public static inline int getLayoutDirection(java.util.Locale);
- }
-
- public final class SpannableStringBuilderKt {
- method public static inline android.text.SpannableStringBuilder backgroundColor(android.text.SpannableStringBuilder, @ColorInt int color, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder bold(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannedString buildSpannedString(kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder color(android.text.SpannableStringBuilder, @ColorInt int color, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder inSpans(android.text.SpannableStringBuilder, Object![] spans, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder inSpans(android.text.SpannableStringBuilder, Object span, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder italic(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder scale(android.text.SpannableStringBuilder, float proportion, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder strikeThrough(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder subscript(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder superscript(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- method public static inline android.text.SpannableStringBuilder underline(android.text.SpannableStringBuilder, kotlin.jvm.functions.Function1<? super android.text.SpannableStringBuilder,kotlin.Unit> builderAction);
- }
-
- public final class SpannableStringKt {
- method public static inline void clearSpans(android.text.Spannable);
- method public static inline operator void set(android.text.Spannable, int start, int end, Object span);
- method public static inline operator void set(android.text.Spannable, kotlin.ranges.IntRange range, Object span);
- method public static inline android.text.Spannable toSpannable(CharSequence);
- }
-
- public final class SpannedStringKt {
- method public static inline <reified T> T![] getSpans(android.text.Spanned, int start = 0, int end = length);
- method public static inline android.text.Spanned toSpanned(CharSequence);
- }
-
- public final class StringKt {
- method public static inline String htmlEncode(String);
- }
-
-}
-
-package androidx.core.transition {
-
- public final class TransitionKt {
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener addListener(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> >
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnCancel(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnEnd(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnPause(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnResume(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- method @RequiresApi(19) public static inline android.transition.Transition.TransitionListener doOnStart(android.transition.Transition, kotlin.jvm.functions.Function1<? super android.transition.Transition,kotlin.Unit> action);
- }
-
-}
-
-package androidx.core.util {
-
- public final class AtomicFileKt {
- method @RequiresApi(17) public static inline byte[] readBytes(android.util.AtomicFile);
- method @RequiresApi(17) public static String readText(android.util.AtomicFile, java.nio.charset.Charset charset = Charsets.UTF_8);
- method @RequiresApi(17) public static inline void tryWrite(android.util.AtomicFile, kotlin.jvm.functions.Function1<? super java.io.FileOutputStream,kotlin.Unit> block);
- method @RequiresApi(17) public static void writeBytes(android.util.AtomicFile, byte[] array);
- method @RequiresApi(17) public static void writeText(android.util.AtomicFile, String text, java.nio.charset.Charset charset = Charsets.UTF_8);
- }
-
- public final class HalfKt {
- method @RequiresApi(26) public static inline android.util.Half toHalf(@HalfFloat short);
- method @RequiresApi(26) public static inline android.util.Half toHalf(float);
- method @RequiresApi(26) public static inline android.util.Half toHalf(double);
- method @RequiresApi(26) public static inline android.util.Half toHalf(String);
- }
-
- public final class LongSparseArrayKt {
- method @RequiresApi(16) public static inline operator <T> boolean contains(android.util.LongSparseArray<T>, long key);
- method @RequiresApi(16) public static inline <T> boolean containsKey(android.util.LongSparseArray<T>, long key);
- method @RequiresApi(16) public static inline <T> boolean containsValue(android.util.LongSparseArray<T>, T? value);
- method @RequiresApi(16) public static inline <T> void forEach(android.util.LongSparseArray<T>, kotlin.jvm.functions.Function2<? super java.lang.Long,? super T,kotlin.Unit> action);
- method @RequiresApi(16) public static inline <T> T! getOrDefault(android.util.LongSparseArray<T>, long key, T? defaultValue);
- method @RequiresApi(16) public static inline <T> T! getOrElse(android.util.LongSparseArray<T>, long key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
- method @RequiresApi(16) public static inline <T> int getSize(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static inline <T> boolean isEmpty(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static inline <T> boolean isNotEmpty(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static <T> kotlin.collections.LongIterator keyIterator(android.util.LongSparseArray<T>);
- method @RequiresApi(16) public static operator <T> android.util.LongSparseArray<T> plus(android.util.LongSparseArray<T>, android.util.LongSparseArray<T> other);
- method @RequiresApi(16) public static <T> void putAll(android.util.LongSparseArray<T>, android.util.LongSparseArray<T> other);
- method @RequiresApi(16) public static <T> boolean remove(android.util.LongSparseArray<T>, long key, T? value);
- method @RequiresApi(16) public static inline operator <T> void set(android.util.LongSparseArray<T>, long key, T? value);
- method @RequiresApi(16) public static <T> java.util.Iterator<T> valueIterator(android.util.LongSparseArray<T>);
- }
-
- public final class LruCacheKt {
- method public static inline <K, V> android.util.LruCache<K,V> lruCache(int maxSize, kotlin.jvm.functions.Function2<? super K,? super V,java.lang.Integer> sizeOf = { _, _ -> 1 }, kotlin.jvm.functions.Function1<? super K,? extends V> create = { (V)null }, kotlin.jvm.functions.Function4<? super java.lang.Boolean,? super K,? super V,? super V,kotlin.Unit> _, _, _, _ -> });
- }
-
- public final class PairKt {
- method public static inline operator <F, S> F! component1(android.util.Pair<F,S>);
- method public static inline operator <F, S> S! component2(android.util.Pair<F,S>);
- method public static inline <F, S> android.util.Pair<F,S> toAndroidPair(kotlin.Pair<? extends F,? extends S>);
- method public static inline <F, S> kotlin.Pair<F,S> toKotlinPair(android.util.Pair<F,S>);
- }
-
- public final class RangeKt {
- method @RequiresApi(21) public static inline infix <T extends java.lang.Comparable<? super T>> android.util.Range<T> and(android.util.Range<T>, android.util.Range<T> other);
- method @RequiresApi(21) public static inline operator <T extends java.lang.Comparable<? super T>> android.util.Range<T> plus(android.util.Range<T>, T value);
- method @RequiresApi(21) public static inline operator <T extends java.lang.Comparable<? super T>> android.util.Range<T> plus(android.util.Range<T>, android.util.Range<T> other);
- method @RequiresApi(21) public static inline infix <T extends java.lang.Comparable<? super T>> android.util.Range<T> rangeTo(T, T that);
- method @RequiresApi(21) public static <T extends java.lang.Comparable<? super T>> kotlin.ranges.ClosedRange<T> toClosedRange(android.util.Range<T>);
- method @RequiresApi(21) public static <T extends java.lang.Comparable<? super T>> android.util.Range<T> toRange(kotlin.ranges.ClosedRange<T>);
- }
-
- public final class SizeKt {
- method @RequiresApi(21) public static inline operator int component1(android.util.Size);
- method @RequiresApi(21) public static inline operator float component1(android.util.SizeF);
- method @RequiresApi(21) public static inline operator int component2(android.util.Size);
- method @RequiresApi(21) public static inline operator float component2(android.util.SizeF);
- }
-
- public final class SparseArrayKt {
- method public static inline operator <T> boolean contains(android.util.SparseArray<T>, int key);
- method public static inline <T> boolean containsKey(android.util.SparseArray<T>, int key);
- method public static inline <T> boolean containsValue(android.util.SparseArray<T>, T? value);
- method public static inline <T> void forEach(android.util.SparseArray<T>, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> action);
- method public static inline <T> T! getOrDefault(android.util.SparseArray<T>, int key, T? defaultValue);
- method public static inline <T> T! getOrElse(android.util.SparseArray<T>, int key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
- method public static inline <T> int getSize(android.util.SparseArray<T>);
- method public static inline <T> boolean isEmpty(android.util.SparseArray<T>);
- method public static inline <T> boolean isNotEmpty(android.util.SparseArray<T>);
- method public static <T> kotlin.collections.IntIterator keyIterator(android.util.SparseArray<T>);
- method public static operator <T> android.util.SparseArray<T> plus(android.util.SparseArray<T>, android.util.SparseArray<T> other);
- method public static <T> void putAll(android.util.SparseArray<T>, android.util.SparseArray<T> other);
- method public static <T> boolean remove(android.util.SparseArray<T>, int key, T? value);
- method public static inline operator <T> void set(android.util.SparseArray<T>, int key, T? value);
- method public static <T> java.util.Iterator<T> valueIterator(android.util.SparseArray<T>);
- }
-
- public final class SparseBooleanArrayKt {
- method public static inline operator boolean contains(android.util.SparseBooleanArray, int key);
- method public static inline boolean containsKey(android.util.SparseBooleanArray, int key);
- method public static inline boolean containsValue(android.util.SparseBooleanArray, boolean value);
- method public static inline void forEach(android.util.SparseBooleanArray, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> action);
- method public static inline boolean getOrDefault(android.util.SparseBooleanArray, int key, boolean defaultValue);
- method public static inline boolean getOrElse(android.util.SparseBooleanArray, int key, kotlin.jvm.functions.Function0<java.lang.Boolean> defaultValue);
- method public static inline int getSize(android.util.SparseBooleanArray);
- method public static inline boolean isEmpty(android.util.SparseBooleanArray);
- method public static inline boolean isNotEmpty(android.util.SparseBooleanArray);
- method public static kotlin.collections.IntIterator keyIterator(android.util.SparseBooleanArray);
- method public static operator android.util.SparseBooleanArray plus(android.util.SparseBooleanArray, android.util.SparseBooleanArray other);
- method public static void putAll(android.util.SparseBooleanArray, android.util.SparseBooleanArray other);
- method public static boolean remove(android.util.SparseBooleanArray, int key, boolean value);
- method public static inline operator void set(android.util.SparseBooleanArray, int key, boolean value);
- method public static kotlin.collections.BooleanIterator valueIterator(android.util.SparseBooleanArray);
- }
-
- public final class SparseIntArrayKt {
- method public static inline operator boolean contains(android.util.SparseIntArray, int key);
- method public static inline boolean containsKey(android.util.SparseIntArray, int key);
- method public static inline boolean containsValue(android.util.SparseIntArray, int value);
- method public static inline void forEach(android.util.SparseIntArray, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> action);
- method public static inline int getOrDefault(android.util.SparseIntArray, int key, int defaultValue);
- method public static inline int getOrElse(android.util.SparseIntArray, int key, kotlin.jvm.functions.Function0<java.lang.Integer> defaultValue);
- method public static inline int getSize(android.util.SparseIntArray);
- method public static inline boolean isEmpty(android.util.SparseIntArray);
- method public static inline boolean isNotEmpty(android.util.SparseIntArray);
- method public static kotlin.collections.IntIterator keyIterator(android.util.SparseIntArray);
- method public static operator android.util.SparseIntArray plus(android.util.SparseIntArray, android.util.SparseIntArray other);
- method public static void putAll(android.util.SparseIntArray, android.util.SparseIntArray other);
- method public static boolean remove(android.util.SparseIntArray, int key, int value);
- method public static inline operator void set(android.util.SparseIntArray, int key, int value);
- method public static kotlin.collections.IntIterator valueIterator(android.util.SparseIntArray);
- }
-
- public final class SparseLongArrayKt {
- method @RequiresApi(18) public static inline operator boolean contains(android.util.SparseLongArray, int key);
- method @RequiresApi(18) public static inline boolean containsKey(android.util.SparseLongArray, int key);
- method @RequiresApi(18) public static inline boolean containsValue(android.util.SparseLongArray, long value);
- method @RequiresApi(18) public static inline void forEach(android.util.SparseLongArray, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Long,kotlin.Unit> action);
- method @RequiresApi(18) public static inline long getOrDefault(android.util.SparseLongArray, int key, long defaultValue);
- method @RequiresApi(18) public static inline long getOrElse(android.util.SparseLongArray, int key, kotlin.jvm.functions.Function0<java.lang.Long> defaultValue);
- method @RequiresApi(18) public static inline int getSize(android.util.SparseLongArray);
- method @RequiresApi(18) public static inline boolean isEmpty(android.util.SparseLongArray);
- method @RequiresApi(18) public static inline boolean isNotEmpty(android.util.SparseLongArray);
- method @RequiresApi(18) public static kotlin.collections.IntIterator keyIterator(android.util.SparseLongArray);
- method @RequiresApi(18) public static operator android.util.SparseLongArray plus(android.util.SparseLongArray, android.util.SparseLongArray other);
- method @RequiresApi(18) public static void putAll(android.util.SparseLongArray, android.util.SparseLongArray other);
- method @RequiresApi(18) public static boolean remove(android.util.SparseLongArray, int key, long value);
- method @RequiresApi(18) public static inline operator void set(android.util.SparseLongArray, int key, long value);
- method @RequiresApi(18) public static kotlin.collections.LongIterator valueIterator(android.util.SparseLongArray);
- }
-
-}
-
-package androidx.core.view {
-
- public final class MenuKt {
- method public static operator boolean contains(android.view.Menu, android.view.MenuItem item);
- method public static inline void forEach(android.view.Menu, kotlin.jvm.functions.Function1<? super android.view.MenuItem,kotlin.Unit> action);
- method public static inline void forEachIndexed(android.view.Menu, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super android.view.MenuItem,kotlin.Unit> action);
- method public static inline operator android.view.MenuItem get(android.view.Menu, int index);
- method public static kotlin.sequences.Sequence<android.view.MenuItem> getChildren(android.view.Menu);
- method public static inline int getSize(android.view.Menu);
- method public static inline boolean isEmpty(android.view.Menu);
- method public static inline boolean isNotEmpty(android.view.Menu);
- method public static operator java.util.Iterator<android.view.MenuItem> iterator(android.view.Menu);
- method public static inline operator void minusAssign(android.view.Menu, android.view.MenuItem item);
- }
-
- public final class ViewGroupKt {
- method public static inline operator boolean contains(android.view.ViewGroup, android.view.View view);
- method public static inline void forEach(android.view.ViewGroup, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void forEachIndexed(android.view.ViewGroup, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super android.view.View,kotlin.Unit> action);
- method public static operator android.view.View get(android.view.ViewGroup, int index);
- method public static kotlin.sequences.Sequence<android.view.View> getChildren(android.view.ViewGroup);
- method public static inline int getSize(android.view.ViewGroup);
- method public static inline boolean isEmpty(android.view.ViewGroup);
- method public static inline boolean isNotEmpty(android.view.ViewGroup);
- method public static operator java.util.Iterator<android.view.View> iterator(android.view.ViewGroup);
- method public static inline operator void minusAssign(android.view.ViewGroup, android.view.View view);
- method public static inline operator void plusAssign(android.view.ViewGroup, android.view.View view);
- method public static inline void setMargins(android.view.ViewGroup.MarginLayoutParams, @Px int size);
- method public static inline void updateMargins(android.view.ViewGroup.MarginLayoutParams, @Px int left = android.view.ViewGroup.MarginLayoutParams.leftMargin, @Px int top = android.view.ViewGroup.MarginLayoutParams.topMargin, @Px int right = android.view.ViewGroup.MarginLayoutParams.rightMargin, @Px int bottom = android.view.ViewGroup.MarginLayoutParams.bottomMargin);
- method @RequiresApi(17) public static inline void updateMarginsRelative(android.view.ViewGroup.MarginLayoutParams, @Px int start = marginStart, @Px int top = android.view.ViewGroup.MarginLayoutParams.topMargin, @Px int end = marginEnd, @Px int bottom = android.view.ViewGroup.MarginLayoutParams.bottomMargin);
- }
-
- public final class ViewKt {
- method public static inline void doOnAttach(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void doOnDetach(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void doOnLayout(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline void doOnNextLayout(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static inline androidx.core.view.OneShotPreDrawListener doOnPreDraw(android.view.View, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> action);
- method public static android.graphics.Bitmap drawToBitmap(android.view.View, android.graphics.Bitmap.Config config = android.graphics.Bitmap.Config.ARGB_8888);
- method public static inline int getMarginBottom(android.view.View);
- method public static inline int getMarginEnd(android.view.View);
- method public static inline int getMarginLeft(android.view.View);
- method public static inline int getMarginRight(android.view.View);
- method public static inline int getMarginStart(android.view.View);
- method public static inline int getMarginTop(android.view.View);
- method public static inline boolean isGone(android.view.View);
- method public static inline boolean isInvisible(android.view.View);
- method public static inline boolean isVisible(android.view.View);
- method public static inline Runnable postDelayed(android.view.View, long delayInMillis, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- method @RequiresApi(16) public static inline Runnable postOnAnimationDelayed(android.view.View, long delayInMillis, kotlin.jvm.functions.Function0<kotlin.Unit> action);
- method public static inline void setGone(android.view.View, boolean value);
- method public static inline void setInvisible(android.view.View, boolean value);
- method public static inline void setPadding(android.view.View, @Px int size);
- method public static inline void setVisible(android.view.View, boolean value);
- method public static inline void updateLayoutParams(android.view.View, kotlin.jvm.functions.Function1<? super android.view.ViewGroup.LayoutParams,kotlin.Unit> block);
- method public static inline <reified T extends android.view.ViewGroup.LayoutParams> void updateLayoutParamsTyped(android.view.View, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
- method public static inline void updatePadding(android.view.View, @Px int left = paddingLeft, @Px int top = paddingTop, @Px int right = paddingRight, @Px int bottom = paddingBottom);
- method @RequiresApi(17) public static inline void updatePaddingRelative(android.view.View, @Px int start = paddingStart, @Px int top = paddingTop, @Px int end = paddingEnd, @Px int bottom = paddingBottom);
- }
-
-}
-
-package androidx.core.widget {
-
- public final class TextViewKt {
- method public static inline android.text.TextWatcher addTextChangedListener(android.widget.TextView, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> beforeTextChanged = { _, _, _, _ -> }, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> _, _, _, _ -> }, kotlin.jvm.functions.Function1<? super android.text.Editable,kotlin.Unit> afterTextChanged = {});
- method public static inline android.text.TextWatcher doAfterTextChanged(android.widget.TextView, kotlin.jvm.functions.Function1<? super android.text.Editable,kotlin.Unit> action);
- method public static inline android.text.TextWatcher doBeforeTextChanged(android.widget.TextView, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> action);
- method public static inline android.text.TextWatcher doOnTextChanged(android.widget.TextView, kotlin.jvm.functions.Function4<? super java.lang.CharSequence,? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Integer,kotlin.Unit> action);
- }
-
-}
-
diff --git a/core/core-ktx/src/androidTest/java/androidx/core/util/SparseArrayTest.kt b/core/core-ktx/src/androidTest/java/androidx/core/util/SparseArrayTest.kt
index 8274f62..d3d2a2c 100644
--- a/core/core-ktx/src/androidTest/java/androidx/core/util/SparseArrayTest.kt
+++ b/core/core-ktx/src/androidTest/java/androidx/core/util/SparseArrayTest.kt
@@ -24,6 +24,7 @@
import org.junit.Assert.assertFalse
import org.junit.Assert.assertSame
import org.junit.Assert.assertTrue
+import org.junit.Ignore
import org.junit.Test
@SmallTest
@@ -35,6 +36,7 @@
assertEquals(1, array.size)
}
+ @Ignore("SparseArray.contains exists in R, need to work out what to do")
@Test fun containsOperator() {
val array = SparseArray<String>()
assertFalse(1 in array)
@@ -42,6 +44,7 @@
assertTrue(1 in array)
}
+ @Ignore("SparseArray.contains exists in R, need to work out what to do")
@Test fun containsOperatorWithItem() {
val array = SparseArray<String>()
diff --git a/core/core-ktx/src/main/java/androidx/core/util/SparseArray.kt b/core/core-ktx/src/main/java/androidx/core/util/SparseArray.kt
index d7ea73c..f379be8 100644
--- a/core/core-ktx/src/main/java/androidx/core/util/SparseArray.kt
+++ b/core/core-ktx/src/main/java/androidx/core/util/SparseArray.kt
@@ -24,6 +24,7 @@
inline val <T> SparseArray<T>.size get() = size()
/** Returns true if the collection contains [key]. */
+@Suppress("EXTENSION_SHADOWED_BY_MEMBER") /* contains() added in R */
inline operator fun <T> SparseArray<T>.contains(key: Int) = indexOfKey(key) >= 0
/** Allows the use of the index operator for storing values in the collection. */
diff --git a/core/core/api/1.3.0-alpha01.txt b/core/core/api/1.3.0-alpha01.txt
index fb79d53..e9ed69a 100644
--- a/core/core/api/1.3.0-alpha01.txt
+++ b/core/core/api/1.3.0-alpha01.txt
@@ -439,6 +439,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -872,9 +873,11 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
+ field public static final String EXTRA_TIME = "android.intent.extra.TIME";
}
public final class MimeTypeFilter {
@@ -1254,8 +1257,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1340,6 +1378,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2102,6 +2145,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2192,6 +2236,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, int);
method public static void setScrollIndicators(android.view.View, int, int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2413,6 +2458,7 @@
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2496,6 +2542,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2585,6 +2632,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
diff --git a/core/core/api/1.3.0-alpha02.txt b/core/core/api/1.3.0-alpha02.txt
index acf1e95..d914a98 100644
--- a/core/core/api/1.3.0-alpha02.txt
+++ b/core/core/api/1.3.0-alpha02.txt
@@ -396,7 +396,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method public android.os.Bundle! getExtras();
@@ -439,6 +440,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -872,9 +874,11 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
+ field public static final String EXTRA_TIME = "android.intent.extra.TIME";
}
public final class MimeTypeFilter {
@@ -923,12 +927,24 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -939,6 +955,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -954,14 +971,22 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, int);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
}
}
@@ -1254,8 +1279,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1340,6 +1400,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2103,6 +2168,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2193,6 +2259,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, int);
method public static void setScrollIndicators(android.view.View, int, int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2414,6 +2481,7 @@
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2497,6 +2565,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2586,6 +2655,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -2606,6 +2676,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -2667,6 +2738,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/1.3.0-alpha03.txt b/core/core/api/1.3.0-alpha03.txt
index d11d0f1..af511db 100644
--- a/core/core/api/1.3.0-alpha03.txt
+++ b/core/core/api/1.3.0-alpha03.txt
@@ -396,7 +396,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method public android.os.Bundle! getExtras();
@@ -439,6 +440,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -872,7 +874,9 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+ field public static final String EXTRA_EPOCH_TIME = "android.intent.extra.EPOCH_TIME";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
}
@@ -923,12 +927,24 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -939,6 +955,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -954,14 +971,22 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, int);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
}
}
@@ -1254,8 +1279,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1340,6 +1400,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2104,6 +2169,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2194,6 +2260,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, int);
method public static void setScrollIndicators(android.view.View, int, int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2417,6 +2484,7 @@
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2500,6 +2568,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2589,6 +2658,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -2609,6 +2679,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -2670,6 +2741,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/1.3.0-rc01.txt b/core/core/api/1.3.0-rc01.txt
deleted file mode 100644
index 727e60a..0000000
--- a/core/core/api/1.3.0-rc01.txt
+++ /dev/null
@@ -1,3126 +0,0 @@
-// Signature format: 3.0
-package androidx.core.accessibilityservice {
-
- public final class AccessibilityServiceInfoCompat {
- method public static String capabilityToString(int);
- method public static String feedbackTypeToString(int);
- method public static String? flagToString(int);
- method public static int getCapabilities(android.accessibilityservice.AccessibilityServiceInfo);
- method public static String? loadDescription(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager);
- field public static final int CAPABILITY_CAN_FILTER_KEY_EVENTS = 8; // 0x8
- field public static final int CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 4; // 0x4
- field public static final int CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION = 2; // 0x2
- field public static final int CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT = 1; // 0x1
- field public static final int FEEDBACK_ALL_MASK = -1; // 0xffffffff
- field public static final int FEEDBACK_BRAILLE = 32; // 0x20
- field public static final int FLAG_INCLUDE_NOT_IMPORTANT_VIEWS = 2; // 0x2
- field public static final int FLAG_REPORT_VIEW_IDS = 16; // 0x10
- field public static final int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 8; // 0x8
- field public static final int FLAG_REQUEST_FILTER_KEY_EVENTS = 32; // 0x20
- field public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE = 4; // 0x4
- }
-
-}
-
-package androidx.core.app {
-
- public class ActivityCompat extends androidx.core.content.ContextCompat {
- ctor protected ActivityCompat();
- method public static void finishAffinity(android.app.Activity);
- method public static void finishAfterTransition(android.app.Activity);
- method public static android.net.Uri? getReferrer(android.app.Activity);
- method @Deprecated public static boolean invalidateOptionsMenu(android.app.Activity!);
- method public static void postponeEnterTransition(android.app.Activity);
- method public static void recreate(android.app.Activity);
- method public static androidx.core.view.DragAndDropPermissionsCompat? requestDragAndDropPermissions(android.app.Activity!, android.view.DragEvent!);
- method public static void requestPermissions(android.app.Activity, String![], @IntRange(from=0) int);
- method public static <T extends android.view.View> T requireViewById(android.app.Activity, @IdRes int);
- method public static void setEnterSharedElementCallback(android.app.Activity, androidx.core.app.SharedElementCallback?);
- method public static void setExitSharedElementCallback(android.app.Activity, androidx.core.app.SharedElementCallback?);
- method public static void setPermissionCompatDelegate(androidx.core.app.ActivityCompat.PermissionCompatDelegate?);
- method public static boolean shouldShowRequestPermissionRationale(android.app.Activity, String);
- method public static void startActivityForResult(android.app.Activity, android.content.Intent, int, android.os.Bundle?);
- method public static void startIntentSenderForResult(android.app.Activity, android.content.IntentSender, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
- method public static void startPostponedEnterTransition(android.app.Activity);
- }
-
- public static interface ActivityCompat.OnRequestPermissionsResultCallback {
- method public void onRequestPermissionsResult(int, String![], int[]);
- }
-
- public static interface ActivityCompat.PermissionCompatDelegate {
- method public boolean onActivityResult(android.app.Activity, @IntRange(from=0) int, int, android.content.Intent?);
- method public boolean requestPermissions(android.app.Activity, String![], @IntRange(from=0) int);
- }
-
- public final class ActivityManagerCompat {
- method public static boolean isLowRamDevice(android.app.ActivityManager);
- }
-
- public class ActivityOptionsCompat {
- ctor protected ActivityOptionsCompat();
- method public android.graphics.Rect? getLaunchBounds();
- method public static androidx.core.app.ActivityOptionsCompat makeBasic();
- method public static androidx.core.app.ActivityOptionsCompat makeClipRevealAnimation(android.view.View, int, int, int, int);
- method public static androidx.core.app.ActivityOptionsCompat makeCustomAnimation(android.content.Context, int, int);
- method public static androidx.core.app.ActivityOptionsCompat makeScaleUpAnimation(android.view.View, int, int, int, int);
- method public static androidx.core.app.ActivityOptionsCompat makeSceneTransitionAnimation(android.app.Activity, android.view.View, String);
- method public static androidx.core.app.ActivityOptionsCompat makeSceneTransitionAnimation(android.app.Activity, androidx.core.util.Pair<android.view.View!,java.lang.String!>!...);
- method public static androidx.core.app.ActivityOptionsCompat makeTaskLaunchBehind();
- method public static androidx.core.app.ActivityOptionsCompat makeThumbnailScaleUpAnimation(android.view.View, android.graphics.Bitmap, int, int);
- method public void requestUsageTimeReport(android.app.PendingIntent);
- method public androidx.core.app.ActivityOptionsCompat setLaunchBounds(android.graphics.Rect?);
- method public android.os.Bundle? toBundle();
- method public void update(androidx.core.app.ActivityOptionsCompat);
- field public static final String EXTRA_USAGE_TIME_REPORT = "android.activity.usage_time";
- field public static final String EXTRA_USAGE_TIME_REPORT_PACKAGES = "android.usage_time_packages";
- }
-
- public final class AlarmManagerCompat {
- method public static void setAlarmClock(android.app.AlarmManager, long, android.app.PendingIntent, android.app.PendingIntent);
- method public static void setAndAllowWhileIdle(android.app.AlarmManager, int, long, android.app.PendingIntent);
- method public static void setExact(android.app.AlarmManager, int, long, android.app.PendingIntent);
- method public static void setExactAndAllowWhileIdle(android.app.AlarmManager, int, long, android.app.PendingIntent);
- }
-
- @RequiresApi(28) public class AppComponentFactory extends android.app.AppComponentFactory {
- ctor public AppComponentFactory();
- method public final android.app.Activity instantiateActivity(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.app.Activity instantiateActivityCompat(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.app.Application instantiateApplication(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.app.Application instantiateApplicationCompat(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.content.ContentProvider instantiateProvider(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.content.ContentProvider instantiateProviderCompat(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.content.BroadcastReceiver instantiateReceiver(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.content.BroadcastReceiver instantiateReceiverCompat(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.app.Service instantiateService(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.app.Service instantiateServiceCompat(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- }
-
- public class AppLaunchChecker {
- ctor @Deprecated public AppLaunchChecker();
- method public static boolean hasStartedFromLauncher(android.content.Context);
- method public static void onActivityCreate(android.app.Activity);
- }
-
- public final class AppOpsManagerCompat {
- method public static int noteOp(android.content.Context, String, int, String);
- method public static int noteOpNoThrow(android.content.Context, String, int, String);
- method public static int noteProxyOp(android.content.Context, String, String);
- method public static int noteProxyOpNoThrow(android.content.Context, String, String);
- method public static String? permissionToOp(String);
- field public static final int MODE_ALLOWED = 0; // 0x0
- field public static final int MODE_DEFAULT = 3; // 0x3
- field public static final int MODE_ERRORED = 2; // 0x2
- field public static final int MODE_IGNORED = 1; // 0x1
- }
-
- public final class BundleCompat {
- method public static android.os.IBinder? getBinder(android.os.Bundle, String?);
- method public static void putBinder(android.os.Bundle, String?, android.os.IBinder?);
- }
-
- public class DialogCompat {
- method public static android.view.View requireViewById(android.app.Dialog, int);
- }
-
- public class FrameMetricsAggregator {
- ctor public FrameMetricsAggregator();
- ctor public FrameMetricsAggregator(int);
- method public void add(android.app.Activity);
- method public android.util.SparseIntArray![]? getMetrics();
- method public android.util.SparseIntArray![]? remove(android.app.Activity);
- method public android.util.SparseIntArray![]? reset();
- method public android.util.SparseIntArray![]? stop();
- field public static final int ANIMATION_DURATION = 256; // 0x100
- field public static final int ANIMATION_INDEX = 8; // 0x8
- field public static final int COMMAND_DURATION = 32; // 0x20
- field public static final int COMMAND_INDEX = 5; // 0x5
- field public static final int DELAY_DURATION = 128; // 0x80
- field public static final int DELAY_INDEX = 7; // 0x7
- field public static final int DRAW_DURATION = 8; // 0x8
- field public static final int DRAW_INDEX = 3; // 0x3
- field public static final int EVERY_DURATION = 511; // 0x1ff
- field public static final int INPUT_DURATION = 2; // 0x2
- field public static final int INPUT_INDEX = 1; // 0x1
- field public static final int LAYOUT_MEASURE_DURATION = 4; // 0x4
- field public static final int LAYOUT_MEASURE_INDEX = 2; // 0x2
- field public static final int SWAP_DURATION = 64; // 0x40
- field public static final int SWAP_INDEX = 6; // 0x6
- field public static final int SYNC_DURATION = 16; // 0x10
- field public static final int SYNC_INDEX = 4; // 0x4
- field public static final int TOTAL_DURATION = 1; // 0x1
- field public static final int TOTAL_INDEX = 0; // 0x0
- }
-
- public abstract class JobIntentService extends android.app.Service {
- ctor public JobIntentService();
- method public static void enqueueWork(android.content.Context, Class<?>, int, android.content.Intent);
- method public static void enqueueWork(android.content.Context, android.content.ComponentName, int, android.content.Intent);
- method public boolean isStopped();
- method public android.os.IBinder! onBind(android.content.Intent);
- method protected abstract void onHandleWork(android.content.Intent);
- method public boolean onStopCurrentWork();
- method public void setInterruptIfStopped(boolean);
- }
-
- public final class NavUtils {
- method public static android.content.Intent? getParentActivityIntent(android.app.Activity);
- method public static android.content.Intent? getParentActivityIntent(android.content.Context, Class<?>) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static android.content.Intent? getParentActivityIntent(android.content.Context, android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static String? getParentActivityName(android.app.Activity);
- method public static String? getParentActivityName(android.content.Context, android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static void navigateUpFromSameTask(android.app.Activity);
- method public static void navigateUpTo(android.app.Activity, android.content.Intent);
- method public static boolean shouldUpRecreateTask(android.app.Activity, android.content.Intent);
- field public static final String PARENT_ACTIVITY = "android.support.PARENT_ACTIVITY";
- }
-
- public class NotificationCompat {
- ctor @Deprecated public NotificationCompat();
- method public static androidx.core.app.NotificationCompat.Action! getAction(android.app.Notification!, int);
- method public static int getActionCount(android.app.Notification!);
- method public static boolean getAllowSystemGeneratedContextualActions(android.app.Notification!);
- method public static int getBadgeIconType(android.app.Notification!);
- method public static androidx.core.app.NotificationCompat.BubbleMetadata? getBubbleMetadata(android.app.Notification);
- method public static String! getCategory(android.app.Notification!);
- method public static String! getChannelId(android.app.Notification!);
- method @RequiresApi(19) public static CharSequence! getContentTitle(android.app.Notification!);
- method public static android.os.Bundle? getExtras(android.app.Notification!);
- method public static String! getGroup(android.app.Notification!);
- method public static int getGroupAlertBehavior(android.app.Notification!);
- method @RequiresApi(21) public static java.util.List<androidx.core.app.NotificationCompat.Action!>! getInvisibleActions(android.app.Notification!);
- method public static boolean getLocalOnly(android.app.Notification!);
- method public static String! getShortcutId(android.app.Notification!);
- method public static String! getSortKey(android.app.Notification!);
- method public static long getTimeoutAfter(android.app.Notification!);
- method public static boolean isGroupSummary(android.app.Notification!);
- field public static final int BADGE_ICON_LARGE = 2; // 0x2
- field public static final int BADGE_ICON_NONE = 0; // 0x0
- field public static final int BADGE_ICON_SMALL = 1; // 0x1
- field public static final String CATEGORY_ALARM = "alarm";
- field public static final String CATEGORY_CALL = "call";
- field public static final String CATEGORY_EMAIL = "email";
- field public static final String CATEGORY_ERROR = "err";
- field public static final String CATEGORY_EVENT = "event";
- field public static final String CATEGORY_MESSAGE = "msg";
- field public static final String CATEGORY_NAVIGATION = "navigation";
- field public static final String CATEGORY_PROGRESS = "progress";
- field public static final String CATEGORY_PROMO = "promo";
- field public static final String CATEGORY_RECOMMENDATION = "recommendation";
- field public static final String CATEGORY_REMINDER = "reminder";
- field public static final String CATEGORY_SERVICE = "service";
- field public static final String CATEGORY_SOCIAL = "social";
- field public static final String CATEGORY_STATUS = "status";
- field public static final String CATEGORY_SYSTEM = "sys";
- field public static final String CATEGORY_TRANSPORT = "transport";
- field @ColorInt public static final int COLOR_DEFAULT = 0; // 0x0
- field public static final int DEFAULT_ALL = -1; // 0xffffffff
- field public static final int DEFAULT_LIGHTS = 4; // 0x4
- field public static final int DEFAULT_SOUND = 1; // 0x1
- field public static final int DEFAULT_VIBRATE = 2; // 0x2
- field public static final String EXTRA_AUDIO_CONTENTS_URI = "android.audioContents";
- field public static final String EXTRA_BACKGROUND_IMAGE_URI = "android.backgroundImageUri";
- field public static final String EXTRA_BIG_TEXT = "android.bigText";
- field public static final String EXTRA_CHRONOMETER_COUNT_DOWN = "android.chronometerCountDown";
- field public static final String EXTRA_COMPACT_ACTIONS = "android.compactActions";
- field public static final String EXTRA_CONVERSATION_TITLE = "android.conversationTitle";
- field public static final String EXTRA_HIDDEN_CONVERSATION_TITLE = "android.hiddenConversationTitle";
- field public static final String EXTRA_INFO_TEXT = "android.infoText";
- field public static final String EXTRA_IS_GROUP_CONVERSATION = "android.isGroupConversation";
- field public static final String EXTRA_LARGE_ICON = "android.largeIcon";
- field public static final String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
- field public static final String EXTRA_MEDIA_SESSION = "android.mediaSession";
- field public static final String EXTRA_MESSAGES = "android.messages";
- field public static final String EXTRA_MESSAGING_STYLE_USER = "android.messagingStyleUser";
- field public static final String EXTRA_PEOPLE = "android.people";
- field public static final String EXTRA_PICTURE = "android.picture";
- field public static final String EXTRA_PROGRESS = "android.progress";
- field public static final String EXTRA_PROGRESS_INDETERMINATE = "android.progressIndeterminate";
- field public static final String EXTRA_PROGRESS_MAX = "android.progressMax";
- field public static final String EXTRA_REMOTE_INPUT_HISTORY = "android.remoteInputHistory";
- field public static final String EXTRA_SELF_DISPLAY_NAME = "android.selfDisplayName";
- field public static final String EXTRA_SHOW_CHRONOMETER = "android.showChronometer";
- field public static final String EXTRA_SHOW_WHEN = "android.showWhen";
- field public static final String EXTRA_SMALL_ICON = "android.icon";
- field public static final String EXTRA_SUB_TEXT = "android.subText";
- field public static final String EXTRA_SUMMARY_TEXT = "android.summaryText";
- field public static final String EXTRA_TEMPLATE = "android.template";
- field public static final String EXTRA_TEXT = "android.text";
- field public static final String EXTRA_TEXT_LINES = "android.textLines";
- field public static final String EXTRA_TITLE = "android.title";
- field public static final String EXTRA_TITLE_BIG = "android.title.big";
- field public static final int FLAG_AUTO_CANCEL = 16; // 0x10
- field public static final int FLAG_BUBBLE = 4096; // 0x1000
- field public static final int FLAG_FOREGROUND_SERVICE = 64; // 0x40
- field public static final int FLAG_GROUP_SUMMARY = 512; // 0x200
- field @Deprecated public static final int FLAG_HIGH_PRIORITY = 128; // 0x80
- field public static final int FLAG_INSISTENT = 4; // 0x4
- field public static final int FLAG_LOCAL_ONLY = 256; // 0x100
- field public static final int FLAG_NO_CLEAR = 32; // 0x20
- field public static final int FLAG_ONGOING_EVENT = 2; // 0x2
- field public static final int FLAG_ONLY_ALERT_ONCE = 8; // 0x8
- field public static final int FLAG_SHOW_LIGHTS = 1; // 0x1
- field public static final int GROUP_ALERT_ALL = 0; // 0x0
- field public static final int GROUP_ALERT_CHILDREN = 2; // 0x2
- field public static final int GROUP_ALERT_SUMMARY = 1; // 0x1
- field public static final String GROUP_KEY_SILENT = "silent";
- field public static final int PRIORITY_DEFAULT = 0; // 0x0
- field public static final int PRIORITY_HIGH = 1; // 0x1
- field public static final int PRIORITY_LOW = -1; // 0xffffffff
- field public static final int PRIORITY_MAX = 2; // 0x2
- field public static final int PRIORITY_MIN = -2; // 0xfffffffe
- field public static final int STREAM_DEFAULT = -1; // 0xffffffff
- field public static final int VISIBILITY_PRIVATE = 0; // 0x0
- field public static final int VISIBILITY_PUBLIC = 1; // 0x1
- field public static final int VISIBILITY_SECRET = -1; // 0xffffffff
- }
-
- public static class NotificationCompat.Action {
- ctor public NotificationCompat.Action(int, CharSequence!, android.app.PendingIntent!);
- ctor public NotificationCompat.Action(androidx.core.graphics.drawable.IconCompat?, CharSequence?, android.app.PendingIntent?);
- method public android.app.PendingIntent! getActionIntent();
- method public boolean getAllowGeneratedReplies();
- method public androidx.core.app.RemoteInput![]! getDataOnlyRemoteInputs();
- method public android.os.Bundle! getExtras();
- method @Deprecated public int getIcon();
- method public androidx.core.graphics.drawable.IconCompat? getIconCompat();
- method public androidx.core.app.RemoteInput![]! getRemoteInputs();
- method @androidx.core.app.NotificationCompat.Action.SemanticAction public int getSemanticAction();
- method public boolean getShowsUserInterface();
- method public CharSequence! getTitle();
- method public boolean isContextual();
- field public static final int SEMANTIC_ACTION_ARCHIVE = 5; // 0x5
- field public static final int SEMANTIC_ACTION_CALL = 10; // 0xa
- field public static final int SEMANTIC_ACTION_DELETE = 4; // 0x4
- field public static final int SEMANTIC_ACTION_MARK_AS_READ = 2; // 0x2
- field public static final int SEMANTIC_ACTION_MARK_AS_UNREAD = 3; // 0x3
- field public static final int SEMANTIC_ACTION_MUTE = 6; // 0x6
- field public static final int SEMANTIC_ACTION_NONE = 0; // 0x0
- field public static final int SEMANTIC_ACTION_REPLY = 1; // 0x1
- field public static final int SEMANTIC_ACTION_THUMBS_DOWN = 9; // 0x9
- field public static final int SEMANTIC_ACTION_THUMBS_UP = 8; // 0x8
- field public static final int SEMANTIC_ACTION_UNMUTE = 7; // 0x7
- field public android.app.PendingIntent! actionIntent;
- field @Deprecated public int icon;
- field public CharSequence! title;
- }
-
- public static final class NotificationCompat.Action.Builder {
- ctor public NotificationCompat.Action.Builder(androidx.core.graphics.drawable.IconCompat?, CharSequence?, android.app.PendingIntent?);
- ctor public NotificationCompat.Action.Builder(int, CharSequence!, android.app.PendingIntent!);
- ctor public NotificationCompat.Action.Builder(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Action.Builder! addExtras(android.os.Bundle!);
- method public androidx.core.app.NotificationCompat.Action.Builder! addRemoteInput(androidx.core.app.RemoteInput!);
- method public androidx.core.app.NotificationCompat.Action! build();
- method public androidx.core.app.NotificationCompat.Action.Builder! extend(androidx.core.app.NotificationCompat.Action.Extender!);
- method public android.os.Bundle! getExtras();
- method public androidx.core.app.NotificationCompat.Action.Builder! setAllowGeneratedReplies(boolean);
- method public androidx.core.app.NotificationCompat.Action.Builder setContextual(boolean);
- method public androidx.core.app.NotificationCompat.Action.Builder! setSemanticAction(@androidx.core.app.NotificationCompat.Action.SemanticAction int);
- method public androidx.core.app.NotificationCompat.Action.Builder! setShowsUserInterface(boolean);
- }
-
- public static interface NotificationCompat.Action.Extender {
- method public androidx.core.app.NotificationCompat.Action.Builder! extend(androidx.core.app.NotificationCompat.Action.Builder!);
- }
-
- @IntDef({androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_NONE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_REPLY, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_MARK_AS_READ, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_MARK_AS_UNREAD, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_DELETE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_ARCHIVE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_MUTE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_UNMUTE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_THUMBS_UP, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_THUMBS_DOWN, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_CALL}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface NotificationCompat.Action.SemanticAction {
- }
-
- public static final class NotificationCompat.Action.WearableExtender implements androidx.core.app.NotificationCompat.Action.Extender {
- ctor public NotificationCompat.Action.WearableExtender();
- ctor public NotificationCompat.Action.WearableExtender(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! clone();
- method public androidx.core.app.NotificationCompat.Action.Builder! extend(androidx.core.app.NotificationCompat.Action.Builder!);
- method @Deprecated public CharSequence! getCancelLabel();
- method @Deprecated public CharSequence! getConfirmLabel();
- method public boolean getHintDisplayActionInline();
- method public boolean getHintLaunchesActivity();
- method @Deprecated public CharSequence! getInProgressLabel();
- method public boolean isAvailableOffline();
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! setAvailableOffline(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.Action.WearableExtender! setCancelLabel(CharSequence!);
- method @Deprecated public androidx.core.app.NotificationCompat.Action.WearableExtender! setConfirmLabel(CharSequence!);
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! setHintDisplayActionInline(boolean);
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! setHintLaunchesActivity(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.Action.WearableExtender! setInProgressLabel(CharSequence!);
- }
-
- public static class NotificationCompat.BigPictureStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.BigPictureStyle();
- ctor public NotificationCompat.BigPictureStyle(androidx.core.app.NotificationCompat.Builder!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! bigLargeIcon(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! bigPicture(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! setBigContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! setSummaryText(CharSequence!);
- }
-
- public static class NotificationCompat.BigTextStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.BigTextStyle();
- ctor public NotificationCompat.BigTextStyle(androidx.core.app.NotificationCompat.Builder!);
- method public androidx.core.app.NotificationCompat.BigTextStyle! bigText(CharSequence!);
- method public androidx.core.app.NotificationCompat.BigTextStyle! setBigContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.BigTextStyle! setSummaryText(CharSequence!);
- }
-
- public static final class NotificationCompat.BubbleMetadata {
- method @RequiresApi(29) public static androidx.core.app.NotificationCompat.BubbleMetadata? fromPlatform(android.app.Notification.BubbleMetadata?);
- method public boolean getAutoExpandBubble();
- method public android.app.PendingIntent? getDeleteIntent();
- method @Dimension(unit=androidx.annotation.Dimension.DP) public int getDesiredHeight();
- method @DimenRes public int getDesiredHeightResId();
- method public androidx.core.graphics.drawable.IconCompat getIcon();
- method public android.app.PendingIntent getIntent();
- method public boolean isNotificationSuppressed();
- method @RequiresApi(29) public static android.app.Notification.BubbleMetadata? toPlatform(androidx.core.app.NotificationCompat.BubbleMetadata?);
- }
-
- public static final class NotificationCompat.BubbleMetadata.Builder {
- ctor public NotificationCompat.BubbleMetadata.Builder();
- method public androidx.core.app.NotificationCompat.BubbleMetadata build();
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setAutoExpandBubble(boolean);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setDeleteIntent(android.app.PendingIntent?);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setDesiredHeight(@Dimension(unit=androidx.annotation.Dimension.DP) int);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setDesiredHeightResId(@DimenRes int);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setIcon(androidx.core.graphics.drawable.IconCompat);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setIntent(android.app.PendingIntent);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setSuppressNotification(boolean);
- }
-
- public static class NotificationCompat.Builder {
- ctor public NotificationCompat.Builder(android.content.Context, String);
- ctor @Deprecated public NotificationCompat.Builder(android.content.Context!);
- method public androidx.core.app.NotificationCompat.Builder! addAction(int, CharSequence!, android.app.PendingIntent!);
- method public androidx.core.app.NotificationCompat.Builder! addAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
- method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
- method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
- method public android.app.Notification! build();
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
- method public android.os.Bundle! getExtras();
- method @Deprecated public android.app.Notification! getNotification();
- method protected static CharSequence! limitCharSequenceLength(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder setAllowSystemGeneratedContextualActions(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setAutoCancel(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setBadgeIconType(int);
- method public androidx.core.app.NotificationCompat.Builder setBubbleMetadata(androidx.core.app.NotificationCompat.BubbleMetadata?);
- method public androidx.core.app.NotificationCompat.Builder! setCategory(String!);
- method public androidx.core.app.NotificationCompat.Builder! setChannelId(String);
- method @RequiresApi(24) public androidx.core.app.NotificationCompat.Builder setChronometerCountDown(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setColor(@ColorInt int);
- method public androidx.core.app.NotificationCompat.Builder! setColorized(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setContent(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setContentInfo(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setContentIntent(android.app.PendingIntent!);
- method public androidx.core.app.NotificationCompat.Builder! setContentText(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setCustomBigContentView(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setCustomContentView(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setCustomHeadsUpContentView(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setDefaults(int);
- method public androidx.core.app.NotificationCompat.Builder! setDeleteIntent(android.app.PendingIntent!);
- method public androidx.core.app.NotificationCompat.Builder! setExtras(android.os.Bundle!);
- method public androidx.core.app.NotificationCompat.Builder! setFullScreenIntent(android.app.PendingIntent!, boolean);
- method public androidx.core.app.NotificationCompat.Builder! setGroup(String!);
- method public androidx.core.app.NotificationCompat.Builder! setGroupAlertBehavior(int);
- method public androidx.core.app.NotificationCompat.Builder! setGroupSummary(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setLargeIcon(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.Builder! setLights(@ColorInt int, int, int);
- method public androidx.core.app.NotificationCompat.Builder! setLocalOnly(boolean);
- method public androidx.core.app.NotificationCompat.Builder setNotificationSilent();
- method public androidx.core.app.NotificationCompat.Builder! setNumber(int);
- method public androidx.core.app.NotificationCompat.Builder! setOngoing(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setOnlyAlertOnce(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setPriority(int);
- method public androidx.core.app.NotificationCompat.Builder! setProgress(int, int, boolean);
- method public androidx.core.app.NotificationCompat.Builder! setPublicVersion(android.app.Notification!);
- method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
- method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
- method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
- method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
- method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
- method public androidx.core.app.NotificationCompat.Builder! setSound(android.net.Uri!);
- method public androidx.core.app.NotificationCompat.Builder! setSound(android.net.Uri!, int);
- method public androidx.core.app.NotificationCompat.Builder! setStyle(androidx.core.app.NotificationCompat.Style!);
- method public androidx.core.app.NotificationCompat.Builder! setSubText(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setTicker(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setTicker(CharSequence!, android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setTimeoutAfter(long);
- method public androidx.core.app.NotificationCompat.Builder! setUsesChronometer(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setVibrate(long[]!);
- method public androidx.core.app.NotificationCompat.Builder! setVisibility(int);
- method public androidx.core.app.NotificationCompat.Builder! setWhen(long);
- field @Deprecated public java.util.ArrayList<java.lang.String!>! mPeople;
- }
-
- public static final class NotificationCompat.CarExtender implements androidx.core.app.NotificationCompat.Extender {
- ctor public NotificationCompat.CarExtender();
- ctor public NotificationCompat.CarExtender(android.app.Notification!);
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Builder!);
- method @ColorInt public int getColor();
- method public android.graphics.Bitmap! getLargeIcon();
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation! getUnreadConversation();
- method public androidx.core.app.NotificationCompat.CarExtender! setColor(@ColorInt int);
- method public androidx.core.app.NotificationCompat.CarExtender! setLargeIcon(android.graphics.Bitmap!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender! setUnreadConversation(androidx.core.app.NotificationCompat.CarExtender.UnreadConversation!);
- }
-
- @Deprecated public static class NotificationCompat.CarExtender.UnreadConversation {
- method @Deprecated public long getLatestTimestamp();
- method @Deprecated public String![]! getMessages();
- method @Deprecated public String! getParticipant();
- method @Deprecated public String![]! getParticipants();
- method @Deprecated public android.app.PendingIntent! getReadPendingIntent();
- method @Deprecated public androidx.core.app.RemoteInput! getRemoteInput();
- method @Deprecated public android.app.PendingIntent! getReplyPendingIntent();
- }
-
- @Deprecated public static class NotificationCompat.CarExtender.UnreadConversation.Builder {
- ctor @Deprecated public NotificationCompat.CarExtender.UnreadConversation.Builder(String!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! addMessage(String!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation! build();
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! setLatestTimestamp(long);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! setReadPendingIntent(android.app.PendingIntent!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! setReplyAction(android.app.PendingIntent!, androidx.core.app.RemoteInput!);
- }
-
- public static class NotificationCompat.DecoratedCustomViewStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.DecoratedCustomViewStyle();
- }
-
- public static interface NotificationCompat.Extender {
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Builder!);
- }
-
- public static class NotificationCompat.InboxStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.InboxStyle();
- ctor public NotificationCompat.InboxStyle(androidx.core.app.NotificationCompat.Builder!);
- method public androidx.core.app.NotificationCompat.InboxStyle! addLine(CharSequence!);
- method public androidx.core.app.NotificationCompat.InboxStyle! setBigContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.InboxStyle! setSummaryText(CharSequence!);
- }
-
- public static class NotificationCompat.MessagingStyle extends androidx.core.app.NotificationCompat.Style {
- ctor @Deprecated public NotificationCompat.MessagingStyle(CharSequence);
- ctor public NotificationCompat.MessagingStyle(androidx.core.app.Person);
- method public void addCompatExtras(android.os.Bundle!);
- method @Deprecated public androidx.core.app.NotificationCompat.MessagingStyle! addMessage(CharSequence!, long, CharSequence!);
- method public androidx.core.app.NotificationCompat.MessagingStyle! addMessage(CharSequence!, long, androidx.core.app.Person!);
- method public androidx.core.app.NotificationCompat.MessagingStyle! addMessage(androidx.core.app.NotificationCompat.MessagingStyle.Message!);
- method public static androidx.core.app.NotificationCompat.MessagingStyle? extractMessagingStyleFromNotification(android.app.Notification!);
- method public CharSequence? getConversationTitle();
- method public java.util.List<androidx.core.app.NotificationCompat.MessagingStyle.Message!>! getMessages();
- method public androidx.core.app.Person! getUser();
- method @Deprecated public CharSequence! getUserDisplayName();
- method public boolean isGroupConversation();
- method public androidx.core.app.NotificationCompat.MessagingStyle! setConversationTitle(CharSequence?);
- method public androidx.core.app.NotificationCompat.MessagingStyle! setGroupConversation(boolean);
- field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
- }
-
- public static final class NotificationCompat.MessagingStyle.Message {
- ctor public NotificationCompat.MessagingStyle.Message(CharSequence!, long, androidx.core.app.Person?);
- ctor @Deprecated public NotificationCompat.MessagingStyle.Message(CharSequence!, long, CharSequence!);
- method public String? getDataMimeType();
- method public android.net.Uri? getDataUri();
- method public android.os.Bundle getExtras();
- method public androidx.core.app.Person? getPerson();
- method @Deprecated public CharSequence? getSender();
- method public CharSequence getText();
- method public long getTimestamp();
- method public androidx.core.app.NotificationCompat.MessagingStyle.Message! setData(String!, android.net.Uri!);
- }
-
- public abstract static class NotificationCompat.Style {
- ctor public NotificationCompat.Style();
- method public android.app.Notification! build();
- method public void setBuilder(androidx.core.app.NotificationCompat.Builder!);
- }
-
- public static final class NotificationCompat.WearableExtender implements androidx.core.app.NotificationCompat.Extender {
- ctor public NotificationCompat.WearableExtender();
- ctor public NotificationCompat.WearableExtender(android.app.Notification!);
- method public androidx.core.app.NotificationCompat.WearableExtender! addAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.WearableExtender! addActions(java.util.List<androidx.core.app.NotificationCompat.Action!>!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! addPage(android.app.Notification!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! addPages(java.util.List<android.app.Notification!>!);
- method public androidx.core.app.NotificationCompat.WearableExtender! clearActions();
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! clearPages();
- method public androidx.core.app.NotificationCompat.WearableExtender! clone();
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Builder!);
- method public java.util.List<androidx.core.app.NotificationCompat.Action!>! getActions();
- method @Deprecated public android.graphics.Bitmap! getBackground();
- method public String! getBridgeTag();
- method public int getContentAction();
- method @Deprecated public int getContentIcon();
- method @Deprecated public int getContentIconGravity();
- method public boolean getContentIntentAvailableOffline();
- method @Deprecated public int getCustomContentHeight();
- method @Deprecated public int getCustomSizePreset();
- method public String! getDismissalId();
- method @Deprecated public android.app.PendingIntent! getDisplayIntent();
- method @Deprecated public int getGravity();
- method @Deprecated public boolean getHintAmbientBigPicture();
- method @Deprecated public boolean getHintAvoidBackgroundClipping();
- method public boolean getHintContentIntentLaunchesActivity();
- method @Deprecated public boolean getHintHideIcon();
- method @Deprecated public int getHintScreenTimeout();
- method @Deprecated public boolean getHintShowBackgroundOnly();
- method @Deprecated public java.util.List<android.app.Notification!>! getPages();
- method public boolean getStartScrollBottom();
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setBackground(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.WearableExtender! setBridgeTag(String!);
- method public androidx.core.app.NotificationCompat.WearableExtender! setContentAction(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setContentIcon(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setContentIconGravity(int);
- method public androidx.core.app.NotificationCompat.WearableExtender! setContentIntentAvailableOffline(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setCustomContentHeight(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setCustomSizePreset(int);
- method public androidx.core.app.NotificationCompat.WearableExtender! setDismissalId(String!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setDisplayIntent(android.app.PendingIntent!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setGravity(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintAmbientBigPicture(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintAvoidBackgroundClipping(boolean);
- method public androidx.core.app.NotificationCompat.WearableExtender! setHintContentIntentLaunchesActivity(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintHideIcon(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintScreenTimeout(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintShowBackgroundOnly(boolean);
- method public androidx.core.app.NotificationCompat.WearableExtender! setStartScrollBottom(boolean);
- field @Deprecated public static final int SCREEN_TIMEOUT_LONG = -1; // 0xffffffff
- field @Deprecated public static final int SCREEN_TIMEOUT_SHORT = 0; // 0x0
- field @Deprecated public static final int SIZE_DEFAULT = 0; // 0x0
- field @Deprecated public static final int SIZE_FULL_SCREEN = 5; // 0x5
- field @Deprecated public static final int SIZE_LARGE = 4; // 0x4
- field @Deprecated public static final int SIZE_MEDIUM = 3; // 0x3
- field @Deprecated public static final int SIZE_SMALL = 2; // 0x2
- field @Deprecated public static final int SIZE_XSMALL = 1; // 0x1
- field public static final int UNSET_ACTION_INDEX = -1; // 0xffffffff
- }
-
- public final class NotificationCompatExtras {
- field public static final String EXTRA_ACTION_EXTRAS = "android.support.actionExtras";
- field public static final String EXTRA_GROUP_KEY = "android.support.groupKey";
- field public static final String EXTRA_GROUP_SUMMARY = "android.support.isGroupSummary";
- field public static final String EXTRA_LOCAL_ONLY = "android.support.localOnly";
- field public static final String EXTRA_REMOTE_INPUTS = "android.support.remoteInputs";
- field public static final String EXTRA_SORT_KEY = "android.support.sortKey";
- }
-
- public abstract class NotificationCompatSideChannelService extends android.app.Service {
- ctor public NotificationCompatSideChannelService();
- method public abstract void cancel(String!, int, String!);
- method public abstract void cancelAll(String!);
- method public abstract void notify(String!, int, String!, android.app.Notification!);
- method public android.os.IBinder! onBind(android.content.Intent!);
- }
-
- public final class NotificationManagerCompat {
- method public boolean areNotificationsEnabled();
- method public void cancel(int);
- method public void cancel(String?, int);
- method public void cancelAll();
- method public void createNotificationChannel(android.app.NotificationChannel);
- method public void createNotificationChannelGroup(android.app.NotificationChannelGroup);
- method public void createNotificationChannelGroups(java.util.List<android.app.NotificationChannelGroup!>);
- method public void createNotificationChannels(java.util.List<android.app.NotificationChannel!>);
- method public void deleteNotificationChannel(String);
- method public void deleteNotificationChannelGroup(String);
- method public static androidx.core.app.NotificationManagerCompat from(android.content.Context);
- method public static java.util.Set<java.lang.String!> getEnabledListenerPackages(android.content.Context);
- method public int getImportance();
- method public android.app.NotificationChannel? getNotificationChannel(String);
- method public android.app.NotificationChannelGroup? getNotificationChannelGroup(String);
- method public java.util.List<android.app.NotificationChannelGroup!> getNotificationChannelGroups();
- method public java.util.List<android.app.NotificationChannel!> getNotificationChannels();
- method public void notify(int, android.app.Notification);
- method public void notify(String?, int, android.app.Notification);
- field public static final String ACTION_BIND_SIDE_CHANNEL = "android.support.BIND_NOTIFICATION_SIDE_CHANNEL";
- field public static final String EXTRA_USE_SIDE_CHANNEL = "android.support.useSideChannel";
- field public static final int IMPORTANCE_DEFAULT = 3; // 0x3
- field public static final int IMPORTANCE_HIGH = 4; // 0x4
- field public static final int IMPORTANCE_LOW = 2; // 0x2
- field public static final int IMPORTANCE_MAX = 5; // 0x5
- field public static final int IMPORTANCE_MIN = 1; // 0x1
- field public static final int IMPORTANCE_NONE = 0; // 0x0
- field public static final int IMPORTANCE_UNSPECIFIED = -1000; // 0xfffffc18
- }
-
- public class Person {
- method public static androidx.core.app.Person fromBundle(android.os.Bundle);
- method public androidx.core.graphics.drawable.IconCompat? getIcon();
- method public String? getKey();
- method public CharSequence? getName();
- method public String? getUri();
- method public boolean isBot();
- method public boolean isImportant();
- method public androidx.core.app.Person.Builder toBuilder();
- method public android.os.Bundle toBundle();
- }
-
- public static class Person.Builder {
- ctor public Person.Builder();
- method public androidx.core.app.Person build();
- method public androidx.core.app.Person.Builder setBot(boolean);
- method public androidx.core.app.Person.Builder setIcon(androidx.core.graphics.drawable.IconCompat?);
- method public androidx.core.app.Person.Builder setImportant(boolean);
- method public androidx.core.app.Person.Builder setKey(String?);
- method public androidx.core.app.Person.Builder setName(CharSequence?);
- method public androidx.core.app.Person.Builder setUri(String?);
- }
-
- public final class RemoteActionCompat implements androidx.versionedparcelable.VersionedParcelable {
- ctor public RemoteActionCompat(androidx.core.graphics.drawable.IconCompat, CharSequence, CharSequence, android.app.PendingIntent);
- ctor public RemoteActionCompat(androidx.core.app.RemoteActionCompat);
- method @RequiresApi(26) public static androidx.core.app.RemoteActionCompat createFromRemoteAction(android.app.RemoteAction);
- method public android.app.PendingIntent getActionIntent();
- method public CharSequence getContentDescription();
- method public androidx.core.graphics.drawable.IconCompat getIcon();
- method public CharSequence getTitle();
- method public boolean isEnabled();
- method public void setEnabled(boolean);
- method public void setShouldShowIcon(boolean);
- method public boolean shouldShowIcon();
- method @RequiresApi(26) public android.app.RemoteAction toRemoteAction();
- }
-
- public final class RemoteInput {
- method public static void addDataResultToIntent(androidx.core.app.RemoteInput!, android.content.Intent!, java.util.Map<java.lang.String!,android.net.Uri!>!);
- method public static void addResultsToIntent(androidx.core.app.RemoteInput![]!, android.content.Intent!, android.os.Bundle!);
- method public boolean getAllowFreeFormInput();
- method public java.util.Set<java.lang.String!>! getAllowedDataTypes();
- method public CharSequence![]! getChoices();
- method public static java.util.Map<java.lang.String!,android.net.Uri!>! getDataResultsFromIntent(android.content.Intent!, String!);
- method public int getEditChoicesBeforeSending();
- method public android.os.Bundle! getExtras();
- method public CharSequence! getLabel();
- method public String! getResultKey();
- method public static android.os.Bundle! getResultsFromIntent(android.content.Intent!);
- method public static int getResultsSource(android.content.Intent);
- method public boolean isDataOnly();
- method public static void setResultsSource(android.content.Intent, int);
- field public static final int EDIT_CHOICES_BEFORE_SENDING_AUTO = 0; // 0x0
- field public static final int EDIT_CHOICES_BEFORE_SENDING_DISABLED = 1; // 0x1
- field public static final int EDIT_CHOICES_BEFORE_SENDING_ENABLED = 2; // 0x2
- field public static final String EXTRA_RESULTS_DATA = "android.remoteinput.resultsData";
- field public static final String RESULTS_CLIP_LABEL = "android.remoteinput.results";
- field public static final int SOURCE_CHOICE = 1; // 0x1
- field public static final int SOURCE_FREE_FORM_INPUT = 0; // 0x0
- }
-
- public static final class RemoteInput.Builder {
- ctor public RemoteInput.Builder(String);
- method public androidx.core.app.RemoteInput.Builder addExtras(android.os.Bundle);
- method public androidx.core.app.RemoteInput build();
- method public android.os.Bundle getExtras();
- method public androidx.core.app.RemoteInput.Builder setAllowDataType(String, boolean);
- method public androidx.core.app.RemoteInput.Builder setAllowFreeFormInput(boolean);
- method public androidx.core.app.RemoteInput.Builder setChoices(CharSequence![]?);
- method public androidx.core.app.RemoteInput.Builder setEditChoicesBeforeSending(int);
- method public androidx.core.app.RemoteInput.Builder setLabel(CharSequence?);
- }
-
- public final class ServiceCompat {
- method public static void stopForeground(android.app.Service, int);
- field public static final int START_STICKY = 1; // 0x1
- field public static final int STOP_FOREGROUND_DETACH = 2; // 0x2
- field public static final int STOP_FOREGROUND_REMOVE = 1; // 0x1
- }
-
- public final class ShareCompat {
- method public static void configureMenuItem(android.view.MenuItem, androidx.core.app.ShareCompat.IntentBuilder);
- method public static void configureMenuItem(android.view.Menu, @IdRes int, androidx.core.app.ShareCompat.IntentBuilder);
- method public static android.content.ComponentName? getCallingActivity(android.app.Activity);
- method public static String? getCallingPackage(android.app.Activity);
- field public static final String EXTRA_CALLING_ACTIVITY = "androidx.core.app.EXTRA_CALLING_ACTIVITY";
- field public static final String EXTRA_CALLING_ACTIVITY_INTEROP = "android.support.v4.app.EXTRA_CALLING_ACTIVITY";
- field public static final String EXTRA_CALLING_PACKAGE = "androidx.core.app.EXTRA_CALLING_PACKAGE";
- field public static final String EXTRA_CALLING_PACKAGE_INTEROP = "android.support.v4.app.EXTRA_CALLING_PACKAGE";
- }
-
- public static class ShareCompat.IntentBuilder {
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailBcc(String);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailBcc(String![]);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailCc(String);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailCc(String![]);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailTo(String);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailTo(String![]);
- method public androidx.core.app.ShareCompat.IntentBuilder addStream(android.net.Uri);
- method public android.content.Intent createChooserIntent();
- method public static androidx.core.app.ShareCompat.IntentBuilder from(android.app.Activity);
- method public android.content.Intent getIntent();
- method public androidx.core.app.ShareCompat.IntentBuilder setChooserTitle(CharSequence?);
- method public androidx.core.app.ShareCompat.IntentBuilder setChooserTitle(@StringRes int);
- method public androidx.core.app.ShareCompat.IntentBuilder setEmailBcc(String![]?);
- method public androidx.core.app.ShareCompat.IntentBuilder setEmailCc(String![]?);
- method public androidx.core.app.ShareCompat.IntentBuilder setEmailTo(String![]?);
- method public androidx.core.app.ShareCompat.IntentBuilder setHtmlText(String?);
- method public androidx.core.app.ShareCompat.IntentBuilder setStream(android.net.Uri?);
- method public androidx.core.app.ShareCompat.IntentBuilder setSubject(String?);
- method public androidx.core.app.ShareCompat.IntentBuilder setText(CharSequence?);
- method public androidx.core.app.ShareCompat.IntentBuilder setType(String?);
- method public void startChooser();
- }
-
- public static class ShareCompat.IntentReader {
- method public static androidx.core.app.ShareCompat.IntentReader from(android.app.Activity);
- method public android.content.ComponentName? getCallingActivity();
- method public android.graphics.drawable.Drawable? getCallingActivityIcon();
- method public android.graphics.drawable.Drawable? getCallingApplicationIcon();
- method public CharSequence? getCallingApplicationLabel();
- method public String? getCallingPackage();
- method public String![]? getEmailBcc();
- method public String![]? getEmailCc();
- method public String![]? getEmailTo();
- method public String? getHtmlText();
- method public android.net.Uri? getStream();
- method public android.net.Uri? getStream(int);
- method public int getStreamCount();
- method public String? getSubject();
- method public CharSequence? getText();
- method public String? getType();
- method public boolean isMultipleShare();
- method public boolean isShareIntent();
- method public boolean isSingleShare();
- }
-
- public abstract class SharedElementCallback {
- ctor public SharedElementCallback();
- method public android.os.Parcelable! onCaptureSharedElementSnapshot(android.view.View!, android.graphics.Matrix!, android.graphics.RectF!);
- method public android.view.View! onCreateSnapshotView(android.content.Context!, android.os.Parcelable!);
- method public void onMapSharedElements(java.util.List<java.lang.String!>!, java.util.Map<java.lang.String!,android.view.View!>!);
- method public void onRejectSharedElements(java.util.List<android.view.View!>!);
- method public void onSharedElementEnd(java.util.List<java.lang.String!>!, java.util.List<android.view.View!>!, java.util.List<android.view.View!>!);
- method public void onSharedElementStart(java.util.List<java.lang.String!>!, java.util.List<android.view.View!>!, java.util.List<android.view.View!>!);
- method public void onSharedElementsArrived(java.util.List<java.lang.String!>!, java.util.List<android.view.View!>!, androidx.core.app.SharedElementCallback.OnSharedElementsReadyListener!);
- }
-
- public static interface SharedElementCallback.OnSharedElementsReadyListener {
- method public void onSharedElementsReady();
- }
-
- public final class TaskStackBuilder implements java.lang.Iterable<android.content.Intent> {
- method public androidx.core.app.TaskStackBuilder addNextIntent(android.content.Intent);
- method public androidx.core.app.TaskStackBuilder addNextIntentWithParentStack(android.content.Intent);
- method public androidx.core.app.TaskStackBuilder addParentStack(android.app.Activity);
- method public androidx.core.app.TaskStackBuilder addParentStack(Class<?>);
- method public androidx.core.app.TaskStackBuilder! addParentStack(android.content.ComponentName!);
- method public static androidx.core.app.TaskStackBuilder create(android.content.Context);
- method public android.content.Intent? editIntentAt(int);
- method @Deprecated public static androidx.core.app.TaskStackBuilder! from(android.content.Context!);
- method @Deprecated public android.content.Intent! getIntent(int);
- method public int getIntentCount();
- method public android.content.Intent![] getIntents();
- method public android.app.PendingIntent? getPendingIntent(int, int);
- method public android.app.PendingIntent? getPendingIntent(int, int, android.os.Bundle?);
- method @Deprecated public java.util.Iterator<android.content.Intent!>! iterator();
- method public void startActivities();
- method public void startActivities(android.os.Bundle?);
- }
-
- public static interface TaskStackBuilder.SupportParentable {
- method public android.content.Intent? getSupportParentActivityIntent();
- }
-
-}
-
-package androidx.core.content {
-
- public final class ContentProviderCompat {
- method public static android.content.Context requireContext(android.content.ContentProvider);
- }
-
- public final class ContentResolverCompat {
- method public static android.database.Cursor! query(android.content.ContentResolver!, android.net.Uri!, String![]!, String!, String![]!, String!, androidx.core.os.CancellationSignal!);
- }
-
- public class ContextCompat {
- ctor protected ContextCompat();
- method public static int checkSelfPermission(android.content.Context, String);
- method public static android.content.Context? createDeviceProtectedStorageContext(android.content.Context);
- method public static java.io.File! getCodeCacheDir(android.content.Context);
- method @ColorInt public static int getColor(android.content.Context, @ColorRes int);
- method public static android.content.res.ColorStateList? getColorStateList(android.content.Context, @ColorRes int);
- method public static java.io.File? getDataDir(android.content.Context);
- method public static android.graphics.drawable.Drawable? getDrawable(android.content.Context, @DrawableRes int);
- method public static java.io.File![] getExternalCacheDirs(android.content.Context);
- method public static java.io.File![] getExternalFilesDirs(android.content.Context, String?);
- method public static java.util.concurrent.Executor! getMainExecutor(android.content.Context!);
- method public static java.io.File? getNoBackupFilesDir(android.content.Context);
- method public static java.io.File![] getObbDirs(android.content.Context);
- method public static <T> T? getSystemService(android.content.Context, Class<T!>);
- method public static String? getSystemServiceName(android.content.Context, Class<?>);
- method public static boolean isDeviceProtectedStorage(android.content.Context);
- method public static boolean startActivities(android.content.Context, android.content.Intent![]);
- method public static boolean startActivities(android.content.Context, android.content.Intent![], android.os.Bundle?);
- method public static void startActivity(android.content.Context, android.content.Intent, android.os.Bundle?);
- method public static void startForegroundService(android.content.Context, android.content.Intent);
- }
-
- public class FileProvider extends android.content.ContentProvider {
- ctor public FileProvider();
- method public int delete(android.net.Uri, String?, String![]?);
- method public String! getType(android.net.Uri);
- method public static android.net.Uri! getUriForFile(android.content.Context, String, java.io.File);
- method public android.net.Uri! insert(android.net.Uri, android.content.ContentValues!);
- method public boolean onCreate();
- method public android.database.Cursor! query(android.net.Uri, String![]?, String?, String![]?, String?);
- method public int update(android.net.Uri, android.content.ContentValues!, String?, String![]?);
- }
-
- public final class IntentCompat {
- method public static android.content.Intent makeMainSelectorActivity(String, String);
- field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
- field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
- field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
- }
-
- public final class MimeTypeFilter {
- method public static boolean matches(String?, String);
- method public static String? matches(String?, String![]);
- method public static String? matches(String![]?, String);
- method public static String![] matchesMany(String![]?, String);
- }
-
- public final class PermissionChecker {
- method public static int checkCallingOrSelfPermission(android.content.Context, String);
- method public static int checkCallingPermission(android.content.Context, String, String?);
- method public static int checkPermission(android.content.Context, String, int, int, String?);
- method public static int checkSelfPermission(android.content.Context, String);
- field public static final int PERMISSION_DENIED = -1; // 0xffffffff
- field public static final int PERMISSION_DENIED_APP_OP = -2; // 0xfffffffe
- field public static final int PERMISSION_GRANTED = 0; // 0x0
- }
-
- @Deprecated public final class SharedPreferencesCompat {
- }
-
- @Deprecated public static final class SharedPreferencesCompat.EditorCompat {
- method @Deprecated public void apply(android.content.SharedPreferences.Editor);
- method @Deprecated public static androidx.core.content.SharedPreferencesCompat.EditorCompat! getInstance();
- }
-
-}
-
-package androidx.core.content.pm {
-
- @Deprecated public final class ActivityInfoCompat {
- field @Deprecated public static final int CONFIG_UI_MODE = 512; // 0x200
- }
-
- public final class PackageInfoCompat {
- method public static long getLongVersionCode(android.content.pm.PackageInfo);
- }
-
- public final class PermissionInfoCompat {
- method public static int getProtection(android.content.pm.PermissionInfo);
- method public static int getProtectionFlags(android.content.pm.PermissionInfo);
- }
-
- public class ShortcutInfoCompat {
- method public android.content.ComponentName? getActivity();
- method public java.util.Set<java.lang.String!>? getCategories();
- method public CharSequence? getDisabledMessage();
- method public String getId();
- method public android.content.Intent getIntent();
- method public android.content.Intent![] getIntents();
- method public CharSequence? getLongLabel();
- method public int getRank();
- method public CharSequence getShortLabel();
- method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
- }
-
- public static class ShortcutInfoCompat.Builder {
- ctor public ShortcutInfoCompat.Builder(android.content.Context, String);
- method public androidx.core.content.pm.ShortcutInfoCompat build();
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setActivity(android.content.ComponentName);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setLongLabel(CharSequence);
- method @Deprecated public androidx.core.content.pm.ShortcutInfoCompat.Builder setLongLived();
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setLongLived(boolean);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setPerson(androidx.core.app.Person);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setPersons(androidx.core.app.Person![]);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setRank(int);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setShortLabel(CharSequence);
- }
-
- public class ShortcutManagerCompat {
- method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
- method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
- method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
- method public static int getMaxShortcutCountPerActivity(android.content.Context);
- method public static boolean isRequestPinShortcutSupported(android.content.Context);
- method public static void removeAllDynamicShortcuts(android.content.Context);
- method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
- method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
- method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
- field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
- }
-
-}
-
-package androidx.core.content.res {
-
- public final class ConfigurationHelper {
- method public static int getDensityDpi(android.content.res.Resources);
- }
-
- public final class ResourcesCompat {
- method @ColorInt public static int getColor(android.content.res.Resources, @ColorRes int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static android.content.res.ColorStateList? getColorStateList(android.content.res.Resources, @ColorRes int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static android.graphics.drawable.Drawable? getDrawable(android.content.res.Resources, @DrawableRes int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static android.graphics.drawable.Drawable? getDrawableForDensity(android.content.res.Resources, @DrawableRes int, int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static float getFloat(android.content.res.Resources, @DimenRes int);
- method public static android.graphics.Typeface? getFont(android.content.Context, @FontRes int) throws android.content.res.Resources.NotFoundException;
- method public static void getFont(android.content.Context, @FontRes int, androidx.core.content.res.ResourcesCompat.FontCallback, android.os.Handler?) throws android.content.res.Resources.NotFoundException;
- field @AnyRes public static final int ID_NULL = 0; // 0x0
- }
-
- public abstract static class ResourcesCompat.FontCallback {
- ctor public ResourcesCompat.FontCallback();
- method public abstract void onFontRetrievalFailed(int);
- method public abstract void onFontRetrieved(android.graphics.Typeface);
- }
-
- public static final class ResourcesCompat.ThemeCompat {
- method public static void rebase(android.content.res.Resources.Theme);
- }
-
-}
-
-package androidx.core.database {
-
- public final class CursorWindowCompat {
- method public static android.database.CursorWindow create(String?, long);
- }
-
- @Deprecated public final class DatabaseUtilsCompat {
- method @Deprecated public static String![]! appendSelectionArgs(String![]!, String![]!);
- method @Deprecated public static String! concatenateWhere(String!, String!);
- }
-
-}
-
-package androidx.core.database.sqlite {
-
- public final class SQLiteCursorCompat {
- method public static void setFillWindowForwardOnly(android.database.sqlite.SQLiteCursor, boolean);
- }
-
-}
-
-package androidx.core.graphics {
-
- public final class BitmapCompat {
- method public static int getAllocationByteCount(android.graphics.Bitmap);
- method public static boolean hasMipMap(android.graphics.Bitmap);
- method public static void setHasMipMap(android.graphics.Bitmap, boolean);
- }
-
- public class BlendModeColorFilterCompat {
- method public static android.graphics.ColorFilter? createBlendModeColorFilterCompat(int, androidx.core.graphics.BlendModeCompat);
- }
-
- public enum BlendModeCompat {
- enum_constant public static final androidx.core.graphics.BlendModeCompat CLEAR;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat COLOR;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat COLOR_BURN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat COLOR_DODGE;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DARKEN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat DIFFERENCE;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_ATOP;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_IN;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_OUT;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_OVER;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat EXCLUSION;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat HARD_LIGHT;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat HUE;
- enum_constant public static final androidx.core.graphics.BlendModeCompat LIGHTEN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat LUMINOSITY;
- enum_constant public static final androidx.core.graphics.BlendModeCompat MODULATE;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat MULTIPLY;
- enum_constant public static final androidx.core.graphics.BlendModeCompat OVERLAY;
- enum_constant public static final androidx.core.graphics.BlendModeCompat PLUS;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat SATURATION;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SCREEN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat SOFT_LIGHT;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_ATOP;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_IN;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_OUT;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_OVER;
- enum_constant public static final androidx.core.graphics.BlendModeCompat XOR;
- }
-
- public final class ColorUtils {
- method @ColorInt public static int HSLToColor(float[]);
- method @ColorInt public static int LABToColor(@FloatRange(from=0.0f, to=100) double, @FloatRange(from=0xffffff80, to=127) double, @FloatRange(from=0xffffff80, to=127) double);
- method public static void LABToXYZ(@FloatRange(from=0.0f, to=100) double, @FloatRange(from=0xffffff80, to=127) double, @FloatRange(from=0xffffff80, to=127) double, double[]);
- method public static void RGBToHSL(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, float[]);
- method public static void RGBToLAB(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, double[]);
- method public static void RGBToXYZ(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, double[]);
- method @ColorInt public static int XYZToColor(@FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_X) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Y) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Z) double);
- method public static void XYZToLAB(@FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_X) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Y) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Z) double, double[]);
- method @ColorInt public static int blendARGB(@ColorInt int, @ColorInt int, @FloatRange(from=0.0, to=1.0) float);
- method public static void blendHSL(float[], float[], @FloatRange(from=0.0, to=1.0) float, float[]);
- method public static void blendLAB(double[], double[], @FloatRange(from=0.0, to=1.0) double, double[]);
- method public static double calculateContrast(@ColorInt int, @ColorInt int);
- method @FloatRange(from=0.0, to=1.0) public static double calculateLuminance(@ColorInt int);
- method public static int calculateMinimumAlpha(@ColorInt int, @ColorInt int, float);
- method public static void colorToHSL(@ColorInt int, float[]);
- method public static void colorToLAB(@ColorInt int, double[]);
- method public static void colorToXYZ(@ColorInt int, double[]);
- method public static int compositeColors(@ColorInt int, @ColorInt int);
- method @RequiresApi(26) public static android.graphics.Color compositeColors(android.graphics.Color, android.graphics.Color);
- method public static double distanceEuclidean(double[], double[]);
- method @ColorInt public static int setAlphaComponent(@ColorInt int, @IntRange(from=0, to=255) int);
- }
-
- public final class Insets {
- method public static androidx.core.graphics.Insets of(int, int, int, int);
- method public static androidx.core.graphics.Insets of(android.graphics.Rect);
- method @RequiresApi(api=29) public static androidx.core.graphics.Insets toCompatInsets(android.graphics.Insets);
- method @RequiresApi(api=29) public android.graphics.Insets toPlatformInsets();
- field public static final androidx.core.graphics.Insets NONE;
- field public final int bottom;
- field public final int left;
- field public final int right;
- field public final int top;
- }
-
- public final class PaintCompat {
- method public static boolean hasGlyph(android.graphics.Paint, String);
- method public static boolean setBlendMode(android.graphics.Paint, androidx.core.graphics.BlendModeCompat?);
- }
-
- public final class PathSegment {
- ctor public PathSegment(android.graphics.PointF, float, android.graphics.PointF, float);
- method public android.graphics.PointF getEnd();
- method public float getEndFraction();
- method public android.graphics.PointF getStart();
- method public float getStartFraction();
- }
-
- public final class PathUtils {
- method @RequiresApi(26) public static java.util.Collection<androidx.core.graphics.PathSegment!> flatten(android.graphics.Path);
- method @RequiresApi(26) public static java.util.Collection<androidx.core.graphics.PathSegment!> flatten(android.graphics.Path, @FloatRange(from=0) float);
- }
-
- public class TypefaceCompat {
- method public static android.graphics.Typeface create(android.content.Context, android.graphics.Typeface?, int);
- }
-
-}
-
-package androidx.core.graphics.drawable {
-
- public final class DrawableCompat {
- method public static void applyTheme(android.graphics.drawable.Drawable, android.content.res.Resources.Theme);
- method public static boolean canApplyTheme(android.graphics.drawable.Drawable);
- method public static void clearColorFilter(android.graphics.drawable.Drawable);
- method public static int getAlpha(android.graphics.drawable.Drawable);
- method public static android.graphics.ColorFilter! getColorFilter(android.graphics.drawable.Drawable);
- method public static int getLayoutDirection(android.graphics.drawable.Drawable);
- method public static void inflate(android.graphics.drawable.Drawable, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
- method public static boolean isAutoMirrored(android.graphics.drawable.Drawable);
- method @Deprecated public static void jumpToCurrentState(android.graphics.drawable.Drawable);
- method public static void setAutoMirrored(android.graphics.drawable.Drawable, boolean);
- method public static void setHotspot(android.graphics.drawable.Drawable, float, float);
- method public static void setHotspotBounds(android.graphics.drawable.Drawable, int, int, int, int);
- method public static boolean setLayoutDirection(android.graphics.drawable.Drawable, int);
- method public static void setTint(android.graphics.drawable.Drawable, @ColorInt int);
- method public static void setTintList(android.graphics.drawable.Drawable, android.content.res.ColorStateList?);
- method public static void setTintMode(android.graphics.drawable.Drawable, android.graphics.PorterDuff.Mode);
- method public static <T extends android.graphics.drawable.Drawable> T! unwrap(android.graphics.drawable.Drawable);
- method public static android.graphics.drawable.Drawable! wrap(android.graphics.drawable.Drawable);
- }
-
- public class IconCompat implements androidx.versionedparcelable.VersionedParcelable {
- method public static androidx.core.graphics.drawable.IconCompat? createFromBundle(android.os.Bundle);
- method @RequiresApi(23) public static androidx.core.graphics.drawable.IconCompat? createFromIcon(android.content.Context, android.graphics.drawable.Icon);
- method public static androidx.core.graphics.drawable.IconCompat! createWithAdaptiveBitmap(android.graphics.Bitmap!);
- method public static androidx.core.graphics.drawable.IconCompat createWithAdaptiveBitmapContentUri(String);
- method public static androidx.core.graphics.drawable.IconCompat createWithAdaptiveBitmapContentUri(android.net.Uri);
- method public static androidx.core.graphics.drawable.IconCompat! createWithBitmap(android.graphics.Bitmap!);
- method public static androidx.core.graphics.drawable.IconCompat! createWithContentUri(String!);
- method public static androidx.core.graphics.drawable.IconCompat! createWithContentUri(android.net.Uri!);
- method public static androidx.core.graphics.drawable.IconCompat! createWithData(byte[]!, int, int);
- method public static androidx.core.graphics.drawable.IconCompat! createWithResource(android.content.Context!, @DrawableRes int);
- method @IdRes public int getResId();
- method public String getResPackage();
- method public int getType();
- method public android.net.Uri getUri();
- method public android.graphics.drawable.Drawable? loadDrawable(android.content.Context);
- method public void onPostParceling();
- method public void onPreParceling(boolean);
- method public androidx.core.graphics.drawable.IconCompat! setTint(@ColorInt int);
- method public androidx.core.graphics.drawable.IconCompat! setTintList(android.content.res.ColorStateList!);
- method public androidx.core.graphics.drawable.IconCompat! setTintMode(android.graphics.PorterDuff.Mode!);
- method public android.os.Bundle! toBundle();
- method @Deprecated @RequiresApi(23) public android.graphics.drawable.Icon toIcon();
- method @RequiresApi(23) public android.graphics.drawable.Icon toIcon(android.content.Context?);
- field public static final int TYPE_ADAPTIVE_BITMAP = 5; // 0x5
- field public static final int TYPE_BITMAP = 1; // 0x1
- field public static final int TYPE_DATA = 3; // 0x3
- field public static final int TYPE_RESOURCE = 2; // 0x2
- field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
- field public static final int TYPE_URI = 4; // 0x4
- field public static final int TYPE_URI_ADAPTIVE_BITMAP = 6; // 0x6
- }
-
- public abstract class RoundedBitmapDrawable extends android.graphics.drawable.Drawable {
- method public void draw(android.graphics.Canvas);
- method public final android.graphics.Bitmap? getBitmap();
- method public float getCornerRadius();
- method public int getGravity();
- method public int getOpacity();
- method public final android.graphics.Paint getPaint();
- method public boolean hasAntiAlias();
- method public boolean hasMipMap();
- method public boolean isCircular();
- method public void setAlpha(int);
- method public void setAntiAlias(boolean);
- method public void setCircular(boolean);
- method public void setColorFilter(android.graphics.ColorFilter!);
- method public void setCornerRadius(float);
- method public void setDither(boolean);
- method public void setGravity(int);
- method public void setMipMap(boolean);
- method public void setTargetDensity(android.graphics.Canvas);
- method public void setTargetDensity(android.util.DisplayMetrics);
- method public void setTargetDensity(int);
- }
-
- public final class RoundedBitmapDrawableFactory {
- method public static androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources, android.graphics.Bitmap?);
- method public static androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources, String);
- method public static androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources, java.io.InputStream);
- }
-
-}
-
-package androidx.core.hardware.display {
-
- public final class DisplayManagerCompat {
- method public android.view.Display? getDisplay(int);
- method public android.view.Display![] getDisplays();
- method public android.view.Display![] getDisplays(String?);
- method public static androidx.core.hardware.display.DisplayManagerCompat getInstance(android.content.Context);
- field public static final String DISPLAY_CATEGORY_PRESENTATION = "android.hardware.display.category.PRESENTATION";
- }
-
-}
-
-package androidx.core.hardware.fingerprint {
-
- @Deprecated public class FingerprintManagerCompat {
- method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public void authenticate(androidx.core.hardware.fingerprint.FingerprintManagerCompat.CryptoObject?, int, androidx.core.os.CancellationSignal?, androidx.core.hardware.fingerprint.FingerprintManagerCompat.AuthenticationCallback, android.os.Handler?);
- method @Deprecated public static androidx.core.hardware.fingerprint.FingerprintManagerCompat from(android.content.Context);
- method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public boolean hasEnrolledFingerprints();
- method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public boolean isHardwareDetected();
- }
-
- @Deprecated public abstract static class FingerprintManagerCompat.AuthenticationCallback {
- ctor @Deprecated public FingerprintManagerCompat.AuthenticationCallback();
- method @Deprecated public void onAuthenticationError(int, CharSequence!);
- method @Deprecated public void onAuthenticationFailed();
- method @Deprecated public void onAuthenticationHelp(int, CharSequence!);
- method @Deprecated public void onAuthenticationSucceeded(androidx.core.hardware.fingerprint.FingerprintManagerCompat.AuthenticationResult!);
- }
-
- @Deprecated public static final class FingerprintManagerCompat.AuthenticationResult {
- ctor @Deprecated public FingerprintManagerCompat.AuthenticationResult(androidx.core.hardware.fingerprint.FingerprintManagerCompat.CryptoObject!);
- method @Deprecated public androidx.core.hardware.fingerprint.FingerprintManagerCompat.CryptoObject! getCryptoObject();
- }
-
- @Deprecated public static class FingerprintManagerCompat.CryptoObject {
- ctor @Deprecated public FingerprintManagerCompat.CryptoObject(java.security.Signature);
- ctor @Deprecated public FingerprintManagerCompat.CryptoObject(javax.crypto.Cipher);
- ctor @Deprecated public FingerprintManagerCompat.CryptoObject(javax.crypto.Mac);
- method @Deprecated public javax.crypto.Cipher? getCipher();
- method @Deprecated public javax.crypto.Mac? getMac();
- method @Deprecated public java.security.Signature? getSignature();
- }
-
-}
-
-package androidx.core.location {
-
- public final class LocationManagerCompat {
- method public static boolean isLocationEnabled(android.location.LocationManager);
- }
-
-}
-
-package androidx.core.math {
-
- public class MathUtils {
- method public static float clamp(float, float, float);
- method public static double clamp(double, double, double);
- method public static int clamp(int, int, int);
- method public static long clamp(long, long, long);
- }
-
-}
-
-package androidx.core.net {
-
- public final class ConnectivityManagerCompat {
- method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public static android.net.NetworkInfo? getNetworkInfoFromBroadcast(android.net.ConnectivityManager, android.content.Intent);
- method public static int getRestrictBackgroundStatus(android.net.ConnectivityManager);
- method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public static boolean isActiveNetworkMetered(android.net.ConnectivityManager);
- field public static final int RESTRICT_BACKGROUND_STATUS_DISABLED = 1; // 0x1
- field public static final int RESTRICT_BACKGROUND_STATUS_ENABLED = 3; // 0x3
- field public static final int RESTRICT_BACKGROUND_STATUS_WHITELISTED = 2; // 0x2
- }
-
- public final class TrafficStatsCompat {
- method @Deprecated public static void clearThreadStatsTag();
- method @Deprecated public static int getThreadStatsTag();
- method @Deprecated public static void incrementOperationCount(int);
- method @Deprecated public static void incrementOperationCount(int, int);
- method @Deprecated public static void setThreadStatsTag(int);
- method public static void tagDatagramSocket(java.net.DatagramSocket) throws java.net.SocketException;
- method @Deprecated public static void tagSocket(java.net.Socket!) throws java.net.SocketException;
- method public static void untagDatagramSocket(java.net.DatagramSocket) throws java.net.SocketException;
- method @Deprecated public static void untagSocket(java.net.Socket!) throws java.net.SocketException;
- }
-
- public final class UriCompat {
- method public static String toSafeString(android.net.Uri);
- }
-
-}
-
-package androidx.core.os {
-
- public class BuildCompat {
- method @Deprecated public static boolean isAtLeastN();
- method @Deprecated public static boolean isAtLeastNMR1();
- method @Deprecated public static boolean isAtLeastO();
- method @Deprecated public static boolean isAtLeastOMR1();
- method @Deprecated public static boolean isAtLeastP();
- method @Deprecated public static boolean isAtLeastQ();
- method public static boolean isAtLeastR();
- }
-
- public final class CancellationSignal {
- ctor public CancellationSignal();
- method public void cancel();
- method public Object? getCancellationSignalObject();
- method public boolean isCanceled();
- method public void setOnCancelListener(androidx.core.os.CancellationSignal.OnCancelListener?);
- method public void throwIfCanceled();
- }
-
- public static interface CancellationSignal.OnCancelListener {
- method public void onCancel();
- }
-
- public final class ConfigurationCompat {
- method public static androidx.core.os.LocaleListCompat getLocales(android.content.res.Configuration);
- }
-
- public final class EnvironmentCompat {
- method public static String getStorageState(java.io.File);
- field public static final String MEDIA_UNKNOWN = "unknown";
- }
-
- public final class HandlerCompat {
- method public static android.os.Handler createAsync(android.os.Looper);
- method public static android.os.Handler createAsync(android.os.Looper, android.os.Handler.Callback);
- method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
- }
-
- public final class LocaleListCompat {
- method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
- method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
- method public java.util.Locale! get(int);
- method @Size(min=1) public static androidx.core.os.LocaleListCompat getAdjustedDefault();
- method @Size(min=1) public static androidx.core.os.LocaleListCompat getDefault();
- method public static androidx.core.os.LocaleListCompat getEmptyLocaleList();
- method public java.util.Locale? getFirstMatch(String![]);
- method @IntRange(from=0xffffffff) public int indexOf(java.util.Locale!);
- method public boolean isEmpty();
- method @IntRange(from=0) public int size();
- method public String toLanguageTags();
- method public Object? unwrap();
- method @Deprecated @RequiresApi(24) public static androidx.core.os.LocaleListCompat! wrap(Object!);
- method @RequiresApi(24) public static androidx.core.os.LocaleListCompat wrap(android.os.LocaleList);
- }
-
- public final class MessageCompat {
- method public static boolean isAsynchronous(android.os.Message);
- method public static void setAsynchronous(android.os.Message, boolean);
- }
-
- public class OperationCanceledException extends java.lang.RuntimeException {
- ctor public OperationCanceledException();
- ctor public OperationCanceledException(String?);
- }
-
- public final class ParcelCompat {
- method public static boolean readBoolean(android.os.Parcel);
- method public static void writeBoolean(android.os.Parcel, boolean);
- }
-
- @Deprecated public final class ParcelableCompat {
- method @Deprecated public static <T> android.os.Parcelable.Creator<T!>! newCreator(androidx.core.os.ParcelableCompatCreatorCallbacks<T!>!);
- }
-
- @Deprecated public interface ParcelableCompatCreatorCallbacks<T> {
- method @Deprecated public T! createFromParcel(android.os.Parcel!, ClassLoader!);
- method @Deprecated public T![]! newArray(int);
- }
-
- public final class TraceCompat {
- method public static void beginAsyncSection(String, int);
- method public static void beginSection(String);
- method public static void endAsyncSection(String, int);
- method public static void endSection();
- method public static boolean isEnabled();
- method public static void setCounter(String, int);
- }
-
- public class UserManagerCompat {
- method public static boolean isUserUnlocked(android.content.Context);
- }
-
-}
-
-package androidx.core.provider {
-
- public final class FontRequest {
- ctor public FontRequest(String, String, String, java.util.List<java.util.List<byte[]!>!>);
- ctor public FontRequest(String, String, String, @ArrayRes int);
- method public java.util.List<java.util.List<byte[]!>!>? getCertificates();
- method @ArrayRes public int getCertificatesArrayResId();
- method public String getProviderAuthority();
- method public String getProviderPackage();
- method public String getQuery();
- }
-
- public class FontsContractCompat {
- method public static android.graphics.Typeface? buildTypeface(android.content.Context, android.os.CancellationSignal?, androidx.core.provider.FontsContractCompat.FontInfo![]);
- method public static androidx.core.provider.FontsContractCompat.FontFamilyResult fetchFonts(android.content.Context, android.os.CancellationSignal?, androidx.core.provider.FontRequest) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static void requestFont(android.content.Context, androidx.core.provider.FontRequest, androidx.core.provider.FontsContractCompat.FontRequestCallback, android.os.Handler);
- }
-
- public static final class FontsContractCompat.Columns implements android.provider.BaseColumns {
- ctor public FontsContractCompat.Columns();
- field public static final String FILE_ID = "file_id";
- field public static final String ITALIC = "font_italic";
- field public static final String RESULT_CODE = "result_code";
- field public static final int RESULT_CODE_FONT_NOT_FOUND = 1; // 0x1
- field public static final int RESULT_CODE_FONT_UNAVAILABLE = 2; // 0x2
- field public static final int RESULT_CODE_MALFORMED_QUERY = 3; // 0x3
- field public static final int RESULT_CODE_OK = 0; // 0x0
- field public static final String TTC_INDEX = "font_ttc_index";
- field public static final String VARIATION_SETTINGS = "font_variation_settings";
- field public static final String WEIGHT = "font_weight";
- }
-
- public static class FontsContractCompat.FontFamilyResult {
- method public androidx.core.provider.FontsContractCompat.FontInfo![]! getFonts();
- method public int getStatusCode();
- field public static final int STATUS_OK = 0; // 0x0
- field public static final int STATUS_UNEXPECTED_DATA_PROVIDED = 2; // 0x2
- field public static final int STATUS_WRONG_CERTIFICATES = 1; // 0x1
- }
-
- public static class FontsContractCompat.FontInfo {
- method public int getResultCode();
- method @IntRange(from=0) public int getTtcIndex();
- method public android.net.Uri getUri();
- method @IntRange(from=1, to=1000) public int getWeight();
- method public boolean isItalic();
- }
-
- public static class FontsContractCompat.FontRequestCallback {
- ctor public FontsContractCompat.FontRequestCallback();
- method public void onTypefaceRequestFailed(int);
- method public void onTypefaceRetrieved(android.graphics.Typeface!);
- field public static final int FAIL_REASON_FONT_LOAD_ERROR = -3; // 0xfffffffd
- field public static final int FAIL_REASON_FONT_NOT_FOUND = 1; // 0x1
- field public static final int FAIL_REASON_FONT_UNAVAILABLE = 2; // 0x2
- field public static final int FAIL_REASON_MALFORMED_QUERY = 3; // 0x3
- field public static final int FAIL_REASON_PROVIDER_NOT_FOUND = -1; // 0xffffffff
- field public static final int FAIL_REASON_SECURITY_VIOLATION = -4; // 0xfffffffc
- field public static final int FAIL_REASON_WRONG_CERTIFICATES = -2; // 0xfffffffe
- }
-
-}
-
-package androidx.core.telephony.mbms {
-
- public final class MbmsHelper {
- method public static CharSequence? getBestNameForService(android.content.Context, android.telephony.mbms.ServiceInfo);
- }
-
-}
-
-package androidx.core.text {
-
- public final class BidiFormatter {
- method public static androidx.core.text.BidiFormatter! getInstance();
- method public static androidx.core.text.BidiFormatter! getInstance(boolean);
- method public static androidx.core.text.BidiFormatter! getInstance(java.util.Locale!);
- method public boolean getStereoReset();
- method public boolean isRtl(String!);
- method public boolean isRtl(CharSequence!);
- method public boolean isRtlContext();
- method public String! unicodeWrap(String!, androidx.core.text.TextDirectionHeuristicCompat!, boolean);
- method public CharSequence! unicodeWrap(CharSequence!, androidx.core.text.TextDirectionHeuristicCompat!, boolean);
- method public String! unicodeWrap(String!, androidx.core.text.TextDirectionHeuristicCompat!);
- method public CharSequence! unicodeWrap(CharSequence!, androidx.core.text.TextDirectionHeuristicCompat!);
- method public String! unicodeWrap(String!, boolean);
- method public CharSequence! unicodeWrap(CharSequence!, boolean);
- method public String! unicodeWrap(String!);
- method public CharSequence! unicodeWrap(CharSequence!);
- }
-
- public static final class BidiFormatter.Builder {
- ctor public BidiFormatter.Builder();
- ctor public BidiFormatter.Builder(boolean);
- ctor public BidiFormatter.Builder(java.util.Locale!);
- method public androidx.core.text.BidiFormatter! build();
- method public androidx.core.text.BidiFormatter.Builder! setTextDirectionHeuristic(androidx.core.text.TextDirectionHeuristicCompat!);
- method public androidx.core.text.BidiFormatter.Builder! stereoReset(boolean);
- }
-
- public final class HtmlCompat {
- method public static android.text.Spanned fromHtml(String, int);
- method public static android.text.Spanned fromHtml(String, int, android.text.Html.ImageGetter?, android.text.Html.TagHandler?);
- method public static String toHtml(android.text.Spanned, int);
- field public static final int FROM_HTML_MODE_COMPACT = 63; // 0x3f
- field public static final int FROM_HTML_MODE_LEGACY = 0; // 0x0
- field public static final int FROM_HTML_OPTION_USE_CSS_COLORS = 256; // 0x100
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE = 32; // 0x20
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_DIV = 16; // 0x10
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_HEADING = 2; // 0x2
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST = 8; // 0x8
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM = 4; // 0x4
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH = 1; // 0x1
- field public static final int TO_HTML_PARAGRAPH_LINES_CONSECUTIVE = 0; // 0x0
- field public static final int TO_HTML_PARAGRAPH_LINES_INDIVIDUAL = 1; // 0x1
- }
-
- public final class ICUCompat {
- method public static String? maximizeAndGetScript(java.util.Locale!);
- }
-
- public class PrecomputedTextCompat implements android.text.Spannable {
- method public char charAt(int);
- method public static androidx.core.text.PrecomputedTextCompat! create(CharSequence, androidx.core.text.PrecomputedTextCompat.Params);
- method @IntRange(from=0) public int getParagraphCount();
- method @IntRange(from=0) public int getParagraphEnd(@IntRange(from=0) int);
- method @IntRange(from=0) public int getParagraphStart(@IntRange(from=0) int);
- method public androidx.core.text.PrecomputedTextCompat.Params getParams();
- method public int getSpanEnd(Object!);
- method public int getSpanFlags(Object!);
- method public int getSpanStart(Object!);
- method public <T> T![]! getSpans(int, int, Class<T!>!);
- method @UiThread public static java.util.concurrent.Future<androidx.core.text.PrecomputedTextCompat!>! getTextFuture(CharSequence, androidx.core.text.PrecomputedTextCompat.Params, java.util.concurrent.Executor?);
- method public int length();
- method public int nextSpanTransition(int, int, Class!);
- method public void removeSpan(Object!);
- method public void setSpan(Object!, int, int, int);
- method public CharSequence! subSequence(int, int);
- }
-
- public static final class PrecomputedTextCompat.Params {
- ctor @RequiresApi(28) public PrecomputedTextCompat.Params(android.text.PrecomputedText.Params);
- method @RequiresApi(23) public int getBreakStrategy();
- method @RequiresApi(23) public int getHyphenationFrequency();
- method @RequiresApi(18) public android.text.TextDirectionHeuristic? getTextDirection();
- method public android.text.TextPaint getTextPaint();
- }
-
- public static class PrecomputedTextCompat.Params.Builder {
- ctor public PrecomputedTextCompat.Params.Builder(android.text.TextPaint);
- method public androidx.core.text.PrecomputedTextCompat.Params build();
- method @RequiresApi(23) public androidx.core.text.PrecomputedTextCompat.Params.Builder! setBreakStrategy(int);
- method @RequiresApi(23) public androidx.core.text.PrecomputedTextCompat.Params.Builder! setHyphenationFrequency(int);
- method @RequiresApi(18) public androidx.core.text.PrecomputedTextCompat.Params.Builder! setTextDirection(android.text.TextDirectionHeuristic);
- }
-
- public interface TextDirectionHeuristicCompat {
- method public boolean isRtl(char[]!, int, int);
- method public boolean isRtl(CharSequence!, int, int);
- }
-
- public final class TextDirectionHeuristicsCompat {
- field public static final androidx.core.text.TextDirectionHeuristicCompat! ANYRTL_LTR;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! FIRSTSTRONG_LTR;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! FIRSTSTRONG_RTL;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! LOCALE;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! LTR;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! RTL;
- }
-
- public final class TextUtilsCompat {
- method public static int getLayoutDirectionFromLocale(java.util.Locale?);
- method public static String htmlEncode(String);
- }
-
-}
-
-package androidx.core.text.util {
-
- public final class LinkifyCompat {
- method public static boolean addLinks(android.text.Spannable, int);
- method public static boolean addLinks(android.widget.TextView, int);
- method public static void addLinks(android.widget.TextView, java.util.regex.Pattern, String?);
- method public static void addLinks(android.widget.TextView, java.util.regex.Pattern, String?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- method public static void addLinks(android.widget.TextView, java.util.regex.Pattern, String?, String![]?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- method public static boolean addLinks(android.text.Spannable, java.util.regex.Pattern, String?);
- method public static boolean addLinks(android.text.Spannable, java.util.regex.Pattern, String?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- method public static boolean addLinks(android.text.Spannable, java.util.regex.Pattern, String?, String![]?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- }
-
-}
-
-package androidx.core.util {
-
- public class AtomicFile {
- ctor public AtomicFile(java.io.File);
- method public void delete();
- method public void failWrite(java.io.FileOutputStream?);
- method public void finishWrite(java.io.FileOutputStream?);
- method public java.io.File getBaseFile();
- method public java.io.FileInputStream openRead() throws java.io.FileNotFoundException;
- method public byte[] readFully() throws java.io.IOException;
- method public java.io.FileOutputStream startWrite() throws java.io.IOException;
- }
-
- public interface Consumer<T> {
- method public void accept(T!);
- }
-
- public class ObjectsCompat {
- method public static boolean equals(Object?, Object?);
- method public static int hash(java.lang.Object!...);
- method public static int hashCode(Object?);
- }
-
- public class Pair<F, S> {
- ctor public Pair(F?, S?);
- method public static <A, B> androidx.core.util.Pair<A!,B!> create(A?, B?);
- field public final F? first;
- field public final S? second;
- }
-
- public final class PatternsCompat {
- field public static final java.util.regex.Pattern! DOMAIN_NAME;
- field public static final java.util.regex.Pattern! EMAIL_ADDRESS;
- field public static final java.util.regex.Pattern! IP_ADDRESS;
- field public static final java.util.regex.Pattern! WEB_URL;
- }
-
- public final class Pools {
- }
-
- public static interface Pools.Pool<T> {
- method public T? acquire();
- method public boolean release(T);
- }
-
- public static class Pools.SimplePool<T> implements androidx.core.util.Pools.Pool<T> {
- ctor public Pools.SimplePool(int);
- method public T! acquire();
- method public boolean release(T);
- }
-
- public static class Pools.SynchronizedPool<T> extends androidx.core.util.Pools.SimplePool<T> {
- ctor public Pools.SynchronizedPool(int);
- }
-
- public interface Predicate<T> {
- method public boolean test(T!);
- }
-
- public interface Supplier<T> {
- method public T! get();
- }
-
-}
-
-package androidx.core.view {
-
- public class AccessibilityDelegateCompat {
- ctor public AccessibilityDelegateCompat();
- method public boolean dispatchPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public androidx.core.view.accessibility.AccessibilityNodeProviderCompat! getAccessibilityNodeProvider(android.view.View!);
- method public void onInitializeAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public void onInitializeAccessibilityNodeInfo(android.view.View!, androidx.core.view.accessibility.AccessibilityNodeInfoCompat!);
- method public void onPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public boolean onRequestSendAccessibilityEvent(android.view.ViewGroup!, android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public boolean performAccessibilityAction(android.view.View!, int, android.os.Bundle!);
- method public void sendAccessibilityEvent(android.view.View!, int);
- method public void sendAccessibilityEventUnchecked(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- }
-
- public abstract class ActionProvider {
- ctor public ActionProvider(android.content.Context!);
- method public android.content.Context! getContext();
- method public boolean hasSubMenu();
- method public boolean isVisible();
- method public abstract android.view.View! onCreateActionView();
- method public android.view.View! onCreateActionView(android.view.MenuItem!);
- method public boolean onPerformDefaultAction();
- method public void onPrepareSubMenu(android.view.SubMenu!);
- method public boolean overridesItemVisibility();
- method public void refreshVisibility();
- method public void setVisibilityListener(androidx.core.view.ActionProvider.VisibilityListener!);
- }
-
- public static interface ActionProvider.VisibilityListener {
- method public void onActionProviderVisibilityChanged(boolean);
- }
-
- public final class DisplayCompat {
- method public static androidx.core.view.DisplayCompat.ModeCompat![] getSupportedModes(android.content.Context, android.view.Display);
- }
-
- public static final class DisplayCompat.ModeCompat {
- method public int getPhysicalHeight();
- method public int getPhysicalWidth();
- method public boolean isNative();
- method @RequiresApi(android.os.Build.VERSION_CODES.M) public android.view.Display.Mode? toMode();
- }
-
- public final class DisplayCutoutCompat {
- ctor public DisplayCutoutCompat(android.graphics.Rect!, java.util.List<android.graphics.Rect!>!);
- method public java.util.List<android.graphics.Rect!>! getBoundingRects();
- method public int getSafeInsetBottom();
- method public int getSafeInsetLeft();
- method public int getSafeInsetRight();
- method public int getSafeInsetTop();
- }
-
- public final class DragAndDropPermissionsCompat {
- method public void release();
- }
-
- public class DragStartHelper {
- ctor public DragStartHelper(android.view.View!, androidx.core.view.DragStartHelper.OnDragStartListener!);
- method public void attach();
- method public void detach();
- method public void getTouchPosition(android.graphics.Point!);
- method public boolean onLongClick(android.view.View!);
- method public boolean onTouch(android.view.View!, android.view.MotionEvent!);
- }
-
- public static interface DragStartHelper.OnDragStartListener {
- method public boolean onDragStart(android.view.View!, androidx.core.view.DragStartHelper!);
- }
-
- public final class GestureDetectorCompat {
- ctor public GestureDetectorCompat(android.content.Context!, android.view.GestureDetector.OnGestureListener!);
- ctor public GestureDetectorCompat(android.content.Context!, android.view.GestureDetector.OnGestureListener!, android.os.Handler!);
- method public boolean isLongpressEnabled();
- method public boolean onTouchEvent(android.view.MotionEvent!);
- method public void setIsLongpressEnabled(boolean);
- method public void setOnDoubleTapListener(android.view.GestureDetector.OnDoubleTapListener!);
- }
-
- public final class GravityCompat {
- method public static void apply(int, int, int, android.graphics.Rect!, android.graphics.Rect!, int);
- method public static void apply(int, int, int, android.graphics.Rect!, int, int, android.graphics.Rect!, int);
- method public static void applyDisplay(int, android.graphics.Rect!, android.graphics.Rect!, int);
- method public static int getAbsoluteGravity(int, int);
- field public static final int END = 8388613; // 0x800005
- field public static final int RELATIVE_HORIZONTAL_GRAVITY_MASK = 8388615; // 0x800007
- field public static final int RELATIVE_LAYOUT_DIRECTION = 8388608; // 0x800000
- field public static final int START = 8388611; // 0x800003
- }
-
- public final class InputDeviceCompat {
- field public static final int SOURCE_ANY = -256; // 0xffffff00
- field public static final int SOURCE_CLASS_BUTTON = 1; // 0x1
- field public static final int SOURCE_CLASS_JOYSTICK = 16; // 0x10
- field public static final int SOURCE_CLASS_MASK = 255; // 0xff
- field public static final int SOURCE_CLASS_NONE = 0; // 0x0
- field public static final int SOURCE_CLASS_POINTER = 2; // 0x2
- field public static final int SOURCE_CLASS_POSITION = 8; // 0x8
- field public static final int SOURCE_CLASS_TRACKBALL = 4; // 0x4
- field public static final int SOURCE_DPAD = 513; // 0x201
- field public static final int SOURCE_GAMEPAD = 1025; // 0x401
- field public static final int SOURCE_HDMI = 33554433; // 0x2000001
- field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010
- field public static final int SOURCE_KEYBOARD = 257; // 0x101
- field public static final int SOURCE_MOUSE = 8194; // 0x2002
- field public static final int SOURCE_ROTARY_ENCODER = 4194304; // 0x400000
- field public static final int SOURCE_STYLUS = 16386; // 0x4002
- field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008
- field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002
- field public static final int SOURCE_TOUCH_NAVIGATION = 2097152; // 0x200000
- field public static final int SOURCE_TRACKBALL = 65540; // 0x10004
- field public static final int SOURCE_UNKNOWN = 0; // 0x0
- }
-
- public final class LayoutInflaterCompat {
- method @Deprecated public static androidx.core.view.LayoutInflaterFactory! getFactory(android.view.LayoutInflater!);
- method @Deprecated public static void setFactory(android.view.LayoutInflater, androidx.core.view.LayoutInflaterFactory);
- method public static void setFactory2(android.view.LayoutInflater, android.view.LayoutInflater.Factory2);
- }
-
- @Deprecated public interface LayoutInflaterFactory {
- method @Deprecated public android.view.View! onCreateView(android.view.View!, String!, android.content.Context!, android.util.AttributeSet!);
- }
-
- public final class MarginLayoutParamsCompat {
- method public static int getLayoutDirection(android.view.ViewGroup.MarginLayoutParams!);
- method public static int getMarginEnd(android.view.ViewGroup.MarginLayoutParams!);
- method public static int getMarginStart(android.view.ViewGroup.MarginLayoutParams!);
- method public static boolean isMarginRelative(android.view.ViewGroup.MarginLayoutParams!);
- method public static void resolveLayoutDirection(android.view.ViewGroup.MarginLayoutParams!, int);
- method public static void setLayoutDirection(android.view.ViewGroup.MarginLayoutParams!, int);
- method public static void setMarginEnd(android.view.ViewGroup.MarginLayoutParams!, int);
- method public static void setMarginStart(android.view.ViewGroup.MarginLayoutParams!, int);
- }
-
- public final class MenuCompat {
- method public static void setGroupDividerEnabled(android.view.Menu!, boolean);
- method @Deprecated public static void setShowAsAction(android.view.MenuItem!, int);
- }
-
- public final class MenuItemCompat {
- method @Deprecated public static boolean collapseActionView(android.view.MenuItem!);
- method @Deprecated public static boolean expandActionView(android.view.MenuItem!);
- method public static androidx.core.view.ActionProvider! getActionProvider(android.view.MenuItem!);
- method @Deprecated public static android.view.View! getActionView(android.view.MenuItem!);
- method public static int getAlphabeticModifiers(android.view.MenuItem!);
- method public static CharSequence! getContentDescription(android.view.MenuItem!);
- method public static android.content.res.ColorStateList! getIconTintList(android.view.MenuItem!);
- method public static android.graphics.PorterDuff.Mode! getIconTintMode(android.view.MenuItem!);
- method public static int getNumericModifiers(android.view.MenuItem!);
- method public static CharSequence! getTooltipText(android.view.MenuItem!);
- method @Deprecated public static boolean isActionViewExpanded(android.view.MenuItem!);
- method public static android.view.MenuItem! setActionProvider(android.view.MenuItem!, androidx.core.view.ActionProvider!);
- method @Deprecated public static android.view.MenuItem! setActionView(android.view.MenuItem!, android.view.View!);
- method @Deprecated public static android.view.MenuItem! setActionView(android.view.MenuItem!, int);
- method public static void setAlphabeticShortcut(android.view.MenuItem!, char, int);
- method public static void setContentDescription(android.view.MenuItem!, CharSequence!);
- method public static void setIconTintList(android.view.MenuItem!, android.content.res.ColorStateList!);
- method public static void setIconTintMode(android.view.MenuItem!, android.graphics.PorterDuff.Mode!);
- method public static void setNumericShortcut(android.view.MenuItem!, char, int);
- method @Deprecated public static android.view.MenuItem! setOnActionExpandListener(android.view.MenuItem!, androidx.core.view.MenuItemCompat.OnActionExpandListener!);
- method public static void setShortcut(android.view.MenuItem!, char, char, int, int);
- method @Deprecated public static void setShowAsAction(android.view.MenuItem!, int);
- method public static void setTooltipText(android.view.MenuItem!, CharSequence!);
- field @Deprecated public static final int SHOW_AS_ACTION_ALWAYS = 2; // 0x2
- field @Deprecated public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8; // 0x8
- field @Deprecated public static final int SHOW_AS_ACTION_IF_ROOM = 1; // 0x1
- field @Deprecated public static final int SHOW_AS_ACTION_NEVER = 0; // 0x0
- field @Deprecated public static final int SHOW_AS_ACTION_WITH_TEXT = 4; // 0x4
- }
-
- @Deprecated public static interface MenuItemCompat.OnActionExpandListener {
- method @Deprecated public boolean onMenuItemActionCollapse(android.view.MenuItem!);
- method @Deprecated public boolean onMenuItemActionExpand(android.view.MenuItem!);
- }
-
- public final class MotionEventCompat {
- method @Deprecated public static int findPointerIndex(android.view.MotionEvent!, int);
- method @Deprecated public static int getActionIndex(android.view.MotionEvent!);
- method @Deprecated public static int getActionMasked(android.view.MotionEvent!);
- method @Deprecated public static float getAxisValue(android.view.MotionEvent!, int);
- method @Deprecated public static float getAxisValue(android.view.MotionEvent!, int, int);
- method @Deprecated public static int getButtonState(android.view.MotionEvent!);
- method @Deprecated public static int getPointerCount(android.view.MotionEvent!);
- method @Deprecated public static int getPointerId(android.view.MotionEvent!, int);
- method @Deprecated public static int getSource(android.view.MotionEvent!);
- method @Deprecated public static float getX(android.view.MotionEvent!, int);
- method @Deprecated public static float getY(android.view.MotionEvent!, int);
- method public static boolean isFromSource(android.view.MotionEvent!, int);
- field @Deprecated public static final int ACTION_HOVER_ENTER = 9; // 0x9
- field @Deprecated public static final int ACTION_HOVER_EXIT = 10; // 0xa
- field @Deprecated public static final int ACTION_HOVER_MOVE = 7; // 0x7
- field @Deprecated public static final int ACTION_MASK = 255; // 0xff
- field @Deprecated public static final int ACTION_POINTER_DOWN = 5; // 0x5
- field @Deprecated public static final int ACTION_POINTER_INDEX_MASK = 65280; // 0xff00
- field @Deprecated public static final int ACTION_POINTER_INDEX_SHIFT = 8; // 0x8
- field @Deprecated public static final int ACTION_POINTER_UP = 6; // 0x6
- field @Deprecated public static final int ACTION_SCROLL = 8; // 0x8
- field @Deprecated public static final int AXIS_BRAKE = 23; // 0x17
- field @Deprecated public static final int AXIS_DISTANCE = 24; // 0x18
- field @Deprecated public static final int AXIS_GAS = 22; // 0x16
- field @Deprecated public static final int AXIS_GENERIC_1 = 32; // 0x20
- field @Deprecated public static final int AXIS_GENERIC_10 = 41; // 0x29
- field @Deprecated public static final int AXIS_GENERIC_11 = 42; // 0x2a
- field @Deprecated public static final int AXIS_GENERIC_12 = 43; // 0x2b
- field @Deprecated public static final int AXIS_GENERIC_13 = 44; // 0x2c
- field @Deprecated public static final int AXIS_GENERIC_14 = 45; // 0x2d
- field @Deprecated public static final int AXIS_GENERIC_15 = 46; // 0x2e
- field @Deprecated public static final int AXIS_GENERIC_16 = 47; // 0x2f
- field @Deprecated public static final int AXIS_GENERIC_2 = 33; // 0x21
- field @Deprecated public static final int AXIS_GENERIC_3 = 34; // 0x22
- field @Deprecated public static final int AXIS_GENERIC_4 = 35; // 0x23
- field @Deprecated public static final int AXIS_GENERIC_5 = 36; // 0x24
- field @Deprecated public static final int AXIS_GENERIC_6 = 37; // 0x25
- field @Deprecated public static final int AXIS_GENERIC_7 = 38; // 0x26
- field @Deprecated public static final int AXIS_GENERIC_8 = 39; // 0x27
- field @Deprecated public static final int AXIS_GENERIC_9 = 40; // 0x28
- field @Deprecated public static final int AXIS_HAT_X = 15; // 0xf
- field @Deprecated public static final int AXIS_HAT_Y = 16; // 0x10
- field @Deprecated public static final int AXIS_HSCROLL = 10; // 0xa
- field @Deprecated public static final int AXIS_LTRIGGER = 17; // 0x11
- field @Deprecated public static final int AXIS_ORIENTATION = 8; // 0x8
- field @Deprecated public static final int AXIS_PRESSURE = 2; // 0x2
- field public static final int AXIS_RELATIVE_X = 27; // 0x1b
- field public static final int AXIS_RELATIVE_Y = 28; // 0x1c
- field @Deprecated public static final int AXIS_RTRIGGER = 18; // 0x12
- field @Deprecated public static final int AXIS_RUDDER = 20; // 0x14
- field @Deprecated public static final int AXIS_RX = 12; // 0xc
- field @Deprecated public static final int AXIS_RY = 13; // 0xd
- field @Deprecated public static final int AXIS_RZ = 14; // 0xe
- field public static final int AXIS_SCROLL = 26; // 0x1a
- field @Deprecated public static final int AXIS_SIZE = 3; // 0x3
- field @Deprecated public static final int AXIS_THROTTLE = 19; // 0x13
- field @Deprecated public static final int AXIS_TILT = 25; // 0x19
- field @Deprecated public static final int AXIS_TOOL_MAJOR = 6; // 0x6
- field @Deprecated public static final int AXIS_TOOL_MINOR = 7; // 0x7
- field @Deprecated public static final int AXIS_TOUCH_MAJOR = 4; // 0x4
- field @Deprecated public static final int AXIS_TOUCH_MINOR = 5; // 0x5
- field @Deprecated public static final int AXIS_VSCROLL = 9; // 0x9
- field @Deprecated public static final int AXIS_WHEEL = 21; // 0x15
- field @Deprecated public static final int AXIS_X = 0; // 0x0
- field @Deprecated public static final int AXIS_Y = 1; // 0x1
- field @Deprecated public static final int AXIS_Z = 11; // 0xb
- field @Deprecated public static final int BUTTON_PRIMARY = 1; // 0x1
- }
-
- public interface NestedScrollingChild {
- method public boolean dispatchNestedFling(float, float, boolean);
- method public boolean dispatchNestedPreFling(float, float);
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?);
- method public boolean hasNestedScrollingParent();
- method public boolean isNestedScrollingEnabled();
- method public void setNestedScrollingEnabled(boolean);
- method public boolean startNestedScroll(int);
- method public void stopNestedScroll();
- }
-
- public interface NestedScrollingChild2 extends androidx.core.view.NestedScrollingChild {
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?, int);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?, int);
- method public boolean hasNestedScrollingParent(int);
- method public boolean startNestedScroll(int, int);
- method public void stopNestedScroll(int);
- }
-
- public interface NestedScrollingChild3 extends androidx.core.view.NestedScrollingChild2 {
- method public void dispatchNestedScroll(int, int, int, int, int[]?, int, int[]);
- }
-
- public class NestedScrollingChildHelper {
- ctor public NestedScrollingChildHelper(android.view.View);
- method public boolean dispatchNestedFling(float, float, boolean);
- method public boolean dispatchNestedPreFling(float, float);
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?);
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?, int);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?, int);
- method public void dispatchNestedScroll(int, int, int, int, int[]?, int, int[]?);
- method public boolean hasNestedScrollingParent();
- method public boolean hasNestedScrollingParent(int);
- method public boolean isNestedScrollingEnabled();
- method public void onDetachedFromWindow();
- method public void onStopNestedScroll(android.view.View);
- method public void setNestedScrollingEnabled(boolean);
- method public boolean startNestedScroll(int);
- method public boolean startNestedScroll(int, int);
- method public void stopNestedScroll();
- method public void stopNestedScroll(int);
- }
-
- public interface NestedScrollingParent {
- method public int getNestedScrollAxes();
- method public boolean onNestedFling(android.view.View, float, float, boolean);
- method public boolean onNestedPreFling(android.view.View, float, float);
- method public void onNestedPreScroll(android.view.View, int, int, int[]);
- method public void onNestedScroll(android.view.View, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int);
- method public boolean onStartNestedScroll(android.view.View, android.view.View, int);
- method public void onStopNestedScroll(android.view.View);
- }
-
- public interface NestedScrollingParent2 extends androidx.core.view.NestedScrollingParent {
- method public void onNestedPreScroll(android.view.View, int, int, int[], int);
- method public void onNestedScroll(android.view.View, int, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int, int);
- method public boolean onStartNestedScroll(android.view.View, android.view.View, int, int);
- method public void onStopNestedScroll(android.view.View, int);
- }
-
- public interface NestedScrollingParent3 extends androidx.core.view.NestedScrollingParent2 {
- method public void onNestedScroll(android.view.View, int, int, int, int, int, int[]);
- }
-
- public class NestedScrollingParentHelper {
- ctor public NestedScrollingParentHelper(android.view.ViewGroup);
- method public int getNestedScrollAxes();
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int, int);
- method public void onStopNestedScroll(android.view.View);
- method public void onStopNestedScroll(android.view.View, int);
- }
-
- public interface OnApplyWindowInsetsListener {
- method public androidx.core.view.WindowInsetsCompat! onApplyWindowInsets(android.view.View!, androidx.core.view.WindowInsetsCompat!);
- }
-
- public final class OneShotPreDrawListener implements android.view.View.OnAttachStateChangeListener android.view.ViewTreeObserver.OnPreDrawListener {
- method public static androidx.core.view.OneShotPreDrawListener add(android.view.View, Runnable);
- method public boolean onPreDraw();
- method public void onViewAttachedToWindow(android.view.View!);
- method public void onViewDetachedFromWindow(android.view.View!);
- method public void removeListener();
- }
-
- public final class PointerIconCompat {
- method public static androidx.core.view.PointerIconCompat! create(android.graphics.Bitmap!, float, float);
- method public static androidx.core.view.PointerIconCompat! getSystemIcon(android.content.Context!, int);
- method public static androidx.core.view.PointerIconCompat! load(android.content.res.Resources!, int);
- field public static final int TYPE_ALIAS = 1010; // 0x3f2
- field public static final int TYPE_ALL_SCROLL = 1013; // 0x3f5
- field public static final int TYPE_ARROW = 1000; // 0x3e8
- field public static final int TYPE_CELL = 1006; // 0x3ee
- field public static final int TYPE_CONTEXT_MENU = 1001; // 0x3e9
- field public static final int TYPE_COPY = 1011; // 0x3f3
- field public static final int TYPE_CROSSHAIR = 1007; // 0x3ef
- field public static final int TYPE_DEFAULT = 1000; // 0x3e8
- field public static final int TYPE_GRAB = 1020; // 0x3fc
- field public static final int TYPE_GRABBING = 1021; // 0x3fd
- field public static final int TYPE_HAND = 1002; // 0x3ea
- field public static final int TYPE_HELP = 1003; // 0x3eb
- field public static final int TYPE_HORIZONTAL_DOUBLE_ARROW = 1014; // 0x3f6
- field public static final int TYPE_NO_DROP = 1012; // 0x3f4
- field public static final int TYPE_NULL = 0; // 0x0
- field public static final int TYPE_TEXT = 1008; // 0x3f0
- field public static final int TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW = 1017; // 0x3f9
- field public static final int TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW = 1016; // 0x3f8
- field public static final int TYPE_VERTICAL_DOUBLE_ARROW = 1015; // 0x3f7
- field public static final int TYPE_VERTICAL_TEXT = 1009; // 0x3f1
- field public static final int TYPE_WAIT = 1004; // 0x3ec
- field public static final int TYPE_ZOOM_IN = 1018; // 0x3fa
- field public static final int TYPE_ZOOM_OUT = 1019; // 0x3fb
- }
-
- public final class ScaleGestureDetectorCompat {
- method @Deprecated public static boolean isQuickScaleEnabled(Object!);
- method public static boolean isQuickScaleEnabled(android.view.ScaleGestureDetector!);
- method @Deprecated public static void setQuickScaleEnabled(Object!, boolean);
- method public static void setQuickScaleEnabled(android.view.ScaleGestureDetector!, boolean);
- }
-
- public interface ScrollingView {
- method public int computeHorizontalScrollExtent();
- method public int computeHorizontalScrollOffset();
- method public int computeHorizontalScrollRange();
- method public int computeVerticalScrollExtent();
- method public int computeVerticalScrollOffset();
- method public int computeVerticalScrollRange();
- }
-
- public interface TintableBackgroundView {
- method public android.content.res.ColorStateList? getSupportBackgroundTintList();
- method public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
- method public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
- method public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
- }
-
- @Deprecated public final class VelocityTrackerCompat {
- method @Deprecated public static float getXVelocity(android.view.VelocityTracker!, int);
- method @Deprecated public static float getYVelocity(android.view.VelocityTracker!, int);
- }
-
- public class ViewCompat {
- ctor protected ViewCompat();
- method public static int addAccessibilityAction(android.view.View, CharSequence, androidx.core.view.accessibility.AccessibilityViewCommand);
- method public static void addKeyboardNavigationClusters(android.view.View, java.util.Collection<android.view.View!>, int);
- method public static void addOnUnhandledKeyEventListener(android.view.View, androidx.core.view.ViewCompat.OnUnhandledKeyEventListenerCompat);
- method public static androidx.core.view.ViewPropertyAnimatorCompat animate(android.view.View);
- method @Deprecated public static boolean canScrollHorizontally(android.view.View!, int);
- method @Deprecated public static boolean canScrollVertically(android.view.View!, int);
- method public static void cancelDragAndDrop(android.view.View);
- method @Deprecated public static int combineMeasuredStates(int, int);
- method public static androidx.core.view.WindowInsetsCompat computeSystemWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat, android.graphics.Rect);
- method public static androidx.core.view.WindowInsetsCompat dispatchApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat);
- method public static void dispatchFinishTemporaryDetach(android.view.View);
- method public static boolean dispatchNestedFling(android.view.View, float, float, boolean);
- method public static boolean dispatchNestedPreFling(android.view.View, float, float);
- method public static boolean dispatchNestedPreScroll(android.view.View, int, int, int[]?, int[]?);
- method public static boolean dispatchNestedPreScroll(android.view.View, int, int, int[]?, int[]?, int);
- method public static boolean dispatchNestedScroll(android.view.View, int, int, int, int, int[]?);
- method public static void dispatchNestedScroll(android.view.View, int, int, int, int, int[]?, int, int[]);
- method public static boolean dispatchNestedScroll(android.view.View, int, int, int, int, int[]?, int);
- method public static void dispatchStartTemporaryDetach(android.view.View);
- method public static void enableAccessibleClickableSpanSupport(android.view.View!);
- method public static int generateViewId();
- method public static androidx.core.view.AccessibilityDelegateCompat? getAccessibilityDelegate(android.view.View);
- method public static int getAccessibilityLiveRegion(android.view.View);
- method public static androidx.core.view.accessibility.AccessibilityNodeProviderCompat! getAccessibilityNodeProvider(android.view.View);
- method @UiThread public static CharSequence! getAccessibilityPaneTitle(android.view.View!);
- method @Deprecated public static float getAlpha(android.view.View!);
- method public static android.content.res.ColorStateList! getBackgroundTintList(android.view.View);
- method public static android.graphics.PorterDuff.Mode! getBackgroundTintMode(android.view.View);
- method public static android.graphics.Rect? getClipBounds(android.view.View);
- method public static android.view.Display? getDisplay(android.view.View);
- method public static float getElevation(android.view.View);
- method public static boolean getFitsSystemWindows(android.view.View);
- method public static int getImportantForAccessibility(android.view.View);
- method public static int getImportantForAutofill(android.view.View);
- method public static int getLabelFor(android.view.View);
- method @Deprecated public static int getLayerType(android.view.View!);
- method public static int getLayoutDirection(android.view.View);
- method @Deprecated public static android.graphics.Matrix? getMatrix(android.view.View!);
- method @Deprecated public static int getMeasuredHeightAndState(android.view.View!);
- method @Deprecated public static int getMeasuredState(android.view.View!);
- method @Deprecated public static int getMeasuredWidthAndState(android.view.View!);
- method public static int getMinimumHeight(android.view.View);
- method public static int getMinimumWidth(android.view.View);
- method public static int getNextClusterForwardId(android.view.View);
- method @Deprecated public static int getOverScrollMode(android.view.View!);
- method @Px public static int getPaddingEnd(android.view.View);
- method @Px public static int getPaddingStart(android.view.View);
- method public static android.view.ViewParent! getParentForAccessibility(android.view.View);
- method @Deprecated public static float getPivotX(android.view.View!);
- method @Deprecated public static float getPivotY(android.view.View!);
- method public static androidx.core.view.WindowInsetsCompat? getRootWindowInsets(android.view.View);
- method @Deprecated public static float getRotation(android.view.View!);
- method @Deprecated public static float getRotationX(android.view.View!);
- method @Deprecated public static float getRotationY(android.view.View!);
- method @Deprecated public static float getScaleX(android.view.View!);
- method @Deprecated public static float getScaleY(android.view.View!);
- method public static int getScrollIndicators(android.view.View);
- method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
- method public static String? getTransitionName(android.view.View);
- method @Deprecated public static float getTranslationX(android.view.View!);
- method @Deprecated public static float getTranslationY(android.view.View!);
- method public static float getTranslationZ(android.view.View);
- method public static int getWindowSystemUiVisibility(android.view.View);
- method @Deprecated public static float getX(android.view.View!);
- method @Deprecated public static float getY(android.view.View!);
- method public static float getZ(android.view.View);
- method public static boolean hasAccessibilityDelegate(android.view.View);
- method public static boolean hasExplicitFocusable(android.view.View);
- method public static boolean hasNestedScrollingParent(android.view.View);
- method public static boolean hasNestedScrollingParent(android.view.View, int);
- method public static boolean hasOnClickListeners(android.view.View);
- method public static boolean hasOverlappingRendering(android.view.View);
- method public static boolean hasTransientState(android.view.View);
- method @UiThread public static boolean isAccessibilityHeading(android.view.View!);
- method public static boolean isAttachedToWindow(android.view.View);
- method public static boolean isFocusedByDefault(android.view.View);
- method public static boolean isImportantForAccessibility(android.view.View);
- method public static boolean isImportantForAutofill(android.view.View);
- method public static boolean isInLayout(android.view.View);
- method public static boolean isKeyboardNavigationCluster(android.view.View);
- method public static boolean isLaidOut(android.view.View);
- method public static boolean isLayoutDirectionResolved(android.view.View);
- method public static boolean isNestedScrollingEnabled(android.view.View);
- method @Deprecated public static boolean isOpaque(android.view.View!);
- method public static boolean isPaddingRelative(android.view.View);
- method @UiThread public static boolean isScreenReaderFocusable(android.view.View!);
- method @Deprecated public static void jumpDrawablesToCurrentState(android.view.View!);
- method public static android.view.View! keyboardNavigationClusterSearch(android.view.View, android.view.View!, int);
- method public static void offsetLeftAndRight(android.view.View, int);
- method public static void offsetTopAndBottom(android.view.View, int);
- method public static androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat);
- method @Deprecated public static void onInitializeAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public static void onInitializeAccessibilityNodeInfo(android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat!);
- method @Deprecated public static void onPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public static boolean performAccessibilityAction(android.view.View, int, android.os.Bundle!);
- method public static void postInvalidateOnAnimation(android.view.View);
- method public static void postInvalidateOnAnimation(android.view.View, int, int, int, int);
- method public static void postOnAnimation(android.view.View, Runnable!);
- method public static void postOnAnimationDelayed(android.view.View, Runnable!, long);
- method public static void removeAccessibilityAction(android.view.View, int);
- method public static void removeOnUnhandledKeyEventListener(android.view.View, androidx.core.view.ViewCompat.OnUnhandledKeyEventListenerCompat);
- method public static void replaceAccessibilityAction(android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat, CharSequence?, androidx.core.view.accessibility.AccessibilityViewCommand?);
- method public static void requestApplyInsets(android.view.View);
- method public static <T extends android.view.View> T requireViewById(android.view.View, @IdRes int);
- method @Deprecated public static int resolveSizeAndState(int, int, int);
- method public static boolean restoreDefaultFocus(android.view.View);
- method public static void saveAttributeDataForStyleable(android.view.View, android.content.Context, int[], android.util.AttributeSet?, android.content.res.TypedArray, int, int);
- method public static void setAccessibilityDelegate(android.view.View, androidx.core.view.AccessibilityDelegateCompat!);
- method @UiThread public static void setAccessibilityHeading(android.view.View!, boolean);
- method public static void setAccessibilityLiveRegion(android.view.View, int);
- method @UiThread public static void setAccessibilityPaneTitle(android.view.View!, CharSequence!);
- method @Deprecated public static void setActivated(android.view.View!, boolean);
- method @Deprecated public static void setAlpha(android.view.View!, @FloatRange(from=0.0, to=1.0) float);
- method public static void setAutofillHints(android.view.View, java.lang.String!...);
- method public static void setBackground(android.view.View, android.graphics.drawable.Drawable?);
- method public static void setBackgroundTintList(android.view.View, android.content.res.ColorStateList!);
- method public static void setBackgroundTintMode(android.view.View, android.graphics.PorterDuff.Mode!);
- method @Deprecated public static void setChildrenDrawingOrderEnabled(android.view.ViewGroup!, boolean);
- method public static void setClipBounds(android.view.View, android.graphics.Rect!);
- method public static void setElevation(android.view.View, float);
- method @Deprecated public static void setFitsSystemWindows(android.view.View!, boolean);
- method public static void setFocusedByDefault(android.view.View, boolean);
- method public static void setHasTransientState(android.view.View, boolean);
- method public static void setImportantForAccessibility(android.view.View, int);
- method public static void setImportantForAutofill(android.view.View, int);
- method public static void setKeyboardNavigationCluster(android.view.View, boolean);
- method public static void setLabelFor(android.view.View, @IdRes int);
- method public static void setLayerPaint(android.view.View, android.graphics.Paint!);
- method @Deprecated public static void setLayerType(android.view.View!, int, android.graphics.Paint!);
- method public static void setLayoutDirection(android.view.View, int);
- method public static void setNestedScrollingEnabled(android.view.View, boolean);
- method public static void setNextClusterForwardId(android.view.View, int);
- method public static void setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener?);
- method @Deprecated public static void setOverScrollMode(android.view.View!, int);
- method public static void setPaddingRelative(android.view.View, @Px int, @Px int, @Px int, @Px int);
- method @Deprecated public static void setPivotX(android.view.View!, float);
- method @Deprecated public static void setPivotY(android.view.View!, float);
- method public static void setPointerIcon(android.view.View, androidx.core.view.PointerIconCompat!);
- method @Deprecated public static void setRotation(android.view.View!, float);
- method @Deprecated public static void setRotationX(android.view.View!, float);
- method @Deprecated public static void setRotationY(android.view.View!, float);
- method @Deprecated public static void setSaveFromParentEnabled(android.view.View!, boolean);
- method @Deprecated public static void setScaleX(android.view.View!, float);
- method @Deprecated public static void setScaleY(android.view.View!, float);
- method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
- method public static void setScrollIndicators(android.view.View, int);
- method public static void setScrollIndicators(android.view.View, int, int);
- method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
- method public static void setTooltipText(android.view.View, CharSequence?);
- method public static void setTransitionName(android.view.View, String!);
- method @Deprecated public static void setTranslationX(android.view.View!, float);
- method @Deprecated public static void setTranslationY(android.view.View!, float);
- method public static void setTranslationZ(android.view.View, float);
- method @Deprecated public static void setX(android.view.View!, float);
- method @Deprecated public static void setY(android.view.View!, float);
- method public static void setZ(android.view.View, float);
- method public static boolean startDragAndDrop(android.view.View, android.content.ClipData!, android.view.View.DragShadowBuilder!, Object!, int);
- method public static boolean startNestedScroll(android.view.View, int);
- method public static boolean startNestedScroll(android.view.View, int, int);
- method public static void stopNestedScroll(android.view.View);
- method public static void stopNestedScroll(android.view.View, int);
- method public static void updateDragShadow(android.view.View, android.view.View.DragShadowBuilder!);
- field public static final int ACCESSIBILITY_LIVE_REGION_ASSERTIVE = 2; // 0x2
- field public static final int ACCESSIBILITY_LIVE_REGION_NONE = 0; // 0x0
- field public static final int ACCESSIBILITY_LIVE_REGION_POLITE = 1; // 0x1
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_AUTO = 0; // 0x0
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_NO = 2; // 0x2
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS = 4; // 0x4
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_YES = 1; // 0x1
- field @Deprecated public static final int LAYER_TYPE_HARDWARE = 2; // 0x2
- field @Deprecated public static final int LAYER_TYPE_NONE = 0; // 0x0
- field @Deprecated public static final int LAYER_TYPE_SOFTWARE = 1; // 0x1
- field public static final int LAYOUT_DIRECTION_INHERIT = 2; // 0x2
- field public static final int LAYOUT_DIRECTION_LOCALE = 3; // 0x3
- field public static final int LAYOUT_DIRECTION_LTR = 0; // 0x0
- field public static final int LAYOUT_DIRECTION_RTL = 1; // 0x1
- field @Deprecated public static final int MEASURED_HEIGHT_STATE_SHIFT = 16; // 0x10
- field @Deprecated public static final int MEASURED_SIZE_MASK = 16777215; // 0xffffff
- field @Deprecated public static final int MEASURED_STATE_MASK = -16777216; // 0xff000000
- field @Deprecated public static final int MEASURED_STATE_TOO_SMALL = 16777216; // 0x1000000
- field @Deprecated public static final int OVER_SCROLL_ALWAYS = 0; // 0x0
- field @Deprecated public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1; // 0x1
- field @Deprecated public static final int OVER_SCROLL_NEVER = 2; // 0x2
- field public static final int SCROLL_AXIS_HORIZONTAL = 1; // 0x1
- field public static final int SCROLL_AXIS_NONE = 0; // 0x0
- field public static final int SCROLL_AXIS_VERTICAL = 2; // 0x2
- field public static final int SCROLL_INDICATOR_BOTTOM = 2; // 0x2
- field public static final int SCROLL_INDICATOR_END = 32; // 0x20
- field public static final int SCROLL_INDICATOR_LEFT = 4; // 0x4
- field public static final int SCROLL_INDICATOR_RIGHT = 8; // 0x8
- field public static final int SCROLL_INDICATOR_START = 16; // 0x10
- field public static final int SCROLL_INDICATOR_TOP = 1; // 0x1
- field public static final int TYPE_NON_TOUCH = 1; // 0x1
- field public static final int TYPE_TOUCH = 0; // 0x0
- }
-
- public static interface ViewCompat.OnUnhandledKeyEventListenerCompat {
- method public boolean onUnhandledKeyEvent(android.view.View!, android.view.KeyEvent!);
- }
-
- public final class ViewConfigurationCompat {
- method public static float getScaledHorizontalScrollFactor(android.view.ViewConfiguration, android.content.Context);
- method public static int getScaledHoverSlop(android.view.ViewConfiguration!);
- method @Deprecated public static int getScaledPagingTouchSlop(android.view.ViewConfiguration!);
- method public static float getScaledVerticalScrollFactor(android.view.ViewConfiguration, android.content.Context);
- method @Deprecated public static boolean hasPermanentMenuKey(android.view.ViewConfiguration!);
- method public static boolean shouldShowMenuShortcutsWhenKeyboardPresent(android.view.ViewConfiguration!, android.content.Context);
- }
-
- public final class ViewGroupCompat {
- method public static int getLayoutMode(android.view.ViewGroup);
- method public static int getNestedScrollAxes(android.view.ViewGroup);
- method public static boolean isTransitionGroup(android.view.ViewGroup);
- method @Deprecated public static boolean onRequestSendAccessibilityEvent(android.view.ViewGroup!, android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public static void setLayoutMode(android.view.ViewGroup, int);
- method @Deprecated public static void setMotionEventSplittingEnabled(android.view.ViewGroup!, boolean);
- method public static void setTransitionGroup(android.view.ViewGroup, boolean);
- field public static final int LAYOUT_MODE_CLIP_BOUNDS = 0; // 0x0
- field public static final int LAYOUT_MODE_OPTICAL_BOUNDS = 1; // 0x1
- }
-
- public final class ViewParentCompat {
- method public static void notifySubtreeAccessibilityStateChanged(android.view.ViewParent!, android.view.View!, android.view.View!, int);
- method public static boolean onNestedFling(android.view.ViewParent!, android.view.View!, float, float, boolean);
- method public static boolean onNestedPreFling(android.view.ViewParent!, android.view.View!, float, float);
- method public static void onNestedPreScroll(android.view.ViewParent!, android.view.View!, int, int, int[]!);
- method public static void onNestedPreScroll(android.view.ViewParent!, android.view.View!, int, int, int[]!, int);
- method public static void onNestedScroll(android.view.ViewParent!, android.view.View!, int, int, int, int);
- method public static void onNestedScroll(android.view.ViewParent!, android.view.View!, int, int, int, int, int);
- method public static void onNestedScroll(android.view.ViewParent!, android.view.View!, int, int, int, int, int, int[]);
- method public static void onNestedScrollAccepted(android.view.ViewParent!, android.view.View!, android.view.View!, int);
- method public static void onNestedScrollAccepted(android.view.ViewParent!, android.view.View!, android.view.View!, int, int);
- method public static boolean onStartNestedScroll(android.view.ViewParent!, android.view.View!, android.view.View!, int);
- method public static boolean onStartNestedScroll(android.view.ViewParent!, android.view.View!, android.view.View!, int, int);
- method public static void onStopNestedScroll(android.view.ViewParent!, android.view.View!);
- method public static void onStopNestedScroll(android.view.ViewParent!, android.view.View!, int);
- method @Deprecated public static boolean requestSendAccessibilityEvent(android.view.ViewParent!, android.view.View!, android.view.accessibility.AccessibilityEvent!);
- }
-
- public final class ViewPropertyAnimatorCompat {
- method public androidx.core.view.ViewPropertyAnimatorCompat! alpha(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! alphaBy(float);
- method public void cancel();
- method public long getDuration();
- method public android.view.animation.Interpolator! getInterpolator();
- method public long getStartDelay();
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotation(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationX(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationXBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationY(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationYBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleX(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleXBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleY(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleYBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setDuration(long);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setInterpolator(android.view.animation.Interpolator!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setListener(androidx.core.view.ViewPropertyAnimatorListener!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setStartDelay(long);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setUpdateListener(androidx.core.view.ViewPropertyAnimatorUpdateListener!);
- method public void start();
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationX(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationXBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationY(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationYBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationZ(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationZBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! withEndAction(Runnable!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! withLayer();
- method public androidx.core.view.ViewPropertyAnimatorCompat! withStartAction(Runnable!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! x(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! xBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! y(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! yBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! z(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! zBy(float);
- }
-
- public interface ViewPropertyAnimatorListener {
- method public void onAnimationCancel(android.view.View!);
- method public void onAnimationEnd(android.view.View!);
- method public void onAnimationStart(android.view.View!);
- }
-
- public class ViewPropertyAnimatorListenerAdapter implements androidx.core.view.ViewPropertyAnimatorListener {
- ctor public ViewPropertyAnimatorListenerAdapter();
- method public void onAnimationCancel(android.view.View!);
- method public void onAnimationEnd(android.view.View!);
- method public void onAnimationStart(android.view.View!);
- }
-
- public interface ViewPropertyAnimatorUpdateListener {
- method public void onAnimationUpdate(android.view.View!);
- }
-
- public final class WindowCompat {
- method public static <T extends android.view.View> T requireViewById(android.view.Window, @IdRes int);
- field public static final int FEATURE_ACTION_BAR = 8; // 0x8
- field public static final int FEATURE_ACTION_BAR_OVERLAY = 9; // 0x9
- field public static final int FEATURE_ACTION_MODE_OVERLAY = 10; // 0xa
- }
-
- public class WindowInsetsCompat {
- ctor public WindowInsetsCompat(androidx.core.view.WindowInsetsCompat?);
- method public androidx.core.view.WindowInsetsCompat consumeDisplayCutout();
- method public androidx.core.view.WindowInsetsCompat consumeStableInsets();
- method public androidx.core.view.WindowInsetsCompat consumeSystemWindowInsets();
- method public androidx.core.view.DisplayCutoutCompat? getDisplayCutout();
- method public androidx.core.graphics.Insets getMandatorySystemGestureInsets();
- method public int getStableInsetBottom();
- method public int getStableInsetLeft();
- method public int getStableInsetRight();
- method public int getStableInsetTop();
- method public androidx.core.graphics.Insets getStableInsets();
- method public androidx.core.graphics.Insets getSystemGestureInsets();
- method public int getSystemWindowInsetBottom();
- method public int getSystemWindowInsetLeft();
- method public int getSystemWindowInsetRight();
- method public int getSystemWindowInsetTop();
- method public androidx.core.graphics.Insets getSystemWindowInsets();
- method public androidx.core.graphics.Insets getTappableElementInsets();
- method public boolean hasInsets();
- method public boolean hasStableInsets();
- method public boolean hasSystemWindowInsets();
- method public androidx.core.view.WindowInsetsCompat inset(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat inset(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
- method public boolean isConsumed();
- method public boolean isRound();
- method @Deprecated public androidx.core.view.WindowInsetsCompat replaceSystemWindowInsets(int, int, int, int);
- method @Deprecated public androidx.core.view.WindowInsetsCompat replaceSystemWindowInsets(android.graphics.Rect);
- method @RequiresApi(20) public android.view.WindowInsets? toWindowInsets();
- method @RequiresApi(20) public static androidx.core.view.WindowInsetsCompat toWindowInsetsCompat(android.view.WindowInsets);
- }
-
- public static final class WindowInsetsCompat.Builder {
- ctor public WindowInsetsCompat.Builder();
- ctor public WindowInsetsCompat.Builder(androidx.core.view.WindowInsetsCompat);
- method public androidx.core.view.WindowInsetsCompat build();
- method public androidx.core.view.WindowInsetsCompat.Builder setDisplayCutout(androidx.core.view.DisplayCutoutCompat?);
- method public androidx.core.view.WindowInsetsCompat.Builder setMandatorySystemGestureInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setStableInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setSystemGestureInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setSystemWindowInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setTappableElementInsets(androidx.core.graphics.Insets);
- }
-
-}
-
-package androidx.core.view.accessibility {
-
- public final class AccessibilityClickableSpanCompat extends android.text.style.ClickableSpan {
- method public void onClick(android.view.View);
- }
-
- public final class AccessibilityEventCompat {
- method @Deprecated public static void appendRecord(android.view.accessibility.AccessibilityEvent!, androidx.core.view.accessibility.AccessibilityRecordCompat!);
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! asRecord(android.view.accessibility.AccessibilityEvent!);
- method public static int getAction(android.view.accessibility.AccessibilityEvent!);
- method public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
- method public static int getMovementGranularity(android.view.accessibility.AccessibilityEvent!);
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! getRecord(android.view.accessibility.AccessibilityEvent!, int);
- method @Deprecated public static int getRecordCount(android.view.accessibility.AccessibilityEvent!);
- method public static void setAction(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setMovementGranularity(android.view.accessibility.AccessibilityEvent!, int);
- field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
- field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
- field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
- field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
- field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
- field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
- field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
- field public static final int TYPES_ALL_MASK = -1; // 0xffffffff
- field public static final int TYPE_ANNOUNCEMENT = 16384; // 0x4000
- field public static final int TYPE_ASSIST_READING_CONTEXT = 16777216; // 0x1000000
- field public static final int TYPE_GESTURE_DETECTION_END = 524288; // 0x80000
- field public static final int TYPE_GESTURE_DETECTION_START = 262144; // 0x40000
- field @Deprecated public static final int TYPE_TOUCH_EXPLORATION_GESTURE_END = 1024; // 0x400
- field @Deprecated public static final int TYPE_TOUCH_EXPLORATION_GESTURE_START = 512; // 0x200
- field public static final int TYPE_TOUCH_INTERACTION_END = 2097152; // 0x200000
- field public static final int TYPE_TOUCH_INTERACTION_START = 1048576; // 0x100000
- field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUSED = 32768; // 0x8000
- field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED = 65536; // 0x10000
- field public static final int TYPE_VIEW_CONTEXT_CLICKED = 8388608; // 0x800000
- field @Deprecated public static final int TYPE_VIEW_HOVER_ENTER = 128; // 0x80
- field @Deprecated public static final int TYPE_VIEW_HOVER_EXIT = 256; // 0x100
- field @Deprecated public static final int TYPE_VIEW_SCROLLED = 4096; // 0x1000
- field @Deprecated public static final int TYPE_VIEW_TEXT_SELECTION_CHANGED = 8192; // 0x2000
- field public static final int TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY = 131072; // 0x20000
- field public static final int TYPE_WINDOWS_CHANGED = 4194304; // 0x400000
- field @Deprecated public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
- }
-
- public final class AccessibilityManagerCompat {
- method @Deprecated public static boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
- method public static boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
- method @Deprecated public static java.util.List<android.accessibilityservice.AccessibilityServiceInfo!>! getEnabledAccessibilityServiceList(android.view.accessibility.AccessibilityManager!, int);
- method @Deprecated public static java.util.List<android.accessibilityservice.AccessibilityServiceInfo!>! getInstalledAccessibilityServiceList(android.view.accessibility.AccessibilityManager!);
- method @Deprecated public static boolean isTouchExplorationEnabled(android.view.accessibility.AccessibilityManager!);
- method @Deprecated public static boolean removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
- method public static boolean removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
- }
-
- @Deprecated public static interface AccessibilityManagerCompat.AccessibilityStateChangeListener {
- method @Deprecated public void onAccessibilityStateChanged(boolean);
- }
-
- @Deprecated public abstract static class AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat implements androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener {
- ctor @Deprecated public AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat();
- }
-
- public static interface AccessibilityManagerCompat.TouchExplorationStateChangeListener {
- method public void onTouchExplorationStateChanged(boolean);
- }
-
- public class AccessibilityNodeInfoCompat {
- ctor @Deprecated public AccessibilityNodeInfoCompat(Object!);
- method public void addAction(int);
- method public void addAction(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat!);
- method public void addChild(android.view.View!);
- method public void addChild(android.view.View!, int);
- method public boolean canOpenPopup();
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat!>! findAccessibilityNodeInfosByText(String!);
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat!>! findAccessibilityNodeInfosByViewId(String!);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! findFocus(int);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! focusSearch(int);
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat!>! getActionList();
- method public int getActions();
- method @Deprecated public void getBoundsInParent(android.graphics.Rect!);
- method public void getBoundsInScreen(android.graphics.Rect!);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getChild(int);
- method public int getChildCount();
- method public CharSequence! getClassName();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat! getCollectionInfo();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat! getCollectionItemInfo();
- method public CharSequence! getContentDescription();
- method public int getDrawingOrder();
- method public CharSequence! getError();
- method public android.os.Bundle! getExtras();
- method public CharSequence? getHintText();
- method @Deprecated public Object! getInfo();
- method public int getInputType();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getLabelFor();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getLabeledBy();
- method public int getLiveRegion();
- method public int getMaxTextLength();
- method public int getMovementGranularities();
- method public CharSequence! getPackageName();
- method public CharSequence? getPaneTitle();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
- method public CharSequence? getRoleDescription();
- method public CharSequence! getText();
- method public int getTextSelectionEnd();
- method public int getTextSelectionStart();
- method public CharSequence? getTooltipText();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.TouchDelegateInfoCompat? getTouchDelegateInfo();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getTraversalAfter();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getTraversalBefore();
- method public String! getViewIdResourceName();
- method public androidx.core.view.accessibility.AccessibilityWindowInfoCompat! getWindow();
- method public int getWindowId();
- method public boolean isAccessibilityFocused();
- method public boolean isCheckable();
- method public boolean isChecked();
- method public boolean isClickable();
- method public boolean isContentInvalid();
- method public boolean isContextClickable();
- method public boolean isDismissable();
- method public boolean isEditable();
- method public boolean isEnabled();
- method public boolean isFocusable();
- method public boolean isFocused();
- method public boolean isHeading();
- method public boolean isImportantForAccessibility();
- method public boolean isLongClickable();
- method public boolean isMultiLine();
- method public boolean isPassword();
- method public boolean isScreenReaderFocusable();
- method public boolean isScrollable();
- method public boolean isSelected();
- method public boolean isShowingHintText();
- method public boolean isTextEntryKey();
- method public boolean isVisibleToUser();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain(android.view.View!);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain(android.view.View!, int);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain(androidx.core.view.accessibility.AccessibilityNodeInfoCompat!);
- method public boolean performAction(int);
- method public boolean performAction(int, android.os.Bundle!);
- method public void recycle();
- method public boolean refresh();
- method public boolean removeAction(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat!);
- method public boolean removeChild(android.view.View!);
- method public boolean removeChild(android.view.View!, int);
- method public void setAccessibilityFocused(boolean);
- method @Deprecated public void setBoundsInParent(android.graphics.Rect!);
- method public void setBoundsInScreen(android.graphics.Rect!);
- method public void setCanOpenPopup(boolean);
- method public void setCheckable(boolean);
- method public void setChecked(boolean);
- method public void setClassName(CharSequence!);
- method public void setClickable(boolean);
- method public void setCollectionInfo(Object!);
- method public void setCollectionItemInfo(Object!);
- method public void setContentDescription(CharSequence!);
- method public void setContentInvalid(boolean);
- method public void setContextClickable(boolean);
- method public void setDismissable(boolean);
- method public void setDrawingOrder(int);
- method public void setEditable(boolean);
- method public void setEnabled(boolean);
- method public void setError(CharSequence!);
- method public void setFocusable(boolean);
- method public void setFocused(boolean);
- method public void setHeading(boolean);
- method public void setHintText(CharSequence?);
- method public void setImportantForAccessibility(boolean);
- method public void setInputType(int);
- method public void setLabelFor(android.view.View!);
- method public void setLabelFor(android.view.View!, int);
- method public void setLabeledBy(android.view.View!);
- method public void setLabeledBy(android.view.View!, int);
- method public void setLiveRegion(int);
- method public void setLongClickable(boolean);
- method public void setMaxTextLength(int);
- method public void setMovementGranularities(int);
- method public void setMultiLine(boolean);
- method public void setPackageName(CharSequence!);
- method public void setPaneTitle(CharSequence?);
- method public void setParent(android.view.View!);
- method public void setParent(android.view.View!, int);
- method public void setPassword(boolean);
- method public void setRangeInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat!);
- method public void setRoleDescription(CharSequence?);
- method public void setScreenReaderFocusable(boolean);
- method public void setScrollable(boolean);
- method public void setSelected(boolean);
- method public void setShowingHintText(boolean);
- method public void setSource(android.view.View!);
- method public void setSource(android.view.View!, int);
- method public void setText(CharSequence!);
- method public void setTextEntryKey(boolean);
- method public void setTextSelection(int, int);
- method public void setTooltipText(CharSequence?);
- method public void setTouchDelegateInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.TouchDelegateInfoCompat);
- method public void setTraversalAfter(android.view.View!);
- method public void setTraversalAfter(android.view.View!, int);
- method public void setTraversalBefore(android.view.View!);
- method public void setTraversalBefore(android.view.View!, int);
- method public void setViewIdResourceName(String!);
- method public void setVisibleToUser(boolean);
- method public android.view.accessibility.AccessibilityNodeInfo! unwrap();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! wrap(android.view.accessibility.AccessibilityNodeInfo);
- field public static final int ACTION_ACCESSIBILITY_FOCUS = 64; // 0x40
- field public static final String ACTION_ARGUMENT_COLUMN_INT = "android.view.accessibility.action.ARGUMENT_COLUMN_INT";
- field public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN = "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN";
- field public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = "ACTION_ARGUMENT_HTML_ELEMENT_STRING";
- field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
- field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
- field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
- field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
- field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
- field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
- field public static final String ACTION_ARGUMENT_SELECTION_START_INT = "ACTION_ARGUMENT_SELECTION_START_INT";
- field public static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE = "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE";
- field public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 128; // 0x80
- field public static final int ACTION_CLEAR_FOCUS = 2; // 0x2
- field public static final int ACTION_CLEAR_SELECTION = 8; // 0x8
- field public static final int ACTION_CLICK = 16; // 0x10
- field public static final int ACTION_COLLAPSE = 524288; // 0x80000
- field public static final int ACTION_COPY = 16384; // 0x4000
- field public static final int ACTION_CUT = 65536; // 0x10000
- field public static final int ACTION_DISMISS = 1048576; // 0x100000
- field public static final int ACTION_EXPAND = 262144; // 0x40000
- field public static final int ACTION_FOCUS = 1; // 0x1
- field public static final int ACTION_LONG_CLICK = 32; // 0x20
- field public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 256; // 0x100
- field public static final int ACTION_NEXT_HTML_ELEMENT = 1024; // 0x400
- field public static final int ACTION_PASTE = 32768; // 0x8000
- field public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 512; // 0x200
- field public static final int ACTION_PREVIOUS_HTML_ELEMENT = 2048; // 0x800
- field public static final int ACTION_SCROLL_BACKWARD = 8192; // 0x2000
- field public static final int ACTION_SCROLL_FORWARD = 4096; // 0x1000
- field public static final int ACTION_SELECT = 4; // 0x4
- field public static final int ACTION_SET_SELECTION = 131072; // 0x20000
- field public static final int ACTION_SET_TEXT = 2097152; // 0x200000
- field public static final int FOCUS_ACCESSIBILITY = 2; // 0x2
- field public static final int FOCUS_INPUT = 1; // 0x1
- field public static final int MOVEMENT_GRANULARITY_CHARACTER = 1; // 0x1
- field public static final int MOVEMENT_GRANULARITY_LINE = 4; // 0x4
- field public static final int MOVEMENT_GRANULARITY_PAGE = 16; // 0x10
- field public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 8; // 0x8
- field public static final int MOVEMENT_GRANULARITY_WORD = 2; // 0x2
- }
-
- public static class AccessibilityNodeInfoCompat.AccessibilityActionCompat {
- ctor public AccessibilityNodeInfoCompat.AccessibilityActionCompat(int, CharSequence!);
- method public int getId();
- method public CharSequence! getLabel();
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_ACCESSIBILITY_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLEAR_ACCESSIBILITY_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLEAR_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLEAR_SELECTION;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLICK;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_COLLAPSE;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CONTEXT_CLICK;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_COPY;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CUT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_DISMISS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_EXPAND;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_HIDE_TOOLTIP;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_LONG_CLICK;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_MOVE_WINDOW;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_NEXT_AT_MOVEMENT_GRANULARITY;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_NEXT_HTML_ELEMENT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_DOWN;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_LEFT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_DOWN;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_FORWARD;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_LEFT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_RIGHT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_TO_POSITION;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_UP;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SELECT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SET_PROGRESS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SET_SELECTION;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SET_TEXT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SHOW_ON_SCREEN;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SHOW_TOOLTIP;
- }
-
- public static class AccessibilityNodeInfoCompat.CollectionInfoCompat {
- method public int getColumnCount();
- method public int getRowCount();
- method public int getSelectionMode();
- method public boolean isHierarchical();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat! obtain(int, int, boolean, int);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat! obtain(int, int, boolean);
- field public static final int SELECTION_MODE_MULTIPLE = 2; // 0x2
- field public static final int SELECTION_MODE_NONE = 0; // 0x0
- field public static final int SELECTION_MODE_SINGLE = 1; // 0x1
- }
-
- public static class AccessibilityNodeInfoCompat.CollectionItemInfoCompat {
- method public int getColumnIndex();
- method public int getColumnSpan();
- method public int getRowIndex();
- method public int getRowSpan();
- method @Deprecated public boolean isHeading();
- method public boolean isSelected();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat! obtain(int, int, int, int, boolean, boolean);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat! obtain(int, int, int, int, boolean);
- }
-
- public static class AccessibilityNodeInfoCompat.RangeInfoCompat {
- method public float getCurrent();
- method public float getMax();
- method public float getMin();
- method public int getType();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! obtain(int, float, float, float);
- field public static final int RANGE_TYPE_FLOAT = 1; // 0x1
- field public static final int RANGE_TYPE_INT = 0; // 0x0
- field public static final int RANGE_TYPE_PERCENT = 2; // 0x2
- }
-
- public static final class AccessibilityNodeInfoCompat.TouchDelegateInfoCompat {
- ctor public AccessibilityNodeInfoCompat.TouchDelegateInfoCompat(java.util.Map<android.graphics.Region!,android.view.View!>);
- method public android.graphics.Region? getRegionAt(@IntRange(from=0) int);
- method @IntRange(from=0) public int getRegionCount();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat? getTargetForRegion(android.graphics.Region);
- }
-
- public class AccessibilityNodeProviderCompat {
- ctor public AccessibilityNodeProviderCompat();
- ctor public AccessibilityNodeProviderCompat(Object!);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat? createAccessibilityNodeInfo(int);
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat!>? findAccessibilityNodeInfosByText(String!, int);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat? findFocus(int);
- method public Object! getProvider();
- method public boolean performAction(int, int, android.os.Bundle!);
- field public static final int HOST_VIEW_ID = -1; // 0xffffffff
- }
-
- public class AccessibilityRecordCompat {
- ctor @Deprecated public AccessibilityRecordCompat(Object!);
- method @Deprecated public boolean equals(Object?);
- method @Deprecated public int getAddedCount();
- method @Deprecated public CharSequence! getBeforeText();
- method @Deprecated public CharSequence! getClassName();
- method @Deprecated public CharSequence! getContentDescription();
- method @Deprecated public int getCurrentItemIndex();
- method @Deprecated public int getFromIndex();
- method @Deprecated public Object! getImpl();
- method @Deprecated public int getItemCount();
- method @Deprecated public int getMaxScrollX();
- method public static int getMaxScrollX(android.view.accessibility.AccessibilityRecord!);
- method @Deprecated public int getMaxScrollY();
- method public static int getMaxScrollY(android.view.accessibility.AccessibilityRecord!);
- method @Deprecated public android.os.Parcelable! getParcelableData();
- method @Deprecated public int getRemovedCount();
- method @Deprecated public int getScrollX();
- method @Deprecated public int getScrollY();
- method @Deprecated public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getSource();
- method @Deprecated public java.util.List<java.lang.CharSequence!>! getText();
- method @Deprecated public int getToIndex();
- method @Deprecated public int getWindowId();
- method @Deprecated public int hashCode();
- method @Deprecated public boolean isChecked();
- method @Deprecated public boolean isEnabled();
- method @Deprecated public boolean isFullScreen();
- method @Deprecated public boolean isPassword();
- method @Deprecated public boolean isScrollable();
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! obtain(androidx.core.view.accessibility.AccessibilityRecordCompat!);
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! obtain();
- method @Deprecated public void recycle();
- method @Deprecated public void setAddedCount(int);
- method @Deprecated public void setBeforeText(CharSequence!);
- method @Deprecated public void setChecked(boolean);
- method @Deprecated public void setClassName(CharSequence!);
- method @Deprecated public void setContentDescription(CharSequence!);
- method @Deprecated public void setCurrentItemIndex(int);
- method @Deprecated public void setEnabled(boolean);
- method @Deprecated public void setFromIndex(int);
- method @Deprecated public void setFullScreen(boolean);
- method @Deprecated public void setItemCount(int);
- method @Deprecated public void setMaxScrollX(int);
- method public static void setMaxScrollX(android.view.accessibility.AccessibilityRecord!, int);
- method @Deprecated public void setMaxScrollY(int);
- method public static void setMaxScrollY(android.view.accessibility.AccessibilityRecord!, int);
- method @Deprecated public void setParcelableData(android.os.Parcelable!);
- method @Deprecated public void setPassword(boolean);
- method @Deprecated public void setRemovedCount(int);
- method @Deprecated public void setScrollX(int);
- method @Deprecated public void setScrollY(int);
- method @Deprecated public void setScrollable(boolean);
- method @Deprecated public void setSource(android.view.View!);
- method @Deprecated public void setSource(android.view.View!, int);
- method public static void setSource(android.view.accessibility.AccessibilityRecord, android.view.View!, int);
- method @Deprecated public void setToIndex(int);
- }
-
- public interface AccessibilityViewCommand {
- method public boolean perform(android.view.View, androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments?);
- }
-
- public abstract static class AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.CommandArguments();
- }
-
- public static final class AccessibilityViewCommand.MoveAtGranularityArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.MoveAtGranularityArguments();
- method public boolean getExtendSelection();
- method public int getGranularity();
- }
-
- public static final class AccessibilityViewCommand.MoveHtmlArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.MoveHtmlArguments();
- method public String! getHTMLElement();
- }
-
- public static final class AccessibilityViewCommand.MoveWindowArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.MoveWindowArguments();
- method public int getX();
- method public int getY();
- }
-
- public static final class AccessibilityViewCommand.ScrollToPositionArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.ScrollToPositionArguments();
- method public int getColumn();
- method public int getRow();
- }
-
- public static final class AccessibilityViewCommand.SetProgressArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.SetProgressArguments();
- method public float getProgress();
- }
-
- public static final class AccessibilityViewCommand.SetSelectionArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.SetSelectionArguments();
- method public int getEnd();
- method public int getStart();
- }
-
- public static final class AccessibilityViewCommand.SetTextArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.SetTextArguments();
- method public CharSequence! getText();
- }
-
- public class AccessibilityWindowInfoCompat {
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getAnchor();
- method public void getBoundsInScreen(android.graphics.Rect!);
- method public androidx.core.view.accessibility.AccessibilityWindowInfoCompat! getChild(int);
- method public int getChildCount();
- method public int getId();
- method public int getLayer();
- method public androidx.core.view.accessibility.AccessibilityWindowInfoCompat! getParent();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getRoot();
- method public CharSequence! getTitle();
- method public int getType();
- method public boolean isAccessibilityFocused();
- method public boolean isActive();
- method public boolean isFocused();
- method public static androidx.core.view.accessibility.AccessibilityWindowInfoCompat! obtain();
- method public static androidx.core.view.accessibility.AccessibilityWindowInfoCompat! obtain(androidx.core.view.accessibility.AccessibilityWindowInfoCompat!);
- method public void recycle();
- field public static final int TYPE_ACCESSIBILITY_OVERLAY = 4; // 0x4
- field public static final int TYPE_APPLICATION = 1; // 0x1
- field public static final int TYPE_INPUT_METHOD = 2; // 0x2
- field public static final int TYPE_SPLIT_SCREEN_DIVIDER = 5; // 0x5
- field public static final int TYPE_SYSTEM = 3; // 0x3
- }
-
-}
-
-package androidx.core.view.animation {
-
- public final class PathInterpolatorCompat {
- method public static android.view.animation.Interpolator! create(android.graphics.Path!);
- method public static android.view.animation.Interpolator! create(float, float);
- method public static android.view.animation.Interpolator! create(float, float, float, float);
- }
-
-}
-
-package androidx.core.view.inputmethod {
-
- public final class EditorInfoCompat {
- ctor @Deprecated public EditorInfoCompat();
- method public static String![] getContentMimeTypes(android.view.inputmethod.EditorInfo!);
- method public static void setContentMimeTypes(android.view.inputmethod.EditorInfo, String![]?);
- field public static final int IME_FLAG_FORCE_ASCII = -2147483648; // 0x80000000
- field public static final int IME_FLAG_NO_PERSONALIZED_LEARNING = 16777216; // 0x1000000
- }
-
- public final class InputConnectionCompat {
- ctor @Deprecated public InputConnectionCompat();
- method public static boolean commitContent(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo, androidx.core.view.inputmethod.InputContentInfoCompat, int, android.os.Bundle?);
- method public static android.view.inputmethod.InputConnection createWrapper(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo, androidx.core.view.inputmethod.InputConnectionCompat.OnCommitContentListener);
- field public static final int INPUT_CONTENT_GRANT_READ_URI_PERMISSION = 1; // 0x1
- }
-
- public static interface InputConnectionCompat.OnCommitContentListener {
- method public boolean onCommitContent(androidx.core.view.inputmethod.InputContentInfoCompat!, int, android.os.Bundle!);
- }
-
- public final class InputContentInfoCompat {
- ctor public InputContentInfoCompat(android.net.Uri, android.content.ClipDescription, android.net.Uri?);
- method public android.net.Uri getContentUri();
- method public android.content.ClipDescription getDescription();
- method public android.net.Uri? getLinkUri();
- method public void releasePermission();
- method public void requestPermission();
- method public Object? unwrap();
- method public static androidx.core.view.inputmethod.InputContentInfoCompat? wrap(Object?);
- }
-
-}
-
-package androidx.core.widget {
-
- public abstract class AutoScrollHelper implements android.view.View.OnTouchListener {
- ctor public AutoScrollHelper(android.view.View);
- method public abstract boolean canTargetScrollHorizontally(int);
- method public abstract boolean canTargetScrollVertically(int);
- method public boolean isEnabled();
- method public boolean isExclusive();
- method public boolean onTouch(android.view.View!, android.view.MotionEvent!);
- method public abstract void scrollTargetBy(int, int);
- method public androidx.core.widget.AutoScrollHelper setActivationDelay(int);
- method public androidx.core.widget.AutoScrollHelper setEdgeType(int);
- method public androidx.core.widget.AutoScrollHelper! setEnabled(boolean);
- method public androidx.core.widget.AutoScrollHelper! setExclusive(boolean);
- method public androidx.core.widget.AutoScrollHelper setMaximumEdges(float, float);
- method public androidx.core.widget.AutoScrollHelper setMaximumVelocity(float, float);
- method public androidx.core.widget.AutoScrollHelper setMinimumVelocity(float, float);
- method public androidx.core.widget.AutoScrollHelper setRampDownDuration(int);
- method public androidx.core.widget.AutoScrollHelper setRampUpDuration(int);
- method public androidx.core.widget.AutoScrollHelper setRelativeEdges(float, float);
- method public androidx.core.widget.AutoScrollHelper setRelativeVelocity(float, float);
- field public static final int EDGE_TYPE_INSIDE = 0; // 0x0
- field public static final int EDGE_TYPE_INSIDE_EXTEND = 1; // 0x1
- field public static final int EDGE_TYPE_OUTSIDE = 2; // 0x2
- field public static final float NO_MAX = 3.4028235E38f;
- field public static final float NO_MIN = 0.0f;
- field public static final float RELATIVE_UNSPECIFIED = 0.0f;
- }
-
- public final class CompoundButtonCompat {
- method public static android.graphics.drawable.Drawable? getButtonDrawable(android.widget.CompoundButton);
- method public static android.content.res.ColorStateList? getButtonTintList(android.widget.CompoundButton);
- method public static android.graphics.PorterDuff.Mode? getButtonTintMode(android.widget.CompoundButton);
- method public static void setButtonTintList(android.widget.CompoundButton, android.content.res.ColorStateList?);
- method public static void setButtonTintMode(android.widget.CompoundButton, android.graphics.PorterDuff.Mode?);
- }
-
- public class ContentLoadingProgressBar extends android.widget.ProgressBar {
- ctor public ContentLoadingProgressBar(android.content.Context);
- ctor public ContentLoadingProgressBar(android.content.Context, android.util.AttributeSet?);
- method public void hide();
- method public void onAttachedToWindow();
- method public void onDetachedFromWindow();
- method public void show();
- }
-
- public final class EdgeEffectCompat {
- ctor @Deprecated public EdgeEffectCompat(android.content.Context!);
- method @Deprecated public boolean draw(android.graphics.Canvas!);
- method @Deprecated public void finish();
- method @Deprecated public boolean isFinished();
- method @Deprecated public boolean onAbsorb(int);
- method @Deprecated public boolean onPull(float);
- method @Deprecated public boolean onPull(float, float);
- method public static void onPull(android.widget.EdgeEffect, float, float);
- method @Deprecated public boolean onRelease();
- method @Deprecated public void setSize(int, int);
- }
-
- public class ImageViewCompat {
- method public static android.content.res.ColorStateList? getImageTintList(android.widget.ImageView);
- method public static android.graphics.PorterDuff.Mode? getImageTintMode(android.widget.ImageView);
- method public static void setImageTintList(android.widget.ImageView, android.content.res.ColorStateList?);
- method public static void setImageTintMode(android.widget.ImageView, android.graphics.PorterDuff.Mode?);
- }
-
- public final class ListPopupWindowCompat {
- method @Deprecated public static android.view.View.OnTouchListener! createDragToOpenListener(Object!, android.view.View!);
- method public static android.view.View.OnTouchListener? createDragToOpenListener(android.widget.ListPopupWindow, android.view.View);
- }
-
- public class ListViewAutoScrollHelper extends androidx.core.widget.AutoScrollHelper {
- ctor public ListViewAutoScrollHelper(android.widget.ListView);
- method public boolean canTargetScrollHorizontally(int);
- method public boolean canTargetScrollVertically(int);
- method public void scrollTargetBy(int, int);
- }
-
- public final class ListViewCompat {
- method public static boolean canScrollList(android.widget.ListView, int);
- method public static void scrollListBy(android.widget.ListView, int);
- }
-
- public class NestedScrollView extends android.widget.FrameLayout implements androidx.core.view.NestedScrollingChild3 androidx.core.view.NestedScrollingParent3 androidx.core.view.ScrollingView {
- ctor public NestedScrollView(android.content.Context);
- ctor public NestedScrollView(android.content.Context, android.util.AttributeSet?);
- ctor public NestedScrollView(android.content.Context, android.util.AttributeSet?, int);
- method public boolean arrowScroll(int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeHorizontalScrollExtent();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeHorizontalScrollOffset();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeHorizontalScrollRange();
- method protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeVerticalScrollExtent();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeVerticalScrollOffset();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeVerticalScrollRange();
- method public boolean dispatchNestedPreScroll(int, int, int[]!, int[]!, int);
- method public void dispatchNestedScroll(int, int, int, int, int[]?, int, int[]);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]!, int);
- method public boolean executeKeyEvent(android.view.KeyEvent);
- method public void fling(int);
- method public boolean fullScroll(int);
- method public int getMaxScrollAmount();
- method public boolean hasNestedScrollingParent(int);
- method public boolean isFillViewport();
- method public boolean isSmoothScrollingEnabled();
- method public void onAttachedToWindow();
- method public void onNestedPreScroll(android.view.View, int, int, int[], int);
- method public void onNestedScroll(android.view.View, int, int, int, int, int, int[]);
- method public void onNestedScroll(android.view.View, int, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int, int);
- method public boolean onStartNestedScroll(android.view.View, android.view.View, int, int);
- method public void onStopNestedScroll(android.view.View, int);
- method public boolean pageScroll(int);
- method public void setFillViewport(boolean);
- method public void setOnScrollChangeListener(androidx.core.widget.NestedScrollView.OnScrollChangeListener?);
- method public void setSmoothScrollingEnabled(boolean);
- method public final void smoothScrollBy(int, int);
- method public final void smoothScrollBy(int, int, int);
- method public final void smoothScrollTo(int, int);
- method public final void smoothScrollTo(int, int, int);
- method public boolean startNestedScroll(int, int);
- method public void stopNestedScroll(int);
- }
-
- public static interface NestedScrollView.OnScrollChangeListener {
- method public void onScrollChange(androidx.core.widget.NestedScrollView!, int, int, int, int);
- }
-
- public final class PopupMenuCompat {
- method public static android.view.View.OnTouchListener? getDragToOpenListener(Object);
- }
-
- public final class PopupWindowCompat {
- method public static boolean getOverlapAnchor(android.widget.PopupWindow);
- method public static int getWindowLayoutType(android.widget.PopupWindow);
- method public static void setOverlapAnchor(android.widget.PopupWindow, boolean);
- method public static void setWindowLayoutType(android.widget.PopupWindow, int);
- method public static void showAsDropDown(android.widget.PopupWindow, android.view.View, int, int, int);
- }
-
- @Deprecated public final class ScrollerCompat {
- method @Deprecated public void abortAnimation();
- method @Deprecated public boolean computeScrollOffset();
- method @Deprecated public static androidx.core.widget.ScrollerCompat! create(android.content.Context!);
- method @Deprecated public static androidx.core.widget.ScrollerCompat! create(android.content.Context!, android.view.animation.Interpolator!);
- method @Deprecated public void fling(int, int, int, int, int, int, int, int);
- method @Deprecated public void fling(int, int, int, int, int, int, int, int, int, int);
- method @Deprecated public float getCurrVelocity();
- method @Deprecated public int getCurrX();
- method @Deprecated public int getCurrY();
- method @Deprecated public int getFinalX();
- method @Deprecated public int getFinalY();
- method @Deprecated public boolean isFinished();
- method @Deprecated public boolean isOverScrolled();
- method @Deprecated public void notifyHorizontalEdgeReached(int, int, int);
- method @Deprecated public void notifyVerticalEdgeReached(int, int, int);
- method @Deprecated public boolean springBack(int, int, int, int, int, int);
- method @Deprecated public void startScroll(int, int, int, int);
- method @Deprecated public void startScroll(int, int, int, int, int);
- }
-
- public final class TextViewCompat {
- method public static int getAutoSizeMaxTextSize(android.widget.TextView);
- method public static int getAutoSizeMinTextSize(android.widget.TextView);
- method public static int getAutoSizeStepGranularity(android.widget.TextView);
- method public static int[] getAutoSizeTextAvailableSizes(android.widget.TextView);
- method public static int getAutoSizeTextType(android.widget.TextView);
- method public static android.content.res.ColorStateList? getCompoundDrawableTintList(android.widget.TextView);
- method public static android.graphics.PorterDuff.Mode? getCompoundDrawableTintMode(android.widget.TextView);
- method public static android.graphics.drawable.Drawable![] getCompoundDrawablesRelative(android.widget.TextView);
- method public static int getFirstBaselineToTopHeight(android.widget.TextView);
- method public static int getLastBaselineToBottomHeight(android.widget.TextView);
- method public static int getMaxLines(android.widget.TextView);
- method public static int getMinLines(android.widget.TextView);
- method public static androidx.core.text.PrecomputedTextCompat.Params getTextMetricsParams(android.widget.TextView);
- method public static void setAutoSizeTextTypeUniformWithConfiguration(android.widget.TextView, int, int, int, int) throws java.lang.IllegalArgumentException;
- method public static void setAutoSizeTextTypeUniformWithPresetSizes(android.widget.TextView, int[], int) throws java.lang.IllegalArgumentException;
- method public static void setAutoSizeTextTypeWithDefaults(android.widget.TextView, int);
- method public static void setCompoundDrawableTintList(android.widget.TextView, android.content.res.ColorStateList?);
- method public static void setCompoundDrawableTintMode(android.widget.TextView, android.graphics.PorterDuff.Mode?);
- method public static void setCompoundDrawablesRelative(android.widget.TextView, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?);
- method public static void setCompoundDrawablesRelativeWithIntrinsicBounds(android.widget.TextView, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?);
- method public static void setCompoundDrawablesRelativeWithIntrinsicBounds(android.widget.TextView, @DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
- method public static void setCustomSelectionActionModeCallback(android.widget.TextView, android.view.ActionMode.Callback);
- method public static void setFirstBaselineToTopHeight(android.widget.TextView, @IntRange(from=0) @Px int);
- method public static void setLastBaselineToBottomHeight(android.widget.TextView, @IntRange(from=0) @Px int);
- method public static void setLineHeight(android.widget.TextView, @IntRange(from=0) @Px int);
- method public static void setPrecomputedText(android.widget.TextView, androidx.core.text.PrecomputedTextCompat);
- method public static void setTextAppearance(android.widget.TextView, @StyleRes int);
- method public static void setTextMetricsParams(android.widget.TextView, androidx.core.text.PrecomputedTextCompat.Params);
- field public static final int AUTO_SIZE_TEXT_TYPE_NONE = 0; // 0x0
- field public static final int AUTO_SIZE_TEXT_TYPE_UNIFORM = 1; // 0x1
- }
-
- public interface TintableCompoundButton {
- method public android.content.res.ColorStateList? getSupportButtonTintList();
- method public android.graphics.PorterDuff.Mode? getSupportButtonTintMode();
- method public void setSupportButtonTintList(android.content.res.ColorStateList?);
- method public void setSupportButtonTintMode(android.graphics.PorterDuff.Mode?);
- }
-
- public interface TintableCompoundDrawablesView {
- method public android.content.res.ColorStateList? getSupportCompoundDrawablesTintList();
- method public android.graphics.PorterDuff.Mode? getSupportCompoundDrawablesTintMode();
- method public void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList?);
- method public void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff.Mode?);
- }
-
-}
-
diff --git a/core/core/api/1.4.0-alpha01.txt b/core/core/api/1.4.0-alpha01.txt
index dc6a8e1..866d1eb 100644
--- a/core/core/api/1.4.0-alpha01.txt
+++ b/core/core/api/1.4.0-alpha01.txt
@@ -397,7 +397,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method public android.os.Bundle! getExtras();
@@ -441,6 +442,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -874,7 +876,9 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+ field public static final String EXTRA_EPOCH_TIME = "android.intent.extra.EPOCH_TIME";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
}
@@ -932,13 +936,25 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public androidx.core.content.LocusIdCompat? getLocusId();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -949,6 +965,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -965,14 +982,27 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
+ method public static int getIconMaxHeight(android.content.Context);
+ method public static int getIconMaxWidth(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, int);
+ method public static boolean isRateLimitingActive(android.content.Context);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void reportShortcutUsed(android.content.Context, String);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
+ method public static boolean setDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
}
}
@@ -1265,8 +1295,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1351,6 +1416,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -1714,11 +1784,13 @@
public final class DisplayCutoutCompat {
ctor public DisplayCutoutCompat(android.graphics.Rect!, java.util.List<android.graphics.Rect!>!);
+ ctor public DisplayCutoutCompat(androidx.core.graphics.Insets, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, androidx.core.graphics.Insets);
method public java.util.List<android.graphics.Rect!>! getBoundingRects();
method public int getSafeInsetBottom();
method public int getSafeInsetLeft();
method public int getSafeInsetRight();
method public int getSafeInsetTop();
+ method public androidx.core.graphics.Insets? getWaterfallInsets();
}
public final class DragAndDropPermissionsCompat {
@@ -2119,6 +2191,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2209,6 +2282,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, int);
method public static void setScrollIndicators(android.view.View, int, int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2432,6 +2506,7 @@
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2515,6 +2590,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2604,6 +2680,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -2624,6 +2701,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -2685,6 +2763,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/api_lint.ignore b/core/core/api/api_lint.ignore
index 021d52e..22a5a1e 100644
--- a/core/core/api/api_lint.ignore
+++ b/core/core/api/api_lint.ignore
@@ -425,8 +425,6 @@
Missing nullability on parameter `title` in method `addInvisibleAction`
MissingNullability: androidx.core.app.NotificationCompat.Builder#addInvisibleAction(int, CharSequence, android.app.PendingIntent) parameter #2:
Missing nullability on parameter `intent` in method `addInvisibleAction`
-MissingNullability: androidx.core.app.NotificationCompat.Builder#addPerson(String):
- Missing nullability on method `addPerson` return
MissingNullability: androidx.core.app.NotificationCompat.Builder#addPerson(String) parameter #0:
Missing nullability on parameter `uri` in method `addPerson`
MissingNullability: androidx.core.app.NotificationCompat.Builder#build():
@@ -1341,10 +1339,6 @@
Missing nullability on parameter `view` in method `canScrollHorizontally`
MissingNullability: androidx.core.view.ViewCompat#canScrollVertically(android.view.View, int) parameter #0:
Missing nullability on parameter `view` in method `canScrollVertically`
-MissingNullability: androidx.core.view.ViewCompat#dispatchApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat):
- Missing nullability on method `dispatchApplyWindowInsets` return
-MissingNullability: androidx.core.view.ViewCompat#dispatchApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat) parameter #1:
- Missing nullability on parameter `insets` in method `dispatchApplyWindowInsets`
MissingNullability: androidx.core.view.ViewCompat#enableAccessibleClickableSpanSupport(android.view.View) parameter #0:
Missing nullability on parameter `view` in method `enableAccessibleClickableSpanSupport`
MissingNullability: androidx.core.view.ViewCompat#getAccessibilityNodeProvider(android.view.View):
@@ -1407,10 +1401,6 @@
Missing nullability on method `keyboardNavigationClusterSearch` return
MissingNullability: androidx.core.view.ViewCompat#keyboardNavigationClusterSearch(android.view.View, android.view.View, int) parameter #1:
Missing nullability on parameter `currentCluster` in method `keyboardNavigationClusterSearch`
-MissingNullability: androidx.core.view.ViewCompat#onApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat):
- Missing nullability on method `onApplyWindowInsets` return
-MissingNullability: androidx.core.view.ViewCompat#onApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat) parameter #1:
- Missing nullability on parameter `insets` in method `onApplyWindowInsets`
MissingNullability: androidx.core.view.ViewCompat#onInitializeAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent) parameter #0:
Missing nullability on parameter `v` in method `onInitializeAccessibilityEvent`
MissingNullability: androidx.core.view.ViewCompat#onInitializeAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent) parameter #1:
@@ -1455,8 +1445,6 @@
Missing nullability on parameter `view` in method `setLayerType`
MissingNullability: androidx.core.view.ViewCompat#setLayerType(android.view.View, int, android.graphics.Paint) parameter #2:
Missing nullability on parameter `paint` in method `setLayerType`
-MissingNullability: androidx.core.view.ViewCompat#setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) parameter #1:
- Missing nullability on parameter `listener` in method `setOnApplyWindowInsetsListener`
MissingNullability: androidx.core.view.ViewCompat#setOverScrollMode(android.view.View, int) parameter #0:
Missing nullability on parameter `v` in method `setOverScrollMode`
MissingNullability: androidx.core.view.ViewCompat#setPivotX(android.view.View, float) parameter #0:
diff --git a/core/core/api/current.txt b/core/core/api/current.txt
index dc6a8e1..866d1eb 100644
--- a/core/core/api/current.txt
+++ b/core/core/api/current.txt
@@ -397,7 +397,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method public android.os.Bundle! getExtras();
@@ -441,6 +442,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -874,7 +876,9 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+ field public static final String EXTRA_EPOCH_TIME = "android.intent.extra.EPOCH_TIME";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
}
@@ -932,13 +936,25 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public androidx.core.content.LocusIdCompat? getLocusId();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -949,6 +965,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -965,14 +982,27 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
+ method public static int getIconMaxHeight(android.content.Context);
+ method public static int getIconMaxWidth(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, int);
+ method public static boolean isRateLimitingActive(android.content.Context);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void reportShortcutUsed(android.content.Context, String);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
+ method public static boolean setDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
}
}
@@ -1265,8 +1295,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1351,6 +1416,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -1714,11 +1784,13 @@
public final class DisplayCutoutCompat {
ctor public DisplayCutoutCompat(android.graphics.Rect!, java.util.List<android.graphics.Rect!>!);
+ ctor public DisplayCutoutCompat(androidx.core.graphics.Insets, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, androidx.core.graphics.Insets);
method public java.util.List<android.graphics.Rect!>! getBoundingRects();
method public int getSafeInsetBottom();
method public int getSafeInsetLeft();
method public int getSafeInsetRight();
method public int getSafeInsetTop();
+ method public androidx.core.graphics.Insets? getWaterfallInsets();
}
public final class DragAndDropPermissionsCompat {
@@ -2119,6 +2191,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2209,6 +2282,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, int);
method public static void setScrollIndicators(android.view.View, int, int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2432,6 +2506,7 @@
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2515,6 +2590,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2604,6 +2680,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -2624,6 +2701,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -2685,6 +2763,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/public_plus_experimental_1.3.0-alpha01.txt b/core/core/api/public_plus_experimental_1.3.0-alpha01.txt
index 29766ad..58cba0f 100644
--- a/core/core/api/public_plus_experimental_1.3.0-alpha01.txt
+++ b/core/core/api/public_plus_experimental_1.3.0-alpha01.txt
@@ -439,6 +439,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -872,9 +873,11 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
+ field public static final String EXTRA_TIME = "android.intent.extra.TIME";
}
public final class MimeTypeFilter {
@@ -1252,8 +1255,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1338,6 +1376,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2100,6 +2143,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2190,6 +2234,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, int);
method public static void setScrollIndicators(android.view.View, int, int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2411,6 +2456,7 @@
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2494,6 +2540,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2583,6 +2630,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
diff --git a/core/core/api/public_plus_experimental_1.3.0-alpha02.txt b/core/core/api/public_plus_experimental_1.3.0-alpha02.txt
index 2603884..fd7147f 100644
--- a/core/core/api/public_plus_experimental_1.3.0-alpha02.txt
+++ b/core/core/api/public_plus_experimental_1.3.0-alpha02.txt
@@ -396,7 +396,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method public android.os.Bundle! getExtras();
@@ -439,6 +440,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -872,9 +874,11 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
+ field public static final String EXTRA_TIME = "android.intent.extra.TIME";
}
public final class MimeTypeFilter {
@@ -923,12 +927,24 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -939,6 +955,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -954,14 +971,22 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, int);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
}
}
@@ -1252,8 +1277,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1338,6 +1398,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2101,6 +2166,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2191,6 +2257,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, int);
method public static void setScrollIndicators(android.view.View, int, int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2412,6 +2479,7 @@
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2495,6 +2563,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2584,6 +2653,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -2604,6 +2674,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -2665,6 +2736,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/public_plus_experimental_1.3.0-alpha03.txt b/core/core/api/public_plus_experimental_1.3.0-alpha03.txt
index 84faa94..b2e6103 100644
--- a/core/core/api/public_plus_experimental_1.3.0-alpha03.txt
+++ b/core/core/api/public_plus_experimental_1.3.0-alpha03.txt
@@ -396,7 +396,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method public android.os.Bundle! getExtras();
@@ -439,6 +440,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -872,7 +874,9 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+ field public static final String EXTRA_EPOCH_TIME = "android.intent.extra.EPOCH_TIME";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
}
@@ -923,12 +927,24 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -939,6 +955,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -954,14 +971,22 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, int);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
}
}
@@ -1252,8 +1277,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1338,6 +1398,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2102,6 +2167,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2192,6 +2258,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, int);
method public static void setScrollIndicators(android.view.View, int, int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2415,6 +2482,7 @@
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2498,6 +2566,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2587,6 +2656,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -2607,6 +2677,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -2668,6 +2739,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/public_plus_experimental_1.3.0-rc01.txt b/core/core/api/public_plus_experimental_1.3.0-rc01.txt
deleted file mode 100644
index 92e48b4..0000000
--- a/core/core/api/public_plus_experimental_1.3.0-rc01.txt
+++ /dev/null
@@ -1,3124 +0,0 @@
-// Signature format: 3.0
-package androidx.core.accessibilityservice {
-
- public final class AccessibilityServiceInfoCompat {
- method public static String capabilityToString(int);
- method public static String feedbackTypeToString(int);
- method public static String? flagToString(int);
- method public static int getCapabilities(android.accessibilityservice.AccessibilityServiceInfo);
- method public static String? loadDescription(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager);
- field public static final int CAPABILITY_CAN_FILTER_KEY_EVENTS = 8; // 0x8
- field public static final int CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 4; // 0x4
- field public static final int CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION = 2; // 0x2
- field public static final int CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT = 1; // 0x1
- field public static final int FEEDBACK_ALL_MASK = -1; // 0xffffffff
- field public static final int FEEDBACK_BRAILLE = 32; // 0x20
- field public static final int FLAG_INCLUDE_NOT_IMPORTANT_VIEWS = 2; // 0x2
- field public static final int FLAG_REPORT_VIEW_IDS = 16; // 0x10
- field public static final int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 8; // 0x8
- field public static final int FLAG_REQUEST_FILTER_KEY_EVENTS = 32; // 0x20
- field public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE = 4; // 0x4
- }
-
-}
-
-package androidx.core.app {
-
- public class ActivityCompat extends androidx.core.content.ContextCompat {
- ctor protected ActivityCompat();
- method public static void finishAffinity(android.app.Activity);
- method public static void finishAfterTransition(android.app.Activity);
- method public static android.net.Uri? getReferrer(android.app.Activity);
- method @Deprecated public static boolean invalidateOptionsMenu(android.app.Activity!);
- method public static void postponeEnterTransition(android.app.Activity);
- method public static void recreate(android.app.Activity);
- method public static androidx.core.view.DragAndDropPermissionsCompat? requestDragAndDropPermissions(android.app.Activity!, android.view.DragEvent!);
- method public static void requestPermissions(android.app.Activity, String![], @IntRange(from=0) int);
- method public static <T extends android.view.View> T requireViewById(android.app.Activity, @IdRes int);
- method public static void setEnterSharedElementCallback(android.app.Activity, androidx.core.app.SharedElementCallback?);
- method public static void setExitSharedElementCallback(android.app.Activity, androidx.core.app.SharedElementCallback?);
- method public static void setPermissionCompatDelegate(androidx.core.app.ActivityCompat.PermissionCompatDelegate?);
- method public static boolean shouldShowRequestPermissionRationale(android.app.Activity, String);
- method public static void startActivityForResult(android.app.Activity, android.content.Intent, int, android.os.Bundle?);
- method public static void startIntentSenderForResult(android.app.Activity, android.content.IntentSender, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
- method public static void startPostponedEnterTransition(android.app.Activity);
- }
-
- public static interface ActivityCompat.OnRequestPermissionsResultCallback {
- method public void onRequestPermissionsResult(int, String![], int[]);
- }
-
- public static interface ActivityCompat.PermissionCompatDelegate {
- method public boolean onActivityResult(android.app.Activity, @IntRange(from=0) int, int, android.content.Intent?);
- method public boolean requestPermissions(android.app.Activity, String![], @IntRange(from=0) int);
- }
-
- public final class ActivityManagerCompat {
- method public static boolean isLowRamDevice(android.app.ActivityManager);
- }
-
- public class ActivityOptionsCompat {
- ctor protected ActivityOptionsCompat();
- method public android.graphics.Rect? getLaunchBounds();
- method public static androidx.core.app.ActivityOptionsCompat makeBasic();
- method public static androidx.core.app.ActivityOptionsCompat makeClipRevealAnimation(android.view.View, int, int, int, int);
- method public static androidx.core.app.ActivityOptionsCompat makeCustomAnimation(android.content.Context, int, int);
- method public static androidx.core.app.ActivityOptionsCompat makeScaleUpAnimation(android.view.View, int, int, int, int);
- method public static androidx.core.app.ActivityOptionsCompat makeSceneTransitionAnimation(android.app.Activity, android.view.View, String);
- method public static androidx.core.app.ActivityOptionsCompat makeSceneTransitionAnimation(android.app.Activity, androidx.core.util.Pair<android.view.View!,java.lang.String!>!...);
- method public static androidx.core.app.ActivityOptionsCompat makeTaskLaunchBehind();
- method public static androidx.core.app.ActivityOptionsCompat makeThumbnailScaleUpAnimation(android.view.View, android.graphics.Bitmap, int, int);
- method public void requestUsageTimeReport(android.app.PendingIntent);
- method public androidx.core.app.ActivityOptionsCompat setLaunchBounds(android.graphics.Rect?);
- method public android.os.Bundle? toBundle();
- method public void update(androidx.core.app.ActivityOptionsCompat);
- field public static final String EXTRA_USAGE_TIME_REPORT = "android.activity.usage_time";
- field public static final String EXTRA_USAGE_TIME_REPORT_PACKAGES = "android.usage_time_packages";
- }
-
- public final class AlarmManagerCompat {
- method public static void setAlarmClock(android.app.AlarmManager, long, android.app.PendingIntent, android.app.PendingIntent);
- method public static void setAndAllowWhileIdle(android.app.AlarmManager, int, long, android.app.PendingIntent);
- method public static void setExact(android.app.AlarmManager, int, long, android.app.PendingIntent);
- method public static void setExactAndAllowWhileIdle(android.app.AlarmManager, int, long, android.app.PendingIntent);
- }
-
- @RequiresApi(28) public class AppComponentFactory extends android.app.AppComponentFactory {
- ctor public AppComponentFactory();
- method public final android.app.Activity instantiateActivity(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.app.Activity instantiateActivityCompat(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.app.Application instantiateApplication(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.app.Application instantiateApplicationCompat(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.content.ContentProvider instantiateProvider(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.content.ContentProvider instantiateProviderCompat(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.content.BroadcastReceiver instantiateReceiver(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.content.BroadcastReceiver instantiateReceiverCompat(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.app.Service instantiateService(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.app.Service instantiateServiceCompat(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- }
-
- public class AppLaunchChecker {
- ctor @Deprecated public AppLaunchChecker();
- method public static boolean hasStartedFromLauncher(android.content.Context);
- method public static void onActivityCreate(android.app.Activity);
- }
-
- public final class AppOpsManagerCompat {
- method public static int noteOp(android.content.Context, String, int, String);
- method public static int noteOpNoThrow(android.content.Context, String, int, String);
- method public static int noteProxyOp(android.content.Context, String, String);
- method public static int noteProxyOpNoThrow(android.content.Context, String, String);
- method public static String? permissionToOp(String);
- field public static final int MODE_ALLOWED = 0; // 0x0
- field public static final int MODE_DEFAULT = 3; // 0x3
- field public static final int MODE_ERRORED = 2; // 0x2
- field public static final int MODE_IGNORED = 1; // 0x1
- }
-
- public final class BundleCompat {
- method public static android.os.IBinder? getBinder(android.os.Bundle, String?);
- method public static void putBinder(android.os.Bundle, String?, android.os.IBinder?);
- }
-
- public class DialogCompat {
- method public static android.view.View requireViewById(android.app.Dialog, int);
- }
-
- public class FrameMetricsAggregator {
- ctor public FrameMetricsAggregator();
- ctor public FrameMetricsAggregator(int);
- method public void add(android.app.Activity);
- method public android.util.SparseIntArray![]? getMetrics();
- method public android.util.SparseIntArray![]? remove(android.app.Activity);
- method public android.util.SparseIntArray![]? reset();
- method public android.util.SparseIntArray![]? stop();
- field public static final int ANIMATION_DURATION = 256; // 0x100
- field public static final int ANIMATION_INDEX = 8; // 0x8
- field public static final int COMMAND_DURATION = 32; // 0x20
- field public static final int COMMAND_INDEX = 5; // 0x5
- field public static final int DELAY_DURATION = 128; // 0x80
- field public static final int DELAY_INDEX = 7; // 0x7
- field public static final int DRAW_DURATION = 8; // 0x8
- field public static final int DRAW_INDEX = 3; // 0x3
- field public static final int EVERY_DURATION = 511; // 0x1ff
- field public static final int INPUT_DURATION = 2; // 0x2
- field public static final int INPUT_INDEX = 1; // 0x1
- field public static final int LAYOUT_MEASURE_DURATION = 4; // 0x4
- field public static final int LAYOUT_MEASURE_INDEX = 2; // 0x2
- field public static final int SWAP_DURATION = 64; // 0x40
- field public static final int SWAP_INDEX = 6; // 0x6
- field public static final int SYNC_DURATION = 16; // 0x10
- field public static final int SYNC_INDEX = 4; // 0x4
- field public static final int TOTAL_DURATION = 1; // 0x1
- field public static final int TOTAL_INDEX = 0; // 0x0
- }
-
- public abstract class JobIntentService extends android.app.Service {
- ctor public JobIntentService();
- method public static void enqueueWork(android.content.Context, Class<?>, int, android.content.Intent);
- method public static void enqueueWork(android.content.Context, android.content.ComponentName, int, android.content.Intent);
- method public boolean isStopped();
- method public android.os.IBinder! onBind(android.content.Intent);
- method protected abstract void onHandleWork(android.content.Intent);
- method public boolean onStopCurrentWork();
- method public void setInterruptIfStopped(boolean);
- }
-
- public final class NavUtils {
- method public static android.content.Intent? getParentActivityIntent(android.app.Activity);
- method public static android.content.Intent? getParentActivityIntent(android.content.Context, Class<?>) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static android.content.Intent? getParentActivityIntent(android.content.Context, android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static String? getParentActivityName(android.app.Activity);
- method public static String? getParentActivityName(android.content.Context, android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static void navigateUpFromSameTask(android.app.Activity);
- method public static void navigateUpTo(android.app.Activity, android.content.Intent);
- method public static boolean shouldUpRecreateTask(android.app.Activity, android.content.Intent);
- field public static final String PARENT_ACTIVITY = "android.support.PARENT_ACTIVITY";
- }
-
- public class NotificationCompat {
- ctor @Deprecated public NotificationCompat();
- method public static androidx.core.app.NotificationCompat.Action! getAction(android.app.Notification!, int);
- method public static int getActionCount(android.app.Notification!);
- method public static boolean getAllowSystemGeneratedContextualActions(android.app.Notification!);
- method public static int getBadgeIconType(android.app.Notification!);
- method public static androidx.core.app.NotificationCompat.BubbleMetadata? getBubbleMetadata(android.app.Notification);
- method public static String! getCategory(android.app.Notification!);
- method public static String! getChannelId(android.app.Notification!);
- method @RequiresApi(19) public static CharSequence! getContentTitle(android.app.Notification!);
- method public static android.os.Bundle? getExtras(android.app.Notification!);
- method public static String! getGroup(android.app.Notification!);
- method public static int getGroupAlertBehavior(android.app.Notification!);
- method @RequiresApi(21) public static java.util.List<androidx.core.app.NotificationCompat.Action!>! getInvisibleActions(android.app.Notification!);
- method public static boolean getLocalOnly(android.app.Notification!);
- method public static String! getShortcutId(android.app.Notification!);
- method public static String! getSortKey(android.app.Notification!);
- method public static long getTimeoutAfter(android.app.Notification!);
- method public static boolean isGroupSummary(android.app.Notification!);
- field public static final int BADGE_ICON_LARGE = 2; // 0x2
- field public static final int BADGE_ICON_NONE = 0; // 0x0
- field public static final int BADGE_ICON_SMALL = 1; // 0x1
- field public static final String CATEGORY_ALARM = "alarm";
- field public static final String CATEGORY_CALL = "call";
- field public static final String CATEGORY_EMAIL = "email";
- field public static final String CATEGORY_ERROR = "err";
- field public static final String CATEGORY_EVENT = "event";
- field public static final String CATEGORY_MESSAGE = "msg";
- field public static final String CATEGORY_NAVIGATION = "navigation";
- field public static final String CATEGORY_PROGRESS = "progress";
- field public static final String CATEGORY_PROMO = "promo";
- field public static final String CATEGORY_RECOMMENDATION = "recommendation";
- field public static final String CATEGORY_REMINDER = "reminder";
- field public static final String CATEGORY_SERVICE = "service";
- field public static final String CATEGORY_SOCIAL = "social";
- field public static final String CATEGORY_STATUS = "status";
- field public static final String CATEGORY_SYSTEM = "sys";
- field public static final String CATEGORY_TRANSPORT = "transport";
- field @ColorInt public static final int COLOR_DEFAULT = 0; // 0x0
- field public static final int DEFAULT_ALL = -1; // 0xffffffff
- field public static final int DEFAULT_LIGHTS = 4; // 0x4
- field public static final int DEFAULT_SOUND = 1; // 0x1
- field public static final int DEFAULT_VIBRATE = 2; // 0x2
- field public static final String EXTRA_AUDIO_CONTENTS_URI = "android.audioContents";
- field public static final String EXTRA_BACKGROUND_IMAGE_URI = "android.backgroundImageUri";
- field public static final String EXTRA_BIG_TEXT = "android.bigText";
- field public static final String EXTRA_CHRONOMETER_COUNT_DOWN = "android.chronometerCountDown";
- field public static final String EXTRA_COMPACT_ACTIONS = "android.compactActions";
- field public static final String EXTRA_CONVERSATION_TITLE = "android.conversationTitle";
- field public static final String EXTRA_HIDDEN_CONVERSATION_TITLE = "android.hiddenConversationTitle";
- field public static final String EXTRA_INFO_TEXT = "android.infoText";
- field public static final String EXTRA_IS_GROUP_CONVERSATION = "android.isGroupConversation";
- field public static final String EXTRA_LARGE_ICON = "android.largeIcon";
- field public static final String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
- field public static final String EXTRA_MEDIA_SESSION = "android.mediaSession";
- field public static final String EXTRA_MESSAGES = "android.messages";
- field public static final String EXTRA_MESSAGING_STYLE_USER = "android.messagingStyleUser";
- field public static final String EXTRA_PEOPLE = "android.people";
- field public static final String EXTRA_PICTURE = "android.picture";
- field public static final String EXTRA_PROGRESS = "android.progress";
- field public static final String EXTRA_PROGRESS_INDETERMINATE = "android.progressIndeterminate";
- field public static final String EXTRA_PROGRESS_MAX = "android.progressMax";
- field public static final String EXTRA_REMOTE_INPUT_HISTORY = "android.remoteInputHistory";
- field public static final String EXTRA_SELF_DISPLAY_NAME = "android.selfDisplayName";
- field public static final String EXTRA_SHOW_CHRONOMETER = "android.showChronometer";
- field public static final String EXTRA_SHOW_WHEN = "android.showWhen";
- field public static final String EXTRA_SMALL_ICON = "android.icon";
- field public static final String EXTRA_SUB_TEXT = "android.subText";
- field public static final String EXTRA_SUMMARY_TEXT = "android.summaryText";
- field public static final String EXTRA_TEMPLATE = "android.template";
- field public static final String EXTRA_TEXT = "android.text";
- field public static final String EXTRA_TEXT_LINES = "android.textLines";
- field public static final String EXTRA_TITLE = "android.title";
- field public static final String EXTRA_TITLE_BIG = "android.title.big";
- field public static final int FLAG_AUTO_CANCEL = 16; // 0x10
- field public static final int FLAG_BUBBLE = 4096; // 0x1000
- field public static final int FLAG_FOREGROUND_SERVICE = 64; // 0x40
- field public static final int FLAG_GROUP_SUMMARY = 512; // 0x200
- field @Deprecated public static final int FLAG_HIGH_PRIORITY = 128; // 0x80
- field public static final int FLAG_INSISTENT = 4; // 0x4
- field public static final int FLAG_LOCAL_ONLY = 256; // 0x100
- field public static final int FLAG_NO_CLEAR = 32; // 0x20
- field public static final int FLAG_ONGOING_EVENT = 2; // 0x2
- field public static final int FLAG_ONLY_ALERT_ONCE = 8; // 0x8
- field public static final int FLAG_SHOW_LIGHTS = 1; // 0x1
- field public static final int GROUP_ALERT_ALL = 0; // 0x0
- field public static final int GROUP_ALERT_CHILDREN = 2; // 0x2
- field public static final int GROUP_ALERT_SUMMARY = 1; // 0x1
- field public static final String GROUP_KEY_SILENT = "silent";
- field public static final int PRIORITY_DEFAULT = 0; // 0x0
- field public static final int PRIORITY_HIGH = 1; // 0x1
- field public static final int PRIORITY_LOW = -1; // 0xffffffff
- field public static final int PRIORITY_MAX = 2; // 0x2
- field public static final int PRIORITY_MIN = -2; // 0xfffffffe
- field public static final int STREAM_DEFAULT = -1; // 0xffffffff
- field public static final int VISIBILITY_PRIVATE = 0; // 0x0
- field public static final int VISIBILITY_PUBLIC = 1; // 0x1
- field public static final int VISIBILITY_SECRET = -1; // 0xffffffff
- }
-
- public static class NotificationCompat.Action {
- ctor public NotificationCompat.Action(int, CharSequence!, android.app.PendingIntent!);
- ctor public NotificationCompat.Action(androidx.core.graphics.drawable.IconCompat?, CharSequence?, android.app.PendingIntent?);
- method public android.app.PendingIntent! getActionIntent();
- method public boolean getAllowGeneratedReplies();
- method public androidx.core.app.RemoteInput![]! getDataOnlyRemoteInputs();
- method public android.os.Bundle! getExtras();
- method @Deprecated public int getIcon();
- method public androidx.core.graphics.drawable.IconCompat? getIconCompat();
- method public androidx.core.app.RemoteInput![]! getRemoteInputs();
- method @androidx.core.app.NotificationCompat.Action.SemanticAction public int getSemanticAction();
- method public boolean getShowsUserInterface();
- method public CharSequence! getTitle();
- method public boolean isContextual();
- field public static final int SEMANTIC_ACTION_ARCHIVE = 5; // 0x5
- field public static final int SEMANTIC_ACTION_CALL = 10; // 0xa
- field public static final int SEMANTIC_ACTION_DELETE = 4; // 0x4
- field public static final int SEMANTIC_ACTION_MARK_AS_READ = 2; // 0x2
- field public static final int SEMANTIC_ACTION_MARK_AS_UNREAD = 3; // 0x3
- field public static final int SEMANTIC_ACTION_MUTE = 6; // 0x6
- field public static final int SEMANTIC_ACTION_NONE = 0; // 0x0
- field public static final int SEMANTIC_ACTION_REPLY = 1; // 0x1
- field public static final int SEMANTIC_ACTION_THUMBS_DOWN = 9; // 0x9
- field public static final int SEMANTIC_ACTION_THUMBS_UP = 8; // 0x8
- field public static final int SEMANTIC_ACTION_UNMUTE = 7; // 0x7
- field public android.app.PendingIntent! actionIntent;
- field @Deprecated public int icon;
- field public CharSequence! title;
- }
-
- public static final class NotificationCompat.Action.Builder {
- ctor public NotificationCompat.Action.Builder(androidx.core.graphics.drawable.IconCompat?, CharSequence?, android.app.PendingIntent?);
- ctor public NotificationCompat.Action.Builder(int, CharSequence!, android.app.PendingIntent!);
- ctor public NotificationCompat.Action.Builder(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Action.Builder! addExtras(android.os.Bundle!);
- method public androidx.core.app.NotificationCompat.Action.Builder! addRemoteInput(androidx.core.app.RemoteInput!);
- method public androidx.core.app.NotificationCompat.Action! build();
- method public androidx.core.app.NotificationCompat.Action.Builder! extend(androidx.core.app.NotificationCompat.Action.Extender!);
- method public android.os.Bundle! getExtras();
- method public androidx.core.app.NotificationCompat.Action.Builder! setAllowGeneratedReplies(boolean);
- method public androidx.core.app.NotificationCompat.Action.Builder setContextual(boolean);
- method public androidx.core.app.NotificationCompat.Action.Builder! setSemanticAction(@androidx.core.app.NotificationCompat.Action.SemanticAction int);
- method public androidx.core.app.NotificationCompat.Action.Builder! setShowsUserInterface(boolean);
- }
-
- public static interface NotificationCompat.Action.Extender {
- method public androidx.core.app.NotificationCompat.Action.Builder! extend(androidx.core.app.NotificationCompat.Action.Builder!);
- }
-
- @IntDef({androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_NONE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_REPLY, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_MARK_AS_READ, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_MARK_AS_UNREAD, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_DELETE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_ARCHIVE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_MUTE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_UNMUTE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_THUMBS_UP, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_THUMBS_DOWN, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_CALL}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface NotificationCompat.Action.SemanticAction {
- }
-
- public static final class NotificationCompat.Action.WearableExtender implements androidx.core.app.NotificationCompat.Action.Extender {
- ctor public NotificationCompat.Action.WearableExtender();
- ctor public NotificationCompat.Action.WearableExtender(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! clone();
- method public androidx.core.app.NotificationCompat.Action.Builder! extend(androidx.core.app.NotificationCompat.Action.Builder!);
- method @Deprecated public CharSequence! getCancelLabel();
- method @Deprecated public CharSequence! getConfirmLabel();
- method public boolean getHintDisplayActionInline();
- method public boolean getHintLaunchesActivity();
- method @Deprecated public CharSequence! getInProgressLabel();
- method public boolean isAvailableOffline();
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! setAvailableOffline(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.Action.WearableExtender! setCancelLabel(CharSequence!);
- method @Deprecated public androidx.core.app.NotificationCompat.Action.WearableExtender! setConfirmLabel(CharSequence!);
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! setHintDisplayActionInline(boolean);
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! setHintLaunchesActivity(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.Action.WearableExtender! setInProgressLabel(CharSequence!);
- }
-
- public static class NotificationCompat.BigPictureStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.BigPictureStyle();
- ctor public NotificationCompat.BigPictureStyle(androidx.core.app.NotificationCompat.Builder!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! bigLargeIcon(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! bigPicture(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! setBigContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! setSummaryText(CharSequence!);
- }
-
- public static class NotificationCompat.BigTextStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.BigTextStyle();
- ctor public NotificationCompat.BigTextStyle(androidx.core.app.NotificationCompat.Builder!);
- method public androidx.core.app.NotificationCompat.BigTextStyle! bigText(CharSequence!);
- method public androidx.core.app.NotificationCompat.BigTextStyle! setBigContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.BigTextStyle! setSummaryText(CharSequence!);
- }
-
- public static final class NotificationCompat.BubbleMetadata {
- method @RequiresApi(29) public static androidx.core.app.NotificationCompat.BubbleMetadata? fromPlatform(android.app.Notification.BubbleMetadata?);
- method public boolean getAutoExpandBubble();
- method public android.app.PendingIntent? getDeleteIntent();
- method @Dimension(unit=androidx.annotation.Dimension.DP) public int getDesiredHeight();
- method @DimenRes public int getDesiredHeightResId();
- method public androidx.core.graphics.drawable.IconCompat getIcon();
- method public android.app.PendingIntent getIntent();
- method public boolean isNotificationSuppressed();
- method @RequiresApi(29) public static android.app.Notification.BubbleMetadata? toPlatform(androidx.core.app.NotificationCompat.BubbleMetadata?);
- }
-
- public static final class NotificationCompat.BubbleMetadata.Builder {
- ctor public NotificationCompat.BubbleMetadata.Builder();
- method public androidx.core.app.NotificationCompat.BubbleMetadata build();
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setAutoExpandBubble(boolean);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setDeleteIntent(android.app.PendingIntent?);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setDesiredHeight(@Dimension(unit=androidx.annotation.Dimension.DP) int);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setDesiredHeightResId(@DimenRes int);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setIcon(androidx.core.graphics.drawable.IconCompat);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setIntent(android.app.PendingIntent);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setSuppressNotification(boolean);
- }
-
- public static class NotificationCompat.Builder {
- ctor public NotificationCompat.Builder(android.content.Context, String);
- ctor @Deprecated public NotificationCompat.Builder(android.content.Context!);
- method public androidx.core.app.NotificationCompat.Builder! addAction(int, CharSequence!, android.app.PendingIntent!);
- method public androidx.core.app.NotificationCompat.Builder! addAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
- method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
- method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
- method public android.app.Notification! build();
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
- method public android.os.Bundle! getExtras();
- method @Deprecated public android.app.Notification! getNotification();
- method protected static CharSequence! limitCharSequenceLength(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder setAllowSystemGeneratedContextualActions(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setAutoCancel(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setBadgeIconType(int);
- method public androidx.core.app.NotificationCompat.Builder setBubbleMetadata(androidx.core.app.NotificationCompat.BubbleMetadata?);
- method public androidx.core.app.NotificationCompat.Builder! setCategory(String!);
- method public androidx.core.app.NotificationCompat.Builder! setChannelId(String);
- method @RequiresApi(24) public androidx.core.app.NotificationCompat.Builder setChronometerCountDown(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setColor(@ColorInt int);
- method public androidx.core.app.NotificationCompat.Builder! setColorized(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setContent(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setContentInfo(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setContentIntent(android.app.PendingIntent!);
- method public androidx.core.app.NotificationCompat.Builder! setContentText(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setCustomBigContentView(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setCustomContentView(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setCustomHeadsUpContentView(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setDefaults(int);
- method public androidx.core.app.NotificationCompat.Builder! setDeleteIntent(android.app.PendingIntent!);
- method public androidx.core.app.NotificationCompat.Builder! setExtras(android.os.Bundle!);
- method public androidx.core.app.NotificationCompat.Builder! setFullScreenIntent(android.app.PendingIntent!, boolean);
- method public androidx.core.app.NotificationCompat.Builder! setGroup(String!);
- method public androidx.core.app.NotificationCompat.Builder! setGroupAlertBehavior(int);
- method public androidx.core.app.NotificationCompat.Builder! setGroupSummary(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setLargeIcon(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.Builder! setLights(@ColorInt int, int, int);
- method public androidx.core.app.NotificationCompat.Builder! setLocalOnly(boolean);
- method public androidx.core.app.NotificationCompat.Builder setNotificationSilent();
- method public androidx.core.app.NotificationCompat.Builder! setNumber(int);
- method public androidx.core.app.NotificationCompat.Builder! setOngoing(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setOnlyAlertOnce(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setPriority(int);
- method public androidx.core.app.NotificationCompat.Builder! setProgress(int, int, boolean);
- method public androidx.core.app.NotificationCompat.Builder! setPublicVersion(android.app.Notification!);
- method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
- method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
- method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
- method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
- method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
- method public androidx.core.app.NotificationCompat.Builder! setSound(android.net.Uri!);
- method public androidx.core.app.NotificationCompat.Builder! setSound(android.net.Uri!, int);
- method public androidx.core.app.NotificationCompat.Builder! setStyle(androidx.core.app.NotificationCompat.Style!);
- method public androidx.core.app.NotificationCompat.Builder! setSubText(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setTicker(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setTicker(CharSequence!, android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setTimeoutAfter(long);
- method public androidx.core.app.NotificationCompat.Builder! setUsesChronometer(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setVibrate(long[]!);
- method public androidx.core.app.NotificationCompat.Builder! setVisibility(int);
- method public androidx.core.app.NotificationCompat.Builder! setWhen(long);
- field @Deprecated public java.util.ArrayList<java.lang.String!>! mPeople;
- }
-
- public static final class NotificationCompat.CarExtender implements androidx.core.app.NotificationCompat.Extender {
- ctor public NotificationCompat.CarExtender();
- ctor public NotificationCompat.CarExtender(android.app.Notification!);
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Builder!);
- method @ColorInt public int getColor();
- method public android.graphics.Bitmap! getLargeIcon();
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation! getUnreadConversation();
- method public androidx.core.app.NotificationCompat.CarExtender! setColor(@ColorInt int);
- method public androidx.core.app.NotificationCompat.CarExtender! setLargeIcon(android.graphics.Bitmap!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender! setUnreadConversation(androidx.core.app.NotificationCompat.CarExtender.UnreadConversation!);
- }
-
- @Deprecated public static class NotificationCompat.CarExtender.UnreadConversation {
- method @Deprecated public long getLatestTimestamp();
- method @Deprecated public String![]! getMessages();
- method @Deprecated public String! getParticipant();
- method @Deprecated public String![]! getParticipants();
- method @Deprecated public android.app.PendingIntent! getReadPendingIntent();
- method @Deprecated public androidx.core.app.RemoteInput! getRemoteInput();
- method @Deprecated public android.app.PendingIntent! getReplyPendingIntent();
- }
-
- @Deprecated public static class NotificationCompat.CarExtender.UnreadConversation.Builder {
- ctor @Deprecated public NotificationCompat.CarExtender.UnreadConversation.Builder(String!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! addMessage(String!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation! build();
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! setLatestTimestamp(long);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! setReadPendingIntent(android.app.PendingIntent!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! setReplyAction(android.app.PendingIntent!, androidx.core.app.RemoteInput!);
- }
-
- public static class NotificationCompat.DecoratedCustomViewStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.DecoratedCustomViewStyle();
- }
-
- public static interface NotificationCompat.Extender {
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Builder!);
- }
-
- public static class NotificationCompat.InboxStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.InboxStyle();
- ctor public NotificationCompat.InboxStyle(androidx.core.app.NotificationCompat.Builder!);
- method public androidx.core.app.NotificationCompat.InboxStyle! addLine(CharSequence!);
- method public androidx.core.app.NotificationCompat.InboxStyle! setBigContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.InboxStyle! setSummaryText(CharSequence!);
- }
-
- public static class NotificationCompat.MessagingStyle extends androidx.core.app.NotificationCompat.Style {
- ctor @Deprecated public NotificationCompat.MessagingStyle(CharSequence);
- ctor public NotificationCompat.MessagingStyle(androidx.core.app.Person);
- method public void addCompatExtras(android.os.Bundle!);
- method @Deprecated public androidx.core.app.NotificationCompat.MessagingStyle! addMessage(CharSequence!, long, CharSequence!);
- method public androidx.core.app.NotificationCompat.MessagingStyle! addMessage(CharSequence!, long, androidx.core.app.Person!);
- method public androidx.core.app.NotificationCompat.MessagingStyle! addMessage(androidx.core.app.NotificationCompat.MessagingStyle.Message!);
- method public static androidx.core.app.NotificationCompat.MessagingStyle? extractMessagingStyleFromNotification(android.app.Notification!);
- method public CharSequence? getConversationTitle();
- method public java.util.List<androidx.core.app.NotificationCompat.MessagingStyle.Message!>! getMessages();
- method public androidx.core.app.Person! getUser();
- method @Deprecated public CharSequence! getUserDisplayName();
- method public boolean isGroupConversation();
- method public androidx.core.app.NotificationCompat.MessagingStyle! setConversationTitle(CharSequence?);
- method public androidx.core.app.NotificationCompat.MessagingStyle! setGroupConversation(boolean);
- field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
- }
-
- public static final class NotificationCompat.MessagingStyle.Message {
- ctor public NotificationCompat.MessagingStyle.Message(CharSequence!, long, androidx.core.app.Person?);
- ctor @Deprecated public NotificationCompat.MessagingStyle.Message(CharSequence!, long, CharSequence!);
- method public String? getDataMimeType();
- method public android.net.Uri? getDataUri();
- method public android.os.Bundle getExtras();
- method public androidx.core.app.Person? getPerson();
- method @Deprecated public CharSequence? getSender();
- method public CharSequence getText();
- method public long getTimestamp();
- method public androidx.core.app.NotificationCompat.MessagingStyle.Message! setData(String!, android.net.Uri!);
- }
-
- public abstract static class NotificationCompat.Style {
- ctor public NotificationCompat.Style();
- method public android.app.Notification! build();
- method public void setBuilder(androidx.core.app.NotificationCompat.Builder!);
- }
-
- public static final class NotificationCompat.WearableExtender implements androidx.core.app.NotificationCompat.Extender {
- ctor public NotificationCompat.WearableExtender();
- ctor public NotificationCompat.WearableExtender(android.app.Notification!);
- method public androidx.core.app.NotificationCompat.WearableExtender! addAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.WearableExtender! addActions(java.util.List<androidx.core.app.NotificationCompat.Action!>!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! addPage(android.app.Notification!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! addPages(java.util.List<android.app.Notification!>!);
- method public androidx.core.app.NotificationCompat.WearableExtender! clearActions();
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! clearPages();
- method public androidx.core.app.NotificationCompat.WearableExtender! clone();
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Builder!);
- method public java.util.List<androidx.core.app.NotificationCompat.Action!>! getActions();
- method @Deprecated public android.graphics.Bitmap! getBackground();
- method public String! getBridgeTag();
- method public int getContentAction();
- method @Deprecated public int getContentIcon();
- method @Deprecated public int getContentIconGravity();
- method public boolean getContentIntentAvailableOffline();
- method @Deprecated public int getCustomContentHeight();
- method @Deprecated public int getCustomSizePreset();
- method public String! getDismissalId();
- method @Deprecated public android.app.PendingIntent! getDisplayIntent();
- method @Deprecated public int getGravity();
- method @Deprecated public boolean getHintAmbientBigPicture();
- method @Deprecated public boolean getHintAvoidBackgroundClipping();
- method public boolean getHintContentIntentLaunchesActivity();
- method @Deprecated public boolean getHintHideIcon();
- method @Deprecated public int getHintScreenTimeout();
- method @Deprecated public boolean getHintShowBackgroundOnly();
- method @Deprecated public java.util.List<android.app.Notification!>! getPages();
- method public boolean getStartScrollBottom();
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setBackground(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.WearableExtender! setBridgeTag(String!);
- method public androidx.core.app.NotificationCompat.WearableExtender! setContentAction(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setContentIcon(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setContentIconGravity(int);
- method public androidx.core.app.NotificationCompat.WearableExtender! setContentIntentAvailableOffline(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setCustomContentHeight(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setCustomSizePreset(int);
- method public androidx.core.app.NotificationCompat.WearableExtender! setDismissalId(String!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setDisplayIntent(android.app.PendingIntent!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setGravity(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintAmbientBigPicture(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintAvoidBackgroundClipping(boolean);
- method public androidx.core.app.NotificationCompat.WearableExtender! setHintContentIntentLaunchesActivity(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintHideIcon(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintScreenTimeout(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintShowBackgroundOnly(boolean);
- method public androidx.core.app.NotificationCompat.WearableExtender! setStartScrollBottom(boolean);
- field @Deprecated public static final int SCREEN_TIMEOUT_LONG = -1; // 0xffffffff
- field @Deprecated public static final int SCREEN_TIMEOUT_SHORT = 0; // 0x0
- field @Deprecated public static final int SIZE_DEFAULT = 0; // 0x0
- field @Deprecated public static final int SIZE_FULL_SCREEN = 5; // 0x5
- field @Deprecated public static final int SIZE_LARGE = 4; // 0x4
- field @Deprecated public static final int SIZE_MEDIUM = 3; // 0x3
- field @Deprecated public static final int SIZE_SMALL = 2; // 0x2
- field @Deprecated public static final int SIZE_XSMALL = 1; // 0x1
- field public static final int UNSET_ACTION_INDEX = -1; // 0xffffffff
- }
-
- public final class NotificationCompatExtras {
- field public static final String EXTRA_ACTION_EXTRAS = "android.support.actionExtras";
- field public static final String EXTRA_GROUP_KEY = "android.support.groupKey";
- field public static final String EXTRA_GROUP_SUMMARY = "android.support.isGroupSummary";
- field public static final String EXTRA_LOCAL_ONLY = "android.support.localOnly";
- field public static final String EXTRA_REMOTE_INPUTS = "android.support.remoteInputs";
- field public static final String EXTRA_SORT_KEY = "android.support.sortKey";
- }
-
- public abstract class NotificationCompatSideChannelService extends android.app.Service {
- ctor public NotificationCompatSideChannelService();
- method public abstract void cancel(String!, int, String!);
- method public abstract void cancelAll(String!);
- method public abstract void notify(String!, int, String!, android.app.Notification!);
- method public android.os.IBinder! onBind(android.content.Intent!);
- }
-
- public final class NotificationManagerCompat {
- method public boolean areNotificationsEnabled();
- method public void cancel(int);
- method public void cancel(String?, int);
- method public void cancelAll();
- method public void createNotificationChannel(android.app.NotificationChannel);
- method public void createNotificationChannelGroup(android.app.NotificationChannelGroup);
- method public void createNotificationChannelGroups(java.util.List<android.app.NotificationChannelGroup!>);
- method public void createNotificationChannels(java.util.List<android.app.NotificationChannel!>);
- method public void deleteNotificationChannel(String);
- method public void deleteNotificationChannelGroup(String);
- method public static androidx.core.app.NotificationManagerCompat from(android.content.Context);
- method public static java.util.Set<java.lang.String!> getEnabledListenerPackages(android.content.Context);
- method public int getImportance();
- method public android.app.NotificationChannel? getNotificationChannel(String);
- method public android.app.NotificationChannelGroup? getNotificationChannelGroup(String);
- method public java.util.List<android.app.NotificationChannelGroup!> getNotificationChannelGroups();
- method public java.util.List<android.app.NotificationChannel!> getNotificationChannels();
- method public void notify(int, android.app.Notification);
- method public void notify(String?, int, android.app.Notification);
- field public static final String ACTION_BIND_SIDE_CHANNEL = "android.support.BIND_NOTIFICATION_SIDE_CHANNEL";
- field public static final String EXTRA_USE_SIDE_CHANNEL = "android.support.useSideChannel";
- field public static final int IMPORTANCE_DEFAULT = 3; // 0x3
- field public static final int IMPORTANCE_HIGH = 4; // 0x4
- field public static final int IMPORTANCE_LOW = 2; // 0x2
- field public static final int IMPORTANCE_MAX = 5; // 0x5
- field public static final int IMPORTANCE_MIN = 1; // 0x1
- field public static final int IMPORTANCE_NONE = 0; // 0x0
- field public static final int IMPORTANCE_UNSPECIFIED = -1000; // 0xfffffc18
- }
-
- public class Person {
- method public static androidx.core.app.Person fromBundle(android.os.Bundle);
- method public androidx.core.graphics.drawable.IconCompat? getIcon();
- method public String? getKey();
- method public CharSequence? getName();
- method public String? getUri();
- method public boolean isBot();
- method public boolean isImportant();
- method public androidx.core.app.Person.Builder toBuilder();
- method public android.os.Bundle toBundle();
- }
-
- public static class Person.Builder {
- ctor public Person.Builder();
- method public androidx.core.app.Person build();
- method public androidx.core.app.Person.Builder setBot(boolean);
- method public androidx.core.app.Person.Builder setIcon(androidx.core.graphics.drawable.IconCompat?);
- method public androidx.core.app.Person.Builder setImportant(boolean);
- method public androidx.core.app.Person.Builder setKey(String?);
- method public androidx.core.app.Person.Builder setName(CharSequence?);
- method public androidx.core.app.Person.Builder setUri(String?);
- }
-
- public final class RemoteActionCompat implements androidx.versionedparcelable.VersionedParcelable {
- ctor public RemoteActionCompat(androidx.core.graphics.drawable.IconCompat, CharSequence, CharSequence, android.app.PendingIntent);
- ctor public RemoteActionCompat(androidx.core.app.RemoteActionCompat);
- method @RequiresApi(26) public static androidx.core.app.RemoteActionCompat createFromRemoteAction(android.app.RemoteAction);
- method public android.app.PendingIntent getActionIntent();
- method public CharSequence getContentDescription();
- method public androidx.core.graphics.drawable.IconCompat getIcon();
- method public CharSequence getTitle();
- method public boolean isEnabled();
- method public void setEnabled(boolean);
- method public void setShouldShowIcon(boolean);
- method public boolean shouldShowIcon();
- method @RequiresApi(26) public android.app.RemoteAction toRemoteAction();
- }
-
- public final class RemoteInput {
- method public static void addDataResultToIntent(androidx.core.app.RemoteInput!, android.content.Intent!, java.util.Map<java.lang.String!,android.net.Uri!>!);
- method public static void addResultsToIntent(androidx.core.app.RemoteInput![]!, android.content.Intent!, android.os.Bundle!);
- method public boolean getAllowFreeFormInput();
- method public java.util.Set<java.lang.String!>! getAllowedDataTypes();
- method public CharSequence![]! getChoices();
- method public static java.util.Map<java.lang.String!,android.net.Uri!>! getDataResultsFromIntent(android.content.Intent!, String!);
- method public int getEditChoicesBeforeSending();
- method public android.os.Bundle! getExtras();
- method public CharSequence! getLabel();
- method public String! getResultKey();
- method public static android.os.Bundle! getResultsFromIntent(android.content.Intent!);
- method public static int getResultsSource(android.content.Intent);
- method public boolean isDataOnly();
- method public static void setResultsSource(android.content.Intent, int);
- field public static final int EDIT_CHOICES_BEFORE_SENDING_AUTO = 0; // 0x0
- field public static final int EDIT_CHOICES_BEFORE_SENDING_DISABLED = 1; // 0x1
- field public static final int EDIT_CHOICES_BEFORE_SENDING_ENABLED = 2; // 0x2
- field public static final String EXTRA_RESULTS_DATA = "android.remoteinput.resultsData";
- field public static final String RESULTS_CLIP_LABEL = "android.remoteinput.results";
- field public static final int SOURCE_CHOICE = 1; // 0x1
- field public static final int SOURCE_FREE_FORM_INPUT = 0; // 0x0
- }
-
- public static final class RemoteInput.Builder {
- ctor public RemoteInput.Builder(String);
- method public androidx.core.app.RemoteInput.Builder addExtras(android.os.Bundle);
- method public androidx.core.app.RemoteInput build();
- method public android.os.Bundle getExtras();
- method public androidx.core.app.RemoteInput.Builder setAllowDataType(String, boolean);
- method public androidx.core.app.RemoteInput.Builder setAllowFreeFormInput(boolean);
- method public androidx.core.app.RemoteInput.Builder setChoices(CharSequence![]?);
- method public androidx.core.app.RemoteInput.Builder setEditChoicesBeforeSending(int);
- method public androidx.core.app.RemoteInput.Builder setLabel(CharSequence?);
- }
-
- public final class ServiceCompat {
- method public static void stopForeground(android.app.Service, int);
- field public static final int START_STICKY = 1; // 0x1
- field public static final int STOP_FOREGROUND_DETACH = 2; // 0x2
- field public static final int STOP_FOREGROUND_REMOVE = 1; // 0x1
- }
-
- public final class ShareCompat {
- method public static void configureMenuItem(android.view.MenuItem, androidx.core.app.ShareCompat.IntentBuilder);
- method public static void configureMenuItem(android.view.Menu, @IdRes int, androidx.core.app.ShareCompat.IntentBuilder);
- method public static android.content.ComponentName? getCallingActivity(android.app.Activity);
- method public static String? getCallingPackage(android.app.Activity);
- field public static final String EXTRA_CALLING_ACTIVITY = "androidx.core.app.EXTRA_CALLING_ACTIVITY";
- field public static final String EXTRA_CALLING_ACTIVITY_INTEROP = "android.support.v4.app.EXTRA_CALLING_ACTIVITY";
- field public static final String EXTRA_CALLING_PACKAGE = "androidx.core.app.EXTRA_CALLING_PACKAGE";
- field public static final String EXTRA_CALLING_PACKAGE_INTEROP = "android.support.v4.app.EXTRA_CALLING_PACKAGE";
- }
-
- public static class ShareCompat.IntentBuilder {
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailBcc(String);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailBcc(String![]);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailCc(String);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailCc(String![]);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailTo(String);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailTo(String![]);
- method public androidx.core.app.ShareCompat.IntentBuilder addStream(android.net.Uri);
- method public android.content.Intent createChooserIntent();
- method public static androidx.core.app.ShareCompat.IntentBuilder from(android.app.Activity);
- method public android.content.Intent getIntent();
- method public androidx.core.app.ShareCompat.IntentBuilder setChooserTitle(CharSequence?);
- method public androidx.core.app.ShareCompat.IntentBuilder setChooserTitle(@StringRes int);
- method public androidx.core.app.ShareCompat.IntentBuilder setEmailBcc(String![]?);
- method public androidx.core.app.ShareCompat.IntentBuilder setEmailCc(String![]?);
- method public androidx.core.app.ShareCompat.IntentBuilder setEmailTo(String![]?);
- method public androidx.core.app.ShareCompat.IntentBuilder setHtmlText(String?);
- method public androidx.core.app.ShareCompat.IntentBuilder setStream(android.net.Uri?);
- method public androidx.core.app.ShareCompat.IntentBuilder setSubject(String?);
- method public androidx.core.app.ShareCompat.IntentBuilder setText(CharSequence?);
- method public androidx.core.app.ShareCompat.IntentBuilder setType(String?);
- method public void startChooser();
- }
-
- public static class ShareCompat.IntentReader {
- method public static androidx.core.app.ShareCompat.IntentReader from(android.app.Activity);
- method public android.content.ComponentName? getCallingActivity();
- method public android.graphics.drawable.Drawable? getCallingActivityIcon();
- method public android.graphics.drawable.Drawable? getCallingApplicationIcon();
- method public CharSequence? getCallingApplicationLabel();
- method public String? getCallingPackage();
- method public String![]? getEmailBcc();
- method public String![]? getEmailCc();
- method public String![]? getEmailTo();
- method public String? getHtmlText();
- method public android.net.Uri? getStream();
- method public android.net.Uri? getStream(int);
- method public int getStreamCount();
- method public String? getSubject();
- method public CharSequence? getText();
- method public String? getType();
- method public boolean isMultipleShare();
- method public boolean isShareIntent();
- method public boolean isSingleShare();
- }
-
- public abstract class SharedElementCallback {
- ctor public SharedElementCallback();
- method public android.os.Parcelable! onCaptureSharedElementSnapshot(android.view.View!, android.graphics.Matrix!, android.graphics.RectF!);
- method public android.view.View! onCreateSnapshotView(android.content.Context!, android.os.Parcelable!);
- method public void onMapSharedElements(java.util.List<java.lang.String!>!, java.util.Map<java.lang.String!,android.view.View!>!);
- method public void onRejectSharedElements(java.util.List<android.view.View!>!);
- method public void onSharedElementEnd(java.util.List<java.lang.String!>!, java.util.List<android.view.View!>!, java.util.List<android.view.View!>!);
- method public void onSharedElementStart(java.util.List<java.lang.String!>!, java.util.List<android.view.View!>!, java.util.List<android.view.View!>!);
- method public void onSharedElementsArrived(java.util.List<java.lang.String!>!, java.util.List<android.view.View!>!, androidx.core.app.SharedElementCallback.OnSharedElementsReadyListener!);
- }
-
- public static interface SharedElementCallback.OnSharedElementsReadyListener {
- method public void onSharedElementsReady();
- }
-
- public final class TaskStackBuilder implements java.lang.Iterable<android.content.Intent> {
- method public androidx.core.app.TaskStackBuilder addNextIntent(android.content.Intent);
- method public androidx.core.app.TaskStackBuilder addNextIntentWithParentStack(android.content.Intent);
- method public androidx.core.app.TaskStackBuilder addParentStack(android.app.Activity);
- method public androidx.core.app.TaskStackBuilder addParentStack(Class<?>);
- method public androidx.core.app.TaskStackBuilder! addParentStack(android.content.ComponentName!);
- method public static androidx.core.app.TaskStackBuilder create(android.content.Context);
- method public android.content.Intent? editIntentAt(int);
- method @Deprecated public static androidx.core.app.TaskStackBuilder! from(android.content.Context!);
- method @Deprecated public android.content.Intent! getIntent(int);
- method public int getIntentCount();
- method public android.content.Intent![] getIntents();
- method public android.app.PendingIntent? getPendingIntent(int, int);
- method public android.app.PendingIntent? getPendingIntent(int, int, android.os.Bundle?);
- method @Deprecated public java.util.Iterator<android.content.Intent!>! iterator();
- method public void startActivities();
- method public void startActivities(android.os.Bundle?);
- }
-
- public static interface TaskStackBuilder.SupportParentable {
- method public android.content.Intent? getSupportParentActivityIntent();
- }
-
-}
-
-package androidx.core.content {
-
- public final class ContentProviderCompat {
- method public static android.content.Context requireContext(android.content.ContentProvider);
- }
-
- public final class ContentResolverCompat {
- method public static android.database.Cursor! query(android.content.ContentResolver!, android.net.Uri!, String![]!, String!, String![]!, String!, androidx.core.os.CancellationSignal!);
- }
-
- public class ContextCompat {
- ctor protected ContextCompat();
- method public static int checkSelfPermission(android.content.Context, String);
- method public static android.content.Context? createDeviceProtectedStorageContext(android.content.Context);
- method public static java.io.File! getCodeCacheDir(android.content.Context);
- method @ColorInt public static int getColor(android.content.Context, @ColorRes int);
- method public static android.content.res.ColorStateList? getColorStateList(android.content.Context, @ColorRes int);
- method public static java.io.File? getDataDir(android.content.Context);
- method public static android.graphics.drawable.Drawable? getDrawable(android.content.Context, @DrawableRes int);
- method public static java.io.File![] getExternalCacheDirs(android.content.Context);
- method public static java.io.File![] getExternalFilesDirs(android.content.Context, String?);
- method public static java.util.concurrent.Executor! getMainExecutor(android.content.Context!);
- method public static java.io.File? getNoBackupFilesDir(android.content.Context);
- method public static java.io.File![] getObbDirs(android.content.Context);
- method public static <T> T? getSystemService(android.content.Context, Class<T!>);
- method public static String? getSystemServiceName(android.content.Context, Class<?>);
- method public static boolean isDeviceProtectedStorage(android.content.Context);
- method public static boolean startActivities(android.content.Context, android.content.Intent![]);
- method public static boolean startActivities(android.content.Context, android.content.Intent![], android.os.Bundle?);
- method public static void startActivity(android.content.Context, android.content.Intent, android.os.Bundle?);
- method public static void startForegroundService(android.content.Context, android.content.Intent);
- }
-
- public class FileProvider extends android.content.ContentProvider {
- ctor public FileProvider();
- method public int delete(android.net.Uri, String?, String![]?);
- method public String! getType(android.net.Uri);
- method public static android.net.Uri! getUriForFile(android.content.Context, String, java.io.File);
- method public android.net.Uri! insert(android.net.Uri, android.content.ContentValues!);
- method public boolean onCreate();
- method public android.database.Cursor! query(android.net.Uri, String![]?, String?, String![]?, String?);
- method public int update(android.net.Uri, android.content.ContentValues!, String?, String![]?);
- }
-
- public final class IntentCompat {
- method public static android.content.Intent makeMainSelectorActivity(String, String);
- field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
- field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
- field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
- }
-
- public final class MimeTypeFilter {
- method public static boolean matches(String?, String);
- method public static String? matches(String?, String![]);
- method public static String? matches(String![]?, String);
- method public static String![] matchesMany(String![]?, String);
- }
-
- public final class PermissionChecker {
- method public static int checkCallingOrSelfPermission(android.content.Context, String);
- method public static int checkCallingPermission(android.content.Context, String, String?);
- method public static int checkPermission(android.content.Context, String, int, int, String?);
- method public static int checkSelfPermission(android.content.Context, String);
- field public static final int PERMISSION_DENIED = -1; // 0xffffffff
- field public static final int PERMISSION_DENIED_APP_OP = -2; // 0xfffffffe
- field public static final int PERMISSION_GRANTED = 0; // 0x0
- }
-
- @Deprecated public final class SharedPreferencesCompat {
- }
-
- @Deprecated public static final class SharedPreferencesCompat.EditorCompat {
- method @Deprecated public void apply(android.content.SharedPreferences.Editor);
- method @Deprecated public static androidx.core.content.SharedPreferencesCompat.EditorCompat! getInstance();
- }
-
-}
-
-package androidx.core.content.pm {
-
- @Deprecated public final class ActivityInfoCompat {
- field @Deprecated public static final int CONFIG_UI_MODE = 512; // 0x200
- }
-
- public final class PackageInfoCompat {
- method public static long getLongVersionCode(android.content.pm.PackageInfo);
- }
-
- public final class PermissionInfoCompat {
- method public static int getProtection(android.content.pm.PermissionInfo);
- method public static int getProtectionFlags(android.content.pm.PermissionInfo);
- }
-
- public class ShortcutInfoCompat {
- method public android.content.ComponentName? getActivity();
- method public java.util.Set<java.lang.String!>? getCategories();
- method public CharSequence? getDisabledMessage();
- method public String getId();
- method public android.content.Intent getIntent();
- method public android.content.Intent![] getIntents();
- method public CharSequence? getLongLabel();
- method public int getRank();
- method public CharSequence getShortLabel();
- method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
- }
-
- public static class ShortcutInfoCompat.Builder {
- ctor public ShortcutInfoCompat.Builder(android.content.Context, String);
- method public androidx.core.content.pm.ShortcutInfoCompat build();
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setActivity(android.content.ComponentName);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setLongLabel(CharSequence);
- method @Deprecated public androidx.core.content.pm.ShortcutInfoCompat.Builder setLongLived();
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setLongLived(boolean);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setPerson(androidx.core.app.Person);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setPersons(androidx.core.app.Person![]);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setRank(int);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setShortLabel(CharSequence);
- }
-
- public class ShortcutManagerCompat {
- method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
- method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
- method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
- method public static int getMaxShortcutCountPerActivity(android.content.Context);
- method public static boolean isRequestPinShortcutSupported(android.content.Context);
- method public static void removeAllDynamicShortcuts(android.content.Context);
- method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
- method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
- method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
- field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
- }
-
-}
-
-package androidx.core.content.res {
-
- public final class ConfigurationHelper {
- method public static int getDensityDpi(android.content.res.Resources);
- }
-
- public final class ResourcesCompat {
- method @ColorInt public static int getColor(android.content.res.Resources, @ColorRes int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static android.content.res.ColorStateList? getColorStateList(android.content.res.Resources, @ColorRes int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static android.graphics.drawable.Drawable? getDrawable(android.content.res.Resources, @DrawableRes int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static android.graphics.drawable.Drawable? getDrawableForDensity(android.content.res.Resources, @DrawableRes int, int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static float getFloat(android.content.res.Resources, @DimenRes int);
- method public static android.graphics.Typeface? getFont(android.content.Context, @FontRes int) throws android.content.res.Resources.NotFoundException;
- method public static void getFont(android.content.Context, @FontRes int, androidx.core.content.res.ResourcesCompat.FontCallback, android.os.Handler?) throws android.content.res.Resources.NotFoundException;
- field @AnyRes public static final int ID_NULL = 0; // 0x0
- }
-
- public abstract static class ResourcesCompat.FontCallback {
- ctor public ResourcesCompat.FontCallback();
- method public abstract void onFontRetrievalFailed(int);
- method public abstract void onFontRetrieved(android.graphics.Typeface);
- }
-
- public static final class ResourcesCompat.ThemeCompat {
- method public static void rebase(android.content.res.Resources.Theme);
- }
-
-}
-
-package androidx.core.database {
-
- public final class CursorWindowCompat {
- method public static android.database.CursorWindow create(String?, long);
- }
-
- @Deprecated public final class DatabaseUtilsCompat {
- method @Deprecated public static String![]! appendSelectionArgs(String![]!, String![]!);
- method @Deprecated public static String! concatenateWhere(String!, String!);
- }
-
-}
-
-package androidx.core.database.sqlite {
-
- public final class SQLiteCursorCompat {
- method public static void setFillWindowForwardOnly(android.database.sqlite.SQLiteCursor, boolean);
- }
-
-}
-
-package androidx.core.graphics {
-
- public final class BitmapCompat {
- method public static int getAllocationByteCount(android.graphics.Bitmap);
- method public static boolean hasMipMap(android.graphics.Bitmap);
- method public static void setHasMipMap(android.graphics.Bitmap, boolean);
- }
-
- public class BlendModeColorFilterCompat {
- method public static android.graphics.ColorFilter? createBlendModeColorFilterCompat(int, androidx.core.graphics.BlendModeCompat);
- }
-
- public enum BlendModeCompat {
- enum_constant public static final androidx.core.graphics.BlendModeCompat CLEAR;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat COLOR;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat COLOR_BURN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat COLOR_DODGE;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DARKEN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat DIFFERENCE;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_ATOP;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_IN;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_OUT;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_OVER;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat EXCLUSION;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat HARD_LIGHT;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat HUE;
- enum_constant public static final androidx.core.graphics.BlendModeCompat LIGHTEN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat LUMINOSITY;
- enum_constant public static final androidx.core.graphics.BlendModeCompat MODULATE;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat MULTIPLY;
- enum_constant public static final androidx.core.graphics.BlendModeCompat OVERLAY;
- enum_constant public static final androidx.core.graphics.BlendModeCompat PLUS;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat SATURATION;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SCREEN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat SOFT_LIGHT;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_ATOP;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_IN;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_OUT;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_OVER;
- enum_constant public static final androidx.core.graphics.BlendModeCompat XOR;
- }
-
- public final class ColorUtils {
- method @ColorInt public static int HSLToColor(float[]);
- method @ColorInt public static int LABToColor(@FloatRange(from=0.0f, to=100) double, @FloatRange(from=0xffffff80, to=127) double, @FloatRange(from=0xffffff80, to=127) double);
- method public static void LABToXYZ(@FloatRange(from=0.0f, to=100) double, @FloatRange(from=0xffffff80, to=127) double, @FloatRange(from=0xffffff80, to=127) double, double[]);
- method public static void RGBToHSL(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, float[]);
- method public static void RGBToLAB(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, double[]);
- method public static void RGBToXYZ(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, double[]);
- method @ColorInt public static int XYZToColor(@FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_X) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Y) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Z) double);
- method public static void XYZToLAB(@FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_X) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Y) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Z) double, double[]);
- method @ColorInt public static int blendARGB(@ColorInt int, @ColorInt int, @FloatRange(from=0.0, to=1.0) float);
- method public static void blendHSL(float[], float[], @FloatRange(from=0.0, to=1.0) float, float[]);
- method public static void blendLAB(double[], double[], @FloatRange(from=0.0, to=1.0) double, double[]);
- method public static double calculateContrast(@ColorInt int, @ColorInt int);
- method @FloatRange(from=0.0, to=1.0) public static double calculateLuminance(@ColorInt int);
- method public static int calculateMinimumAlpha(@ColorInt int, @ColorInt int, float);
- method public static void colorToHSL(@ColorInt int, float[]);
- method public static void colorToLAB(@ColorInt int, double[]);
- method public static void colorToXYZ(@ColorInt int, double[]);
- method public static int compositeColors(@ColorInt int, @ColorInt int);
- method @RequiresApi(26) public static android.graphics.Color compositeColors(android.graphics.Color, android.graphics.Color);
- method public static double distanceEuclidean(double[], double[]);
- method @ColorInt public static int setAlphaComponent(@ColorInt int, @IntRange(from=0, to=255) int);
- }
-
- public final class Insets {
- method public static androidx.core.graphics.Insets of(int, int, int, int);
- method public static androidx.core.graphics.Insets of(android.graphics.Rect);
- method @RequiresApi(api=29) public static androidx.core.graphics.Insets toCompatInsets(android.graphics.Insets);
- method @RequiresApi(api=29) public android.graphics.Insets toPlatformInsets();
- field public static final androidx.core.graphics.Insets NONE;
- field public final int bottom;
- field public final int left;
- field public final int right;
- field public final int top;
- }
-
- public final class PaintCompat {
- method public static boolean hasGlyph(android.graphics.Paint, String);
- method public static boolean setBlendMode(android.graphics.Paint, androidx.core.graphics.BlendModeCompat?);
- }
-
- public final class PathSegment {
- ctor public PathSegment(android.graphics.PointF, float, android.graphics.PointF, float);
- method public android.graphics.PointF getEnd();
- method public float getEndFraction();
- method public android.graphics.PointF getStart();
- method public float getStartFraction();
- }
-
- public final class PathUtils {
- method @RequiresApi(26) public static java.util.Collection<androidx.core.graphics.PathSegment!> flatten(android.graphics.Path);
- method @RequiresApi(26) public static java.util.Collection<androidx.core.graphics.PathSegment!> flatten(android.graphics.Path, @FloatRange(from=0) float);
- }
-
- public class TypefaceCompat {
- method public static android.graphics.Typeface create(android.content.Context, android.graphics.Typeface?, int);
- }
-
-}
-
-package androidx.core.graphics.drawable {
-
- public final class DrawableCompat {
- method public static void applyTheme(android.graphics.drawable.Drawable, android.content.res.Resources.Theme);
- method public static boolean canApplyTheme(android.graphics.drawable.Drawable);
- method public static void clearColorFilter(android.graphics.drawable.Drawable);
- method public static int getAlpha(android.graphics.drawable.Drawable);
- method public static android.graphics.ColorFilter! getColorFilter(android.graphics.drawable.Drawable);
- method public static int getLayoutDirection(android.graphics.drawable.Drawable);
- method public static void inflate(android.graphics.drawable.Drawable, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
- method public static boolean isAutoMirrored(android.graphics.drawable.Drawable);
- method @Deprecated public static void jumpToCurrentState(android.graphics.drawable.Drawable);
- method public static void setAutoMirrored(android.graphics.drawable.Drawable, boolean);
- method public static void setHotspot(android.graphics.drawable.Drawable, float, float);
- method public static void setHotspotBounds(android.graphics.drawable.Drawable, int, int, int, int);
- method public static boolean setLayoutDirection(android.graphics.drawable.Drawable, int);
- method public static void setTint(android.graphics.drawable.Drawable, @ColorInt int);
- method public static void setTintList(android.graphics.drawable.Drawable, android.content.res.ColorStateList?);
- method public static void setTintMode(android.graphics.drawable.Drawable, android.graphics.PorterDuff.Mode);
- method public static <T extends android.graphics.drawable.Drawable> T! unwrap(android.graphics.drawable.Drawable);
- method public static android.graphics.drawable.Drawable! wrap(android.graphics.drawable.Drawable);
- }
-
- public class IconCompat extends androidx.versionedparcelable.CustomVersionedParcelable {
- method public static androidx.core.graphics.drawable.IconCompat? createFromBundle(android.os.Bundle);
- method @RequiresApi(23) public static androidx.core.graphics.drawable.IconCompat? createFromIcon(android.content.Context, android.graphics.drawable.Icon);
- method public static androidx.core.graphics.drawable.IconCompat! createWithAdaptiveBitmap(android.graphics.Bitmap!);
- method public static androidx.core.graphics.drawable.IconCompat createWithAdaptiveBitmapContentUri(String);
- method public static androidx.core.graphics.drawable.IconCompat createWithAdaptiveBitmapContentUri(android.net.Uri);
- method public static androidx.core.graphics.drawable.IconCompat! createWithBitmap(android.graphics.Bitmap!);
- method public static androidx.core.graphics.drawable.IconCompat! createWithContentUri(String!);
- method public static androidx.core.graphics.drawable.IconCompat! createWithContentUri(android.net.Uri!);
- method public static androidx.core.graphics.drawable.IconCompat! createWithData(byte[]!, int, int);
- method public static androidx.core.graphics.drawable.IconCompat! createWithResource(android.content.Context!, @DrawableRes int);
- method @IdRes public int getResId();
- method public String getResPackage();
- method public int getType();
- method public android.net.Uri getUri();
- method public android.graphics.drawable.Drawable? loadDrawable(android.content.Context);
- method public androidx.core.graphics.drawable.IconCompat! setTint(@ColorInt int);
- method public androidx.core.graphics.drawable.IconCompat! setTintList(android.content.res.ColorStateList!);
- method public androidx.core.graphics.drawable.IconCompat! setTintMode(android.graphics.PorterDuff.Mode!);
- method public android.os.Bundle! toBundle();
- method @Deprecated @RequiresApi(23) public android.graphics.drawable.Icon toIcon();
- method @RequiresApi(23) public android.graphics.drawable.Icon toIcon(android.content.Context?);
- field public static final int TYPE_ADAPTIVE_BITMAP = 5; // 0x5
- field public static final int TYPE_BITMAP = 1; // 0x1
- field public static final int TYPE_DATA = 3; // 0x3
- field public static final int TYPE_RESOURCE = 2; // 0x2
- field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
- field public static final int TYPE_URI = 4; // 0x4
- field public static final int TYPE_URI_ADAPTIVE_BITMAP = 6; // 0x6
- }
-
- public abstract class RoundedBitmapDrawable extends android.graphics.drawable.Drawable {
- method public void draw(android.graphics.Canvas);
- method public final android.graphics.Bitmap? getBitmap();
- method public float getCornerRadius();
- method public int getGravity();
- method public int getOpacity();
- method public final android.graphics.Paint getPaint();
- method public boolean hasAntiAlias();
- method public boolean hasMipMap();
- method public boolean isCircular();
- method public void setAlpha(int);
- method public void setAntiAlias(boolean);
- method public void setCircular(boolean);
- method public void setColorFilter(android.graphics.ColorFilter!);
- method public void setCornerRadius(float);
- method public void setDither(boolean);
- method public void setGravity(int);
- method public void setMipMap(boolean);
- method public void setTargetDensity(android.graphics.Canvas);
- method public void setTargetDensity(android.util.DisplayMetrics);
- method public void setTargetDensity(int);
- }
-
- public final class RoundedBitmapDrawableFactory {
- method public static androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources, android.graphics.Bitmap?);
- method public static androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources, String);
- method public static androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources, java.io.InputStream);
- }
-
-}
-
-package androidx.core.hardware.display {
-
- public final class DisplayManagerCompat {
- method public android.view.Display? getDisplay(int);
- method public android.view.Display![] getDisplays();
- method public android.view.Display![] getDisplays(String?);
- method public static androidx.core.hardware.display.DisplayManagerCompat getInstance(android.content.Context);
- field public static final String DISPLAY_CATEGORY_PRESENTATION = "android.hardware.display.category.PRESENTATION";
- }
-
-}
-
-package androidx.core.hardware.fingerprint {
-
- @Deprecated public class FingerprintManagerCompat {
- method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public void authenticate(androidx.core.hardware.fingerprint.FingerprintManagerCompat.CryptoObject?, int, androidx.core.os.CancellationSignal?, androidx.core.hardware.fingerprint.FingerprintManagerCompat.AuthenticationCallback, android.os.Handler?);
- method @Deprecated public static androidx.core.hardware.fingerprint.FingerprintManagerCompat from(android.content.Context);
- method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public boolean hasEnrolledFingerprints();
- method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public boolean isHardwareDetected();
- }
-
- @Deprecated public abstract static class FingerprintManagerCompat.AuthenticationCallback {
- ctor @Deprecated public FingerprintManagerCompat.AuthenticationCallback();
- method @Deprecated public void onAuthenticationError(int, CharSequence!);
- method @Deprecated public void onAuthenticationFailed();
- method @Deprecated public void onAuthenticationHelp(int, CharSequence!);
- method @Deprecated public void onAuthenticationSucceeded(androidx.core.hardware.fingerprint.FingerprintManagerCompat.AuthenticationResult!);
- }
-
- @Deprecated public static final class FingerprintManagerCompat.AuthenticationResult {
- ctor @Deprecated public FingerprintManagerCompat.AuthenticationResult(androidx.core.hardware.fingerprint.FingerprintManagerCompat.CryptoObject!);
- method @Deprecated public androidx.core.hardware.fingerprint.FingerprintManagerCompat.CryptoObject! getCryptoObject();
- }
-
- @Deprecated public static class FingerprintManagerCompat.CryptoObject {
- ctor @Deprecated public FingerprintManagerCompat.CryptoObject(java.security.Signature);
- ctor @Deprecated public FingerprintManagerCompat.CryptoObject(javax.crypto.Cipher);
- ctor @Deprecated public FingerprintManagerCompat.CryptoObject(javax.crypto.Mac);
- method @Deprecated public javax.crypto.Cipher? getCipher();
- method @Deprecated public javax.crypto.Mac? getMac();
- method @Deprecated public java.security.Signature? getSignature();
- }
-
-}
-
-package androidx.core.location {
-
- public final class LocationManagerCompat {
- method public static boolean isLocationEnabled(android.location.LocationManager);
- }
-
-}
-
-package androidx.core.math {
-
- public class MathUtils {
- method public static float clamp(float, float, float);
- method public static double clamp(double, double, double);
- method public static int clamp(int, int, int);
- method public static long clamp(long, long, long);
- }
-
-}
-
-package androidx.core.net {
-
- public final class ConnectivityManagerCompat {
- method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public static android.net.NetworkInfo? getNetworkInfoFromBroadcast(android.net.ConnectivityManager, android.content.Intent);
- method public static int getRestrictBackgroundStatus(android.net.ConnectivityManager);
- method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public static boolean isActiveNetworkMetered(android.net.ConnectivityManager);
- field public static final int RESTRICT_BACKGROUND_STATUS_DISABLED = 1; // 0x1
- field public static final int RESTRICT_BACKGROUND_STATUS_ENABLED = 3; // 0x3
- field public static final int RESTRICT_BACKGROUND_STATUS_WHITELISTED = 2; // 0x2
- }
-
- public final class TrafficStatsCompat {
- method @Deprecated public static void clearThreadStatsTag();
- method @Deprecated public static int getThreadStatsTag();
- method @Deprecated public static void incrementOperationCount(int);
- method @Deprecated public static void incrementOperationCount(int, int);
- method @Deprecated public static void setThreadStatsTag(int);
- method public static void tagDatagramSocket(java.net.DatagramSocket) throws java.net.SocketException;
- method @Deprecated public static void tagSocket(java.net.Socket!) throws java.net.SocketException;
- method public static void untagDatagramSocket(java.net.DatagramSocket) throws java.net.SocketException;
- method @Deprecated public static void untagSocket(java.net.Socket!) throws java.net.SocketException;
- }
-
- public final class UriCompat {
- method public static String toSafeString(android.net.Uri);
- }
-
-}
-
-package androidx.core.os {
-
- public class BuildCompat {
- method @Deprecated public static boolean isAtLeastN();
- method @Deprecated public static boolean isAtLeastNMR1();
- method @Deprecated public static boolean isAtLeastO();
- method @Deprecated public static boolean isAtLeastOMR1();
- method @Deprecated public static boolean isAtLeastP();
- method @Deprecated public static boolean isAtLeastQ();
- method public static boolean isAtLeastR();
- }
-
- public final class CancellationSignal {
- ctor public CancellationSignal();
- method public void cancel();
- method public Object? getCancellationSignalObject();
- method public boolean isCanceled();
- method public void setOnCancelListener(androidx.core.os.CancellationSignal.OnCancelListener?);
- method public void throwIfCanceled();
- }
-
- public static interface CancellationSignal.OnCancelListener {
- method public void onCancel();
- }
-
- public final class ConfigurationCompat {
- method public static androidx.core.os.LocaleListCompat getLocales(android.content.res.Configuration);
- }
-
- public final class EnvironmentCompat {
- method public static String getStorageState(java.io.File);
- field public static final String MEDIA_UNKNOWN = "unknown";
- }
-
- public final class HandlerCompat {
- method public static android.os.Handler createAsync(android.os.Looper);
- method public static android.os.Handler createAsync(android.os.Looper, android.os.Handler.Callback);
- method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
- }
-
- public final class LocaleListCompat {
- method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
- method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
- method public java.util.Locale! get(int);
- method @Size(min=1) public static androidx.core.os.LocaleListCompat getAdjustedDefault();
- method @Size(min=1) public static androidx.core.os.LocaleListCompat getDefault();
- method public static androidx.core.os.LocaleListCompat getEmptyLocaleList();
- method public java.util.Locale? getFirstMatch(String![]);
- method @IntRange(from=0xffffffff) public int indexOf(java.util.Locale!);
- method public boolean isEmpty();
- method @IntRange(from=0) public int size();
- method public String toLanguageTags();
- method public Object? unwrap();
- method @Deprecated @RequiresApi(24) public static androidx.core.os.LocaleListCompat! wrap(Object!);
- method @RequiresApi(24) public static androidx.core.os.LocaleListCompat wrap(android.os.LocaleList);
- }
-
- public final class MessageCompat {
- method public static boolean isAsynchronous(android.os.Message);
- method public static void setAsynchronous(android.os.Message, boolean);
- }
-
- public class OperationCanceledException extends java.lang.RuntimeException {
- ctor public OperationCanceledException();
- ctor public OperationCanceledException(String?);
- }
-
- public final class ParcelCompat {
- method public static boolean readBoolean(android.os.Parcel);
- method public static void writeBoolean(android.os.Parcel, boolean);
- }
-
- @Deprecated public final class ParcelableCompat {
- method @Deprecated public static <T> android.os.Parcelable.Creator<T!>! newCreator(androidx.core.os.ParcelableCompatCreatorCallbacks<T!>!);
- }
-
- @Deprecated public interface ParcelableCompatCreatorCallbacks<T> {
- method @Deprecated public T! createFromParcel(android.os.Parcel!, ClassLoader!);
- method @Deprecated public T![]! newArray(int);
- }
-
- public final class TraceCompat {
- method public static void beginAsyncSection(String, int);
- method public static void beginSection(String);
- method public static void endAsyncSection(String, int);
- method public static void endSection();
- method public static boolean isEnabled();
- method public static void setCounter(String, int);
- }
-
- public class UserManagerCompat {
- method public static boolean isUserUnlocked(android.content.Context);
- }
-
-}
-
-package androidx.core.provider {
-
- public final class FontRequest {
- ctor public FontRequest(String, String, String, java.util.List<java.util.List<byte[]!>!>);
- ctor public FontRequest(String, String, String, @ArrayRes int);
- method public java.util.List<java.util.List<byte[]!>!>? getCertificates();
- method @ArrayRes public int getCertificatesArrayResId();
- method public String getProviderAuthority();
- method public String getProviderPackage();
- method public String getQuery();
- }
-
- public class FontsContractCompat {
- method public static android.graphics.Typeface? buildTypeface(android.content.Context, android.os.CancellationSignal?, androidx.core.provider.FontsContractCompat.FontInfo![]);
- method public static androidx.core.provider.FontsContractCompat.FontFamilyResult fetchFonts(android.content.Context, android.os.CancellationSignal?, androidx.core.provider.FontRequest) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static void requestFont(android.content.Context, androidx.core.provider.FontRequest, androidx.core.provider.FontsContractCompat.FontRequestCallback, android.os.Handler);
- }
-
- public static final class FontsContractCompat.Columns implements android.provider.BaseColumns {
- ctor public FontsContractCompat.Columns();
- field public static final String FILE_ID = "file_id";
- field public static final String ITALIC = "font_italic";
- field public static final String RESULT_CODE = "result_code";
- field public static final int RESULT_CODE_FONT_NOT_FOUND = 1; // 0x1
- field public static final int RESULT_CODE_FONT_UNAVAILABLE = 2; // 0x2
- field public static final int RESULT_CODE_MALFORMED_QUERY = 3; // 0x3
- field public static final int RESULT_CODE_OK = 0; // 0x0
- field public static final String TTC_INDEX = "font_ttc_index";
- field public static final String VARIATION_SETTINGS = "font_variation_settings";
- field public static final String WEIGHT = "font_weight";
- }
-
- public static class FontsContractCompat.FontFamilyResult {
- method public androidx.core.provider.FontsContractCompat.FontInfo![]! getFonts();
- method public int getStatusCode();
- field public static final int STATUS_OK = 0; // 0x0
- field public static final int STATUS_UNEXPECTED_DATA_PROVIDED = 2; // 0x2
- field public static final int STATUS_WRONG_CERTIFICATES = 1; // 0x1
- }
-
- public static class FontsContractCompat.FontInfo {
- method public int getResultCode();
- method @IntRange(from=0) public int getTtcIndex();
- method public android.net.Uri getUri();
- method @IntRange(from=1, to=1000) public int getWeight();
- method public boolean isItalic();
- }
-
- public static class FontsContractCompat.FontRequestCallback {
- ctor public FontsContractCompat.FontRequestCallback();
- method public void onTypefaceRequestFailed(int);
- method public void onTypefaceRetrieved(android.graphics.Typeface!);
- field public static final int FAIL_REASON_FONT_LOAD_ERROR = -3; // 0xfffffffd
- field public static final int FAIL_REASON_FONT_NOT_FOUND = 1; // 0x1
- field public static final int FAIL_REASON_FONT_UNAVAILABLE = 2; // 0x2
- field public static final int FAIL_REASON_MALFORMED_QUERY = 3; // 0x3
- field public static final int FAIL_REASON_PROVIDER_NOT_FOUND = -1; // 0xffffffff
- field public static final int FAIL_REASON_SECURITY_VIOLATION = -4; // 0xfffffffc
- field public static final int FAIL_REASON_WRONG_CERTIFICATES = -2; // 0xfffffffe
- }
-
-}
-
-package androidx.core.telephony.mbms {
-
- public final class MbmsHelper {
- method public static CharSequence? getBestNameForService(android.content.Context, android.telephony.mbms.ServiceInfo);
- }
-
-}
-
-package androidx.core.text {
-
- public final class BidiFormatter {
- method public static androidx.core.text.BidiFormatter! getInstance();
- method public static androidx.core.text.BidiFormatter! getInstance(boolean);
- method public static androidx.core.text.BidiFormatter! getInstance(java.util.Locale!);
- method public boolean getStereoReset();
- method public boolean isRtl(String!);
- method public boolean isRtl(CharSequence!);
- method public boolean isRtlContext();
- method public String! unicodeWrap(String!, androidx.core.text.TextDirectionHeuristicCompat!, boolean);
- method public CharSequence! unicodeWrap(CharSequence!, androidx.core.text.TextDirectionHeuristicCompat!, boolean);
- method public String! unicodeWrap(String!, androidx.core.text.TextDirectionHeuristicCompat!);
- method public CharSequence! unicodeWrap(CharSequence!, androidx.core.text.TextDirectionHeuristicCompat!);
- method public String! unicodeWrap(String!, boolean);
- method public CharSequence! unicodeWrap(CharSequence!, boolean);
- method public String! unicodeWrap(String!);
- method public CharSequence! unicodeWrap(CharSequence!);
- }
-
- public static final class BidiFormatter.Builder {
- ctor public BidiFormatter.Builder();
- ctor public BidiFormatter.Builder(boolean);
- ctor public BidiFormatter.Builder(java.util.Locale!);
- method public androidx.core.text.BidiFormatter! build();
- method public androidx.core.text.BidiFormatter.Builder! setTextDirectionHeuristic(androidx.core.text.TextDirectionHeuristicCompat!);
- method public androidx.core.text.BidiFormatter.Builder! stereoReset(boolean);
- }
-
- public final class HtmlCompat {
- method public static android.text.Spanned fromHtml(String, int);
- method public static android.text.Spanned fromHtml(String, int, android.text.Html.ImageGetter?, android.text.Html.TagHandler?);
- method public static String toHtml(android.text.Spanned, int);
- field public static final int FROM_HTML_MODE_COMPACT = 63; // 0x3f
- field public static final int FROM_HTML_MODE_LEGACY = 0; // 0x0
- field public static final int FROM_HTML_OPTION_USE_CSS_COLORS = 256; // 0x100
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE = 32; // 0x20
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_DIV = 16; // 0x10
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_HEADING = 2; // 0x2
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST = 8; // 0x8
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM = 4; // 0x4
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH = 1; // 0x1
- field public static final int TO_HTML_PARAGRAPH_LINES_CONSECUTIVE = 0; // 0x0
- field public static final int TO_HTML_PARAGRAPH_LINES_INDIVIDUAL = 1; // 0x1
- }
-
- public final class ICUCompat {
- method public static String? maximizeAndGetScript(java.util.Locale!);
- }
-
- public class PrecomputedTextCompat implements android.text.Spannable {
- method public char charAt(int);
- method public static androidx.core.text.PrecomputedTextCompat! create(CharSequence, androidx.core.text.PrecomputedTextCompat.Params);
- method @IntRange(from=0) public int getParagraphCount();
- method @IntRange(from=0) public int getParagraphEnd(@IntRange(from=0) int);
- method @IntRange(from=0) public int getParagraphStart(@IntRange(from=0) int);
- method public androidx.core.text.PrecomputedTextCompat.Params getParams();
- method public int getSpanEnd(Object!);
- method public int getSpanFlags(Object!);
- method public int getSpanStart(Object!);
- method public <T> T![]! getSpans(int, int, Class<T!>!);
- method @UiThread public static java.util.concurrent.Future<androidx.core.text.PrecomputedTextCompat!>! getTextFuture(CharSequence, androidx.core.text.PrecomputedTextCompat.Params, java.util.concurrent.Executor?);
- method public int length();
- method public int nextSpanTransition(int, int, Class!);
- method public void removeSpan(Object!);
- method public void setSpan(Object!, int, int, int);
- method public CharSequence! subSequence(int, int);
- }
-
- public static final class PrecomputedTextCompat.Params {
- ctor @RequiresApi(28) public PrecomputedTextCompat.Params(android.text.PrecomputedText.Params);
- method @RequiresApi(23) public int getBreakStrategy();
- method @RequiresApi(23) public int getHyphenationFrequency();
- method @RequiresApi(18) public android.text.TextDirectionHeuristic? getTextDirection();
- method public android.text.TextPaint getTextPaint();
- }
-
- public static class PrecomputedTextCompat.Params.Builder {
- ctor public PrecomputedTextCompat.Params.Builder(android.text.TextPaint);
- method public androidx.core.text.PrecomputedTextCompat.Params build();
- method @RequiresApi(23) public androidx.core.text.PrecomputedTextCompat.Params.Builder! setBreakStrategy(int);
- method @RequiresApi(23) public androidx.core.text.PrecomputedTextCompat.Params.Builder! setHyphenationFrequency(int);
- method @RequiresApi(18) public androidx.core.text.PrecomputedTextCompat.Params.Builder! setTextDirection(android.text.TextDirectionHeuristic);
- }
-
- public interface TextDirectionHeuristicCompat {
- method public boolean isRtl(char[]!, int, int);
- method public boolean isRtl(CharSequence!, int, int);
- }
-
- public final class TextDirectionHeuristicsCompat {
- field public static final androidx.core.text.TextDirectionHeuristicCompat! ANYRTL_LTR;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! FIRSTSTRONG_LTR;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! FIRSTSTRONG_RTL;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! LOCALE;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! LTR;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! RTL;
- }
-
- public final class TextUtilsCompat {
- method public static int getLayoutDirectionFromLocale(java.util.Locale?);
- method public static String htmlEncode(String);
- }
-
-}
-
-package androidx.core.text.util {
-
- public final class LinkifyCompat {
- method public static boolean addLinks(android.text.Spannable, int);
- method public static boolean addLinks(android.widget.TextView, int);
- method public static void addLinks(android.widget.TextView, java.util.regex.Pattern, String?);
- method public static void addLinks(android.widget.TextView, java.util.regex.Pattern, String?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- method public static void addLinks(android.widget.TextView, java.util.regex.Pattern, String?, String![]?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- method public static boolean addLinks(android.text.Spannable, java.util.regex.Pattern, String?);
- method public static boolean addLinks(android.text.Spannable, java.util.regex.Pattern, String?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- method public static boolean addLinks(android.text.Spannable, java.util.regex.Pattern, String?, String![]?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- }
-
-}
-
-package androidx.core.util {
-
- public class AtomicFile {
- ctor public AtomicFile(java.io.File);
- method public void delete();
- method public void failWrite(java.io.FileOutputStream?);
- method public void finishWrite(java.io.FileOutputStream?);
- method public java.io.File getBaseFile();
- method public java.io.FileInputStream openRead() throws java.io.FileNotFoundException;
- method public byte[] readFully() throws java.io.IOException;
- method public java.io.FileOutputStream startWrite() throws java.io.IOException;
- }
-
- public interface Consumer<T> {
- method public void accept(T!);
- }
-
- public class ObjectsCompat {
- method public static boolean equals(Object?, Object?);
- method public static int hash(java.lang.Object!...);
- method public static int hashCode(Object?);
- }
-
- public class Pair<F, S> {
- ctor public Pair(F?, S?);
- method public static <A, B> androidx.core.util.Pair<A!,B!> create(A?, B?);
- field public final F? first;
- field public final S? second;
- }
-
- public final class PatternsCompat {
- field public static final java.util.regex.Pattern! DOMAIN_NAME;
- field public static final java.util.regex.Pattern! EMAIL_ADDRESS;
- field public static final java.util.regex.Pattern! IP_ADDRESS;
- field public static final java.util.regex.Pattern! WEB_URL;
- }
-
- public final class Pools {
- }
-
- public static interface Pools.Pool<T> {
- method public T? acquire();
- method public boolean release(T);
- }
-
- public static class Pools.SimplePool<T> implements androidx.core.util.Pools.Pool<T> {
- ctor public Pools.SimplePool(int);
- method public T! acquire();
- method public boolean release(T);
- }
-
- public static class Pools.SynchronizedPool<T> extends androidx.core.util.Pools.SimplePool<T> {
- ctor public Pools.SynchronizedPool(int);
- }
-
- public interface Predicate<T> {
- method public boolean test(T!);
- }
-
- public interface Supplier<T> {
- method public T! get();
- }
-
-}
-
-package androidx.core.view {
-
- public class AccessibilityDelegateCompat {
- ctor public AccessibilityDelegateCompat();
- method public boolean dispatchPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public androidx.core.view.accessibility.AccessibilityNodeProviderCompat! getAccessibilityNodeProvider(android.view.View!);
- method public void onInitializeAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public void onInitializeAccessibilityNodeInfo(android.view.View!, androidx.core.view.accessibility.AccessibilityNodeInfoCompat!);
- method public void onPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public boolean onRequestSendAccessibilityEvent(android.view.ViewGroup!, android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public boolean performAccessibilityAction(android.view.View!, int, android.os.Bundle!);
- method public void sendAccessibilityEvent(android.view.View!, int);
- method public void sendAccessibilityEventUnchecked(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- }
-
- public abstract class ActionProvider {
- ctor public ActionProvider(android.content.Context!);
- method public android.content.Context! getContext();
- method public boolean hasSubMenu();
- method public boolean isVisible();
- method public abstract android.view.View! onCreateActionView();
- method public android.view.View! onCreateActionView(android.view.MenuItem!);
- method public boolean onPerformDefaultAction();
- method public void onPrepareSubMenu(android.view.SubMenu!);
- method public boolean overridesItemVisibility();
- method public void refreshVisibility();
- method public void setVisibilityListener(androidx.core.view.ActionProvider.VisibilityListener!);
- }
-
- public static interface ActionProvider.VisibilityListener {
- method public void onActionProviderVisibilityChanged(boolean);
- }
-
- public final class DisplayCompat {
- method public static androidx.core.view.DisplayCompat.ModeCompat![] getSupportedModes(android.content.Context, android.view.Display);
- }
-
- public static final class DisplayCompat.ModeCompat {
- method public int getPhysicalHeight();
- method public int getPhysicalWidth();
- method public boolean isNative();
- method @RequiresApi(android.os.Build.VERSION_CODES.M) public android.view.Display.Mode? toMode();
- }
-
- public final class DisplayCutoutCompat {
- ctor public DisplayCutoutCompat(android.graphics.Rect!, java.util.List<android.graphics.Rect!>!);
- method public java.util.List<android.graphics.Rect!>! getBoundingRects();
- method public int getSafeInsetBottom();
- method public int getSafeInsetLeft();
- method public int getSafeInsetRight();
- method public int getSafeInsetTop();
- }
-
- public final class DragAndDropPermissionsCompat {
- method public void release();
- }
-
- public class DragStartHelper {
- ctor public DragStartHelper(android.view.View!, androidx.core.view.DragStartHelper.OnDragStartListener!);
- method public void attach();
- method public void detach();
- method public void getTouchPosition(android.graphics.Point!);
- method public boolean onLongClick(android.view.View!);
- method public boolean onTouch(android.view.View!, android.view.MotionEvent!);
- }
-
- public static interface DragStartHelper.OnDragStartListener {
- method public boolean onDragStart(android.view.View!, androidx.core.view.DragStartHelper!);
- }
-
- public final class GestureDetectorCompat {
- ctor public GestureDetectorCompat(android.content.Context!, android.view.GestureDetector.OnGestureListener!);
- ctor public GestureDetectorCompat(android.content.Context!, android.view.GestureDetector.OnGestureListener!, android.os.Handler!);
- method public boolean isLongpressEnabled();
- method public boolean onTouchEvent(android.view.MotionEvent!);
- method public void setIsLongpressEnabled(boolean);
- method public void setOnDoubleTapListener(android.view.GestureDetector.OnDoubleTapListener!);
- }
-
- public final class GravityCompat {
- method public static void apply(int, int, int, android.graphics.Rect!, android.graphics.Rect!, int);
- method public static void apply(int, int, int, android.graphics.Rect!, int, int, android.graphics.Rect!, int);
- method public static void applyDisplay(int, android.graphics.Rect!, android.graphics.Rect!, int);
- method public static int getAbsoluteGravity(int, int);
- field public static final int END = 8388613; // 0x800005
- field public static final int RELATIVE_HORIZONTAL_GRAVITY_MASK = 8388615; // 0x800007
- field public static final int RELATIVE_LAYOUT_DIRECTION = 8388608; // 0x800000
- field public static final int START = 8388611; // 0x800003
- }
-
- public final class InputDeviceCompat {
- field public static final int SOURCE_ANY = -256; // 0xffffff00
- field public static final int SOURCE_CLASS_BUTTON = 1; // 0x1
- field public static final int SOURCE_CLASS_JOYSTICK = 16; // 0x10
- field public static final int SOURCE_CLASS_MASK = 255; // 0xff
- field public static final int SOURCE_CLASS_NONE = 0; // 0x0
- field public static final int SOURCE_CLASS_POINTER = 2; // 0x2
- field public static final int SOURCE_CLASS_POSITION = 8; // 0x8
- field public static final int SOURCE_CLASS_TRACKBALL = 4; // 0x4
- field public static final int SOURCE_DPAD = 513; // 0x201
- field public static final int SOURCE_GAMEPAD = 1025; // 0x401
- field public static final int SOURCE_HDMI = 33554433; // 0x2000001
- field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010
- field public static final int SOURCE_KEYBOARD = 257; // 0x101
- field public static final int SOURCE_MOUSE = 8194; // 0x2002
- field public static final int SOURCE_ROTARY_ENCODER = 4194304; // 0x400000
- field public static final int SOURCE_STYLUS = 16386; // 0x4002
- field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008
- field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002
- field public static final int SOURCE_TOUCH_NAVIGATION = 2097152; // 0x200000
- field public static final int SOURCE_TRACKBALL = 65540; // 0x10004
- field public static final int SOURCE_UNKNOWN = 0; // 0x0
- }
-
- public final class LayoutInflaterCompat {
- method @Deprecated public static androidx.core.view.LayoutInflaterFactory! getFactory(android.view.LayoutInflater!);
- method @Deprecated public static void setFactory(android.view.LayoutInflater, androidx.core.view.LayoutInflaterFactory);
- method public static void setFactory2(android.view.LayoutInflater, android.view.LayoutInflater.Factory2);
- }
-
- @Deprecated public interface LayoutInflaterFactory {
- method @Deprecated public android.view.View! onCreateView(android.view.View!, String!, android.content.Context!, android.util.AttributeSet!);
- }
-
- public final class MarginLayoutParamsCompat {
- method public static int getLayoutDirection(android.view.ViewGroup.MarginLayoutParams!);
- method public static int getMarginEnd(android.view.ViewGroup.MarginLayoutParams!);
- method public static int getMarginStart(android.view.ViewGroup.MarginLayoutParams!);
- method public static boolean isMarginRelative(android.view.ViewGroup.MarginLayoutParams!);
- method public static void resolveLayoutDirection(android.view.ViewGroup.MarginLayoutParams!, int);
- method public static void setLayoutDirection(android.view.ViewGroup.MarginLayoutParams!, int);
- method public static void setMarginEnd(android.view.ViewGroup.MarginLayoutParams!, int);
- method public static void setMarginStart(android.view.ViewGroup.MarginLayoutParams!, int);
- }
-
- public final class MenuCompat {
- method public static void setGroupDividerEnabled(android.view.Menu!, boolean);
- method @Deprecated public static void setShowAsAction(android.view.MenuItem!, int);
- }
-
- public final class MenuItemCompat {
- method @Deprecated public static boolean collapseActionView(android.view.MenuItem!);
- method @Deprecated public static boolean expandActionView(android.view.MenuItem!);
- method public static androidx.core.view.ActionProvider! getActionProvider(android.view.MenuItem!);
- method @Deprecated public static android.view.View! getActionView(android.view.MenuItem!);
- method public static int getAlphabeticModifiers(android.view.MenuItem!);
- method public static CharSequence! getContentDescription(android.view.MenuItem!);
- method public static android.content.res.ColorStateList! getIconTintList(android.view.MenuItem!);
- method public static android.graphics.PorterDuff.Mode! getIconTintMode(android.view.MenuItem!);
- method public static int getNumericModifiers(android.view.MenuItem!);
- method public static CharSequence! getTooltipText(android.view.MenuItem!);
- method @Deprecated public static boolean isActionViewExpanded(android.view.MenuItem!);
- method public static android.view.MenuItem! setActionProvider(android.view.MenuItem!, androidx.core.view.ActionProvider!);
- method @Deprecated public static android.view.MenuItem! setActionView(android.view.MenuItem!, android.view.View!);
- method @Deprecated public static android.view.MenuItem! setActionView(android.view.MenuItem!, int);
- method public static void setAlphabeticShortcut(android.view.MenuItem!, char, int);
- method public static void setContentDescription(android.view.MenuItem!, CharSequence!);
- method public static void setIconTintList(android.view.MenuItem!, android.content.res.ColorStateList!);
- method public static void setIconTintMode(android.view.MenuItem!, android.graphics.PorterDuff.Mode!);
- method public static void setNumericShortcut(android.view.MenuItem!, char, int);
- method @Deprecated public static android.view.MenuItem! setOnActionExpandListener(android.view.MenuItem!, androidx.core.view.MenuItemCompat.OnActionExpandListener!);
- method public static void setShortcut(android.view.MenuItem!, char, char, int, int);
- method @Deprecated public static void setShowAsAction(android.view.MenuItem!, int);
- method public static void setTooltipText(android.view.MenuItem!, CharSequence!);
- field @Deprecated public static final int SHOW_AS_ACTION_ALWAYS = 2; // 0x2
- field @Deprecated public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8; // 0x8
- field @Deprecated public static final int SHOW_AS_ACTION_IF_ROOM = 1; // 0x1
- field @Deprecated public static final int SHOW_AS_ACTION_NEVER = 0; // 0x0
- field @Deprecated public static final int SHOW_AS_ACTION_WITH_TEXT = 4; // 0x4
- }
-
- @Deprecated public static interface MenuItemCompat.OnActionExpandListener {
- method @Deprecated public boolean onMenuItemActionCollapse(android.view.MenuItem!);
- method @Deprecated public boolean onMenuItemActionExpand(android.view.MenuItem!);
- }
-
- public final class MotionEventCompat {
- method @Deprecated public static int findPointerIndex(android.view.MotionEvent!, int);
- method @Deprecated public static int getActionIndex(android.view.MotionEvent!);
- method @Deprecated public static int getActionMasked(android.view.MotionEvent!);
- method @Deprecated public static float getAxisValue(android.view.MotionEvent!, int);
- method @Deprecated public static float getAxisValue(android.view.MotionEvent!, int, int);
- method @Deprecated public static int getButtonState(android.view.MotionEvent!);
- method @Deprecated public static int getPointerCount(android.view.MotionEvent!);
- method @Deprecated public static int getPointerId(android.view.MotionEvent!, int);
- method @Deprecated public static int getSource(android.view.MotionEvent!);
- method @Deprecated public static float getX(android.view.MotionEvent!, int);
- method @Deprecated public static float getY(android.view.MotionEvent!, int);
- method public static boolean isFromSource(android.view.MotionEvent!, int);
- field @Deprecated public static final int ACTION_HOVER_ENTER = 9; // 0x9
- field @Deprecated public static final int ACTION_HOVER_EXIT = 10; // 0xa
- field @Deprecated public static final int ACTION_HOVER_MOVE = 7; // 0x7
- field @Deprecated public static final int ACTION_MASK = 255; // 0xff
- field @Deprecated public static final int ACTION_POINTER_DOWN = 5; // 0x5
- field @Deprecated public static final int ACTION_POINTER_INDEX_MASK = 65280; // 0xff00
- field @Deprecated public static final int ACTION_POINTER_INDEX_SHIFT = 8; // 0x8
- field @Deprecated public static final int ACTION_POINTER_UP = 6; // 0x6
- field @Deprecated public static final int ACTION_SCROLL = 8; // 0x8
- field @Deprecated public static final int AXIS_BRAKE = 23; // 0x17
- field @Deprecated public static final int AXIS_DISTANCE = 24; // 0x18
- field @Deprecated public static final int AXIS_GAS = 22; // 0x16
- field @Deprecated public static final int AXIS_GENERIC_1 = 32; // 0x20
- field @Deprecated public static final int AXIS_GENERIC_10 = 41; // 0x29
- field @Deprecated public static final int AXIS_GENERIC_11 = 42; // 0x2a
- field @Deprecated public static final int AXIS_GENERIC_12 = 43; // 0x2b
- field @Deprecated public static final int AXIS_GENERIC_13 = 44; // 0x2c
- field @Deprecated public static final int AXIS_GENERIC_14 = 45; // 0x2d
- field @Deprecated public static final int AXIS_GENERIC_15 = 46; // 0x2e
- field @Deprecated public static final int AXIS_GENERIC_16 = 47; // 0x2f
- field @Deprecated public static final int AXIS_GENERIC_2 = 33; // 0x21
- field @Deprecated public static final int AXIS_GENERIC_3 = 34; // 0x22
- field @Deprecated public static final int AXIS_GENERIC_4 = 35; // 0x23
- field @Deprecated public static final int AXIS_GENERIC_5 = 36; // 0x24
- field @Deprecated public static final int AXIS_GENERIC_6 = 37; // 0x25
- field @Deprecated public static final int AXIS_GENERIC_7 = 38; // 0x26
- field @Deprecated public static final int AXIS_GENERIC_8 = 39; // 0x27
- field @Deprecated public static final int AXIS_GENERIC_9 = 40; // 0x28
- field @Deprecated public static final int AXIS_HAT_X = 15; // 0xf
- field @Deprecated public static final int AXIS_HAT_Y = 16; // 0x10
- field @Deprecated public static final int AXIS_HSCROLL = 10; // 0xa
- field @Deprecated public static final int AXIS_LTRIGGER = 17; // 0x11
- field @Deprecated public static final int AXIS_ORIENTATION = 8; // 0x8
- field @Deprecated public static final int AXIS_PRESSURE = 2; // 0x2
- field public static final int AXIS_RELATIVE_X = 27; // 0x1b
- field public static final int AXIS_RELATIVE_Y = 28; // 0x1c
- field @Deprecated public static final int AXIS_RTRIGGER = 18; // 0x12
- field @Deprecated public static final int AXIS_RUDDER = 20; // 0x14
- field @Deprecated public static final int AXIS_RX = 12; // 0xc
- field @Deprecated public static final int AXIS_RY = 13; // 0xd
- field @Deprecated public static final int AXIS_RZ = 14; // 0xe
- field public static final int AXIS_SCROLL = 26; // 0x1a
- field @Deprecated public static final int AXIS_SIZE = 3; // 0x3
- field @Deprecated public static final int AXIS_THROTTLE = 19; // 0x13
- field @Deprecated public static final int AXIS_TILT = 25; // 0x19
- field @Deprecated public static final int AXIS_TOOL_MAJOR = 6; // 0x6
- field @Deprecated public static final int AXIS_TOOL_MINOR = 7; // 0x7
- field @Deprecated public static final int AXIS_TOUCH_MAJOR = 4; // 0x4
- field @Deprecated public static final int AXIS_TOUCH_MINOR = 5; // 0x5
- field @Deprecated public static final int AXIS_VSCROLL = 9; // 0x9
- field @Deprecated public static final int AXIS_WHEEL = 21; // 0x15
- field @Deprecated public static final int AXIS_X = 0; // 0x0
- field @Deprecated public static final int AXIS_Y = 1; // 0x1
- field @Deprecated public static final int AXIS_Z = 11; // 0xb
- field @Deprecated public static final int BUTTON_PRIMARY = 1; // 0x1
- }
-
- public interface NestedScrollingChild {
- method public boolean dispatchNestedFling(float, float, boolean);
- method public boolean dispatchNestedPreFling(float, float);
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?);
- method public boolean hasNestedScrollingParent();
- method public boolean isNestedScrollingEnabled();
- method public void setNestedScrollingEnabled(boolean);
- method public boolean startNestedScroll(int);
- method public void stopNestedScroll();
- }
-
- public interface NestedScrollingChild2 extends androidx.core.view.NestedScrollingChild {
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?, int);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?, int);
- method public boolean hasNestedScrollingParent(int);
- method public boolean startNestedScroll(int, int);
- method public void stopNestedScroll(int);
- }
-
- public interface NestedScrollingChild3 extends androidx.core.view.NestedScrollingChild2 {
- method public void dispatchNestedScroll(int, int, int, int, int[]?, int, int[]);
- }
-
- public class NestedScrollingChildHelper {
- ctor public NestedScrollingChildHelper(android.view.View);
- method public boolean dispatchNestedFling(float, float, boolean);
- method public boolean dispatchNestedPreFling(float, float);
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?);
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?, int);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?, int);
- method public void dispatchNestedScroll(int, int, int, int, int[]?, int, int[]?);
- method public boolean hasNestedScrollingParent();
- method public boolean hasNestedScrollingParent(int);
- method public boolean isNestedScrollingEnabled();
- method public void onDetachedFromWindow();
- method public void onStopNestedScroll(android.view.View);
- method public void setNestedScrollingEnabled(boolean);
- method public boolean startNestedScroll(int);
- method public boolean startNestedScroll(int, int);
- method public void stopNestedScroll();
- method public void stopNestedScroll(int);
- }
-
- public interface NestedScrollingParent {
- method public int getNestedScrollAxes();
- method public boolean onNestedFling(android.view.View, float, float, boolean);
- method public boolean onNestedPreFling(android.view.View, float, float);
- method public void onNestedPreScroll(android.view.View, int, int, int[]);
- method public void onNestedScroll(android.view.View, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int);
- method public boolean onStartNestedScroll(android.view.View, android.view.View, int);
- method public void onStopNestedScroll(android.view.View);
- }
-
- public interface NestedScrollingParent2 extends androidx.core.view.NestedScrollingParent {
- method public void onNestedPreScroll(android.view.View, int, int, int[], int);
- method public void onNestedScroll(android.view.View, int, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int, int);
- method public boolean onStartNestedScroll(android.view.View, android.view.View, int, int);
- method public void onStopNestedScroll(android.view.View, int);
- }
-
- public interface NestedScrollingParent3 extends androidx.core.view.NestedScrollingParent2 {
- method public void onNestedScroll(android.view.View, int, int, int, int, int, int[]);
- }
-
- public class NestedScrollingParentHelper {
- ctor public NestedScrollingParentHelper(android.view.ViewGroup);
- method public int getNestedScrollAxes();
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int, int);
- method public void onStopNestedScroll(android.view.View);
- method public void onStopNestedScroll(android.view.View, int);
- }
-
- public interface OnApplyWindowInsetsListener {
- method public androidx.core.view.WindowInsetsCompat! onApplyWindowInsets(android.view.View!, androidx.core.view.WindowInsetsCompat!);
- }
-
- public final class OneShotPreDrawListener implements android.view.View.OnAttachStateChangeListener android.view.ViewTreeObserver.OnPreDrawListener {
- method public static androidx.core.view.OneShotPreDrawListener add(android.view.View, Runnable);
- method public boolean onPreDraw();
- method public void onViewAttachedToWindow(android.view.View!);
- method public void onViewDetachedFromWindow(android.view.View!);
- method public void removeListener();
- }
-
- public final class PointerIconCompat {
- method public static androidx.core.view.PointerIconCompat! create(android.graphics.Bitmap!, float, float);
- method public static androidx.core.view.PointerIconCompat! getSystemIcon(android.content.Context!, int);
- method public static androidx.core.view.PointerIconCompat! load(android.content.res.Resources!, int);
- field public static final int TYPE_ALIAS = 1010; // 0x3f2
- field public static final int TYPE_ALL_SCROLL = 1013; // 0x3f5
- field public static final int TYPE_ARROW = 1000; // 0x3e8
- field public static final int TYPE_CELL = 1006; // 0x3ee
- field public static final int TYPE_CONTEXT_MENU = 1001; // 0x3e9
- field public static final int TYPE_COPY = 1011; // 0x3f3
- field public static final int TYPE_CROSSHAIR = 1007; // 0x3ef
- field public static final int TYPE_DEFAULT = 1000; // 0x3e8
- field public static final int TYPE_GRAB = 1020; // 0x3fc
- field public static final int TYPE_GRABBING = 1021; // 0x3fd
- field public static final int TYPE_HAND = 1002; // 0x3ea
- field public static final int TYPE_HELP = 1003; // 0x3eb
- field public static final int TYPE_HORIZONTAL_DOUBLE_ARROW = 1014; // 0x3f6
- field public static final int TYPE_NO_DROP = 1012; // 0x3f4
- field public static final int TYPE_NULL = 0; // 0x0
- field public static final int TYPE_TEXT = 1008; // 0x3f0
- field public static final int TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW = 1017; // 0x3f9
- field public static final int TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW = 1016; // 0x3f8
- field public static final int TYPE_VERTICAL_DOUBLE_ARROW = 1015; // 0x3f7
- field public static final int TYPE_VERTICAL_TEXT = 1009; // 0x3f1
- field public static final int TYPE_WAIT = 1004; // 0x3ec
- field public static final int TYPE_ZOOM_IN = 1018; // 0x3fa
- field public static final int TYPE_ZOOM_OUT = 1019; // 0x3fb
- }
-
- public final class ScaleGestureDetectorCompat {
- method @Deprecated public static boolean isQuickScaleEnabled(Object!);
- method public static boolean isQuickScaleEnabled(android.view.ScaleGestureDetector!);
- method @Deprecated public static void setQuickScaleEnabled(Object!, boolean);
- method public static void setQuickScaleEnabled(android.view.ScaleGestureDetector!, boolean);
- }
-
- public interface ScrollingView {
- method public int computeHorizontalScrollExtent();
- method public int computeHorizontalScrollOffset();
- method public int computeHorizontalScrollRange();
- method public int computeVerticalScrollExtent();
- method public int computeVerticalScrollOffset();
- method public int computeVerticalScrollRange();
- }
-
- public interface TintableBackgroundView {
- method public android.content.res.ColorStateList? getSupportBackgroundTintList();
- method public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
- method public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
- method public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
- }
-
- @Deprecated public final class VelocityTrackerCompat {
- method @Deprecated public static float getXVelocity(android.view.VelocityTracker!, int);
- method @Deprecated public static float getYVelocity(android.view.VelocityTracker!, int);
- }
-
- public class ViewCompat {
- ctor protected ViewCompat();
- method public static int addAccessibilityAction(android.view.View, CharSequence, androidx.core.view.accessibility.AccessibilityViewCommand);
- method public static void addKeyboardNavigationClusters(android.view.View, java.util.Collection<android.view.View!>, int);
- method public static void addOnUnhandledKeyEventListener(android.view.View, androidx.core.view.ViewCompat.OnUnhandledKeyEventListenerCompat);
- method public static androidx.core.view.ViewPropertyAnimatorCompat animate(android.view.View);
- method @Deprecated public static boolean canScrollHorizontally(android.view.View!, int);
- method @Deprecated public static boolean canScrollVertically(android.view.View!, int);
- method public static void cancelDragAndDrop(android.view.View);
- method @Deprecated public static int combineMeasuredStates(int, int);
- method public static androidx.core.view.WindowInsetsCompat computeSystemWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat, android.graphics.Rect);
- method public static androidx.core.view.WindowInsetsCompat dispatchApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat);
- method public static void dispatchFinishTemporaryDetach(android.view.View);
- method public static boolean dispatchNestedFling(android.view.View, float, float, boolean);
- method public static boolean dispatchNestedPreFling(android.view.View, float, float);
- method public static boolean dispatchNestedPreScroll(android.view.View, int, int, int[]?, int[]?);
- method public static boolean dispatchNestedPreScroll(android.view.View, int, int, int[]?, int[]?, int);
- method public static boolean dispatchNestedScroll(android.view.View, int, int, int, int, int[]?);
- method public static void dispatchNestedScroll(android.view.View, int, int, int, int, int[]?, int, int[]);
- method public static boolean dispatchNestedScroll(android.view.View, int, int, int, int, int[]?, int);
- method public static void dispatchStartTemporaryDetach(android.view.View);
- method public static void enableAccessibleClickableSpanSupport(android.view.View!);
- method public static int generateViewId();
- method public static androidx.core.view.AccessibilityDelegateCompat? getAccessibilityDelegate(android.view.View);
- method public static int getAccessibilityLiveRegion(android.view.View);
- method public static androidx.core.view.accessibility.AccessibilityNodeProviderCompat! getAccessibilityNodeProvider(android.view.View);
- method @UiThread public static CharSequence! getAccessibilityPaneTitle(android.view.View!);
- method @Deprecated public static float getAlpha(android.view.View!);
- method public static android.content.res.ColorStateList! getBackgroundTintList(android.view.View);
- method public static android.graphics.PorterDuff.Mode! getBackgroundTintMode(android.view.View);
- method public static android.graphics.Rect? getClipBounds(android.view.View);
- method public static android.view.Display? getDisplay(android.view.View);
- method public static float getElevation(android.view.View);
- method public static boolean getFitsSystemWindows(android.view.View);
- method public static int getImportantForAccessibility(android.view.View);
- method public static int getImportantForAutofill(android.view.View);
- method public static int getLabelFor(android.view.View);
- method @Deprecated public static int getLayerType(android.view.View!);
- method public static int getLayoutDirection(android.view.View);
- method @Deprecated public static android.graphics.Matrix? getMatrix(android.view.View!);
- method @Deprecated public static int getMeasuredHeightAndState(android.view.View!);
- method @Deprecated public static int getMeasuredState(android.view.View!);
- method @Deprecated public static int getMeasuredWidthAndState(android.view.View!);
- method public static int getMinimumHeight(android.view.View);
- method public static int getMinimumWidth(android.view.View);
- method public static int getNextClusterForwardId(android.view.View);
- method @Deprecated public static int getOverScrollMode(android.view.View!);
- method @Px public static int getPaddingEnd(android.view.View);
- method @Px public static int getPaddingStart(android.view.View);
- method public static android.view.ViewParent! getParentForAccessibility(android.view.View);
- method @Deprecated public static float getPivotX(android.view.View!);
- method @Deprecated public static float getPivotY(android.view.View!);
- method public static androidx.core.view.WindowInsetsCompat? getRootWindowInsets(android.view.View);
- method @Deprecated public static float getRotation(android.view.View!);
- method @Deprecated public static float getRotationX(android.view.View!);
- method @Deprecated public static float getRotationY(android.view.View!);
- method @Deprecated public static float getScaleX(android.view.View!);
- method @Deprecated public static float getScaleY(android.view.View!);
- method public static int getScrollIndicators(android.view.View);
- method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
- method public static String? getTransitionName(android.view.View);
- method @Deprecated public static float getTranslationX(android.view.View!);
- method @Deprecated public static float getTranslationY(android.view.View!);
- method public static float getTranslationZ(android.view.View);
- method public static int getWindowSystemUiVisibility(android.view.View);
- method @Deprecated public static float getX(android.view.View!);
- method @Deprecated public static float getY(android.view.View!);
- method public static float getZ(android.view.View);
- method public static boolean hasAccessibilityDelegate(android.view.View);
- method public static boolean hasExplicitFocusable(android.view.View);
- method public static boolean hasNestedScrollingParent(android.view.View);
- method public static boolean hasNestedScrollingParent(android.view.View, int);
- method public static boolean hasOnClickListeners(android.view.View);
- method public static boolean hasOverlappingRendering(android.view.View);
- method public static boolean hasTransientState(android.view.View);
- method @UiThread public static boolean isAccessibilityHeading(android.view.View!);
- method public static boolean isAttachedToWindow(android.view.View);
- method public static boolean isFocusedByDefault(android.view.View);
- method public static boolean isImportantForAccessibility(android.view.View);
- method public static boolean isImportantForAutofill(android.view.View);
- method public static boolean isInLayout(android.view.View);
- method public static boolean isKeyboardNavigationCluster(android.view.View);
- method public static boolean isLaidOut(android.view.View);
- method public static boolean isLayoutDirectionResolved(android.view.View);
- method public static boolean isNestedScrollingEnabled(android.view.View);
- method @Deprecated public static boolean isOpaque(android.view.View!);
- method public static boolean isPaddingRelative(android.view.View);
- method @UiThread public static boolean isScreenReaderFocusable(android.view.View!);
- method @Deprecated public static void jumpDrawablesToCurrentState(android.view.View!);
- method public static android.view.View! keyboardNavigationClusterSearch(android.view.View, android.view.View!, int);
- method public static void offsetLeftAndRight(android.view.View, int);
- method public static void offsetTopAndBottom(android.view.View, int);
- method public static androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat);
- method @Deprecated public static void onInitializeAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public static void onInitializeAccessibilityNodeInfo(android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat!);
- method @Deprecated public static void onPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public static boolean performAccessibilityAction(android.view.View, int, android.os.Bundle!);
- method public static void postInvalidateOnAnimation(android.view.View);
- method public static void postInvalidateOnAnimation(android.view.View, int, int, int, int);
- method public static void postOnAnimation(android.view.View, Runnable!);
- method public static void postOnAnimationDelayed(android.view.View, Runnable!, long);
- method public static void removeAccessibilityAction(android.view.View, int);
- method public static void removeOnUnhandledKeyEventListener(android.view.View, androidx.core.view.ViewCompat.OnUnhandledKeyEventListenerCompat);
- method public static void replaceAccessibilityAction(android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat, CharSequence?, androidx.core.view.accessibility.AccessibilityViewCommand?);
- method public static void requestApplyInsets(android.view.View);
- method public static <T extends android.view.View> T requireViewById(android.view.View, @IdRes int);
- method @Deprecated public static int resolveSizeAndState(int, int, int);
- method public static boolean restoreDefaultFocus(android.view.View);
- method public static void saveAttributeDataForStyleable(android.view.View, android.content.Context, int[], android.util.AttributeSet?, android.content.res.TypedArray, int, int);
- method public static void setAccessibilityDelegate(android.view.View, androidx.core.view.AccessibilityDelegateCompat!);
- method @UiThread public static void setAccessibilityHeading(android.view.View!, boolean);
- method public static void setAccessibilityLiveRegion(android.view.View, int);
- method @UiThread public static void setAccessibilityPaneTitle(android.view.View!, CharSequence!);
- method @Deprecated public static void setActivated(android.view.View!, boolean);
- method @Deprecated public static void setAlpha(android.view.View!, @FloatRange(from=0.0, to=1.0) float);
- method public static void setAutofillHints(android.view.View, java.lang.String!...);
- method public static void setBackground(android.view.View, android.graphics.drawable.Drawable?);
- method public static void setBackgroundTintList(android.view.View, android.content.res.ColorStateList!);
- method public static void setBackgroundTintMode(android.view.View, android.graphics.PorterDuff.Mode!);
- method @Deprecated public static void setChildrenDrawingOrderEnabled(android.view.ViewGroup!, boolean);
- method public static void setClipBounds(android.view.View, android.graphics.Rect!);
- method public static void setElevation(android.view.View, float);
- method @Deprecated public static void setFitsSystemWindows(android.view.View!, boolean);
- method public static void setFocusedByDefault(android.view.View, boolean);
- method public static void setHasTransientState(android.view.View, boolean);
- method public static void setImportantForAccessibility(android.view.View, int);
- method public static void setImportantForAutofill(android.view.View, int);
- method public static void setKeyboardNavigationCluster(android.view.View, boolean);
- method public static void setLabelFor(android.view.View, @IdRes int);
- method public static void setLayerPaint(android.view.View, android.graphics.Paint!);
- method @Deprecated public static void setLayerType(android.view.View!, int, android.graphics.Paint!);
- method public static void setLayoutDirection(android.view.View, int);
- method public static void setNestedScrollingEnabled(android.view.View, boolean);
- method public static void setNextClusterForwardId(android.view.View, int);
- method public static void setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener?);
- method @Deprecated public static void setOverScrollMode(android.view.View!, int);
- method public static void setPaddingRelative(android.view.View, @Px int, @Px int, @Px int, @Px int);
- method @Deprecated public static void setPivotX(android.view.View!, float);
- method @Deprecated public static void setPivotY(android.view.View!, float);
- method public static void setPointerIcon(android.view.View, androidx.core.view.PointerIconCompat!);
- method @Deprecated public static void setRotation(android.view.View!, float);
- method @Deprecated public static void setRotationX(android.view.View!, float);
- method @Deprecated public static void setRotationY(android.view.View!, float);
- method @Deprecated public static void setSaveFromParentEnabled(android.view.View!, boolean);
- method @Deprecated public static void setScaleX(android.view.View!, float);
- method @Deprecated public static void setScaleY(android.view.View!, float);
- method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
- method public static void setScrollIndicators(android.view.View, int);
- method public static void setScrollIndicators(android.view.View, int, int);
- method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
- method public static void setTooltipText(android.view.View, CharSequence?);
- method public static void setTransitionName(android.view.View, String!);
- method @Deprecated public static void setTranslationX(android.view.View!, float);
- method @Deprecated public static void setTranslationY(android.view.View!, float);
- method public static void setTranslationZ(android.view.View, float);
- method @Deprecated public static void setX(android.view.View!, float);
- method @Deprecated public static void setY(android.view.View!, float);
- method public static void setZ(android.view.View, float);
- method public static boolean startDragAndDrop(android.view.View, android.content.ClipData!, android.view.View.DragShadowBuilder!, Object!, int);
- method public static boolean startNestedScroll(android.view.View, int);
- method public static boolean startNestedScroll(android.view.View, int, int);
- method public static void stopNestedScroll(android.view.View);
- method public static void stopNestedScroll(android.view.View, int);
- method public static void updateDragShadow(android.view.View, android.view.View.DragShadowBuilder!);
- field public static final int ACCESSIBILITY_LIVE_REGION_ASSERTIVE = 2; // 0x2
- field public static final int ACCESSIBILITY_LIVE_REGION_NONE = 0; // 0x0
- field public static final int ACCESSIBILITY_LIVE_REGION_POLITE = 1; // 0x1
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_AUTO = 0; // 0x0
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_NO = 2; // 0x2
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS = 4; // 0x4
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_YES = 1; // 0x1
- field @Deprecated public static final int LAYER_TYPE_HARDWARE = 2; // 0x2
- field @Deprecated public static final int LAYER_TYPE_NONE = 0; // 0x0
- field @Deprecated public static final int LAYER_TYPE_SOFTWARE = 1; // 0x1
- field public static final int LAYOUT_DIRECTION_INHERIT = 2; // 0x2
- field public static final int LAYOUT_DIRECTION_LOCALE = 3; // 0x3
- field public static final int LAYOUT_DIRECTION_LTR = 0; // 0x0
- field public static final int LAYOUT_DIRECTION_RTL = 1; // 0x1
- field @Deprecated public static final int MEASURED_HEIGHT_STATE_SHIFT = 16; // 0x10
- field @Deprecated public static final int MEASURED_SIZE_MASK = 16777215; // 0xffffff
- field @Deprecated public static final int MEASURED_STATE_MASK = -16777216; // 0xff000000
- field @Deprecated public static final int MEASURED_STATE_TOO_SMALL = 16777216; // 0x1000000
- field @Deprecated public static final int OVER_SCROLL_ALWAYS = 0; // 0x0
- field @Deprecated public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1; // 0x1
- field @Deprecated public static final int OVER_SCROLL_NEVER = 2; // 0x2
- field public static final int SCROLL_AXIS_HORIZONTAL = 1; // 0x1
- field public static final int SCROLL_AXIS_NONE = 0; // 0x0
- field public static final int SCROLL_AXIS_VERTICAL = 2; // 0x2
- field public static final int SCROLL_INDICATOR_BOTTOM = 2; // 0x2
- field public static final int SCROLL_INDICATOR_END = 32; // 0x20
- field public static final int SCROLL_INDICATOR_LEFT = 4; // 0x4
- field public static final int SCROLL_INDICATOR_RIGHT = 8; // 0x8
- field public static final int SCROLL_INDICATOR_START = 16; // 0x10
- field public static final int SCROLL_INDICATOR_TOP = 1; // 0x1
- field public static final int TYPE_NON_TOUCH = 1; // 0x1
- field public static final int TYPE_TOUCH = 0; // 0x0
- }
-
- public static interface ViewCompat.OnUnhandledKeyEventListenerCompat {
- method public boolean onUnhandledKeyEvent(android.view.View!, android.view.KeyEvent!);
- }
-
- public final class ViewConfigurationCompat {
- method public static float getScaledHorizontalScrollFactor(android.view.ViewConfiguration, android.content.Context);
- method public static int getScaledHoverSlop(android.view.ViewConfiguration!);
- method @Deprecated public static int getScaledPagingTouchSlop(android.view.ViewConfiguration!);
- method public static float getScaledVerticalScrollFactor(android.view.ViewConfiguration, android.content.Context);
- method @Deprecated public static boolean hasPermanentMenuKey(android.view.ViewConfiguration!);
- method public static boolean shouldShowMenuShortcutsWhenKeyboardPresent(android.view.ViewConfiguration!, android.content.Context);
- }
-
- public final class ViewGroupCompat {
- method public static int getLayoutMode(android.view.ViewGroup);
- method public static int getNestedScrollAxes(android.view.ViewGroup);
- method public static boolean isTransitionGroup(android.view.ViewGroup);
- method @Deprecated public static boolean onRequestSendAccessibilityEvent(android.view.ViewGroup!, android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public static void setLayoutMode(android.view.ViewGroup, int);
- method @Deprecated public static void setMotionEventSplittingEnabled(android.view.ViewGroup!, boolean);
- method public static void setTransitionGroup(android.view.ViewGroup, boolean);
- field public static final int LAYOUT_MODE_CLIP_BOUNDS = 0; // 0x0
- field public static final int LAYOUT_MODE_OPTICAL_BOUNDS = 1; // 0x1
- }
-
- public final class ViewParentCompat {
- method public static void notifySubtreeAccessibilityStateChanged(android.view.ViewParent!, android.view.View!, android.view.View!, int);
- method public static boolean onNestedFling(android.view.ViewParent!, android.view.View!, float, float, boolean);
- method public static boolean onNestedPreFling(android.view.ViewParent!, android.view.View!, float, float);
- method public static void onNestedPreScroll(android.view.ViewParent!, android.view.View!, int, int, int[]!);
- method public static void onNestedPreScroll(android.view.ViewParent!, android.view.View!, int, int, int[]!, int);
- method public static void onNestedScroll(android.view.ViewParent!, android.view.View!, int, int, int, int);
- method public static void onNestedScroll(android.view.ViewParent!, android.view.View!, int, int, int, int, int);
- method public static void onNestedScroll(android.view.ViewParent!, android.view.View!, int, int, int, int, int, int[]);
- method public static void onNestedScrollAccepted(android.view.ViewParent!, android.view.View!, android.view.View!, int);
- method public static void onNestedScrollAccepted(android.view.ViewParent!, android.view.View!, android.view.View!, int, int);
- method public static boolean onStartNestedScroll(android.view.ViewParent!, android.view.View!, android.view.View!, int);
- method public static boolean onStartNestedScroll(android.view.ViewParent!, android.view.View!, android.view.View!, int, int);
- method public static void onStopNestedScroll(android.view.ViewParent!, android.view.View!);
- method public static void onStopNestedScroll(android.view.ViewParent!, android.view.View!, int);
- method @Deprecated public static boolean requestSendAccessibilityEvent(android.view.ViewParent!, android.view.View!, android.view.accessibility.AccessibilityEvent!);
- }
-
- public final class ViewPropertyAnimatorCompat {
- method public androidx.core.view.ViewPropertyAnimatorCompat! alpha(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! alphaBy(float);
- method public void cancel();
- method public long getDuration();
- method public android.view.animation.Interpolator! getInterpolator();
- method public long getStartDelay();
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotation(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationX(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationXBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationY(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationYBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleX(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleXBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleY(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleYBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setDuration(long);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setInterpolator(android.view.animation.Interpolator!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setListener(androidx.core.view.ViewPropertyAnimatorListener!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setStartDelay(long);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setUpdateListener(androidx.core.view.ViewPropertyAnimatorUpdateListener!);
- method public void start();
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationX(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationXBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationY(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationYBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationZ(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationZBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! withEndAction(Runnable!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! withLayer();
- method public androidx.core.view.ViewPropertyAnimatorCompat! withStartAction(Runnable!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! x(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! xBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! y(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! yBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! z(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! zBy(float);
- }
-
- public interface ViewPropertyAnimatorListener {
- method public void onAnimationCancel(android.view.View!);
- method public void onAnimationEnd(android.view.View!);
- method public void onAnimationStart(android.view.View!);
- }
-
- public class ViewPropertyAnimatorListenerAdapter implements androidx.core.view.ViewPropertyAnimatorListener {
- ctor public ViewPropertyAnimatorListenerAdapter();
- method public void onAnimationCancel(android.view.View!);
- method public void onAnimationEnd(android.view.View!);
- method public void onAnimationStart(android.view.View!);
- }
-
- public interface ViewPropertyAnimatorUpdateListener {
- method public void onAnimationUpdate(android.view.View!);
- }
-
- public final class WindowCompat {
- method public static <T extends android.view.View> T requireViewById(android.view.Window, @IdRes int);
- field public static final int FEATURE_ACTION_BAR = 8; // 0x8
- field public static final int FEATURE_ACTION_BAR_OVERLAY = 9; // 0x9
- field public static final int FEATURE_ACTION_MODE_OVERLAY = 10; // 0xa
- }
-
- public class WindowInsetsCompat {
- ctor public WindowInsetsCompat(androidx.core.view.WindowInsetsCompat?);
- method public androidx.core.view.WindowInsetsCompat consumeDisplayCutout();
- method public androidx.core.view.WindowInsetsCompat consumeStableInsets();
- method public androidx.core.view.WindowInsetsCompat consumeSystemWindowInsets();
- method public androidx.core.view.DisplayCutoutCompat? getDisplayCutout();
- method public androidx.core.graphics.Insets getMandatorySystemGestureInsets();
- method public int getStableInsetBottom();
- method public int getStableInsetLeft();
- method public int getStableInsetRight();
- method public int getStableInsetTop();
- method public androidx.core.graphics.Insets getStableInsets();
- method public androidx.core.graphics.Insets getSystemGestureInsets();
- method public int getSystemWindowInsetBottom();
- method public int getSystemWindowInsetLeft();
- method public int getSystemWindowInsetRight();
- method public int getSystemWindowInsetTop();
- method public androidx.core.graphics.Insets getSystemWindowInsets();
- method public androidx.core.graphics.Insets getTappableElementInsets();
- method public boolean hasInsets();
- method public boolean hasStableInsets();
- method public boolean hasSystemWindowInsets();
- method public androidx.core.view.WindowInsetsCompat inset(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat inset(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
- method public boolean isConsumed();
- method public boolean isRound();
- method @Deprecated public androidx.core.view.WindowInsetsCompat replaceSystemWindowInsets(int, int, int, int);
- method @Deprecated public androidx.core.view.WindowInsetsCompat replaceSystemWindowInsets(android.graphics.Rect);
- method @RequiresApi(20) public android.view.WindowInsets? toWindowInsets();
- method @RequiresApi(20) public static androidx.core.view.WindowInsetsCompat toWindowInsetsCompat(android.view.WindowInsets);
- }
-
- public static final class WindowInsetsCompat.Builder {
- ctor public WindowInsetsCompat.Builder();
- ctor public WindowInsetsCompat.Builder(androidx.core.view.WindowInsetsCompat);
- method public androidx.core.view.WindowInsetsCompat build();
- method public androidx.core.view.WindowInsetsCompat.Builder setDisplayCutout(androidx.core.view.DisplayCutoutCompat?);
- method public androidx.core.view.WindowInsetsCompat.Builder setMandatorySystemGestureInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setStableInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setSystemGestureInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setSystemWindowInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setTappableElementInsets(androidx.core.graphics.Insets);
- }
-
-}
-
-package androidx.core.view.accessibility {
-
- public final class AccessibilityClickableSpanCompat extends android.text.style.ClickableSpan {
- method public void onClick(android.view.View);
- }
-
- public final class AccessibilityEventCompat {
- method @Deprecated public static void appendRecord(android.view.accessibility.AccessibilityEvent!, androidx.core.view.accessibility.AccessibilityRecordCompat!);
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! asRecord(android.view.accessibility.AccessibilityEvent!);
- method public static int getAction(android.view.accessibility.AccessibilityEvent!);
- method public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
- method public static int getMovementGranularity(android.view.accessibility.AccessibilityEvent!);
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! getRecord(android.view.accessibility.AccessibilityEvent!, int);
- method @Deprecated public static int getRecordCount(android.view.accessibility.AccessibilityEvent!);
- method public static void setAction(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setMovementGranularity(android.view.accessibility.AccessibilityEvent!, int);
- field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
- field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
- field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
- field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
- field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
- field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
- field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
- field public static final int TYPES_ALL_MASK = -1; // 0xffffffff
- field public static final int TYPE_ANNOUNCEMENT = 16384; // 0x4000
- field public static final int TYPE_ASSIST_READING_CONTEXT = 16777216; // 0x1000000
- field public static final int TYPE_GESTURE_DETECTION_END = 524288; // 0x80000
- field public static final int TYPE_GESTURE_DETECTION_START = 262144; // 0x40000
- field @Deprecated public static final int TYPE_TOUCH_EXPLORATION_GESTURE_END = 1024; // 0x400
- field @Deprecated public static final int TYPE_TOUCH_EXPLORATION_GESTURE_START = 512; // 0x200
- field public static final int TYPE_TOUCH_INTERACTION_END = 2097152; // 0x200000
- field public static final int TYPE_TOUCH_INTERACTION_START = 1048576; // 0x100000
- field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUSED = 32768; // 0x8000
- field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED = 65536; // 0x10000
- field public static final int TYPE_VIEW_CONTEXT_CLICKED = 8388608; // 0x800000
- field @Deprecated public static final int TYPE_VIEW_HOVER_ENTER = 128; // 0x80
- field @Deprecated public static final int TYPE_VIEW_HOVER_EXIT = 256; // 0x100
- field @Deprecated public static final int TYPE_VIEW_SCROLLED = 4096; // 0x1000
- field @Deprecated public static final int TYPE_VIEW_TEXT_SELECTION_CHANGED = 8192; // 0x2000
- field public static final int TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY = 131072; // 0x20000
- field public static final int TYPE_WINDOWS_CHANGED = 4194304; // 0x400000
- field @Deprecated public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
- }
-
- public final class AccessibilityManagerCompat {
- method @Deprecated public static boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
- method public static boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
- method @Deprecated public static java.util.List<android.accessibilityservice.AccessibilityServiceInfo!>! getEnabledAccessibilityServiceList(android.view.accessibility.AccessibilityManager!, int);
- method @Deprecated public static java.util.List<android.accessibilityservice.AccessibilityServiceInfo!>! getInstalledAccessibilityServiceList(android.view.accessibility.AccessibilityManager!);
- method @Deprecated public static boolean isTouchExplorationEnabled(android.view.accessibility.AccessibilityManager!);
- method @Deprecated public static boolean removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
- method public static boolean removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
- }
-
- @Deprecated public static interface AccessibilityManagerCompat.AccessibilityStateChangeListener {
- method @Deprecated public void onAccessibilityStateChanged(boolean);
- }
-
- @Deprecated public abstract static class AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat implements androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener {
- ctor @Deprecated public AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat();
- }
-
- public static interface AccessibilityManagerCompat.TouchExplorationStateChangeListener {
- method public void onTouchExplorationStateChanged(boolean);
- }
-
- public class AccessibilityNodeInfoCompat {
- ctor @Deprecated public AccessibilityNodeInfoCompat(Object!);
- method public void addAction(int);
- method public void addAction(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat!);
- method public void addChild(android.view.View!);
- method public void addChild(android.view.View!, int);
- method public boolean canOpenPopup();
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat!>! findAccessibilityNodeInfosByText(String!);
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat!>! findAccessibilityNodeInfosByViewId(String!);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! findFocus(int);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! focusSearch(int);
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat!>! getActionList();
- method public int getActions();
- method @Deprecated public void getBoundsInParent(android.graphics.Rect!);
- method public void getBoundsInScreen(android.graphics.Rect!);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getChild(int);
- method public int getChildCount();
- method public CharSequence! getClassName();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat! getCollectionInfo();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat! getCollectionItemInfo();
- method public CharSequence! getContentDescription();
- method public int getDrawingOrder();
- method public CharSequence! getError();
- method public android.os.Bundle! getExtras();
- method public CharSequence? getHintText();
- method @Deprecated public Object! getInfo();
- method public int getInputType();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getLabelFor();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getLabeledBy();
- method public int getLiveRegion();
- method public int getMaxTextLength();
- method public int getMovementGranularities();
- method public CharSequence! getPackageName();
- method public CharSequence? getPaneTitle();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
- method public CharSequence? getRoleDescription();
- method public CharSequence! getText();
- method public int getTextSelectionEnd();
- method public int getTextSelectionStart();
- method public CharSequence? getTooltipText();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.TouchDelegateInfoCompat? getTouchDelegateInfo();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getTraversalAfter();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getTraversalBefore();
- method public String! getViewIdResourceName();
- method public androidx.core.view.accessibility.AccessibilityWindowInfoCompat! getWindow();
- method public int getWindowId();
- method public boolean isAccessibilityFocused();
- method public boolean isCheckable();
- method public boolean isChecked();
- method public boolean isClickable();
- method public boolean isContentInvalid();
- method public boolean isContextClickable();
- method public boolean isDismissable();
- method public boolean isEditable();
- method public boolean isEnabled();
- method public boolean isFocusable();
- method public boolean isFocused();
- method public boolean isHeading();
- method public boolean isImportantForAccessibility();
- method public boolean isLongClickable();
- method public boolean isMultiLine();
- method public boolean isPassword();
- method public boolean isScreenReaderFocusable();
- method public boolean isScrollable();
- method public boolean isSelected();
- method public boolean isShowingHintText();
- method public boolean isTextEntryKey();
- method public boolean isVisibleToUser();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain(android.view.View!);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain(android.view.View!, int);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain(androidx.core.view.accessibility.AccessibilityNodeInfoCompat!);
- method public boolean performAction(int);
- method public boolean performAction(int, android.os.Bundle!);
- method public void recycle();
- method public boolean refresh();
- method public boolean removeAction(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat!);
- method public boolean removeChild(android.view.View!);
- method public boolean removeChild(android.view.View!, int);
- method public void setAccessibilityFocused(boolean);
- method @Deprecated public void setBoundsInParent(android.graphics.Rect!);
- method public void setBoundsInScreen(android.graphics.Rect!);
- method public void setCanOpenPopup(boolean);
- method public void setCheckable(boolean);
- method public void setChecked(boolean);
- method public void setClassName(CharSequence!);
- method public void setClickable(boolean);
- method public void setCollectionInfo(Object!);
- method public void setCollectionItemInfo(Object!);
- method public void setContentDescription(CharSequence!);
- method public void setContentInvalid(boolean);
- method public void setContextClickable(boolean);
- method public void setDismissable(boolean);
- method public void setDrawingOrder(int);
- method public void setEditable(boolean);
- method public void setEnabled(boolean);
- method public void setError(CharSequence!);
- method public void setFocusable(boolean);
- method public void setFocused(boolean);
- method public void setHeading(boolean);
- method public void setHintText(CharSequence?);
- method public void setImportantForAccessibility(boolean);
- method public void setInputType(int);
- method public void setLabelFor(android.view.View!);
- method public void setLabelFor(android.view.View!, int);
- method public void setLabeledBy(android.view.View!);
- method public void setLabeledBy(android.view.View!, int);
- method public void setLiveRegion(int);
- method public void setLongClickable(boolean);
- method public void setMaxTextLength(int);
- method public void setMovementGranularities(int);
- method public void setMultiLine(boolean);
- method public void setPackageName(CharSequence!);
- method public void setPaneTitle(CharSequence?);
- method public void setParent(android.view.View!);
- method public void setParent(android.view.View!, int);
- method public void setPassword(boolean);
- method public void setRangeInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat!);
- method public void setRoleDescription(CharSequence?);
- method public void setScreenReaderFocusable(boolean);
- method public void setScrollable(boolean);
- method public void setSelected(boolean);
- method public void setShowingHintText(boolean);
- method public void setSource(android.view.View!);
- method public void setSource(android.view.View!, int);
- method public void setText(CharSequence!);
- method public void setTextEntryKey(boolean);
- method public void setTextSelection(int, int);
- method public void setTooltipText(CharSequence?);
- method public void setTouchDelegateInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.TouchDelegateInfoCompat);
- method public void setTraversalAfter(android.view.View!);
- method public void setTraversalAfter(android.view.View!, int);
- method public void setTraversalBefore(android.view.View!);
- method public void setTraversalBefore(android.view.View!, int);
- method public void setViewIdResourceName(String!);
- method public void setVisibleToUser(boolean);
- method public android.view.accessibility.AccessibilityNodeInfo! unwrap();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! wrap(android.view.accessibility.AccessibilityNodeInfo);
- field public static final int ACTION_ACCESSIBILITY_FOCUS = 64; // 0x40
- field public static final String ACTION_ARGUMENT_COLUMN_INT = "android.view.accessibility.action.ARGUMENT_COLUMN_INT";
- field public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN = "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN";
- field public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = "ACTION_ARGUMENT_HTML_ELEMENT_STRING";
- field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
- field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
- field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
- field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
- field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
- field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
- field public static final String ACTION_ARGUMENT_SELECTION_START_INT = "ACTION_ARGUMENT_SELECTION_START_INT";
- field public static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE = "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE";
- field public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 128; // 0x80
- field public static final int ACTION_CLEAR_FOCUS = 2; // 0x2
- field public static final int ACTION_CLEAR_SELECTION = 8; // 0x8
- field public static final int ACTION_CLICK = 16; // 0x10
- field public static final int ACTION_COLLAPSE = 524288; // 0x80000
- field public static final int ACTION_COPY = 16384; // 0x4000
- field public static final int ACTION_CUT = 65536; // 0x10000
- field public static final int ACTION_DISMISS = 1048576; // 0x100000
- field public static final int ACTION_EXPAND = 262144; // 0x40000
- field public static final int ACTION_FOCUS = 1; // 0x1
- field public static final int ACTION_LONG_CLICK = 32; // 0x20
- field public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 256; // 0x100
- field public static final int ACTION_NEXT_HTML_ELEMENT = 1024; // 0x400
- field public static final int ACTION_PASTE = 32768; // 0x8000
- field public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 512; // 0x200
- field public static final int ACTION_PREVIOUS_HTML_ELEMENT = 2048; // 0x800
- field public static final int ACTION_SCROLL_BACKWARD = 8192; // 0x2000
- field public static final int ACTION_SCROLL_FORWARD = 4096; // 0x1000
- field public static final int ACTION_SELECT = 4; // 0x4
- field public static final int ACTION_SET_SELECTION = 131072; // 0x20000
- field public static final int ACTION_SET_TEXT = 2097152; // 0x200000
- field public static final int FOCUS_ACCESSIBILITY = 2; // 0x2
- field public static final int FOCUS_INPUT = 1; // 0x1
- field public static final int MOVEMENT_GRANULARITY_CHARACTER = 1; // 0x1
- field public static final int MOVEMENT_GRANULARITY_LINE = 4; // 0x4
- field public static final int MOVEMENT_GRANULARITY_PAGE = 16; // 0x10
- field public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 8; // 0x8
- field public static final int MOVEMENT_GRANULARITY_WORD = 2; // 0x2
- }
-
- public static class AccessibilityNodeInfoCompat.AccessibilityActionCompat {
- ctor public AccessibilityNodeInfoCompat.AccessibilityActionCompat(int, CharSequence!);
- method public int getId();
- method public CharSequence! getLabel();
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_ACCESSIBILITY_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLEAR_ACCESSIBILITY_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLEAR_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLEAR_SELECTION;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLICK;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_COLLAPSE;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CONTEXT_CLICK;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_COPY;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CUT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_DISMISS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_EXPAND;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_HIDE_TOOLTIP;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_LONG_CLICK;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_MOVE_WINDOW;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_NEXT_AT_MOVEMENT_GRANULARITY;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_NEXT_HTML_ELEMENT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_DOWN;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_LEFT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_DOWN;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_FORWARD;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_LEFT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_RIGHT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_TO_POSITION;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_UP;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SELECT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SET_PROGRESS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SET_SELECTION;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SET_TEXT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SHOW_ON_SCREEN;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SHOW_TOOLTIP;
- }
-
- public static class AccessibilityNodeInfoCompat.CollectionInfoCompat {
- method public int getColumnCount();
- method public int getRowCount();
- method public int getSelectionMode();
- method public boolean isHierarchical();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat! obtain(int, int, boolean, int);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat! obtain(int, int, boolean);
- field public static final int SELECTION_MODE_MULTIPLE = 2; // 0x2
- field public static final int SELECTION_MODE_NONE = 0; // 0x0
- field public static final int SELECTION_MODE_SINGLE = 1; // 0x1
- }
-
- public static class AccessibilityNodeInfoCompat.CollectionItemInfoCompat {
- method public int getColumnIndex();
- method public int getColumnSpan();
- method public int getRowIndex();
- method public int getRowSpan();
- method @Deprecated public boolean isHeading();
- method public boolean isSelected();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat! obtain(int, int, int, int, boolean, boolean);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat! obtain(int, int, int, int, boolean);
- }
-
- public static class AccessibilityNodeInfoCompat.RangeInfoCompat {
- method public float getCurrent();
- method public float getMax();
- method public float getMin();
- method public int getType();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! obtain(int, float, float, float);
- field public static final int RANGE_TYPE_FLOAT = 1; // 0x1
- field public static final int RANGE_TYPE_INT = 0; // 0x0
- field public static final int RANGE_TYPE_PERCENT = 2; // 0x2
- }
-
- public static final class AccessibilityNodeInfoCompat.TouchDelegateInfoCompat {
- ctor public AccessibilityNodeInfoCompat.TouchDelegateInfoCompat(java.util.Map<android.graphics.Region!,android.view.View!>);
- method public android.graphics.Region? getRegionAt(@IntRange(from=0) int);
- method @IntRange(from=0) public int getRegionCount();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat? getTargetForRegion(android.graphics.Region);
- }
-
- public class AccessibilityNodeProviderCompat {
- ctor public AccessibilityNodeProviderCompat();
- ctor public AccessibilityNodeProviderCompat(Object!);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat? createAccessibilityNodeInfo(int);
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat!>? findAccessibilityNodeInfosByText(String!, int);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat? findFocus(int);
- method public Object! getProvider();
- method public boolean performAction(int, int, android.os.Bundle!);
- field public static final int HOST_VIEW_ID = -1; // 0xffffffff
- }
-
- public class AccessibilityRecordCompat {
- ctor @Deprecated public AccessibilityRecordCompat(Object!);
- method @Deprecated public boolean equals(Object?);
- method @Deprecated public int getAddedCount();
- method @Deprecated public CharSequence! getBeforeText();
- method @Deprecated public CharSequence! getClassName();
- method @Deprecated public CharSequence! getContentDescription();
- method @Deprecated public int getCurrentItemIndex();
- method @Deprecated public int getFromIndex();
- method @Deprecated public Object! getImpl();
- method @Deprecated public int getItemCount();
- method @Deprecated public int getMaxScrollX();
- method public static int getMaxScrollX(android.view.accessibility.AccessibilityRecord!);
- method @Deprecated public int getMaxScrollY();
- method public static int getMaxScrollY(android.view.accessibility.AccessibilityRecord!);
- method @Deprecated public android.os.Parcelable! getParcelableData();
- method @Deprecated public int getRemovedCount();
- method @Deprecated public int getScrollX();
- method @Deprecated public int getScrollY();
- method @Deprecated public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getSource();
- method @Deprecated public java.util.List<java.lang.CharSequence!>! getText();
- method @Deprecated public int getToIndex();
- method @Deprecated public int getWindowId();
- method @Deprecated public int hashCode();
- method @Deprecated public boolean isChecked();
- method @Deprecated public boolean isEnabled();
- method @Deprecated public boolean isFullScreen();
- method @Deprecated public boolean isPassword();
- method @Deprecated public boolean isScrollable();
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! obtain(androidx.core.view.accessibility.AccessibilityRecordCompat!);
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! obtain();
- method @Deprecated public void recycle();
- method @Deprecated public void setAddedCount(int);
- method @Deprecated public void setBeforeText(CharSequence!);
- method @Deprecated public void setChecked(boolean);
- method @Deprecated public void setClassName(CharSequence!);
- method @Deprecated public void setContentDescription(CharSequence!);
- method @Deprecated public void setCurrentItemIndex(int);
- method @Deprecated public void setEnabled(boolean);
- method @Deprecated public void setFromIndex(int);
- method @Deprecated public void setFullScreen(boolean);
- method @Deprecated public void setItemCount(int);
- method @Deprecated public void setMaxScrollX(int);
- method public static void setMaxScrollX(android.view.accessibility.AccessibilityRecord!, int);
- method @Deprecated public void setMaxScrollY(int);
- method public static void setMaxScrollY(android.view.accessibility.AccessibilityRecord!, int);
- method @Deprecated public void setParcelableData(android.os.Parcelable!);
- method @Deprecated public void setPassword(boolean);
- method @Deprecated public void setRemovedCount(int);
- method @Deprecated public void setScrollX(int);
- method @Deprecated public void setScrollY(int);
- method @Deprecated public void setScrollable(boolean);
- method @Deprecated public void setSource(android.view.View!);
- method @Deprecated public void setSource(android.view.View!, int);
- method public static void setSource(android.view.accessibility.AccessibilityRecord, android.view.View!, int);
- method @Deprecated public void setToIndex(int);
- }
-
- public interface AccessibilityViewCommand {
- method public boolean perform(android.view.View, androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments?);
- }
-
- public abstract static class AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.CommandArguments();
- }
-
- public static final class AccessibilityViewCommand.MoveAtGranularityArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.MoveAtGranularityArguments();
- method public boolean getExtendSelection();
- method public int getGranularity();
- }
-
- public static final class AccessibilityViewCommand.MoveHtmlArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.MoveHtmlArguments();
- method public String! getHTMLElement();
- }
-
- public static final class AccessibilityViewCommand.MoveWindowArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.MoveWindowArguments();
- method public int getX();
- method public int getY();
- }
-
- public static final class AccessibilityViewCommand.ScrollToPositionArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.ScrollToPositionArguments();
- method public int getColumn();
- method public int getRow();
- }
-
- public static final class AccessibilityViewCommand.SetProgressArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.SetProgressArguments();
- method public float getProgress();
- }
-
- public static final class AccessibilityViewCommand.SetSelectionArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.SetSelectionArguments();
- method public int getEnd();
- method public int getStart();
- }
-
- public static final class AccessibilityViewCommand.SetTextArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.SetTextArguments();
- method public CharSequence! getText();
- }
-
- public class AccessibilityWindowInfoCompat {
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getAnchor();
- method public void getBoundsInScreen(android.graphics.Rect!);
- method public androidx.core.view.accessibility.AccessibilityWindowInfoCompat! getChild(int);
- method public int getChildCount();
- method public int getId();
- method public int getLayer();
- method public androidx.core.view.accessibility.AccessibilityWindowInfoCompat! getParent();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getRoot();
- method public CharSequence! getTitle();
- method public int getType();
- method public boolean isAccessibilityFocused();
- method public boolean isActive();
- method public boolean isFocused();
- method public static androidx.core.view.accessibility.AccessibilityWindowInfoCompat! obtain();
- method public static androidx.core.view.accessibility.AccessibilityWindowInfoCompat! obtain(androidx.core.view.accessibility.AccessibilityWindowInfoCompat!);
- method public void recycle();
- field public static final int TYPE_ACCESSIBILITY_OVERLAY = 4; // 0x4
- field public static final int TYPE_APPLICATION = 1; // 0x1
- field public static final int TYPE_INPUT_METHOD = 2; // 0x2
- field public static final int TYPE_SPLIT_SCREEN_DIVIDER = 5; // 0x5
- field public static final int TYPE_SYSTEM = 3; // 0x3
- }
-
-}
-
-package androidx.core.view.animation {
-
- public final class PathInterpolatorCompat {
- method public static android.view.animation.Interpolator! create(android.graphics.Path!);
- method public static android.view.animation.Interpolator! create(float, float);
- method public static android.view.animation.Interpolator! create(float, float, float, float);
- }
-
-}
-
-package androidx.core.view.inputmethod {
-
- public final class EditorInfoCompat {
- ctor @Deprecated public EditorInfoCompat();
- method public static String![] getContentMimeTypes(android.view.inputmethod.EditorInfo!);
- method public static void setContentMimeTypes(android.view.inputmethod.EditorInfo, String![]?);
- field public static final int IME_FLAG_FORCE_ASCII = -2147483648; // 0x80000000
- field public static final int IME_FLAG_NO_PERSONALIZED_LEARNING = 16777216; // 0x1000000
- }
-
- public final class InputConnectionCompat {
- ctor @Deprecated public InputConnectionCompat();
- method public static boolean commitContent(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo, androidx.core.view.inputmethod.InputContentInfoCompat, int, android.os.Bundle?);
- method public static android.view.inputmethod.InputConnection createWrapper(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo, androidx.core.view.inputmethod.InputConnectionCompat.OnCommitContentListener);
- field public static final int INPUT_CONTENT_GRANT_READ_URI_PERMISSION = 1; // 0x1
- }
-
- public static interface InputConnectionCompat.OnCommitContentListener {
- method public boolean onCommitContent(androidx.core.view.inputmethod.InputContentInfoCompat!, int, android.os.Bundle!);
- }
-
- public final class InputContentInfoCompat {
- ctor public InputContentInfoCompat(android.net.Uri, android.content.ClipDescription, android.net.Uri?);
- method public android.net.Uri getContentUri();
- method public android.content.ClipDescription getDescription();
- method public android.net.Uri? getLinkUri();
- method public void releasePermission();
- method public void requestPermission();
- method public Object? unwrap();
- method public static androidx.core.view.inputmethod.InputContentInfoCompat? wrap(Object?);
- }
-
-}
-
-package androidx.core.widget {
-
- public abstract class AutoScrollHelper implements android.view.View.OnTouchListener {
- ctor public AutoScrollHelper(android.view.View);
- method public abstract boolean canTargetScrollHorizontally(int);
- method public abstract boolean canTargetScrollVertically(int);
- method public boolean isEnabled();
- method public boolean isExclusive();
- method public boolean onTouch(android.view.View!, android.view.MotionEvent!);
- method public abstract void scrollTargetBy(int, int);
- method public androidx.core.widget.AutoScrollHelper setActivationDelay(int);
- method public androidx.core.widget.AutoScrollHelper setEdgeType(int);
- method public androidx.core.widget.AutoScrollHelper! setEnabled(boolean);
- method public androidx.core.widget.AutoScrollHelper! setExclusive(boolean);
- method public androidx.core.widget.AutoScrollHelper setMaximumEdges(float, float);
- method public androidx.core.widget.AutoScrollHelper setMaximumVelocity(float, float);
- method public androidx.core.widget.AutoScrollHelper setMinimumVelocity(float, float);
- method public androidx.core.widget.AutoScrollHelper setRampDownDuration(int);
- method public androidx.core.widget.AutoScrollHelper setRampUpDuration(int);
- method public androidx.core.widget.AutoScrollHelper setRelativeEdges(float, float);
- method public androidx.core.widget.AutoScrollHelper setRelativeVelocity(float, float);
- field public static final int EDGE_TYPE_INSIDE = 0; // 0x0
- field public static final int EDGE_TYPE_INSIDE_EXTEND = 1; // 0x1
- field public static final int EDGE_TYPE_OUTSIDE = 2; // 0x2
- field public static final float NO_MAX = 3.4028235E38f;
- field public static final float NO_MIN = 0.0f;
- field public static final float RELATIVE_UNSPECIFIED = 0.0f;
- }
-
- public final class CompoundButtonCompat {
- method public static android.graphics.drawable.Drawable? getButtonDrawable(android.widget.CompoundButton);
- method public static android.content.res.ColorStateList? getButtonTintList(android.widget.CompoundButton);
- method public static android.graphics.PorterDuff.Mode? getButtonTintMode(android.widget.CompoundButton);
- method public static void setButtonTintList(android.widget.CompoundButton, android.content.res.ColorStateList?);
- method public static void setButtonTintMode(android.widget.CompoundButton, android.graphics.PorterDuff.Mode?);
- }
-
- public class ContentLoadingProgressBar extends android.widget.ProgressBar {
- ctor public ContentLoadingProgressBar(android.content.Context);
- ctor public ContentLoadingProgressBar(android.content.Context, android.util.AttributeSet?);
- method public void hide();
- method public void onAttachedToWindow();
- method public void onDetachedFromWindow();
- method public void show();
- }
-
- public final class EdgeEffectCompat {
- ctor @Deprecated public EdgeEffectCompat(android.content.Context!);
- method @Deprecated public boolean draw(android.graphics.Canvas!);
- method @Deprecated public void finish();
- method @Deprecated public boolean isFinished();
- method @Deprecated public boolean onAbsorb(int);
- method @Deprecated public boolean onPull(float);
- method @Deprecated public boolean onPull(float, float);
- method public static void onPull(android.widget.EdgeEffect, float, float);
- method @Deprecated public boolean onRelease();
- method @Deprecated public void setSize(int, int);
- }
-
- public class ImageViewCompat {
- method public static android.content.res.ColorStateList? getImageTintList(android.widget.ImageView);
- method public static android.graphics.PorterDuff.Mode? getImageTintMode(android.widget.ImageView);
- method public static void setImageTintList(android.widget.ImageView, android.content.res.ColorStateList?);
- method public static void setImageTintMode(android.widget.ImageView, android.graphics.PorterDuff.Mode?);
- }
-
- public final class ListPopupWindowCompat {
- method @Deprecated public static android.view.View.OnTouchListener! createDragToOpenListener(Object!, android.view.View!);
- method public static android.view.View.OnTouchListener? createDragToOpenListener(android.widget.ListPopupWindow, android.view.View);
- }
-
- public class ListViewAutoScrollHelper extends androidx.core.widget.AutoScrollHelper {
- ctor public ListViewAutoScrollHelper(android.widget.ListView);
- method public boolean canTargetScrollHorizontally(int);
- method public boolean canTargetScrollVertically(int);
- method public void scrollTargetBy(int, int);
- }
-
- public final class ListViewCompat {
- method public static boolean canScrollList(android.widget.ListView, int);
- method public static void scrollListBy(android.widget.ListView, int);
- }
-
- public class NestedScrollView extends android.widget.FrameLayout implements androidx.core.view.NestedScrollingChild3 androidx.core.view.NestedScrollingParent3 androidx.core.view.ScrollingView {
- ctor public NestedScrollView(android.content.Context);
- ctor public NestedScrollView(android.content.Context, android.util.AttributeSet?);
- ctor public NestedScrollView(android.content.Context, android.util.AttributeSet?, int);
- method public boolean arrowScroll(int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeHorizontalScrollExtent();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeHorizontalScrollOffset();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeHorizontalScrollRange();
- method protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeVerticalScrollExtent();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeVerticalScrollOffset();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeVerticalScrollRange();
- method public boolean dispatchNestedPreScroll(int, int, int[]!, int[]!, int);
- method public void dispatchNestedScroll(int, int, int, int, int[]?, int, int[]);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]!, int);
- method public boolean executeKeyEvent(android.view.KeyEvent);
- method public void fling(int);
- method public boolean fullScroll(int);
- method public int getMaxScrollAmount();
- method public boolean hasNestedScrollingParent(int);
- method public boolean isFillViewport();
- method public boolean isSmoothScrollingEnabled();
- method public void onAttachedToWindow();
- method public void onNestedPreScroll(android.view.View, int, int, int[], int);
- method public void onNestedScroll(android.view.View, int, int, int, int, int, int[]);
- method public void onNestedScroll(android.view.View, int, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int, int);
- method public boolean onStartNestedScroll(android.view.View, android.view.View, int, int);
- method public void onStopNestedScroll(android.view.View, int);
- method public boolean pageScroll(int);
- method public void setFillViewport(boolean);
- method public void setOnScrollChangeListener(androidx.core.widget.NestedScrollView.OnScrollChangeListener?);
- method public void setSmoothScrollingEnabled(boolean);
- method public final void smoothScrollBy(int, int);
- method public final void smoothScrollBy(int, int, int);
- method public final void smoothScrollTo(int, int);
- method public final void smoothScrollTo(int, int, int);
- method public boolean startNestedScroll(int, int);
- method public void stopNestedScroll(int);
- }
-
- public static interface NestedScrollView.OnScrollChangeListener {
- method public void onScrollChange(androidx.core.widget.NestedScrollView!, int, int, int, int);
- }
-
- public final class PopupMenuCompat {
- method public static android.view.View.OnTouchListener? getDragToOpenListener(Object);
- }
-
- public final class PopupWindowCompat {
- method public static boolean getOverlapAnchor(android.widget.PopupWindow);
- method public static int getWindowLayoutType(android.widget.PopupWindow);
- method public static void setOverlapAnchor(android.widget.PopupWindow, boolean);
- method public static void setWindowLayoutType(android.widget.PopupWindow, int);
- method public static void showAsDropDown(android.widget.PopupWindow, android.view.View, int, int, int);
- }
-
- @Deprecated public final class ScrollerCompat {
- method @Deprecated public void abortAnimation();
- method @Deprecated public boolean computeScrollOffset();
- method @Deprecated public static androidx.core.widget.ScrollerCompat! create(android.content.Context!);
- method @Deprecated public static androidx.core.widget.ScrollerCompat! create(android.content.Context!, android.view.animation.Interpolator!);
- method @Deprecated public void fling(int, int, int, int, int, int, int, int);
- method @Deprecated public void fling(int, int, int, int, int, int, int, int, int, int);
- method @Deprecated public float getCurrVelocity();
- method @Deprecated public int getCurrX();
- method @Deprecated public int getCurrY();
- method @Deprecated public int getFinalX();
- method @Deprecated public int getFinalY();
- method @Deprecated public boolean isFinished();
- method @Deprecated public boolean isOverScrolled();
- method @Deprecated public void notifyHorizontalEdgeReached(int, int, int);
- method @Deprecated public void notifyVerticalEdgeReached(int, int, int);
- method @Deprecated public boolean springBack(int, int, int, int, int, int);
- method @Deprecated public void startScroll(int, int, int, int);
- method @Deprecated public void startScroll(int, int, int, int, int);
- }
-
- public final class TextViewCompat {
- method public static int getAutoSizeMaxTextSize(android.widget.TextView);
- method public static int getAutoSizeMinTextSize(android.widget.TextView);
- method public static int getAutoSizeStepGranularity(android.widget.TextView);
- method public static int[] getAutoSizeTextAvailableSizes(android.widget.TextView);
- method public static int getAutoSizeTextType(android.widget.TextView);
- method public static android.content.res.ColorStateList? getCompoundDrawableTintList(android.widget.TextView);
- method public static android.graphics.PorterDuff.Mode? getCompoundDrawableTintMode(android.widget.TextView);
- method public static android.graphics.drawable.Drawable![] getCompoundDrawablesRelative(android.widget.TextView);
- method public static int getFirstBaselineToTopHeight(android.widget.TextView);
- method public static int getLastBaselineToBottomHeight(android.widget.TextView);
- method public static int getMaxLines(android.widget.TextView);
- method public static int getMinLines(android.widget.TextView);
- method public static androidx.core.text.PrecomputedTextCompat.Params getTextMetricsParams(android.widget.TextView);
- method public static void setAutoSizeTextTypeUniformWithConfiguration(android.widget.TextView, int, int, int, int) throws java.lang.IllegalArgumentException;
- method public static void setAutoSizeTextTypeUniformWithPresetSizes(android.widget.TextView, int[], int) throws java.lang.IllegalArgumentException;
- method public static void setAutoSizeTextTypeWithDefaults(android.widget.TextView, int);
- method public static void setCompoundDrawableTintList(android.widget.TextView, android.content.res.ColorStateList?);
- method public static void setCompoundDrawableTintMode(android.widget.TextView, android.graphics.PorterDuff.Mode?);
- method public static void setCompoundDrawablesRelative(android.widget.TextView, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?);
- method public static void setCompoundDrawablesRelativeWithIntrinsicBounds(android.widget.TextView, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?);
- method public static void setCompoundDrawablesRelativeWithIntrinsicBounds(android.widget.TextView, @DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
- method public static void setCustomSelectionActionModeCallback(android.widget.TextView, android.view.ActionMode.Callback);
- method public static void setFirstBaselineToTopHeight(android.widget.TextView, @IntRange(from=0) @Px int);
- method public static void setLastBaselineToBottomHeight(android.widget.TextView, @IntRange(from=0) @Px int);
- method public static void setLineHeight(android.widget.TextView, @IntRange(from=0) @Px int);
- method public static void setPrecomputedText(android.widget.TextView, androidx.core.text.PrecomputedTextCompat);
- method public static void setTextAppearance(android.widget.TextView, @StyleRes int);
- method public static void setTextMetricsParams(android.widget.TextView, androidx.core.text.PrecomputedTextCompat.Params);
- field public static final int AUTO_SIZE_TEXT_TYPE_NONE = 0; // 0x0
- field public static final int AUTO_SIZE_TEXT_TYPE_UNIFORM = 1; // 0x1
- }
-
- public interface TintableCompoundButton {
- method public android.content.res.ColorStateList? getSupportButtonTintList();
- method public android.graphics.PorterDuff.Mode? getSupportButtonTintMode();
- method public void setSupportButtonTintList(android.content.res.ColorStateList?);
- method public void setSupportButtonTintMode(android.graphics.PorterDuff.Mode?);
- }
-
- public interface TintableCompoundDrawablesView {
- method public android.content.res.ColorStateList? getSupportCompoundDrawablesTintList();
- method public android.graphics.PorterDuff.Mode? getSupportCompoundDrawablesTintMode();
- method public void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList?);
- method public void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff.Mode?);
- }
-
-}
-
diff --git a/core/core/api/public_plus_experimental_1.4.0-alpha01.txt b/core/core/api/public_plus_experimental_1.4.0-alpha01.txt
index bd9c3f4..9de5c08 100644
--- a/core/core/api/public_plus_experimental_1.4.0-alpha01.txt
+++ b/core/core/api/public_plus_experimental_1.4.0-alpha01.txt
@@ -397,7 +397,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method public android.os.Bundle! getExtras();
@@ -441,6 +442,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -874,7 +876,9 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+ field public static final String EXTRA_EPOCH_TIME = "android.intent.extra.EPOCH_TIME";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
}
@@ -932,13 +936,25 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public androidx.core.content.LocusIdCompat? getLocusId();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -949,6 +965,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -965,14 +982,27 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
+ method public static int getIconMaxHeight(android.content.Context);
+ method public static int getIconMaxWidth(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, int);
+ method public static boolean isRateLimitingActive(android.content.Context);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void reportShortcutUsed(android.content.Context, String);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
+ method public static boolean setDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
}
}
@@ -1263,8 +1293,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1349,6 +1414,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -1712,11 +1782,13 @@
public final class DisplayCutoutCompat {
ctor public DisplayCutoutCompat(android.graphics.Rect!, java.util.List<android.graphics.Rect!>!);
+ ctor public DisplayCutoutCompat(androidx.core.graphics.Insets, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, androidx.core.graphics.Insets);
method public java.util.List<android.graphics.Rect!>! getBoundingRects();
method public int getSafeInsetBottom();
method public int getSafeInsetLeft();
method public int getSafeInsetRight();
method public int getSafeInsetTop();
+ method public androidx.core.graphics.Insets? getWaterfallInsets();
}
public final class DragAndDropPermissionsCompat {
@@ -2117,6 +2189,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2207,6 +2280,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, int);
method public static void setScrollIndicators(android.view.View, int, int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2430,6 +2504,7 @@
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2513,6 +2588,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2602,6 +2678,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -2622,6 +2699,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -2683,6 +2761,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/public_plus_experimental_current.txt b/core/core/api/public_plus_experimental_current.txt
index bd9c3f4..9de5c08 100644
--- a/core/core/api/public_plus_experimental_current.txt
+++ b/core/core/api/public_plus_experimental_current.txt
@@ -397,7 +397,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method public android.os.Bundle! getExtras();
@@ -441,6 +442,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -874,7 +876,9 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+ field public static final String EXTRA_EPOCH_TIME = "android.intent.extra.EPOCH_TIME";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
}
@@ -932,13 +936,25 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public androidx.core.content.LocusIdCompat? getLocusId();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -949,6 +965,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -965,14 +982,27 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
+ method public static int getIconMaxHeight(android.content.Context);
+ method public static int getIconMaxWidth(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, int);
+ method public static boolean isRateLimitingActive(android.content.Context);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void reportShortcutUsed(android.content.Context, String);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
+ method public static boolean setDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
}
}
@@ -1263,8 +1293,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1349,6 +1414,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -1712,11 +1782,13 @@
public final class DisplayCutoutCompat {
ctor public DisplayCutoutCompat(android.graphics.Rect!, java.util.List<android.graphics.Rect!>!);
+ ctor public DisplayCutoutCompat(androidx.core.graphics.Insets, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, androidx.core.graphics.Insets);
method public java.util.List<android.graphics.Rect!>! getBoundingRects();
method public int getSafeInsetBottom();
method public int getSafeInsetLeft();
method public int getSafeInsetRight();
method public int getSafeInsetTop();
+ method public androidx.core.graphics.Insets? getWaterfallInsets();
}
public final class DragAndDropPermissionsCompat {
@@ -2117,6 +2189,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2207,6 +2280,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, int);
method public static void setScrollIndicators(android.view.View, int, int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2430,6 +2504,7 @@
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2513,6 +2588,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2602,6 +2678,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -2622,6 +2699,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -2683,6 +2761,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/res-1.3.0-rc01.txt b/core/core/api/res-1.3.0-rc01.txt
deleted file mode 100644
index a609e0a..0000000
--- a/core/core/api/res-1.3.0-rc01.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-attr alpha
-attr font
-attr fontProviderAuthority
-attr fontProviderCerts
-attr fontProviderFetchStrategy
-attr fontProviderFetchTimeout
-attr fontProviderPackage
-attr fontProviderQuery
-attr fontStyle
-attr fontVariationSettings
-attr fontWeight
-attr ttcIndex
-style TextAppearance_Compat_Notification
-style TextAppearance_Compat_Notification_Info
-style TextAppearance_Compat_Notification_Line2
-style TextAppearance_Compat_Notification_Time
-style TextAppearance_Compat_Notification_Title
diff --git a/core/core/api/restricted_1.3.0-alpha01.txt b/core/core/api/restricted_1.3.0-alpha01.txt
index 733507d..2e03a24 100644
--- a/core/core/api/restricted_1.3.0-alpha01.txt
+++ b/core/core/api/restricted_1.3.0-alpha01.txt
@@ -494,6 +494,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -967,9 +968,11 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
+ field public static final String EXTRA_TIME = "android.intent.extra.TIME";
}
public final class MimeTypeFilter {
@@ -1548,8 +1551,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1637,6 +1675,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2473,6 +2516,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2563,6 +2607,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int);
method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int, @androidx.core.view.ViewCompat.ScrollIndicators int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2793,17 +2838,18 @@
method @Deprecated public static void appendRecord(android.view.accessibility.AccessibilityEvent!, androidx.core.view.accessibility.AccessibilityRecordCompat!);
method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! asRecord(android.view.accessibility.AccessibilityEvent!);
method public static int getAction(android.view.accessibility.AccessibilityEvent!);
- method public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
+ method @androidx.core.view.accessibility.AccessibilityEventCompat.ContentChangeType public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
method public static int getMovementGranularity(android.view.accessibility.AccessibilityEvent!);
method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! getRecord(android.view.accessibility.AccessibilityEvent!, int);
method @Deprecated public static int getRecordCount(android.view.accessibility.AccessibilityEvent!);
method public static void setAction(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, int);
+ method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, @androidx.core.view.accessibility.AccessibilityEventCompat.ContentChangeType int);
method public static void setMovementGranularity(android.view.accessibility.AccessibilityEvent!, int);
field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2828,6 +2874,9 @@
field @Deprecated public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
}
+ @IntDef(flag=true, value={androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_SUBTREE, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_TEXT, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_UNDEFINED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface AccessibilityEventCompat.ContentChangeType {
+ }
+
public final class AccessibilityManagerCompat {
method @Deprecated public static boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
method public static boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
@@ -2889,6 +2938,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2978,6 +3028,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
diff --git a/core/core/api/restricted_1.3.0-alpha02.txt b/core/core/api/restricted_1.3.0-alpha02.txt
index aae1774..3cf65d0 100644
--- a/core/core/api/restricted_1.3.0-alpha02.txt
+++ b/core/core/api/restricted_1.3.0-alpha02.txt
@@ -444,7 +444,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! getBigContentView();
@@ -494,6 +495,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -511,6 +513,7 @@
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.ArrayList<androidx.core.app.NotificationCompat.Action!>! mActions;
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.Context! mContext;
field @Deprecated public java.util.ArrayList<java.lang.String!>! mPeople;
+ field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.ArrayList<androidx.core.app.Person!> mPersonList;
}
public static final class NotificationCompat.CarExtender implements androidx.core.app.NotificationCompat.Extender {
@@ -733,6 +736,7 @@
method public String? getUri();
method public boolean isBot();
method public boolean isImportant();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String resolveToLegacyUri();
method @RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.app.Person toAndroidPerson();
method public androidx.core.app.Person.Builder toBuilder();
method public android.os.Bundle toBundle();
@@ -967,9 +971,11 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
+ field public static final String EXTRA_TIME = "android.intent.extra.TIME";
}
public final class MimeTypeFilter {
@@ -1021,13 +1027,25 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.core.graphics.drawable.IconCompat! getIcon();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -1040,6 +1058,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -1063,14 +1082,25 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, @androidx.core.content.pm.ShortcutManagerCompat.ShortcutMatchFlags int);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
+ }
+
+ @IntDef(flag=true, value={androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_MANIFEST, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_DYNAMIC, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_PINNED, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_CACHED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ShortcutManagerCompat.ShortcutMatchFlags {
}
}
@@ -1548,8 +1578,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1637,6 +1702,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2481,6 +2551,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2571,6 +2642,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int);
method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int, @androidx.core.view.ViewCompat.ScrollIndicators int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2801,17 +2873,18 @@
method @Deprecated public static void appendRecord(android.view.accessibility.AccessibilityEvent!, androidx.core.view.accessibility.AccessibilityRecordCompat!);
method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! asRecord(android.view.accessibility.AccessibilityEvent!);
method public static int getAction(android.view.accessibility.AccessibilityEvent!);
- method public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
+ method @androidx.core.view.accessibility.AccessibilityEventCompat.ContentChangeType public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
method public static int getMovementGranularity(android.view.accessibility.AccessibilityEvent!);
method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! getRecord(android.view.accessibility.AccessibilityEvent!, int);
method @Deprecated public static int getRecordCount(android.view.accessibility.AccessibilityEvent!);
method public static void setAction(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, int);
+ method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, @androidx.core.view.accessibility.AccessibilityEventCompat.ContentChangeType int);
method public static void setMovementGranularity(android.view.accessibility.AccessibilityEvent!, int);
field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2836,6 +2909,9 @@
field @Deprecated public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
}
+ @IntDef(flag=true, value={androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_SUBTREE, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_TEXT, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_UNDEFINED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface AccessibilityEventCompat.ContentChangeType {
+ }
+
public final class AccessibilityManagerCompat {
method @Deprecated public static boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
method public static boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
@@ -2897,6 +2973,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2986,6 +3063,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -3006,6 +3084,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -3071,6 +3150,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/restricted_1.3.0-alpha03.txt b/core/core/api/restricted_1.3.0-alpha03.txt
index 4a44ea0..e977717 100644
--- a/core/core/api/restricted_1.3.0-alpha03.txt
+++ b/core/core/api/restricted_1.3.0-alpha03.txt
@@ -444,7 +444,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! getBigContentView();
@@ -494,6 +495,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -511,6 +513,7 @@
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.ArrayList<androidx.core.app.NotificationCompat.Action!>! mActions;
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.Context! mContext;
field @Deprecated public java.util.ArrayList<java.lang.String!>! mPeople;
+ field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.ArrayList<androidx.core.app.Person!> mPersonList;
}
public static final class NotificationCompat.CarExtender implements androidx.core.app.NotificationCompat.Extender {
@@ -733,6 +736,7 @@
method public String? getUri();
method public boolean isBot();
method public boolean isImportant();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String resolveToLegacyUri();
method @RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.app.Person toAndroidPerson();
method public androidx.core.app.Person.Builder toBuilder();
method public android.os.Bundle toBundle();
@@ -967,7 +971,9 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+ field public static final String EXTRA_EPOCH_TIME = "android.intent.extra.EPOCH_TIME";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
}
@@ -1021,13 +1027,25 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.core.graphics.drawable.IconCompat! getIcon();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -1040,6 +1058,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -1063,14 +1082,25 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, @androidx.core.content.pm.ShortcutManagerCompat.ShortcutMatchFlags int);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
+ }
+
+ @IntDef(flag=true, value={androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_MANIFEST, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_DYNAMIC, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_PINNED, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_CACHED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ShortcutManagerCompat.ShortcutMatchFlags {
}
}
@@ -1400,6 +1430,7 @@
method public String getResPackage();
method public int getType();
method public android.net.Uri getUri();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public java.io.InputStream? getUriInputStream(android.content.Context);
method public android.graphics.drawable.Drawable? loadDrawable(android.content.Context);
method public androidx.core.graphics.drawable.IconCompat! setTint(@ColorInt int);
method public androidx.core.graphics.drawable.IconCompat! setTintList(android.content.res.ColorStateList!);
@@ -1548,8 +1579,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1637,6 +1703,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2482,6 +2553,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2572,6 +2644,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int);
method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int, @androidx.core.view.ViewCompat.ScrollIndicators int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2804,17 +2877,18 @@
method @Deprecated public static void appendRecord(android.view.accessibility.AccessibilityEvent!, androidx.core.view.accessibility.AccessibilityRecordCompat!);
method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! asRecord(android.view.accessibility.AccessibilityEvent!);
method public static int getAction(android.view.accessibility.AccessibilityEvent!);
- method public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
+ method @androidx.core.view.accessibility.AccessibilityEventCompat.ContentChangeType public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
method public static int getMovementGranularity(android.view.accessibility.AccessibilityEvent!);
method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! getRecord(android.view.accessibility.AccessibilityEvent!, int);
method @Deprecated public static int getRecordCount(android.view.accessibility.AccessibilityEvent!);
method public static void setAction(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, int);
+ method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, @androidx.core.view.accessibility.AccessibilityEventCompat.ContentChangeType int);
method public static void setMovementGranularity(android.view.accessibility.AccessibilityEvent!, int);
field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2839,6 +2913,9 @@
field @Deprecated public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
}
+ @IntDef(flag=true, value={androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_SUBTREE, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_TEXT, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_UNDEFINED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface AccessibilityEventCompat.ContentChangeType {
+ }
+
public final class AccessibilityManagerCompat {
method @Deprecated public static boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
method public static boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
@@ -2900,6 +2977,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -2989,6 +3067,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -3009,6 +3088,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -3074,6 +3154,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/restricted_1.3.0-rc01.txt b/core/core/api/restricted_1.3.0-rc01.txt
deleted file mode 100644
index 935828e..0000000
--- a/core/core/api/restricted_1.3.0-rc01.txt
+++ /dev/null
@@ -1,3556 +0,0 @@
-// Signature format: 3.0
-package android.support.v4.os {
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ResultReceiver implements android.os.Parcelable {
- ctor public ResultReceiver(android.os.Handler!);
- method public int describeContents();
- method protected void onReceiveResult(int, android.os.Bundle!);
- method public void send(int, android.os.Bundle!);
- method public void writeToParcel(android.os.Parcel!, int);
- field public static final android.os.Parcelable.Creator<android.support.v4.os.ResultReceiver!>! CREATOR;
- }
-
-}
-
-package androidx.core.accessibilityservice {
-
- public final class AccessibilityServiceInfoCompat {
- method public static String capabilityToString(int);
- method public static String feedbackTypeToString(int);
- method public static String? flagToString(int);
- method public static int getCapabilities(android.accessibilityservice.AccessibilityServiceInfo);
- method public static String? loadDescription(android.accessibilityservice.AccessibilityServiceInfo, android.content.pm.PackageManager);
- field public static final int CAPABILITY_CAN_FILTER_KEY_EVENTS = 8; // 0x8
- field public static final int CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 4; // 0x4
- field public static final int CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION = 2; // 0x2
- field public static final int CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT = 1; // 0x1
- field public static final int FEEDBACK_ALL_MASK = -1; // 0xffffffff
- field public static final int FEEDBACK_BRAILLE = 32; // 0x20
- field public static final int FLAG_INCLUDE_NOT_IMPORTANT_VIEWS = 2; // 0x2
- field public static final int FLAG_REPORT_VIEW_IDS = 16; // 0x10
- field public static final int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 8; // 0x8
- field public static final int FLAG_REQUEST_FILTER_KEY_EVENTS = 32; // 0x20
- field public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE = 4; // 0x4
- }
-
-}
-
-package androidx.core.app {
-
- public class ActivityCompat extends androidx.core.content.ContextCompat {
- ctor protected ActivityCompat();
- method public static void finishAffinity(android.app.Activity);
- method public static void finishAfterTransition(android.app.Activity);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static androidx.core.app.ActivityCompat.PermissionCompatDelegate! getPermissionCompatDelegate();
- method public static android.net.Uri? getReferrer(android.app.Activity);
- method @Deprecated public static boolean invalidateOptionsMenu(android.app.Activity!);
- method public static void postponeEnterTransition(android.app.Activity);
- method public static void recreate(android.app.Activity);
- method public static androidx.core.view.DragAndDropPermissionsCompat? requestDragAndDropPermissions(android.app.Activity!, android.view.DragEvent!);
- method public static void requestPermissions(android.app.Activity, String![], @IntRange(from=0) int);
- method public static <T extends android.view.View> T requireViewById(android.app.Activity, @IdRes int);
- method public static void setEnterSharedElementCallback(android.app.Activity, androidx.core.app.SharedElementCallback?);
- method public static void setExitSharedElementCallback(android.app.Activity, androidx.core.app.SharedElementCallback?);
- method public static void setPermissionCompatDelegate(androidx.core.app.ActivityCompat.PermissionCompatDelegate?);
- method public static boolean shouldShowRequestPermissionRationale(android.app.Activity, String);
- method public static void startActivityForResult(android.app.Activity, android.content.Intent, int, android.os.Bundle?);
- method public static void startIntentSenderForResult(android.app.Activity, android.content.IntentSender, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
- method public static void startPostponedEnterTransition(android.app.Activity);
- }
-
- public static interface ActivityCompat.OnRequestPermissionsResultCallback {
- method public void onRequestPermissionsResult(int, String![], int[]);
- }
-
- public static interface ActivityCompat.PermissionCompatDelegate {
- method public boolean onActivityResult(android.app.Activity, @IntRange(from=0) int, int, android.content.Intent?);
- method public boolean requestPermissions(android.app.Activity, String![], @IntRange(from=0) int);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static interface ActivityCompat.RequestPermissionsRequestCodeValidator {
- method public void validateRequestPermissionsRequestCode(int);
- }
-
- public final class ActivityManagerCompat {
- method public static boolean isLowRamDevice(android.app.ActivityManager);
- }
-
- public class ActivityOptionsCompat {
- ctor protected ActivityOptionsCompat();
- method public android.graphics.Rect? getLaunchBounds();
- method public static androidx.core.app.ActivityOptionsCompat makeBasic();
- method public static androidx.core.app.ActivityOptionsCompat makeClipRevealAnimation(android.view.View, int, int, int, int);
- method public static androidx.core.app.ActivityOptionsCompat makeCustomAnimation(android.content.Context, int, int);
- method public static androidx.core.app.ActivityOptionsCompat makeScaleUpAnimation(android.view.View, int, int, int, int);
- method public static androidx.core.app.ActivityOptionsCompat makeSceneTransitionAnimation(android.app.Activity, android.view.View, String);
- method public static androidx.core.app.ActivityOptionsCompat makeSceneTransitionAnimation(android.app.Activity, androidx.core.util.Pair<android.view.View!,java.lang.String!>!...);
- method public static androidx.core.app.ActivityOptionsCompat makeTaskLaunchBehind();
- method public static androidx.core.app.ActivityOptionsCompat makeThumbnailScaleUpAnimation(android.view.View, android.graphics.Bitmap, int, int);
- method public void requestUsageTimeReport(android.app.PendingIntent);
- method public androidx.core.app.ActivityOptionsCompat setLaunchBounds(android.graphics.Rect?);
- method public android.os.Bundle? toBundle();
- method public void update(androidx.core.app.ActivityOptionsCompat);
- field public static final String EXTRA_USAGE_TIME_REPORT = "android.activity.usage_time";
- field public static final String EXTRA_USAGE_TIME_REPORT_PACKAGES = "android.usage_time_packages";
- }
-
- public final class AlarmManagerCompat {
- method public static void setAlarmClock(android.app.AlarmManager, long, android.app.PendingIntent, android.app.PendingIntent);
- method public static void setAndAllowWhileIdle(android.app.AlarmManager, int, long, android.app.PendingIntent);
- method public static void setExact(android.app.AlarmManager, int, long, android.app.PendingIntent);
- method public static void setExactAndAllowWhileIdle(android.app.AlarmManager, int, long, android.app.PendingIntent);
- }
-
- @RequiresApi(28) public class AppComponentFactory extends android.app.AppComponentFactory {
- ctor public AppComponentFactory();
- method public final android.app.Activity instantiateActivity(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.app.Activity instantiateActivityCompat(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.app.Application instantiateApplication(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.app.Application instantiateApplicationCompat(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.content.ContentProvider instantiateProvider(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.content.ContentProvider instantiateProviderCompat(ClassLoader, String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.content.BroadcastReceiver instantiateReceiver(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.content.BroadcastReceiver instantiateReceiverCompat(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public final android.app.Service instantiateService(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- method public android.app.Service instantiateServiceCompat(ClassLoader, String, android.content.Intent?) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
- }
-
- public class AppLaunchChecker {
- ctor @Deprecated public AppLaunchChecker();
- method public static boolean hasStartedFromLauncher(android.content.Context);
- method public static void onActivityCreate(android.app.Activity);
- }
-
- public final class AppOpsManagerCompat {
- method public static int noteOp(android.content.Context, String, int, String);
- method public static int noteOpNoThrow(android.content.Context, String, int, String);
- method public static int noteProxyOp(android.content.Context, String, String);
- method public static int noteProxyOpNoThrow(android.content.Context, String, String);
- method public static String? permissionToOp(String);
- field public static final int MODE_ALLOWED = 0; // 0x0
- field public static final int MODE_DEFAULT = 3; // 0x3
- field public static final int MODE_ERRORED = 2; // 0x2
- field public static final int MODE_IGNORED = 1; // 0x1
- }
-
- public final class BundleCompat {
- method public static android.os.IBinder? getBinder(android.os.Bundle, String?);
- method public static void putBinder(android.os.Bundle, String?, android.os.IBinder?);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ComponentActivity extends android.app.Activity implements androidx.core.view.KeyEventDispatcher.Component androidx.lifecycle.LifecycleOwner {
- ctor public ComponentActivity();
- method @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public <T extends androidx.core.app.ComponentActivity.ExtraData> T! getExtraData(Class<T!>!);
- method public androidx.lifecycle.Lifecycle getLifecycle();
- method @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void putExtraData(androidx.core.app.ComponentActivity.ExtraData!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean superDispatchKeyEvent(android.view.KeyEvent!);
- }
-
- @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static class ComponentActivity.ExtraData {
- ctor @Deprecated public ComponentActivity.ExtraData();
- }
-
- @RequiresApi(api=28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class CoreComponentFactory extends android.app.AppComponentFactory {
- ctor public CoreComponentFactory();
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static interface CoreComponentFactory.CompatWrapped {
- method public Object! getWrapper();
- }
-
- public class DialogCompat {
- method public static android.view.View requireViewById(android.app.Dialog, int);
- }
-
- public class FrameMetricsAggregator {
- ctor public FrameMetricsAggregator();
- ctor public FrameMetricsAggregator(@androidx.core.app.FrameMetricsAggregator.MetricType int);
- method public void add(android.app.Activity);
- method public android.util.SparseIntArray![]? getMetrics();
- method public android.util.SparseIntArray![]? remove(android.app.Activity);
- method public android.util.SparseIntArray![]? reset();
- method public android.util.SparseIntArray![]? stop();
- field public static final int ANIMATION_DURATION = 256; // 0x100
- field public static final int ANIMATION_INDEX = 8; // 0x8
- field public static final int COMMAND_DURATION = 32; // 0x20
- field public static final int COMMAND_INDEX = 5; // 0x5
- field public static final int DELAY_DURATION = 128; // 0x80
- field public static final int DELAY_INDEX = 7; // 0x7
- field public static final int DRAW_DURATION = 8; // 0x8
- field public static final int DRAW_INDEX = 3; // 0x3
- field public static final int EVERY_DURATION = 511; // 0x1ff
- field public static final int INPUT_DURATION = 2; // 0x2
- field public static final int INPUT_INDEX = 1; // 0x1
- field public static final int LAYOUT_MEASURE_DURATION = 4; // 0x4
- field public static final int LAYOUT_MEASURE_INDEX = 2; // 0x2
- field public static final int SWAP_DURATION = 64; // 0x40
- field public static final int SWAP_INDEX = 6; // 0x6
- field public static final int SYNC_DURATION = 16; // 0x10
- field public static final int SYNC_INDEX = 4; // 0x4
- field public static final int TOTAL_DURATION = 1; // 0x1
- field public static final int TOTAL_INDEX = 0; // 0x0
- }
-
- @IntDef(flag=true, value={androidx.core.app.FrameMetricsAggregator.TOTAL_DURATION, androidx.core.app.FrameMetricsAggregator.INPUT_DURATION, androidx.core.app.FrameMetricsAggregator.LAYOUT_MEASURE_DURATION, androidx.core.app.FrameMetricsAggregator.DRAW_DURATION, androidx.core.app.FrameMetricsAggregator.SYNC_DURATION, androidx.core.app.FrameMetricsAggregator.COMMAND_DURATION, androidx.core.app.FrameMetricsAggregator.SWAP_DURATION, androidx.core.app.FrameMetricsAggregator.DELAY_DURATION, androidx.core.app.FrameMetricsAggregator.ANIMATION_DURATION, androidx.core.app.FrameMetricsAggregator.EVERY_DURATION}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface FrameMetricsAggregator.MetricType {
- }
-
- public abstract class JobIntentService extends android.app.Service {
- ctor public JobIntentService();
- method public static void enqueueWork(android.content.Context, Class<?>, int, android.content.Intent);
- method public static void enqueueWork(android.content.Context, android.content.ComponentName, int, android.content.Intent);
- method public boolean isStopped();
- method public android.os.IBinder! onBind(android.content.Intent);
- method protected abstract void onHandleWork(android.content.Intent);
- method public boolean onStopCurrentWork();
- method public void setInterruptIfStopped(boolean);
- }
-
- public final class NavUtils {
- method public static android.content.Intent? getParentActivityIntent(android.app.Activity);
- method public static android.content.Intent? getParentActivityIntent(android.content.Context, Class<?>) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static android.content.Intent? getParentActivityIntent(android.content.Context, android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static String? getParentActivityName(android.app.Activity);
- method public static String? getParentActivityName(android.content.Context, android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
- method public static void navigateUpFromSameTask(android.app.Activity);
- method public static void navigateUpTo(android.app.Activity, android.content.Intent);
- method public static boolean shouldUpRecreateTask(android.app.Activity, android.content.Intent);
- field public static final String PARENT_ACTIVITY = "android.support.PARENT_ACTIVITY";
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface NotificationBuilderWithBuilderAccessor {
- method public android.app.Notification.Builder! getBuilder();
- }
-
- public class NotificationCompat {
- ctor @Deprecated public NotificationCompat();
- method public static androidx.core.app.NotificationCompat.Action! getAction(android.app.Notification!, int);
- method public static int getActionCount(android.app.Notification!);
- method public static boolean getAllowSystemGeneratedContextualActions(android.app.Notification!);
- method public static int getBadgeIconType(android.app.Notification!);
- method public static androidx.core.app.NotificationCompat.BubbleMetadata? getBubbleMetadata(android.app.Notification);
- method public static String! getCategory(android.app.Notification!);
- method public static String! getChannelId(android.app.Notification!);
- method @RequiresApi(19) public static CharSequence! getContentTitle(android.app.Notification!);
- method public static android.os.Bundle? getExtras(android.app.Notification!);
- method public static String! getGroup(android.app.Notification!);
- method @androidx.core.app.NotificationCompat.GroupAlertBehavior public static int getGroupAlertBehavior(android.app.Notification!);
- method @RequiresApi(21) public static java.util.List<androidx.core.app.NotificationCompat.Action!>! getInvisibleActions(android.app.Notification!);
- method public static boolean getLocalOnly(android.app.Notification!);
- method public static String! getShortcutId(android.app.Notification!);
- method public static String! getSortKey(android.app.Notification!);
- method public static long getTimeoutAfter(android.app.Notification!);
- method public static boolean isGroupSummary(android.app.Notification!);
- field public static final int BADGE_ICON_LARGE = 2; // 0x2
- field public static final int BADGE_ICON_NONE = 0; // 0x0
- field public static final int BADGE_ICON_SMALL = 1; // 0x1
- field public static final String CATEGORY_ALARM = "alarm";
- field public static final String CATEGORY_CALL = "call";
- field public static final String CATEGORY_EMAIL = "email";
- field public static final String CATEGORY_ERROR = "err";
- field public static final String CATEGORY_EVENT = "event";
- field public static final String CATEGORY_MESSAGE = "msg";
- field public static final String CATEGORY_NAVIGATION = "navigation";
- field public static final String CATEGORY_PROGRESS = "progress";
- field public static final String CATEGORY_PROMO = "promo";
- field public static final String CATEGORY_RECOMMENDATION = "recommendation";
- field public static final String CATEGORY_REMINDER = "reminder";
- field public static final String CATEGORY_SERVICE = "service";
- field public static final String CATEGORY_SOCIAL = "social";
- field public static final String CATEGORY_STATUS = "status";
- field public static final String CATEGORY_SYSTEM = "sys";
- field public static final String CATEGORY_TRANSPORT = "transport";
- field @ColorInt public static final int COLOR_DEFAULT = 0; // 0x0
- field public static final int DEFAULT_ALL = -1; // 0xffffffff
- field public static final int DEFAULT_LIGHTS = 4; // 0x4
- field public static final int DEFAULT_SOUND = 1; // 0x1
- field public static final int DEFAULT_VIBRATE = 2; // 0x2
- field public static final String EXTRA_AUDIO_CONTENTS_URI = "android.audioContents";
- field public static final String EXTRA_BACKGROUND_IMAGE_URI = "android.backgroundImageUri";
- field public static final String EXTRA_BIG_TEXT = "android.bigText";
- field public static final String EXTRA_CHRONOMETER_COUNT_DOWN = "android.chronometerCountDown";
- field public static final String EXTRA_COMPACT_ACTIONS = "android.compactActions";
- field public static final String EXTRA_CONVERSATION_TITLE = "android.conversationTitle";
- field public static final String EXTRA_HIDDEN_CONVERSATION_TITLE = "android.hiddenConversationTitle";
- field public static final String EXTRA_INFO_TEXT = "android.infoText";
- field public static final String EXTRA_IS_GROUP_CONVERSATION = "android.isGroupConversation";
- field public static final String EXTRA_LARGE_ICON = "android.largeIcon";
- field public static final String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
- field public static final String EXTRA_MEDIA_SESSION = "android.mediaSession";
- field public static final String EXTRA_MESSAGES = "android.messages";
- field public static final String EXTRA_MESSAGING_STYLE_USER = "android.messagingStyleUser";
- field public static final String EXTRA_PEOPLE = "android.people";
- field public static final String EXTRA_PICTURE = "android.picture";
- field public static final String EXTRA_PROGRESS = "android.progress";
- field public static final String EXTRA_PROGRESS_INDETERMINATE = "android.progressIndeterminate";
- field public static final String EXTRA_PROGRESS_MAX = "android.progressMax";
- field public static final String EXTRA_REMOTE_INPUT_HISTORY = "android.remoteInputHistory";
- field public static final String EXTRA_SELF_DISPLAY_NAME = "android.selfDisplayName";
- field public static final String EXTRA_SHOW_CHRONOMETER = "android.showChronometer";
- field public static final String EXTRA_SHOW_WHEN = "android.showWhen";
- field public static final String EXTRA_SMALL_ICON = "android.icon";
- field public static final String EXTRA_SUB_TEXT = "android.subText";
- field public static final String EXTRA_SUMMARY_TEXT = "android.summaryText";
- field public static final String EXTRA_TEMPLATE = "android.template";
- field public static final String EXTRA_TEXT = "android.text";
- field public static final String EXTRA_TEXT_LINES = "android.textLines";
- field public static final String EXTRA_TITLE = "android.title";
- field public static final String EXTRA_TITLE_BIG = "android.title.big";
- field public static final int FLAG_AUTO_CANCEL = 16; // 0x10
- field public static final int FLAG_BUBBLE = 4096; // 0x1000
- field public static final int FLAG_FOREGROUND_SERVICE = 64; // 0x40
- field public static final int FLAG_GROUP_SUMMARY = 512; // 0x200
- field @Deprecated public static final int FLAG_HIGH_PRIORITY = 128; // 0x80
- field public static final int FLAG_INSISTENT = 4; // 0x4
- field public static final int FLAG_LOCAL_ONLY = 256; // 0x100
- field public static final int FLAG_NO_CLEAR = 32; // 0x20
- field public static final int FLAG_ONGOING_EVENT = 2; // 0x2
- field public static final int FLAG_ONLY_ALERT_ONCE = 8; // 0x8
- field public static final int FLAG_SHOW_LIGHTS = 1; // 0x1
- field public static final int GROUP_ALERT_ALL = 0; // 0x0
- field public static final int GROUP_ALERT_CHILDREN = 2; // 0x2
- field public static final int GROUP_ALERT_SUMMARY = 1; // 0x1
- field public static final String GROUP_KEY_SILENT = "silent";
- field public static final int PRIORITY_DEFAULT = 0; // 0x0
- field public static final int PRIORITY_HIGH = 1; // 0x1
- field public static final int PRIORITY_LOW = -1; // 0xffffffff
- field public static final int PRIORITY_MAX = 2; // 0x2
- field public static final int PRIORITY_MIN = -2; // 0xfffffffe
- field public static final int STREAM_DEFAULT = -1; // 0xffffffff
- field public static final int VISIBILITY_PRIVATE = 0; // 0x0
- field public static final int VISIBILITY_PUBLIC = 1; // 0x1
- field public static final int VISIBILITY_SECRET = -1; // 0xffffffff
- }
-
- public static class NotificationCompat.Action {
- ctor public NotificationCompat.Action(int, CharSequence!, android.app.PendingIntent!);
- ctor public NotificationCompat.Action(androidx.core.graphics.drawable.IconCompat?, CharSequence?, android.app.PendingIntent?);
- method public android.app.PendingIntent! getActionIntent();
- method public boolean getAllowGeneratedReplies();
- method public androidx.core.app.RemoteInput![]! getDataOnlyRemoteInputs();
- method public android.os.Bundle! getExtras();
- method @Deprecated public int getIcon();
- method public androidx.core.graphics.drawable.IconCompat? getIconCompat();
- method public androidx.core.app.RemoteInput![]! getRemoteInputs();
- method @androidx.core.app.NotificationCompat.Action.SemanticAction public int getSemanticAction();
- method public boolean getShowsUserInterface();
- method public CharSequence! getTitle();
- method public boolean isContextual();
- field public static final int SEMANTIC_ACTION_ARCHIVE = 5; // 0x5
- field public static final int SEMANTIC_ACTION_CALL = 10; // 0xa
- field public static final int SEMANTIC_ACTION_DELETE = 4; // 0x4
- field public static final int SEMANTIC_ACTION_MARK_AS_READ = 2; // 0x2
- field public static final int SEMANTIC_ACTION_MARK_AS_UNREAD = 3; // 0x3
- field public static final int SEMANTIC_ACTION_MUTE = 6; // 0x6
- field public static final int SEMANTIC_ACTION_NONE = 0; // 0x0
- field public static final int SEMANTIC_ACTION_REPLY = 1; // 0x1
- field public static final int SEMANTIC_ACTION_THUMBS_DOWN = 9; // 0x9
- field public static final int SEMANTIC_ACTION_THUMBS_UP = 8; // 0x8
- field public static final int SEMANTIC_ACTION_UNMUTE = 7; // 0x7
- field public android.app.PendingIntent! actionIntent;
- field @Deprecated public int icon;
- field public CharSequence! title;
- }
-
- public static final class NotificationCompat.Action.Builder {
- ctor public NotificationCompat.Action.Builder(androidx.core.graphics.drawable.IconCompat?, CharSequence?, android.app.PendingIntent?);
- ctor public NotificationCompat.Action.Builder(int, CharSequence!, android.app.PendingIntent!);
- ctor public NotificationCompat.Action.Builder(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Action.Builder! addExtras(android.os.Bundle!);
- method public androidx.core.app.NotificationCompat.Action.Builder! addRemoteInput(androidx.core.app.RemoteInput!);
- method public androidx.core.app.NotificationCompat.Action! build();
- method public androidx.core.app.NotificationCompat.Action.Builder! extend(androidx.core.app.NotificationCompat.Action.Extender!);
- method public android.os.Bundle! getExtras();
- method public androidx.core.app.NotificationCompat.Action.Builder! setAllowGeneratedReplies(boolean);
- method public androidx.core.app.NotificationCompat.Action.Builder setContextual(boolean);
- method public androidx.core.app.NotificationCompat.Action.Builder! setSemanticAction(@androidx.core.app.NotificationCompat.Action.SemanticAction int);
- method public androidx.core.app.NotificationCompat.Action.Builder! setShowsUserInterface(boolean);
- }
-
- public static interface NotificationCompat.Action.Extender {
- method public androidx.core.app.NotificationCompat.Action.Builder! extend(androidx.core.app.NotificationCompat.Action.Builder!);
- }
-
- @IntDef({androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_NONE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_REPLY, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_MARK_AS_READ, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_MARK_AS_UNREAD, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_DELETE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_ARCHIVE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_MUTE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_UNMUTE, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_THUMBS_UP, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_THUMBS_DOWN, androidx.core.app.NotificationCompat.Action.SEMANTIC_ACTION_CALL}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface NotificationCompat.Action.SemanticAction {
- }
-
- public static final class NotificationCompat.Action.WearableExtender implements androidx.core.app.NotificationCompat.Action.Extender {
- ctor public NotificationCompat.Action.WearableExtender();
- ctor public NotificationCompat.Action.WearableExtender(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! clone();
- method public androidx.core.app.NotificationCompat.Action.Builder! extend(androidx.core.app.NotificationCompat.Action.Builder!);
- method @Deprecated public CharSequence! getCancelLabel();
- method @Deprecated public CharSequence! getConfirmLabel();
- method public boolean getHintDisplayActionInline();
- method public boolean getHintLaunchesActivity();
- method @Deprecated public CharSequence! getInProgressLabel();
- method public boolean isAvailableOffline();
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! setAvailableOffline(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.Action.WearableExtender! setCancelLabel(CharSequence!);
- method @Deprecated public androidx.core.app.NotificationCompat.Action.WearableExtender! setConfirmLabel(CharSequence!);
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! setHintDisplayActionInline(boolean);
- method public androidx.core.app.NotificationCompat.Action.WearableExtender! setHintLaunchesActivity(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.Action.WearableExtender! setInProgressLabel(CharSequence!);
- }
-
- @IntDef({androidx.core.app.NotificationCompat.BADGE_ICON_NONE, androidx.core.app.NotificationCompat.BADGE_ICON_SMALL, androidx.core.app.NotificationCompat.BADGE_ICON_LARGE}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface NotificationCompat.BadgeIconType {
- }
-
- public static class NotificationCompat.BigPictureStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.BigPictureStyle();
- ctor public NotificationCompat.BigPictureStyle(androidx.core.app.NotificationCompat.Builder!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! bigLargeIcon(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! bigPicture(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! setBigContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.BigPictureStyle! setSummaryText(CharSequence!);
- }
-
- public static class NotificationCompat.BigTextStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.BigTextStyle();
- ctor public NotificationCompat.BigTextStyle(androidx.core.app.NotificationCompat.Builder!);
- method public androidx.core.app.NotificationCompat.BigTextStyle! bigText(CharSequence!);
- method public androidx.core.app.NotificationCompat.BigTextStyle! setBigContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.BigTextStyle! setSummaryText(CharSequence!);
- }
-
- public static final class NotificationCompat.BubbleMetadata {
- method @RequiresApi(29) public static androidx.core.app.NotificationCompat.BubbleMetadata? fromPlatform(android.app.Notification.BubbleMetadata?);
- method public boolean getAutoExpandBubble();
- method public android.app.PendingIntent? getDeleteIntent();
- method @Dimension(unit=androidx.annotation.Dimension.DP) public int getDesiredHeight();
- method @DimenRes public int getDesiredHeightResId();
- method public androidx.core.graphics.drawable.IconCompat getIcon();
- method public android.app.PendingIntent getIntent();
- method public boolean isNotificationSuppressed();
- method @RequiresApi(29) public static android.app.Notification.BubbleMetadata? toPlatform(androidx.core.app.NotificationCompat.BubbleMetadata?);
- }
-
- public static final class NotificationCompat.BubbleMetadata.Builder {
- ctor public NotificationCompat.BubbleMetadata.Builder();
- method public androidx.core.app.NotificationCompat.BubbleMetadata build();
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setAutoExpandBubble(boolean);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setDeleteIntent(android.app.PendingIntent?);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setDesiredHeight(@Dimension(unit=androidx.annotation.Dimension.DP) int);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setDesiredHeightResId(@DimenRes int);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setIcon(androidx.core.graphics.drawable.IconCompat);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setIntent(android.app.PendingIntent);
- method public androidx.core.app.NotificationCompat.BubbleMetadata.Builder setSuppressNotification(boolean);
- }
-
- public static class NotificationCompat.Builder {
- ctor public NotificationCompat.Builder(android.content.Context, String);
- ctor @Deprecated public NotificationCompat.Builder(android.content.Context!);
- method public androidx.core.app.NotificationCompat.Builder! addAction(int, CharSequence!, android.app.PendingIntent!);
- method public androidx.core.app.NotificationCompat.Builder! addAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
- method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
- method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
- method public android.app.Notification! build();
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! getBigContentView();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.core.app.NotificationCompat.BubbleMetadata? getBubbleMetadata();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int getColor();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! getContentView();
- method public android.os.Bundle! getExtras();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! getHeadsUpContentView();
- method @Deprecated public android.app.Notification! getNotification();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int getPriority();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public long getWhenIfShowing();
- method protected static CharSequence! limitCharSequenceLength(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder setAllowSystemGeneratedContextualActions(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setAutoCancel(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setBadgeIconType(@androidx.core.app.NotificationCompat.BadgeIconType int);
- method public androidx.core.app.NotificationCompat.Builder setBubbleMetadata(androidx.core.app.NotificationCompat.BubbleMetadata?);
- method public androidx.core.app.NotificationCompat.Builder! setCategory(String!);
- method public androidx.core.app.NotificationCompat.Builder! setChannelId(String);
- method @RequiresApi(24) public androidx.core.app.NotificationCompat.Builder setChronometerCountDown(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setColor(@ColorInt int);
- method public androidx.core.app.NotificationCompat.Builder! setColorized(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setContent(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setContentInfo(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setContentIntent(android.app.PendingIntent!);
- method public androidx.core.app.NotificationCompat.Builder! setContentText(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setCustomBigContentView(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setCustomContentView(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setCustomHeadsUpContentView(android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setDefaults(int);
- method public androidx.core.app.NotificationCompat.Builder! setDeleteIntent(android.app.PendingIntent!);
- method public androidx.core.app.NotificationCompat.Builder! setExtras(android.os.Bundle!);
- method public androidx.core.app.NotificationCompat.Builder! setFullScreenIntent(android.app.PendingIntent!, boolean);
- method public androidx.core.app.NotificationCompat.Builder! setGroup(String!);
- method public androidx.core.app.NotificationCompat.Builder! setGroupAlertBehavior(@androidx.core.app.NotificationCompat.GroupAlertBehavior int);
- method public androidx.core.app.NotificationCompat.Builder! setGroupSummary(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setLargeIcon(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.Builder! setLights(@ColorInt int, int, int);
- method public androidx.core.app.NotificationCompat.Builder! setLocalOnly(boolean);
- method public androidx.core.app.NotificationCompat.Builder setNotificationSilent();
- method public androidx.core.app.NotificationCompat.Builder! setNumber(int);
- method public androidx.core.app.NotificationCompat.Builder! setOngoing(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setOnlyAlertOnce(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setPriority(int);
- method public androidx.core.app.NotificationCompat.Builder! setProgress(int, int, boolean);
- method public androidx.core.app.NotificationCompat.Builder! setPublicVersion(android.app.Notification!);
- method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
- method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
- method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
- method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
- method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
- method public androidx.core.app.NotificationCompat.Builder! setSound(android.net.Uri!);
- method public androidx.core.app.NotificationCompat.Builder! setSound(android.net.Uri!, @androidx.core.app.NotificationCompat.StreamType int);
- method public androidx.core.app.NotificationCompat.Builder! setStyle(androidx.core.app.NotificationCompat.Style!);
- method public androidx.core.app.NotificationCompat.Builder! setSubText(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setTicker(CharSequence!);
- method public androidx.core.app.NotificationCompat.Builder! setTicker(CharSequence!, android.widget.RemoteViews!);
- method public androidx.core.app.NotificationCompat.Builder! setTimeoutAfter(long);
- method public androidx.core.app.NotificationCompat.Builder! setUsesChronometer(boolean);
- method public androidx.core.app.NotificationCompat.Builder! setVibrate(long[]!);
- method public androidx.core.app.NotificationCompat.Builder! setVisibility(@androidx.core.app.NotificationCompat.NotificationVisibility int);
- method public androidx.core.app.NotificationCompat.Builder! setWhen(long);
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.ArrayList<androidx.core.app.NotificationCompat.Action!>! mActions;
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.Context! mContext;
- field @Deprecated public java.util.ArrayList<java.lang.String!>! mPeople;
- }
-
- public static final class NotificationCompat.CarExtender implements androidx.core.app.NotificationCompat.Extender {
- ctor public NotificationCompat.CarExtender();
- ctor public NotificationCompat.CarExtender(android.app.Notification!);
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Builder!);
- method @ColorInt public int getColor();
- method public android.graphics.Bitmap! getLargeIcon();
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation! getUnreadConversation();
- method public androidx.core.app.NotificationCompat.CarExtender! setColor(@ColorInt int);
- method public androidx.core.app.NotificationCompat.CarExtender! setLargeIcon(android.graphics.Bitmap!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender! setUnreadConversation(androidx.core.app.NotificationCompat.CarExtender.UnreadConversation!);
- }
-
- @Deprecated public static class NotificationCompat.CarExtender.UnreadConversation {
- method @Deprecated public long getLatestTimestamp();
- method @Deprecated public String![]! getMessages();
- method @Deprecated public String! getParticipant();
- method @Deprecated public String![]! getParticipants();
- method @Deprecated public android.app.PendingIntent! getReadPendingIntent();
- method @Deprecated public androidx.core.app.RemoteInput! getRemoteInput();
- method @Deprecated public android.app.PendingIntent! getReplyPendingIntent();
- }
-
- @Deprecated public static class NotificationCompat.CarExtender.UnreadConversation.Builder {
- ctor @Deprecated public NotificationCompat.CarExtender.UnreadConversation.Builder(String!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! addMessage(String!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation! build();
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! setLatestTimestamp(long);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! setReadPendingIntent(android.app.PendingIntent!);
- method @Deprecated public androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.Builder! setReplyAction(android.app.PendingIntent!, androidx.core.app.RemoteInput!);
- }
-
- public static class NotificationCompat.DecoratedCustomViewStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.DecoratedCustomViewStyle();
- }
-
- public static interface NotificationCompat.Extender {
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Builder!);
- }
-
- @IntDef({androidx.core.app.NotificationCompat.GROUP_ALERT_ALL, androidx.core.app.NotificationCompat.GROUP_ALERT_SUMMARY, androidx.core.app.NotificationCompat.GROUP_ALERT_CHILDREN}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface NotificationCompat.GroupAlertBehavior {
- }
-
- public static class NotificationCompat.InboxStyle extends androidx.core.app.NotificationCompat.Style {
- ctor public NotificationCompat.InboxStyle();
- ctor public NotificationCompat.InboxStyle(androidx.core.app.NotificationCompat.Builder!);
- method public androidx.core.app.NotificationCompat.InboxStyle! addLine(CharSequence!);
- method public androidx.core.app.NotificationCompat.InboxStyle! setBigContentTitle(CharSequence!);
- method public androidx.core.app.NotificationCompat.InboxStyle! setSummaryText(CharSequence!);
- }
-
- public static class NotificationCompat.MessagingStyle extends androidx.core.app.NotificationCompat.Style {
- ctor @Deprecated public NotificationCompat.MessagingStyle(CharSequence);
- ctor public NotificationCompat.MessagingStyle(androidx.core.app.Person);
- method @Deprecated public androidx.core.app.NotificationCompat.MessagingStyle! addMessage(CharSequence!, long, CharSequence!);
- method public androidx.core.app.NotificationCompat.MessagingStyle! addMessage(CharSequence!, long, androidx.core.app.Person!);
- method public androidx.core.app.NotificationCompat.MessagingStyle! addMessage(androidx.core.app.NotificationCompat.MessagingStyle.Message!);
- method public static androidx.core.app.NotificationCompat.MessagingStyle? extractMessagingStyleFromNotification(android.app.Notification!);
- method public CharSequence? getConversationTitle();
- method public java.util.List<androidx.core.app.NotificationCompat.MessagingStyle.Message!>! getMessages();
- method public androidx.core.app.Person! getUser();
- method @Deprecated public CharSequence! getUserDisplayName();
- method public boolean isGroupConversation();
- method public androidx.core.app.NotificationCompat.MessagingStyle! setConversationTitle(CharSequence?);
- method public androidx.core.app.NotificationCompat.MessagingStyle! setGroupConversation(boolean);
- field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
- }
-
- public static final class NotificationCompat.MessagingStyle.Message {
- ctor public NotificationCompat.MessagingStyle.Message(CharSequence!, long, androidx.core.app.Person?);
- ctor @Deprecated public NotificationCompat.MessagingStyle.Message(CharSequence!, long, CharSequence!);
- method public String? getDataMimeType();
- method public android.net.Uri? getDataUri();
- method public android.os.Bundle getExtras();
- method public androidx.core.app.Person? getPerson();
- method @Deprecated public CharSequence? getSender();
- method public CharSequence getText();
- method public long getTimestamp();
- method public androidx.core.app.NotificationCompat.MessagingStyle.Message! setData(String!, android.net.Uri!);
- }
-
- @IntDef({androidx.core.app.NotificationCompat.VISIBILITY_PUBLIC, androidx.core.app.NotificationCompat.VISIBILITY_PRIVATE, androidx.core.app.NotificationCompat.VISIBILITY_SECRET}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface NotificationCompat.NotificationVisibility {
- }
-
- @IntDef({android.media.AudioManager.STREAM_VOICE_CALL, android.media.AudioManager.STREAM_SYSTEM, android.media.AudioManager.STREAM_RING, android.media.AudioManager.STREAM_MUSIC, android.media.AudioManager.STREAM_ALARM, android.media.AudioManager.STREAM_NOTIFICATION, android.media.AudioManager.STREAM_DTMF, android.media.AudioManager.STREAM_ACCESSIBILITY}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface NotificationCompat.StreamType {
- }
-
- public abstract static class NotificationCompat.Style {
- ctor public NotificationCompat.Style();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void addCompatExtras(android.os.Bundle!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void apply(androidx.core.app.NotificationBuilderWithBuilderAccessor!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! applyStandardTemplate(boolean, int, boolean);
- method public android.app.Notification! build();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void buildIntoRemoteViews(android.widget.RemoteViews!, android.widget.RemoteViews!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.Bitmap! createColoredBitmap(int, int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! makeBigContentView(androidx.core.app.NotificationBuilderWithBuilderAccessor!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! makeContentView(androidx.core.app.NotificationBuilderWithBuilderAccessor!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! makeHeadsUpContentView(androidx.core.app.NotificationBuilderWithBuilderAccessor!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected void restoreFromCompatExtras(android.os.Bundle!);
- method public void setBuilder(androidx.core.app.NotificationCompat.Builder!);
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected androidx.core.app.NotificationCompat.Builder! mBuilder;
- }
-
- public static final class NotificationCompat.WearableExtender implements androidx.core.app.NotificationCompat.Extender {
- ctor public NotificationCompat.WearableExtender();
- ctor public NotificationCompat.WearableExtender(android.app.Notification!);
- method public androidx.core.app.NotificationCompat.WearableExtender! addAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.WearableExtender! addActions(java.util.List<androidx.core.app.NotificationCompat.Action!>!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! addPage(android.app.Notification!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! addPages(java.util.List<android.app.Notification!>!);
- method public androidx.core.app.NotificationCompat.WearableExtender! clearActions();
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! clearPages();
- method public androidx.core.app.NotificationCompat.WearableExtender! clone();
- method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Builder!);
- method public java.util.List<androidx.core.app.NotificationCompat.Action!>! getActions();
- method @Deprecated public android.graphics.Bitmap! getBackground();
- method public String! getBridgeTag();
- method public int getContentAction();
- method @Deprecated public int getContentIcon();
- method @Deprecated public int getContentIconGravity();
- method public boolean getContentIntentAvailableOffline();
- method @Deprecated public int getCustomContentHeight();
- method @Deprecated public int getCustomSizePreset();
- method public String! getDismissalId();
- method @Deprecated public android.app.PendingIntent! getDisplayIntent();
- method @Deprecated public int getGravity();
- method @Deprecated public boolean getHintAmbientBigPicture();
- method @Deprecated public boolean getHintAvoidBackgroundClipping();
- method public boolean getHintContentIntentLaunchesActivity();
- method @Deprecated public boolean getHintHideIcon();
- method @Deprecated public int getHintScreenTimeout();
- method @Deprecated public boolean getHintShowBackgroundOnly();
- method @Deprecated public java.util.List<android.app.Notification!>! getPages();
- method public boolean getStartScrollBottom();
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setBackground(android.graphics.Bitmap!);
- method public androidx.core.app.NotificationCompat.WearableExtender! setBridgeTag(String!);
- method public androidx.core.app.NotificationCompat.WearableExtender! setContentAction(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setContentIcon(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setContentIconGravity(int);
- method public androidx.core.app.NotificationCompat.WearableExtender! setContentIntentAvailableOffline(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setCustomContentHeight(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setCustomSizePreset(int);
- method public androidx.core.app.NotificationCompat.WearableExtender! setDismissalId(String!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setDisplayIntent(android.app.PendingIntent!);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setGravity(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintAmbientBigPicture(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintAvoidBackgroundClipping(boolean);
- method public androidx.core.app.NotificationCompat.WearableExtender! setHintContentIntentLaunchesActivity(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintHideIcon(boolean);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintScreenTimeout(int);
- method @Deprecated public androidx.core.app.NotificationCompat.WearableExtender! setHintShowBackgroundOnly(boolean);
- method public androidx.core.app.NotificationCompat.WearableExtender! setStartScrollBottom(boolean);
- field @Deprecated public static final int SCREEN_TIMEOUT_LONG = -1; // 0xffffffff
- field @Deprecated public static final int SCREEN_TIMEOUT_SHORT = 0; // 0x0
- field @Deprecated public static final int SIZE_DEFAULT = 0; // 0x0
- field @Deprecated public static final int SIZE_FULL_SCREEN = 5; // 0x5
- field @Deprecated public static final int SIZE_LARGE = 4; // 0x4
- field @Deprecated public static final int SIZE_MEDIUM = 3; // 0x3
- field @Deprecated public static final int SIZE_SMALL = 2; // 0x2
- field @Deprecated public static final int SIZE_XSMALL = 1; // 0x1
- field public static final int UNSET_ACTION_INDEX = -1; // 0xffffffff
- }
-
- public final class NotificationCompatExtras {
- field public static final String EXTRA_ACTION_EXTRAS = "android.support.actionExtras";
- field public static final String EXTRA_GROUP_KEY = "android.support.groupKey";
- field public static final String EXTRA_GROUP_SUMMARY = "android.support.isGroupSummary";
- field public static final String EXTRA_LOCAL_ONLY = "android.support.localOnly";
- field public static final String EXTRA_REMOTE_INPUTS = "android.support.remoteInputs";
- field public static final String EXTRA_SORT_KEY = "android.support.sortKey";
- }
-
- public abstract class NotificationCompatSideChannelService extends android.app.Service {
- ctor public NotificationCompatSideChannelService();
- method public abstract void cancel(String!, int, String!);
- method public abstract void cancelAll(String!);
- method public abstract void notify(String!, int, String!, android.app.Notification!);
- method public android.os.IBinder! onBind(android.content.Intent!);
- }
-
- public final class NotificationManagerCompat {
- method public boolean areNotificationsEnabled();
- method public void cancel(int);
- method public void cancel(String?, int);
- method public void cancelAll();
- method public void createNotificationChannel(android.app.NotificationChannel);
- method public void createNotificationChannelGroup(android.app.NotificationChannelGroup);
- method public void createNotificationChannelGroups(java.util.List<android.app.NotificationChannelGroup!>);
- method public void createNotificationChannels(java.util.List<android.app.NotificationChannel!>);
- method public void deleteNotificationChannel(String);
- method public void deleteNotificationChannelGroup(String);
- method public static androidx.core.app.NotificationManagerCompat from(android.content.Context);
- method public static java.util.Set<java.lang.String!> getEnabledListenerPackages(android.content.Context);
- method public int getImportance();
- method public android.app.NotificationChannel? getNotificationChannel(String);
- method public android.app.NotificationChannelGroup? getNotificationChannelGroup(String);
- method public java.util.List<android.app.NotificationChannelGroup!> getNotificationChannelGroups();
- method public java.util.List<android.app.NotificationChannel!> getNotificationChannels();
- method public void notify(int, android.app.Notification);
- method public void notify(String?, int, android.app.Notification);
- field public static final String ACTION_BIND_SIDE_CHANNEL = "android.support.BIND_NOTIFICATION_SIDE_CHANNEL";
- field public static final String EXTRA_USE_SIDE_CHANNEL = "android.support.useSideChannel";
- field public static final int IMPORTANCE_DEFAULT = 3; // 0x3
- field public static final int IMPORTANCE_HIGH = 4; // 0x4
- field public static final int IMPORTANCE_LOW = 2; // 0x2
- field public static final int IMPORTANCE_MAX = 5; // 0x5
- field public static final int IMPORTANCE_MIN = 1; // 0x1
- field public static final int IMPORTANCE_NONE = 0; // 0x0
- field public static final int IMPORTANCE_UNSPECIFIED = -1000; // 0xfffffc18
- }
-
- public class Person {
- method @RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static androidx.core.app.Person fromAndroidPerson(android.app.Person);
- method public static androidx.core.app.Person fromBundle(android.os.Bundle);
- method @RequiresApi(22) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static androidx.core.app.Person fromPersistableBundle(android.os.PersistableBundle);
- method public androidx.core.graphics.drawable.IconCompat? getIcon();
- method public String? getKey();
- method public CharSequence? getName();
- method public String? getUri();
- method public boolean isBot();
- method public boolean isImportant();
- method @RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.app.Person toAndroidPerson();
- method public androidx.core.app.Person.Builder toBuilder();
- method public android.os.Bundle toBundle();
- method @RequiresApi(22) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.os.PersistableBundle toPersistableBundle();
- }
-
- public static class Person.Builder {
- ctor public Person.Builder();
- method public androidx.core.app.Person build();
- method public androidx.core.app.Person.Builder setBot(boolean);
- method public androidx.core.app.Person.Builder setIcon(androidx.core.graphics.drawable.IconCompat?);
- method public androidx.core.app.Person.Builder setImportant(boolean);
- method public androidx.core.app.Person.Builder setKey(String?);
- method public androidx.core.app.Person.Builder setName(CharSequence?);
- method public androidx.core.app.Person.Builder setUri(String?);
- }
-
- public final class RemoteActionCompat implements androidx.versionedparcelable.VersionedParcelable {
- ctor public RemoteActionCompat(androidx.core.graphics.drawable.IconCompat, CharSequence, CharSequence, android.app.PendingIntent);
- ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public RemoteActionCompat();
- ctor public RemoteActionCompat(androidx.core.app.RemoteActionCompat);
- method @RequiresApi(26) public static androidx.core.app.RemoteActionCompat createFromRemoteAction(android.app.RemoteAction);
- method public android.app.PendingIntent getActionIntent();
- method public CharSequence getContentDescription();
- method public androidx.core.graphics.drawable.IconCompat getIcon();
- method public CharSequence getTitle();
- method public boolean isEnabled();
- method public void setEnabled(boolean);
- method public void setShouldShowIcon(boolean);
- method public boolean shouldShowIcon();
- method @RequiresApi(26) public android.app.RemoteAction toRemoteAction();
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public android.app.PendingIntent! mActionIntent;
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public CharSequence! mContentDescription;
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public boolean mEnabled;
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public androidx.core.graphics.drawable.IconCompat! mIcon;
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public boolean mShouldShowIcon;
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public CharSequence! mTitle;
- }
-
- public final class RemoteInput {
- method public static void addDataResultToIntent(androidx.core.app.RemoteInput!, android.content.Intent!, java.util.Map<java.lang.String!,android.net.Uri!>!);
- method public static void addResultsToIntent(androidx.core.app.RemoteInput![]!, android.content.Intent!, android.os.Bundle!);
- method public boolean getAllowFreeFormInput();
- method public java.util.Set<java.lang.String!>! getAllowedDataTypes();
- method public CharSequence![]! getChoices();
- method public static java.util.Map<java.lang.String!,android.net.Uri!>! getDataResultsFromIntent(android.content.Intent!, String!);
- method @androidx.core.app.RemoteInput.EditChoicesBeforeSending public int getEditChoicesBeforeSending();
- method public android.os.Bundle! getExtras();
- method public CharSequence! getLabel();
- method public String! getResultKey();
- method public static android.os.Bundle! getResultsFromIntent(android.content.Intent!);
- method @androidx.core.app.RemoteInput.Source public static int getResultsSource(android.content.Intent);
- method public boolean isDataOnly();
- method public static void setResultsSource(android.content.Intent, @androidx.core.app.RemoteInput.Source int);
- field public static final int EDIT_CHOICES_BEFORE_SENDING_AUTO = 0; // 0x0
- field public static final int EDIT_CHOICES_BEFORE_SENDING_DISABLED = 1; // 0x1
- field public static final int EDIT_CHOICES_BEFORE_SENDING_ENABLED = 2; // 0x2
- field public static final String EXTRA_RESULTS_DATA = "android.remoteinput.resultsData";
- field public static final String RESULTS_CLIP_LABEL = "android.remoteinput.results";
- field public static final int SOURCE_CHOICE = 1; // 0x1
- field public static final int SOURCE_FREE_FORM_INPUT = 0; // 0x0
- }
-
- public static final class RemoteInput.Builder {
- ctor public RemoteInput.Builder(String);
- method public androidx.core.app.RemoteInput.Builder addExtras(android.os.Bundle);
- method public androidx.core.app.RemoteInput build();
- method public android.os.Bundle getExtras();
- method public androidx.core.app.RemoteInput.Builder setAllowDataType(String, boolean);
- method public androidx.core.app.RemoteInput.Builder setAllowFreeFormInput(boolean);
- method public androidx.core.app.RemoteInput.Builder setChoices(CharSequence![]?);
- method public androidx.core.app.RemoteInput.Builder setEditChoicesBeforeSending(@androidx.core.app.RemoteInput.EditChoicesBeforeSending int);
- method public androidx.core.app.RemoteInput.Builder setLabel(CharSequence?);
- }
-
- @IntDef({androidx.core.app.RemoteInput.EDIT_CHOICES_BEFORE_SENDING_AUTO, androidx.core.app.RemoteInput.EDIT_CHOICES_BEFORE_SENDING_DISABLED, androidx.core.app.RemoteInput.EDIT_CHOICES_BEFORE_SENDING_ENABLED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RemoteInput.EditChoicesBeforeSending {
- }
-
- @IntDef({androidx.core.app.RemoteInput.SOURCE_FREE_FORM_INPUT, androidx.core.app.RemoteInput.SOURCE_CHOICE}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RemoteInput.Source {
- }
-
- public final class ServiceCompat {
- method public static void stopForeground(android.app.Service, @androidx.core.app.ServiceCompat.StopForegroundFlags int);
- field public static final int START_STICKY = 1; // 0x1
- field public static final int STOP_FOREGROUND_DETACH = 2; // 0x2
- field public static final int STOP_FOREGROUND_REMOVE = 1; // 0x1
- }
-
- @IntDef(flag=true, value={androidx.core.app.ServiceCompat.STOP_FOREGROUND_REMOVE, androidx.core.app.ServiceCompat.STOP_FOREGROUND_DETACH}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ServiceCompat.StopForegroundFlags {
- }
-
- public final class ShareCompat {
- method public static void configureMenuItem(android.view.MenuItem, androidx.core.app.ShareCompat.IntentBuilder);
- method public static void configureMenuItem(android.view.Menu, @IdRes int, androidx.core.app.ShareCompat.IntentBuilder);
- method public static android.content.ComponentName? getCallingActivity(android.app.Activity);
- method public static String? getCallingPackage(android.app.Activity);
- field public static final String EXTRA_CALLING_ACTIVITY = "androidx.core.app.EXTRA_CALLING_ACTIVITY";
- field public static final String EXTRA_CALLING_ACTIVITY_INTEROP = "android.support.v4.app.EXTRA_CALLING_ACTIVITY";
- field public static final String EXTRA_CALLING_PACKAGE = "androidx.core.app.EXTRA_CALLING_PACKAGE";
- field public static final String EXTRA_CALLING_PACKAGE_INTEROP = "android.support.v4.app.EXTRA_CALLING_PACKAGE";
- }
-
- public static class ShareCompat.IntentBuilder {
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailBcc(String);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailBcc(String![]);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailCc(String);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailCc(String![]);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailTo(String);
- method public androidx.core.app.ShareCompat.IntentBuilder addEmailTo(String![]);
- method public androidx.core.app.ShareCompat.IntentBuilder addStream(android.net.Uri);
- method public android.content.Intent createChooserIntent();
- method public static androidx.core.app.ShareCompat.IntentBuilder from(android.app.Activity);
- method public android.content.Intent getIntent();
- method public androidx.core.app.ShareCompat.IntentBuilder setChooserTitle(CharSequence?);
- method public androidx.core.app.ShareCompat.IntentBuilder setChooserTitle(@StringRes int);
- method public androidx.core.app.ShareCompat.IntentBuilder setEmailBcc(String![]?);
- method public androidx.core.app.ShareCompat.IntentBuilder setEmailCc(String![]?);
- method public androidx.core.app.ShareCompat.IntentBuilder setEmailTo(String![]?);
- method public androidx.core.app.ShareCompat.IntentBuilder setHtmlText(String?);
- method public androidx.core.app.ShareCompat.IntentBuilder setStream(android.net.Uri?);
- method public androidx.core.app.ShareCompat.IntentBuilder setSubject(String?);
- method public androidx.core.app.ShareCompat.IntentBuilder setText(CharSequence?);
- method public androidx.core.app.ShareCompat.IntentBuilder setType(String?);
- method public void startChooser();
- }
-
- public static class ShareCompat.IntentReader {
- method public static androidx.core.app.ShareCompat.IntentReader from(android.app.Activity);
- method public android.content.ComponentName? getCallingActivity();
- method public android.graphics.drawable.Drawable? getCallingActivityIcon();
- method public android.graphics.drawable.Drawable? getCallingApplicationIcon();
- method public CharSequence? getCallingApplicationLabel();
- method public String? getCallingPackage();
- method public String![]? getEmailBcc();
- method public String![]? getEmailCc();
- method public String![]? getEmailTo();
- method public String? getHtmlText();
- method public android.net.Uri? getStream();
- method public android.net.Uri? getStream(int);
- method public int getStreamCount();
- method public String? getSubject();
- method public CharSequence? getText();
- method public String? getType();
- method public boolean isMultipleShare();
- method public boolean isShareIntent();
- method public boolean isSingleShare();
- }
-
- public abstract class SharedElementCallback {
- ctor public SharedElementCallback();
- method public android.os.Parcelable! onCaptureSharedElementSnapshot(android.view.View!, android.graphics.Matrix!, android.graphics.RectF!);
- method public android.view.View! onCreateSnapshotView(android.content.Context!, android.os.Parcelable!);
- method public void onMapSharedElements(java.util.List<java.lang.String!>!, java.util.Map<java.lang.String!,android.view.View!>!);
- method public void onRejectSharedElements(java.util.List<android.view.View!>!);
- method public void onSharedElementEnd(java.util.List<java.lang.String!>!, java.util.List<android.view.View!>!, java.util.List<android.view.View!>!);
- method public void onSharedElementStart(java.util.List<java.lang.String!>!, java.util.List<android.view.View!>!, java.util.List<android.view.View!>!);
- method public void onSharedElementsArrived(java.util.List<java.lang.String!>!, java.util.List<android.view.View!>!, androidx.core.app.SharedElementCallback.OnSharedElementsReadyListener!);
- }
-
- public static interface SharedElementCallback.OnSharedElementsReadyListener {
- method public void onSharedElementsReady();
- }
-
- public final class TaskStackBuilder implements java.lang.Iterable<android.content.Intent> {
- method public androidx.core.app.TaskStackBuilder addNextIntent(android.content.Intent);
- method public androidx.core.app.TaskStackBuilder addNextIntentWithParentStack(android.content.Intent);
- method public androidx.core.app.TaskStackBuilder addParentStack(android.app.Activity);
- method public androidx.core.app.TaskStackBuilder addParentStack(Class<?>);
- method public androidx.core.app.TaskStackBuilder! addParentStack(android.content.ComponentName!);
- method public static androidx.core.app.TaskStackBuilder create(android.content.Context);
- method public android.content.Intent? editIntentAt(int);
- method @Deprecated public static androidx.core.app.TaskStackBuilder! from(android.content.Context!);
- method @Deprecated public android.content.Intent! getIntent(int);
- method public int getIntentCount();
- method public android.content.Intent![] getIntents();
- method public android.app.PendingIntent? getPendingIntent(int, int);
- method public android.app.PendingIntent? getPendingIntent(int, int, android.os.Bundle?);
- method @Deprecated public java.util.Iterator<android.content.Intent!>! iterator();
- method public void startActivities();
- method public void startActivities(android.os.Bundle?);
- }
-
- public static interface TaskStackBuilder.SupportParentable {
- method public android.content.Intent? getSupportParentActivityIntent();
- }
-
-}
-
-package androidx.core.content {
-
- public final class ContentProviderCompat {
- method public static android.content.Context requireContext(android.content.ContentProvider);
- }
-
- public final class ContentResolverCompat {
- method public static android.database.Cursor! query(android.content.ContentResolver!, android.net.Uri!, String![]!, String!, String![]!, String!, androidx.core.os.CancellationSignal!);
- }
-
- public class ContextCompat {
- ctor protected ContextCompat();
- method public static int checkSelfPermission(android.content.Context, String);
- method public static android.content.Context? createDeviceProtectedStorageContext(android.content.Context);
- method public static java.io.File! getCodeCacheDir(android.content.Context);
- method @ColorInt public static int getColor(android.content.Context, @ColorRes int);
- method public static android.content.res.ColorStateList? getColorStateList(android.content.Context, @ColorRes int);
- method public static java.io.File? getDataDir(android.content.Context);
- method public static android.graphics.drawable.Drawable? getDrawable(android.content.Context, @DrawableRes int);
- method public static java.io.File![] getExternalCacheDirs(android.content.Context);
- method public static java.io.File![] getExternalFilesDirs(android.content.Context, String?);
- method public static java.util.concurrent.Executor! getMainExecutor(android.content.Context!);
- method public static java.io.File? getNoBackupFilesDir(android.content.Context);
- method public static java.io.File![] getObbDirs(android.content.Context);
- method public static <T> T? getSystemService(android.content.Context, Class<T!>);
- method public static String? getSystemServiceName(android.content.Context, Class<?>);
- method public static boolean isDeviceProtectedStorage(android.content.Context);
- method public static boolean startActivities(android.content.Context, android.content.Intent![]);
- method public static boolean startActivities(android.content.Context, android.content.Intent![], android.os.Bundle?);
- method public static void startActivity(android.content.Context, android.content.Intent, android.os.Bundle?);
- method public static void startForegroundService(android.content.Context, android.content.Intent);
- }
-
- public class FileProvider extends android.content.ContentProvider {
- ctor public FileProvider();
- method public int delete(android.net.Uri, String?, String![]?);
- method public String! getType(android.net.Uri);
- method public static android.net.Uri! getUriForFile(android.content.Context, String, java.io.File);
- method public android.net.Uri! insert(android.net.Uri, android.content.ContentValues!);
- method public boolean onCreate();
- method public android.database.Cursor! query(android.net.Uri, String![]?, String?, String![]?, String?);
- method public int update(android.net.Uri, android.content.ContentValues!, String?, String![]?);
- }
-
- public final class IntentCompat {
- method public static android.content.Intent makeMainSelectorActivity(String, String);
- field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
- field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
- field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
- }
-
- public final class MimeTypeFilter {
- method public static boolean matches(String?, String);
- method public static String? matches(String?, String![]);
- method public static String? matches(String![]?, String);
- method public static String![] matchesMany(String![]?, String);
- }
-
- public final class PermissionChecker {
- method @androidx.core.content.PermissionChecker.PermissionResult public static int checkCallingOrSelfPermission(android.content.Context, String);
- method @androidx.core.content.PermissionChecker.PermissionResult public static int checkCallingPermission(android.content.Context, String, String?);
- method @androidx.core.content.PermissionChecker.PermissionResult public static int checkPermission(android.content.Context, String, int, int, String?);
- method @androidx.core.content.PermissionChecker.PermissionResult public static int checkSelfPermission(android.content.Context, String);
- field public static final int PERMISSION_DENIED = -1; // 0xffffffff
- field public static final int PERMISSION_DENIED_APP_OP = -2; // 0xfffffffe
- field public static final int PERMISSION_GRANTED = 0; // 0x0
- }
-
- @IntDef({androidx.core.content.PermissionChecker.PERMISSION_GRANTED, androidx.core.content.PermissionChecker.PERMISSION_DENIED, androidx.core.content.PermissionChecker.PERMISSION_DENIED_APP_OP}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PermissionChecker.PermissionResult {
- }
-
- @Deprecated public final class SharedPreferencesCompat {
- }
-
- @Deprecated public static final class SharedPreferencesCompat.EditorCompat {
- method @Deprecated public void apply(android.content.SharedPreferences.Editor);
- method @Deprecated public static androidx.core.content.SharedPreferencesCompat.EditorCompat! getInstance();
- }
-
-}
-
-package androidx.core.content.pm {
-
- @Deprecated public final class ActivityInfoCompat {
- field @Deprecated public static final int CONFIG_UI_MODE = 512; // 0x200
- }
-
- public final class PackageInfoCompat {
- method public static long getLongVersionCode(android.content.pm.PackageInfo);
- }
-
- public final class PermissionInfoCompat {
- method public static int getProtection(android.content.pm.PermissionInfo);
- method public static int getProtectionFlags(android.content.pm.PermissionInfo);
- }
-
- public class ShortcutInfoCompat {
- method public android.content.ComponentName? getActivity();
- method public java.util.Set<java.lang.String!>? getCategories();
- method public CharSequence? getDisabledMessage();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.core.graphics.drawable.IconCompat! getIcon();
- method public String getId();
- method public android.content.Intent getIntent();
- method public android.content.Intent![] getIntents();
- method public CharSequence? getLongLabel();
- method public int getRank();
- method public CharSequence getShortLabel();
- method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
- }
-
- public static class ShortcutInfoCompat.Builder {
- ctor public ShortcutInfoCompat.Builder(android.content.Context, String);
- ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public ShortcutInfoCompat.Builder(androidx.core.content.pm.ShortcutInfoCompat);
- ctor @RequiresApi(25) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public ShortcutInfoCompat.Builder(android.content.Context, android.content.pm.ShortcutInfo);
- method public androidx.core.content.pm.ShortcutInfoCompat build();
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setActivity(android.content.ComponentName);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setLongLabel(CharSequence);
- method @Deprecated public androidx.core.content.pm.ShortcutInfoCompat.Builder setLongLived();
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setLongLived(boolean);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setPerson(androidx.core.app.Person);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setPersons(androidx.core.app.Person![]);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setRank(int);
- method public androidx.core.content.pm.ShortcutInfoCompat.Builder setShortLabel(CharSequence);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class ShortcutInfoCompatSaver<T> {
- ctor public ShortcutInfoCompatSaver();
- method @AnyThread public abstract T! addShortcuts(java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>!);
- method @WorkerThread public java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>! getShortcuts() throws java.lang.Exception;
- method @AnyThread public abstract T! removeAllShortcuts();
- method @AnyThread public abstract T! removeShortcuts(java.util.List<java.lang.String!>!);
- }
-
- public class ShortcutManagerCompat {
- method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
- method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
- method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
- method public static int getMaxShortcutCountPerActivity(android.content.Context);
- method public static boolean isRequestPinShortcutSupported(android.content.Context);
- method public static void removeAllDynamicShortcuts(android.content.Context);
- method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
- method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
- method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
- field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
- }
-
-}
-
-package androidx.core.content.res {
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class ColorStateListInflaterCompat {
- method public static android.content.res.ColorStateList createFromXml(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
- method public static android.content.res.ColorStateList createFromXmlInner(android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
- method public static android.content.res.ColorStateList? inflate(android.content.res.Resources, @XmlRes int, android.content.res.Resources.Theme?);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class ComplexColorCompat {
- method @ColorInt public int getColor();
- method public android.graphics.Shader? getShader();
- method public static androidx.core.content.res.ComplexColorCompat? inflate(android.content.res.Resources, @ColorRes int, android.content.res.Resources.Theme?);
- method public boolean isGradient();
- method public boolean isStateful();
- method public boolean onStateChanged(int[]!);
- method public void setColor(@ColorInt int);
- method public boolean willDraw();
- }
-
- public final class ConfigurationHelper {
- method public static int getDensityDpi(android.content.res.Resources);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class FontResourcesParserCompat {
- method public static androidx.core.content.res.FontResourcesParserCompat.FamilyResourceEntry? parse(org.xmlpull.v1.XmlPullParser!, android.content.res.Resources!) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
- method public static java.util.List<java.util.List<byte[]!>!>! readCerts(android.content.res.Resources!, @ArrayRes int);
- field public static final int FETCH_STRATEGY_ASYNC = 1; // 0x1
- field public static final int FETCH_STRATEGY_BLOCKING = 0; // 0x0
- field public static final int INFINITE_TIMEOUT_VALUE = -1; // 0xffffffff
- }
-
- public static interface FontResourcesParserCompat.FamilyResourceEntry {
- }
-
- @IntDef({androidx.core.content.res.FontResourcesParserCompat.FETCH_STRATEGY_BLOCKING, androidx.core.content.res.FontResourcesParserCompat.FETCH_STRATEGY_ASYNC}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface FontResourcesParserCompat.FetchStrategy {
- }
-
- public static final class FontResourcesParserCompat.FontFamilyFilesResourceEntry implements androidx.core.content.res.FontResourcesParserCompat.FamilyResourceEntry {
- ctor public FontResourcesParserCompat.FontFamilyFilesResourceEntry(androidx.core.content.res.FontResourcesParserCompat.FontFileResourceEntry![]);
- method public androidx.core.content.res.FontResourcesParserCompat.FontFileResourceEntry![] getEntries();
- }
-
- public static final class FontResourcesParserCompat.FontFileResourceEntry {
- ctor public FontResourcesParserCompat.FontFileResourceEntry(String, int, boolean, String?, int, int);
- method public String getFileName();
- method public int getResourceId();
- method public int getTtcIndex();
- method public String? getVariationSettings();
- method public int getWeight();
- method public boolean isItalic();
- }
-
- public static final class FontResourcesParserCompat.ProviderResourceEntry implements androidx.core.content.res.FontResourcesParserCompat.FamilyResourceEntry {
- ctor public FontResourcesParserCompat.ProviderResourceEntry(androidx.core.provider.FontRequest, @androidx.core.content.res.FontResourcesParserCompat.FetchStrategy int, int);
- method @androidx.core.content.res.FontResourcesParserCompat.FetchStrategy public int getFetchStrategy();
- method public androidx.core.provider.FontRequest getRequest();
- method public int getTimeout();
- }
-
- public final class ResourcesCompat {
- method @ColorInt public static int getColor(android.content.res.Resources, @ColorRes int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static android.content.res.ColorStateList? getColorStateList(android.content.res.Resources, @ColorRes int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static android.graphics.drawable.Drawable? getDrawable(android.content.res.Resources, @DrawableRes int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static android.graphics.drawable.Drawable? getDrawableForDensity(android.content.res.Resources, @DrawableRes int, int, android.content.res.Resources.Theme?) throws android.content.res.Resources.NotFoundException;
- method public static float getFloat(android.content.res.Resources, @DimenRes int);
- method public static android.graphics.Typeface? getFont(android.content.Context, @FontRes int) throws android.content.res.Resources.NotFoundException;
- method public static void getFont(android.content.Context, @FontRes int, androidx.core.content.res.ResourcesCompat.FontCallback, android.os.Handler?) throws android.content.res.Resources.NotFoundException;
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static android.graphics.Typeface! getFont(android.content.Context, @FontRes int, android.util.TypedValue!, int, androidx.core.content.res.ResourcesCompat.FontCallback?) throws android.content.res.Resources.NotFoundException;
- field @AnyRes public static final int ID_NULL = 0; // 0x0
- }
-
- public abstract static class ResourcesCompat.FontCallback {
- ctor public ResourcesCompat.FontCallback();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final void callbackFailAsync(@androidx.core.provider.FontsContractCompat.FontRequestCallback.FontRequestFailReason int, android.os.Handler?);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final void callbackSuccessAsync(android.graphics.Typeface!, android.os.Handler?);
- method public abstract void onFontRetrievalFailed(@androidx.core.provider.FontsContractCompat.FontRequestCallback.FontRequestFailReason int);
- method public abstract void onFontRetrieved(android.graphics.Typeface);
- }
-
- public static final class ResourcesCompat.ThemeCompat {
- method public static void rebase(android.content.res.Resources.Theme);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class TypedArrayUtils {
- method public static int getAttr(android.content.Context, int, int);
- method public static boolean getBoolean(android.content.res.TypedArray, @StyleableRes int, @StyleableRes int, boolean);
- method public static android.graphics.drawable.Drawable? getDrawable(android.content.res.TypedArray, @StyleableRes int, @StyleableRes int);
- method public static int getInt(android.content.res.TypedArray, @StyleableRes int, @StyleableRes int, int);
- method public static boolean getNamedBoolean(android.content.res.TypedArray, org.xmlpull.v1.XmlPullParser, String, @StyleableRes int, boolean);
- method @ColorInt public static int getNamedColor(android.content.res.TypedArray, org.xmlpull.v1.XmlPullParser, String, @StyleableRes int, @ColorInt int);
- method public static android.content.res.ColorStateList? getNamedColorStateList(android.content.res.TypedArray, org.xmlpull.v1.XmlPullParser, android.content.res.Resources.Theme?, String, @StyleableRes int);
- method public static androidx.core.content.res.ComplexColorCompat! getNamedComplexColor(android.content.res.TypedArray, org.xmlpull.v1.XmlPullParser, android.content.res.Resources.Theme?, String, @StyleableRes int, @ColorInt int);
- method public static float getNamedFloat(android.content.res.TypedArray, org.xmlpull.v1.XmlPullParser, String, @StyleableRes int, float);
- method public static int getNamedInt(android.content.res.TypedArray, org.xmlpull.v1.XmlPullParser, String, @StyleableRes int, int);
- method @AnyRes public static int getNamedResourceId(android.content.res.TypedArray, org.xmlpull.v1.XmlPullParser, String, @StyleableRes int, @AnyRes int);
- method public static String? getNamedString(android.content.res.TypedArray, org.xmlpull.v1.XmlPullParser, String, @StyleableRes int);
- method @AnyRes public static int getResourceId(android.content.res.TypedArray, @StyleableRes int, @StyleableRes int, @AnyRes int);
- method public static String? getString(android.content.res.TypedArray, @StyleableRes int, @StyleableRes int);
- method public static CharSequence? getText(android.content.res.TypedArray, @StyleableRes int, @StyleableRes int);
- method public static CharSequence![]? getTextArray(android.content.res.TypedArray, @StyleableRes int, @StyleableRes int);
- method public static boolean hasAttribute(org.xmlpull.v1.XmlPullParser, String);
- method public static android.content.res.TypedArray obtainAttributes(android.content.res.Resources, android.content.res.Resources.Theme?, android.util.AttributeSet, int[]);
- method public static android.util.TypedValue? peekNamedValue(android.content.res.TypedArray, org.xmlpull.v1.XmlPullParser, String, int);
- }
-
-}
-
-package androidx.core.database {
-
- public final class CursorWindowCompat {
- method public static android.database.CursorWindow create(String?, long);
- }
-
- @Deprecated public final class DatabaseUtilsCompat {
- method @Deprecated public static String![]! appendSelectionArgs(String![]!, String![]!);
- method @Deprecated public static String! concatenateWhere(String!, String!);
- }
-
-}
-
-package androidx.core.database.sqlite {
-
- public final class SQLiteCursorCompat {
- method public static void setFillWindowForwardOnly(android.database.sqlite.SQLiteCursor, boolean);
- }
-
-}
-
-package androidx.core.graphics {
-
- public final class BitmapCompat {
- method public static int getAllocationByteCount(android.graphics.Bitmap);
- method public static boolean hasMipMap(android.graphics.Bitmap);
- method public static void setHasMipMap(android.graphics.Bitmap, boolean);
- }
-
- public class BlendModeColorFilterCompat {
- method public static android.graphics.ColorFilter? createBlendModeColorFilterCompat(int, androidx.core.graphics.BlendModeCompat);
- }
-
- public enum BlendModeCompat {
- enum_constant public static final androidx.core.graphics.BlendModeCompat CLEAR;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat COLOR;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat COLOR_BURN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat COLOR_DODGE;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DARKEN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat DIFFERENCE;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_ATOP;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_IN;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_OUT;
- enum_constant public static final androidx.core.graphics.BlendModeCompat DST_OVER;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat EXCLUSION;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat HARD_LIGHT;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat HUE;
- enum_constant public static final androidx.core.graphics.BlendModeCompat LIGHTEN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat LUMINOSITY;
- enum_constant public static final androidx.core.graphics.BlendModeCompat MODULATE;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat MULTIPLY;
- enum_constant public static final androidx.core.graphics.BlendModeCompat OVERLAY;
- enum_constant public static final androidx.core.graphics.BlendModeCompat PLUS;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat SATURATION;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SCREEN;
- enum_constant @RequiresApi(android.os.Build.VERSION_CODES.Q) public static final androidx.core.graphics.BlendModeCompat SOFT_LIGHT;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_ATOP;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_IN;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_OUT;
- enum_constant public static final androidx.core.graphics.BlendModeCompat SRC_OVER;
- enum_constant public static final androidx.core.graphics.BlendModeCompat XOR;
- }
-
- public final class ColorUtils {
- method @ColorInt public static int HSLToColor(float[]);
- method @ColorInt public static int LABToColor(@FloatRange(from=0.0f, to=100) double, @FloatRange(from=0xffffff80, to=127) double, @FloatRange(from=0xffffff80, to=127) double);
- method public static void LABToXYZ(@FloatRange(from=0.0f, to=100) double, @FloatRange(from=0xffffff80, to=127) double, @FloatRange(from=0xffffff80, to=127) double, double[]);
- method public static void RGBToHSL(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, float[]);
- method public static void RGBToLAB(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, double[]);
- method public static void RGBToXYZ(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, double[]);
- method @ColorInt public static int XYZToColor(@FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_X) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Y) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Z) double);
- method public static void XYZToLAB(@FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_X) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Y) double, @FloatRange(from=0.0f, to=androidx.core.graphics.ColorUtils.XYZ_WHITE_REFERENCE_Z) double, double[]);
- method @ColorInt public static int blendARGB(@ColorInt int, @ColorInt int, @FloatRange(from=0.0, to=1.0) float);
- method public static void blendHSL(float[], float[], @FloatRange(from=0.0, to=1.0) float, float[]);
- method public static void blendLAB(double[], double[], @FloatRange(from=0.0, to=1.0) double, double[]);
- method public static double calculateContrast(@ColorInt int, @ColorInt int);
- method @FloatRange(from=0.0, to=1.0) public static double calculateLuminance(@ColorInt int);
- method public static int calculateMinimumAlpha(@ColorInt int, @ColorInt int, float);
- method public static void colorToHSL(@ColorInt int, float[]);
- method public static void colorToLAB(@ColorInt int, double[]);
- method public static void colorToXYZ(@ColorInt int, double[]);
- method public static int compositeColors(@ColorInt int, @ColorInt int);
- method @RequiresApi(26) public static android.graphics.Color compositeColors(android.graphics.Color, android.graphics.Color);
- method public static double distanceEuclidean(double[], double[]);
- method @ColorInt public static int setAlphaComponent(@ColorInt int, @IntRange(from=0, to=255) int);
- }
-
- public final class Insets {
- method public static androidx.core.graphics.Insets of(int, int, int, int);
- method public static androidx.core.graphics.Insets of(android.graphics.Rect);
- method @RequiresApi(api=29) public static androidx.core.graphics.Insets toCompatInsets(android.graphics.Insets);
- method @RequiresApi(api=29) public android.graphics.Insets toPlatformInsets();
- method @Deprecated @RequiresApi(api=29) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static androidx.core.graphics.Insets wrap(android.graphics.Insets);
- field public static final androidx.core.graphics.Insets NONE;
- field public final int bottom;
- field public final int left;
- field public final int right;
- field public final int top;
- }
-
- public final class PaintCompat {
- method public static boolean hasGlyph(android.graphics.Paint, String);
- method public static boolean setBlendMode(android.graphics.Paint, androidx.core.graphics.BlendModeCompat?);
- }
-
- public final class PathSegment {
- ctor public PathSegment(android.graphics.PointF, float, android.graphics.PointF, float);
- method public android.graphics.PointF getEnd();
- method public float getEndFraction();
- method public android.graphics.PointF getStart();
- method public float getStartFraction();
- }
-
- public final class PathUtils {
- method @RequiresApi(26) public static java.util.Collection<androidx.core.graphics.PathSegment!> flatten(android.graphics.Path);
- method @RequiresApi(26) public static java.util.Collection<androidx.core.graphics.PathSegment!> flatten(android.graphics.Path, @FloatRange(from=0) float);
- }
-
- public class TypefaceCompat {
- method public static android.graphics.Typeface create(android.content.Context, android.graphics.Typeface?, int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static android.graphics.Typeface? createFromFontInfo(android.content.Context, android.os.CancellationSignal?, androidx.core.provider.FontsContractCompat.FontInfo![], int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static android.graphics.Typeface? createFromResourcesFamilyXml(android.content.Context, androidx.core.content.res.FontResourcesParserCompat.FamilyResourceEntry, android.content.res.Resources, int, int, androidx.core.content.res.ResourcesCompat.FontCallback?, android.os.Handler?, boolean);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static android.graphics.Typeface? createFromResourcesFontFile(android.content.Context, android.content.res.Resources, int, String!, int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static android.graphics.Typeface? findFromCache(android.content.res.Resources, int, int);
- }
-
- @RequiresApi(26) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class TypefaceCompatApi26Impl {
- ctor public TypefaceCompatApi26Impl();
- method protected android.graphics.Typeface? createFromFamiliesWithDefault(Object!);
- method public android.graphics.Typeface? createFromFontFamilyFilesResourceEntry(android.content.Context!, androidx.core.content.res.FontResourcesParserCompat.FontFamilyFilesResourceEntry!, android.content.res.Resources!, int);
- method public android.graphics.Typeface? createFromFontInfo(android.content.Context!, android.os.CancellationSignal?, androidx.core.provider.FontsContractCompat.FontInfo![], int);
- method public android.graphics.Typeface? createFromResourcesFontFile(android.content.Context!, android.content.res.Resources!, int, String!, int);
- method protected java.lang.reflect.Method! obtainAbortCreationMethod(Class<?>!) throws java.lang.NoSuchMethodException;
- method protected java.lang.reflect.Method! obtainAddFontFromAssetManagerMethod(Class<?>!) throws java.lang.NoSuchMethodException;
- method protected java.lang.reflect.Method! obtainAddFontFromBufferMethod(Class<?>!) throws java.lang.NoSuchMethodException;
- method protected java.lang.reflect.Method! obtainCreateFromFamiliesWithDefaultMethod(Class<?>!) throws java.lang.NoSuchMethodException;
- method protected Class<?>! obtainFontFamily() throws java.lang.ClassNotFoundException;
- method protected java.lang.reflect.Constructor<?>! obtainFontFamilyCtor(Class<?>!) throws java.lang.NoSuchMethodException;
- method protected java.lang.reflect.Method! obtainFreezeMethod(Class<?>!) throws java.lang.NoSuchMethodException;
- field protected final java.lang.reflect.Method! mAbortCreation;
- field protected final java.lang.reflect.Method! mAddFontFromAssetManager;
- field protected final java.lang.reflect.Method! mAddFontFromBuffer;
- field protected final java.lang.reflect.Method! mCreateFromFamiliesWithDefault;
- field protected final Class<?>! mFontFamily;
- field protected final java.lang.reflect.Constructor<?>! mFontFamilyCtor;
- field protected final java.lang.reflect.Method! mFreeze;
- }
-
- @RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class TypefaceCompatApi28Impl extends androidx.core.graphics.TypefaceCompatApi26Impl {
- ctor public TypefaceCompatApi28Impl();
- }
-
- @RequiresApi(29) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class TypefaceCompatApi29Impl {
- ctor public TypefaceCompatApi29Impl();
- method public android.graphics.Typeface? createFromFontFamilyFilesResourceEntry(android.content.Context!, androidx.core.content.res.FontResourcesParserCompat.FontFamilyFilesResourceEntry!, android.content.res.Resources!, int);
- method public android.graphics.Typeface? createFromFontInfo(android.content.Context!, android.os.CancellationSignal?, androidx.core.provider.FontsContractCompat.FontInfo![], int);
- method protected android.graphics.Typeface! createFromInputStream(android.content.Context!, java.io.InputStream!);
- method public android.graphics.Typeface? createFromResourcesFontFile(android.content.Context!, android.content.res.Resources!, int, String!, int);
- method protected androidx.core.provider.FontsContractCompat.FontInfo! findBestInfo(androidx.core.provider.FontsContractCompat.FontInfo![]!, int);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class TypefaceCompatUtil {
- method public static void closeQuietly(java.io.Closeable!);
- method @RequiresApi(19) public static java.nio.ByteBuffer? copyToDirectBuffer(android.content.Context!, android.content.res.Resources!, int);
- method public static boolean copyToFile(java.io.File!, java.io.InputStream!);
- method public static boolean copyToFile(java.io.File!, android.content.res.Resources!, int);
- method public static java.io.File? getTempFile(android.content.Context!);
- method @RequiresApi(19) public static java.nio.ByteBuffer? mmap(android.content.Context!, android.os.CancellationSignal!, android.net.Uri!);
- }
-
-}
-
-package androidx.core.graphics.drawable {
-
- public final class DrawableCompat {
- method public static void applyTheme(android.graphics.drawable.Drawable, android.content.res.Resources.Theme);
- method public static boolean canApplyTheme(android.graphics.drawable.Drawable);
- method public static void clearColorFilter(android.graphics.drawable.Drawable);
- method public static int getAlpha(android.graphics.drawable.Drawable);
- method public static android.graphics.ColorFilter! getColorFilter(android.graphics.drawable.Drawable);
- method public static int getLayoutDirection(android.graphics.drawable.Drawable);
- method public static void inflate(android.graphics.drawable.Drawable, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.content.res.Resources.Theme?) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
- method public static boolean isAutoMirrored(android.graphics.drawable.Drawable);
- method @Deprecated public static void jumpToCurrentState(android.graphics.drawable.Drawable);
- method public static void setAutoMirrored(android.graphics.drawable.Drawable, boolean);
- method public static void setHotspot(android.graphics.drawable.Drawable, float, float);
- method public static void setHotspotBounds(android.graphics.drawable.Drawable, int, int, int, int);
- method public static boolean setLayoutDirection(android.graphics.drawable.Drawable, int);
- method public static void setTint(android.graphics.drawable.Drawable, @ColorInt int);
- method public static void setTintList(android.graphics.drawable.Drawable, android.content.res.ColorStateList?);
- method public static void setTintMode(android.graphics.drawable.Drawable, android.graphics.PorterDuff.Mode);
- method public static <T extends android.graphics.drawable.Drawable> T! unwrap(android.graphics.drawable.Drawable);
- method public static android.graphics.drawable.Drawable! wrap(android.graphics.drawable.Drawable);
- }
-
- public class IconCompat extends androidx.versionedparcelable.CustomVersionedParcelable {
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void addToShortcutIntent(android.content.Intent, android.graphics.drawable.Drawable?, android.content.Context);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void checkResource(android.content.Context);
- method public static androidx.core.graphics.drawable.IconCompat? createFromBundle(android.os.Bundle);
- method @RequiresApi(23) public static androidx.core.graphics.drawable.IconCompat? createFromIcon(android.content.Context, android.graphics.drawable.Icon);
- method @RequiresApi(23) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static androidx.core.graphics.drawable.IconCompat? createFromIcon(android.graphics.drawable.Icon);
- method @RequiresApi(23) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static androidx.core.graphics.drawable.IconCompat? createFromIconOrNullIfZeroResId(android.graphics.drawable.Icon);
- method public static androidx.core.graphics.drawable.IconCompat! createWithAdaptiveBitmap(android.graphics.Bitmap!);
- method public static androidx.core.graphics.drawable.IconCompat createWithAdaptiveBitmapContentUri(String);
- method public static androidx.core.graphics.drawable.IconCompat createWithAdaptiveBitmapContentUri(android.net.Uri);
- method public static androidx.core.graphics.drawable.IconCompat! createWithBitmap(android.graphics.Bitmap!);
- method public static androidx.core.graphics.drawable.IconCompat! createWithContentUri(String!);
- method public static androidx.core.graphics.drawable.IconCompat! createWithContentUri(android.net.Uri!);
- method public static androidx.core.graphics.drawable.IconCompat! createWithData(byte[]!, int, int);
- method public static androidx.core.graphics.drawable.IconCompat! createWithResource(android.content.Context!, @DrawableRes int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static androidx.core.graphics.drawable.IconCompat! createWithResource(android.content.res.Resources!, String!, @DrawableRes int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.graphics.Bitmap? getBitmap();
- method @IdRes public int getResId();
- method public String getResPackage();
- method public int getType();
- method public android.net.Uri getUri();
- method public android.graphics.drawable.Drawable? loadDrawable(android.content.Context);
- method public androidx.core.graphics.drawable.IconCompat! setTint(@ColorInt int);
- method public androidx.core.graphics.drawable.IconCompat! setTintList(android.content.res.ColorStateList!);
- method public androidx.core.graphics.drawable.IconCompat! setTintMode(android.graphics.PorterDuff.Mode!);
- method public android.os.Bundle! toBundle();
- method @Deprecated @RequiresApi(23) public android.graphics.drawable.Icon toIcon();
- method @RequiresApi(23) public android.graphics.drawable.Icon toIcon(android.content.Context?);
- field public static final int TYPE_ADAPTIVE_BITMAP = 5; // 0x5
- field public static final int TYPE_BITMAP = 1; // 0x1
- field public static final int TYPE_DATA = 3; // 0x3
- field public static final int TYPE_RESOURCE = 2; // 0x2
- field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
- field public static final int TYPE_URI = 4; // 0x4
- field public static final int TYPE_URI_ADAPTIVE_BITMAP = 6; // 0x6
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int mType;
- }
-
- public abstract class RoundedBitmapDrawable extends android.graphics.drawable.Drawable {
- method public void draw(android.graphics.Canvas);
- method public final android.graphics.Bitmap? getBitmap();
- method public float getCornerRadius();
- method public int getGravity();
- method public int getOpacity();
- method public final android.graphics.Paint getPaint();
- method public boolean hasAntiAlias();
- method public boolean hasMipMap();
- method public boolean isCircular();
- method public void setAlpha(int);
- method public void setAntiAlias(boolean);
- method public void setCircular(boolean);
- method public void setColorFilter(android.graphics.ColorFilter!);
- method public void setCornerRadius(float);
- method public void setDither(boolean);
- method public void setGravity(int);
- method public void setMipMap(boolean);
- method public void setTargetDensity(android.graphics.Canvas);
- method public void setTargetDensity(android.util.DisplayMetrics);
- method public void setTargetDensity(int);
- }
-
- public final class RoundedBitmapDrawableFactory {
- method public static androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources, android.graphics.Bitmap?);
- method public static androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources, String);
- method public static androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources, java.io.InputStream);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface TintAwareDrawable {
- method public void setTint(@ColorInt int);
- method public void setTintList(android.content.res.ColorStateList!);
- method public void setTintMode(android.graphics.PorterDuff.Mode!);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface WrappedDrawable {
- method public android.graphics.drawable.Drawable! getWrappedDrawable();
- method public void setWrappedDrawable(android.graphics.drawable.Drawable!);
- }
-
-}
-
-package androidx.core.hardware.display {
-
- public final class DisplayManagerCompat {
- method public android.view.Display? getDisplay(int);
- method public android.view.Display![] getDisplays();
- method public android.view.Display![] getDisplays(String?);
- method public static androidx.core.hardware.display.DisplayManagerCompat getInstance(android.content.Context);
- field public static final String DISPLAY_CATEGORY_PRESENTATION = "android.hardware.display.category.PRESENTATION";
- }
-
-}
-
-package androidx.core.hardware.fingerprint {
-
- @Deprecated public class FingerprintManagerCompat {
- method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public void authenticate(androidx.core.hardware.fingerprint.FingerprintManagerCompat.CryptoObject?, int, androidx.core.os.CancellationSignal?, androidx.core.hardware.fingerprint.FingerprintManagerCompat.AuthenticationCallback, android.os.Handler?);
- method @Deprecated public static androidx.core.hardware.fingerprint.FingerprintManagerCompat from(android.content.Context);
- method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public boolean hasEnrolledFingerprints();
- method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public boolean isHardwareDetected();
- }
-
- @Deprecated public abstract static class FingerprintManagerCompat.AuthenticationCallback {
- ctor @Deprecated public FingerprintManagerCompat.AuthenticationCallback();
- method @Deprecated public void onAuthenticationError(int, CharSequence!);
- method @Deprecated public void onAuthenticationFailed();
- method @Deprecated public void onAuthenticationHelp(int, CharSequence!);
- method @Deprecated public void onAuthenticationSucceeded(androidx.core.hardware.fingerprint.FingerprintManagerCompat.AuthenticationResult!);
- }
-
- @Deprecated public static final class FingerprintManagerCompat.AuthenticationResult {
- ctor @Deprecated public FingerprintManagerCompat.AuthenticationResult(androidx.core.hardware.fingerprint.FingerprintManagerCompat.CryptoObject!);
- method @Deprecated public androidx.core.hardware.fingerprint.FingerprintManagerCompat.CryptoObject! getCryptoObject();
- }
-
- @Deprecated public static class FingerprintManagerCompat.CryptoObject {
- ctor @Deprecated public FingerprintManagerCompat.CryptoObject(java.security.Signature);
- ctor @Deprecated public FingerprintManagerCompat.CryptoObject(javax.crypto.Cipher);
- ctor @Deprecated public FingerprintManagerCompat.CryptoObject(javax.crypto.Mac);
- method @Deprecated public javax.crypto.Cipher? getCipher();
- method @Deprecated public javax.crypto.Mac? getMac();
- method @Deprecated public java.security.Signature? getSignature();
- }
-
-}
-
-package androidx.core.internal.view {
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface SupportMenu extends android.view.Menu {
- method public void setGroupDividerEnabled(boolean);
- field public static final int CATEGORY_MASK = -65536; // 0xffff0000
- field public static final int CATEGORY_SHIFT = 16; // 0x10
- field public static final int FLAG_KEEP_OPEN_ON_SUBMENU_OPENED = 4; // 0x4
- field public static final int SUPPORTED_MODIFIERS_MASK = 69647; // 0x1100f
- field public static final int USER_MASK = 65535; // 0xffff
- field public static final int USER_SHIFT = 0; // 0x0
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface SupportMenuItem extends android.view.MenuItem {
- method public int getAlphabeticModifiers();
- method public CharSequence! getContentDescription();
- method public android.content.res.ColorStateList! getIconTintList();
- method public android.graphics.PorterDuff.Mode! getIconTintMode();
- method public int getNumericModifiers();
- method public androidx.core.view.ActionProvider! getSupportActionProvider();
- method public CharSequence! getTooltipText();
- method public boolean requiresActionButton();
- method public boolean requiresOverflow();
- method public android.view.MenuItem! setAlphabeticShortcut(char, int);
- method public androidx.core.internal.view.SupportMenuItem! setContentDescription(CharSequence!);
- method public android.view.MenuItem! setIconTintList(android.content.res.ColorStateList!);
- method public android.view.MenuItem! setIconTintMode(android.graphics.PorterDuff.Mode!);
- method public android.view.MenuItem! setNumericShortcut(char, int);
- method public android.view.MenuItem! setShortcut(char, char, int, int);
- method public androidx.core.internal.view.SupportMenuItem! setSupportActionProvider(androidx.core.view.ActionProvider!);
- method public androidx.core.internal.view.SupportMenuItem! setTooltipText(CharSequence!);
- field public static final int SHOW_AS_ACTION_ALWAYS = 2; // 0x2
- field public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8; // 0x8
- field public static final int SHOW_AS_ACTION_IF_ROOM = 1; // 0x1
- field public static final int SHOW_AS_ACTION_NEVER = 0; // 0x0
- field public static final int SHOW_AS_ACTION_WITH_TEXT = 4; // 0x4
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface SupportSubMenu extends androidx.core.internal.view.SupportMenu android.view.SubMenu {
- }
-
-}
-
-package androidx.core.location {
-
- public final class LocationManagerCompat {
- method public static boolean isLocationEnabled(android.location.LocationManager);
- }
-
-}
-
-package androidx.core.math {
-
- public class MathUtils {
- method public static float clamp(float, float, float);
- method public static double clamp(double, double, double);
- method public static int clamp(int, int, int);
- method public static long clamp(long, long, long);
- }
-
-}
-
-package androidx.core.net {
-
- public final class ConnectivityManagerCompat {
- method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public static android.net.NetworkInfo? getNetworkInfoFromBroadcast(android.net.ConnectivityManager, android.content.Intent);
- method @androidx.core.net.ConnectivityManagerCompat.RestrictBackgroundStatus public static int getRestrictBackgroundStatus(android.net.ConnectivityManager);
- method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public static boolean isActiveNetworkMetered(android.net.ConnectivityManager);
- field public static final int RESTRICT_BACKGROUND_STATUS_DISABLED = 1; // 0x1
- field public static final int RESTRICT_BACKGROUND_STATUS_ENABLED = 3; // 0x3
- field public static final int RESTRICT_BACKGROUND_STATUS_WHITELISTED = 2; // 0x2
- }
-
- @IntDef({androidx.core.net.ConnectivityManagerCompat.RESTRICT_BACKGROUND_STATUS_DISABLED, androidx.core.net.ConnectivityManagerCompat.RESTRICT_BACKGROUND_STATUS_WHITELISTED, androidx.core.net.ConnectivityManagerCompat.RESTRICT_BACKGROUND_STATUS_ENABLED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ConnectivityManagerCompat.RestrictBackgroundStatus {
- }
-
- public final class TrafficStatsCompat {
- method @Deprecated public static void clearThreadStatsTag();
- method @Deprecated public static int getThreadStatsTag();
- method @Deprecated public static void incrementOperationCount(int);
- method @Deprecated public static void incrementOperationCount(int, int);
- method @Deprecated public static void setThreadStatsTag(int);
- method public static void tagDatagramSocket(java.net.DatagramSocket) throws java.net.SocketException;
- method @Deprecated public static void tagSocket(java.net.Socket!) throws java.net.SocketException;
- method public static void untagDatagramSocket(java.net.DatagramSocket) throws java.net.SocketException;
- method @Deprecated public static void untagSocket(java.net.Socket!) throws java.net.SocketException;
- }
-
- public final class UriCompat {
- method public static String toSafeString(android.net.Uri);
- }
-
-}
-
-package androidx.core.os {
-
- public class BuildCompat {
- method @Deprecated public static boolean isAtLeastN();
- method @Deprecated public static boolean isAtLeastNMR1();
- method @Deprecated public static boolean isAtLeastO();
- method @Deprecated public static boolean isAtLeastOMR1();
- method @Deprecated public static boolean isAtLeastP();
- method @Deprecated public static boolean isAtLeastQ();
- method public static boolean isAtLeastR();
- }
-
- public final class CancellationSignal {
- ctor public CancellationSignal();
- method public void cancel();
- method public Object? getCancellationSignalObject();
- method public boolean isCanceled();
- method public void setOnCancelListener(androidx.core.os.CancellationSignal.OnCancelListener?);
- method public void throwIfCanceled();
- }
-
- public static interface CancellationSignal.OnCancelListener {
- method public void onCancel();
- }
-
- public final class ConfigurationCompat {
- method public static androidx.core.os.LocaleListCompat getLocales(android.content.res.Configuration);
- }
-
- public final class EnvironmentCompat {
- method public static String getStorageState(java.io.File);
- field public static final String MEDIA_UNKNOWN = "unknown";
- }
-
- public final class HandlerCompat {
- method public static android.os.Handler createAsync(android.os.Looper);
- method public static android.os.Handler createAsync(android.os.Looper, android.os.Handler.Callback);
- method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
- }
-
- public final class LocaleListCompat {
- method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
- method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
- method public java.util.Locale! get(int);
- method @Size(min=1) public static androidx.core.os.LocaleListCompat getAdjustedDefault();
- method @Size(min=1) public static androidx.core.os.LocaleListCompat getDefault();
- method public static androidx.core.os.LocaleListCompat getEmptyLocaleList();
- method public java.util.Locale? getFirstMatch(String![]);
- method @IntRange(from=0xffffffff) public int indexOf(java.util.Locale!);
- method public boolean isEmpty();
- method @IntRange(from=0) public int size();
- method public String toLanguageTags();
- method public Object? unwrap();
- method @Deprecated @RequiresApi(24) public static androidx.core.os.LocaleListCompat! wrap(Object!);
- method @RequiresApi(24) public static androidx.core.os.LocaleListCompat wrap(android.os.LocaleList);
- }
-
- public final class MessageCompat {
- method public static boolean isAsynchronous(android.os.Message);
- method public static void setAsynchronous(android.os.Message, boolean);
- }
-
- public class OperationCanceledException extends java.lang.RuntimeException {
- ctor public OperationCanceledException();
- ctor public OperationCanceledException(String?);
- }
-
- public final class ParcelCompat {
- method public static boolean readBoolean(android.os.Parcel);
- method public static void writeBoolean(android.os.Parcel, boolean);
- }
-
- @Deprecated public final class ParcelableCompat {
- method @Deprecated public static <T> android.os.Parcelable.Creator<T!>! newCreator(androidx.core.os.ParcelableCompatCreatorCallbacks<T!>!);
- }
-
- @Deprecated public interface ParcelableCompatCreatorCallbacks<T> {
- method @Deprecated public T! createFromParcel(android.os.Parcel!, ClassLoader!);
- method @Deprecated public T![]! newArray(int);
- }
-
- public final class TraceCompat {
- method public static void beginAsyncSection(String, int);
- method public static void beginSection(String);
- method public static void endAsyncSection(String, int);
- method public static void endSection();
- method public static boolean isEnabled();
- method public static void setCounter(String, int);
- }
-
- public class UserManagerCompat {
- method public static boolean isUserUnlocked(android.content.Context);
- }
-
-}
-
-package androidx.core.provider {
-
- public final class FontRequest {
- ctor public FontRequest(String, String, String, java.util.List<java.util.List<byte[]!>!>);
- ctor public FontRequest(String, String, String, @ArrayRes int);
- method public java.util.List<java.util.List<byte[]!>!>? getCertificates();
- method @ArrayRes public int getCertificatesArrayResId();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String! getIdentifier();
- method public String getProviderAuthority();
- method public String getProviderPackage();
- method public String getQuery();
- }
-
- public class FontsContractCompat {
- method public static android.graphics.Typeface? buildTypeface(android.content.Context, android.os.CancellationSignal?, androidx.core.provider.FontsContractCompat.FontInfo![]);
- method public static androidx.core.provider.FontsContractCompat.FontFamilyResult fetchFonts(android.content.Context, android.os.CancellationSignal?, androidx.core.provider.FontRequest) throws android.content.pm.PackageManager.NameNotFoundException;
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static android.graphics.Typeface! getFontSync(android.content.Context!, androidx.core.provider.FontRequest!, androidx.core.content.res.ResourcesCompat.FontCallback?, android.os.Handler?, boolean, int, int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @VisibleForTesting public static android.content.pm.ProviderInfo? getProvider(android.content.pm.PackageManager, androidx.core.provider.FontRequest, android.content.res.Resources?) throws android.content.pm.PackageManager.NameNotFoundException;
- method @RequiresApi(19) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static java.util.Map<android.net.Uri!,java.nio.ByteBuffer!>! prepareFontData(android.content.Context!, androidx.core.provider.FontsContractCompat.FontInfo![]!, android.os.CancellationSignal!);
- method public static void requestFont(android.content.Context, androidx.core.provider.FontRequest, androidx.core.provider.FontsContractCompat.FontRequestCallback, android.os.Handler);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static void resetCache();
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String PARCEL_FONT_RESULTS = "font_results";
- }
-
- public static final class FontsContractCompat.Columns implements android.provider.BaseColumns {
- ctor public FontsContractCompat.Columns();
- field public static final String FILE_ID = "file_id";
- field public static final String ITALIC = "font_italic";
- field public static final String RESULT_CODE = "result_code";
- field public static final int RESULT_CODE_FONT_NOT_FOUND = 1; // 0x1
- field public static final int RESULT_CODE_FONT_UNAVAILABLE = 2; // 0x2
- field public static final int RESULT_CODE_MALFORMED_QUERY = 3; // 0x3
- field public static final int RESULT_CODE_OK = 0; // 0x0
- field public static final String TTC_INDEX = "font_ttc_index";
- field public static final String VARIATION_SETTINGS = "font_variation_settings";
- field public static final String WEIGHT = "font_weight";
- }
-
- public static class FontsContractCompat.FontFamilyResult {
- ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public FontsContractCompat.FontFamilyResult(int, androidx.core.provider.FontsContractCompat.FontInfo![]?);
- method public androidx.core.provider.FontsContractCompat.FontInfo![]! getFonts();
- method public int getStatusCode();
- field public static final int STATUS_OK = 0; // 0x0
- field public static final int STATUS_UNEXPECTED_DATA_PROVIDED = 2; // 0x2
- field public static final int STATUS_WRONG_CERTIFICATES = 1; // 0x1
- }
-
- public static class FontsContractCompat.FontInfo {
- ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public FontsContractCompat.FontInfo(android.net.Uri, @IntRange(from=0) int, @IntRange(from=1, to=1000) int, boolean, int);
- method public int getResultCode();
- method @IntRange(from=0) public int getTtcIndex();
- method public android.net.Uri getUri();
- method @IntRange(from=1, to=1000) public int getWeight();
- method public boolean isItalic();
- }
-
- public static class FontsContractCompat.FontRequestCallback {
- ctor public FontsContractCompat.FontRequestCallback();
- method public void onTypefaceRequestFailed(@androidx.core.provider.FontsContractCompat.FontRequestCallback.FontRequestFailReason int);
- method public void onTypefaceRetrieved(android.graphics.Typeface!);
- field public static final int FAIL_REASON_FONT_LOAD_ERROR = -3; // 0xfffffffd
- field public static final int FAIL_REASON_FONT_NOT_FOUND = 1; // 0x1
- field public static final int FAIL_REASON_FONT_UNAVAILABLE = 2; // 0x2
- field public static final int FAIL_REASON_MALFORMED_QUERY = 3; // 0x3
- field public static final int FAIL_REASON_PROVIDER_NOT_FOUND = -1; // 0xffffffff
- field public static final int FAIL_REASON_SECURITY_VIOLATION = -4; // 0xfffffffc
- field public static final int FAIL_REASON_WRONG_CERTIFICATES = -2; // 0xfffffffe
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int RESULT_OK = 0; // 0x0
- }
-
- @IntDef({androidx.core.provider.FontsContractCompat.FontRequestCallback.FAIL_REASON_PROVIDER_NOT_FOUND, androidx.core.provider.FontsContractCompat.FontRequestCallback.FAIL_REASON_FONT_LOAD_ERROR, androidx.core.provider.FontsContractCompat.FontRequestCallback.FAIL_REASON_FONT_NOT_FOUND, androidx.core.provider.FontsContractCompat.FontRequestCallback.FAIL_REASON_FONT_UNAVAILABLE, androidx.core.provider.FontsContractCompat.FontRequestCallback.FAIL_REASON_MALFORMED_QUERY, androidx.core.provider.FontsContractCompat.FontRequestCallback.FAIL_REASON_WRONG_CERTIFICATES, androidx.core.provider.FontsContractCompat.FontRequestCallback.FAIL_REASON_SECURITY_VIOLATION, androidx.core.provider.FontsContractCompat.FontRequestCallback.RESULT_OK}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface FontsContractCompat.FontRequestCallback.FontRequestFailReason {
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class SelfDestructiveThread {
- ctor public SelfDestructiveThread(String!, int, int);
- method @VisibleForTesting public int getGeneration();
- method @VisibleForTesting public boolean isRunning();
- method public <T> void postAndReply(java.util.concurrent.Callable<T!>!, androidx.core.provider.SelfDestructiveThread.ReplyCallback<T!>!);
- method public <T> T! postAndWait(java.util.concurrent.Callable<T!>!, int) throws java.lang.InterruptedException;
- }
-
- public static interface SelfDestructiveThread.ReplyCallback<T> {
- method public void onReply(T!);
- }
-
-}
-
-package androidx.core.telephony.mbms {
-
- public final class MbmsHelper {
- method public static CharSequence? getBestNameForService(android.content.Context, android.telephony.mbms.ServiceInfo);
- }
-
-}
-
-package androidx.core.text {
-
- public final class BidiFormatter {
- method public static androidx.core.text.BidiFormatter! getInstance();
- method public static androidx.core.text.BidiFormatter! getInstance(boolean);
- method public static androidx.core.text.BidiFormatter! getInstance(java.util.Locale!);
- method public boolean getStereoReset();
- method public boolean isRtl(String!);
- method public boolean isRtl(CharSequence!);
- method public boolean isRtlContext();
- method public String! unicodeWrap(String!, androidx.core.text.TextDirectionHeuristicCompat!, boolean);
- method public CharSequence! unicodeWrap(CharSequence!, androidx.core.text.TextDirectionHeuristicCompat!, boolean);
- method public String! unicodeWrap(String!, androidx.core.text.TextDirectionHeuristicCompat!);
- method public CharSequence! unicodeWrap(CharSequence!, androidx.core.text.TextDirectionHeuristicCompat!);
- method public String! unicodeWrap(String!, boolean);
- method public CharSequence! unicodeWrap(CharSequence!, boolean);
- method public String! unicodeWrap(String!);
- method public CharSequence! unicodeWrap(CharSequence!);
- }
-
- public static final class BidiFormatter.Builder {
- ctor public BidiFormatter.Builder();
- ctor public BidiFormatter.Builder(boolean);
- ctor public BidiFormatter.Builder(java.util.Locale!);
- method public androidx.core.text.BidiFormatter! build();
- method public androidx.core.text.BidiFormatter.Builder! setTextDirectionHeuristic(androidx.core.text.TextDirectionHeuristicCompat!);
- method public androidx.core.text.BidiFormatter.Builder! stereoReset(boolean);
- }
-
- public final class HtmlCompat {
- method public static android.text.Spanned fromHtml(String, int);
- method public static android.text.Spanned fromHtml(String, int, android.text.Html.ImageGetter?, android.text.Html.TagHandler?);
- method public static String toHtml(android.text.Spanned, int);
- field public static final int FROM_HTML_MODE_COMPACT = 63; // 0x3f
- field public static final int FROM_HTML_MODE_LEGACY = 0; // 0x0
- field public static final int FROM_HTML_OPTION_USE_CSS_COLORS = 256; // 0x100
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE = 32; // 0x20
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_DIV = 16; // 0x10
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_HEADING = 2; // 0x2
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST = 8; // 0x8
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM = 4; // 0x4
- field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH = 1; // 0x1
- field public static final int TO_HTML_PARAGRAPH_LINES_CONSECUTIVE = 0; // 0x0
- field public static final int TO_HTML_PARAGRAPH_LINES_INDIVIDUAL = 1; // 0x1
- }
-
- public final class ICUCompat {
- method public static String? maximizeAndGetScript(java.util.Locale!);
- }
-
- public class PrecomputedTextCompat implements android.text.Spannable {
- method public char charAt(int);
- method public static androidx.core.text.PrecomputedTextCompat! create(CharSequence, androidx.core.text.PrecomputedTextCompat.Params);
- method @IntRange(from=0) public int getParagraphCount();
- method @IntRange(from=0) public int getParagraphEnd(@IntRange(from=0) int);
- method @IntRange(from=0) public int getParagraphStart(@IntRange(from=0) int);
- method public androidx.core.text.PrecomputedTextCompat.Params getParams();
- method @RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.text.PrecomputedText? getPrecomputedText();
- method public int getSpanEnd(Object!);
- method public int getSpanFlags(Object!);
- method public int getSpanStart(Object!);
- method public <T> T![]! getSpans(int, int, Class<T!>!);
- method @UiThread public static java.util.concurrent.Future<androidx.core.text.PrecomputedTextCompat!>! getTextFuture(CharSequence, androidx.core.text.PrecomputedTextCompat.Params, java.util.concurrent.Executor?);
- method public int length();
- method public int nextSpanTransition(int, int, Class!);
- method public void removeSpan(Object!);
- method public void setSpan(Object!, int, int, int);
- method public CharSequence! subSequence(int, int);
- }
-
- public static final class PrecomputedTextCompat.Params {
- ctor @RequiresApi(28) public PrecomputedTextCompat.Params(android.text.PrecomputedText.Params);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean equalsWithoutTextDirection(androidx.core.text.PrecomputedTextCompat.Params);
- method @RequiresApi(23) public int getBreakStrategy();
- method @RequiresApi(23) public int getHyphenationFrequency();
- method @RequiresApi(18) public android.text.TextDirectionHeuristic? getTextDirection();
- method public android.text.TextPaint getTextPaint();
- }
-
- public static class PrecomputedTextCompat.Params.Builder {
- ctor public PrecomputedTextCompat.Params.Builder(android.text.TextPaint);
- method public androidx.core.text.PrecomputedTextCompat.Params build();
- method @RequiresApi(23) public androidx.core.text.PrecomputedTextCompat.Params.Builder! setBreakStrategy(int);
- method @RequiresApi(23) public androidx.core.text.PrecomputedTextCompat.Params.Builder! setHyphenationFrequency(int);
- method @RequiresApi(18) public androidx.core.text.PrecomputedTextCompat.Params.Builder! setTextDirection(android.text.TextDirectionHeuristic);
- }
-
- public interface TextDirectionHeuristicCompat {
- method public boolean isRtl(char[]!, int, int);
- method public boolean isRtl(CharSequence!, int, int);
- }
-
- public final class TextDirectionHeuristicsCompat {
- field public static final androidx.core.text.TextDirectionHeuristicCompat! ANYRTL_LTR;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! FIRSTSTRONG_LTR;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! FIRSTSTRONG_RTL;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! LOCALE;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! LTR;
- field public static final androidx.core.text.TextDirectionHeuristicCompat! RTL;
- }
-
- public final class TextUtilsCompat {
- method public static int getLayoutDirectionFromLocale(java.util.Locale?);
- method public static String htmlEncode(String);
- }
-
-}
-
-package androidx.core.text.util {
-
- public final class LinkifyCompat {
- method public static boolean addLinks(android.text.Spannable, @androidx.core.text.util.LinkifyCompat.LinkifyMask int);
- method public static boolean addLinks(android.widget.TextView, @androidx.core.text.util.LinkifyCompat.LinkifyMask int);
- method public static void addLinks(android.widget.TextView, java.util.regex.Pattern, String?);
- method public static void addLinks(android.widget.TextView, java.util.regex.Pattern, String?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- method public static void addLinks(android.widget.TextView, java.util.regex.Pattern, String?, String![]?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- method public static boolean addLinks(android.text.Spannable, java.util.regex.Pattern, String?);
- method public static boolean addLinks(android.text.Spannable, java.util.regex.Pattern, String?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- method public static boolean addLinks(android.text.Spannable, java.util.regex.Pattern, String?, String![]?, android.text.util.Linkify.MatchFilter?, android.text.util.Linkify.TransformFilter?);
- }
-
- @IntDef(flag=true, value={android.text.util.Linkify.WEB_URLS, android.text.util.Linkify.EMAIL_ADDRESSES, android.text.util.Linkify.PHONE_NUMBERS, android.text.util.Linkify.MAP_ADDRESSES, android.text.util.Linkify.ALL}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface LinkifyCompat.LinkifyMask {
- }
-
-}
-
-package androidx.core.util {
-
- public class AtomicFile {
- ctor public AtomicFile(java.io.File);
- method public void delete();
- method public void failWrite(java.io.FileOutputStream?);
- method public void finishWrite(java.io.FileOutputStream?);
- method public java.io.File getBaseFile();
- method public java.io.FileInputStream openRead() throws java.io.FileNotFoundException;
- method public byte[] readFully() throws java.io.IOException;
- method public java.io.FileOutputStream startWrite() throws java.io.IOException;
- }
-
- public interface Consumer<T> {
- method public void accept(T!);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class DebugUtils {
- method public static void buildShortClassTag(Object!, StringBuilder!);
- }
-
- @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class LogWriter extends java.io.Writer {
- ctor @Deprecated public LogWriter(String!);
- method @Deprecated public void close();
- method @Deprecated public void flush();
- method @Deprecated public void write(char[]!, int, int);
- }
-
- public class ObjectsCompat {
- method public static boolean equals(Object?, Object?);
- method public static int hash(java.lang.Object!...);
- method public static int hashCode(Object?);
- }
-
- public class Pair<F, S> {
- ctor public Pair(F?, S?);
- method public static <A, B> androidx.core.util.Pair<A!,B!> create(A?, B?);
- field public final F? first;
- field public final S? second;
- }
-
- public final class PatternsCompat {
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final java.util.regex.Pattern! AUTOLINK_EMAIL_ADDRESS;
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final java.util.regex.Pattern! AUTOLINK_WEB_URL;
- field public static final java.util.regex.Pattern! DOMAIN_NAME;
- field public static final java.util.regex.Pattern! EMAIL_ADDRESS;
- field public static final java.util.regex.Pattern! IP_ADDRESS;
- field public static final java.util.regex.Pattern! WEB_URL;
- }
-
- public final class Pools {
- }
-
- public static interface Pools.Pool<T> {
- method public T? acquire();
- method public boolean release(T);
- }
-
- public static class Pools.SimplePool<T> implements androidx.core.util.Pools.Pool<T> {
- ctor public Pools.SimplePool(int);
- method public T! acquire();
- method public boolean release(T);
- }
-
- public static class Pools.SynchronizedPool<T> extends androidx.core.util.Pools.SimplePool<T> {
- ctor public Pools.SynchronizedPool(int);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class Preconditions {
- method public static void checkArgument(boolean);
- method public static void checkArgument(boolean, Object);
- method public static int checkArgumentInRange(int, int, int, String);
- method @IntRange(from=0) public static int checkArgumentNonnegative(int, String?);
- method @IntRange(from=0) public static int checkArgumentNonnegative(int);
- method public static <T> T checkNotNull(T?);
- method public static <T> T checkNotNull(T?, Object);
- method public static void checkState(boolean, String?);
- method public static void checkState(boolean);
- }
-
- public interface Predicate<T> {
- method public boolean test(T!);
- }
-
- public interface Supplier<T> {
- method public T! get();
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class TimeUtils {
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static void formatDuration(long, StringBuilder!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static void formatDuration(long, java.io.PrintWriter!, int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static void formatDuration(long, java.io.PrintWriter!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static void formatDuration(long, long, java.io.PrintWriter!);
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int HUNDRED_DAY_FIELD_LEN = 19; // 0x13
- }
-
-}
-
-package androidx.core.view {
-
- public class AccessibilityDelegateCompat {
- ctor public AccessibilityDelegateCompat();
- ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public AccessibilityDelegateCompat(android.view.View.AccessibilityDelegate!);
- method public boolean dispatchPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public androidx.core.view.accessibility.AccessibilityNodeProviderCompat! getAccessibilityNodeProvider(android.view.View!);
- method public void onInitializeAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public void onInitializeAccessibilityNodeInfo(android.view.View!, androidx.core.view.accessibility.AccessibilityNodeInfoCompat!);
- method public void onPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public boolean onRequestSendAccessibilityEvent(android.view.ViewGroup!, android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public boolean performAccessibilityAction(android.view.View!, int, android.os.Bundle!);
- method public void sendAccessibilityEvent(android.view.View!, int);
- method public void sendAccessibilityEventUnchecked(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- }
-
- public abstract class ActionProvider {
- ctor public ActionProvider(android.content.Context!);
- method public android.content.Context! getContext();
- method public boolean hasSubMenu();
- method public boolean isVisible();
- method public abstract android.view.View! onCreateActionView();
- method public android.view.View! onCreateActionView(android.view.MenuItem!);
- method public boolean onPerformDefaultAction();
- method public void onPrepareSubMenu(android.view.SubMenu!);
- method public boolean overridesItemVisibility();
- method public void refreshVisibility();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void reset();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSubUiVisibilityListener(androidx.core.view.ActionProvider.SubUiVisibilityListener!);
- method public void setVisibilityListener(androidx.core.view.ActionProvider.VisibilityListener!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void subUiVisibilityChanged(boolean);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static interface ActionProvider.SubUiVisibilityListener {
- method public void onSubUiVisibilityChanged(boolean);
- }
-
- public static interface ActionProvider.VisibilityListener {
- method public void onActionProviderVisibilityChanged(boolean);
- }
-
- public final class DisplayCompat {
- method public static androidx.core.view.DisplayCompat.ModeCompat![] getSupportedModes(android.content.Context, android.view.Display);
- }
-
- public static final class DisplayCompat.ModeCompat {
- method public int getPhysicalHeight();
- method public int getPhysicalWidth();
- method public boolean isNative();
- method @RequiresApi(android.os.Build.VERSION_CODES.M) public android.view.Display.Mode? toMode();
- }
-
- public final class DisplayCutoutCompat {
- ctor public DisplayCutoutCompat(android.graphics.Rect!, java.util.List<android.graphics.Rect!>!);
- method public java.util.List<android.graphics.Rect!>! getBoundingRects();
- method public int getSafeInsetBottom();
- method public int getSafeInsetLeft();
- method public int getSafeInsetRight();
- method public int getSafeInsetTop();
- }
-
- public final class DragAndDropPermissionsCompat {
- method public void release();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static androidx.core.view.DragAndDropPermissionsCompat? request(android.app.Activity!, android.view.DragEvent!);
- }
-
- public class DragStartHelper {
- ctor public DragStartHelper(android.view.View!, androidx.core.view.DragStartHelper.OnDragStartListener!);
- method public void attach();
- method public void detach();
- method public void getTouchPosition(android.graphics.Point!);
- method public boolean onLongClick(android.view.View!);
- method public boolean onTouch(android.view.View!, android.view.MotionEvent!);
- }
-
- public static interface DragStartHelper.OnDragStartListener {
- method public boolean onDragStart(android.view.View!, androidx.core.view.DragStartHelper!);
- }
-
- public final class GestureDetectorCompat {
- ctor public GestureDetectorCompat(android.content.Context!, android.view.GestureDetector.OnGestureListener!);
- ctor public GestureDetectorCompat(android.content.Context!, android.view.GestureDetector.OnGestureListener!, android.os.Handler!);
- method public boolean isLongpressEnabled();
- method public boolean onTouchEvent(android.view.MotionEvent!);
- method public void setIsLongpressEnabled(boolean);
- method public void setOnDoubleTapListener(android.view.GestureDetector.OnDoubleTapListener!);
- }
-
- public final class GravityCompat {
- method public static void apply(int, int, int, android.graphics.Rect!, android.graphics.Rect!, int);
- method public static void apply(int, int, int, android.graphics.Rect!, int, int, android.graphics.Rect!, int);
- method public static void applyDisplay(int, android.graphics.Rect!, android.graphics.Rect!, int);
- method public static int getAbsoluteGravity(int, int);
- field public static final int END = 8388613; // 0x800005
- field public static final int RELATIVE_HORIZONTAL_GRAVITY_MASK = 8388615; // 0x800007
- field public static final int RELATIVE_LAYOUT_DIRECTION = 8388608; // 0x800000
- field public static final int START = 8388611; // 0x800003
- }
-
- public final class InputDeviceCompat {
- field public static final int SOURCE_ANY = -256; // 0xffffff00
- field public static final int SOURCE_CLASS_BUTTON = 1; // 0x1
- field public static final int SOURCE_CLASS_JOYSTICK = 16; // 0x10
- field public static final int SOURCE_CLASS_MASK = 255; // 0xff
- field public static final int SOURCE_CLASS_NONE = 0; // 0x0
- field public static final int SOURCE_CLASS_POINTER = 2; // 0x2
- field public static final int SOURCE_CLASS_POSITION = 8; // 0x8
- field public static final int SOURCE_CLASS_TRACKBALL = 4; // 0x4
- field public static final int SOURCE_DPAD = 513; // 0x201
- field public static final int SOURCE_GAMEPAD = 1025; // 0x401
- field public static final int SOURCE_HDMI = 33554433; // 0x2000001
- field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010
- field public static final int SOURCE_KEYBOARD = 257; // 0x101
- field public static final int SOURCE_MOUSE = 8194; // 0x2002
- field public static final int SOURCE_ROTARY_ENCODER = 4194304; // 0x400000
- field public static final int SOURCE_STYLUS = 16386; // 0x4002
- field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008
- field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002
- field public static final int SOURCE_TOUCH_NAVIGATION = 2097152; // 0x200000
- field public static final int SOURCE_TRACKBALL = 65540; // 0x10004
- field public static final int SOURCE_UNKNOWN = 0; // 0x0
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class KeyEventDispatcher {
- method public static boolean dispatchBeforeHierarchy(android.view.View, android.view.KeyEvent);
- method public static boolean dispatchKeyEvent(androidx.core.view.KeyEventDispatcher.Component, android.view.View?, android.view.Window.Callback?, android.view.KeyEvent);
- }
-
- public static interface KeyEventDispatcher.Component {
- method public boolean superDispatchKeyEvent(android.view.KeyEvent!);
- }
-
- public final class LayoutInflaterCompat {
- method @Deprecated public static androidx.core.view.LayoutInflaterFactory! getFactory(android.view.LayoutInflater!);
- method @Deprecated public static void setFactory(android.view.LayoutInflater, androidx.core.view.LayoutInflaterFactory);
- method public static void setFactory2(android.view.LayoutInflater, android.view.LayoutInflater.Factory2);
- }
-
- @Deprecated public interface LayoutInflaterFactory {
- method @Deprecated public android.view.View! onCreateView(android.view.View!, String!, android.content.Context!, android.util.AttributeSet!);
- }
-
- public final class MarginLayoutParamsCompat {
- method public static int getLayoutDirection(android.view.ViewGroup.MarginLayoutParams!);
- method public static int getMarginEnd(android.view.ViewGroup.MarginLayoutParams!);
- method public static int getMarginStart(android.view.ViewGroup.MarginLayoutParams!);
- method public static boolean isMarginRelative(android.view.ViewGroup.MarginLayoutParams!);
- method public static void resolveLayoutDirection(android.view.ViewGroup.MarginLayoutParams!, int);
- method public static void setLayoutDirection(android.view.ViewGroup.MarginLayoutParams!, int);
- method public static void setMarginEnd(android.view.ViewGroup.MarginLayoutParams!, int);
- method public static void setMarginStart(android.view.ViewGroup.MarginLayoutParams!, int);
- }
-
- public final class MenuCompat {
- method public static void setGroupDividerEnabled(android.view.Menu!, boolean);
- method @Deprecated public static void setShowAsAction(android.view.MenuItem!, int);
- }
-
- public final class MenuItemCompat {
- method @Deprecated public static boolean collapseActionView(android.view.MenuItem!);
- method @Deprecated public static boolean expandActionView(android.view.MenuItem!);
- method public static androidx.core.view.ActionProvider! getActionProvider(android.view.MenuItem!);
- method @Deprecated public static android.view.View! getActionView(android.view.MenuItem!);
- method public static int getAlphabeticModifiers(android.view.MenuItem!);
- method public static CharSequence! getContentDescription(android.view.MenuItem!);
- method public static android.content.res.ColorStateList! getIconTintList(android.view.MenuItem!);
- method public static android.graphics.PorterDuff.Mode! getIconTintMode(android.view.MenuItem!);
- method public static int getNumericModifiers(android.view.MenuItem!);
- method public static CharSequence! getTooltipText(android.view.MenuItem!);
- method @Deprecated public static boolean isActionViewExpanded(android.view.MenuItem!);
- method public static android.view.MenuItem! setActionProvider(android.view.MenuItem!, androidx.core.view.ActionProvider!);
- method @Deprecated public static android.view.MenuItem! setActionView(android.view.MenuItem!, android.view.View!);
- method @Deprecated public static android.view.MenuItem! setActionView(android.view.MenuItem!, int);
- method public static void setAlphabeticShortcut(android.view.MenuItem!, char, int);
- method public static void setContentDescription(android.view.MenuItem!, CharSequence!);
- method public static void setIconTintList(android.view.MenuItem!, android.content.res.ColorStateList!);
- method public static void setIconTintMode(android.view.MenuItem!, android.graphics.PorterDuff.Mode!);
- method public static void setNumericShortcut(android.view.MenuItem!, char, int);
- method @Deprecated public static android.view.MenuItem! setOnActionExpandListener(android.view.MenuItem!, androidx.core.view.MenuItemCompat.OnActionExpandListener!);
- method public static void setShortcut(android.view.MenuItem!, char, char, int, int);
- method @Deprecated public static void setShowAsAction(android.view.MenuItem!, int);
- method public static void setTooltipText(android.view.MenuItem!, CharSequence!);
- field @Deprecated public static final int SHOW_AS_ACTION_ALWAYS = 2; // 0x2
- field @Deprecated public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8; // 0x8
- field @Deprecated public static final int SHOW_AS_ACTION_IF_ROOM = 1; // 0x1
- field @Deprecated public static final int SHOW_AS_ACTION_NEVER = 0; // 0x0
- field @Deprecated public static final int SHOW_AS_ACTION_WITH_TEXT = 4; // 0x4
- }
-
- @Deprecated public static interface MenuItemCompat.OnActionExpandListener {
- method @Deprecated public boolean onMenuItemActionCollapse(android.view.MenuItem!);
- method @Deprecated public boolean onMenuItemActionExpand(android.view.MenuItem!);
- }
-
- public final class MotionEventCompat {
- method @Deprecated public static int findPointerIndex(android.view.MotionEvent!, int);
- method @Deprecated public static int getActionIndex(android.view.MotionEvent!);
- method @Deprecated public static int getActionMasked(android.view.MotionEvent!);
- method @Deprecated public static float getAxisValue(android.view.MotionEvent!, int);
- method @Deprecated public static float getAxisValue(android.view.MotionEvent!, int, int);
- method @Deprecated public static int getButtonState(android.view.MotionEvent!);
- method @Deprecated public static int getPointerCount(android.view.MotionEvent!);
- method @Deprecated public static int getPointerId(android.view.MotionEvent!, int);
- method @Deprecated public static int getSource(android.view.MotionEvent!);
- method @Deprecated public static float getX(android.view.MotionEvent!, int);
- method @Deprecated public static float getY(android.view.MotionEvent!, int);
- method public static boolean isFromSource(android.view.MotionEvent!, int);
- field @Deprecated public static final int ACTION_HOVER_ENTER = 9; // 0x9
- field @Deprecated public static final int ACTION_HOVER_EXIT = 10; // 0xa
- field @Deprecated public static final int ACTION_HOVER_MOVE = 7; // 0x7
- field @Deprecated public static final int ACTION_MASK = 255; // 0xff
- field @Deprecated public static final int ACTION_POINTER_DOWN = 5; // 0x5
- field @Deprecated public static final int ACTION_POINTER_INDEX_MASK = 65280; // 0xff00
- field @Deprecated public static final int ACTION_POINTER_INDEX_SHIFT = 8; // 0x8
- field @Deprecated public static final int ACTION_POINTER_UP = 6; // 0x6
- field @Deprecated public static final int ACTION_SCROLL = 8; // 0x8
- field @Deprecated public static final int AXIS_BRAKE = 23; // 0x17
- field @Deprecated public static final int AXIS_DISTANCE = 24; // 0x18
- field @Deprecated public static final int AXIS_GAS = 22; // 0x16
- field @Deprecated public static final int AXIS_GENERIC_1 = 32; // 0x20
- field @Deprecated public static final int AXIS_GENERIC_10 = 41; // 0x29
- field @Deprecated public static final int AXIS_GENERIC_11 = 42; // 0x2a
- field @Deprecated public static final int AXIS_GENERIC_12 = 43; // 0x2b
- field @Deprecated public static final int AXIS_GENERIC_13 = 44; // 0x2c
- field @Deprecated public static final int AXIS_GENERIC_14 = 45; // 0x2d
- field @Deprecated public static final int AXIS_GENERIC_15 = 46; // 0x2e
- field @Deprecated public static final int AXIS_GENERIC_16 = 47; // 0x2f
- field @Deprecated public static final int AXIS_GENERIC_2 = 33; // 0x21
- field @Deprecated public static final int AXIS_GENERIC_3 = 34; // 0x22
- field @Deprecated public static final int AXIS_GENERIC_4 = 35; // 0x23
- field @Deprecated public static final int AXIS_GENERIC_5 = 36; // 0x24
- field @Deprecated public static final int AXIS_GENERIC_6 = 37; // 0x25
- field @Deprecated public static final int AXIS_GENERIC_7 = 38; // 0x26
- field @Deprecated public static final int AXIS_GENERIC_8 = 39; // 0x27
- field @Deprecated public static final int AXIS_GENERIC_9 = 40; // 0x28
- field @Deprecated public static final int AXIS_HAT_X = 15; // 0xf
- field @Deprecated public static final int AXIS_HAT_Y = 16; // 0x10
- field @Deprecated public static final int AXIS_HSCROLL = 10; // 0xa
- field @Deprecated public static final int AXIS_LTRIGGER = 17; // 0x11
- field @Deprecated public static final int AXIS_ORIENTATION = 8; // 0x8
- field @Deprecated public static final int AXIS_PRESSURE = 2; // 0x2
- field public static final int AXIS_RELATIVE_X = 27; // 0x1b
- field public static final int AXIS_RELATIVE_Y = 28; // 0x1c
- field @Deprecated public static final int AXIS_RTRIGGER = 18; // 0x12
- field @Deprecated public static final int AXIS_RUDDER = 20; // 0x14
- field @Deprecated public static final int AXIS_RX = 12; // 0xc
- field @Deprecated public static final int AXIS_RY = 13; // 0xd
- field @Deprecated public static final int AXIS_RZ = 14; // 0xe
- field public static final int AXIS_SCROLL = 26; // 0x1a
- field @Deprecated public static final int AXIS_SIZE = 3; // 0x3
- field @Deprecated public static final int AXIS_THROTTLE = 19; // 0x13
- field @Deprecated public static final int AXIS_TILT = 25; // 0x19
- field @Deprecated public static final int AXIS_TOOL_MAJOR = 6; // 0x6
- field @Deprecated public static final int AXIS_TOOL_MINOR = 7; // 0x7
- field @Deprecated public static final int AXIS_TOUCH_MAJOR = 4; // 0x4
- field @Deprecated public static final int AXIS_TOUCH_MINOR = 5; // 0x5
- field @Deprecated public static final int AXIS_VSCROLL = 9; // 0x9
- field @Deprecated public static final int AXIS_WHEEL = 21; // 0x15
- field @Deprecated public static final int AXIS_X = 0; // 0x0
- field @Deprecated public static final int AXIS_Y = 1; // 0x1
- field @Deprecated public static final int AXIS_Z = 11; // 0xb
- field @Deprecated public static final int BUTTON_PRIMARY = 1; // 0x1
- }
-
- public interface NestedScrollingChild {
- method public boolean dispatchNestedFling(float, float, boolean);
- method public boolean dispatchNestedPreFling(float, float);
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?);
- method public boolean hasNestedScrollingParent();
- method public boolean isNestedScrollingEnabled();
- method public void setNestedScrollingEnabled(boolean);
- method public boolean startNestedScroll(@androidx.core.view.ViewCompat.ScrollAxis int);
- method public void stopNestedScroll();
- }
-
- public interface NestedScrollingChild2 extends androidx.core.view.NestedScrollingChild {
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public boolean hasNestedScrollingParent(@androidx.core.view.ViewCompat.NestedScrollType int);
- method public boolean startNestedScroll(@androidx.core.view.ViewCompat.ScrollAxis int, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public void stopNestedScroll(@androidx.core.view.ViewCompat.NestedScrollType int);
- }
-
- public interface NestedScrollingChild3 extends androidx.core.view.NestedScrollingChild2 {
- method public void dispatchNestedScroll(int, int, int, int, int[]?, @androidx.core.view.ViewCompat.NestedScrollType int, int[]);
- }
-
- public class NestedScrollingChildHelper {
- ctor public NestedScrollingChildHelper(android.view.View);
- method public boolean dispatchNestedFling(float, float, boolean);
- method public boolean dispatchNestedPreFling(float, float);
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?);
- method public boolean dispatchNestedPreScroll(int, int, int[]?, int[]?, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]?, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public void dispatchNestedScroll(int, int, int, int, int[]?, @androidx.core.view.ViewCompat.NestedScrollType int, int[]?);
- method public boolean hasNestedScrollingParent();
- method public boolean hasNestedScrollingParent(@androidx.core.view.ViewCompat.NestedScrollType int);
- method public boolean isNestedScrollingEnabled();
- method public void onDetachedFromWindow();
- method public void onStopNestedScroll(android.view.View);
- method public void setNestedScrollingEnabled(boolean);
- method public boolean startNestedScroll(@androidx.core.view.ViewCompat.ScrollAxis int);
- method public boolean startNestedScroll(@androidx.core.view.ViewCompat.ScrollAxis int, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public void stopNestedScroll();
- method public void stopNestedScroll(@androidx.core.view.ViewCompat.NestedScrollType int);
- }
-
- public interface NestedScrollingParent {
- method @androidx.core.view.ViewCompat.ScrollAxis public int getNestedScrollAxes();
- method public boolean onNestedFling(android.view.View, float, float, boolean);
- method public boolean onNestedPreFling(android.view.View, float, float);
- method public void onNestedPreScroll(android.view.View, int, int, int[]);
- method public void onNestedScroll(android.view.View, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, @androidx.core.view.ViewCompat.ScrollAxis int);
- method public boolean onStartNestedScroll(android.view.View, android.view.View, @androidx.core.view.ViewCompat.ScrollAxis int);
- method public void onStopNestedScroll(android.view.View);
- }
-
- public interface NestedScrollingParent2 extends androidx.core.view.NestedScrollingParent {
- method public void onNestedPreScroll(android.view.View, int, int, int[], @androidx.core.view.ViewCompat.NestedScrollType int);
- method public void onNestedScroll(android.view.View, int, int, int, int, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, @androidx.core.view.ViewCompat.ScrollAxis int, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public boolean onStartNestedScroll(android.view.View, android.view.View, @androidx.core.view.ViewCompat.ScrollAxis int, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public void onStopNestedScroll(android.view.View, @androidx.core.view.ViewCompat.NestedScrollType int);
- }
-
- public interface NestedScrollingParent3 extends androidx.core.view.NestedScrollingParent2 {
- method public void onNestedScroll(android.view.View, int, int, int, int, @androidx.core.view.ViewCompat.NestedScrollType int, int[]);
- }
-
- public class NestedScrollingParentHelper {
- ctor public NestedScrollingParentHelper(android.view.ViewGroup);
- method @androidx.core.view.ViewCompat.ScrollAxis public int getNestedScrollAxes();
- method public void onNestedScrollAccepted(android.view.View, android.view.View, @androidx.core.view.ViewCompat.ScrollAxis int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, @androidx.core.view.ViewCompat.ScrollAxis int, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public void onStopNestedScroll(android.view.View);
- method public void onStopNestedScroll(android.view.View, @androidx.core.view.ViewCompat.NestedScrollType int);
- }
-
- public interface OnApplyWindowInsetsListener {
- method public androidx.core.view.WindowInsetsCompat! onApplyWindowInsets(android.view.View!, androidx.core.view.WindowInsetsCompat!);
- }
-
- public final class OneShotPreDrawListener implements android.view.View.OnAttachStateChangeListener android.view.ViewTreeObserver.OnPreDrawListener {
- method public static androidx.core.view.OneShotPreDrawListener add(android.view.View, Runnable);
- method public boolean onPreDraw();
- method public void onViewAttachedToWindow(android.view.View!);
- method public void onViewDetachedFromWindow(android.view.View!);
- method public void removeListener();
- }
-
- public final class PointerIconCompat {
- method public static androidx.core.view.PointerIconCompat! create(android.graphics.Bitmap!, float, float);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public Object! getPointerIcon();
- method public static androidx.core.view.PointerIconCompat! getSystemIcon(android.content.Context!, int);
- method public static androidx.core.view.PointerIconCompat! load(android.content.res.Resources!, int);
- field public static final int TYPE_ALIAS = 1010; // 0x3f2
- field public static final int TYPE_ALL_SCROLL = 1013; // 0x3f5
- field public static final int TYPE_ARROW = 1000; // 0x3e8
- field public static final int TYPE_CELL = 1006; // 0x3ee
- field public static final int TYPE_CONTEXT_MENU = 1001; // 0x3e9
- field public static final int TYPE_COPY = 1011; // 0x3f3
- field public static final int TYPE_CROSSHAIR = 1007; // 0x3ef
- field public static final int TYPE_DEFAULT = 1000; // 0x3e8
- field public static final int TYPE_GRAB = 1020; // 0x3fc
- field public static final int TYPE_GRABBING = 1021; // 0x3fd
- field public static final int TYPE_HAND = 1002; // 0x3ea
- field public static final int TYPE_HELP = 1003; // 0x3eb
- field public static final int TYPE_HORIZONTAL_DOUBLE_ARROW = 1014; // 0x3f6
- field public static final int TYPE_NO_DROP = 1012; // 0x3f4
- field public static final int TYPE_NULL = 0; // 0x0
- field public static final int TYPE_TEXT = 1008; // 0x3f0
- field public static final int TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW = 1017; // 0x3f9
- field public static final int TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW = 1016; // 0x3f8
- field public static final int TYPE_VERTICAL_DOUBLE_ARROW = 1015; // 0x3f7
- field public static final int TYPE_VERTICAL_TEXT = 1009; // 0x3f1
- field public static final int TYPE_WAIT = 1004; // 0x3ec
- field public static final int TYPE_ZOOM_IN = 1018; // 0x3fa
- field public static final int TYPE_ZOOM_OUT = 1019; // 0x3fb
- }
-
- public final class ScaleGestureDetectorCompat {
- method @Deprecated public static boolean isQuickScaleEnabled(Object!);
- method public static boolean isQuickScaleEnabled(android.view.ScaleGestureDetector!);
- method @Deprecated public static void setQuickScaleEnabled(Object!, boolean);
- method public static void setQuickScaleEnabled(android.view.ScaleGestureDetector!, boolean);
- }
-
- public interface ScrollingView {
- method public int computeHorizontalScrollExtent();
- method public int computeHorizontalScrollOffset();
- method public int computeHorizontalScrollRange();
- method public int computeVerticalScrollExtent();
- method public int computeVerticalScrollOffset();
- method public int computeVerticalScrollRange();
- }
-
- public interface TintableBackgroundView {
- method public android.content.res.ColorStateList? getSupportBackgroundTintList();
- method public android.graphics.PorterDuff.Mode? getSupportBackgroundTintMode();
- method public void setSupportBackgroundTintList(android.content.res.ColorStateList?);
- method public void setSupportBackgroundTintMode(android.graphics.PorterDuff.Mode?);
- }
-
- @Deprecated public final class VelocityTrackerCompat {
- method @Deprecated public static float getXVelocity(android.view.VelocityTracker!, int);
- method @Deprecated public static float getYVelocity(android.view.VelocityTracker!, int);
- }
-
- public class ViewCompat {
- ctor protected ViewCompat();
- method public static int addAccessibilityAction(android.view.View, CharSequence, androidx.core.view.accessibility.AccessibilityViewCommand);
- method public static void addKeyboardNavigationClusters(android.view.View, java.util.Collection<android.view.View!>, int);
- method public static void addOnUnhandledKeyEventListener(android.view.View, androidx.core.view.ViewCompat.OnUnhandledKeyEventListenerCompat);
- method public static androidx.core.view.ViewPropertyAnimatorCompat animate(android.view.View);
- method @Deprecated public static boolean canScrollHorizontally(android.view.View!, int);
- method @Deprecated public static boolean canScrollVertically(android.view.View!, int);
- method public static void cancelDragAndDrop(android.view.View);
- method @Deprecated public static int combineMeasuredStates(int, int);
- method public static androidx.core.view.WindowInsetsCompat computeSystemWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat, android.graphics.Rect);
- method public static androidx.core.view.WindowInsetsCompat dispatchApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat);
- method public static void dispatchFinishTemporaryDetach(android.view.View);
- method public static boolean dispatchNestedFling(android.view.View, float, float, boolean);
- method public static boolean dispatchNestedPreFling(android.view.View, float, float);
- method public static boolean dispatchNestedPreScroll(android.view.View, int, int, int[]?, int[]?);
- method public static boolean dispatchNestedPreScroll(android.view.View, int, int, int[]?, int[]?, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public static boolean dispatchNestedScroll(android.view.View, int, int, int, int, int[]?);
- method public static void dispatchNestedScroll(android.view.View, int, int, int, int, int[]?, @androidx.core.view.ViewCompat.NestedScrollType int, int[]);
- method public static boolean dispatchNestedScroll(android.view.View, int, int, int, int, int[]?, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public static void dispatchStartTemporaryDetach(android.view.View);
- method public static void enableAccessibleClickableSpanSupport(android.view.View!);
- method public static int generateViewId();
- method public static androidx.core.view.AccessibilityDelegateCompat? getAccessibilityDelegate(android.view.View);
- method public static int getAccessibilityLiveRegion(android.view.View);
- method public static androidx.core.view.accessibility.AccessibilityNodeProviderCompat! getAccessibilityNodeProvider(android.view.View);
- method @UiThread public static CharSequence! getAccessibilityPaneTitle(android.view.View!);
- method @Deprecated public static float getAlpha(android.view.View!);
- method public static android.content.res.ColorStateList! getBackgroundTintList(android.view.View);
- method public static android.graphics.PorterDuff.Mode! getBackgroundTintMode(android.view.View);
- method public static android.graphics.Rect? getClipBounds(android.view.View);
- method public static android.view.Display? getDisplay(android.view.View);
- method public static float getElevation(android.view.View);
- method public static boolean getFitsSystemWindows(android.view.View);
- method public static int getImportantForAccessibility(android.view.View);
- method public static int getImportantForAutofill(android.view.View);
- method public static int getLabelFor(android.view.View);
- method @Deprecated public static int getLayerType(android.view.View!);
- method public static int getLayoutDirection(android.view.View);
- method @Deprecated public static android.graphics.Matrix? getMatrix(android.view.View!);
- method @Deprecated public static int getMeasuredHeightAndState(android.view.View!);
- method @Deprecated public static int getMeasuredState(android.view.View!);
- method @Deprecated public static int getMeasuredWidthAndState(android.view.View!);
- method public static int getMinimumHeight(android.view.View);
- method public static int getMinimumWidth(android.view.View);
- method public static int getNextClusterForwardId(android.view.View);
- method @Deprecated public static int getOverScrollMode(android.view.View!);
- method @Px public static int getPaddingEnd(android.view.View);
- method @Px public static int getPaddingStart(android.view.View);
- method public static android.view.ViewParent! getParentForAccessibility(android.view.View);
- method @Deprecated public static float getPivotX(android.view.View!);
- method @Deprecated public static float getPivotY(android.view.View!);
- method public static androidx.core.view.WindowInsetsCompat? getRootWindowInsets(android.view.View);
- method @Deprecated public static float getRotation(android.view.View!);
- method @Deprecated public static float getRotationX(android.view.View!);
- method @Deprecated public static float getRotationY(android.view.View!);
- method @Deprecated public static float getScaleX(android.view.View!);
- method @Deprecated public static float getScaleY(android.view.View!);
- method public static int getScrollIndicators(android.view.View);
- method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
- method public static String? getTransitionName(android.view.View);
- method @Deprecated public static float getTranslationX(android.view.View!);
- method @Deprecated public static float getTranslationY(android.view.View!);
- method public static float getTranslationZ(android.view.View);
- method public static int getWindowSystemUiVisibility(android.view.View);
- method @Deprecated public static float getX(android.view.View!);
- method @Deprecated public static float getY(android.view.View!);
- method public static float getZ(android.view.View);
- method public static boolean hasAccessibilityDelegate(android.view.View);
- method public static boolean hasExplicitFocusable(android.view.View);
- method public static boolean hasNestedScrollingParent(android.view.View);
- method public static boolean hasNestedScrollingParent(android.view.View, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public static boolean hasOnClickListeners(android.view.View);
- method public static boolean hasOverlappingRendering(android.view.View);
- method public static boolean hasTransientState(android.view.View);
- method @UiThread public static boolean isAccessibilityHeading(android.view.View!);
- method public static boolean isAttachedToWindow(android.view.View);
- method public static boolean isFocusedByDefault(android.view.View);
- method public static boolean isImportantForAccessibility(android.view.View);
- method public static boolean isImportantForAutofill(android.view.View);
- method public static boolean isInLayout(android.view.View);
- method public static boolean isKeyboardNavigationCluster(android.view.View);
- method public static boolean isLaidOut(android.view.View);
- method public static boolean isLayoutDirectionResolved(android.view.View);
- method public static boolean isNestedScrollingEnabled(android.view.View);
- method @Deprecated public static boolean isOpaque(android.view.View!);
- method public static boolean isPaddingRelative(android.view.View);
- method @UiThread public static boolean isScreenReaderFocusable(android.view.View!);
- method @Deprecated public static void jumpDrawablesToCurrentState(android.view.View!);
- method public static android.view.View! keyboardNavigationClusterSearch(android.view.View, android.view.View!, @androidx.core.view.ViewCompat.FocusDirection int);
- method public static void offsetLeftAndRight(android.view.View, int);
- method public static void offsetTopAndBottom(android.view.View, int);
- method public static androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat);
- method @Deprecated public static void onInitializeAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public static void onInitializeAccessibilityNodeInfo(android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat!);
- method @Deprecated public static void onPopulateAccessibilityEvent(android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public static boolean performAccessibilityAction(android.view.View, int, android.os.Bundle!);
- method public static void postInvalidateOnAnimation(android.view.View);
- method public static void postInvalidateOnAnimation(android.view.View, int, int, int, int);
- method public static void postOnAnimation(android.view.View, Runnable!);
- method public static void postOnAnimationDelayed(android.view.View, Runnable!, long);
- method public static void removeAccessibilityAction(android.view.View, int);
- method public static void removeOnUnhandledKeyEventListener(android.view.View, androidx.core.view.ViewCompat.OnUnhandledKeyEventListenerCompat);
- method public static void replaceAccessibilityAction(android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat, CharSequence?, androidx.core.view.accessibility.AccessibilityViewCommand?);
- method public static void requestApplyInsets(android.view.View);
- method public static <T extends android.view.View> T requireViewById(android.view.View, @IdRes int);
- method @Deprecated public static int resolveSizeAndState(int, int, int);
- method public static boolean restoreDefaultFocus(android.view.View);
- method public static void saveAttributeDataForStyleable(android.view.View, android.content.Context, int[], android.util.AttributeSet?, android.content.res.TypedArray, int, int);
- method public static void setAccessibilityDelegate(android.view.View, androidx.core.view.AccessibilityDelegateCompat!);
- method @UiThread public static void setAccessibilityHeading(android.view.View!, boolean);
- method public static void setAccessibilityLiveRegion(android.view.View, int);
- method @UiThread public static void setAccessibilityPaneTitle(android.view.View!, CharSequence!);
- method @Deprecated public static void setActivated(android.view.View!, boolean);
- method @Deprecated public static void setAlpha(android.view.View!, @FloatRange(from=0.0, to=1.0) float);
- method public static void setAutofillHints(android.view.View, java.lang.String!...);
- method public static void setBackground(android.view.View, android.graphics.drawable.Drawable?);
- method public static void setBackgroundTintList(android.view.View, android.content.res.ColorStateList!);
- method public static void setBackgroundTintMode(android.view.View, android.graphics.PorterDuff.Mode!);
- method @Deprecated public static void setChildrenDrawingOrderEnabled(android.view.ViewGroup!, boolean);
- method public static void setClipBounds(android.view.View, android.graphics.Rect!);
- method public static void setElevation(android.view.View, float);
- method @Deprecated public static void setFitsSystemWindows(android.view.View!, boolean);
- method public static void setFocusedByDefault(android.view.View, boolean);
- method public static void setHasTransientState(android.view.View, boolean);
- method public static void setImportantForAccessibility(android.view.View, int);
- method public static void setImportantForAutofill(android.view.View, int);
- method public static void setKeyboardNavigationCluster(android.view.View, boolean);
- method public static void setLabelFor(android.view.View, @IdRes int);
- method public static void setLayerPaint(android.view.View, android.graphics.Paint!);
- method @Deprecated public static void setLayerType(android.view.View!, int, android.graphics.Paint!);
- method public static void setLayoutDirection(android.view.View, int);
- method public static void setNestedScrollingEnabled(android.view.View, boolean);
- method public static void setNextClusterForwardId(android.view.View, int);
- method public static void setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener?);
- method @Deprecated public static void setOverScrollMode(android.view.View!, int);
- method public static void setPaddingRelative(android.view.View, @Px int, @Px int, @Px int, @Px int);
- method @Deprecated public static void setPivotX(android.view.View!, float);
- method @Deprecated public static void setPivotY(android.view.View!, float);
- method public static void setPointerIcon(android.view.View, androidx.core.view.PointerIconCompat!);
- method @Deprecated public static void setRotation(android.view.View!, float);
- method @Deprecated public static void setRotationX(android.view.View!, float);
- method @Deprecated public static void setRotationY(android.view.View!, float);
- method @Deprecated public static void setSaveFromParentEnabled(android.view.View!, boolean);
- method @Deprecated public static void setScaleX(android.view.View!, float);
- method @Deprecated public static void setScaleY(android.view.View!, float);
- method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
- method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int);
- method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int, @androidx.core.view.ViewCompat.ScrollIndicators int);
- method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
- method public static void setTooltipText(android.view.View, CharSequence?);
- method public static void setTransitionName(android.view.View, String!);
- method @Deprecated public static void setTranslationX(android.view.View!, float);
- method @Deprecated public static void setTranslationY(android.view.View!, float);
- method public static void setTranslationZ(android.view.View, float);
- method @Deprecated public static void setX(android.view.View!, float);
- method @Deprecated public static void setY(android.view.View!, float);
- method public static void setZ(android.view.View, float);
- method public static boolean startDragAndDrop(android.view.View, android.content.ClipData!, android.view.View.DragShadowBuilder!, Object!, int);
- method public static boolean startNestedScroll(android.view.View, @androidx.core.view.ViewCompat.ScrollAxis int);
- method public static boolean startNestedScroll(android.view.View, @androidx.core.view.ViewCompat.ScrollAxis int, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public static void stopNestedScroll(android.view.View);
- method public static void stopNestedScroll(android.view.View, @androidx.core.view.ViewCompat.NestedScrollType int);
- method public static void updateDragShadow(android.view.View, android.view.View.DragShadowBuilder!);
- field public static final int ACCESSIBILITY_LIVE_REGION_ASSERTIVE = 2; // 0x2
- field public static final int ACCESSIBILITY_LIVE_REGION_NONE = 0; // 0x0
- field public static final int ACCESSIBILITY_LIVE_REGION_POLITE = 1; // 0x1
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_AUTO = 0; // 0x0
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_NO = 2; // 0x2
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS = 4; // 0x4
- field public static final int IMPORTANT_FOR_ACCESSIBILITY_YES = 1; // 0x1
- field @Deprecated public static final int LAYER_TYPE_HARDWARE = 2; // 0x2
- field @Deprecated public static final int LAYER_TYPE_NONE = 0; // 0x0
- field @Deprecated public static final int LAYER_TYPE_SOFTWARE = 1; // 0x1
- field public static final int LAYOUT_DIRECTION_INHERIT = 2; // 0x2
- field public static final int LAYOUT_DIRECTION_LOCALE = 3; // 0x3
- field public static final int LAYOUT_DIRECTION_LTR = 0; // 0x0
- field public static final int LAYOUT_DIRECTION_RTL = 1; // 0x1
- field @Deprecated public static final int MEASURED_HEIGHT_STATE_SHIFT = 16; // 0x10
- field @Deprecated public static final int MEASURED_SIZE_MASK = 16777215; // 0xffffff
- field @Deprecated public static final int MEASURED_STATE_MASK = -16777216; // 0xff000000
- field @Deprecated public static final int MEASURED_STATE_TOO_SMALL = 16777216; // 0x1000000
- field @Deprecated public static final int OVER_SCROLL_ALWAYS = 0; // 0x0
- field @Deprecated public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1; // 0x1
- field @Deprecated public static final int OVER_SCROLL_NEVER = 2; // 0x2
- field public static final int SCROLL_AXIS_HORIZONTAL = 1; // 0x1
- field public static final int SCROLL_AXIS_NONE = 0; // 0x0
- field public static final int SCROLL_AXIS_VERTICAL = 2; // 0x2
- field public static final int SCROLL_INDICATOR_BOTTOM = 2; // 0x2
- field public static final int SCROLL_INDICATOR_END = 32; // 0x20
- field public static final int SCROLL_INDICATOR_LEFT = 4; // 0x4
- field public static final int SCROLL_INDICATOR_RIGHT = 8; // 0x8
- field public static final int SCROLL_INDICATOR_START = 16; // 0x10
- field public static final int SCROLL_INDICATOR_TOP = 1; // 0x1
- field public static final int TYPE_NON_TOUCH = 1; // 0x1
- field public static final int TYPE_TOUCH = 0; // 0x0
- }
-
- @IntDef({android.view.View.FOCUS_LEFT, android.view.View.FOCUS_UP, android.view.View.FOCUS_RIGHT, android.view.View.FOCUS_DOWN, android.view.View.FOCUS_FORWARD, android.view.View.FOCUS_BACKWARD}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ViewCompat.FocusDirection {
- }
-
- @IntDef({android.view.View.FOCUS_LEFT, android.view.View.FOCUS_UP, android.view.View.FOCUS_RIGHT, android.view.View.FOCUS_DOWN}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ViewCompat.FocusRealDirection {
- }
-
- @IntDef({android.view.View.FOCUS_FORWARD, android.view.View.FOCUS_BACKWARD}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ViewCompat.FocusRelativeDirection {
- }
-
- @IntDef({androidx.core.view.ViewCompat.TYPE_TOUCH, androidx.core.view.ViewCompat.TYPE_NON_TOUCH}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ViewCompat.NestedScrollType {
- }
-
- public static interface ViewCompat.OnUnhandledKeyEventListenerCompat {
- method public boolean onUnhandledKeyEvent(android.view.View!, android.view.KeyEvent!);
- }
-
- @IntDef(value={androidx.core.view.ViewCompat.SCROLL_AXIS_NONE, androidx.core.view.ViewCompat.SCROLL_AXIS_HORIZONTAL, androidx.core.view.ViewCompat.SCROLL_AXIS_VERTICAL}, flag=true) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ViewCompat.ScrollAxis {
- }
-
- @IntDef(flag=true, value={androidx.core.view.ViewCompat.SCROLL_INDICATOR_TOP, androidx.core.view.ViewCompat.SCROLL_INDICATOR_BOTTOM, androidx.core.view.ViewCompat.SCROLL_INDICATOR_LEFT, androidx.core.view.ViewCompat.SCROLL_INDICATOR_RIGHT, androidx.core.view.ViewCompat.SCROLL_INDICATOR_START, androidx.core.view.ViewCompat.SCROLL_INDICATOR_END}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ViewCompat.ScrollIndicators {
- }
-
- public final class ViewConfigurationCompat {
- method public static float getScaledHorizontalScrollFactor(android.view.ViewConfiguration, android.content.Context);
- method public static int getScaledHoverSlop(android.view.ViewConfiguration!);
- method @Deprecated public static int getScaledPagingTouchSlop(android.view.ViewConfiguration!);
- method public static float getScaledVerticalScrollFactor(android.view.ViewConfiguration, android.content.Context);
- method @Deprecated public static boolean hasPermanentMenuKey(android.view.ViewConfiguration!);
- method public static boolean shouldShowMenuShortcutsWhenKeyboardPresent(android.view.ViewConfiguration!, android.content.Context);
- }
-
- public final class ViewGroupCompat {
- method public static int getLayoutMode(android.view.ViewGroup);
- method @androidx.core.view.ViewCompat.ScrollAxis public static int getNestedScrollAxes(android.view.ViewGroup);
- method public static boolean isTransitionGroup(android.view.ViewGroup);
- method @Deprecated public static boolean onRequestSendAccessibilityEvent(android.view.ViewGroup!, android.view.View!, android.view.accessibility.AccessibilityEvent!);
- method public static void setLayoutMode(android.view.ViewGroup, int);
- method @Deprecated public static void setMotionEventSplittingEnabled(android.view.ViewGroup!, boolean);
- method public static void setTransitionGroup(android.view.ViewGroup, boolean);
- field public static final int LAYOUT_MODE_CLIP_BOUNDS = 0; // 0x0
- field public static final int LAYOUT_MODE_OPTICAL_BOUNDS = 1; // 0x1
- }
-
- public final class ViewParentCompat {
- method public static void notifySubtreeAccessibilityStateChanged(android.view.ViewParent!, android.view.View!, android.view.View!, int);
- method public static boolean onNestedFling(android.view.ViewParent!, android.view.View!, float, float, boolean);
- method public static boolean onNestedPreFling(android.view.ViewParent!, android.view.View!, float, float);
- method public static void onNestedPreScroll(android.view.ViewParent!, android.view.View!, int, int, int[]!);
- method public static void onNestedPreScroll(android.view.ViewParent!, android.view.View!, int, int, int[]!, int);
- method public static void onNestedScroll(android.view.ViewParent!, android.view.View!, int, int, int, int);
- method public static void onNestedScroll(android.view.ViewParent!, android.view.View!, int, int, int, int, int);
- method public static void onNestedScroll(android.view.ViewParent!, android.view.View!, int, int, int, int, int, int[]);
- method public static void onNestedScrollAccepted(android.view.ViewParent!, android.view.View!, android.view.View!, int);
- method public static void onNestedScrollAccepted(android.view.ViewParent!, android.view.View!, android.view.View!, int, int);
- method public static boolean onStartNestedScroll(android.view.ViewParent!, android.view.View!, android.view.View!, int);
- method public static boolean onStartNestedScroll(android.view.ViewParent!, android.view.View!, android.view.View!, int, int);
- method public static void onStopNestedScroll(android.view.ViewParent!, android.view.View!);
- method public static void onStopNestedScroll(android.view.ViewParent!, android.view.View!, int);
- method @Deprecated public static boolean requestSendAccessibilityEvent(android.view.ViewParent!, android.view.View!, android.view.accessibility.AccessibilityEvent!);
- }
-
- public final class ViewPropertyAnimatorCompat {
- method public androidx.core.view.ViewPropertyAnimatorCompat! alpha(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! alphaBy(float);
- method public void cancel();
- method public long getDuration();
- method public android.view.animation.Interpolator! getInterpolator();
- method public long getStartDelay();
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotation(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationX(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationXBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationY(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! rotationYBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleX(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleXBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleY(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! scaleYBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setDuration(long);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setInterpolator(android.view.animation.Interpolator!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setListener(androidx.core.view.ViewPropertyAnimatorListener!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setStartDelay(long);
- method public androidx.core.view.ViewPropertyAnimatorCompat! setUpdateListener(androidx.core.view.ViewPropertyAnimatorUpdateListener!);
- method public void start();
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationX(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationXBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationY(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationYBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationZ(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! translationZBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! withEndAction(Runnable!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! withLayer();
- method public androidx.core.view.ViewPropertyAnimatorCompat! withStartAction(Runnable!);
- method public androidx.core.view.ViewPropertyAnimatorCompat! x(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! xBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! y(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! yBy(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! z(float);
- method public androidx.core.view.ViewPropertyAnimatorCompat! zBy(float);
- }
-
- public interface ViewPropertyAnimatorListener {
- method public void onAnimationCancel(android.view.View!);
- method public void onAnimationEnd(android.view.View!);
- method public void onAnimationStart(android.view.View!);
- }
-
- public class ViewPropertyAnimatorListenerAdapter implements androidx.core.view.ViewPropertyAnimatorListener {
- ctor public ViewPropertyAnimatorListenerAdapter();
- method public void onAnimationCancel(android.view.View!);
- method public void onAnimationEnd(android.view.View!);
- method public void onAnimationStart(android.view.View!);
- }
-
- public interface ViewPropertyAnimatorUpdateListener {
- method public void onAnimationUpdate(android.view.View!);
- }
-
- public final class WindowCompat {
- method public static <T extends android.view.View> T requireViewById(android.view.Window, @IdRes int);
- field public static final int FEATURE_ACTION_BAR = 8; // 0x8
- field public static final int FEATURE_ACTION_BAR_OVERLAY = 9; // 0x9
- field public static final int FEATURE_ACTION_MODE_OVERLAY = 10; // 0xa
- }
-
- public class WindowInsetsCompat {
- ctor public WindowInsetsCompat(androidx.core.view.WindowInsetsCompat?);
- method public androidx.core.view.WindowInsetsCompat consumeDisplayCutout();
- method public androidx.core.view.WindowInsetsCompat consumeStableInsets();
- method public androidx.core.view.WindowInsetsCompat consumeSystemWindowInsets();
- method public androidx.core.view.DisplayCutoutCompat? getDisplayCutout();
- method public androidx.core.graphics.Insets getMandatorySystemGestureInsets();
- method public int getStableInsetBottom();
- method public int getStableInsetLeft();
- method public int getStableInsetRight();
- method public int getStableInsetTop();
- method public androidx.core.graphics.Insets getStableInsets();
- method public androidx.core.graphics.Insets getSystemGestureInsets();
- method public int getSystemWindowInsetBottom();
- method public int getSystemWindowInsetLeft();
- method public int getSystemWindowInsetRight();
- method public int getSystemWindowInsetTop();
- method public androidx.core.graphics.Insets getSystemWindowInsets();
- method public androidx.core.graphics.Insets getTappableElementInsets();
- method public boolean hasInsets();
- method public boolean hasStableInsets();
- method public boolean hasSystemWindowInsets();
- method public androidx.core.view.WindowInsetsCompat inset(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat inset(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
- method public boolean isConsumed();
- method public boolean isRound();
- method @Deprecated public androidx.core.view.WindowInsetsCompat replaceSystemWindowInsets(int, int, int, int);
- method @Deprecated public androidx.core.view.WindowInsetsCompat replaceSystemWindowInsets(android.graphics.Rect);
- method @RequiresApi(20) public android.view.WindowInsets? toWindowInsets();
- method @RequiresApi(20) public static androidx.core.view.WindowInsetsCompat toWindowInsetsCompat(android.view.WindowInsets);
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final androidx.core.view.WindowInsetsCompat! CONSUMED;
- }
-
- public static final class WindowInsetsCompat.Builder {
- ctor public WindowInsetsCompat.Builder();
- ctor public WindowInsetsCompat.Builder(androidx.core.view.WindowInsetsCompat);
- method public androidx.core.view.WindowInsetsCompat build();
- method public androidx.core.view.WindowInsetsCompat.Builder setDisplayCutout(androidx.core.view.DisplayCutoutCompat?);
- method public androidx.core.view.WindowInsetsCompat.Builder setMandatorySystemGestureInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setStableInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setSystemGestureInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setSystemWindowInsets(androidx.core.graphics.Insets);
- method public androidx.core.view.WindowInsetsCompat.Builder setTappableElementInsets(androidx.core.graphics.Insets);
- }
-
-}
-
-package androidx.core.view.accessibility {
-
- public final class AccessibilityClickableSpanCompat extends android.text.style.ClickableSpan {
- ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public AccessibilityClickableSpanCompat(int, androidx.core.view.accessibility.AccessibilityNodeInfoCompat!, int);
- method public void onClick(android.view.View);
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String SPAN_ID = "ACCESSIBILITY_CLICKABLE_SPAN_ID";
- }
-
- public final class AccessibilityEventCompat {
- method @Deprecated public static void appendRecord(android.view.accessibility.AccessibilityEvent!, androidx.core.view.accessibility.AccessibilityRecordCompat!);
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! asRecord(android.view.accessibility.AccessibilityEvent!);
- method public static int getAction(android.view.accessibility.AccessibilityEvent!);
- method public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
- method public static int getMovementGranularity(android.view.accessibility.AccessibilityEvent!);
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! getRecord(android.view.accessibility.AccessibilityEvent!, int);
- method @Deprecated public static int getRecordCount(android.view.accessibility.AccessibilityEvent!);
- method public static void setAction(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setMovementGranularity(android.view.accessibility.AccessibilityEvent!, int);
- field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
- field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
- field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
- field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
- field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
- field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
- field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
- field public static final int TYPES_ALL_MASK = -1; // 0xffffffff
- field public static final int TYPE_ANNOUNCEMENT = 16384; // 0x4000
- field public static final int TYPE_ASSIST_READING_CONTEXT = 16777216; // 0x1000000
- field public static final int TYPE_GESTURE_DETECTION_END = 524288; // 0x80000
- field public static final int TYPE_GESTURE_DETECTION_START = 262144; // 0x40000
- field @Deprecated public static final int TYPE_TOUCH_EXPLORATION_GESTURE_END = 1024; // 0x400
- field @Deprecated public static final int TYPE_TOUCH_EXPLORATION_GESTURE_START = 512; // 0x200
- field public static final int TYPE_TOUCH_INTERACTION_END = 2097152; // 0x200000
- field public static final int TYPE_TOUCH_INTERACTION_START = 1048576; // 0x100000
- field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUSED = 32768; // 0x8000
- field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED = 65536; // 0x10000
- field public static final int TYPE_VIEW_CONTEXT_CLICKED = 8388608; // 0x800000
- field @Deprecated public static final int TYPE_VIEW_HOVER_ENTER = 128; // 0x80
- field @Deprecated public static final int TYPE_VIEW_HOVER_EXIT = 256; // 0x100
- field @Deprecated public static final int TYPE_VIEW_SCROLLED = 4096; // 0x1000
- field @Deprecated public static final int TYPE_VIEW_TEXT_SELECTION_CHANGED = 8192; // 0x2000
- field public static final int TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY = 131072; // 0x20000
- field public static final int TYPE_WINDOWS_CHANGED = 4194304; // 0x400000
- field @Deprecated public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
- }
-
- public final class AccessibilityManagerCompat {
- method @Deprecated public static boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
- method public static boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
- method @Deprecated public static java.util.List<android.accessibilityservice.AccessibilityServiceInfo!>! getEnabledAccessibilityServiceList(android.view.accessibility.AccessibilityManager!, int);
- method @Deprecated public static java.util.List<android.accessibilityservice.AccessibilityServiceInfo!>! getInstalledAccessibilityServiceList(android.view.accessibility.AccessibilityManager!);
- method @Deprecated public static boolean isTouchExplorationEnabled(android.view.accessibility.AccessibilityManager!);
- method @Deprecated public static boolean removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
- method public static boolean removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
- }
-
- @Deprecated public static interface AccessibilityManagerCompat.AccessibilityStateChangeListener {
- method @Deprecated public void onAccessibilityStateChanged(boolean);
- }
-
- @Deprecated public abstract static class AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat implements androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener {
- ctor @Deprecated public AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat();
- }
-
- public static interface AccessibilityManagerCompat.TouchExplorationStateChangeListener {
- method public void onTouchExplorationStateChanged(boolean);
- }
-
- public class AccessibilityNodeInfoCompat {
- ctor @Deprecated public AccessibilityNodeInfoCompat(Object!);
- method public void addAction(int);
- method public void addAction(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat!);
- method public void addChild(android.view.View!);
- method public void addChild(android.view.View!, int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void addSpansToExtras(CharSequence!, android.view.View!);
- method public boolean canOpenPopup();
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat!>! findAccessibilityNodeInfosByText(String!);
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat!>! findAccessibilityNodeInfosByViewId(String!);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! findFocus(int);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! focusSearch(int);
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat!>! getActionList();
- method public int getActions();
- method @Deprecated public void getBoundsInParent(android.graphics.Rect!);
- method public void getBoundsInScreen(android.graphics.Rect!);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getChild(int);
- method public int getChildCount();
- method public CharSequence! getClassName();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static android.text.style.ClickableSpan![]! getClickableSpans(CharSequence!);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat! getCollectionInfo();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat! getCollectionItemInfo();
- method public CharSequence! getContentDescription();
- method public int getDrawingOrder();
- method public CharSequence! getError();
- method public android.os.Bundle! getExtras();
- method public CharSequence? getHintText();
- method @Deprecated public Object! getInfo();
- method public int getInputType();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getLabelFor();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getLabeledBy();
- method public int getLiveRegion();
- method public int getMaxTextLength();
- method public int getMovementGranularities();
- method public CharSequence! getPackageName();
- method public CharSequence? getPaneTitle();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
- method public CharSequence? getRoleDescription();
- method public CharSequence! getText();
- method public int getTextSelectionEnd();
- method public int getTextSelectionStart();
- method public CharSequence? getTooltipText();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.TouchDelegateInfoCompat? getTouchDelegateInfo();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getTraversalAfter();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getTraversalBefore();
- method public String! getViewIdResourceName();
- method public androidx.core.view.accessibility.AccessibilityWindowInfoCompat! getWindow();
- method public int getWindowId();
- method public boolean isAccessibilityFocused();
- method public boolean isCheckable();
- method public boolean isChecked();
- method public boolean isClickable();
- method public boolean isContentInvalid();
- method public boolean isContextClickable();
- method public boolean isDismissable();
- method public boolean isEditable();
- method public boolean isEnabled();
- method public boolean isFocusable();
- method public boolean isFocused();
- method public boolean isHeading();
- method public boolean isImportantForAccessibility();
- method public boolean isLongClickable();
- method public boolean isMultiLine();
- method public boolean isPassword();
- method public boolean isScreenReaderFocusable();
- method public boolean isScrollable();
- method public boolean isSelected();
- method public boolean isShowingHintText();
- method public boolean isTextEntryKey();
- method public boolean isVisibleToUser();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain(android.view.View!);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain(android.view.View!, int);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! obtain(androidx.core.view.accessibility.AccessibilityNodeInfoCompat!);
- method public boolean performAction(int);
- method public boolean performAction(int, android.os.Bundle!);
- method public void recycle();
- method public boolean refresh();
- method public boolean removeAction(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat!);
- method public boolean removeChild(android.view.View!);
- method public boolean removeChild(android.view.View!, int);
- method public void setAccessibilityFocused(boolean);
- method @Deprecated public void setBoundsInParent(android.graphics.Rect!);
- method public void setBoundsInScreen(android.graphics.Rect!);
- method public void setCanOpenPopup(boolean);
- method public void setCheckable(boolean);
- method public void setChecked(boolean);
- method public void setClassName(CharSequence!);
- method public void setClickable(boolean);
- method public void setCollectionInfo(Object!);
- method public void setCollectionItemInfo(Object!);
- method public void setContentDescription(CharSequence!);
- method public void setContentInvalid(boolean);
- method public void setContextClickable(boolean);
- method public void setDismissable(boolean);
- method public void setDrawingOrder(int);
- method public void setEditable(boolean);
- method public void setEnabled(boolean);
- method public void setError(CharSequence!);
- method public void setFocusable(boolean);
- method public void setFocused(boolean);
- method public void setHeading(boolean);
- method public void setHintText(CharSequence?);
- method public void setImportantForAccessibility(boolean);
- method public void setInputType(int);
- method public void setLabelFor(android.view.View!);
- method public void setLabelFor(android.view.View!, int);
- method public void setLabeledBy(android.view.View!);
- method public void setLabeledBy(android.view.View!, int);
- method public void setLiveRegion(int);
- method public void setLongClickable(boolean);
- method public void setMaxTextLength(int);
- method public void setMovementGranularities(int);
- method public void setMultiLine(boolean);
- method public void setPackageName(CharSequence!);
- method public void setPaneTitle(CharSequence?);
- method public void setParent(android.view.View!);
- method public void setParent(android.view.View!, int);
- method public void setPassword(boolean);
- method public void setRangeInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat!);
- method public void setRoleDescription(CharSequence?);
- method public void setScreenReaderFocusable(boolean);
- method public void setScrollable(boolean);
- method public void setSelected(boolean);
- method public void setShowingHintText(boolean);
- method public void setSource(android.view.View!);
- method public void setSource(android.view.View!, int);
- method public void setText(CharSequence!);
- method public void setTextEntryKey(boolean);
- method public void setTextSelection(int, int);
- method public void setTooltipText(CharSequence?);
- method public void setTouchDelegateInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.TouchDelegateInfoCompat);
- method public void setTraversalAfter(android.view.View!);
- method public void setTraversalAfter(android.view.View!, int);
- method public void setTraversalBefore(android.view.View!);
- method public void setTraversalBefore(android.view.View!, int);
- method public void setViewIdResourceName(String!);
- method public void setVisibleToUser(boolean);
- method public android.view.accessibility.AccessibilityNodeInfo! unwrap();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat! wrap(android.view.accessibility.AccessibilityNodeInfo);
- field public static final int ACTION_ACCESSIBILITY_FOCUS = 64; // 0x40
- field public static final String ACTION_ARGUMENT_COLUMN_INT = "android.view.accessibility.action.ARGUMENT_COLUMN_INT";
- field public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN = "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN";
- field public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = "ACTION_ARGUMENT_HTML_ELEMENT_STRING";
- field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
- field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
- field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
- field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
- field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
- field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
- field public static final String ACTION_ARGUMENT_SELECTION_START_INT = "ACTION_ARGUMENT_SELECTION_START_INT";
- field public static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE = "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE";
- field public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 128; // 0x80
- field public static final int ACTION_CLEAR_FOCUS = 2; // 0x2
- field public static final int ACTION_CLEAR_SELECTION = 8; // 0x8
- field public static final int ACTION_CLICK = 16; // 0x10
- field public static final int ACTION_COLLAPSE = 524288; // 0x80000
- field public static final int ACTION_COPY = 16384; // 0x4000
- field public static final int ACTION_CUT = 65536; // 0x10000
- field public static final int ACTION_DISMISS = 1048576; // 0x100000
- field public static final int ACTION_EXPAND = 262144; // 0x40000
- field public static final int ACTION_FOCUS = 1; // 0x1
- field public static final int ACTION_LONG_CLICK = 32; // 0x20
- field public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 256; // 0x100
- field public static final int ACTION_NEXT_HTML_ELEMENT = 1024; // 0x400
- field public static final int ACTION_PASTE = 32768; // 0x8000
- field public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 512; // 0x200
- field public static final int ACTION_PREVIOUS_HTML_ELEMENT = 2048; // 0x800
- field public static final int ACTION_SCROLL_BACKWARD = 8192; // 0x2000
- field public static final int ACTION_SCROLL_FORWARD = 4096; // 0x1000
- field public static final int ACTION_SELECT = 4; // 0x4
- field public static final int ACTION_SET_SELECTION = 131072; // 0x20000
- field public static final int ACTION_SET_TEXT = 2097152; // 0x200000
- field public static final int FOCUS_ACCESSIBILITY = 2; // 0x2
- field public static final int FOCUS_INPUT = 1; // 0x1
- field public static final int MOVEMENT_GRANULARITY_CHARACTER = 1; // 0x1
- field public static final int MOVEMENT_GRANULARITY_LINE = 4; // 0x4
- field public static final int MOVEMENT_GRANULARITY_PAGE = 16; // 0x10
- field public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 8; // 0x8
- field public static final int MOVEMENT_GRANULARITY_WORD = 2; // 0x2
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int mParentVirtualDescendantId;
- }
-
- public static class AccessibilityNodeInfoCompat.AccessibilityActionCompat {
- ctor public AccessibilityNodeInfoCompat.AccessibilityActionCompat(int, CharSequence!);
- ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public AccessibilityNodeInfoCompat.AccessibilityActionCompat(int, CharSequence!, androidx.core.view.accessibility.AccessibilityViewCommand!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! createReplacementAction(CharSequence!, androidx.core.view.accessibility.AccessibilityViewCommand!);
- method public int getId();
- method public CharSequence! getLabel();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean perform(android.view.View!, android.os.Bundle!);
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_ACCESSIBILITY_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLEAR_ACCESSIBILITY_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLEAR_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLEAR_SELECTION;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CLICK;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_COLLAPSE;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CONTEXT_CLICK;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_COPY;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_CUT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_DISMISS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_EXPAND;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_FOCUS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_HIDE_TOOLTIP;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_LONG_CLICK;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_MOVE_WINDOW;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_NEXT_AT_MOVEMENT_GRANULARITY;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_NEXT_HTML_ELEMENT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_DOWN;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_LEFT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_DOWN;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_FORWARD;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_LEFT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_RIGHT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_TO_POSITION;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_UP;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SELECT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SET_PROGRESS;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SET_SELECTION;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SET_TEXT;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SHOW_ON_SCREEN;
- field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SHOW_TOOLTIP;
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected final androidx.core.view.accessibility.AccessibilityViewCommand! mCommand;
- }
-
- public static class AccessibilityNodeInfoCompat.CollectionInfoCompat {
- method public int getColumnCount();
- method public int getRowCount();
- method public int getSelectionMode();
- method public boolean isHierarchical();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat! obtain(int, int, boolean, int);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat! obtain(int, int, boolean);
- field public static final int SELECTION_MODE_MULTIPLE = 2; // 0x2
- field public static final int SELECTION_MODE_NONE = 0; // 0x0
- field public static final int SELECTION_MODE_SINGLE = 1; // 0x1
- }
-
- public static class AccessibilityNodeInfoCompat.CollectionItemInfoCompat {
- method public int getColumnIndex();
- method public int getColumnSpan();
- method public int getRowIndex();
- method public int getRowSpan();
- method @Deprecated public boolean isHeading();
- method public boolean isSelected();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat! obtain(int, int, int, int, boolean, boolean);
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat! obtain(int, int, int, int, boolean);
- }
-
- public static class AccessibilityNodeInfoCompat.RangeInfoCompat {
- method public float getCurrent();
- method public float getMax();
- method public float getMin();
- method public int getType();
- method public static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! obtain(int, float, float, float);
- field public static final int RANGE_TYPE_FLOAT = 1; // 0x1
- field public static final int RANGE_TYPE_INT = 0; // 0x0
- field public static final int RANGE_TYPE_PERCENT = 2; // 0x2
- }
-
- public static final class AccessibilityNodeInfoCompat.TouchDelegateInfoCompat {
- ctor public AccessibilityNodeInfoCompat.TouchDelegateInfoCompat(java.util.Map<android.graphics.Region!,android.view.View!>);
- method public android.graphics.Region? getRegionAt(@IntRange(from=0) int);
- method @IntRange(from=0) public int getRegionCount();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat? getTargetForRegion(android.graphics.Region);
- }
-
- public class AccessibilityNodeProviderCompat {
- ctor public AccessibilityNodeProviderCompat();
- ctor public AccessibilityNodeProviderCompat(Object!);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat? createAccessibilityNodeInfo(int);
- method public java.util.List<androidx.core.view.accessibility.AccessibilityNodeInfoCompat!>? findAccessibilityNodeInfosByText(String!, int);
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat? findFocus(int);
- method public Object! getProvider();
- method public boolean performAction(int, int, android.os.Bundle!);
- field public static final int HOST_VIEW_ID = -1; // 0xffffffff
- }
-
- public class AccessibilityRecordCompat {
- ctor @Deprecated public AccessibilityRecordCompat(Object!);
- method @Deprecated public boolean equals(Object?);
- method @Deprecated public int getAddedCount();
- method @Deprecated public CharSequence! getBeforeText();
- method @Deprecated public CharSequence! getClassName();
- method @Deprecated public CharSequence! getContentDescription();
- method @Deprecated public int getCurrentItemIndex();
- method @Deprecated public int getFromIndex();
- method @Deprecated public Object! getImpl();
- method @Deprecated public int getItemCount();
- method @Deprecated public int getMaxScrollX();
- method public static int getMaxScrollX(android.view.accessibility.AccessibilityRecord!);
- method @Deprecated public int getMaxScrollY();
- method public static int getMaxScrollY(android.view.accessibility.AccessibilityRecord!);
- method @Deprecated public android.os.Parcelable! getParcelableData();
- method @Deprecated public int getRemovedCount();
- method @Deprecated public int getScrollX();
- method @Deprecated public int getScrollY();
- method @Deprecated public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getSource();
- method @Deprecated public java.util.List<java.lang.CharSequence!>! getText();
- method @Deprecated public int getToIndex();
- method @Deprecated public int getWindowId();
- method @Deprecated public int hashCode();
- method @Deprecated public boolean isChecked();
- method @Deprecated public boolean isEnabled();
- method @Deprecated public boolean isFullScreen();
- method @Deprecated public boolean isPassword();
- method @Deprecated public boolean isScrollable();
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! obtain(androidx.core.view.accessibility.AccessibilityRecordCompat!);
- method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! obtain();
- method @Deprecated public void recycle();
- method @Deprecated public void setAddedCount(int);
- method @Deprecated public void setBeforeText(CharSequence!);
- method @Deprecated public void setChecked(boolean);
- method @Deprecated public void setClassName(CharSequence!);
- method @Deprecated public void setContentDescription(CharSequence!);
- method @Deprecated public void setCurrentItemIndex(int);
- method @Deprecated public void setEnabled(boolean);
- method @Deprecated public void setFromIndex(int);
- method @Deprecated public void setFullScreen(boolean);
- method @Deprecated public void setItemCount(int);
- method @Deprecated public void setMaxScrollX(int);
- method public static void setMaxScrollX(android.view.accessibility.AccessibilityRecord!, int);
- method @Deprecated public void setMaxScrollY(int);
- method public static void setMaxScrollY(android.view.accessibility.AccessibilityRecord!, int);
- method @Deprecated public void setParcelableData(android.os.Parcelable!);
- method @Deprecated public void setPassword(boolean);
- method @Deprecated public void setRemovedCount(int);
- method @Deprecated public void setScrollX(int);
- method @Deprecated public void setScrollY(int);
- method @Deprecated public void setScrollable(boolean);
- method @Deprecated public void setSource(android.view.View!);
- method @Deprecated public void setSource(android.view.View!, int);
- method public static void setSource(android.view.accessibility.AccessibilityRecord, android.view.View!, int);
- method @Deprecated public void setToIndex(int);
- }
-
- public interface AccessibilityViewCommand {
- method public boolean perform(android.view.View, androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments?);
- }
-
- public abstract static class AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.CommandArguments();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setBundle(android.os.Bundle!);
- }
-
- public static final class AccessibilityViewCommand.MoveAtGranularityArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.MoveAtGranularityArguments();
- method public boolean getExtendSelection();
- method public int getGranularity();
- }
-
- public static final class AccessibilityViewCommand.MoveHtmlArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.MoveHtmlArguments();
- method public String! getHTMLElement();
- }
-
- public static final class AccessibilityViewCommand.MoveWindowArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.MoveWindowArguments();
- method public int getX();
- method public int getY();
- }
-
- public static final class AccessibilityViewCommand.ScrollToPositionArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.ScrollToPositionArguments();
- method public int getColumn();
- method public int getRow();
- }
-
- public static final class AccessibilityViewCommand.SetProgressArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.SetProgressArguments();
- method public float getProgress();
- }
-
- public static final class AccessibilityViewCommand.SetSelectionArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.SetSelectionArguments();
- method public int getEnd();
- method public int getStart();
- }
-
- public static final class AccessibilityViewCommand.SetTextArguments extends androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments {
- ctor public AccessibilityViewCommand.SetTextArguments();
- method public CharSequence! getText();
- }
-
- public class AccessibilityWindowInfoCompat {
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getAnchor();
- method public void getBoundsInScreen(android.graphics.Rect!);
- method public androidx.core.view.accessibility.AccessibilityWindowInfoCompat! getChild(int);
- method public int getChildCount();
- method public int getId();
- method public int getLayer();
- method public androidx.core.view.accessibility.AccessibilityWindowInfoCompat! getParent();
- method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getRoot();
- method public CharSequence! getTitle();
- method public int getType();
- method public boolean isAccessibilityFocused();
- method public boolean isActive();
- method public boolean isFocused();
- method public static androidx.core.view.accessibility.AccessibilityWindowInfoCompat! obtain();
- method public static androidx.core.view.accessibility.AccessibilityWindowInfoCompat! obtain(androidx.core.view.accessibility.AccessibilityWindowInfoCompat!);
- method public void recycle();
- field public static final int TYPE_ACCESSIBILITY_OVERLAY = 4; // 0x4
- field public static final int TYPE_APPLICATION = 1; // 0x1
- field public static final int TYPE_INPUT_METHOD = 2; // 0x2
- field public static final int TYPE_SPLIT_SCREEN_DIVIDER = 5; // 0x5
- field public static final int TYPE_SYSTEM = 3; // 0x3
- }
-
-}
-
-package androidx.core.view.animation {
-
- public final class PathInterpolatorCompat {
- method public static android.view.animation.Interpolator! create(android.graphics.Path!);
- method public static android.view.animation.Interpolator! create(float, float);
- method public static android.view.animation.Interpolator! create(float, float, float, float);
- }
-
-}
-
-package androidx.core.view.inputmethod {
-
- public final class EditorInfoCompat {
- ctor @Deprecated public EditorInfoCompat();
- method public static String![] getContentMimeTypes(android.view.inputmethod.EditorInfo!);
- method public static void setContentMimeTypes(android.view.inputmethod.EditorInfo, String![]?);
- field public static final int IME_FLAG_FORCE_ASCII = -2147483648; // 0x80000000
- field public static final int IME_FLAG_NO_PERSONALIZED_LEARNING = 16777216; // 0x1000000
- }
-
- public final class InputConnectionCompat {
- ctor @Deprecated public InputConnectionCompat();
- method public static boolean commitContent(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo, androidx.core.view.inputmethod.InputContentInfoCompat, int, android.os.Bundle?);
- method public static android.view.inputmethod.InputConnection createWrapper(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo, androidx.core.view.inputmethod.InputConnectionCompat.OnCommitContentListener);
- field public static final int INPUT_CONTENT_GRANT_READ_URI_PERMISSION = 1; // 0x1
- }
-
- public static interface InputConnectionCompat.OnCommitContentListener {
- method public boolean onCommitContent(androidx.core.view.inputmethod.InputContentInfoCompat!, int, android.os.Bundle!);
- }
-
- public final class InputContentInfoCompat {
- ctor public InputContentInfoCompat(android.net.Uri, android.content.ClipDescription, android.net.Uri?);
- method public android.net.Uri getContentUri();
- method public android.content.ClipDescription getDescription();
- method public android.net.Uri? getLinkUri();
- method public void releasePermission();
- method public void requestPermission();
- method public Object? unwrap();
- method public static androidx.core.view.inputmethod.InputContentInfoCompat? wrap(Object?);
- }
-
-}
-
-package androidx.core.widget {
-
- public abstract class AutoScrollHelper implements android.view.View.OnTouchListener {
- ctor public AutoScrollHelper(android.view.View);
- method public abstract boolean canTargetScrollHorizontally(int);
- method public abstract boolean canTargetScrollVertically(int);
- method public boolean isEnabled();
- method public boolean isExclusive();
- method public boolean onTouch(android.view.View!, android.view.MotionEvent!);
- method public abstract void scrollTargetBy(int, int);
- method public androidx.core.widget.AutoScrollHelper setActivationDelay(int);
- method public androidx.core.widget.AutoScrollHelper setEdgeType(int);
- method public androidx.core.widget.AutoScrollHelper! setEnabled(boolean);
- method public androidx.core.widget.AutoScrollHelper! setExclusive(boolean);
- method public androidx.core.widget.AutoScrollHelper setMaximumEdges(float, float);
- method public androidx.core.widget.AutoScrollHelper setMaximumVelocity(float, float);
- method public androidx.core.widget.AutoScrollHelper setMinimumVelocity(float, float);
- method public androidx.core.widget.AutoScrollHelper setRampDownDuration(int);
- method public androidx.core.widget.AutoScrollHelper setRampUpDuration(int);
- method public androidx.core.widget.AutoScrollHelper setRelativeEdges(float, float);
- method public androidx.core.widget.AutoScrollHelper setRelativeVelocity(float, float);
- field public static final int EDGE_TYPE_INSIDE = 0; // 0x0
- field public static final int EDGE_TYPE_INSIDE_EXTEND = 1; // 0x1
- field public static final int EDGE_TYPE_OUTSIDE = 2; // 0x2
- field public static final float NO_MAX = 3.4028235E38f;
- field public static final float NO_MIN = 0.0f;
- field public static final float RELATIVE_UNSPECIFIED = 0.0f;
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface AutoSizeableTextView {
- method public int getAutoSizeMaxTextSize();
- method public int getAutoSizeMinTextSize();
- method public int getAutoSizeStepGranularity();
- method public int[]! getAutoSizeTextAvailableSizes();
- method @androidx.core.widget.TextViewCompat.AutoSizeTextType public int getAutoSizeTextType();
- method public void setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int) throws java.lang.IllegalArgumentException;
- method public void setAutoSizeTextTypeUniformWithPresetSizes(int[], int) throws java.lang.IllegalArgumentException;
- method public void setAutoSizeTextTypeWithDefaults(@androidx.core.widget.TextViewCompat.AutoSizeTextType int);
- field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final boolean PLATFORM_SUPPORTS_AUTOSIZE;
- }
-
- public final class CompoundButtonCompat {
- method public static android.graphics.drawable.Drawable? getButtonDrawable(android.widget.CompoundButton);
- method public static android.content.res.ColorStateList? getButtonTintList(android.widget.CompoundButton);
- method public static android.graphics.PorterDuff.Mode? getButtonTintMode(android.widget.CompoundButton);
- method public static void setButtonTintList(android.widget.CompoundButton, android.content.res.ColorStateList?);
- method public static void setButtonTintMode(android.widget.CompoundButton, android.graphics.PorterDuff.Mode?);
- }
-
- public class ContentLoadingProgressBar extends android.widget.ProgressBar {
- ctor public ContentLoadingProgressBar(android.content.Context);
- ctor public ContentLoadingProgressBar(android.content.Context, android.util.AttributeSet?);
- method public void hide();
- method public void onAttachedToWindow();
- method public void onDetachedFromWindow();
- method public void show();
- }
-
- public final class EdgeEffectCompat {
- ctor @Deprecated public EdgeEffectCompat(android.content.Context!);
- method @Deprecated public boolean draw(android.graphics.Canvas!);
- method @Deprecated public void finish();
- method @Deprecated public boolean isFinished();
- method @Deprecated public boolean onAbsorb(int);
- method @Deprecated public boolean onPull(float);
- method @Deprecated public boolean onPull(float, float);
- method public static void onPull(android.widget.EdgeEffect, float, float);
- method @Deprecated public boolean onRelease();
- method @Deprecated public void setSize(int, int);
- }
-
- public class ImageViewCompat {
- method public static android.content.res.ColorStateList? getImageTintList(android.widget.ImageView);
- method public static android.graphics.PorterDuff.Mode? getImageTintMode(android.widget.ImageView);
- method public static void setImageTintList(android.widget.ImageView, android.content.res.ColorStateList?);
- method public static void setImageTintMode(android.widget.ImageView, android.graphics.PorterDuff.Mode?);
- }
-
- public final class ListPopupWindowCompat {
- method @Deprecated public static android.view.View.OnTouchListener! createDragToOpenListener(Object!, android.view.View!);
- method public static android.view.View.OnTouchListener? createDragToOpenListener(android.widget.ListPopupWindow, android.view.View);
- }
-
- public class ListViewAutoScrollHelper extends androidx.core.widget.AutoScrollHelper {
- ctor public ListViewAutoScrollHelper(android.widget.ListView);
- method public boolean canTargetScrollHorizontally(int);
- method public boolean canTargetScrollVertically(int);
- method public void scrollTargetBy(int, int);
- }
-
- public final class ListViewCompat {
- method public static boolean canScrollList(android.widget.ListView, int);
- method public static void scrollListBy(android.widget.ListView, int);
- }
-
- public class NestedScrollView extends android.widget.FrameLayout implements androidx.core.view.NestedScrollingChild3 androidx.core.view.NestedScrollingParent3 androidx.core.view.ScrollingView {
- ctor public NestedScrollView(android.content.Context);
- ctor public NestedScrollView(android.content.Context, android.util.AttributeSet?);
- ctor public NestedScrollView(android.content.Context, android.util.AttributeSet?, int);
- method public boolean arrowScroll(int);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeHorizontalScrollExtent();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeHorizontalScrollOffset();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeHorizontalScrollRange();
- method protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeVerticalScrollExtent();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeVerticalScrollOffset();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public int computeVerticalScrollRange();
- method public boolean dispatchNestedPreScroll(int, int, int[]!, int[]!, int);
- method public void dispatchNestedScroll(int, int, int, int, int[]?, int, int[]);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]!, int);
- method public boolean executeKeyEvent(android.view.KeyEvent);
- method public void fling(int);
- method public boolean fullScroll(int);
- method public int getMaxScrollAmount();
- method public boolean hasNestedScrollingParent(int);
- method public boolean isFillViewport();
- method public boolean isSmoothScrollingEnabled();
- method public void onAttachedToWindow();
- method public void onNestedPreScroll(android.view.View, int, int, int[], int);
- method public void onNestedScroll(android.view.View, int, int, int, int, int, int[]);
- method public void onNestedScroll(android.view.View, int, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View, android.view.View, int, int);
- method public boolean onStartNestedScroll(android.view.View, android.view.View, int, int);
- method public void onStopNestedScroll(android.view.View, int);
- method public boolean pageScroll(int);
- method public void setFillViewport(boolean);
- method public void setOnScrollChangeListener(androidx.core.widget.NestedScrollView.OnScrollChangeListener?);
- method public void setSmoothScrollingEnabled(boolean);
- method public final void smoothScrollBy(int, int);
- method public final void smoothScrollBy(int, int, int);
- method public final void smoothScrollTo(int, int);
- method public final void smoothScrollTo(int, int, int);
- method public boolean startNestedScroll(int, int);
- method public void stopNestedScroll(int);
- }
-
- public static interface NestedScrollView.OnScrollChangeListener {
- method public void onScrollChange(androidx.core.widget.NestedScrollView!, int, int, int, int);
- }
-
- public final class PopupMenuCompat {
- method public static android.view.View.OnTouchListener? getDragToOpenListener(Object);
- }
-
- public final class PopupWindowCompat {
- method public static boolean getOverlapAnchor(android.widget.PopupWindow);
- method public static int getWindowLayoutType(android.widget.PopupWindow);
- method public static void setOverlapAnchor(android.widget.PopupWindow, boolean);
- method public static void setWindowLayoutType(android.widget.PopupWindow, int);
- method public static void showAsDropDown(android.widget.PopupWindow, android.view.View, int, int, int);
- }
-
- @Deprecated public final class ScrollerCompat {
- method @Deprecated public void abortAnimation();
- method @Deprecated public boolean computeScrollOffset();
- method @Deprecated public static androidx.core.widget.ScrollerCompat! create(android.content.Context!);
- method @Deprecated public static androidx.core.widget.ScrollerCompat! create(android.content.Context!, android.view.animation.Interpolator!);
- method @Deprecated public void fling(int, int, int, int, int, int, int, int);
- method @Deprecated public void fling(int, int, int, int, int, int, int, int, int, int);
- method @Deprecated public float getCurrVelocity();
- method @Deprecated public int getCurrX();
- method @Deprecated public int getCurrY();
- method @Deprecated public int getFinalX();
- method @Deprecated public int getFinalY();
- method @Deprecated public boolean isFinished();
- method @Deprecated public boolean isOverScrolled();
- method @Deprecated public void notifyHorizontalEdgeReached(int, int, int);
- method @Deprecated public void notifyVerticalEdgeReached(int, int, int);
- method @Deprecated public boolean springBack(int, int, int, int, int, int);
- method @Deprecated public void startScroll(int, int, int, int);
- method @Deprecated public void startScroll(int, int, int, int, int);
- }
-
- public final class TextViewCompat {
- method public static int getAutoSizeMaxTextSize(android.widget.TextView);
- method public static int getAutoSizeMinTextSize(android.widget.TextView);
- method public static int getAutoSizeStepGranularity(android.widget.TextView);
- method public static int[] getAutoSizeTextAvailableSizes(android.widget.TextView);
- method public static int getAutoSizeTextType(android.widget.TextView);
- method public static android.content.res.ColorStateList? getCompoundDrawableTintList(android.widget.TextView);
- method public static android.graphics.PorterDuff.Mode? getCompoundDrawableTintMode(android.widget.TextView);
- method public static android.graphics.drawable.Drawable![] getCompoundDrawablesRelative(android.widget.TextView);
- method public static int getFirstBaselineToTopHeight(android.widget.TextView);
- method public static int getLastBaselineToBottomHeight(android.widget.TextView);
- method public static int getMaxLines(android.widget.TextView);
- method public static int getMinLines(android.widget.TextView);
- method public static androidx.core.text.PrecomputedTextCompat.Params getTextMetricsParams(android.widget.TextView);
- method public static void setAutoSizeTextTypeUniformWithConfiguration(android.widget.TextView, int, int, int, int) throws java.lang.IllegalArgumentException;
- method public static void setAutoSizeTextTypeUniformWithPresetSizes(android.widget.TextView, int[], int) throws java.lang.IllegalArgumentException;
- method public static void setAutoSizeTextTypeWithDefaults(android.widget.TextView, int);
- method public static void setCompoundDrawableTintList(android.widget.TextView, android.content.res.ColorStateList?);
- method public static void setCompoundDrawableTintMode(android.widget.TextView, android.graphics.PorterDuff.Mode?);
- method public static void setCompoundDrawablesRelative(android.widget.TextView, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?);
- method public static void setCompoundDrawablesRelativeWithIntrinsicBounds(android.widget.TextView, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?, android.graphics.drawable.Drawable?);
- method public static void setCompoundDrawablesRelativeWithIntrinsicBounds(android.widget.TextView, @DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
- method public static void setCustomSelectionActionModeCallback(android.widget.TextView, android.view.ActionMode.Callback);
- method public static void setFirstBaselineToTopHeight(android.widget.TextView, @IntRange(from=0) @Px int);
- method public static void setLastBaselineToBottomHeight(android.widget.TextView, @IntRange(from=0) @Px int);
- method public static void setLineHeight(android.widget.TextView, @IntRange(from=0) @Px int);
- method public static void setPrecomputedText(android.widget.TextView, androidx.core.text.PrecomputedTextCompat);
- method public static void setTextAppearance(android.widget.TextView, @StyleRes int);
- method public static void setTextMetricsParams(android.widget.TextView, androidx.core.text.PrecomputedTextCompat.Params);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static android.view.ActionMode.Callback wrapCustomSelectionActionModeCallback(android.widget.TextView, android.view.ActionMode.Callback);
- field public static final int AUTO_SIZE_TEXT_TYPE_NONE = 0; // 0x0
- field public static final int AUTO_SIZE_TEXT_TYPE_UNIFORM = 1; // 0x1
- }
-
- @IntDef({androidx.core.widget.TextViewCompat.AUTO_SIZE_TEXT_TYPE_NONE, androidx.core.widget.TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface TextViewCompat.AutoSizeTextType {
- }
-
- public interface TintableCompoundButton {
- method public android.content.res.ColorStateList? getSupportButtonTintList();
- method public android.graphics.PorterDuff.Mode? getSupportButtonTintMode();
- method public void setSupportButtonTintList(android.content.res.ColorStateList?);
- method public void setSupportButtonTintMode(android.graphics.PorterDuff.Mode?);
- }
-
- public interface TintableCompoundDrawablesView {
- method public android.content.res.ColorStateList? getSupportCompoundDrawablesTintList();
- method public android.graphics.PorterDuff.Mode? getSupportCompoundDrawablesTintMode();
- method public void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList?);
- method public void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff.Mode?);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface TintableImageSourceView {
- method public android.content.res.ColorStateList? getSupportImageTintList();
- method public android.graphics.PorterDuff.Mode? getSupportImageTintMode();
- method public void setSupportImageTintList(android.content.res.ColorStateList?);
- method public void setSupportImageTintMode(android.graphics.PorterDuff.Mode?);
- }
-
-}
-
diff --git a/core/core/api/restricted_1.4.0-alpha01.txt b/core/core/api/restricted_1.4.0-alpha01.txt
index 98780fe..aff8d1f 100644
--- a/core/core/api/restricted_1.4.0-alpha01.txt
+++ b/core/core/api/restricted_1.4.0-alpha01.txt
@@ -445,7 +445,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! getBigContentView();
@@ -496,6 +497,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -513,6 +515,7 @@
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.ArrayList<androidx.core.app.NotificationCompat.Action!>! mActions;
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.Context! mContext;
field @Deprecated public java.util.ArrayList<java.lang.String!>! mPeople;
+ field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.ArrayList<androidx.core.app.Person!> mPersonList;
}
public static final class NotificationCompat.CarExtender implements androidx.core.app.NotificationCompat.Extender {
@@ -735,6 +738,7 @@
method public String? getUri();
method public boolean isBot();
method public boolean isImportant();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String resolveToLegacyUri();
method @RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.app.Person toAndroidPerson();
method public androidx.core.app.Person.Builder toBuilder();
method public android.os.Bundle toBundle();
@@ -969,7 +973,9 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+ field public static final String EXTRA_EPOCH_TIME = "android.intent.extra.EPOCH_TIME";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
}
@@ -1030,14 +1036,26 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.core.graphics.drawable.IconCompat! getIcon();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public androidx.core.content.LocusIdCompat? getLocusId();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -1050,6 +1068,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -1074,14 +1093,30 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
+ method public static int getIconMaxHeight(android.content.Context);
+ method public static int getIconMaxWidth(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, @androidx.core.content.pm.ShortcutManagerCompat.ShortcutMatchFlags int);
+ method public static boolean isRateLimitingActive(android.content.Context);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void reportShortcutUsed(android.content.Context, String);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
+ method public static boolean setDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
+ }
+
+ @IntDef(flag=true, value={androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_MANIFEST, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_DYNAMIC, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_PINNED, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_CACHED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ShortcutManagerCompat.ShortcutMatchFlags {
}
}
@@ -1411,6 +1446,7 @@
method public String getResPackage();
method public int getType();
method public android.net.Uri getUri();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public java.io.InputStream? getUriInputStream(android.content.Context);
method public android.graphics.drawable.Drawable? loadDrawable(android.content.Context);
method public androidx.core.graphics.drawable.IconCompat! setTint(@ColorInt int);
method public androidx.core.graphics.drawable.IconCompat! setTintList(android.content.res.ColorStateList!);
@@ -1559,8 +1595,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1648,6 +1719,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2084,11 +2160,13 @@
public final class DisplayCutoutCompat {
ctor public DisplayCutoutCompat(android.graphics.Rect!, java.util.List<android.graphics.Rect!>!);
+ ctor public DisplayCutoutCompat(androidx.core.graphics.Insets, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, androidx.core.graphics.Insets);
method public java.util.List<android.graphics.Rect!>! getBoundingRects();
method public int getSafeInsetBottom();
method public int getSafeInsetLeft();
method public int getSafeInsetRight();
method public int getSafeInsetTop();
+ method public androidx.core.graphics.Insets? getWaterfallInsets();
}
public final class DragAndDropPermissionsCompat {
@@ -2500,6 +2578,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2590,6 +2669,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int);
method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int, @androidx.core.view.ViewCompat.ScrollIndicators int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2823,17 +2903,18 @@
method @Deprecated public static void appendRecord(android.view.accessibility.AccessibilityEvent!, androidx.core.view.accessibility.AccessibilityRecordCompat!);
method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! asRecord(android.view.accessibility.AccessibilityEvent!);
method public static int getAction(android.view.accessibility.AccessibilityEvent!);
- method public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
+ method @androidx.core.view.accessibility.AccessibilityEventCompat.ContentChangeType public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
method public static int getMovementGranularity(android.view.accessibility.AccessibilityEvent!);
method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! getRecord(android.view.accessibility.AccessibilityEvent!, int);
method @Deprecated public static int getRecordCount(android.view.accessibility.AccessibilityEvent!);
method public static void setAction(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, int);
+ method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, @androidx.core.view.accessibility.AccessibilityEventCompat.ContentChangeType int);
method public static void setMovementGranularity(android.view.accessibility.AccessibilityEvent!, int);
field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2858,6 +2939,9 @@
field @Deprecated public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
}
+ @IntDef(flag=true, value={androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_SUBTREE, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_TEXT, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_UNDEFINED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface AccessibilityEventCompat.ContentChangeType {
+ }
+
public final class AccessibilityManagerCompat {
method @Deprecated public static boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
method public static boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
@@ -2919,6 +3003,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -3008,6 +3093,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -3028,6 +3114,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -3093,6 +3180,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/api/restricted_current.txt b/core/core/api/restricted_current.txt
index 98780fe..aff8d1f 100644
--- a/core/core/api/restricted_current.txt
+++ b/core/core/api/restricted_current.txt
@@ -445,7 +445,8 @@
method public androidx.core.app.NotificationCompat.Builder! addExtras(android.os.Bundle!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(int, CharSequence!, android.app.PendingIntent!);
method @RequiresApi(21) public androidx.core.app.NotificationCompat.Builder! addInvisibleAction(androidx.core.app.NotificationCompat.Action!);
- method public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method @Deprecated public androidx.core.app.NotificationCompat.Builder! addPerson(String!);
+ method public androidx.core.app.NotificationCompat.Builder addPerson(androidx.core.app.Person);
method public android.app.Notification! build();
method public androidx.core.app.NotificationCompat.Builder! extend(androidx.core.app.NotificationCompat.Extender!);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.widget.RemoteViews! getBigContentView();
@@ -496,6 +497,7 @@
method public androidx.core.app.NotificationCompat.Builder! setRemoteInputHistory(CharSequence![]!);
method public androidx.core.app.NotificationCompat.Builder! setShortcutId(String!);
method public androidx.core.app.NotificationCompat.Builder! setShowWhen(boolean);
+ method @RequiresApi(23) public androidx.core.app.NotificationCompat.Builder setSmallIcon(android.graphics.drawable.Icon?);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int);
method public androidx.core.app.NotificationCompat.Builder! setSmallIcon(int, int);
method public androidx.core.app.NotificationCompat.Builder! setSortKey(String!);
@@ -513,6 +515,7 @@
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.ArrayList<androidx.core.app.NotificationCompat.Action!>! mActions;
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.Context! mContext;
field @Deprecated public java.util.ArrayList<java.lang.String!>! mPeople;
+ field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public java.util.ArrayList<androidx.core.app.Person!> mPersonList;
}
public static final class NotificationCompat.CarExtender implements androidx.core.app.NotificationCompat.Extender {
@@ -735,6 +738,7 @@
method public String? getUri();
method public boolean isBot();
method public boolean isImportant();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String resolveToLegacyUri();
method @RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.app.Person toAndroidPerson();
method public androidx.core.app.Person.Builder toBuilder();
method public android.os.Bundle toBundle();
@@ -969,7 +973,9 @@
public final class IntentCompat {
method public static android.content.Intent makeMainSelectorActivity(String, String);
+ field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+ field public static final String EXTRA_EPOCH_TIME = "android.intent.extra.EPOCH_TIME";
field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
field public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
}
@@ -1030,14 +1036,26 @@
method public android.content.ComponentName? getActivity();
method public java.util.Set<java.lang.String!>? getCategories();
method public CharSequence? getDisabledMessage();
+ method public int getDisabledReason();
+ method public android.os.PersistableBundle? getExtras();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.core.graphics.drawable.IconCompat! getIcon();
method public String getId();
method public android.content.Intent getIntent();
method public android.content.Intent![] getIntents();
+ method public long getLastChangedTimestamp();
method public androidx.core.content.LocusIdCompat? getLocusId();
method public CharSequence? getLongLabel();
+ method public String getPackage();
method public int getRank();
method public CharSequence getShortLabel();
+ method public android.os.UserHandle? getUserHandle();
+ method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
+ method public boolean isDeclaredInManifest();
+ method public boolean isDynamic();
+ method public boolean isEnabled();
+ method public boolean isImmutable();
+ method public boolean isPinned();
method @RequiresApi(25) public android.content.pm.ShortcutInfo! toShortcutInfo();
}
@@ -1050,6 +1068,7 @@
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setAlwaysBadged();
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setCategories(java.util.Set<java.lang.String!>);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setDisabledMessage(CharSequence);
+ method public androidx.core.content.pm.ShortcutInfoCompat.Builder setExtras(android.os.PersistableBundle);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIcon(androidx.core.graphics.drawable.IconCompat!);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntent(android.content.Intent);
method public androidx.core.content.pm.ShortcutInfoCompat.Builder setIntents(android.content.Intent![]);
@@ -1074,14 +1093,30 @@
public class ShortcutManagerCompat {
method public static boolean addDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static android.content.Intent createShortcutResultIntent(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat);
+ method public static void disableShortcuts(android.content.Context, java.util.List<java.lang.String!>, CharSequence?);
+ method public static void enableShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getDynamicShortcuts(android.content.Context);
+ method public static int getIconMaxHeight(android.content.Context);
+ method public static int getIconMaxWidth(android.content.Context);
method public static int getMaxShortcutCountPerActivity(android.content.Context);
+ method public static java.util.List<androidx.core.content.pm.ShortcutInfoCompat!> getShortcuts(android.content.Context, @androidx.core.content.pm.ShortcutManagerCompat.ShortcutMatchFlags int);
+ method public static boolean isRateLimitingActive(android.content.Context);
method public static boolean isRequestPinShortcutSupported(android.content.Context);
method public static void removeAllDynamicShortcuts(android.content.Context);
method public static void removeDynamicShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void removeLongLivedShortcuts(android.content.Context, java.util.List<java.lang.String!>);
+ method public static void reportShortcutUsed(android.content.Context, String);
method public static boolean requestPinShortcut(android.content.Context, androidx.core.content.pm.ShortcutInfoCompat, android.content.IntentSender?);
+ method public static boolean setDynamicShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
method public static boolean updateShortcuts(android.content.Context, java.util.List<androidx.core.content.pm.ShortcutInfoCompat!>);
field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
+ }
+
+ @IntDef(flag=true, value={androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_MANIFEST, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_DYNAMIC, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_PINNED, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_CACHED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ShortcutManagerCompat.ShortcutMatchFlags {
}
}
@@ -1411,6 +1446,7 @@
method public String getResPackage();
method public int getType();
method public android.net.Uri getUri();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public java.io.InputStream? getUriInputStream(android.content.Context);
method public android.graphics.drawable.Drawable? loadDrawable(android.content.Context);
method public androidx.core.graphics.drawable.IconCompat! setTint(@ColorInt int);
method public androidx.core.graphics.drawable.IconCompat! setTintList(android.content.res.ColorStateList!);
@@ -1559,8 +1595,43 @@
package androidx.core.location {
+ public abstract class GnssStatusCompat {
+ method @FloatRange(from=0, to=360) public abstract float getAzimuthDegrees(@IntRange(from=0) int);
+ method @FloatRange(from=0) public abstract float getCarrierFrequencyHz(@IntRange(from=0) int);
+ method @FloatRange(from=0, to=63) public abstract float getCn0DbHz(@IntRange(from=0) int);
+ method public abstract int getConstellationType(@IntRange(from=0) int);
+ method @FloatRange(from=0xffffffa6, to=90) public abstract float getElevationDegrees(@IntRange(from=0) int);
+ method @IntRange(from=0) public abstract int getSatelliteCount();
+ method @IntRange(from=1, to=200) public abstract int getSvid(@IntRange(from=0) int);
+ method public abstract boolean hasAlmanacData(@IntRange(from=0) int);
+ method public abstract boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+ method public abstract boolean hasEphemerisData(@IntRange(from=0) int);
+ method public abstract boolean usedInFix(@IntRange(from=0) int);
+ method @RequiresApi(android.os.Build.VERSION_CODES.N) public static androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus);
+ method public static androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus);
+ field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+ field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+ field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+ field public static final int CONSTELLATION_GPS = 1; // 0x1
+ field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+ field public static final int CONSTELLATION_QZSS = 4; // 0x4
+ field public static final int CONSTELLATION_SBAS = 2; // 0x2
+ field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+ }
+
+ public abstract static class GnssStatusCompat.Callback {
+ ctor public GnssStatusCompat.Callback();
+ method public void onFirstFix(@IntRange(from=0) int);
+ method public void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat);
+ method public void onStarted();
+ method public void onStopped();
+ }
+
public final class LocationManagerCompat {
method public static boolean isLocationEnabled(android.location.LocationManager);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback, android.os.Handler);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static boolean registerGnssStatusCallback(android.location.LocationManager, java.util.concurrent.Executor, androidx.core.location.GnssStatusCompat.Callback);
+ method public static void unregisterGnssStatusCallback(android.location.LocationManager, androidx.core.location.GnssStatusCompat.Callback);
}
}
@@ -1648,6 +1719,11 @@
method public static boolean postDelayed(android.os.Handler, Runnable, Object?, long);
}
+ public class HandlerExecutor implements java.util.concurrent.Executor {
+ ctor public HandlerExecutor(android.os.Handler);
+ method public void execute(Runnable);
+ }
+
public final class LocaleListCompat {
method public static androidx.core.os.LocaleListCompat create(java.util.Locale!...);
method public static androidx.core.os.LocaleListCompat forLanguageTags(String?);
@@ -2084,11 +2160,13 @@
public final class DisplayCutoutCompat {
ctor public DisplayCutoutCompat(android.graphics.Rect!, java.util.List<android.graphics.Rect!>!);
+ ctor public DisplayCutoutCompat(androidx.core.graphics.Insets, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, android.graphics.Rect?, androidx.core.graphics.Insets);
method public java.util.List<android.graphics.Rect!>! getBoundingRects();
method public int getSafeInsetBottom();
method public int getSafeInsetLeft();
method public int getSafeInsetRight();
method public int getSafeInsetTop();
+ method public androidx.core.graphics.Insets? getWaterfallInsets();
}
public final class DragAndDropPermissionsCompat {
@@ -2500,6 +2578,7 @@
method @Deprecated public static float getScaleX(android.view.View!);
method @Deprecated public static float getScaleY(android.view.View!);
method public static int getScrollIndicators(android.view.View);
+ method @UiThread public static final CharSequence? getStateDescription(android.view.View);
method public static java.util.List<android.graphics.Rect!> getSystemGestureExclusionRects(android.view.View);
method public static String? getTransitionName(android.view.View);
method @Deprecated public static float getTranslationX(android.view.View!);
@@ -2590,6 +2669,7 @@
method @UiThread public static void setScreenReaderFocusable(android.view.View!, boolean);
method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int);
method public static void setScrollIndicators(android.view.View, @androidx.core.view.ViewCompat.ScrollIndicators int, @androidx.core.view.ViewCompat.ScrollIndicators int);
+ method @UiThread public static void setStateDescription(android.view.View, CharSequence?);
method public static void setSystemGestureExclusionRects(android.view.View, java.util.List<android.graphics.Rect!>);
method public static void setTooltipText(android.view.View, CharSequence?);
method public static void setTransitionName(android.view.View, String!);
@@ -2823,17 +2903,18 @@
method @Deprecated public static void appendRecord(android.view.accessibility.AccessibilityEvent!, androidx.core.view.accessibility.AccessibilityRecordCompat!);
method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! asRecord(android.view.accessibility.AccessibilityEvent!);
method public static int getAction(android.view.accessibility.AccessibilityEvent!);
- method public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
+ method @androidx.core.view.accessibility.AccessibilityEventCompat.ContentChangeType public static int getContentChangeTypes(android.view.accessibility.AccessibilityEvent!);
method public static int getMovementGranularity(android.view.accessibility.AccessibilityEvent!);
method @Deprecated public static androidx.core.view.accessibility.AccessibilityRecordCompat! getRecord(android.view.accessibility.AccessibilityEvent!, int);
method @Deprecated public static int getRecordCount(android.view.accessibility.AccessibilityEvent!);
method public static void setAction(android.view.accessibility.AccessibilityEvent!, int);
- method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, int);
+ method public static void setContentChangeTypes(android.view.accessibility.AccessibilityEvent!, @androidx.core.view.accessibility.AccessibilityEventCompat.ContentChangeType int);
method public static void setMovementGranularity(android.view.accessibility.AccessibilityEvent!, int);
field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+ field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
@@ -2858,6 +2939,9 @@
field @Deprecated public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
}
+ @IntDef(flag=true, value={androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_SUBTREE, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_TEXT, androidx.core.view.accessibility.AccessibilityEventCompat.CONTENT_CHANGE_TYPE_UNDEFINED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface AccessibilityEventCompat.ContentChangeType {
+ }
+
public final class AccessibilityManagerCompat {
method @Deprecated public static boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener!);
method public static boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager!, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener!);
@@ -2919,6 +3003,7 @@
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat! getParent();
method public androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat! getRangeInfo();
method public CharSequence? getRoleDescription();
+ method public CharSequence? getStateDescription();
method public CharSequence! getText();
method public int getTextSelectionEnd();
method public int getTextSelectionStart();
@@ -3008,6 +3093,7 @@
method public void setShowingHintText(boolean);
method public void setSource(android.view.View!);
method public void setSource(android.view.View!, int);
+ method public void setStateDescription(CharSequence?);
method public void setText(CharSequence!);
method public void setTextEntryKey(boolean);
method public void setTextSelection(int, int);
@@ -3028,6 +3114,7 @@
field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
@@ -3093,6 +3180,7 @@
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_RIGHT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PAGE_UP;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PASTE;
+ field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat ACTION_PRESS_AND_HOLD;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_PREVIOUS_HTML_ELEMENT;
field public static final androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat! ACTION_SCROLL_BACKWARD;
diff --git a/core/core/src/androidTest/java/androidx/core/app/NotificationCompatTest.java b/core/core/src/androidTest/java/androidx/core/app/NotificationCompatTest.java
index cc26ecb..59594fd 100644
--- a/core/core/src/androidTest/java/androidx/core/app/NotificationCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/app/NotificationCompatTest.java
@@ -41,6 +41,7 @@
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.graphics.Color;
+import android.graphics.drawable.Icon;
import android.media.AudioAttributes;
import android.media.AudioManager;
import android.net.Uri;
@@ -48,6 +49,7 @@
import android.os.Bundle;
import android.support.v4.BaseInstrumentationTestCase;
+import androidx.collection.ArraySet;
import androidx.core.R;
import androidx.core.app.NotificationCompat.MessagingStyle.Message;
import androidx.core.content.LocusIdCompat;
@@ -61,9 +63,9 @@
import org.junit.runner.RunWith;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
-
@RunWith(AndroidJUnit4.class)
@SmallTest
public class NotificationCompatTest extends BaseInstrumentationTestCase<TestActivity> {
@@ -375,6 +377,18 @@
.getAllowGeneratedReplies());
}
+ @Test
+ @SdkSuppress(minSdkVersion = 23)
+ public void testNotificationSmallIcon() {
+ Icon icon = Icon.createWithResource(mContext, R.drawable.notification_action_background);
+ NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext, null);
+
+ builder.setSmallIcon(icon);
+
+ Notification notification = builder.build();
+
+ assertEquals(icon, notification.getSmallIcon());
+ }
@SdkSuppress(maxSdkVersion = 16)
@SmallTest
@@ -491,7 +505,7 @@
}
@Test
- public void testSetNotificationSilent() throws Throwable {
+ public void testSetNotificationSilent() {
Notification nSummary = new NotificationCompat.Builder(mActivityTestRule.getActivity())
.setVibrate(new long[] {235})
@@ -1315,6 +1329,43 @@
assertNull(NotificationCompat.getBubbleMetadata(notification));
}
+ @Test
+ public void testPeopleField() {
+ final Person person = new Person.Builder().setName("test name").setKey("key").build();
+ final Person person2 = new Person.Builder()
+ .setName("test name 2").setKey("key 2").setImportant(true).build();
+
+ final Notification notification = new NotificationCompat.Builder(mContext, "test channel")
+ .addPerson("self name")
+ .addPerson(person)
+ .addPerson(person2)
+ .build();
+
+ if (Build.VERSION.SDK_INT >= 28) {
+ final ArrayList<android.app.Person> peopleList =
+ notification.extras.getParcelableArrayList(Notification.EXTRA_PEOPLE_LIST);
+ final ArraySet<android.app.Person> people = new ArraySet<>(peopleList);
+ final ArraySet<android.app.Person> expected = new ArraySet<>();
+ expected.add(new Person.Builder().setUri("self name").build().toAndroidPerson());
+ expected.add(person.toAndroidPerson());
+ expected.add(person2.toAndroidPerson());
+ assertEquals(expected, people);
+ } else if (Build.VERSION.SDK_INT >= 19) {
+ final String[] peopleArray =
+ notification.extras.getStringArray(Notification.EXTRA_PEOPLE);
+ if (peopleArray == null) {
+ throw new IllegalStateException("Notification.EXTRA_PEOPLE is null");
+ }
+ final List<String> peopleList = Arrays.asList(peopleArray);
+ final ArraySet<String> people = new ArraySet<>(peopleList);
+ final ArraySet<String> expected = new ArraySet<>();
+ expected.add("name:test name");
+ expected.add("name:test name 2");
+ expected.add("self name");
+ assertEquals(expected, people);
+ }
+ }
+
// Add the @Test annotation to enable this test. This test is disabled by default as it's not a
// unit test. This will simply create 4 MessagingStyle notifications so a developer may see what
// the end result will look like on a physical device (or emulator).
diff --git a/core/core/src/androidTest/java/androidx/core/app/PersonTest.java b/core/core/src/androidTest/java/androidx/core/app/PersonTest.java
index 10c8f72..2f7a774 100644
--- a/core/core/src/androidTest/java/androidx/core/app/PersonTest.java
+++ b/core/core/src/androidTest/java/androidx/core/app/PersonTest.java
@@ -222,4 +222,10 @@
Person person = new Person.Builder().setImportant(TEST_IS_IMPORTANT).build();
assertEquals(TEST_IS_IMPORTANT, person.isImportant());
}
+
+ @Test
+ public void resolveToLegacyUri() {
+ Person person = new Person.Builder().setUri(TEST_URI).build();
+ assertEquals(TEST_URI, person.resolveToLegacyUri());
+ }
}
diff --git a/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutInfoCompatTest.java b/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutInfoCompatTest.java
index 7405471..87dfd9c 100644
--- a/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutInfoCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutInfoCompatTest.java
@@ -19,6 +19,7 @@
import static androidx.core.graphics.drawable.IconCompatTest.verifyBadgeBitmap;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@@ -33,6 +34,8 @@
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ShortcutInfo;
+import android.os.Build;
+import android.os.PersistableBundle;
import androidx.core.app.Person;
import androidx.core.app.TestActivity;
@@ -49,6 +52,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
+import java.lang.reflect.Method;
import java.util.HashSet;
import java.util.Set;
@@ -58,6 +62,16 @@
private static final String TEST_SHORTCUT_ID = "test-shortcut";
private static final String TEST_SHORTCUT_SHORT_LABEL = "Test shortcut label";
+ private static final String TEST_EXTRAS_ID = "test-extras-id";
+ private static final String TEST_EXTRAS_VALUE = "test-extras-id-value";
+
+ private static final int FLAG_DYNAMIC = 1 << 0;
+ private static final int FLAG_PINNED = 1 << 1;
+ private static final int FLAG_KEY_FIELDS_ONLY = 1 << 4;
+ private static final int FLAG_MANIFEST = 1 << 5;
+ private static final int FLAG_DISABLED = 1 << 6;
+ private static final int FLAG_IMMUTABLE = 1 << 8;
+ private static final int FLAG_CACHED = 1 << 14;
private Intent mAction;
@@ -132,6 +146,7 @@
assertNull(compat.getDisabledMessage());
assertNull(compat.getActivity());
assertNull(compat.getCategories());
+ assertNull(compat.getExtras());
}
@Test
@@ -144,6 +159,7 @@
categories.add("cat2");
LocusIdCompat locusId = new LocusIdCompat("Chat_A_B");
int rank = 3;
+ PersistableBundle persistableBundle = new PersistableBundle();
ShortcutInfoCompat compat = mBuilder
.setActivity(activity)
.setCategories(categories)
@@ -151,6 +167,7 @@
.setLongLabel(longLabel)
.setLocusId(locusId)
.setRank(rank)
+ .setExtras(persistableBundle)
.build();
ShortcutInfoCompat copyCompat = new ShortcutInfoCompat.Builder(compat).build();
@@ -163,11 +180,13 @@
assertEquals(categories, copyCompat.getCategories());
assertEquals(locusId, copyCompat.getLocusId());
assertEquals(rank, copyCompat.getRank());
+ assertEquals(persistableBundle, copyCompat.getExtras());
}
@Test
@SdkSuppress(minSdkVersion = 26)
- public void testBuilder_fromShortcutInfo() {
+ public void testBuilder_fromShortcutInfo() throws Exception {
+ final long ts = System.currentTimeMillis();
String longLabel = "Test long label";
ComponentName activity = new ComponentName("Package name", "Class name");
String disabledMessage = "Test disabled message";
@@ -175,6 +194,7 @@
categories.add("cat1");
categories.add("cat2");
int rank = 3;
+ PersistableBundle persistableBundle = new PersistableBundle();
ShortcutInfo.Builder builder = new ShortcutInfo.Builder(mContext, TEST_SHORTCUT_ID);
ShortcutInfo shortcut = builder.setIntent(mAction)
.setShortLabel(TEST_SHORTCUT_SHORT_LABEL)
@@ -183,8 +203,8 @@
.setDisabledMessage(disabledMessage)
.setLongLabel(longLabel)
.setRank(rank)
+ .setExtras(persistableBundle)
.build();
-
ShortcutInfoCompat compat = new ShortcutInfoCompat.Builder(mContext, shortcut).build();
assertEquals(TEST_SHORTCUT_ID, compat.getId());
assertEquals(TEST_SHORTCUT_SHORT_LABEL, compat.getShortLabel());
@@ -195,6 +215,44 @@
assertEquals(activity, compat.getActivity());
assertEquals(categories, compat.getCategories());
assertEquals(rank, compat.getRank());
+ assertEquals(persistableBundle, compat.getExtras());
+ assertEquals(ShortcutInfo.DISABLED_REASON_NOT_DISABLED, compat.getDisabledReason());
+ assertTrue(compat.getLastChangedTimestamp() > ts);
+ assertNotNull(compat.getUserHandle());
+ assertNotNull(compat.getPackage());
+ assertFalse(compat.isCached());
+ assertFalse(compat.isDeclaredInManifest());
+ assertFalse(compat.isDynamic());
+ assertTrue(compat.isEnabled());
+ assertFalse(compat.isImmutable());
+ assertFalse(compat.isPinned());
+ assertFalse(compat.hasKeyFieldsOnly());
+
+ if (Build.VERSION.SDK_INT >= 28) {
+ final Method setDisabledReason = ShortcutInfo.class.getDeclaredMethod(
+ "setDisabledReason", int.class);
+ setDisabledReason.setAccessible(true);
+ setDisabledReason.invoke(shortcut, ShortcutInfo.DISABLED_REASON_BY_APP);
+ }
+
+ final int flag = FLAG_PINNED | FLAG_DYNAMIC | FLAG_MANIFEST | FLAG_IMMUTABLE | FLAG_DISABLED
+ | FLAG_CACHED | FLAG_KEY_FIELDS_ONLY;
+ final Method replaceFlags = ShortcutInfo.class.getDeclaredMethod("replaceFlags", int.class);
+ replaceFlags.setAccessible(true);
+ replaceFlags.invoke(shortcut, flag);
+
+ compat = new ShortcutInfoCompat.Builder(mContext, shortcut).build();
+ assertEquals(Build.VERSION.SDK_INT >= 28 ? ShortcutInfo.DISABLED_REASON_BY_APP :
+ ShortcutInfo.DISABLED_REASON_UNKNOWN, compat.getDisabledReason());
+ if (Build.VERSION.SDK_INT >= 30) {
+ assertTrue(compat.isCached());
+ }
+ assertTrue(compat.isDeclaredInManifest());
+ assertTrue(compat.isDynamic());
+ assertFalse(compat.isEnabled());
+ assertTrue(compat.isImmutable());
+ assertTrue(compat.isPinned());
+ assertTrue(compat.hasKeyFieldsOnly());
}
@Test
@@ -206,12 +264,14 @@
categories.add("cat1");
categories.add("cat2");
int rank = 3;
+ PersistableBundle persistableBundle = new PersistableBundle();
ShortcutInfoCompat compat = mBuilder
.setActivity(activity)
.setCategories(categories)
.setDisabledMessage(disabledMessage)
.setLongLabel(longLabel)
.setRank(3)
+ .setExtras(persistableBundle)
.build();
assertEquals(TEST_SHORTCUT_ID, compat.getId());
assertEquals(TEST_SHORTCUT_SHORT_LABEL, compat.getShortLabel());
@@ -221,6 +281,7 @@
assertEquals(activity, compat.getActivity());
assertEquals(categories, compat.getCategories());
assertEquals(rank, compat.getRank());
+ assertEquals(persistableBundle, compat.getExtras());
}
@Test
@@ -260,17 +321,21 @@
Person[] persons = {
new Person.Builder().setName("P1").build(),
new Person.Builder().setName("P2").build()};
+ PersistableBundle persistableBundle = new PersistableBundle();
+ persistableBundle.putString(TEST_EXTRAS_ID, TEST_EXTRAS_VALUE);
LocusIdCompat locusId = new LocusIdCompat("Chat_A_B");
ShortcutInfoCompat compat = mBuilder
.setPersons(persons)
.setLocusId(locusId)
.setLongLived(true)
+ .setExtras(persistableBundle)
.build();
ShortcutInfo shortcut = compat.toShortcutInfo();
assertNotNull(shortcut.getExtras());
assertTrue(ShortcutInfoCompat.getLongLivedFromExtra(shortcut.getExtras()));
+ assertEquals(compat.getExtras().getString(TEST_EXTRAS_ID), TEST_EXTRAS_VALUE);
Person[] retrievedPersons = ShortcutInfoCompat.getPersonsFromExtra(shortcut.getExtras());
assertNotNull(retrievedPersons);
assertEquals(persons.length, retrievedPersons.length);
diff --git a/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutManagerCompatTest.java b/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutManagerCompatTest.java
index 37e95fd..20370dc 100644
--- a/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutManagerCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutManagerCompatTest.java
@@ -16,8 +16,16 @@
package androidx.core.content.pm;
+import static android.graphics.drawable.Icon.TYPE_ADAPTIVE_BITMAP;
+import static android.graphics.drawable.Icon.TYPE_BITMAP;
+
+import static androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_DYNAMIC;
+import static androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_MANIFEST;
+import static androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_PINNED;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.nullable;
@@ -45,29 +53,48 @@
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.BaseInstrumentationTestCase;
import androidx.core.app.TestActivity;
+import androidx.core.content.FileProvider;
import androidx.core.graphics.drawable.IconCompat;
+import androidx.core.test.R;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.filters.MediumTest;
import androidx.test.filters.SdkSuppress;
+import com.google.common.collect.Lists;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
+import org.mockito.ArgumentMatchers;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
@RunWith(AndroidJUnit4.class)
public class ShortcutManagerCompatTest extends BaseInstrumentationTestCase<TestActivity> {
+ private static final String SHORTCUT_ICON_PATH = "shortcut_icons";
+ private static final String TEST_AUTHORITY = "moocow";
+
Context mContext;
ShortcutInfoCompat mInfoCompat;
+ ShortcutInfoCompatSaver<Void> mShortcutInfoCompatSaver;
public ShortcutManagerCompatTest() {
super(TestActivity.class);
@@ -82,6 +109,8 @@
.setShortLabel("Test shortcut")
.setIntent(new Intent("Dummy"))
.build();
+ mShortcutInfoCompatSaver = mock(ShortcutInfoCompatSaver.class);
+ ShortcutManagerCompat.setShortcutInfoCompatSaver(mShortcutInfoCompatSaver);
}
@Test
@@ -191,6 +220,106 @@
verifyLegacyIntent(ShortcutManagerCompat.createShortcutResultIntent(mContext, mInfoCompat));
}
+ @LargeTest
+ @Test
+ public void testShortcut() {
+ final List<String> shortcutIds = Lists.newArrayList("test-id");
+ final String disableMessage = "disabled";
+ final List<ShortcutInfoCompat> shortcuts = Lists.newArrayList(mInfoCompat);
+ final List<ShortcutInfo> shortcutInfos = Lists.newArrayList(mInfoCompat.toShortcutInfo());
+ final ShortcutManager mockShortcutManager = mock(ShortcutManager.class);
+ doReturn(mockShortcutManager).when(mContext).getSystemService(eq(Context.SHORTCUT_SERVICE));
+
+ reset(mockShortcutManager);
+ reset(mShortcutInfoCompatSaver);
+ ShortcutManagerCompat.enableShortcuts(mContext, shortcuts);
+ if (Build.VERSION.SDK_INT >= 25) {
+ verify(mockShortcutManager).enableShortcuts(shortcutIds);
+ }
+ verify(mShortcutInfoCompatSaver).addShortcuts(shortcuts);
+
+ reset(mockShortcutManager);
+ reset(mShortcutInfoCompatSaver);
+ ShortcutManagerCompat.removeLongLivedShortcuts(mContext, shortcutIds);
+ if (Build.VERSION.SDK_INT >= 30) {
+ verify(mockShortcutManager).removeLongLivedShortcuts(shortcutIds);
+ } else if (Build.VERSION.SDK_INT >= 25) {
+ verify(mockShortcutManager).removeDynamicShortcuts(shortcutIds);
+ }
+ verify(mShortcutInfoCompatSaver).removeShortcuts(shortcutIds);
+
+ reset(mockShortcutManager);
+ reset(mShortcutInfoCompatSaver);
+ ShortcutManagerCompat.disableShortcuts(mContext, shortcutIds, disableMessage);
+ if (Build.VERSION.SDK_INT >= 25) {
+ verify(mockShortcutManager).disableShortcuts(shortcutIds, disableMessage);
+ }
+ verify(mShortcutInfoCompatSaver).removeShortcuts(shortcutIds);
+
+ reset(mockShortcutManager);
+ reset(mShortcutInfoCompatSaver);
+ ShortcutManagerCompat.setDynamicShortcuts(mContext, shortcuts);
+ if (Build.VERSION.SDK_INT >= 25) {
+ verify(mockShortcutManager).setDynamicShortcuts(shortcutInfos);
+ }
+ verify(mShortcutInfoCompatSaver).removeAllShortcuts();
+ verify(mShortcutInfoCompatSaver).addShortcuts(shortcuts);
+ }
+
+ @MediumTest
+ @Test
+ public void testGetShortcut() throws Throwable {
+ final int flag = FLAG_MATCH_MANIFEST | FLAG_MATCH_DYNAMIC | FLAG_MATCH_PINNED;
+ final ShortcutManager mockShortcutManager = mock(ShortcutManager.class);
+ doReturn(mockShortcutManager).when(mContext).getSystemService(eq(Context.SHORTCUT_SERVICE));
+ ShortcutManagerCompat.getShortcuts(mContext, flag);
+
+ if (Build.VERSION.SDK_INT >= 30) {
+ verify(mockShortcutManager).getShortcuts(flag);
+ } else if (Build.VERSION.SDK_INT >= 25) {
+ verify(mockShortcutManager).getManifestShortcuts();
+ verify(mockShortcutManager).getDynamicShortcuts();
+ verify(mockShortcutManager).getPinnedShortcuts();
+ } else {
+ verify(mShortcutInfoCompatSaver).getShortcuts();
+ }
+ }
+
+ @MediumTest
+ @Test
+ public void testDynamicShortcuts() {
+ if (Build.VERSION.SDK_INT >= 25) {
+ ShortcutManager mockShortcutManager = mock(ShortcutManager.class);
+ doReturn(mockShortcutManager).when(mContext).getSystemService(
+ eq(Context.SHORTCUT_SERVICE));
+ when(mockShortcutManager.addDynamicShortcuts(ArgumentMatchers.<ShortcutInfo>anyList()))
+ .thenReturn(true);
+ }
+ assertTrue(ShortcutManagerCompat.addDynamicShortcuts(mContext, getShortcuts()));
+ removeShortcuts();
+ }
+
+ @MediumTest
+ @Test
+ public void testConvertUriIconsToBitmapIcons() {
+ ArrayList<ShortcutInfoCompat> shortcuts = getShortcuts();
+ assertEquals(5, shortcuts.size());
+ ShortcutManagerCompat.convertUriIconsToBitmapIcons(mContext, shortcuts);
+ assertEquals(4, shortcuts.size()); // shortcut with invalid icon uri was removed
+ for (ShortcutInfoCompat info : shortcuts) {
+ assertTrue(info.mIcon.mType == TYPE_BITMAP
+ || info.mIcon.mType == TYPE_ADAPTIVE_BITMAP);
+ assertNotNull(info.mIcon.getBitmap());
+ }
+ }
+
+ @LargeTest
+ @Test
+ public void testGetIconDimension() {
+ assertNotEquals(0, ShortcutManagerCompat.getIconMaxWidth(mContext));
+ assertNotEquals(0, ShortcutManagerCompat.getIconMaxHeight(mContext));
+ }
+
private void verifyLegacyIntent(Intent intent) {
assertNotNull(intent);
assertEquals("Test shortcut", intent.getStringExtra(Intent.EXTRA_SHORTCUT_NAME));
@@ -218,4 +347,112 @@
rInfo.activityInfo = aInfo;
return rInfo;
}
+
+ private ArrayList<ShortcutInfoCompat> getShortcuts() {
+ ArrayList<ShortcutInfoCompat> shortcuts = new ArrayList<>();
+
+ shortcuts.add(new ShortcutInfoCompat.Builder(mContext, "bitmap-shortcut")
+ .setShortLabel("bitmap")
+ .setIcon(createBitmapIcon())
+ .setIntent(new Intent().setAction(Intent.ACTION_DEFAULT))
+ .setRank(0)
+ .build());
+
+ shortcuts.add(new ShortcutInfoCompat.Builder(mContext, "adaptive-bitmap-shortcut")
+ .setShortLabel("adaptive bitmap")
+ .setIcon(createAdaptiveBitmapIcon())
+ .setIntent(new Intent().setAction(Intent.ACTION_DEFAULT))
+ .setRank(2)
+ .build());
+
+ shortcuts.add(new ShortcutInfoCompat.Builder(mContext, "uri-bitmap-shortcut")
+ .setShortLabel("uri bitmap")
+ .setIcon(createUriIcon())
+ .setIntent(new Intent().setAction(Intent.ACTION_DEFAULT))
+ .setRank(4)
+ .build());
+
+ shortcuts.add(new ShortcutInfoCompat.Builder(mContext, "uri-adaptive-bitmap-shortcut")
+ .setShortLabel("uri adaptive bitmap")
+ .setIcon(createUriAdaptiveIcon())
+ .setIntent(new Intent().setAction(Intent.ACTION_DEFAULT))
+ .setRank(4)
+ .build());
+
+ shortcuts.add(new ShortcutInfoCompat.Builder(mContext,
+ "uri-adaptive-bitmap-shortcut-with-invalid-uri")
+ .setShortLabel("uri adaptive bitmap with invalid uri")
+ .setIcon(IconCompat.createWithAdaptiveBitmapContentUri(
+ "http://non-existing-uri"))
+ .setIntent(new Intent().setAction(Intent.ACTION_DEFAULT))
+ .setRank(4)
+ .build());
+
+ return shortcuts;
+ }
+
+ private void removeShortcuts() {
+ ShortcutManagerCompat.removeAllDynamicShortcuts(mContext);
+ }
+
+ private Bitmap createRawBitmap(String text) {
+ Bitmap.Config conf = Bitmap.Config.ARGB_8888;
+ float density = mContext.getResources().getDisplayMetrics().density;
+ int x = (int) (72 * density);
+ int y = (int) (72 * density);
+ Bitmap bmp = Bitmap.createBitmap(x, y, conf);
+ Canvas canvas = new Canvas(bmp);
+ canvas.drawColor(Color.BLUE);
+
+ Paint mTextPaint = new Paint();
+ mTextPaint.setColor(Color.RED);
+ mTextPaint.setTextSize(mContext.getResources().getDimension(R.dimen.text_medium_size));
+ mTextPaint.setTextAlign(Paint.Align.CENTER);
+ int xPos = (canvas.getWidth() / 2);
+ int yPos = (int) ((canvas.getHeight() / 2)
+ - ((mTextPaint.descent() + mTextPaint.ascent()) / 2));
+ canvas.drawText(text, xPos, yPos, mTextPaint);
+ return bmp;
+ }
+
+ private Uri bitmapToUri(Bitmap bmp, String name) {
+ File root = new File(mContext.getFilesDir(), SHORTCUT_ICON_PATH);
+ if (!root.exists()) {
+ root.mkdir();
+ }
+ File file = new File(root, name);
+ if (!file.exists()) {
+ try {
+ file.createNewFile();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ try (FileOutputStream out = new FileOutputStream(file)) {
+ bmp.compress(Bitmap.CompressFormat.JPEG, 100, out);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return FileProvider.getUriForFile(mContext, TEST_AUTHORITY, file);
+ }
+
+ private IconCompat createBitmapIcon() {
+ return IconCompat.createWithBitmap(createRawBitmap("B"));
+ }
+
+ private IconCompat createAdaptiveBitmapIcon() {
+ return IconCompat.createWithAdaptiveBitmap(createRawBitmap("AB"));
+ }
+
+ private IconCompat createUriIcon() {
+ Uri uri = bitmapToUri(createRawBitmap("U"), "uri-icon");
+ return IconCompat.createWithContentUri(uri);
+ }
+
+ private IconCompat createUriAdaptiveIcon() {
+ Uri uri = bitmapToUri(createRawBitmap("AU"), "uri-adaptive-icon");
+ return IconCompat.createWithAdaptiveBitmapContentUri(uri);
+ }
}
diff --git a/core/core/src/androidTest/java/androidx/core/os/HandlerExecutorTest.java b/core/core/src/androidTest/java/androidx/core/os/HandlerExecutorTest.java
new file mode 100644
index 0000000..c49a597
--- /dev/null
+++ b/core/core/src/androidTest/java/androidx/core/os/HandlerExecutorTest.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2019 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 androidx.core.os;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import android.os.Handler;
+import android.os.Looper;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Tests for {@link HandlerExecutor}.
+ */
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+public class HandlerExecutorTest {
+
+ private static final long TIMEOUT_MS = 5000;
+
+ @Test
+ public void testExecutor() throws Exception {
+ final CountDownLatch latch = new CountDownLatch(1);
+ HandlerExecutor executor = new HandlerExecutor(new Handler(Looper.getMainLooper()));
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ latch.countDown();
+ }
+ });
+ assertTrue(latch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
+ }
+
+ @Test
+ public void testConstructor_Null() {
+ try {
+ new HandlerExecutor(null);
+ fail();
+ } catch (NullPointerException e) {
+ // pass
+ }
+ }
+
+ @Test
+ public void testExecute_Null() {
+ HandlerExecutor executor = new HandlerExecutor(new Handler(Looper.getMainLooper()));
+ try {
+ executor.execute(null);
+ fail();
+ } catch (NullPointerException e) {
+ // pass
+ }
+ }
+}
+
diff --git a/core/core/src/androidTest/java/androidx/core/view/AccessibilityDelegateCompatTest.java b/core/core/src/androidTest/java/androidx/core/view/AccessibilityDelegateCompatTest.java
index 76a8a84..c765005 100644
--- a/core/core/src/androidTest/java/androidx/core/view/AccessibilityDelegateCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/view/AccessibilityDelegateCompatTest.java
@@ -18,6 +18,7 @@
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.nullValue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
@@ -34,6 +35,8 @@
import static org.mockito.Mockito.when;
import android.app.Activity;
+import android.app.Instrumentation;
+import android.app.UiAutomation;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.BaseInstrumentationTestCase;
@@ -52,6 +55,7 @@
import androidx.core.view.accessibility.AccessibilityNodeProviderCompat;
import androidx.core.view.accessibility.AccessibilityViewCommand;
import androidx.core.view.accessibility.AccessibilityViewCommand.MoveAtGranularityArguments;
+import androidx.test.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.MediumTest;
import androidx.test.filters.SdkSuppress;
@@ -62,11 +66,16 @@
import org.mockito.ArgumentCaptor;
import java.util.List;
+import java.util.concurrent.TimeoutException;
@RunWith(AndroidJUnit4.class)
@MediumTest
public class AccessibilityDelegateCompatTest extends
BaseInstrumentationTestCase<ViewCompatActivity> {
+ private static final int TIMEOUT_ASYNC_PROCESSING = 5000;
+
+ private static Instrumentation sInstrumentation;
+ private static UiAutomation sUiAutomation;
private ViewGroup mView;
@@ -76,6 +85,8 @@
@Before
public void setUp() {
+ sInstrumentation = InstrumentationRegistry.getInstrumentation();
+ sUiAutomation = sInstrumentation.getUiAutomation();
final Activity activity = mActivityTestRule.getActivity();
// Use a group, so it has a child
mView = (ViewGroup) activity.findViewById(androidx.core.test.R.id.view).getParent();
@@ -358,6 +369,83 @@
assertMockAccessibilityDelegateWorkingOnView(mockDelegate);
}
+ @Test
+ @SdkSuppress(minSdkVersion = 19)
+ public void testSetAccessibilityPaneTitle_sendsOutCorrectEvent() throws TimeoutException {
+ final Activity activity = mActivityTestRule.getActivity();
+
+ AccessibilityEvent awaitedEvent =
+ sUiAutomation.executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ ViewCompat.setAccessibilityPaneTitle(mView, "test");
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ boolean isWindowStateChanged = event.getEventType()
+ == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
+ int isPaneTitle = (event.getContentChangeTypes()
+ & AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_TITLE);
+ boolean isFromThisPackage = TextUtils.equals(event.getPackageName(),
+ activity.getPackageName());
+ boolean isFromThisSource =
+ event.getSource().equals(mView.createAccessibilityNodeInfo());
+ return isWindowStateChanged && (isPaneTitle != 0) && isFromThisPackage
+ && isFromThisSource;
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // The event should come from a view that's important for accessibility, even though the
+ // layout we added it to isn't important. Otherwise services may not find out about the
+ // new button.
+ assertTrue(awaitedEvent.getSource().isImportantForAccessibility());
+ }
+
+ @Test
+ @SdkSuppress(minSdkVersion = 19)
+ public void testSetStateDescription_propagatesToAccessibilityNodeInfo_sendsOutCorrectEvent()
+ throws TimeoutException {
+ final Activity activity = mActivityTestRule.getActivity();
+ final CharSequence state = "test";
+
+ assertThat(ViewCompat.getStateDescription(mView), is(nullValue()));
+ assertThat(getNodeCompatForView(mView).getStateDescription(), is(nullValue()));
+
+ AccessibilityEvent awaitedEvent =
+ sUiAutomation.executeAndWaitForEvent(new Runnable() {
+ @Override
+ public void run() {
+ ViewCompat.setStateDescription(mView, state);
+ }
+ }, new UiAutomation.AccessibilityEventFilter() {
+ @Override
+ public boolean accept(AccessibilityEvent event) {
+ boolean isContentChanged = event.getEventType()
+ == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED;
+ int isStateDescription = (event.getContentChangeTypes()
+ & AccessibilityEvent.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION);
+ boolean isFromThisPackage = TextUtils.equals(event.getPackageName(),
+ activity.getPackageName());
+ return isContentChanged && (isStateDescription != 0) && isFromThisPackage;
+ }
+ }, TIMEOUT_ASYNC_PROCESSING);
+
+ // The event should come from a view that's important for accessibility, even though the
+ // layout we added it to isn't important. Otherwise services may not find out about the
+ // new button.
+ assertTrue(awaitedEvent.getSource().isImportantForAccessibility());
+
+ assertThat(ViewCompat.getStateDescription(mView), is(state));
+ assertThat(getNodeCompatForView(mView).getStateDescription(), is(state));
+
+ // The value should still propagate even if we attach and detach another delegate compat
+ ViewCompat.setAccessibilityDelegate(mView, new AccessibilityDelegateCompat());
+ assertThat(getNodeCompatForView(mView).getStateDescription(), is(state));
+ ViewCompat.setAccessibilityDelegate(mView, null);
+ assertThat(getNodeCompatForView(mView).getStateDescription(), is(state));
+ }
+
private void assertMockAccessibilityDelegateWorkingOnView(
View.AccessibilityDelegate mockDelegate) {
final AccessibilityEvent event = AccessibilityEvent.obtain();
diff --git a/core/core/src/androidTest/java/androidx/core/view/DisplayCutoutCompatTest.java b/core/core/src/androidTest/java/androidx/core/view/DisplayCutoutCompatTest.java
index 027a6ed..062b979 100644
--- a/core/core/src/androidTest/java/androidx/core/view/DisplayCutoutCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/view/DisplayCutoutCompatTest.java
@@ -24,6 +24,8 @@
import android.graphics.Rect;
+import androidx.core.graphics.Insets;
+import androidx.core.os.BuildCompat;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -36,11 +38,12 @@
@RunWith(AndroidJUnit4.class)
@SmallTest
public class DisplayCutoutCompatTest {
-
+ private static final Rect ZERO_RECT = new Rect();
DisplayCutoutCompat mCutoutTop;
DisplayCutoutCompat mCutoutTopBottom;
DisplayCutoutCompat mCutoutTopBottomClone;
DisplayCutoutCompat mCutoutLeftRight;
+ DisplayCutoutCompat mCutoutWaterfall;
@Before
public void setUp() throws Exception {
@@ -55,6 +58,8 @@
mCutoutLeftRight = new DisplayCutoutCompat(new Rect(30, 0, 40, 0), Arrays.asList(
new Rect(0, 50, 30, 60),
new Rect(100, 60, 140, 50)));
+ mCutoutWaterfall = new DisplayCutoutCompat(Insets.of(0, 20, 0, 20), ZERO_RECT, ZERO_RECT,
+ ZERO_RECT, ZERO_RECT, Insets.of(0, 20, 0, 20));
}
@Test
@@ -82,6 +87,15 @@
}
@Test
+ public void testWaterfallInsets() {
+ if (BuildCompat.isAtLeastR()) {
+ assertEquals(Insets.of(0, 20, 0, 20), mCutoutWaterfall.getWaterfallInsets());
+ } else {
+ assertNull(mCutoutWaterfall.getWaterfallInsets());
+ }
+ }
+
+ @Test
public void testEquals() {
assertEquals(mCutoutTopBottomClone, mCutoutTopBottom);
diff --git a/core/core/src/androidTest/java/androidx/core/view/ViewCompatTest.java b/core/core/src/androidTest/java/androidx/core/view/ViewCompatTest.java
index ff7935e..88bdf75 100644
--- a/core/core/src/androidTest/java/androidx/core/view/ViewCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/view/ViewCompatTest.java
@@ -15,6 +15,9 @@
*/
package androidx.core.view;
+import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT;
+import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat;
+
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -24,6 +27,7 @@
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -32,6 +36,7 @@
import android.content.Context;
import android.graphics.Rect;
import android.os.Build;
+import android.os.Bundle;
import android.support.v4.BaseInstrumentationTestCase;
import android.view.Display;
import android.view.View;
@@ -46,6 +51,7 @@
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
import java.util.ArrayList;
import java.util.HashSet;
@@ -264,6 +270,22 @@
}
}
+ @SdkSuppress(minSdkVersion = 21)
+ @Test
+ public void testPerformAction_ExpectedActionAndArguments() {
+ AccessibilityActionCompat actionCompat = AccessibilityActionCompat.ACTION_PRESS_AND_HOLD;
+ View view = mock(View.class);
+ Bundle bundle = new Bundle();
+ bundle.putInt(ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT, 100);
+
+ ViewCompat.performAccessibilityAction(view, actionCompat.getId(), bundle);
+
+ ArgumentCaptor<Bundle> bundleCaptor = ArgumentCaptor.forClass(Bundle.class);
+ verify(view).performAccessibilityAction(eq(actionCompat.getId()), bundleCaptor.capture());
+ assertEquals(100,
+ bundleCaptor.getValue().getInt(ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT));
+ }
+
private static boolean isViewIdGenerated(int id) {
return (id & 0xFF000000) == 0 && (id & 0x00FFFFFF) != 0;
}
diff --git a/core/core/src/androidTest/java/androidx/core/view/accessibility/AccessibilityNodeInfoCompatTest.java b/core/core/src/androidTest/java/androidx/core/view/accessibility/AccessibilityNodeInfoCompatTest.java
index 7f21d47..2d29f8d 100644
--- a/core/core/src/androidTest/java/androidx/core/view/accessibility/AccessibilityNodeInfoCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/view/accessibility/AccessibilityNodeInfoCompatTest.java
@@ -161,6 +161,9 @@
actionCompat = AccessibilityActionCompat.ACTION_HIDE_TOOLTIP;
assertThat(actionCompat.getId(),
is(getExpectedActionId(android.R.id.accessibilityActionHideTooltip)));
+ actionCompat = AccessibilityActionCompat.ACTION_PRESS_AND_HOLD;
+ assertThat(actionCompat.getId(),
+ is(getExpectedActionId(android.R.id.accessibilityActionPressAndHold)));
} catch (NullPointerException e) {
Assert.fail("Expected no NullPointerException, but got: " + e.getMessage());
}
diff --git a/core/core/src/androidTest/res/xml/paths.xml b/core/core/src/androidTest/res/xml/paths.xml
index bea396a..e9be519 100644
--- a/core/core/src/androidTest/res/xml/paths.xml
+++ b/core/core/src/androidTest/res/xml/paths.xml
@@ -7,6 +7,8 @@
<files-path name="test_files" />
<!-- /data/data/com.example/files/thumbs -->
<files-path name="test_thumbs" path="thumbs/" />
+ <!-- /data/data/com.example/files/shortcut_icons -->
+ <files-path name="shortcut_icons" path="shortcut_icons/"/>
<!-- /data/data/com.example/cache -->
<cache-path name="test_cache" />
<!-- /storage/emulated/0 -->
diff --git a/core/core/src/main/java/androidx/core/app/JobIntentService.java b/core/core/src/main/java/androidx/core/app/JobIntentService.java
index 12f657d..2f63c3c 100644
--- a/core/core/src/main/java/androidx/core/app/JobIntentService.java
+++ b/core/core/src/main/java/androidx/core/app/JobIntentService.java
@@ -25,7 +25,6 @@
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
-import android.os.AsyncTask;
import android.os.Build;
import android.os.IBinder;
import android.os.PowerManager;
@@ -380,7 +379,7 @@
/**
* This is a task to dequeue and process work in the background.
*/
- final class CommandProcessor extends AsyncTask<Void, Void, Void> {
+ final class CommandProcessor extends android.os.AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
GenericWorkItem work;
@@ -562,7 +561,7 @@
* Control whether code executing in {@link #onHandleWork(Intent)} will be interrupted
* if the job is stopped. By default this is false. If called and set to true, any
* time {@link #onStopCurrentWork()} is called, the class will first call
- * {@link AsyncTask#cancel(boolean) AsyncTask.cancel(true)} to interrupt the running
+ * {@link android.os.AsyncTask#cancel(boolean) AsyncTask.cancel(true)} to interrupt the running
* task.
*
* @param interruptIfStopped Set to true to allow the system to interrupt actively
@@ -603,6 +602,7 @@
return onStopCurrentWork();
}
+ @SuppressWarnings("deprecation") /* AsyncTask */
void ensureProcessorRunningLocked(boolean reportStarted) {
if (mCurProcessor == null) {
mCurProcessor = new CommandProcessor();
@@ -610,7 +610,7 @@
mCompatWorkEnqueuer.serviceProcessingStarted();
}
if (DEBUG) Log.d(TAG, "Starting processor: " + mCurProcessor);
- mCurProcessor.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ mCurProcessor.executeOnExecutor(android.os.AsyncTask.THREAD_POOL_EXECUTOR);
}
}
diff --git a/core/core/src/main/java/androidx/core/app/NotificationCompat.java b/core/core/src/main/java/androidx/core/app/NotificationCompat.java
index 2591f85..d92c8d4 100644
--- a/core/core/src/main/java/androidx/core/app/NotificationCompat.java
+++ b/core/core/src/main/java/androidx/core/app/NotificationCompat.java
@@ -34,6 +34,7 @@
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.Drawable;
+import android.graphics.drawable.Icon;
import android.media.AudioAttributes;
import android.media.AudioManager;
import android.net.Uri;
@@ -704,6 +705,11 @@
@RestrictTo(LIBRARY_GROUP_PREFIX)
public ArrayList<Action> mActions = new ArrayList<>();
+ /** @hide */
+ @RestrictTo(LIBRARY_GROUP_PREFIX)
+ @NonNull
+ public ArrayList<Person> mPersonList = new ArrayList<>();
+
// Invisible actions are stored in the CarExtender bundle without actually being owned by
// CarExtender. This is to comply with an optimization of the Android OS which removes
// Actions from the Notification if there are no listeners for those Actions.
@@ -749,7 +755,8 @@
@GroupAlertBehavior int mGroupAlertBehavior = GROUP_ALERT_ALL;
boolean mAllowSystemGeneratedContextualActions;
BubbleMetadata mBubbleMetadata;
- Notification mNotification = new Notification();
+ Notification.Builder mBuilder;
+ Notification mNotification;
boolean mSilent;
/**
@@ -775,6 +782,12 @@
public Builder(@NonNull Context context, @NonNull String channelId) {
mContext = context;
mChannelId = channelId;
+ mBuilder = Build.VERSION.SDK_INT >= 26
+ ? new Notification.Builder(context, channelId)
+ : new Notification.Builder(context);
+ mNotification = Build.VERSION.SDK_INT >= 16
+ ? mBuilder.build()
+ : new Notification();
// Set defaults to match the defaults of a Notification
mNotification.when = System.currentTimeMillis();
@@ -812,6 +825,19 @@
}
/**
+ * Set the small icon to use in the notification layouts. Different classes of devices
+ * may return different sizes. See the UX guidelines for more information on how to
+ * design these icons.
+ *
+ * @param icon The small Icon object to use
+ */
+ @RequiresApi(23)
+ public @NonNull Builder setSmallIcon(@Nullable Icon icon) {
+ mBuilder.setSmallIcon(icon);
+ return this;
+ }
+
+ /**
* Show the {@link Notification#when} field as a stopwatch.
*
* Instead of presenting <code>when</code> as a timestamp, the notification will show an
@@ -1301,14 +1327,41 @@
*
* @param uri A URI for the person.
* @see Notification#EXTRA_PEOPLE
+ * @deprecated use {@link #addPerson(Person)}
*/
- @SuppressWarnings("deprecation")
+ @Deprecated
public Builder addPerson(String uri) {
mPeople.add(uri);
return this;
}
/**
+ * Add a person that is relevant to this notification.
+ *
+ * <P>
+ * Depending on user preferences, this annotation may allow the notification to pass
+ * through interruption filters, if this notification is of category {@link #CATEGORY_CALL}
+ * or {@link #CATEGORY_MESSAGE}. The addition of people may also cause this notification to
+ * appear more prominently in the user interface.
+ * </P>
+ *
+ * <P>
+ * A person should usually contain a uri in order to benefit from the ranking boost.
+ * However, even if no uri is provided, it's beneficial to provide other people in the
+ * notification, such that listeners and voice only devices can announce and handle them
+ * properly.
+ * </P>
+ *
+ * @param person the person to add.
+ * @see Notification#EXTRA_PEOPLE_LIST
+ */
+ @NonNull
+ public Builder addPerson(@NonNull final Person person) {
+ mPersonList.add(person);
+ return this;
+ }
+
+ /**
* Set this notification to be part of a group of notifications sharing the same key.
* Grouped notifications may display in a cluster or stack on devices which
* support such rendering.
diff --git a/core/core/src/main/java/androidx/core/app/NotificationCompatBuilder.java b/core/core/src/main/java/androidx/core/app/NotificationCompatBuilder.java
index e007540..ec46515 100644
--- a/core/core/src/main/java/androidx/core/app/NotificationCompatBuilder.java
+++ b/core/core/src/main/java/androidx/core/app/NotificationCompatBuilder.java
@@ -31,7 +31,9 @@
import android.util.SparseArray;
import android.widget.RemoteViews;
+import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
+import androidx.collection.ArraySet;
import androidx.core.graphics.drawable.IconCompat;
import java.util.ArrayList;
@@ -128,7 +130,8 @@
mBuilder.setShowWhen(b.mShowWhen);
if (Build.VERSION.SDK_INT < 21) {
- if (b.mPeople != null && !b.mPeople.isEmpty()) {
+ final List<String> people = combineLists(getPeople(b.mPersonList), b.mPeople);
+ if (people != null && !people.isEmpty()) {
mExtras.putStringArray(Notification.EXTRA_PEOPLE,
b.mPeople.toArray(new String[b.mPeople.size()]));
}
@@ -149,9 +152,19 @@
.setPublicVersion(b.mPublicVersion)
.setSound(n.sound, n.audioAttributes);
- for (String person: b.mPeople) {
- mBuilder.addPerson(person);
+
+ final List<String> people;
+ if (Build.VERSION.SDK_INT < 28) {
+ people = combineLists(getPeople(b.mPersonList), b.mPeople);
+ } else {
+ people = b.mPeople;
}
+ if (people != null && !people.isEmpty()) {
+ for (String person : people) {
+ mBuilder.addPerson(person);
+ }
+ }
+
mHeadsUpContentView = b.mHeadsUpContentView;
if (b.mInvisibleActions.size() > 0) {
@@ -177,6 +190,9 @@
NotificationCompat.CarExtender.EXTRA_CAR_EXTENDER, carExtenderBundle);
}
}
+ if (Build.VERSION.SDK_INT >= 23) {
+ mBuilder.setSmallIcon(n.getSmallIcon());
+ }
if (Build.VERSION.SDK_INT >= 24) {
mBuilder.setExtras(b.mExtras)
.setRemoteInputHistory(b.mRemoteInputHistory);
@@ -206,6 +222,11 @@
.setVibrate(null);
}
}
+ if (Build.VERSION.SDK_INT >= 28) {
+ for (Person p : b.mPersonList) {
+ mBuilder.addPerson(p.toAndroidPerson());
+ }
+ }
if (Build.VERSION.SDK_INT >= 29) {
mBuilder.setAllowSystemGeneratedContextualActions(
b.mAllowSystemGeneratedContextualActions);
@@ -239,6 +260,33 @@
}
}
+ @Nullable
+ private static List<String> combineLists(@Nullable final List<String> first,
+ @Nullable final List<String> second) {
+ if (first == null) {
+ return second;
+ }
+ if (second == null) {
+ return first;
+ }
+ final ArraySet<String> people = new ArraySet<>(first.size() + second.size());
+ people.addAll(first);
+ people.addAll(second);
+ return new ArrayList<>(people);
+ }
+
+ @Nullable
+ private static List<String> getPeople(@Nullable final List<Person> people) {
+ if (people == null) {
+ return null;
+ }
+ final ArrayList<String> result = new ArrayList<>(people.size());
+ for (Person person : people) {
+ result.add(person.resolveToLegacyUri());
+ }
+ return result;
+ }
+
@Override
public Notification.Builder getBuilder() {
return mBuilder;
diff --git a/core/core/src/main/java/androidx/core/app/Person.java b/core/core/src/main/java/androidx/core/app/Person.java
index 44f5c9c..cb95bb7 100644
--- a/core/core/src/main/java/androidx/core/app/Person.java
+++ b/core/core/src/main/java/androidx/core/app/Person.java
@@ -240,6 +240,22 @@
return mIsImportant;
}
+ /**
+ * @return the URI associated with this person, or "name:mName" otherwise
+ * @hide
+ */
+ @NonNull
+ @RestrictTo(LIBRARY_GROUP_PREFIX)
+ public String resolveToLegacyUri() {
+ if (mUri != null) {
+ return mUri;
+ }
+ if (mName != null) {
+ return "name:" + mName;
+ }
+ return "";
+ }
+
/** Builder for the immutable {@link Person} class. */
public static class Builder {
@Nullable CharSequence mName;
diff --git a/core/core/src/main/java/androidx/core/content/IntentCompat.java b/core/core/src/main/java/androidx/core/content/IntentCompat.java
index 1909ac8..0eb6998 100644
--- a/core/core/src/main/java/androidx/core/content/IntentCompat.java
+++ b/core/core/src/main/java/androidx/core/content/IntentCompat.java
@@ -16,6 +16,7 @@
package androidx.core.content;
+import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Build;
@@ -30,6 +31,25 @@
}
/**
+ * Activity Action: Creates a reminder.
+ * <p>Input: {@link android.content.Intent#EXTRA_TITLE} The title of the
+ * reminder that will be shown to the user.
+ * {@link android.content.Intent#EXTRA_TEXT} The reminder text that will be
+ * shown to the user. The intent should at least specify a title or a text.
+ * {@link #EXTRA_EPOCH_TIME} The time when the reminder will
+ * be shown to the user. The time is specified in milliseconds since the
+ * Epoch (optional).
+ * </p>
+ * <p>Output: Nothing.</p>
+ *
+ * @see android.content.Intent#EXTRA_TITLE
+ * @see android.content.Intent#EXTRA_TEXT
+ * @see #EXTRA_EPOCH_TIME
+ */
+ @SuppressLint("ActionValue")
+ public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
+
+ /**
* A constant String that is associated with the Intent, used with
* {@link android.content.Intent#ACTION_SEND} to supply an alternative to
* {@link android.content.Intent#EXTRA_TEXT}
@@ -46,6 +66,16 @@
public static final String EXTRA_START_PLAYBACK = "android.intent.extra.START_PLAYBACK";
/**
+ * Optional extra specifying a time in milliseconds since the Epoch. The value must be
+ * non-negative.
+ * <p>
+ * Type: long
+ * </p>
+ */
+ @SuppressLint("ActionValue")
+ public static final String EXTRA_EPOCH_TIME = "android.intent.extra.EPOCH_TIME";
+
+ /**
* Indicates an activity optimized for Leanback mode, and that should
* be displayed in the Leanback launcher.
*/
diff --git a/core/core/src/main/java/androidx/core/content/pm/ShortcutInfoCompat.java b/core/core/src/main/java/androidx/core/content/pm/ShortcutInfoCompat.java
index 6e18711..382925a 100644
--- a/core/core/src/main/java/androidx/core/content/pm/ShortcutInfoCompat.java
+++ b/core/core/src/main/java/androidx/core/content/pm/ShortcutInfoCompat.java
@@ -22,9 +22,11 @@
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutManager;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.PersistableBundle;
+import android.os.UserHandle;
import android.text.TextUtils;
import androidx.annotation.NonNull;
@@ -36,8 +38,10 @@
import androidx.core.content.LocusIdCompat;
import androidx.core.graphics.drawable.IconCompat;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
/**
@@ -52,7 +56,7 @@
Context mContext;
String mId;
-
+ String mPackageName;
Intent[] mIntents;
ComponentName mActivity;
@@ -73,6 +77,20 @@
int mRank;
+ PersistableBundle mExtras;
+
+ // Read-Only fields
+ long mLastChangedTimestamp;
+ UserHandle mUser;
+ boolean mIsCached;
+ boolean mIsDynamic;
+ boolean mIsPinned;
+ boolean mIsDeclaredInManifest;
+ boolean mIsImmutable;
+ boolean mIsEnabled = true;
+ boolean mHasKeyFieldsOnly;
+ int mDisabledReason;
+
ShortcutInfoCompat() { }
/**
@@ -99,7 +117,9 @@
builder.setCategories(mCategories);
}
builder.setRank(mRank);
-
+ if (mExtras != null) {
+ builder.setExtras(mExtras);
+ }
if (Build.VERSION.SDK_INT >= 29) {
if (mPersons != null && mPersons.length > 0) {
android.app.Person[] persons = new android.app.Person[mPersons.length];
@@ -127,19 +147,21 @@
@RequiresApi(22)
@RestrictTo(LIBRARY_GROUP_PREFIX)
private PersistableBundle buildLegacyExtrasBundle() {
- PersistableBundle bundle = new PersistableBundle();
+ if (mExtras == null) {
+ mExtras = new PersistableBundle();
+ }
if (mPersons != null && mPersons.length > 0) {
- bundle.putInt(EXTRA_PERSON_COUNT, mPersons.length);
+ mExtras.putInt(EXTRA_PERSON_COUNT, mPersons.length);
for (int i = 0; i < mPersons.length; i++) {
- bundle.putPersistableBundle(EXTRA_PERSON_ + (i + 1),
+ mExtras.putPersistableBundle(EXTRA_PERSON_ + (i + 1),
mPersons[i].toPersistableBundle());
}
}
if (mLocusId != null) {
- bundle.putString(EXTRA_LOCUS_ID, mLocusId.getId());
+ mExtras.putString(EXTRA_LOCUS_ID, mLocusId.getId());
}
- bundle.putBoolean(EXTRA_LONG_LIVED, mIsLongLived);
- return bundle;
+ mExtras.putBoolean(EXTRA_LONG_LIVED, mIsLongLived);
+ return mExtras;
}
Intent addToIntent(Intent outIntent) {
@@ -178,6 +200,14 @@
}
/**
+ * Return the package name of the publisher app.
+ */
+ @NonNull
+ public String getPackage() {
+ return mPackageName;
+ }
+
+ /**
* Return the target activity.
*
* <p>This has nothing to do with the activity that this shortcut will launch.
@@ -223,6 +253,13 @@
}
/**
+ * Returns why a shortcut has been disabled.
+ */
+ public int getDisabledReason() {
+ return mDisabledReason;
+ }
+
+ /**
* Returns the intent that is executed when the user selects this shortcut.
* If setIntents() was used, then return the last intent in the array.
*
@@ -309,7 +346,7 @@
@RequiresApi(25)
@RestrictTo(LIBRARY_GROUP_PREFIX)
@VisibleForTesting
- static boolean getLongLivedFromExtra(@NonNull PersistableBundle bundle) {
+ static boolean getLongLivedFromExtra(@Nullable PersistableBundle bundle) {
if (bundle == null || !bundle.containsKey(EXTRA_LONG_LIVED)) {
return false;
}
@@ -321,6 +358,109 @@
*/
@RequiresApi(25)
@RestrictTo(LIBRARY_GROUP_PREFIX)
+ static List<ShortcutInfoCompat> fromShortcuts(@NonNull final Context context,
+ @NonNull final List<ShortcutInfo> shortcuts) {
+ final List<ShortcutInfoCompat> results = new ArrayList<>(shortcuts.size());
+ for (ShortcutInfo s : shortcuts) {
+ results.add(new ShortcutInfoCompat.Builder(context, s).build());
+ }
+ return results;
+ }
+
+ @Nullable
+ public PersistableBundle getExtras() {
+ return mExtras;
+ }
+
+ /**
+ * {@link UserHandle} on which the publisher created this shortcut.
+ */
+ @Nullable
+ public UserHandle getUserHandle() {
+ return mUser;
+ }
+
+ /**
+ * Last time when any of the fields was updated.
+ */
+ public long getLastChangedTimestamp() {
+ return mLastChangedTimestamp;
+ }
+
+ /** Return whether a shortcut is cached. */
+ public boolean isCached() {
+ return mIsCached;
+ }
+
+ /** Return whether a shortcut is dynamic. */
+ public boolean isDynamic() {
+ return mIsDynamic;
+ }
+
+ /** Return whether a shortcut is pinned. */
+ public boolean isPinned() {
+ return mIsPinned;
+ }
+
+ /**
+ * Return whether a shortcut is static; that is, whether a shortcut is
+ * published from AndroidManifest.xml. If {@code true}, the shortcut is
+ * also {@link #isImmutable()}.
+ *
+ * <p>When an app is upgraded and a shortcut is no longer published from AndroidManifest.xml,
+ * this will be set to {@code false}. If the shortcut is not pinned, then it'll disappear.
+ * However, if it's pinned, it will still be visible, {@link #isEnabled()} will be
+ * {@code false} and {@link #isEnabled()} will be {@code true}.
+ */
+ public boolean isDeclaredInManifest() {
+ return mIsDeclaredInManifest;
+ }
+
+ /**
+ * Return if a shortcut is immutable, in which case it cannot be modified with any of
+ * {@link ShortcutManagerCompat} APIs.
+ *
+ * <p>All static shortcuts are immutable. When a static shortcut is pinned and is then
+ * disabled because it doesn't appear in AndroidManifest.xml for a newer version of the
+ * app, {@link #isDeclaredInManifest} returns {@code false}, but the shortcut is still
+ * immutable.
+ *
+ * <p>All shortcuts originally published via the {@link ShortcutManager} APIs
+ * are all mutable.
+ */
+ public boolean isImmutable() {
+ return mIsImmutable;
+ }
+
+ /**
+ * Returns {@code false} if a shortcut is disabled with
+ * {@link ShortcutManagerCompat#disableShortcuts}.
+ */
+ public boolean isEnabled() {
+ return mIsEnabled;
+ }
+
+ /**
+ * Return whether a shortcut only contains "key" information only or not. If true, only the
+ * following fields are available.
+ * <ul>
+ * <li>{@link #getId()}
+ * <li>{@link #getPackage()}
+ * <li>{@link #getActivity()}
+ * <li>{@link #getLastChangedTimestamp()}
+ * <li>{@link #isDynamic()}
+ * <li>{@link #isPinned()}
+ * <li>{@link #isDeclaredInManifest()}
+ * <li>{@link #isImmutable()}
+ * <li>{@link #isEnabled()}
+ * <li>{@link #getUserHandle()}
+ * </ul>
+ */
+ public boolean hasKeyFieldsOnly() {
+ return mHasKeyFieldsOnly;
+ }
+
+ @RequiresApi(25)
@Nullable
static LocusIdCompat getLocusId(@NonNull final ShortcutInfo shortcutInfo) {
if (Build.VERSION.SDK_INT >= 29) {
@@ -364,15 +504,26 @@
mInfo = new ShortcutInfoCompat();
mInfo.mContext = shortcutInfo.mContext;
mInfo.mId = shortcutInfo.mId;
+ mInfo.mPackageName = shortcutInfo.mPackageName;
mInfo.mIntents = Arrays.copyOf(shortcutInfo.mIntents, shortcutInfo.mIntents.length);
mInfo.mActivity = shortcutInfo.mActivity;
mInfo.mLabel = shortcutInfo.mLabel;
mInfo.mLongLabel = shortcutInfo.mLongLabel;
mInfo.mDisabledMessage = shortcutInfo.mDisabledMessage;
+ mInfo.mDisabledReason = shortcutInfo.mDisabledReason;
mInfo.mIcon = shortcutInfo.mIcon;
mInfo.mIsAlwaysBadged = shortcutInfo.mIsAlwaysBadged;
+ mInfo.mUser = shortcutInfo.mUser;
+ mInfo.mLastChangedTimestamp = shortcutInfo.mLastChangedTimestamp;
+ mInfo.mIsCached = shortcutInfo.mIsCached;
+ mInfo.mIsDynamic = shortcutInfo.mIsDynamic;
+ mInfo.mIsPinned = shortcutInfo.mIsPinned;
+ mInfo.mIsDeclaredInManifest = shortcutInfo.mIsDeclaredInManifest;
+ mInfo.mIsImmutable = shortcutInfo.mIsImmutable;
+ mInfo.mIsEnabled = shortcutInfo.mIsEnabled;
mInfo.mLocusId = shortcutInfo.mLocusId;
mInfo.mIsLongLived = shortcutInfo.mIsLongLived;
+ mInfo.mHasKeyFieldsOnly = shortcutInfo.mHasKeyFieldsOnly;
mInfo.mRank = shortcutInfo.mRank;
if (shortcutInfo.mPersons != null) {
mInfo.mPersons = Arrays.copyOf(shortcutInfo.mPersons, shortcutInfo.mPersons.length);
@@ -380,6 +531,9 @@
if (shortcutInfo.mCategories != null) {
mInfo.mCategories = new HashSet<>(shortcutInfo.mCategories);
}
+ if (shortcutInfo.mExtras != null) {
+ mInfo.mExtras = shortcutInfo.mExtras;
+ }
}
/**
@@ -391,16 +545,36 @@
mInfo = new ShortcutInfoCompat();
mInfo.mContext = context;
mInfo.mId = shortcutInfo.getId();
+ mInfo.mPackageName = shortcutInfo.getPackage();
Intent[] intents = shortcutInfo.getIntents();
mInfo.mIntents = Arrays.copyOf(intents, intents.length);
mInfo.mActivity = shortcutInfo.getActivity();
mInfo.mLabel = shortcutInfo.getShortLabel();
mInfo.mLongLabel = shortcutInfo.getLongLabel();
mInfo.mDisabledMessage = shortcutInfo.getDisabledMessage();
+ if (Build.VERSION.SDK_INT >= 28) {
+ mInfo.mDisabledReason = shortcutInfo.getDisabledReason();
+ } else {
+ mInfo.mDisabledReason = shortcutInfo.isEnabled()
+ ? ShortcutInfo.DISABLED_REASON_NOT_DISABLED
+ : ShortcutInfo.DISABLED_REASON_UNKNOWN;
+ }
mInfo.mCategories = shortcutInfo.getCategories();
mInfo.mPersons = ShortcutInfoCompat.getPersonsFromExtra(shortcutInfo.getExtras());
+ mInfo.mUser = shortcutInfo.getUserHandle();
+ mInfo.mLastChangedTimestamp = shortcutInfo.getLastChangedTimestamp();
+ if (Build.VERSION.SDK_INT >= 30) {
+ mInfo.mIsCached = shortcutInfo.isCached();
+ }
+ mInfo.mIsDynamic = shortcutInfo.isDynamic();
+ mInfo.mIsPinned = shortcutInfo.isPinned();
+ mInfo.mIsDeclaredInManifest = shortcutInfo.isDeclaredInManifest();
+ mInfo.mIsImmutable = shortcutInfo.isImmutable();
+ mInfo.mIsEnabled = shortcutInfo.isEnabled();
+ mInfo.mHasKeyFieldsOnly = shortcutInfo.hasKeyFieldsOnly();
mInfo.mLocusId = ShortcutInfoCompat.getLocusId(shortcutInfo);
mInfo.mRank = shortcutInfo.getRank();
+ mInfo.mExtras = shortcutInfo.getExtras();
}
/**
@@ -592,6 +766,20 @@
}
/**
+ * Extras that the app can set for any purpose.
+ *
+ * <p>Apps can store arbitrary shortcut metadata in extras and retrieve the
+ * metadata later using {@link ShortcutInfo#getExtras()}.
+ *
+ * @see ShortcutInfo#getExtras
+ */
+ @NonNull
+ public Builder setExtras(@NonNull PersistableBundle extras) {
+ mInfo.mExtras = extras;
+ return this;
+ }
+
+ /**
* Creates a {@link ShortcutInfoCompat} instance.
*/
@NonNull
diff --git a/core/core/src/main/java/androidx/core/content/pm/ShortcutManagerCompat.java b/core/core/src/main/java/androidx/core/content/pm/ShortcutManagerCompat.java
index 41965b1..2142661 100644
--- a/core/core/src/main/java/androidx/core/content/pm/ShortcutManagerCompat.java
+++ b/core/core/src/main/java/androidx/core/content/pm/ShortcutManagerCompat.java
@@ -16,7 +16,11 @@
package androidx.core.content.pm;
+import static androidx.core.graphics.drawable.IconCompat.TYPE_URI;
+import static androidx.core.graphics.drawable.IconCompat.TYPE_URI_ADAPTIVE_BITMAP;
+
import android.app.Activity;
+import android.app.ActivityManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -25,16 +29,28 @@
import android.content.pm.ResolveInfo;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.os.Build;
import android.text.TextUtils;
+import android.util.DisplayMetrics;
+import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.annotation.RestrictTo;
+import androidx.annotation.RestrictTo.Scope;
import androidx.annotation.VisibleForTesting;
import androidx.core.content.ContextCompat;
+import androidx.core.graphics.drawable.IconCompat;
+import androidx.core.util.Preconditions;
+import java.io.InputStream;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
@@ -42,11 +58,53 @@
*/
public class ShortcutManagerCompat {
+ /**
+ * Include manifest shortcuts in the result.
+ *
+ * @see #getShortcuts
+ */
+ public static final int FLAG_MATCH_MANIFEST = 1 << 0;
+
+ /**
+ * Include dynamic shortcuts in the result.
+ *
+ * @see #getShortcuts
+ */
+ public static final int FLAG_MATCH_DYNAMIC = 1 << 1;
+
+ /**
+ * Include pinned shortcuts in the result.
+ *
+ * @see #getShortcuts
+ */
+ public static final int FLAG_MATCH_PINNED = 1 << 2;
+
+ /**
+ * Include cached shortcuts in the result.
+ *
+ * @see #getShortcuts
+ */
+ public static final int FLAG_MATCH_CACHED = 1 << 3;
+
+ /** @hide */
+ @RestrictTo(Scope.LIBRARY_GROUP_PREFIX)
+ @IntDef(flag = true, value = {
+ FLAG_MATCH_MANIFEST,
+ FLAG_MATCH_DYNAMIC,
+ FLAG_MATCH_PINNED,
+ FLAG_MATCH_CACHED,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ShortcutMatchFlags {}
+
@VisibleForTesting static final String ACTION_INSTALL_SHORTCUT =
"com.android.launcher.action.INSTALL_SHORTCUT";
@VisibleForTesting static final String INSTALL_SHORTCUT_PERMISSION =
"com.android.launcher.permission.INSTALL_SHORTCUT";
+ private static final int DEFAULT_MAX_ICON_DIMENSION_DP = 96;
+ private static final int DEFAULT_MAX_ICON_DIMENSION_LOWRAM_DP = 48;
+
/**
* Key to get the shortcut ID from extras of a share intent.
*
@@ -165,6 +223,64 @@
}
/**
+ * Returns {@link ShortcutInfoCompat}s that match {@code matchFlags}.
+ *
+ * @param matchFlags result includes shortcuts matching this flags. Any combination of:
+ * <ul>
+ * <li>{@link #FLAG_MATCH_MANIFEST}
+ * <li>{@link #FLAG_MATCH_DYNAMIC}
+ * <li>{@link #FLAG_MATCH_PINNED}
+ * <li>{@link #FLAG_MATCH_CACHED}
+ * </ul>
+ *
+ * Compatibility behavior:
+ * <ul>
+ * <li>API 30 and above, this method matches platform behavior.
+ * <li>API 25 through 29, this method aggregates the result from corresponding platform
+ * api.
+ * <li>API 24 and earlier, this method can only returns dynamic shortcut. Calling this
+ * method with other flag will be ignored.
+ * </ul>
+ *
+ * @return list of {@link ShortcutInfoCompat}s that match the flag.
+ *
+ * <p>At least one of the {@code MATCH} flags should be set. Otherwise no shortcuts will be
+ * returned.
+ *
+ * @throws IllegalStateException when the user is locked.
+ */
+ @NonNull
+ public static List<ShortcutInfoCompat> getShortcuts(@NonNull final Context context,
+ @ShortcutMatchFlags int matchFlags) {
+ if (Build.VERSION.SDK_INT >= 30) {
+ final List<ShortcutInfo> shortcuts =
+ context.getSystemService(ShortcutManager.class).getShortcuts(matchFlags);
+ return ShortcutInfoCompat.fromShortcuts(context, shortcuts);
+ } else if (Build.VERSION.SDK_INT >= 25) {
+ final ShortcutManager manager = context.getSystemService(ShortcutManager.class);
+ final List<ShortcutInfo> shortcuts = new ArrayList<>();
+ if ((matchFlags & FLAG_MATCH_MANIFEST) != 0) {
+ shortcuts.addAll(manager.getManifestShortcuts());
+ }
+ if ((matchFlags & FLAG_MATCH_DYNAMIC) != 0) {
+ shortcuts.addAll(manager.getDynamicShortcuts());
+ }
+ if ((matchFlags & FLAG_MATCH_PINNED) != 0) {
+ shortcuts.addAll(manager.getPinnedShortcuts());
+ }
+ return ShortcutInfoCompat.fromShortcuts(context, shortcuts);
+ }
+ if ((matchFlags & FLAG_MATCH_DYNAMIC) != 0) {
+ try {
+ return getShortcutInfoSaverInstance(context).getShortcuts();
+ } catch (Exception e) {
+ // Ignore
+ }
+ }
+ return Collections.emptyList();
+ }
+
+ /**
* Publish the list of dynamic shortcuts. If there are already dynamic or pinned shortcuts with
* the same IDs, each mutable shortcut is updated.
*
@@ -178,6 +294,9 @@
*/
public static boolean addDynamicShortcuts(@NonNull Context context,
@NonNull List<ShortcutInfoCompat> shortcutInfoList) {
+ if (Build.VERSION.SDK_INT <= 29) {
+ convertUriIconsToBitmapIcons(context, shortcutInfoList);
+ }
if (Build.VERSION.SDK_INT >= 25) {
ArrayList<ShortcutInfo> shortcuts = new ArrayList<>();
for (ShortcutInfoCompat item : shortcutInfoList) {
@@ -197,6 +316,7 @@
* can have at a time.
*/
public static int getMaxShortcutCountPerActivity(@NonNull Context context) {
+ Preconditions.checkNotNull(context);
if (Build.VERSION.SDK_INT >= 25) {
return context.getSystemService(ShortcutManager.class).getMaxShortcutCountPerActivity();
}
@@ -206,6 +326,117 @@
}
/**
+ * Return {@code true} when rate-limiting is active for the caller app.
+ *
+ * <p>For details, see <a href="/guide/topics/ui/shortcuts/managing-shortcuts#rate-limiting">
+ * Rate limiting</a>.
+ *
+ * @throws IllegalStateException when the user is locked.
+ */
+ public static boolean isRateLimitingActive(@NonNull final Context context) {
+ Preconditions.checkNotNull(context);
+ if (Build.VERSION.SDK_INT >= 25) {
+ return context.getSystemService(ShortcutManager.class).isRateLimitingActive();
+ }
+
+ return getMaxShortcutCountPerActivity(context) == 0;
+ }
+
+ /**
+ * Return the max width for icons, in pixels.
+ *
+ * <p> Note that this method returns max width of icon's visible part. Hence, it does not take
+ * into account the inset introduced by {@link android.graphics.drawable.AdaptiveIconDrawable}.
+ * To calculate bitmap image to function as
+ * {@link android.graphics.drawable.AdaptiveIconDrawable}, multiply
+ * 1 + 2 * {@link android.graphics.drawable.AdaptiveIconDrawable#getExtraInsetFraction()} to
+ * the returned size.
+ */
+ public static int getIconMaxWidth(@NonNull final Context context) {
+ Preconditions.checkNotNull(context);
+ if (Build.VERSION.SDK_INT >= 25) {
+ return context.getSystemService(ShortcutManager.class).getIconMaxWidth();
+ }
+ return getIconDimensionInternal(context, true);
+ }
+
+ /**
+ * Return the max height for icons, in pixels.
+ */
+ public static int getIconMaxHeight(@NonNull final Context context) {
+ Preconditions.checkNotNull(context);
+ if (Build.VERSION.SDK_INT >= 25) {
+ return context.getSystemService(ShortcutManager.class).getIconMaxHeight();
+ }
+ return getIconDimensionInternal(context, false);
+ }
+
+ /**
+ * Apps that publish shortcuts should call this method whenever the user
+ * selects the shortcut containing the given ID or when the user completes
+ * an action in the app that is equivalent to selecting the shortcut.
+ * For more details, read about
+ * <a href="/guide/topics/ui/shortcuts/managing-shortcuts.html#track-usage">
+ * tracking shortcut usage</a>.
+ *
+ * <p>The information is accessible via {@link android.app.usage.UsageStatsManager#queryEvents}
+ * Typically, launcher apps use this information to build a prediction model
+ * so that they can promote the shortcuts that are likely to be used at the moment.
+ *
+ * @throws IllegalStateException when the user is locked.
+ *
+ * <p>This method is not supported on devices running SDK < 25 since the platform class will
+ * not be available.
+ */
+ public static void reportShortcutUsed(@NonNull final Context context,
+ @NonNull final String shortcutId) {
+ Preconditions.checkNotNull(context);
+ Preconditions.checkNotNull(shortcutId);
+ if (Build.VERSION.SDK_INT >= 25) {
+ context.getSystemService(ShortcutManager.class).reportShortcutUsed(shortcutId);
+ }
+ }
+
+ /**
+ * Publish the list of shortcuts. All existing dynamic shortcuts from the caller app
+ * will be replaced. If there are already pinned shortcuts with the same IDs,
+ * the mutable pinned shortcuts are updated.
+ *
+ * <p>This API will be rate-limited.
+ *
+ * Compatibility behavior:
+ * <ul>
+ * <li>API 25 and above, this method matches platform behavior.
+ * <li>API 24 and earlier, this method is equivalent of calling
+ * {@link #removeAllDynamicShortcuts} and {@link #addDynamicShortcuts} consecutively.
+ * </ul>
+ *
+ * @return {@code true} if the call has succeeded. {@code false} if the call is rate-limited.
+ *
+ * @throws IllegalArgumentException if {@link #getMaxShortcutCountPerActivity} is exceeded,
+ * or when trying to update immutable shortcuts.
+ *
+ * @throws IllegalStateException when the user is locked.
+ */
+ public static boolean setDynamicShortcuts(@NonNull final Context context,
+ @NonNull final List<ShortcutInfoCompat> shortcutInfoList) {
+ Preconditions.checkNotNull(context);
+ Preconditions.checkNotNull(shortcutInfoList);
+ if (Build.VERSION.SDK_INT >= 25) {
+ List<ShortcutInfo> shortcuts = new ArrayList<>(shortcutInfoList.size());
+ for (ShortcutInfoCompat compat : shortcutInfoList) {
+ shortcuts.add(compat.toShortcutInfo());
+ }
+ if (!context.getSystemService(ShortcutManager.class).setDynamicShortcuts(shortcuts)) {
+ return false;
+ }
+ }
+ getShortcutInfoSaverInstance(context).removeAllShortcuts();
+ getShortcutInfoSaverInstance(context).addShortcuts(shortcutInfoList);
+ return true;
+ }
+
+ /**
* Return all dynamic shortcuts from the caller app.
*
* <p>This API is intended to be used for examining what shortcuts are currently published.
@@ -246,6 +477,9 @@
*/
public static boolean updateShortcuts(@NonNull Context context,
@NonNull List<ShortcutInfoCompat> shortcutInfoList) {
+ if (Build.VERSION.SDK_INT <= 29) {
+ convertUriIconsToBitmapIcons(context, shortcutInfoList);
+ }
if (Build.VERSION.SDK_INT >= 25) {
ArrayList<ShortcutInfo> shortcuts = new ArrayList<>();
for (ShortcutInfoCompat item : shortcutInfoList) {
@@ -260,6 +494,85 @@
return true;
}
+ @VisibleForTesting
+ static void convertUriIconsToBitmapIcons(@NonNull Context context,
+ @NonNull List<ShortcutInfoCompat> shortcutInfoList) {
+ final List<ShortcutInfoCompat> infos = new ArrayList<>(shortcutInfoList);
+ for (ShortcutInfoCompat info : infos) {
+ final int type = info.mIcon.mType;
+ if (type != TYPE_URI_ADAPTIVE_BITMAP && type != TYPE_URI) {
+ continue;
+ }
+ InputStream is = info.mIcon.getUriInputStream(context);
+ if (is == null) {
+ shortcutInfoList.remove(info);
+ continue;
+ }
+ final Bitmap bitmap = BitmapFactory.decodeStream(is);
+ if (bitmap == null) {
+ shortcutInfoList.remove(info);
+ continue;
+ }
+ info.mIcon = (type == TYPE_URI_ADAPTIVE_BITMAP)
+ ? IconCompat.createWithAdaptiveBitmap(bitmap)
+ : IconCompat.createWithBitmap(bitmap);
+ }
+ }
+
+ /**
+ * Disable pinned shortcuts, showing the user a custom error message when they try to select
+ * the disabled shortcuts.
+ * For more details, read
+ * <a href="/guide/topics/ui/shortcuts/managing-shortcuts.html#disable-shortcuts">
+ * Disable shortcuts</a>.
+ *
+ * Compatibility behavior:
+ * <ul>
+ * <li>API 25 and above, this method matches platform behavior.
+ * <li>API 24 and earlier, this method behalves the same as {@link #removeDynamicShortcuts}
+ * </ul>
+ *
+ * @throws IllegalArgumentException If trying to disable immutable shortcuts.
+ *
+ * @throws IllegalStateException when the user is locked.
+ */
+ public static void disableShortcuts(@NonNull final Context context,
+ @NonNull final List<String> shortcutIds, @Nullable final CharSequence disabledMessage) {
+ if (Build.VERSION.SDK_INT >= 25) {
+ context.getSystemService(ShortcutManager.class)
+ .disableShortcuts(shortcutIds, disabledMessage);
+ }
+
+ getShortcutInfoSaverInstance(context).removeShortcuts(shortcutIds);
+ }
+
+ /**
+ * Re-enable pinned shortcuts that were previously disabled. If the target shortcuts
+ * are already enabled, this method does nothing.
+ *
+ * Compatibility behavior:
+ * <ul>
+ * <li>API 25 and above, this method matches platform behavior.
+ * <li>API 24 and earlier, this method behalves the same as {@link #addDynamicShortcuts}
+ * </ul>
+ *
+ * @throws IllegalArgumentException If trying to enable immutable shortcuts.
+ *
+ * @throws IllegalStateException when the user is locked.
+ */
+ public static void enableShortcuts(@NonNull final Context context,
+ @NonNull final List<ShortcutInfoCompat> shortcutInfoList) {
+ if (Build.VERSION.SDK_INT >= 25) {
+ final ArrayList<String> shortcutIds = new ArrayList<>(shortcutInfoList.size());
+ for (ShortcutInfoCompat shortcut : shortcutInfoList) {
+ shortcutIds.add(shortcut.mId);
+ }
+ context.getSystemService(ShortcutManager.class).enableShortcuts(shortcutIds);
+ }
+
+ getShortcutInfoSaverInstance(context).addShortcuts(shortcutInfoList);
+ }
+
/**
* Delete dynamic shortcuts by ID.
*/
@@ -283,6 +596,47 @@
getShortcutInfoSaverInstance(context).removeAllShortcuts();
}
+ /**
+ * Delete long lived shortcuts by ID.
+ *
+ * Compatibility behavior:
+ * <ul>
+ * <li>API 30 and above, this method matches platform behavior.
+ * <li>API 29 and earlier, this method behalves the same as {@link #removeDynamicShortcuts}
+ * </ul>
+ *
+ * @throws IllegalStateException when the user is locked.
+ */
+ public static void removeLongLivedShortcuts(@NonNull final Context context,
+ @NonNull final List<String> shortcutIds) {
+ if (Build.VERSION.SDK_INT < 30) {
+ removeDynamicShortcuts(context, shortcutIds);
+ return;
+ }
+
+ context.getSystemService(ShortcutManager.class).removeLongLivedShortcuts(shortcutIds);
+ getShortcutInfoSaverInstance(context).removeShortcuts(shortcutIds);
+ }
+
+ @VisibleForTesting
+ static void setShortcutInfoCompatSaver(final ShortcutInfoCompatSaver<Void> saver) {
+ sShortcutInfoCompatSaver = saver;
+ }
+
+ private static int getIconDimensionInternal(@NonNull final Context context,
+ final boolean isHorizontal) {
+ final ActivityManager am = (ActivityManager)
+ context.getSystemService(Context.ACTIVITY_SERVICE);
+ final boolean isLowRamDevice =
+ Build.VERSION.SDK_INT < 19 || am == null || am.isLowRamDevice();
+ final int iconDimensionDp = Math.max(1, isLowRamDevice
+ ? DEFAULT_MAX_ICON_DIMENSION_LOWRAM_DP : DEFAULT_MAX_ICON_DIMENSION_DP);
+ final DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
+ float density = (isHorizontal ? displayMetrics.xdpi : displayMetrics.ydpi)
+ / DisplayMetrics.DENSITY_MEDIUM;
+ return (int) (iconDimensionDp * density);
+ }
+
private static ShortcutInfoCompatSaver<?> getShortcutInfoSaverInstance(Context context) {
if (sShortcutInfoCompatSaver == null) {
if (Build.VERSION.SDK_INT >= 23) {
diff --git a/core/core/src/main/java/androidx/core/graphics/drawable/IconCompat.java b/core/core/src/main/java/androidx/core/graphics/drawable/IconCompat.java
index bcce315..d379bd9 100644
--- a/core/core/src/main/java/androidx/core/graphics/drawable/IconCompat.java
+++ b/core/core/src/main/java/androidx/core/graphics/drawable/IconCompat.java
@@ -17,6 +17,7 @@
package androidx.core.graphics.drawable;
import static androidx.annotation.RestrictTo.Scope.LIBRARY;
+import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP;
import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;
import android.app.ActivityManager;
@@ -107,11 +108,11 @@
* An icon that was created using {@link #createWithAdaptiveBitmap}.
*/
public static final int TYPE_ADAPTIVE_BITMAP = Icon.TYPE_ADAPTIVE_BITMAP;
- // TODO: (b/143878043) replace with android.graphics.drawable.TYPE_URI_ADAPTIVE_BITMAP
+
/**
* An icon that was created using {@link #createWithAdaptiveBitmapContentUri}.
*/
- public static final int TYPE_URI_ADAPTIVE_BITMAP = 6;
+ public static final int TYPE_URI_ADAPTIVE_BITMAP = Icon.TYPE_URI_ADAPTIVE_BITMAP;
/**
* @hide
@@ -326,9 +327,8 @@
* design guideline defined by {@link AdaptiveIconDrawable}.
*
* @param uri A uri referring to local content:// or file:// image data.
+ * @see android.graphics.drawable.Icon#createWithAdaptiveBitmapContentUri(String)
*/
- // TODO: (b/143878043) update comment when corresponding api is available
- // @see android.graphics.drawable.Icon#createWithAdaptiveBitmapContentUri(String)
@NonNull
public static IconCompat createWithAdaptiveBitmapContentUri(@NonNull String uri) {
if (uri == null) {
@@ -344,9 +344,8 @@
* design guideline defined by {@link AdaptiveIconDrawable}.
*
* @param uri A uri referring to local content:// or file:// image data.
+ * @see android.graphics.drawable.Icon#createWithAdaptiveBitmapContentUri(String)
*/
- // TODO: (b/143878043) update comment when corresponding api is available
- // @see android.graphics.drawable.Icon#createWithAdaptiveBitmapContentUri(String)
@NonNull
public static IconCompat createWithAdaptiveBitmapContentUri(@NonNull Uri uri) {
if (uri == null) {
@@ -539,7 +538,10 @@
icon = Icon.createWithContentUri((String) mObj1);
break;
case TYPE_URI_ADAPTIVE_BITMAP:
- // TODO: (b/143878043) call Icon#createWithAdaptiveBitmapContentUri
+ if (Build.VERSION.SDK_INT >= 30) {
+ icon = Icon.createWithAdaptiveBitmapContentUri(getUri());
+ break;
+ }
if (context == null) {
throw new IllegalArgumentException(
"Context is required to resolve the file uri of the icon: " + getUri());
@@ -671,7 +673,14 @@
return null;
}
- private InputStream getUriInputStream(Context context) {
+ /**
+ * Create an input stream for bitmap by resolving corresponding content uri.
+ *
+ * @hide
+ */
+ @Nullable
+ @RestrictTo(LIBRARY_GROUP)
+ public InputStream getUriInputStream(@NonNull Context context) {
final Uri uri = getUri();
final String scheme = uri.getScheme();
if (ContentResolver.SCHEME_CONTENT.equals(scheme)
diff --git a/core/core/src/main/java/androidx/core/hardware/display/DisplayManagerCompat.java b/core/core/src/main/java/androidx/core/hardware/display/DisplayManagerCompat.java
index ff927a6..0bb5067 100644
--- a/core/core/src/main/java/androidx/core/hardware/display/DisplayManagerCompat.java
+++ b/core/core/src/main/java/androidx/core/hardware/display/DisplayManagerCompat.java
@@ -79,6 +79,7 @@
* @return The display object, or null if there is no valid display with the given id.
*/
@Nullable
+ @SuppressWarnings("deprecation") /* getDefaultDisplay */
public Display getDisplay(int displayId) {
if (Build.VERSION.SDK_INT >= 17) {
return ((DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE))
@@ -127,6 +128,7 @@
* @see #DISPLAY_CATEGORY_PRESENTATION
*/
@NonNull
+ @SuppressWarnings("deprecation") /* getDefaultDisplay */
public Display[] getDisplays(@Nullable String category) {
if (Build.VERSION.SDK_INT >= 17) {
return ((DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE))
diff --git a/core/core/src/main/java/androidx/core/location/GnssStatusCompat.java b/core/core/src/main/java/androidx/core/location/GnssStatusCompat.java
new file mode 100644
index 0000000..850a1d0
--- /dev/null
+++ b/core/core/src/main/java/androidx/core/location/GnssStatusCompat.java
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2019 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 androidx.core.location;
+
+import static android.os.Build.VERSION_CODES;
+
+import static androidx.annotation.RestrictTo.Scope.LIBRARY;
+
+import android.annotation.SuppressLint;
+import android.location.GnssStatus;
+import android.location.GpsSatellite;
+import android.location.GpsStatus;
+
+import androidx.annotation.FloatRange;
+import androidx.annotation.IntDef;
+import androidx.annotation.IntRange;
+import androidx.annotation.NonNull;
+import androidx.annotation.RequiresApi;
+import androidx.annotation.RestrictTo;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * GnssStatus representation that works across all Android versions. See {@link GnssStatus} and
+ * {@link GpsStatus}.
+ *
+ * <p>Note: When used to wrap {@link GpsStatus}, the best performance can be obtained by using a
+ * monotonically increasing {@code satelliteIndex} parameter (for instance, by using a loop from
+ * 0 to {@link #getSatelliteCount()}). Random access is supported but performance may suffer.
+ */
+public abstract class GnssStatusCompat {
+
+ // NOTE: CONSTELLATION_* values are copied from GnssStatus.java - any updates there should
+ // also be copied to this file.
+
+ /** Unknown constellation type. */
+ @SuppressLint("InlinedApi")
+ public static final int CONSTELLATION_UNKNOWN = GnssStatus.CONSTELLATION_UNKNOWN;
+ /** Constellation type constant for GPS. */
+ @SuppressLint("InlinedApi")
+ public static final int CONSTELLATION_GPS = GnssStatus.CONSTELLATION_GPS;
+ /** Constellation type constant for SBAS. */
+ @SuppressLint("InlinedApi")
+ public static final int CONSTELLATION_SBAS = GnssStatus.CONSTELLATION_SBAS;
+ /** Constellation type constant for Glonass. */
+ @SuppressLint("InlinedApi")
+ public static final int CONSTELLATION_GLONASS = GnssStatus.CONSTELLATION_GLONASS;
+ /** Constellation type constant for QZSS. */
+ @SuppressLint("InlinedApi")
+ public static final int CONSTELLATION_QZSS = GnssStatus.CONSTELLATION_QZSS;
+ /** Constellation type constant for Beidou. */
+ @SuppressLint("InlinedApi")
+ public static final int CONSTELLATION_BEIDOU = GnssStatus.CONSTELLATION_BEIDOU;
+ /** Constellation type constant for Galileo. */
+ @SuppressLint("InlinedApi")
+ public static final int CONSTELLATION_GALILEO = GnssStatus.CONSTELLATION_GALILEO;
+ /** Constellation type constant for IRNSS. */
+ @SuppressLint("InlinedApi")
+ public static final int CONSTELLATION_IRNSS = GnssStatus.CONSTELLATION_IRNSS;
+
+ /**
+ * @hide
+ */
+ @RestrictTo(LIBRARY)
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({CONSTELLATION_UNKNOWN, CONSTELLATION_GPS, CONSTELLATION_SBAS, CONSTELLATION_GLONASS,
+ CONSTELLATION_QZSS, CONSTELLATION_BEIDOU, CONSTELLATION_GALILEO, CONSTELLATION_IRNSS})
+ public @interface ConstellationType {}
+
+ /**
+ * See {@link GnssStatus.Callback}.
+ */
+ public abstract static class Callback {
+
+ /**
+ * See {@link GnssStatus.Callback#onStarted()}.
+ */
+ public void onStarted() {}
+
+ /**
+ * See {@link GnssStatus.Callback#onStopped()}.
+ */
+ public void onStopped() {}
+
+ /**
+ * See {@link GnssStatus.Callback#onFirstFix(int)}.
+ */
+ public void onFirstFix(@IntRange(from = 0) int ttffMillis) {}
+
+ /**
+ * See {@link GnssStatus.Callback#onSatelliteStatusChanged(GnssStatus)}.
+ */
+ public void onSatelliteStatusChanged(@NonNull GnssStatusCompat status) {}
+ }
+
+ /**
+ * Wraps the given {@link GnssStatus} as GnssStatusCompat.
+ */
+ @RequiresApi(VERSION_CODES.N)
+ @NonNull
+ public static GnssStatusCompat wrap(@NonNull GnssStatus gnssStatus) {
+ return new GnssStatusWrapper(gnssStatus);
+ }
+
+ /**
+ * Wraps the given {@link GpsStatus} as GnssStatusCompat.
+ */
+ @SuppressLint("ReferencesDeprecated")
+ @NonNull
+ public static GnssStatusCompat wrap(@NonNull GpsStatus gpsStatus) {
+ return new GpsStatusWrapper(gpsStatus);
+ }
+
+ // package private to prevent subclassing by clients
+ GnssStatusCompat() {}
+
+ /**
+ * See {@link GnssStatus#getSatelliteCount()} and {@link GpsStatus#getMaxSatellites()}.
+ */
+ @IntRange(from = 0)
+ public abstract int getSatelliteCount();
+
+ /**
+ * See {@link GnssStatus#getConstellationType(int)}. Will always return a value for the GPS
+ * constellation below Android N.
+ *
+ * @param satelliteIndex A index from zero to {@link #getSatelliteCount()} - 1
+ */
+ @ConstellationType
+ public abstract int getConstellationType(@IntRange(from = 0) int satelliteIndex);
+
+ /**
+ * See {@link GnssStatus#getSvid(int)} and {@link GpsSatellite#getPrn()}.
+ *
+ * @param satelliteIndex A index from zero to {@link #getSatelliteCount()} - 1
+ */
+ @IntRange(from = 1, to = 200)
+ public abstract int getSvid(@IntRange(from = 0) int satelliteIndex);
+
+ /**
+ * See {@link GnssStatus#getCn0DbHz(int)} and {@link GpsSatellite#getSnr()}.
+ *
+ * @param satelliteIndex A index from zero to {@link #getSatelliteCount()} - 1
+ */
+ @FloatRange(from = 0, to = 63)
+ public abstract float getCn0DbHz(@IntRange(from = 0) int satelliteIndex);
+
+ /**
+ * See {@link GnssStatus#getElevationDegrees(int)} and {@link GpsSatellite#getElevation()}.
+ *
+ * @param satelliteIndex A index from zero to {@link #getSatelliteCount()} - 1
+ */
+ @FloatRange(from = -90, to = 90)
+ public abstract float getElevationDegrees(@IntRange(from = 0) int satelliteIndex);
+
+ /**
+ * See {@link GnssStatus#getAzimuthDegrees(int)} and {@link GpsSatellite#getAzimuth()}.
+ *
+ * @param satelliteIndex A index from zero to {@link #getSatelliteCount()} - 1
+ */
+ @FloatRange(from = 0, to = 360)
+ public abstract float getAzimuthDegrees(@IntRange(from = 0) int satelliteIndex);
+
+ /**
+ * See {@link GnssStatus#hasEphemerisData(int)} and {@link GpsSatellite#hasEphemeris()}.
+ *
+ * @param satelliteIndex A index from zero to {@link #getSatelliteCount()} - 1
+ */
+ public abstract boolean hasEphemerisData(@IntRange(from = 0) int satelliteIndex);
+
+ /**
+ * See {@link GnssStatus#hasAlmanacData(int)} and {@link GpsSatellite#hasAlmanac()}.
+ *
+ * @param satelliteIndex A index from zero to {@link #getSatelliteCount()} - 1
+ */
+ public abstract boolean hasAlmanacData(@IntRange(from = 0) int satelliteIndex);
+
+ /**
+ * See {@link GnssStatus#usedInFix(int)} and {@link GpsSatellite#usedInFix()}.
+ *
+ * @param satelliteIndex A index from zero to {@link #getSatelliteCount()} - 1
+ */
+ public abstract boolean usedInFix(@IntRange(from = 0) int satelliteIndex);
+
+ /**
+ * See {@link GnssStatus#hasCarrierFrequencyHz(int)}. This will always return false prior to
+ * Android O.
+ *
+ * @param satelliteIndex A index from zero to {@link #getSatelliteCount()} - 1
+ */
+ public abstract boolean hasCarrierFrequencyHz(@IntRange(from = 0) int satelliteIndex);
+
+ /**
+ * See {@link GnssStatus#getCarrierFrequencyHz(int)}. Behavior is undefined if
+ * {@link #hasCarrierFrequencyHz(int)} returns false.
+ *
+ * @param satelliteIndex A index from zero to {@link #getSatelliteCount()} - 1
+ */
+ @FloatRange(from = 0)
+ public abstract float getCarrierFrequencyHz(@IntRange(from = 0) int satelliteIndex);
+}
diff --git a/core/core/src/main/java/androidx/core/location/GnssStatusWrapper.java b/core/core/src/main/java/androidx/core/location/GnssStatusWrapper.java
new file mode 100644
index 0000000..5a2cced
--- /dev/null
+++ b/core/core/src/main/java/androidx/core/location/GnssStatusWrapper.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2019 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 androidx.core.location;
+
+import static android.os.Build.VERSION;
+import static android.os.Build.VERSION_CODES;
+
+import static androidx.annotation.RestrictTo.Scope.LIBRARY;
+
+import android.location.GnssStatus;
+
+import androidx.annotation.RequiresApi;
+import androidx.annotation.RestrictTo;
+import androidx.core.util.Preconditions;
+
+/** @hide */
+@RestrictTo(LIBRARY)
+@RequiresApi(VERSION_CODES.N)
+class GnssStatusWrapper extends GnssStatusCompat {
+
+ private final GnssStatus mWrapped;
+
+ GnssStatusWrapper(GnssStatus gnssStatus) {
+ mWrapped = Preconditions.checkNotNull(gnssStatus);
+ }
+
+ @Override
+ public int getSatelliteCount() {
+ return mWrapped.getSatelliteCount();
+ }
+
+ @Override
+ public int getConstellationType(int satelliteIndex) {
+ return mWrapped.getConstellationType(satelliteIndex);
+ }
+
+ @Override
+ public int getSvid(int satelliteIndex) {
+ return mWrapped.getSvid(satelliteIndex);
+ }
+
+ @Override
+ public float getCn0DbHz(int satelliteIndex) {
+ return mWrapped.getCn0DbHz(satelliteIndex);
+ }
+
+ @Override
+ public float getElevationDegrees(int satelliteIndex) {
+ return mWrapped.getElevationDegrees(satelliteIndex);
+ }
+
+ @Override
+ public float getAzimuthDegrees(int satelliteIndex) {
+ return mWrapped.getAzimuthDegrees(satelliteIndex);
+ }
+
+ @Override
+ public boolean hasEphemerisData(int satelliteIndex) {
+ return mWrapped.hasEphemerisData(satelliteIndex);
+ }
+
+ @Override
+ public boolean hasAlmanacData(int satelliteIndex) {
+ return mWrapped.hasAlmanacData(satelliteIndex);
+ }
+
+ @Override
+ public boolean usedInFix(int satelliteIndex) {
+ return mWrapped.usedInFix(satelliteIndex);
+ }
+
+ @Override
+ public boolean hasCarrierFrequencyHz(int satelliteIndex) {
+ if (VERSION.SDK_INT >= VERSION_CODES.O) {
+ return mWrapped.hasCarrierFrequencyHz(satelliteIndex);
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public float getCarrierFrequencyHz(int satelliteIndex) {
+ if (VERSION.SDK_INT >= VERSION_CODES.O) {
+ return mWrapped.getCarrierFrequencyHz(satelliteIndex);
+ } else {
+ throw new UnsupportedOperationException();
+ }
+ }
+}
diff --git a/core/core/src/main/java/androidx/core/location/GpsStatusWrapper.java b/core/core/src/main/java/androidx/core/location/GpsStatusWrapper.java
new file mode 100644
index 0000000..3ac9610
--- /dev/null
+++ b/core/core/src/main/java/androidx/core/location/GpsStatusWrapper.java
@@ -0,0 +1,191 @@
+/*
+ * Copyright 2019 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 androidx.core.location;
+
+import static androidx.annotation.RestrictTo.Scope.LIBRARY;
+
+import android.location.GpsSatellite;
+import android.location.GpsStatus;
+import android.os.Build.VERSION;
+import android.os.Build.VERSION_CODES;
+
+import androidx.annotation.GuardedBy;
+import androidx.annotation.RestrictTo;
+import androidx.core.util.Preconditions;
+
+import java.util.Iterator;
+
+/** @hide */
+@RestrictTo(LIBRARY)
+class GpsStatusWrapper extends GnssStatusCompat {
+
+ private static final int GPS_PRN_OFFSET = 0;
+ private static final int GPS_PRN_COUNT = 32;
+ private static final int SBAS_PRN_MIN = 33;
+ private static final int SBAS_PRN_MAX = 64;
+ private static final int SBAS_PRN_OFFSET = -87;
+ private static final int GLONASS_PRN_OFFSET = 64;
+ private static final int GLONASS_PRN_COUNT = 24;
+ private static final int QZSS_SVID_MIN = 193;
+ private static final int QZSS_SVID_MAX = 200;
+ private static final int BEIDOU_PRN_OFFSET = 200;
+ private static final int BEIDOU_PRN_COUNT = 35;
+
+ private final GpsStatus mWrapped;
+
+ @GuardedBy("mWrapped")
+ private int mCachedSatelliteCount;
+
+ @GuardedBy("mWrapped")
+ private Iterator<GpsSatellite> mCachedIterator;
+ @GuardedBy("mWrapped")
+ private int mCachedIteratorPosition;
+ @GuardedBy("mWrapped")
+ private GpsSatellite mCachedSatellite;
+
+ GpsStatusWrapper(GpsStatus gpsStatus) {
+ mWrapped = Preconditions.checkNotNull(gpsStatus);
+ mCachedSatelliteCount = -1;
+ mCachedIterator = mWrapped.getSatellites().iterator();
+ mCachedIteratorPosition = -1;
+ mCachedSatellite = null;
+ }
+
+ @Override
+ public int getSatelliteCount() {
+ synchronized (mWrapped) {
+ if (mCachedSatelliteCount == -1) {
+ for (@SuppressWarnings("unused") GpsSatellite ignored : mWrapped.getSatellites()) {
+ mCachedSatelliteCount++;
+ }
+ mCachedSatelliteCount++;
+ }
+
+ return mCachedSatelliteCount;
+ }
+ }
+
+ @Override
+ public int getConstellationType(int satelliteIndex) {
+ if (VERSION.SDK_INT < VERSION_CODES.N) {
+ return CONSTELLATION_GPS;
+ } else {
+ return getConstellationFromPrn(getSatellite(satelliteIndex).getPrn());
+ }
+ }
+
+ @Override
+ public int getSvid(int satelliteIndex) {
+ if (VERSION.SDK_INT < VERSION_CODES.N) {
+ return getSatellite(satelliteIndex).getPrn();
+ } else {
+ return getSvidFromPrn(getSatellite(satelliteIndex).getPrn());
+ }
+ }
+
+ @Override
+ public float getCn0DbHz(int satelliteIndex) {
+ return getSatellite(satelliteIndex).getSnr();
+ }
+
+ @Override
+ public float getElevationDegrees(int satelliteIndex) {
+ return getSatellite(satelliteIndex).getElevation();
+ }
+
+ @Override
+ public float getAzimuthDegrees(int satelliteIndex) {
+ return getSatellite(satelliteIndex).getAzimuth();
+ }
+
+ @Override
+ public boolean hasEphemerisData(int satelliteIndex) {
+ return getSatellite(satelliteIndex).hasEphemeris();
+ }
+
+ @Override
+ public boolean hasAlmanacData(int satelliteIndex) {
+ return getSatellite(satelliteIndex).hasAlmanac();
+ }
+
+ @Override
+ public boolean usedInFix(int satelliteIndex) {
+ return getSatellite(satelliteIndex).usedInFix();
+ }
+
+ @Override
+ public boolean hasCarrierFrequencyHz(int satelliteIndex) {
+ return false;
+ }
+
+ @Override
+ public float getCarrierFrequencyHz(int satelliteIndex) {
+ throw new UnsupportedOperationException();
+ }
+
+ private GpsSatellite getSatellite(int satelliteIndex) {
+ GpsSatellite satellite;
+ synchronized (mWrapped) {
+ if (satelliteIndex < mCachedIteratorPosition) {
+ mCachedIterator = mWrapped.getSatellites().iterator();
+ mCachedIteratorPosition = -1;
+ }
+ while (mCachedIteratorPosition < satelliteIndex) {
+ mCachedIteratorPosition++;
+ if (!mCachedIterator.hasNext()) {
+ mCachedSatellite = null;
+ break;
+ } else {
+ mCachedSatellite = mCachedIterator.next();
+ }
+ }
+ satellite = mCachedSatellite;
+ }
+ return Preconditions.checkNotNull(satellite);
+ }
+
+ private static int getConstellationFromPrn(int prn) {
+ if (prn > GPS_PRN_OFFSET && prn <= GPS_PRN_OFFSET + GPS_PRN_COUNT) {
+ return CONSTELLATION_GPS;
+ } else if (prn >= SBAS_PRN_MIN && prn <= SBAS_PRN_MAX) {
+ return CONSTELLATION_SBAS;
+ } else if (prn > GLONASS_PRN_OFFSET && prn <= GLONASS_PRN_OFFSET + GLONASS_PRN_COUNT) {
+ return CONSTELLATION_GLONASS;
+ } else if (prn > BEIDOU_PRN_OFFSET && prn <= BEIDOU_PRN_OFFSET + BEIDOU_PRN_COUNT) {
+ return CONSTELLATION_BEIDOU;
+ } else if (prn >= QZSS_SVID_MIN && prn <= QZSS_SVID_MAX) {
+ return CONSTELLATION_QZSS;
+ } else {
+ return CONSTELLATION_UNKNOWN;
+ }
+ }
+
+ private static int getSvidFromPrn(int prn) {
+ switch (getConstellationFromPrn(prn)) {
+ case CONSTELLATION_SBAS:
+ prn -= SBAS_PRN_OFFSET;
+ break;
+ case CONSTELLATION_GLONASS:
+ prn -= GLONASS_PRN_OFFSET;
+ break;
+ case CONSTELLATION_BEIDOU:
+ prn -= BEIDOU_PRN_OFFSET;
+ break;
+ }
+ return prn;
+ }
+}
diff --git a/core/core/src/main/java/androidx/core/location/LocationManagerCompat.java b/core/core/src/main/java/androidx/core/location/LocationManagerCompat.java
index 71f2c24..2aca0a3 100644
--- a/core/core/src/main/java/androidx/core/location/LocationManagerCompat.java
+++ b/core/core/src/main/java/androidx/core/location/LocationManagerCompat.java
@@ -16,17 +16,40 @@
package androidx.core.location;
+import static android.Manifest.permission.ACCESS_FINE_LOCATION;
+
+import android.location.GnssStatus;
+import android.location.GpsStatus;
import android.location.LocationManager;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
+import android.os.Handler;
+import android.os.Looper;
+import androidx.annotation.GuardedBy;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.RequiresApi;
+import androidx.annotation.RequiresPermission;
+import androidx.collection.SimpleArrayMap;
+import androidx.core.os.HandlerExecutor;
+import androidx.core.util.Preconditions;
+
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Executor;
+import java.util.concurrent.FutureTask;
+import java.util.concurrent.RejectedExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
/**
* Helper for accessing features in {@link LocationManager}.
*/
public final class LocationManagerCompat {
+ private static final long PRE_N_LOOPER_TIMEOUT_S = 4;
+
/**
* Returns the current enabled/disabled state of location.
*
@@ -47,5 +70,414 @@
}
}
+ @GuardedBy("sGnssStatusListeners")
+ private static final SimpleArrayMap<Object, Object> sGnssStatusListeners =
+ new SimpleArrayMap<>();
+
+ /**
+ * Registers a platform agnostic {@link GnssStatusCompat.Callback}. See
+ * {@link LocationManager#addGpsStatusListener(GpsStatus.Listener)} and
+ * {@link LocationManager#registerGnssStatusCallback(GnssStatus.Callback, Handler)}.
+ *
+ * @see #registerGnssStatusCallback(LocationManager, Executor, GnssStatusCompat.Callback)
+ */
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ public static boolean registerGnssStatusCallback(@NonNull LocationManager locationManager,
+ @NonNull GnssStatusCompat.Callback callback, @NonNull Handler handler) {
+ if (VERSION.SDK_INT >= VERSION_CODES.R) {
+ return registerGnssStatusCallback(locationManager, new HandlerExecutor(handler),
+ callback);
+ } else {
+ return registerGnssStatusCallback(locationManager, new InlineHandlerExecutor(handler),
+ callback);
+ }
+ }
+
+ /**
+ * Registers a platform agnostic {@link GnssStatusCompat.Callback}. See
+ * {@link LocationManager#addGpsStatusListener(GpsStatus.Listener)} and
+ * {@link LocationManager#registerGnssStatusCallback(Executor, GnssStatus.Callback)}.
+ *
+ * <p>Internally, this API will always utilize GnssStatus APIs and instances on Android N and
+ * above, and will always utilize GpsStatus APIs and instances below Android N. Callbacks will
+ * always occur on the given executor.
+ *
+ * <p>If invoked on Android M or below, this will result in GpsStatus registration being run on
+ * either the current Looper or main Looper. If the thread this function is invoked on is
+ * different from that Looper, the caller must ensure that the Looper thread cannot be blocked
+ * by the thread this function is invoked on. The easiest way to avoid this is to ensure this
+ * function is invoked on a Looper thread.
+ *
+ * @throws IllegalStateException on Android M or below, if the current Looper or main Looper
+ * is blocked by the thread this function is invoked on
+ */
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ public static boolean registerGnssStatusCallback(@NonNull LocationManager locationManager,
+ @NonNull Executor executor, @NonNull GnssStatusCompat.Callback callback) {
+ if (VERSION.SDK_INT >= VERSION_CODES.R) {
+ return registerGnssStatusCallback(locationManager, null, executor, callback);
+ } else {
+ Looper looper = Looper.myLooper();
+ if (looper == null) {
+ looper = Looper.getMainLooper();
+ }
+ return registerGnssStatusCallback(locationManager, new Handler(looper), executor,
+ callback);
+ }
+ }
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ private static boolean registerGnssStatusCallback(final LocationManager locationManager,
+ Handler baseHandler, Executor executor, GnssStatusCompat.Callback callback) {
+ if (VERSION.SDK_INT >= VERSION_CODES.R) {
+ synchronized (sGnssStatusListeners) {
+ GnssStatusTransport transport =
+ (GnssStatusTransport) sGnssStatusListeners.get(callback);
+ if (transport == null) {
+ transport = new GnssStatusTransport(callback);
+ }
+ if (locationManager.registerGnssStatusCallback(executor, transport)) {
+ sGnssStatusListeners.put(callback, transport);
+ return true;
+ } else {
+ return false;
+ }
+ }
+ } else if (VERSION.SDK_INT >= VERSION_CODES.N) {
+ Preconditions.checkArgument(baseHandler != null);
+ synchronized (sGnssStatusListeners) {
+ PreRGnssStatusTransport transport =
+ (PreRGnssStatusTransport) sGnssStatusListeners.get(callback);
+ if (transport == null) {
+ transport = new PreRGnssStatusTransport(callback);
+ } else {
+ transport.unregister();
+ }
+ transport.register(executor);
+
+ if (locationManager.registerGnssStatusCallback(transport, baseHandler)) {
+ sGnssStatusListeners.put(callback, transport);
+ return true;
+ } else {
+ transport.unregister();
+ return false;
+ }
+ }
+ } else {
+ Preconditions.checkArgument(baseHandler != null);
+ synchronized (sGnssStatusListeners) {
+ GpsStatusTransport transport =
+ (GpsStatusTransport) sGnssStatusListeners.get(callback);
+ if (transport == null) {
+ transport = new GpsStatusTransport(locationManager, callback);
+ } else {
+ transport.unregister();
+ }
+ transport.register(executor);
+
+ final GpsStatusTransport myTransport = transport;
+ FutureTask<Boolean> task = new FutureTask<>(new Callable<Boolean>() {
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ @Override
+ public Boolean call() {
+ return locationManager.addGpsStatusListener(myTransport);
+ }
+ });
+
+ if (Looper.myLooper() == baseHandler.getLooper()) {
+ task.run();
+ } else if (!baseHandler.post(task)) {
+ throw new IllegalStateException(baseHandler + " is shutting down");
+ }
+ try {
+ if (task.get(PRE_N_LOOPER_TIMEOUT_S, TimeUnit.SECONDS)) {
+ sGnssStatusListeners.put(callback, myTransport);
+ return true;
+ } else {
+ transport.unregister();
+ return false;
+ }
+ } catch (ExecutionException | InterruptedException e) {
+ throw new IllegalStateException(e);
+ } catch (TimeoutException e) {
+ throw new IllegalStateException(baseHandler + " appears to be blocked, please"
+ + " run registerGnssStatusCallback() directly on a Looper thread or "
+ + "ensure the main Looper is not blocked by this thread", e);
+ }
+ }
+ }
+ }
+
+ /**
+ * Unregisters a platform agnostic {@link GnssStatusCompat.Callback}. See
+ * {@link LocationManager#removeGpsStatusListener(GpsStatus.Listener)}
+ * and {@link LocationManager#unregisterGnssStatusCallback(GnssStatus.Callback)}.
+ */
+ public static void unregisterGnssStatusCallback(@NonNull LocationManager locationManager,
+ @NonNull GnssStatusCompat.Callback callback) {
+ if (VERSION.SDK_INT >= VERSION_CODES.R) {
+ synchronized (sGnssStatusListeners) {
+ GnssStatusTransport transport =
+ (GnssStatusTransport) sGnssStatusListeners.remove(callback);
+ if (transport != null) {
+ locationManager.unregisterGnssStatusCallback(transport);
+ }
+ }
+ } else if (VERSION.SDK_INT >= VERSION_CODES.N) {
+ synchronized (sGnssStatusListeners) {
+ PreRGnssStatusTransport transport =
+ (PreRGnssStatusTransport) sGnssStatusListeners.remove(callback);
+ if (transport != null) {
+ transport.unregister();
+ locationManager.unregisterGnssStatusCallback(transport);
+ }
+ }
+ } else {
+ synchronized (sGnssStatusListeners) {
+ GpsStatusTransport transport =
+ (GpsStatusTransport) sGnssStatusListeners.remove(callback);
+ if (transport != null) {
+ transport.unregister();
+ locationManager.removeGpsStatusListener(transport);
+ }
+ }
+ }
+ }
+
private LocationManagerCompat() {}
+
+ @RequiresApi(VERSION_CODES.R)
+ private static class GnssStatusTransport extends GnssStatus.Callback {
+
+ final GnssStatusCompat.Callback mCallback;
+
+ GnssStatusTransport(GnssStatusCompat.Callback callback) {
+ Preconditions.checkArgument(callback != null, "invalid null callback");
+ mCallback = callback;
+ }
+
+ @Override
+ public void onStarted() {
+ mCallback.onStarted();
+ }
+
+ @Override
+ public void onStopped() {
+ mCallback.onStopped();
+ }
+
+ @Override
+ public void onFirstFix(int ttffMillis) {
+ mCallback.onFirstFix(ttffMillis);
+ }
+
+ @Override
+ public void onSatelliteStatusChanged(GnssStatus status) {
+ mCallback.onSatelliteStatusChanged(GnssStatusCompat.wrap(status));
+ }
+ }
+
+ @RequiresApi(VERSION_CODES.N)
+ private static class PreRGnssStatusTransport extends GnssStatus.Callback {
+
+ final GnssStatusCompat.Callback mCallback;
+
+ @Nullable volatile Executor mExecutor;
+
+ PreRGnssStatusTransport(GnssStatusCompat.Callback callback) {
+ Preconditions.checkArgument(callback != null, "invalid null callback");
+ mCallback = callback;
+ }
+
+ public void register(Executor executor) {
+ Preconditions.checkArgument(executor != null, "invalid null executor");
+ Preconditions.checkState(mExecutor == null);
+ mExecutor = executor;
+ }
+
+ public void unregister() {
+ mExecutor = null;
+ }
+
+ @Override
+ public void onStarted() {
+ final Executor executor = mExecutor;
+ if (executor == null) {
+ return;
+ }
+
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ if (mExecutor != executor) {
+ return;
+ }
+ mCallback.onStarted();
+ }
+ });
+ }
+
+ @Override
+ public void onStopped() {
+ final Executor executor = mExecutor;
+ if (executor == null) {
+ return;
+ }
+
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ if (mExecutor != executor) {
+ return;
+ }
+ mCallback.onStopped();
+ }
+ });
+ }
+
+ @Override
+ public void onFirstFix(final int ttffMillis) {
+ final Executor executor = mExecutor;
+ if (executor == null) {
+ return;
+ }
+
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ if (mExecutor != executor) {
+ return;
+ }
+ mCallback.onFirstFix(ttffMillis);
+ }
+ });
+ }
+
+ @Override
+ public void onSatelliteStatusChanged(final GnssStatus status) {
+ final Executor executor = mExecutor;
+ if (executor == null) {
+ return;
+ }
+
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ if (mExecutor != executor) {
+ return;
+ }
+ mCallback.onSatelliteStatusChanged(GnssStatusCompat.wrap(status));
+ }
+ });
+ }
+ }
+
+ private static class GpsStatusTransport implements GpsStatus.Listener {
+
+ private final LocationManager mLocationManager;
+ final GnssStatusCompat.Callback mCallback;
+
+ @Nullable volatile Executor mExecutor;
+
+ GpsStatusTransport(LocationManager locationManager,
+ GnssStatusCompat.Callback callback) {
+ Preconditions.checkArgument(callback != null, "invalid null callback");
+ mLocationManager = locationManager;
+ mCallback = callback;
+ }
+
+ public void register(Executor executor) {
+ Preconditions.checkState(mExecutor == null);
+ mExecutor = executor;
+ }
+
+ public void unregister() {
+ mExecutor = null;
+ }
+
+ @RequiresPermission(ACCESS_FINE_LOCATION)
+ @Override
+ public void onGpsStatusChanged(int event) {
+ final Executor executor = mExecutor;
+ if (executor == null) {
+ return;
+ }
+
+ GpsStatus gpsStatus;
+
+ switch (event) {
+ case GpsStatus.GPS_EVENT_STARTED:
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ if (mExecutor != executor) {
+ return;
+ }
+ mCallback.onStarted();
+ }
+ });
+ break;
+ case GpsStatus.GPS_EVENT_STOPPED:
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ if (mExecutor != executor) {
+ return;
+ }
+ mCallback.onStopped();
+ }
+ });
+ break;
+ case GpsStatus.GPS_EVENT_FIRST_FIX:
+ gpsStatus = mLocationManager.getGpsStatus(null);
+ if (gpsStatus != null) {
+ final int ttff = gpsStatus.getTimeToFirstFix();
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ if (mExecutor != executor) {
+ return;
+ }
+ mCallback.onFirstFix(ttff);
+ }
+ });
+ }
+ break;
+ case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
+ gpsStatus = mLocationManager.getGpsStatus(null);
+ if (gpsStatus != null) {
+ final GnssStatusCompat gnssStatus = GnssStatusCompat.wrap(gpsStatus);
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ if (mExecutor != executor) {
+ return;
+ }
+ mCallback.onSatelliteStatusChanged(gnssStatus);
+ }
+ });
+ }
+ break;
+ }
+ }
+ }
+
+ // using this class allows listeners to be run more efficiently in the common case for pre-R
+ // SDKs where the AOSP callback is already on the same Looper the listener wants
+ private static class InlineHandlerExecutor implements Executor {
+ private final Handler mHandler;
+
+ InlineHandlerExecutor(@NonNull Handler handler) {
+ mHandler = Preconditions.checkNotNull(handler);
+ }
+
+ @Override
+ public void execute(@NonNull Runnable command) {
+ if (Looper.myLooper() == mHandler.getLooper()) {
+ command.run();
+ } else if (!mHandler.post(Preconditions.checkNotNull(command))) {
+ throw new RejectedExecutionException(mHandler + " is shutting down");
+ }
+ }
+ }
}
diff --git a/core/core/src/main/java/androidx/core/location/OWNERS b/core/core/src/main/java/androidx/core/location/OWNERS
new file mode 100644
index 0000000..a420c39
--- /dev/null
+++ b/core/core/src/main/java/androidx/core/location/OWNERS
@@ -0,0 +1,3 @@
+wyattriley@google.com
+sooniln@google.com
+weiwa@google.com
diff --git a/core/core/src/main/java/androidx/core/os/HandlerExecutor.java b/core/core/src/main/java/androidx/core/os/HandlerExecutor.java
new file mode 100644
index 0000000..962a076
--- /dev/null
+++ b/core/core/src/main/java/androidx/core/os/HandlerExecutor.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2019 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 androidx.core.os;
+
+import android.os.Handler;
+
+import androidx.annotation.NonNull;
+import androidx.core.util.Preconditions;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.RejectedExecutionException;
+
+/** An adapter {@link Executor} that posts all executed tasks onto the given {@link Handler}. */
+public class HandlerExecutor implements Executor {
+ private final Handler mHandler;
+
+ public HandlerExecutor(@NonNull Handler handler) {
+ mHandler = Preconditions.checkNotNull(handler);
+ }
+
+ @Override
+ public void execute(@NonNull Runnable command) {
+ if (!mHandler.post(Preconditions.checkNotNull(command))) {
+ throw new RejectedExecutionException(mHandler + " is shutting down");
+ }
+ }
+}
diff --git a/core/core/src/main/java/androidx/core/view/AccessibilityDelegateCompat.java b/core/core/src/main/java/androidx/core/view/AccessibilityDelegateCompat.java
index a1f6081..de873ba 100644
--- a/core/core/src/main/java/androidx/core/view/AccessibilityDelegateCompat.java
+++ b/core/core/src/main/java/androidx/core/view/AccessibilityDelegateCompat.java
@@ -83,6 +83,7 @@
nodeInfoCompat.setScreenReaderFocusable(ViewCompat.isScreenReaderFocusable(host));
nodeInfoCompat.setHeading(ViewCompat.isAccessibilityHeading(host));
nodeInfoCompat.setPaneTitle(ViewCompat.getAccessibilityPaneTitle(host));
+ nodeInfoCompat.setStateDescription(ViewCompat.getStateDescription(host));
mCompat.onInitializeAccessibilityNodeInfo(host, nodeInfoCompat);
nodeInfoCompat.addSpansToExtras(info.getText(), host);
List<AccessibilityActionCompat> actions = getActionList(host);
diff --git a/core/core/src/main/java/androidx/core/view/DisplayCutoutCompat.java b/core/core/src/main/java/androidx/core/view/DisplayCutoutCompat.java
index b10f94d..64cac3b 100644
--- a/core/core/src/main/java/androidx/core/view/DisplayCutoutCompat.java
+++ b/core/core/src/main/java/androidx/core/view/DisplayCutoutCompat.java
@@ -19,10 +19,16 @@
import static android.os.Build.VERSION.SDK_INT;
import android.graphics.Rect;
+import android.os.Build;
import android.view.DisplayCutout;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
+import androidx.core.graphics.Insets;
+import androidx.core.os.BuildCompat;
+import java.util.ArrayList;
import java.util.List;
@@ -48,6 +54,59 @@
this(SDK_INT >= 28 ? new DisplayCutout(safeInsets, boundingRects) : null);
}
+ /**
+ * Creates a DisplayCutout instance.
+ *
+ * @param safeInsets the insets from each edge which avoid the display cutout as returned by
+ * {@link #getSafeInsetTop()} etc.
+ * @param boundLeft the left bounding rect of the display cutout in pixels. If null is passed,
+ * it's treated as an empty rectangle (0,0)-(0,0).
+ * @param boundTop the top bounding rect of the display cutout in pixels. If null is passed,
+ * it's treated as an empty rectangle (0,0)-(0,0).
+ * @param boundRight the right bounding rect of the display cutout in pixels. If null is
+ * passed, it's treated as an empty rectangle (0,0)-(0,0).
+ * @param boundBottom the bottom bounding rect of the display cutout in pixels. If null is
+ * passed, it's treated as an empty rectangle (0,0)-(0,0).
+ * @param waterfallInsets the insets for the curved areas in waterfall display.
+ */
+ public DisplayCutoutCompat(@NonNull Insets safeInsets, @Nullable Rect boundLeft,
+ @Nullable Rect boundTop, @Nullable Rect boundRight, @Nullable Rect boundBottom,
+ @NonNull Insets waterfallInsets) {
+ this(constructDisplayCutout(safeInsets, boundLeft, boundTop, boundRight, boundBottom,
+ waterfallInsets));
+ }
+
+ private static DisplayCutout constructDisplayCutout(@NonNull Insets safeInsets,
+ @Nullable Rect boundLeft, @Nullable Rect boundTop, @Nullable Rect boundRight,
+ @Nullable Rect boundBottom, @NonNull Insets waterfallInsets) {
+ if (BuildCompat.isAtLeastR()) {
+ return new DisplayCutout(safeInsets.toPlatformInsets(), boundLeft,
+ boundTop, boundRight, boundBottom, waterfallInsets.toPlatformInsets());
+ } else if (SDK_INT >= Build.VERSION_CODES.Q) {
+ return new DisplayCutout(safeInsets.toPlatformInsets(), boundLeft,
+ boundTop, boundRight, boundBottom);
+ } else if (SDK_INT >= Build.VERSION_CODES.P) {
+ final Rect safeInsetRect = new Rect(safeInsets.left, safeInsets.top, safeInsets.right,
+ safeInsets.bottom);
+ final ArrayList<Rect> boundingRects = new ArrayList<>();
+ if (boundLeft != null) {
+ boundingRects.add(boundLeft);
+ }
+ if (boundTop != null) {
+ boundingRects.add(boundTop);
+ }
+ if (boundRight != null) {
+ boundingRects.add(boundRight);
+ }
+ if (boundBottom != null) {
+ boundingRects.add(boundBottom);
+ }
+ return new DisplayCutout(safeInsetRect, boundingRects);
+ } else {
+ return null;
+ }
+ }
+
private DisplayCutoutCompat(Object displayCutout) {
mDisplayCutout = displayCutout;
}
@@ -105,6 +164,19 @@
}
}
+ /**
+ * Return the insets of the curved areas that extend to the sides of the device. Apps should
+ * carefully handle the touches of these areas since they are most frequently touched areas.
+ */
+ @Nullable
+ public Insets getWaterfallInsets() {
+ if (BuildCompat.isAtLeastR()) {
+ return Insets.toCompatInsets(((DisplayCutout) mDisplayCutout).getWaterfallInsets());
+ } else {
+ return null;
+ }
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) {
diff --git a/core/core/src/main/java/androidx/core/view/ViewCompat.java b/core/core/src/main/java/androidx/core/view/ViewCompat.java
index a271763..c5e48d5 100644
--- a/core/core/src/main/java/androidx/core/view/ViewCompat.java
+++ b/core/core/src/main/java/androidx/core/view/ViewCompat.java
@@ -663,6 +663,7 @@
* <li>{@link AccessibilityNodeInfoCompat#setPackageName(CharSequence)},</li>
* <li>{@link AccessibilityNodeInfoCompat#setClassName(CharSequence)},</li>
* <li>{@link AccessibilityNodeInfoCompat#setContentDescription(CharSequence)},</li>
+ * <li>{@link AccessibilityNodeInfoCompat#setStateDescription(CharSequence)},</li>
* <li>{@link AccessibilityNodeInfoCompat#setEnabled(boolean)},</li>
* <li>{@link AccessibilityNodeInfoCompat#setClickable(boolean)},</li>
* <li>{@link AccessibilityNodeInfoCompat#setFocusable(boolean)},</li>
@@ -1347,6 +1348,43 @@
}
/**
+ * Sets the state description of this node.
+ * <p>
+ * <strong>Note:</strong> Cannot be called from an
+ * {@link android.accessibilityservice.AccessibilityService}.
+ * This class is made immutable before being delivered to an AccessibilityService.
+ * </p>
+ *
+ * @param stateDescription the state description of this node.
+ *
+ * @throws IllegalStateException If called from an AccessibilityService.
+ */
+ @UiThread
+ public static void setStateDescription(@NonNull View view,
+ @Nullable CharSequence stateDescription) {
+ if (Build.VERSION.SDK_INT >= 19) {
+ stateDescriptionProperty().set(view, stateDescription);
+ }
+ }
+
+ /**
+ * Returns the {@link View}'s state description.
+ * <p>
+ * <strong>Note:</strong> Do not override this method, as it will have no
+ * effect on the state description presented to accessibility services.
+ * You must call {@link #setStateDescription(View, CharSequence)} to modify the
+ * state description.
+ *
+ * @return the state description
+ * @see #setStateDescription(View, CharSequence)
+ */
+ @UiThread
+ public static final @Nullable CharSequence getStateDescription(@NonNull View view) {
+ return stateDescriptionProperty().get(view);
+ }
+
+
+ /**
* Allow accessibility services to find and activate clickable spans in the application.
*
* @param view The view
@@ -3535,6 +3573,7 @@
* @return The logical display, or null if the view is not currently attached to a window.
*/
@Nullable
+ @SuppressWarnings("deprecation") /* getDefaultDisplay */
public static Display getDisplay(@NonNull View view) {
if (Build.VERSION.SDK_INT >= 17) {
return view.getDisplay();
@@ -4018,6 +4057,29 @@
};
}
+ private static AccessibilityViewProperty<CharSequence> stateDescriptionProperty() {
+ return new AccessibilityViewProperty<CharSequence>(R.id.tag_state_description,
+ CharSequence.class, AccessibilityEvent.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION, 30) {
+
+ @RequiresApi(30)
+ @Override
+ CharSequence frameworkGet(View view) {
+ return view.getStateDescription();
+ }
+
+ @RequiresApi(30)
+ @Override
+ void frameworkSet(View view, CharSequence value) {
+ view.setStateDescription(value);
+ }
+
+ @Override
+ boolean shouldUpdate(CharSequence oldValue, CharSequence newValue) {
+ return !TextUtils.equals(oldValue, newValue);
+ }
+ };
+ }
+
/**
* Gets whether this view is a heading for accessibility purposes.
*
@@ -4080,6 +4142,7 @@
private final int mTagKey;
private final Class<T> mType;
private final int mFrameworkMinimumSdk;
+ private final int mContentChangeType;
AccessibilityViewProperty(int tagKey, Class<T> type, int frameworkMinimumSdk) {
this(tagKey, type,
@@ -4090,7 +4153,9 @@
int tagKey, Class<T> type, int contentChangeType, int frameworkMinimumSdk) {
mTagKey = tagKey;
mType = type;
+ mContentChangeType = contentChangeType;
mFrameworkMinimumSdk = frameworkMinimumSdk;
+
}
void set(View view, T value) {
@@ -4102,8 +4167,7 @@
// If we're here, we're guaranteed to be on v19+ (see the logic in
// extrasAvailable), so we can call notifyViewAccessibilityStateChangedIfNeeded
// which requires 19.
- notifyViewAccessibilityStateChangedIfNeeded(view,
- AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED);
+ notifyViewAccessibilityStateChangedIfNeeded(view, mContentChangeType);
}
}
diff --git a/core/core/src/main/java/androidx/core/view/accessibility/AccessibilityEventCompat.java b/core/core/src/main/java/androidx/core/view/accessibility/AccessibilityEventCompat.java
index 93e5a90..281348a 100644
--- a/core/core/src/main/java/androidx/core/view/accessibility/AccessibilityEventCompat.java
+++ b/core/core/src/main/java/androidx/core/view/accessibility/AccessibilityEventCompat.java
@@ -16,10 +16,19 @@
package androidx.core.view.accessibility;
+import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;
+
import android.os.Build;
import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityRecord;
+import androidx.annotation.IntDef;
+import androidx.annotation.RestrictTo;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
/**
* Helper for accessing features in {@link AccessibilityEvent}.
*/
@@ -181,6 +190,13 @@
public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 0x00000020;
/**
+ * Change type for {@link AccessibilityEvent#TYPE_WINDOW_CONTENT_CHANGED} event:
+ * state description of the node as returned by
+ * {@link AccessibilityNodeInfo#getStateDescription} was changed.
+ */
+ public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 0x00000040;
+
+ /**
* Mask for {@link AccessibilityEvent} all types.
*
* @see AccessibilityEvent#TYPE_VIEW_CLICKED
@@ -209,6 +225,20 @@
*/
public static final int TYPES_ALL_MASK = 0xFFFFFFFF;
+ /** @hide */
+ @IntDef(
+ flag = true,
+ value = {
+ CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION,
+ CONTENT_CHANGE_TYPE_STATE_DESCRIPTION,
+ CONTENT_CHANGE_TYPE_SUBTREE,
+ CONTENT_CHANGE_TYPE_TEXT,
+ CONTENT_CHANGE_TYPE_UNDEFINED
+ })
+ @RestrictTo(LIBRARY_GROUP_PREFIX)
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ContentChangeType {}
+
/*
* Hide constructor from clients.
*/
@@ -287,7 +317,8 @@
* @throws IllegalStateException If called from an AccessibilityService.
* @see #getContentChangeTypes(AccessibilityEvent)
*/
- public static void setContentChangeTypes(AccessibilityEvent event, int changeTypes) {
+ public static void setContentChangeTypes(AccessibilityEvent event,
+ @ContentChangeType int changeTypes) {
if (Build.VERSION.SDK_INT >= 19) {
event.setContentChangeTypes(changeTypes);
}
@@ -301,11 +332,13 @@
* @return The bit mask of change types. One or more of:
* <ul>
* <li>{@link AccessibilityEvent#CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION}
+ * <li>{@link AccessibilityEvent#CONTENT_CHANGE_TYPE_STATE_DESCRIPTION}
* <li>{@link AccessibilityEvent#CONTENT_CHANGE_TYPE_SUBTREE}
* <li>{@link AccessibilityEvent#CONTENT_CHANGE_TYPE_TEXT}
* <li>{@link AccessibilityEvent#CONTENT_CHANGE_TYPE_UNDEFINED}
* </ul>
*/
+ @ContentChangeType
public static int getContentChangeTypes(AccessibilityEvent event) {
if (Build.VERSION.SDK_INT >= 19) {
return event.getContentChangeTypes();
diff --git a/core/core/src/main/java/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.java b/core/core/src/main/java/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.java
index c5983d6..898f837 100644
--- a/core/core/src/main/java/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.java
+++ b/core/core/src/main/java/androidx/core/view/accessibility/AccessibilityNodeInfoCompat.java
@@ -20,6 +20,7 @@
import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;
+import android.annotation.SuppressLint;
import android.graphics.Rect;
import android.graphics.Region;
import android.os.Build;
@@ -42,6 +43,7 @@
import androidx.annotation.RestrictTo;
import androidx.core.R;
import androidx.core.accessibilityservice.AccessibilityServiceInfoCompat;
+import androidx.core.os.BuildCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityViewCommand.CommandArguments;
import androidx.core.view.accessibility.AccessibilityViewCommand.MoveAtGranularityArguments;
@@ -544,6 +546,36 @@
? AccessibilityNodeInfo.AccessibilityAction.ACTION_HIDE_TOOLTIP : null,
android.R.id.accessibilityActionHideTooltip, null, null, null);
+ /**
+ * Action that presses and holds a node.
+ * <p>
+ * This action is for nodes that have distinct behavior that depends on how long a press is
+ * held. Nodes having a single action for long press should use {@link #ACTION_LONG_CLICK}
+ * instead of this action, and nodes should not expose both actions.
+ * <p>
+ * When calling {@code performAction(ACTION_PRESS_AND_HOLD, bundle}, use
+ * {@link #ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT} to specify how long the
+ * node is pressed. The first time an accessibility service performs ACTION_PRES_AND_HOLD
+ * on a node, it must specify 0 as ACTION_ARGUMENT_PRESS_AND_HOLD, so the application is
+ * notified that the held state has started. To ensure reasonable behavior, the values
+ * must be increased incrementally and may not exceed 10,000. UIs requested
+ * to hold for times outside of this range should ignore the action.
+ * <p>
+ * The total time the element is held could be specified by an accessibility user up-front,
+ * or may depend on what happens on the UI as the user continues to request the hold.
+ * <p>
+ * <strong>Note:</strong> The time between dispatching the action and it arriving in the
+ * UI process is not guaranteed. It is possible on a busy system for the time to expire
+ * unexpectedly. For the case of holding down a key for a repeating action, a delayed
+ * arrival should be benign. Please do not use this sort of action in cases where such
+ * delays will lead to unexpected UI behavior.
+ * <p>
+ */
+ @NonNull public static final AccessibilityActionCompat ACTION_PRESS_AND_HOLD =
+ new AccessibilityActionCompat(Build.VERSION.SDK_INT >= 30
+ ? AccessibilityNodeInfo.AccessibilityAction.ACTION_PRESS_AND_HOLD : null,
+ android.R.id.accessibilityActionPressAndHold, null, null, null);
+
final Object mAction;
private final int mId;
private final Class<? extends CommandArguments> mViewCommandArgumentClass;
@@ -1185,6 +1217,9 @@
private static final String SPANS_ACTION_ID_KEY =
"androidx.view.accessibility.AccessibilityNodeInfoCompat.SPANS_ACTION_ID_KEY";
+ private static final String STATE_DESCRIPTION_KEY =
+ "androidx.view.accessibility.AccessibilityNodeInfoCompat.STATE_DESCRIPTION_KEY";
+
// These don't line up with the internal framework constants, since they are independent
// and we might as well get all 32 bits of utility here.
private static final int BOOLEAN_PROPERTY_SCREEN_READER_FOCUSABLE = 0x00000001;
@@ -1566,6 +1601,21 @@
public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y =
"ACTION_ARGUMENT_MOVE_WINDOW_Y";
+ /**
+ * Argument to represent the duration in milliseconds to press and hold a node.
+ * <p>
+ * <strong>Type:</strong> int<br>
+ * <strong>Actions:</strong>
+ * <ul>
+ * <li>{@link AccessibilityActionCompat#ACTION_PRESS_AND_HOLD}</li>
+ * </ul>
+ *
+ * @see AccessibilityActionCompat#ACTION_PRESS_AND_HOLD
+ */
+ @SuppressLint("ActionValue")
+ public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT =
+ "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
+
// Focus types
/**
@@ -2740,6 +2790,21 @@
}
/**
+ * Gets the state description of this node.
+ *
+ * @return the state description or null if android version smaller
+ * than 19.
+ */
+ public @Nullable CharSequence getStateDescription() {
+ if (BuildCompat.isAtLeastR()) {
+ return mInfo.getStateDescription();
+ } else if (Build.VERSION.SDK_INT >= 19) {
+ return mInfo.getExtras().getCharSequence(STATE_DESCRIPTION_KEY);
+ }
+ return null;
+ }
+
+ /**
* Sets the content description of this node.
* <p>
* <strong>Note:</strong> Cannot be called from an
@@ -2755,6 +2820,25 @@
}
/**
+ * Sets the state description of this node.
+ * <p>
+ * <strong>Note:</strong> Cannot be called from an
+ * {@link android.accessibilityservice.AccessibilityService}.
+ * This class is made immutable before being delivered to an AccessibilityService.
+ * </p>
+ *
+ * @param stateDescription the state description of this node.
+ * @throws IllegalStateException If called from an AccessibilityService.
+ */
+ public void setStateDescription(@Nullable CharSequence stateDescription) {
+ if (BuildCompat.isAtLeastR()) {
+ mInfo.setStateDescription(stateDescription);
+ } else if (Build.VERSION.SDK_INT >= 19) {
+ mInfo.getExtras().putCharSequence(STATE_DESCRIPTION_KEY, stateDescription);
+ }
+ }
+
+ /**
* Return an instance back to be reused.
* <p>
* <strong>Note:</strong> You must not touch the object after calling this function.
@@ -4158,6 +4242,8 @@
return "ACTION_SHOW_TOOLTIP";
case android.R.id.accessibilityActionHideTooltip:
return "ACTION_HIDE_TOOLTIP";
+ case android.R.id.accessibilityActionPressAndHold:
+ return "ACTION_PRESS_AND_HOLD";
default:
return"ACTION_UNKNOWN";
}
diff --git a/core/core/src/main/res/values/ids.xml b/core/core/src/main/res/values/ids.xml
index 444a976..5147433 100644
--- a/core/core/src/main/res/values/ids.xml
+++ b/core/core/src/main/res/values/ids.xml
@@ -29,6 +29,7 @@
<item name="tag_accessibility_pane_title" type="id"/>
<item name="tag_accessibility_clickable_spans" type="id"/>
<item name="tag_accessibility_actions" type="id"/>
+ <item name="tag_state_description" type="id"/>
<item name="accessibility_custom_action_0" type="id"/>
<item name="accessibility_custom_action_1" type="id"/>
<item name="accessibility_custom_action_2" type="id"/>
diff --git a/core/core/src/test/java/androidx/core/view/DisplayCompatTest.java b/core/core/src/test/java/androidx/core/view/DisplayCompatTest.java
index dc9d969..50e19db 100644
--- a/core/core/src/test/java/androidx/core/view/DisplayCompatTest.java
+++ b/core/core/src/test/java/androidx/core/view/DisplayCompatTest.java
@@ -80,6 +80,7 @@
}
@Before
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public void setup() {
mUiModeManagerShadow = shadowOf((UiModeManager) mContext.getSystemService(UI_MODE_SERVICE));
mUiModeManagerShadow.currentModeType = UI_MODE_TYPE_NORMAL;
diff --git a/customview/customview/api/1.1.0-rc01.txt b/customview/customview/api/1.1.0-rc01.txt
deleted file mode 100644
index 82c4509..0000000
--- a/customview/customview/api/1.1.0-rc01.txt
+++ /dev/null
@@ -1,114 +0,0 @@
-// Signature format: 3.0
-package androidx.customview.view {
-
- public abstract class AbsSavedState implements android.os.Parcelable {
- ctor protected AbsSavedState(android.os.Parcelable);
- ctor protected AbsSavedState(android.os.Parcel);
- ctor protected AbsSavedState(android.os.Parcel, ClassLoader?);
- method public int describeContents();
- method public final android.os.Parcelable? getSuperState();
- method public void writeToParcel(android.os.Parcel!, int);
- field public static final android.os.Parcelable.Creator<androidx.customview.view.AbsSavedState!>! CREATOR;
- field public static final androidx.customview.view.AbsSavedState! EMPTY_STATE;
- }
-
-}
-
-package androidx.customview.widget {
-
- public abstract class ExploreByTouchHelper extends androidx.core.view.AccessibilityDelegateCompat {
- ctor public ExploreByTouchHelper(android.view.View);
- method public final boolean clearKeyboardFocusForVirtualView(int);
- method public final boolean dispatchHoverEvent(android.view.MotionEvent);
- method public final boolean dispatchKeyEvent(android.view.KeyEvent);
- method public final int getAccessibilityFocusedVirtualViewId();
- method @Deprecated public int getFocusedVirtualView();
- method public final int getKeyboardFocusedVirtualViewId();
- method protected abstract int getVirtualViewAt(float, float);
- method protected abstract void getVisibleVirtualViews(java.util.List<java.lang.Integer!>!);
- method public final void invalidateRoot();
- method public final void invalidateVirtualView(int);
- method public final void invalidateVirtualView(int, int);
- method public final void onFocusChanged(boolean, int, android.graphics.Rect?);
- method protected abstract boolean onPerformActionForVirtualView(int, int, android.os.Bundle?);
- method protected void onPopulateEventForHost(android.view.accessibility.AccessibilityEvent);
- method protected void onPopulateEventForVirtualView(int, android.view.accessibility.AccessibilityEvent);
- method protected void onPopulateNodeForHost(androidx.core.view.accessibility.AccessibilityNodeInfoCompat);
- method protected abstract void onPopulateNodeForVirtualView(int, androidx.core.view.accessibility.AccessibilityNodeInfoCompat);
- method protected void onVirtualViewKeyboardFocusChanged(int, boolean);
- method public final boolean requestKeyboardFocusForVirtualView(int);
- method public final boolean sendEventForVirtualView(int, int);
- field public static final int HOST_ID = -1; // 0xffffffff
- field public static final int INVALID_ID = -2147483648; // 0x80000000
- }
-
- public interface Openable {
- method public void close();
- method public boolean isOpen();
- method public void open();
- }
-
- public class ViewDragHelper {
- method public void abort();
- method protected boolean canScroll(android.view.View, boolean, int, int, int, int);
- method public void cancel();
- method public void captureChildView(android.view.View, int);
- method public boolean checkTouchSlop(int);
- method public boolean checkTouchSlop(int, int);
- method public boolean continueSettling(boolean);
- method public static androidx.customview.widget.ViewDragHelper! create(android.view.ViewGroup, androidx.customview.widget.ViewDragHelper.Callback);
- method public static androidx.customview.widget.ViewDragHelper! create(android.view.ViewGroup, float, androidx.customview.widget.ViewDragHelper.Callback);
- method public android.view.View? findTopChildUnder(int, int);
- method public void flingCapturedView(int, int, int, int);
- method public int getActivePointerId();
- method public android.view.View? getCapturedView();
- method @Px public int getDefaultEdgeSize();
- method @Px public int getEdgeSize();
- method public float getMinVelocity();
- method @Px public int getTouchSlop();
- method public int getViewDragState();
- method public boolean isCapturedViewUnder(int, int);
- method public boolean isEdgeTouched(int);
- method public boolean isEdgeTouched(int, int);
- method public boolean isPointerDown(int);
- method public boolean isViewUnder(android.view.View?, int, int);
- method public void processTouchEvent(android.view.MotionEvent);
- method public void setEdgeSize(@IntRange(from=0) @Px int);
- method public void setEdgeTrackingEnabled(int);
- method public void setMinVelocity(float);
- method public boolean settleCapturedViewAt(int, int);
- method public boolean shouldInterceptTouchEvent(android.view.MotionEvent);
- method public boolean smoothSlideViewTo(android.view.View, int, int);
- field public static final int DIRECTION_ALL = 3; // 0x3
- field public static final int DIRECTION_HORIZONTAL = 1; // 0x1
- field public static final int DIRECTION_VERTICAL = 2; // 0x2
- field public static final int EDGE_ALL = 15; // 0xf
- field public static final int EDGE_BOTTOM = 8; // 0x8
- field public static final int EDGE_LEFT = 1; // 0x1
- field public static final int EDGE_RIGHT = 2; // 0x2
- field public static final int EDGE_TOP = 4; // 0x4
- field public static final int INVALID_POINTER = -1; // 0xffffffff
- field public static final int STATE_DRAGGING = 1; // 0x1
- field public static final int STATE_IDLE = 0; // 0x0
- field public static final int STATE_SETTLING = 2; // 0x2
- }
-
- public abstract static class ViewDragHelper.Callback {
- ctor public ViewDragHelper.Callback();
- method public int clampViewPositionHorizontal(android.view.View, int, int);
- method public int clampViewPositionVertical(android.view.View, int, int);
- method public int getOrderedChildIndex(int);
- method public int getViewHorizontalDragRange(android.view.View);
- method public int getViewVerticalDragRange(android.view.View);
- method public void onEdgeDragStarted(int, int);
- method public boolean onEdgeLock(int);
- method public void onEdgeTouched(int, int);
- method public void onViewCaptured(android.view.View, int);
- method public void onViewDragStateChanged(int);
- method public void onViewPositionChanged(android.view.View, int, int, @Px int, @Px int);
- method public void onViewReleased(android.view.View, float, float);
- method public abstract boolean tryCaptureView(android.view.View, int);
- }
-
-}
-
diff --git a/customview/customview/api/public_plus_experimental_1.1.0-rc01.txt b/customview/customview/api/public_plus_experimental_1.1.0-rc01.txt
deleted file mode 100644
index 82c4509..0000000
--- a/customview/customview/api/public_plus_experimental_1.1.0-rc01.txt
+++ /dev/null
@@ -1,114 +0,0 @@
-// Signature format: 3.0
-package androidx.customview.view {
-
- public abstract class AbsSavedState implements android.os.Parcelable {
- ctor protected AbsSavedState(android.os.Parcelable);
- ctor protected AbsSavedState(android.os.Parcel);
- ctor protected AbsSavedState(android.os.Parcel, ClassLoader?);
- method public int describeContents();
- method public final android.os.Parcelable? getSuperState();
- method public void writeToParcel(android.os.Parcel!, int);
- field public static final android.os.Parcelable.Creator<androidx.customview.view.AbsSavedState!>! CREATOR;
- field public static final androidx.customview.view.AbsSavedState! EMPTY_STATE;
- }
-
-}
-
-package androidx.customview.widget {
-
- public abstract class ExploreByTouchHelper extends androidx.core.view.AccessibilityDelegateCompat {
- ctor public ExploreByTouchHelper(android.view.View);
- method public final boolean clearKeyboardFocusForVirtualView(int);
- method public final boolean dispatchHoverEvent(android.view.MotionEvent);
- method public final boolean dispatchKeyEvent(android.view.KeyEvent);
- method public final int getAccessibilityFocusedVirtualViewId();
- method @Deprecated public int getFocusedVirtualView();
- method public final int getKeyboardFocusedVirtualViewId();
- method protected abstract int getVirtualViewAt(float, float);
- method protected abstract void getVisibleVirtualViews(java.util.List<java.lang.Integer!>!);
- method public final void invalidateRoot();
- method public final void invalidateVirtualView(int);
- method public final void invalidateVirtualView(int, int);
- method public final void onFocusChanged(boolean, int, android.graphics.Rect?);
- method protected abstract boolean onPerformActionForVirtualView(int, int, android.os.Bundle?);
- method protected void onPopulateEventForHost(android.view.accessibility.AccessibilityEvent);
- method protected void onPopulateEventForVirtualView(int, android.view.accessibility.AccessibilityEvent);
- method protected void onPopulateNodeForHost(androidx.core.view.accessibility.AccessibilityNodeInfoCompat);
- method protected abstract void onPopulateNodeForVirtualView(int, androidx.core.view.accessibility.AccessibilityNodeInfoCompat);
- method protected void onVirtualViewKeyboardFocusChanged(int, boolean);
- method public final boolean requestKeyboardFocusForVirtualView(int);
- method public final boolean sendEventForVirtualView(int, int);
- field public static final int HOST_ID = -1; // 0xffffffff
- field public static final int INVALID_ID = -2147483648; // 0x80000000
- }
-
- public interface Openable {
- method public void close();
- method public boolean isOpen();
- method public void open();
- }
-
- public class ViewDragHelper {
- method public void abort();
- method protected boolean canScroll(android.view.View, boolean, int, int, int, int);
- method public void cancel();
- method public void captureChildView(android.view.View, int);
- method public boolean checkTouchSlop(int);
- method public boolean checkTouchSlop(int, int);
- method public boolean continueSettling(boolean);
- method public static androidx.customview.widget.ViewDragHelper! create(android.view.ViewGroup, androidx.customview.widget.ViewDragHelper.Callback);
- method public static androidx.customview.widget.ViewDragHelper! create(android.view.ViewGroup, float, androidx.customview.widget.ViewDragHelper.Callback);
- method public android.view.View? findTopChildUnder(int, int);
- method public void flingCapturedView(int, int, int, int);
- method public int getActivePointerId();
- method public android.view.View? getCapturedView();
- method @Px public int getDefaultEdgeSize();
- method @Px public int getEdgeSize();
- method public float getMinVelocity();
- method @Px public int getTouchSlop();
- method public int getViewDragState();
- method public boolean isCapturedViewUnder(int, int);
- method public boolean isEdgeTouched(int);
- method public boolean isEdgeTouched(int, int);
- method public boolean isPointerDown(int);
- method public boolean isViewUnder(android.view.View?, int, int);
- method public void processTouchEvent(android.view.MotionEvent);
- method public void setEdgeSize(@IntRange(from=0) @Px int);
- method public void setEdgeTrackingEnabled(int);
- method public void setMinVelocity(float);
- method public boolean settleCapturedViewAt(int, int);
- method public boolean shouldInterceptTouchEvent(android.view.MotionEvent);
- method public boolean smoothSlideViewTo(android.view.View, int, int);
- field public static final int DIRECTION_ALL = 3; // 0x3
- field public static final int DIRECTION_HORIZONTAL = 1; // 0x1
- field public static final int DIRECTION_VERTICAL = 2; // 0x2
- field public static final int EDGE_ALL = 15; // 0xf
- field public static final int EDGE_BOTTOM = 8; // 0x8
- field public static final int EDGE_LEFT = 1; // 0x1
- field public static final int EDGE_RIGHT = 2; // 0x2
- field public static final int EDGE_TOP = 4; // 0x4
- field public static final int INVALID_POINTER = -1; // 0xffffffff
- field public static final int STATE_DRAGGING = 1; // 0x1
- field public static final int STATE_IDLE = 0; // 0x0
- field public static final int STATE_SETTLING = 2; // 0x2
- }
-
- public abstract static class ViewDragHelper.Callback {
- ctor public ViewDragHelper.Callback();
- method public int clampViewPositionHorizontal(android.view.View, int, int);
- method public int clampViewPositionVertical(android.view.View, int, int);
- method public int getOrderedChildIndex(int);
- method public int getViewHorizontalDragRange(android.view.View);
- method public int getViewVerticalDragRange(android.view.View);
- method public void onEdgeDragStarted(int, int);
- method public boolean onEdgeLock(int);
- method public void onEdgeTouched(int, int);
- method public void onViewCaptured(android.view.View, int);
- method public void onViewDragStateChanged(int);
- method public void onViewPositionChanged(android.view.View, int, int, @Px int, @Px int);
- method public void onViewReleased(android.view.View, float, float);
- method public abstract boolean tryCaptureView(android.view.View, int);
- }
-
-}
-
diff --git a/customview/customview/api/res-1.1.0-rc01.txt b/customview/customview/api/res-1.1.0-rc01.txt
deleted file mode 100644
index e69de29..0000000
--- a/customview/customview/api/res-1.1.0-rc01.txt
+++ /dev/null
diff --git a/customview/customview/api/restricted_1.1.0-rc01.txt b/customview/customview/api/restricted_1.1.0-rc01.txt
deleted file mode 100644
index 82c4509..0000000
--- a/customview/customview/api/restricted_1.1.0-rc01.txt
+++ /dev/null
@@ -1,114 +0,0 @@
-// Signature format: 3.0
-package androidx.customview.view {
-
- public abstract class AbsSavedState implements android.os.Parcelable {
- ctor protected AbsSavedState(android.os.Parcelable);
- ctor protected AbsSavedState(android.os.Parcel);
- ctor protected AbsSavedState(android.os.Parcel, ClassLoader?);
- method public int describeContents();
- method public final android.os.Parcelable? getSuperState();
- method public void writeToParcel(android.os.Parcel!, int);
- field public static final android.os.Parcelable.Creator<androidx.customview.view.AbsSavedState!>! CREATOR;
- field public static final androidx.customview.view.AbsSavedState! EMPTY_STATE;
- }
-
-}
-
-package androidx.customview.widget {
-
- public abstract class ExploreByTouchHelper extends androidx.core.view.AccessibilityDelegateCompat {
- ctor public ExploreByTouchHelper(android.view.View);
- method public final boolean clearKeyboardFocusForVirtualView(int);
- method public final boolean dispatchHoverEvent(android.view.MotionEvent);
- method public final boolean dispatchKeyEvent(android.view.KeyEvent);
- method public final int getAccessibilityFocusedVirtualViewId();
- method @Deprecated public int getFocusedVirtualView();
- method public final int getKeyboardFocusedVirtualViewId();
- method protected abstract int getVirtualViewAt(float, float);
- method protected abstract void getVisibleVirtualViews(java.util.List<java.lang.Integer!>!);
- method public final void invalidateRoot();
- method public final void invalidateVirtualView(int);
- method public final void invalidateVirtualView(int, int);
- method public final void onFocusChanged(boolean, int, android.graphics.Rect?);
- method protected abstract boolean onPerformActionForVirtualView(int, int, android.os.Bundle?);
- method protected void onPopulateEventForHost(android.view.accessibility.AccessibilityEvent);
- method protected void onPopulateEventForVirtualView(int, android.view.accessibility.AccessibilityEvent);
- method protected void onPopulateNodeForHost(androidx.core.view.accessibility.AccessibilityNodeInfoCompat);
- method protected abstract void onPopulateNodeForVirtualView(int, androidx.core.view.accessibility.AccessibilityNodeInfoCompat);
- method protected void onVirtualViewKeyboardFocusChanged(int, boolean);
- method public final boolean requestKeyboardFocusForVirtualView(int);
- method public final boolean sendEventForVirtualView(int, int);
- field public static final int HOST_ID = -1; // 0xffffffff
- field public static final int INVALID_ID = -2147483648; // 0x80000000
- }
-
- public interface Openable {
- method public void close();
- method public boolean isOpen();
- method public void open();
- }
-
- public class ViewDragHelper {
- method public void abort();
- method protected boolean canScroll(android.view.View, boolean, int, int, int, int);
- method public void cancel();
- method public void captureChildView(android.view.View, int);
- method public boolean checkTouchSlop(int);
- method public boolean checkTouchSlop(int, int);
- method public boolean continueSettling(boolean);
- method public static androidx.customview.widget.ViewDragHelper! create(android.view.ViewGroup, androidx.customview.widget.ViewDragHelper.Callback);
- method public static androidx.customview.widget.ViewDragHelper! create(android.view.ViewGroup, float, androidx.customview.widget.ViewDragHelper.Callback);
- method public android.view.View? findTopChildUnder(int, int);
- method public void flingCapturedView(int, int, int, int);
- method public int getActivePointerId();
- method public android.view.View? getCapturedView();
- method @Px public int getDefaultEdgeSize();
- method @Px public int getEdgeSize();
- method public float getMinVelocity();
- method @Px public int getTouchSlop();
- method public int getViewDragState();
- method public boolean isCapturedViewUnder(int, int);
- method public boolean isEdgeTouched(int);
- method public boolean isEdgeTouched(int, int);
- method public boolean isPointerDown(int);
- method public boolean isViewUnder(android.view.View?, int, int);
- method public void processTouchEvent(android.view.MotionEvent);
- method public void setEdgeSize(@IntRange(from=0) @Px int);
- method public void setEdgeTrackingEnabled(int);
- method public void setMinVelocity(float);
- method public boolean settleCapturedViewAt(int, int);
- method public boolean shouldInterceptTouchEvent(android.view.MotionEvent);
- method public boolean smoothSlideViewTo(android.view.View, int, int);
- field public static final int DIRECTION_ALL = 3; // 0x3
- field public static final int DIRECTION_HORIZONTAL = 1; // 0x1
- field public static final int DIRECTION_VERTICAL = 2; // 0x2
- field public static final int EDGE_ALL = 15; // 0xf
- field public static final int EDGE_BOTTOM = 8; // 0x8
- field public static final int EDGE_LEFT = 1; // 0x1
- field public static final int EDGE_RIGHT = 2; // 0x2
- field public static final int EDGE_TOP = 4; // 0x4
- field public static final int INVALID_POINTER = -1; // 0xffffffff
- field public static final int STATE_DRAGGING = 1; // 0x1
- field public static final int STATE_IDLE = 0; // 0x0
- field public static final int STATE_SETTLING = 2; // 0x2
- }
-
- public abstract static class ViewDragHelper.Callback {
- ctor public ViewDragHelper.Callback();
- method public int clampViewPositionHorizontal(android.view.View, int, int);
- method public int clampViewPositionVertical(android.view.View, int, int);
- method public int getOrderedChildIndex(int);
- method public int getViewHorizontalDragRange(android.view.View);
- method public int getViewVerticalDragRange(android.view.View);
- method public void onEdgeDragStarted(int, int);
- method public boolean onEdgeLock(int);
- method public void onEdgeTouched(int, int);
- method public void onViewCaptured(android.view.View, int);
- method public void onViewDragStateChanged(int);
- method public void onViewPositionChanged(android.view.View, int, int, @Px int, @Px int);
- method public void onViewReleased(android.view.View, float, float);
- method public abstract boolean tryCaptureView(android.view.View, int);
- }
-
-}
-
diff --git a/customview/customview/build.gradle b/customview/customview/build.gradle
index 55d59f2..474e25e 100644
--- a/customview/customview/build.gradle
+++ b/customview/customview/build.gradle
@@ -17,7 +17,7 @@
dependencies {
api("androidx.annotation:annotation:1.1.0")
- api("androidx.core:core:1.3.0-rc01")
+ api("androidx.core:core:1.3.0-beta01")
implementation("androidx.collection:collection:1.1.0")
androidTestImplementation(JUNIT)
diff --git a/development/studio/idea.properties b/development/studio/idea.properties
index e1432b1..da113e9 100644
--- a/development/studio/idea.properties
+++ b/development/studio/idea.properties
@@ -5,12 +5,12 @@
#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE config folder. Make sure you're using forward slashes.
#---------------------------------------------------------------------
-idea.config.path=${user.home}/.AndroidStudioAndroidX/config
+idea.config.path=${user.home}/.AndroidStudioAndroidXPlatform/config
#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE system folder. Make sure you're using forward slashes.
#---------------------------------------------------------------------
-idea.system.path=${user.home}/.AndroidStudioAndroidX/system
+idea.system.path=${user.home}/.AndroidStudioAndroidXPlatform/system
#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to user installed plugins folder. Make sure you're using forward slashes.
diff --git a/drawerlayout/drawerlayout/api/1.1.0-rc01.txt b/drawerlayout/drawerlayout/api/1.1.0-rc01.txt
deleted file mode 100644
index 5b202b5..0000000
--- a/drawerlayout/drawerlayout/api/1.1.0-rc01.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-// Signature format: 3.0
-package androidx.drawerlayout.widget {
-
- public class DrawerLayout extends android.view.ViewGroup implements androidx.customview.widget.Openable {
- ctor public DrawerLayout(android.content.Context);
- ctor public DrawerLayout(android.content.Context, android.util.AttributeSet?);
- ctor public DrawerLayout(android.content.Context, android.util.AttributeSet?, int);
- method public void addDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method public void close();
- method public void closeDrawer(android.view.View);
- method public void closeDrawer(android.view.View, boolean);
- method public void closeDrawer(int);
- method public void closeDrawer(int, boolean);
- method public void closeDrawers();
- method public float getDrawerElevation();
- method public int getDrawerLockMode(int);
- method public int getDrawerLockMode(android.view.View);
- method public CharSequence? getDrawerTitle(int);
- method public android.graphics.drawable.Drawable? getStatusBarBackgroundDrawable();
- method public boolean isDrawerOpen(android.view.View);
- method public boolean isDrawerOpen(int);
- method public boolean isDrawerVisible(android.view.View);
- method public boolean isDrawerVisible(int);
- method public boolean isOpen();
- method public void onDraw(android.graphics.Canvas!);
- method public void open();
- method public void openDrawer(android.view.View);
- method public void openDrawer(android.view.View, boolean);
- method public void openDrawer(int);
- method public void openDrawer(int, boolean);
- method public void removeDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method public void setDrawerElevation(float);
- method @Deprecated public void setDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener!);
- method public void setDrawerLockMode(int);
- method public void setDrawerLockMode(int, int);
- method public void setDrawerLockMode(int, android.view.View);
- method public void setDrawerShadow(android.graphics.drawable.Drawable!, int);
- method public void setDrawerShadow(@DrawableRes int, int);
- method public void setDrawerTitle(int, CharSequence?);
- method public void setScrimColor(@ColorInt int);
- method public void setStatusBarBackground(android.graphics.drawable.Drawable?);
- method public void setStatusBarBackground(int);
- method public void setStatusBarBackgroundColor(@ColorInt int);
- field public static final int LOCK_MODE_LOCKED_CLOSED = 1; // 0x1
- field public static final int LOCK_MODE_LOCKED_OPEN = 2; // 0x2
- field public static final int LOCK_MODE_UNDEFINED = 3; // 0x3
- field public static final int LOCK_MODE_UNLOCKED = 0; // 0x0
- field public static final int STATE_DRAGGING = 1; // 0x1
- field public static final int STATE_IDLE = 0; // 0x0
- field public static final int STATE_SETTLING = 2; // 0x2
- }
-
- public static interface DrawerLayout.DrawerListener {
- method public void onDrawerClosed(android.view.View);
- method public void onDrawerOpened(android.view.View);
- method public void onDrawerSlide(android.view.View, float);
- method public void onDrawerStateChanged(int);
- }
-
- public static class DrawerLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
- ctor public DrawerLayout.LayoutParams(android.content.Context, android.util.AttributeSet?);
- ctor public DrawerLayout.LayoutParams(int, int);
- ctor public DrawerLayout.LayoutParams(int, int, int);
- ctor public DrawerLayout.LayoutParams(androidx.drawerlayout.widget.DrawerLayout.LayoutParams);
- ctor public DrawerLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
- ctor public DrawerLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
- field public int gravity;
- }
-
- protected static class DrawerLayout.SavedState extends androidx.customview.view.AbsSavedState {
- ctor public DrawerLayout.SavedState(android.os.Parcel, ClassLoader?);
- ctor public DrawerLayout.SavedState(android.os.Parcelable);
- field public static final android.os.Parcelable.Creator<androidx.drawerlayout.widget.DrawerLayout.SavedState!>! CREATOR;
- }
-
- public abstract static class DrawerLayout.SimpleDrawerListener implements androidx.drawerlayout.widget.DrawerLayout.DrawerListener {
- ctor public DrawerLayout.SimpleDrawerListener();
- method public void onDrawerClosed(android.view.View!);
- method public void onDrawerOpened(android.view.View!);
- method public void onDrawerSlide(android.view.View!, float);
- method public void onDrawerStateChanged(int);
- }
-
-}
-
diff --git a/drawerlayout/drawerlayout/api/public_plus_experimental_1.1.0-rc01.txt b/drawerlayout/drawerlayout/api/public_plus_experimental_1.1.0-rc01.txt
deleted file mode 100644
index 5b202b5..0000000
--- a/drawerlayout/drawerlayout/api/public_plus_experimental_1.1.0-rc01.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-// Signature format: 3.0
-package androidx.drawerlayout.widget {
-
- public class DrawerLayout extends android.view.ViewGroup implements androidx.customview.widget.Openable {
- ctor public DrawerLayout(android.content.Context);
- ctor public DrawerLayout(android.content.Context, android.util.AttributeSet?);
- ctor public DrawerLayout(android.content.Context, android.util.AttributeSet?, int);
- method public void addDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method public void close();
- method public void closeDrawer(android.view.View);
- method public void closeDrawer(android.view.View, boolean);
- method public void closeDrawer(int);
- method public void closeDrawer(int, boolean);
- method public void closeDrawers();
- method public float getDrawerElevation();
- method public int getDrawerLockMode(int);
- method public int getDrawerLockMode(android.view.View);
- method public CharSequence? getDrawerTitle(int);
- method public android.graphics.drawable.Drawable? getStatusBarBackgroundDrawable();
- method public boolean isDrawerOpen(android.view.View);
- method public boolean isDrawerOpen(int);
- method public boolean isDrawerVisible(android.view.View);
- method public boolean isDrawerVisible(int);
- method public boolean isOpen();
- method public void onDraw(android.graphics.Canvas!);
- method public void open();
- method public void openDrawer(android.view.View);
- method public void openDrawer(android.view.View, boolean);
- method public void openDrawer(int);
- method public void openDrawer(int, boolean);
- method public void removeDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method public void setDrawerElevation(float);
- method @Deprecated public void setDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener!);
- method public void setDrawerLockMode(int);
- method public void setDrawerLockMode(int, int);
- method public void setDrawerLockMode(int, android.view.View);
- method public void setDrawerShadow(android.graphics.drawable.Drawable!, int);
- method public void setDrawerShadow(@DrawableRes int, int);
- method public void setDrawerTitle(int, CharSequence?);
- method public void setScrimColor(@ColorInt int);
- method public void setStatusBarBackground(android.graphics.drawable.Drawable?);
- method public void setStatusBarBackground(int);
- method public void setStatusBarBackgroundColor(@ColorInt int);
- field public static final int LOCK_MODE_LOCKED_CLOSED = 1; // 0x1
- field public static final int LOCK_MODE_LOCKED_OPEN = 2; // 0x2
- field public static final int LOCK_MODE_UNDEFINED = 3; // 0x3
- field public static final int LOCK_MODE_UNLOCKED = 0; // 0x0
- field public static final int STATE_DRAGGING = 1; // 0x1
- field public static final int STATE_IDLE = 0; // 0x0
- field public static final int STATE_SETTLING = 2; // 0x2
- }
-
- public static interface DrawerLayout.DrawerListener {
- method public void onDrawerClosed(android.view.View);
- method public void onDrawerOpened(android.view.View);
- method public void onDrawerSlide(android.view.View, float);
- method public void onDrawerStateChanged(int);
- }
-
- public static class DrawerLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
- ctor public DrawerLayout.LayoutParams(android.content.Context, android.util.AttributeSet?);
- ctor public DrawerLayout.LayoutParams(int, int);
- ctor public DrawerLayout.LayoutParams(int, int, int);
- ctor public DrawerLayout.LayoutParams(androidx.drawerlayout.widget.DrawerLayout.LayoutParams);
- ctor public DrawerLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
- ctor public DrawerLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
- field public int gravity;
- }
-
- protected static class DrawerLayout.SavedState extends androidx.customview.view.AbsSavedState {
- ctor public DrawerLayout.SavedState(android.os.Parcel, ClassLoader?);
- ctor public DrawerLayout.SavedState(android.os.Parcelable);
- field public static final android.os.Parcelable.Creator<androidx.drawerlayout.widget.DrawerLayout.SavedState!>! CREATOR;
- }
-
- public abstract static class DrawerLayout.SimpleDrawerListener implements androidx.drawerlayout.widget.DrawerLayout.DrawerListener {
- ctor public DrawerLayout.SimpleDrawerListener();
- method public void onDrawerClosed(android.view.View!);
- method public void onDrawerOpened(android.view.View!);
- method public void onDrawerSlide(android.view.View!, float);
- method public void onDrawerStateChanged(int);
- }
-
-}
-
diff --git a/drawerlayout/drawerlayout/api/res-1.1.0-rc01.txt b/drawerlayout/drawerlayout/api/res-1.1.0-rc01.txt
deleted file mode 100644
index 3756729..0000000
--- a/drawerlayout/drawerlayout/api/res-1.1.0-rc01.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-attr drawerLayoutStyle
-attr elevation
diff --git a/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha03.txt b/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha03.txt
index f6fef7e..26c01ab 100644
--- a/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha03.txt
+++ b/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha03.txt
@@ -26,7 +26,7 @@
method public void openDrawer(int);
method public void openDrawer(int, boolean);
method public void removeDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(Object!, boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(androidx.core.view.WindowInsetsCompat!, boolean);
method public void setDrawerElevation(float);
method @Deprecated public void setDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener!);
method public void setDrawerLockMode(int);
diff --git a/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha04.txt b/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha04.txt
index e6d4605..a771903 100644
--- a/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha04.txt
+++ b/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha04.txt
@@ -29,7 +29,7 @@
method public void openDrawer(int);
method public void openDrawer(int, boolean);
method public void removeDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(Object!, boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(androidx.core.view.WindowInsetsCompat!, boolean);
method public void setDrawerElevation(float);
method @Deprecated public void setDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener!);
method public void setDrawerLockMode(int);
diff --git a/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha05.txt b/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha05.txt
index e6d4605..a771903 100644
--- a/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha05.txt
+++ b/drawerlayout/drawerlayout/api/restricted_1.1.0-alpha05.txt
@@ -29,7 +29,7 @@
method public void openDrawer(int);
method public void openDrawer(int, boolean);
method public void removeDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(Object!, boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(androidx.core.view.WindowInsetsCompat!, boolean);
method public void setDrawerElevation(float);
method @Deprecated public void setDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener!);
method public void setDrawerLockMode(int);
diff --git a/drawerlayout/drawerlayout/api/restricted_1.1.0-beta01.txt b/drawerlayout/drawerlayout/api/restricted_1.1.0-beta01.txt
index e6d4605..a771903 100644
--- a/drawerlayout/drawerlayout/api/restricted_1.1.0-beta01.txt
+++ b/drawerlayout/drawerlayout/api/restricted_1.1.0-beta01.txt
@@ -29,7 +29,7 @@
method public void openDrawer(int);
method public void openDrawer(int, boolean);
method public void removeDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(Object!, boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(androidx.core.view.WindowInsetsCompat!, boolean);
method public void setDrawerElevation(float);
method @Deprecated public void setDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener!);
method public void setDrawerLockMode(int);
diff --git a/drawerlayout/drawerlayout/api/restricted_1.1.0-rc01.txt b/drawerlayout/drawerlayout/api/restricted_1.1.0-rc01.txt
deleted file mode 100644
index e6d4605..0000000
--- a/drawerlayout/drawerlayout/api/restricted_1.1.0-rc01.txt
+++ /dev/null
@@ -1,86 +0,0 @@
-// Signature format: 3.0
-package androidx.drawerlayout.widget {
-
- public class DrawerLayout extends android.view.ViewGroup implements androidx.customview.widget.Openable {
- ctor public DrawerLayout(android.content.Context);
- ctor public DrawerLayout(android.content.Context, android.util.AttributeSet?);
- ctor public DrawerLayout(android.content.Context, android.util.AttributeSet?, int);
- method public void addDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method public void close();
- method public void closeDrawer(android.view.View);
- method public void closeDrawer(android.view.View, boolean);
- method public void closeDrawer(int);
- method public void closeDrawer(int, boolean);
- method public void closeDrawers();
- method public float getDrawerElevation();
- method public int getDrawerLockMode(int);
- method public int getDrawerLockMode(android.view.View);
- method public CharSequence? getDrawerTitle(int);
- method public android.graphics.drawable.Drawable? getStatusBarBackgroundDrawable();
- method public boolean isDrawerOpen(android.view.View);
- method public boolean isDrawerOpen(int);
- method public boolean isDrawerVisible(android.view.View);
- method public boolean isDrawerVisible(int);
- method public boolean isOpen();
- method public void onDraw(android.graphics.Canvas!);
- method public void open();
- method public void openDrawer(android.view.View);
- method public void openDrawer(android.view.View, boolean);
- method public void openDrawer(int);
- method public void openDrawer(int, boolean);
- method public void removeDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(Object!, boolean);
- method public void setDrawerElevation(float);
- method @Deprecated public void setDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener!);
- method public void setDrawerLockMode(int);
- method public void setDrawerLockMode(int, int);
- method public void setDrawerLockMode(int, android.view.View);
- method public void setDrawerShadow(android.graphics.drawable.Drawable!, int);
- method public void setDrawerShadow(@DrawableRes int, int);
- method public void setDrawerTitle(int, CharSequence?);
- method public void setScrimColor(@ColorInt int);
- method public void setStatusBarBackground(android.graphics.drawable.Drawable?);
- method public void setStatusBarBackground(int);
- method public void setStatusBarBackgroundColor(@ColorInt int);
- field public static final int LOCK_MODE_LOCKED_CLOSED = 1; // 0x1
- field public static final int LOCK_MODE_LOCKED_OPEN = 2; // 0x2
- field public static final int LOCK_MODE_UNDEFINED = 3; // 0x3
- field public static final int LOCK_MODE_UNLOCKED = 0; // 0x0
- field public static final int STATE_DRAGGING = 1; // 0x1
- field public static final int STATE_IDLE = 0; // 0x0
- field public static final int STATE_SETTLING = 2; // 0x2
- }
-
- public static interface DrawerLayout.DrawerListener {
- method public void onDrawerClosed(android.view.View);
- method public void onDrawerOpened(android.view.View);
- method public void onDrawerSlide(android.view.View, float);
- method public void onDrawerStateChanged(int);
- }
-
- public static class DrawerLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
- ctor public DrawerLayout.LayoutParams(android.content.Context, android.util.AttributeSet?);
- ctor public DrawerLayout.LayoutParams(int, int);
- ctor public DrawerLayout.LayoutParams(int, int, int);
- ctor public DrawerLayout.LayoutParams(androidx.drawerlayout.widget.DrawerLayout.LayoutParams);
- ctor public DrawerLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
- ctor public DrawerLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
- field public int gravity;
- }
-
- protected static class DrawerLayout.SavedState extends androidx.customview.view.AbsSavedState {
- ctor public DrawerLayout.SavedState(android.os.Parcel, ClassLoader?);
- ctor public DrawerLayout.SavedState(android.os.Parcelable);
- field public static final android.os.Parcelable.Creator<androidx.drawerlayout.widget.DrawerLayout.SavedState!>! CREATOR;
- }
-
- public abstract static class DrawerLayout.SimpleDrawerListener implements androidx.drawerlayout.widget.DrawerLayout.DrawerListener {
- ctor public DrawerLayout.SimpleDrawerListener();
- method public void onDrawerClosed(android.view.View!);
- method public void onDrawerOpened(android.view.View!);
- method public void onDrawerSlide(android.view.View!, float);
- method public void onDrawerStateChanged(int);
- }
-
-}
-
diff --git a/drawerlayout/drawerlayout/api/restricted_1.2.0-alpha01.txt b/drawerlayout/drawerlayout/api/restricted_1.2.0-alpha01.txt
index e6d4605..a771903 100644
--- a/drawerlayout/drawerlayout/api/restricted_1.2.0-alpha01.txt
+++ b/drawerlayout/drawerlayout/api/restricted_1.2.0-alpha01.txt
@@ -29,7 +29,7 @@
method public void openDrawer(int);
method public void openDrawer(int, boolean);
method public void removeDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(Object!, boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(androidx.core.view.WindowInsetsCompat!, boolean);
method public void setDrawerElevation(float);
method @Deprecated public void setDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener!);
method public void setDrawerLockMode(int);
diff --git a/drawerlayout/drawerlayout/api/restricted_current.txt b/drawerlayout/drawerlayout/api/restricted_current.txt
index e6d4605..a771903 100644
--- a/drawerlayout/drawerlayout/api/restricted_current.txt
+++ b/drawerlayout/drawerlayout/api/restricted_current.txt
@@ -29,7 +29,7 @@
method public void openDrawer(int);
method public void openDrawer(int, boolean);
method public void removeDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(Object!, boolean);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setChildInsets(androidx.core.view.WindowInsetsCompat!, boolean);
method public void setDrawerElevation(float);
method @Deprecated public void setDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener!);
method public void setDrawerLockMode(int);
diff --git a/drawerlayout/drawerlayout/src/main/java/androidx/drawerlayout/widget/DrawerLayout.java b/drawerlayout/drawerlayout/src/main/java/androidx/drawerlayout/widget/DrawerLayout.java
index 20330d6..1b683ac 100644
--- a/drawerlayout/drawerlayout/src/main/java/androidx/drawerlayout/widget/DrawerLayout.java
+++ b/drawerlayout/drawerlayout/src/main/java/androidx/drawerlayout/widget/DrawerLayout.java
@@ -162,7 +162,6 @@
@Retention(RetentionPolicy.SOURCE)
private @interface EdgeGravity {}
-
private static final int MIN_DRAWER_MARGIN = 64; // dp
private static final int DEFAULT_SCRIM_COLOR = 0x99000000;
@@ -239,7 +238,7 @@
private CharSequence mTitleLeft;
private CharSequence mTitleRight;
- private Object mLastInsets;
+ private WindowInsetsCompat mLastInsets;
private boolean mDrawStatusBarBackground;
/** Shadow drawables for different gravity */
@@ -332,6 +331,7 @@
this(context, attrs, R.attr.drawerLayoutStyle);
}
+ @SuppressWarnings("deprecation") /* SYSTEM_UI_FLAG_LAYOUT_* */
public DrawerLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
@@ -362,14 +362,17 @@
setMotionEventSplittingEnabled(false);
if (ViewCompat.getFitsSystemWindows(this)) {
if (Build.VERSION.SDK_INT >= 21) {
- setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() {
- @Override
- public WindowInsets onApplyWindowInsets(View view, WindowInsets insets) {
- final DrawerLayout drawerLayout = (DrawerLayout) view;
- drawerLayout.setChildInsets(insets, insets.getSystemWindowInsetTop() > 0);
- return insets.consumeSystemWindowInsets();
- }
- });
+ ViewCompat.setOnApplyWindowInsetsListener(this,
+ new androidx.core.view.OnApplyWindowInsetsListener() {
+ @Override
+ public WindowInsetsCompat onApplyWindowInsets(View view,
+ WindowInsetsCompat insets) {
+ final DrawerLayout drawerLayout = (DrawerLayout) view;
+ drawerLayout.setChildInsets(insets,
+ insets.getSystemWindowInsets().top > 0);
+ return insets.consumeSystemWindowInsets();
+ }
+ });
setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
final TypedArray a = context.obtainStyledAttributes(THEME_ATTRS);
@@ -433,7 +436,7 @@
* with fitsSystemWindows="true"
*/
@RestrictTo(LIBRARY_GROUP_PREFIX)
- public void setChildInsets(Object insets, boolean draw) {
+ public void setChildInsets(WindowInsetsCompat insets, boolean draw) {
mLastInsets = insets;
mDrawStatusBarBackground = draw;
setWillNotDraw(!draw && getBackground() == null);
@@ -1115,7 +1118,7 @@
final int cgrav = GravityCompat.getAbsoluteGravity(lp.gravity, layoutDirection);
if (ViewCompat.getFitsSystemWindows(child)) {
if (Build.VERSION.SDK_INT >= 21) {
- WindowInsets wi = (WindowInsets) mLastInsets;
+ WindowInsetsCompat wi = mLastInsets;
if (cgrav == Gravity.LEFT) {
wi = wi.replaceSystemWindowInsets(wi.getSystemWindowInsetLeft(),
wi.getSystemWindowInsetTop(), 0,
@@ -1125,11 +1128,11 @@
wi.getSystemWindowInsetRight(),
wi.getSystemWindowInsetBottom());
}
- child.dispatchApplyWindowInsets(wi);
+ ViewCompat.dispatchApplyWindowInsets(child, wi);
}
} else {
if (Build.VERSION.SDK_INT >= 21) {
- WindowInsets wi = (WindowInsets) mLastInsets;
+ WindowInsetsCompat wi = mLastInsets;
if (cgrav == Gravity.LEFT) {
wi = wi.replaceSystemWindowInsets(wi.getSystemWindowInsetLeft(),
wi.getSystemWindowInsetTop(), 0,
@@ -1436,8 +1439,7 @@
if (mDrawStatusBarBackground && mStatusBarBackground != null) {
final int inset;
if (Build.VERSION.SDK_INT >= 21) {
- inset = mLastInsets != null
- ? ((WindowInsets) mLastInsets).getSystemWindowInsetTop() : 0;
+ inset = mLastInsets != null ? mLastInsets.getSystemWindowInsetTop() : 0;
} else {
inset = 0;
}
diff --git a/enterprise/feedback/src/main/java/androidx/enterprise/feedback/KeyedAppStatesService.java b/enterprise/feedback/src/main/java/androidx/enterprise/feedback/KeyedAppStatesService.java
index 41cc5b1..13a7a8f 100644
--- a/enterprise/feedback/src/main/java/androidx/enterprise/feedback/KeyedAppStatesService.java
+++ b/enterprise/feedback/src/main/java/androidx/enterprise/feedback/KeyedAppStatesService.java
@@ -23,7 +23,6 @@
import android.annotation.SuppressLint;
import android.app.Service;
import android.content.Intent;
-import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
@@ -63,8 +62,10 @@
// This form is used instead of AsyncTask.execute(Runnable) as Robolectric causes tests to wait
// for execution of these but does not currently wait for execution of
- // AsyncTask.execute(runnable).
- private static final class KeyedAppStatesServiceAsyncTask extends AsyncTask<Void, Void, Void> {
+ // android.os.AsyncTask.execute(runnable).
+ @SuppressWarnings("deprecation") /* AsyncTask */
+ private static final class KeyedAppStatesServiceAsyncTask
+ extends android.os.AsyncTask<Void, Void, Void> {
@SuppressLint("StaticFieldLeak")
// Instances are short-lived so won't block garbage collection.
@@ -90,6 +91,7 @@
}
}
+ @SuppressWarnings("deprecation") /* AsyncTask */
private static class IncomingHandler extends Handler {
private final KeyedAppStatesService mKeyedAppStatesService;
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
index 866d69d..fe5580b 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
@@ -116,6 +116,7 @@
.isInstanceOf(FragmentContainerView::class.java)
}
+ @Suppress("DEPRECATION") /* systemWindowInsets */
@SdkSuppress(minSdkVersion = 29) // WindowInsets.Builder requires API 29
@Test
fun windowInsetsDispatchToChildren() {
diff --git a/leanback/leanback/src/androidTest/java/androidx/leanback/app/BrowseTestFragment.java b/leanback/leanback/src/androidTest/java/androidx/leanback/app/BrowseTestFragment.java
index 6e1d5ed..58d81a4 100644
--- a/leanback/leanback/src/androidTest/java/androidx/leanback/app/BrowseTestFragment.java
+++ b/leanback/leanback/src/androidTest/java/androidx/leanback/app/BrowseTestFragment.java
@@ -20,10 +20,8 @@
import static androidx.leanback.app.BrowseFragmentTestActivity.EXTRA_LOAD_DATA_DELAY;
import static androidx.leanback.app.BrowseFragmentTestActivity.EXTRA_NUM_ROWS;
import static androidx.leanback.app.BrowseFragmentTestActivity.EXTRA_REPEAT_PER_ROW;
-import static androidx.leanback.app.BrowseFragmentTestActivity
- .EXTRA_SET_ADAPTER_AFTER_DATA_LOAD;
-import static androidx.leanback.app.BrowseFragmentTestActivity
- .EXTRA_TEST_ENTRANCE_TRANSITION;
+import static androidx.leanback.app.BrowseFragmentTestActivity.EXTRA_SET_ADAPTER_AFTER_DATA_LOAD;
+import static androidx.leanback.app.BrowseFragmentTestActivity.EXTRA_TEST_ENTRANCE_TRANSITION;
import android.os.Bundle;
import android.os.Handler;
diff --git a/leanback/leanback/src/androidTest/java/androidx/leanback/app/BrowseTestSupportFragment.java b/leanback/leanback/src/androidTest/java/androidx/leanback/app/BrowseTestSupportFragment.java
index ee71687..d242e44 100644
--- a/leanback/leanback/src/androidTest/java/androidx/leanback/app/BrowseTestSupportFragment.java
+++ b/leanback/leanback/src/androidTest/java/androidx/leanback/app/BrowseTestSupportFragment.java
@@ -17,10 +17,8 @@
import static androidx.leanback.app.BrowseSupportFragmentTestActivity.EXTRA_LOAD_DATA_DELAY;
import static androidx.leanback.app.BrowseSupportFragmentTestActivity.EXTRA_NUM_ROWS;
import static androidx.leanback.app.BrowseSupportFragmentTestActivity.EXTRA_REPEAT_PER_ROW;
-import static androidx.leanback.app.BrowseSupportFragmentTestActivity
- .EXTRA_SET_ADAPTER_AFTER_DATA_LOAD;
-import static androidx.leanback.app.BrowseSupportFragmentTestActivity
- .EXTRA_TEST_ENTRANCE_TRANSITION;
+import static androidx.leanback.app.BrowseSupportFragmentTestActivity.EXTRA_SET_ADAPTER_AFTER_DATA_LOAD;
+import static androidx.leanback.app.BrowseSupportFragmentTestActivity.EXTRA_TEST_ENTRANCE_TRANSITION;
import android.os.Bundle;
import android.os.Handler;
diff --git a/leanback/leanback/src/main/java/androidx/leanback/widget/GuidedActionsStylist.java b/leanback/leanback/src/main/java/androidx/leanback/widget/GuidedActionsStylist.java
index bb472a9..d13fb77 100644
--- a/leanback/leanback/src/main/java/androidx/leanback/widget/GuidedActionsStylist.java
+++ b/leanback/leanback/src/main/java/androidx/leanback/widget/GuidedActionsStylist.java
@@ -438,6 +438,7 @@
* <code>LayoutInflater.inflate</code>.
* @return The view to be added to the caller's view hierarchy.
*/
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public View onCreateView(LayoutInflater inflater, final ViewGroup container) {
TypedArray ta = inflater.getContext().getTheme().obtainStyledAttributes(
R.styleable.LeanbackGuidedStepTheme);
diff --git a/loader/loader/src/androidTest/java/androidx/loader/content/ModernAsyncTaskTest.java b/loader/loader/src/androidTest/java/androidx/loader/content/ModernAsyncTaskTest.java
index a3aefeb..eadcb19 100644
--- a/loader/loader/src/androidTest/java/androidx/loader/content/ModernAsyncTaskTest.java
+++ b/loader/loader/src/androidTest/java/androidx/loader/content/ModernAsyncTaskTest.java
@@ -18,8 +18,6 @@
import static org.junit.Assert.fail;
-import android.os.AsyncTask;
-
import androidx.annotation.NonNull;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
@@ -33,6 +31,7 @@
import java.util.concurrent.TimeUnit;
@RunWith(AndroidJUnit4.class)
+@SuppressWarnings("deprecation") /* AsyncTask */
public class ModernAsyncTaskTest {
private ModernAsyncTask mModernAsyncTask;
@@ -53,7 +52,7 @@
// because sInternalHandler was initialized as static field.
// https://github.com/aosp-mirror/platform_frameworks_base/blob/ics-mr1/core/java/android/os/AsyncTask.java#L190
//noinspection unused
- Executor unused = AsyncTask.THREAD_POOL_EXECUTOR;
+ Executor unused = android.os.AsyncTask.THREAD_POOL_EXECUTOR;
mModernAsyncTask = new ModernAsyncTask() {
@Override
protected Object doInBackground() {
@@ -73,7 +72,7 @@
}
});
- mModernAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ mModernAsyncTask.executeOnExecutor(android.os.AsyncTask.THREAD_POOL_EXECUTOR);
if (!readyToCancel.await(5, TimeUnit.SECONDS)) {
fail("Test failure: doInBackground did not run in time.");
}
diff --git a/loader/loader/src/main/java/androidx/loader/content/AsyncTaskLoader.java b/loader/loader/src/main/java/androidx/loader/content/AsyncTaskLoader.java
index e34701e..ac352ff 100644
--- a/loader/loader/src/main/java/androidx/loader/content/AsyncTaskLoader.java
+++ b/loader/loader/src/main/java/androidx/loader/content/AsyncTaskLoader.java
@@ -17,7 +17,6 @@
package androidx.loader.content;
import android.content.Context;
-import android.os.AsyncTask;
import android.os.Handler;
import android.os.SystemClock;
import android.text.format.DateUtils;
@@ -40,6 +39,7 @@
* to switch to the framework's implementation. See the framework SDK
* documentation for a class overview.
*/
+@SuppressWarnings("deprecation") /* AsyncTask */
public abstract class AsyncTaskLoader<D> extends Loader<D> {
private static final String TAG = "AsyncTaskLoader";
private static final boolean DEBUG = false;
@@ -314,19 +314,20 @@
}
/**
- * Returns the {@link Executor} to use for this {@link Loader}'s {@link AsyncTask}s.
- * By default {@link AsyncTask#THREAD_POOL_EXECUTOR} will be used.
+ * Returns the {@link Executor} to use for this {@link Loader}'s {@link android.os.AsyncTask}s.
+ * By default {@link android.os.AsyncTask#THREAD_POOL_EXECUTOR} will be used.
*
* Override this method to return a custom executor. Note that this method will only be called
- * once before this {@link Loader}'s first {@link AsyncTask} is run. It is up to the
+ * once before this {@link Loader}'s first {@link android.os.AsyncTask} is run. It is up to the
* {@link Loader} to shut down the {@link Executor} at the appropriate place
* (e.g. in {@link #onAbandon()}) if necessary.
*
- * @return the {@link Executor} to use for this {@link Loader}'s {@link AsyncTask}s.
+ * @return the {@link Executor} to use for this {@link Loader}'s {@link android.os.AsyncTask}s.
*/
@NonNull
+ @SuppressWarnings("deprecation") /* AsyncTask */
protected Executor getExecutor() {
- return AsyncTask.THREAD_POOL_EXECUTOR;
+ return android.os.AsyncTask.THREAD_POOL_EXECUTOR;
}
/**
diff --git a/media2/integration-tests/testapp/src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java b/media2/integration-tests/testapp/src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java
index 36a69f1..0fe7e7e 100644
--- a/media2/integration-tests/testapp/src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java
+++ b/media2/integration-tests/testapp/src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java
@@ -22,7 +22,6 @@
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.StrictMode;
@@ -303,7 +302,7 @@
return retVal;
}
- private final class VideoItemListTask extends AsyncTask<Void, Void, VideoItemList> {
+ private final class VideoItemListTask extends android.os.AsyncTask<Void, Void, VideoItemList> {
private String mPath;
VideoItemListTask(String path) {
diff --git a/media2/integration-tests/testapp/src/main/java/androidx/media2/integration/testapp/VideoSessionService.java b/media2/integration-tests/testapp/src/main/java/androidx/media2/integration/testapp/VideoSessionService.java
index 1bb7f2b8..8ff807d 100644
--- a/media2/integration-tests/testapp/src/main/java/androidx/media2/integration/testapp/VideoSessionService.java
+++ b/media2/integration-tests/testapp/src/main/java/androidx/media2/integration/testapp/VideoSessionService.java
@@ -23,7 +23,6 @@
import android.graphics.BitmapFactory;
import android.media.MediaMetadataRetriever;
import android.net.Uri;
-import android.os.AsyncTask;
import android.widget.Toast;
import androidx.annotation.NonNull;
@@ -149,7 +148,8 @@
}
}
- private static class MetadataExtractTask extends AsyncTask<Void, Void, MediaMetadata> {
+ private static class MetadataExtractTask
+ extends android.os.AsyncTask<Void, Void, MediaMetadata> {
private MediaItem mItem;
private WeakReference<Context> mRefContext;
diff --git a/mediarouter/mediarouter/api/1.2.0-alpha01.txt b/mediarouter/mediarouter/api/1.2.0-alpha01.txt
index e3fc82d..9cd1893 100644
--- a/mediarouter/mediarouter/api/1.2.0-alpha01.txt
+++ b/mediarouter/mediarouter/api/1.2.0-alpha01.txt
@@ -341,6 +341,7 @@
method public void addCallback(androidx.mediarouter.media.MediaRouteSelector, androidx.mediarouter.media.MediaRouter.Callback, int);
method public void addProvider(androidx.mediarouter.media.MediaRouteProvider);
method public void addRemoteControlClient(Object);
+ method public void enableTransfer();
method public androidx.mediarouter.media.MediaRouter.RouteInfo! getBluetoothRoute();
method public androidx.mediarouter.media.MediaRouter.RouteInfo getDefaultRoute();
method public static androidx.mediarouter.media.MediaRouter! getInstance(android.content.Context);
diff --git a/mediarouter/mediarouter/api/current.txt b/mediarouter/mediarouter/api/current.txt
index e3fc82d..9cd1893 100644
--- a/mediarouter/mediarouter/api/current.txt
+++ b/mediarouter/mediarouter/api/current.txt
@@ -341,6 +341,7 @@
method public void addCallback(androidx.mediarouter.media.MediaRouteSelector, androidx.mediarouter.media.MediaRouter.Callback, int);
method public void addProvider(androidx.mediarouter.media.MediaRouteProvider);
method public void addRemoteControlClient(Object);
+ method public void enableTransfer();
method public androidx.mediarouter.media.MediaRouter.RouteInfo! getBluetoothRoute();
method public androidx.mediarouter.media.MediaRouter.RouteInfo getDefaultRoute();
method public static androidx.mediarouter.media.MediaRouter! getInstance(android.content.Context);
diff --git a/mediarouter/mediarouter/api/public_plus_experimental_1.2.0-alpha01.txt b/mediarouter/mediarouter/api/public_plus_experimental_1.2.0-alpha01.txt
index e3fc82d..9cd1893 100644
--- a/mediarouter/mediarouter/api/public_plus_experimental_1.2.0-alpha01.txt
+++ b/mediarouter/mediarouter/api/public_plus_experimental_1.2.0-alpha01.txt
@@ -341,6 +341,7 @@
method public void addCallback(androidx.mediarouter.media.MediaRouteSelector, androidx.mediarouter.media.MediaRouter.Callback, int);
method public void addProvider(androidx.mediarouter.media.MediaRouteProvider);
method public void addRemoteControlClient(Object);
+ method public void enableTransfer();
method public androidx.mediarouter.media.MediaRouter.RouteInfo! getBluetoothRoute();
method public androidx.mediarouter.media.MediaRouter.RouteInfo getDefaultRoute();
method public static androidx.mediarouter.media.MediaRouter! getInstance(android.content.Context);
diff --git a/mediarouter/mediarouter/api/public_plus_experimental_current.txt b/mediarouter/mediarouter/api/public_plus_experimental_current.txt
index e3fc82d..9cd1893 100644
--- a/mediarouter/mediarouter/api/public_plus_experimental_current.txt
+++ b/mediarouter/mediarouter/api/public_plus_experimental_current.txt
@@ -341,6 +341,7 @@
method public void addCallback(androidx.mediarouter.media.MediaRouteSelector, androidx.mediarouter.media.MediaRouter.Callback, int);
method public void addProvider(androidx.mediarouter.media.MediaRouteProvider);
method public void addRemoteControlClient(Object);
+ method public void enableTransfer();
method public androidx.mediarouter.media.MediaRouter.RouteInfo! getBluetoothRoute();
method public androidx.mediarouter.media.MediaRouter.RouteInfo getDefaultRoute();
method public static androidx.mediarouter.media.MediaRouter! getInstance(android.content.Context);
diff --git a/mediarouter/mediarouter/api/restricted_1.2.0-alpha01.txt b/mediarouter/mediarouter/api/restricted_1.2.0-alpha01.txt
index e3fc82d..9cd1893 100644
--- a/mediarouter/mediarouter/api/restricted_1.2.0-alpha01.txt
+++ b/mediarouter/mediarouter/api/restricted_1.2.0-alpha01.txt
@@ -341,6 +341,7 @@
method public void addCallback(androidx.mediarouter.media.MediaRouteSelector, androidx.mediarouter.media.MediaRouter.Callback, int);
method public void addProvider(androidx.mediarouter.media.MediaRouteProvider);
method public void addRemoteControlClient(Object);
+ method public void enableTransfer();
method public androidx.mediarouter.media.MediaRouter.RouteInfo! getBluetoothRoute();
method public androidx.mediarouter.media.MediaRouter.RouteInfo getDefaultRoute();
method public static androidx.mediarouter.media.MediaRouter! getInstance(android.content.Context);
diff --git a/mediarouter/mediarouter/api/restricted_current.txt b/mediarouter/mediarouter/api/restricted_current.txt
index e3fc82d..9cd1893 100644
--- a/mediarouter/mediarouter/api/restricted_current.txt
+++ b/mediarouter/mediarouter/api/restricted_current.txt
@@ -341,6 +341,7 @@
method public void addCallback(androidx.mediarouter.media.MediaRouteSelector, androidx.mediarouter.media.MediaRouter.Callback, int);
method public void addProvider(androidx.mediarouter.media.MediaRouteProvider);
method public void addRemoteControlClient(Object);
+ method public void enableTransfer();
method public androidx.mediarouter.media.MediaRouter.RouteInfo! getBluetoothRoute();
method public androidx.mediarouter.media.MediaRouter.RouteInfo getDefaultRoute();
method public static androidx.mediarouter.media.MediaRouter! getInstance(android.content.Context);
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteButton.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteButton.java
index 99c39dc..195b7bc 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteButton.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteButton.java
@@ -28,7 +28,6 @@
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.Drawable;
import android.net.ConnectivityManager;
-import android.os.AsyncTask;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
@@ -198,7 +197,7 @@
} else {
mRemoteIndicatorLoader = new RemoteIndicatorLoader(remoteIndicatorStaticResId,
getContext());
- mRemoteIndicatorLoader.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
+ mRemoteIndicatorLoader.executeOnExecutor(android.os.AsyncTask.SERIAL_EXECUTOR);
}
} else {
loadRemoteIndicatorIfNeeded();
@@ -565,7 +564,7 @@
mRemoteIndicatorLoader = new RemoteIndicatorLoader(mRemoteIndicatorResIdToLoad,
getContext());
mRemoteIndicatorResIdToLoad = 0;
- mRemoteIndicatorLoader.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
+ mRemoteIndicatorLoader.executeOnExecutor(android.os.AsyncTask.SERIAL_EXECUTOR);
}
}
@@ -725,7 +724,7 @@
}
}
- private final class RemoteIndicatorLoader extends AsyncTask<Void, Void, Drawable> {
+ private final class RemoteIndicatorLoader extends android.os.AsyncTask<Void, Void, Drawable> {
private final int mResId;
private final Context mContext;
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteControllerDialog.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteControllerDialog.java
index 547546f..f9c1293b 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteControllerDialog.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteControllerDialog.java
@@ -30,7 +30,6 @@
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Bundle;
import android.os.SystemClock;
import android.support.v4.media.MediaDescriptionCompat;
@@ -1336,7 +1335,7 @@
}
}
- private class FetchArtTask extends AsyncTask<Void, Void, Bitmap> {
+ private class FetchArtTask extends android.os.AsyncTask<Void, Void, Bitmap> {
// Show animation only when fetching takes a long time.
private static final long SHOW_ANIM_TIME_THRESHOLD_MILLIS = 120L;
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDiscoveryFragment.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDiscoveryFragment.java
index 33c7317..642f3f2 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDiscoveryFragment.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDiscoveryFragment.java
@@ -18,6 +18,7 @@
import android.os.Bundle;
+import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.mediarouter.media.MediaRouteSelector;
import androidx.mediarouter.media.MediaRouter;
@@ -25,9 +26,13 @@
/**
* Media route discovery fragment.
* <p>
- * This fragment takes care of registering a callback for media route discovery
- * during the {@link Fragment#onStart onStart()} phase
- * and removing it during the {@link Fragment#onStop onStop()} phase.
+ * This fragment takes care of registering a callback with proper flags for media route discovery:
+ * <ul>
+ * <li>In {@link Fragment#onCreate} phase, the callback is registered with zero flags. </li>
+ * <li>In {@link Fragment#onStart} phase, the callback's flags are set to the value
+ * which is provided by {@link #onPrepareCallbackFlags()}.</li>
+ * <li>In {@link Fragment#onStop()} phase, the callback's flags are set to zero. </li>
+ * </ul>
* </p><p>
* The application must supply a route selector to specify the kinds of routes
* to discover. The application may also override {@link #onCreateCallback} to
@@ -141,13 +146,21 @@
}
@Override
- public void onStart() {
- super.onStart();
-
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
ensureRouteSelector();
ensureRouter();
mCallback = onCreateCallback();
if (mCallback != null) {
+ mRouter.addCallback(mSelector, mCallback, 0);
+ }
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ if (mCallback != null) {
+ // TODO: Change here when setCallbackFlags() is added.
mRouter.addCallback(mSelector, mCallback, onPrepareCallbackFlags());
}
}
@@ -155,10 +168,9 @@
@Override
public void onStop() {
if (mCallback != null) {
- mRouter.removeCallback(mCallback);
- mCallback = null;
+ // TODO: Change here when setCallbackFlags() is added.
+ mRouter.addCallback(mSelector, mCallback, 0);
}
-
super.onStop();
}
}
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java
index 2ae85ad..5214528 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java
@@ -26,7 +26,6 @@
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
@@ -664,13 +663,15 @@
blurScript.setRadius(radius);
blurScript.setInput(allocation);
blurScript.forEach(blurAllocation);
- blurAllocation.copyTo(bitmap);
+
+ Bitmap mutableBitmap = bitmap.copy(bitmap.getConfig(), true /* isMutable */);
+ blurAllocation.copyTo(mutableBitmap);
allocation.destroy();
blurAllocation.destroy();
blurScript.destroy();
rs.destroy();
- return bitmap;
+ return mutableBitmap;
}
private abstract class MediaRouteVolumeSliderHolder extends RecyclerView.ViewHolder {
@@ -1314,8 +1315,7 @@
mItemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- mIsSelectingRoute = true;
- mRoute.select();
+ mRouter.transferToRoute(mRoute);
mImageView.setVisibility(View.INVISIBLE);
mProgressBar.setVisibility(View.VISIBLE);
}
@@ -1424,7 +1424,7 @@
}
}
- private class FetchArtTask extends AsyncTask<Void, Void, Bitmap> {
+ private class FetchArtTask extends android.os.AsyncTask<Void, Void, Bitmap> {
private final Bitmap mIconBitmap;
private final Uri mIconUri;
private int mBackgroundColor;
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRoute2ProviderServiceAdapter.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRoute2ProviderServiceAdapter.java
new file mode 100644
index 0000000..abd922b
--- /dev/null
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRoute2ProviderServiceAdapter.java
@@ -0,0 +1,587 @@
+/*
+ * Copyright 2020 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 androidx.mediarouter.media;
+
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_ROUTE_CONTROL_REQUEST;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_DATA_ERROR;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_CONTROL_REQUEST_FAILED;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_CONTROL_REQUEST_SUCCEEDED;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.Intent;
+import android.media.MediaRoute2ProviderService;
+import android.media.RouteDiscoveryPreference;
+import android.media.RoutingSessionInfo;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.DeadObjectException;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.os.Messenger;
+import android.os.RemoteException;
+import android.text.TextUtils;
+import android.util.Log;
+import android.util.SparseArray;
+
+import androidx.annotation.GuardedBy;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.RequiresApi;
+import androidx.collection.ArrayMap;
+import androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController;
+import androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor;
+import androidx.mediarouter.media.MediaRouteProviderService.MediaRouteProviderServiceImplApi30;
+import androidx.mediarouter.media.MediaRouteProviderService.MediaRouteProviderServiceImplBase.ClientRecord;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
+
+@RequiresApi(api = Build.VERSION_CODES.R)
+class MediaRoute2ProviderServiceAdapter extends MediaRoute2ProviderService {
+ private static final String TAG = "MR2ProviderService";
+ static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+ private final Object mLock = new Object();
+
+ final MediaRouteProviderServiceImplApi30 mServiceImpl;
+ @GuardedBy("mLock")
+ final Map<String, DynamicGroupRouteController> mControllers = new ArrayMap<>();
+ final SparseArray<String> mSessionIdMap = new SparseArray<>();
+ //TODO: Remove these when xMR is finished
+ final Map<String, Messenger> mMessengers = new ArrayMap<>();
+ private static final String KEY_MESSENGER_BINDER = "binder";
+
+ private volatile MediaRouteProviderDescriptor mProviderDescriptor;
+ // Use a large enough initial value so that it can't be the same as the controller ID in
+ // RegisteredMediaRouteProvider
+ private final AtomicInteger mNextControllerId = new AtomicInteger(0x20000000);
+
+ @SuppressLint("InlinedApi")
+ public static final String SERVICE_INTERFACE = MediaRoute2ProviderService.SERVICE_INTERFACE;
+
+ MediaRoute2ProviderServiceAdapter(MediaRouteProviderServiceImplApi30 serviceImpl) {
+ mServiceImpl = serviceImpl;
+ }
+
+ @Override
+ public void attachBaseContext(Context context) {
+ super.attachBaseContext(context);
+ }
+
+ @Override
+ public void onSetRouteVolume(long requestId, @NonNull String routeId, int volume) {
+ //TODO: Implement this when necessary APIs are added.
+ }
+
+ @Override
+ public void onSetSessionVolume(long requestId, @NonNull String sessionId, int volume) {
+ RoutingSessionInfo sessionInfo = getSessionInfo(sessionId);
+ if (sessionInfo == null) {
+ Log.w(TAG, "onSetSessionVolume: Couldn't find a session");
+ notifyRequestFailed(requestId, REASON_INVALID_COMMAND);
+ return;
+ }
+
+ DynamicGroupRouteController controller = getController(sessionId);
+ if (controller == null) {
+ Log.w(TAG, "onSetSessionVolume: Couldn't find a controller");
+ notifyRequestFailed(requestId, REASON_ROUTE_NOT_AVAILABLE);
+ return;
+ }
+ controller.onSetVolume(volume);
+ }
+
+ @Override
+ public void onCreateSession(long requestId, @NonNull String packageName,
+ @NonNull String routeId, @Nullable Bundle sessionHints) {
+ MediaRouteProvider provider = getMediaRouteProvider();
+ MediaRouteDescriptor selectedRoute = getRouteDescriptor(routeId, "onCreateSession");
+ if (selectedRoute == null) {
+ notifyRequestFailed(requestId, REASON_ROUTE_NOT_AVAILABLE);
+ return;
+ }
+
+ DynamicGroupRouteController controller;
+ if (mProviderDescriptor.supportsDynamicGroupRoute()) {
+ controller = provider.onCreateDynamicGroupRouteController(routeId);
+ if (controller == null) {
+ Log.w(TAG, "onCreateSession: Couldn't create a dynamic controller");
+ notifyRequestFailed(requestId, REASON_REJECTED);
+ return;
+ }
+ } else {
+ MediaRouteProvider.RouteController routeController =
+ provider.onCreateRouteController(routeId);
+ if (routeController == null) {
+ Log.w(TAG, "onCreateSession: Couldn't create a controller");
+ notifyRequestFailed(requestId, REASON_REJECTED);
+ return;
+ }
+ controller = new DynamicGroupRouteControllerProxy(routeController);
+ }
+
+ String sessionId = assignSessionId(controller);
+ controller.onSelect();
+
+ //TODO: Set the client package name of the selected route.
+
+ RoutingSessionInfo.Builder builder =
+ new RoutingSessionInfo.Builder(sessionId, packageName)
+ .addSelectedRoute(routeId)
+ .setName(selectedRoute.getName())
+ .setVolumeHandling(selectedRoute.getVolumeHandling())
+ .setVolume(selectedRoute.getVolume())
+ .setVolumeMax(selectedRoute.getVolumeMax());
+
+ Messenger messenger = new Messenger(new IncomingHandler(this, sessionId));
+ mMessengers.put(sessionId, messenger);
+
+ Bundle controlHints = new Bundle();
+ controlHints.putBinder(KEY_MESSENGER_BINDER, messenger.getBinder());
+ builder.setControlHints(controlHints).build();
+
+ // Dynamic grouping info will be notified by the provider.
+ RoutingSessionInfo sessionInfo = builder.build();
+ notifySessionCreated(requestId, sessionInfo);
+
+ ClientRecord client = mServiceImpl.getClientForPackageName(packageName);
+ if (client == null) {
+ return;
+ }
+ int controllerId = mNextControllerId.getAndIncrement();
+ mSessionIdMap.put(controllerId, sessionId);
+ client.sendDynamicRouteControllerCreatedWithoutRequest(mProviderDescriptor,
+ controller, controllerId, routeId);
+ }
+
+ @Override
+ public void onReleaseSession(long requestId, @NonNull String sessionId) {
+ RoutingSessionInfo sessionInfo = getSessionInfo(sessionId);
+ if (sessionInfo == null) {
+ return;
+ }
+ DynamicGroupRouteController controller;
+ synchronized (mLock) {
+ controller = mControllers.remove(sessionId);
+ mMessengers.remove(sessionId);
+ }
+ if (controller == null) {
+ Log.w(TAG, "onReleaseSession: Couldn't find a controller");
+ notifyRequestFailed(requestId, REASON_INVALID_COMMAND);
+ return;
+ }
+ controller.onUnselect();
+ controller.onRelease();
+ notifySessionReleased(sessionId);
+ }
+
+ @Override
+ public void onSelectRoute(long requestId, @NonNull String sessionId,
+ @NonNull String routeId) {
+ RoutingSessionInfo sessionInfo = getSessionInfo(sessionId);
+ if (sessionInfo == null) {
+ Log.w(TAG, "onSelectRoute: Couldn't find a session");
+ notifyRequestFailed(requestId, REASON_INVALID_COMMAND);
+ return;
+ }
+ if (getRouteDescriptor(routeId, "onSelectRoute") == null) {
+ notifyRequestFailed(requestId, REASON_ROUTE_NOT_AVAILABLE);
+ return;
+ }
+
+ DynamicGroupRouteController controller = getController(sessionId);
+ if (controller == null) {
+ Log.w(TAG, "onSelectRoute: Couldn't find a controller");
+ notifyRequestFailed(requestId, REASON_ROUTE_NOT_AVAILABLE);
+ return;
+ }
+ controller.onAddMemberRoute(routeId);
+ }
+
+ @Override
+ public void onDeselectRoute(long requestId, @NonNull String sessionId,
+ @NonNull String routeId) {
+ RoutingSessionInfo sessionInfo = getSessionInfo(sessionId);
+ if (sessionInfo == null) {
+ Log.w(TAG, "onDeselectRoute: Couldn't find a session");
+ notifyRequestFailed(requestId, REASON_INVALID_COMMAND);
+ return;
+ }
+ if (getRouteDescriptor(routeId, "onDeselectRoute") == null) {
+ notifyRequestFailed(requestId, REASON_ROUTE_NOT_AVAILABLE);
+ return;
+ }
+
+ DynamicGroupRouteController controller = getController(sessionId);
+ if (controller == null) {
+ Log.w(TAG, "onDeselectRoute: Couldn't find a controller");
+ notifyRequestFailed(requestId, REASON_ROUTE_NOT_AVAILABLE);
+ return;
+ }
+ controller.onRemoveMemberRoute(routeId);
+ }
+
+ @Override
+ public void onTransferToRoute(long requestId, @NonNull String sessionId,
+ @NonNull String routeId) {
+ RoutingSessionInfo sessionInfo = getSessionInfo(sessionId);
+ if (sessionInfo == null) {
+ Log.w(TAG, "onTransferToRoute: Couldn't find a session");
+ notifyRequestFailed(requestId, REASON_INVALID_COMMAND);
+ return;
+ }
+ if (getRouteDescriptor(routeId, "onTransferToRoute") == null) {
+ notifyRequestFailed(requestId, REASON_ROUTE_NOT_AVAILABLE);
+ return;
+ }
+
+ DynamicGroupRouteController controller = getController(sessionId);
+ if (controller == null) {
+ Log.w(TAG, "onTransferToRoute: Couldn't find a controller");
+ notifyRequestFailed(requestId, REASON_ROUTE_NOT_AVAILABLE);
+ return;
+ }
+ controller.onUpdateMemberRoutes(Collections.singletonList(routeId));
+ }
+
+ @Override
+ public void onDiscoveryPreferenceChanged(@NonNull RouteDiscoveryPreference preference) {
+ MediaRouteSelector selector = new MediaRouteSelector.Builder()
+ .addControlCategories(preference.getPreferredFeatures().stream()
+ .map(MediaRouter2Utils::toControlCategory)
+ .collect(Collectors.toList())).build();
+ mServiceImpl.setBaseDiscoveryRequest(new MediaRouteDiscoveryRequest(selector,
+ preference.shouldPerformActiveScan()));
+ }
+
+ public void setProviderDescriptor(@Nullable MediaRouteProviderDescriptor descriptor) {
+ mProviderDescriptor = descriptor;
+ List<MediaRouteDescriptor> routeDescriptors =
+ (descriptor == null) ? Collections.emptyList() : descriptor.getRoutes();
+ // Handle duplicated IDs
+ notifyRoutes(routeDescriptors.stream().map(MediaRouter2Utils::toFwkMediaRoute2Info)
+ .collect(Collectors.toMap(r -> r.getId(), r -> r, (a, b) -> b)).values());
+ }
+
+ private DynamicGroupRouteController getController(String sessionId) {
+ synchronized (mLock) {
+ return mControllers.get(sessionId);
+ }
+ }
+
+ private MediaRouteDescriptor getRouteDescriptor(String routeId, String description) {
+ MediaRouteProvider provider = getMediaRouteProvider();
+ if (provider == null || mProviderDescriptor == null) {
+ Log.w(TAG, description + ": no provider info");
+ return null;
+ }
+
+ List<MediaRouteDescriptor> routes = mProviderDescriptor.getRoutes();
+ for (MediaRouteDescriptor route : routes) {
+ if (TextUtils.equals(route.getId(), routeId)) {
+ return route;
+ }
+ }
+ Log.w(TAG, description + ": Couldn't find a route : " + routeId);
+ return null;
+ }
+
+ public void setDynamicRouteDescriptor(DynamicGroupRouteController controller,
+ Collection<DynamicRouteDescriptor> descriptors) {
+ String sessionId = null;
+ synchronized (mLock) {
+ for (Map.Entry<String, DynamicGroupRouteController> entry : mControllers.entrySet()) {
+ if (entry.getValue() == controller) {
+ sessionId = entry.getKey();
+ break;
+ }
+ }
+ }
+ if (sessionId == null) {
+ Log.w(TAG, "setDynamicRouteDescriptor: Couldn't find a routing session");
+ return;
+ }
+ RoutingSessionInfo sessionInfo = getSessionInfo(sessionId);
+ if (sessionInfo == null) {
+ Log.w(TAG, "setDynamicRouteDescriptor: Couldn't find a routing session");
+ return;
+ }
+
+ RoutingSessionInfo.Builder builder = new RoutingSessionInfo.Builder(sessionInfo)
+ .clearSelectedRoutes()
+ .clearSelectableRoutes()
+ .clearDeselectableRoutes()
+ .clearTransferableRoutes();
+
+ boolean hasSelectedRoute = false;
+
+ for (DynamicRouteDescriptor descriptor : descriptors) {
+ String routeId = descriptor.getRouteDescriptor().getId();
+ if (descriptor.mSelectionState == DynamicRouteDescriptor.SELECTING
+ || descriptor.mSelectionState == DynamicRouteDescriptor.SELECTED) {
+ builder.addSelectedRoute(routeId);
+ hasSelectedRoute = true;
+ }
+ if (descriptor.isGroupable()) {
+ builder.addSelectableRoute(routeId);
+ }
+ if (descriptor.isUnselectable()) {
+ builder.addDeselectableRoute(routeId);
+ }
+ if (descriptor.isTransferable()) {
+ builder.addTransferableRoute(routeId);
+ }
+ }
+
+ // This can happen when a new dynamic route controller is just created.
+ if (!hasSelectedRoute) {
+ List<String> selectedRoutes = sessionInfo.getSelectedRoutes();
+ for (String routeId : selectedRoutes) {
+ builder.addSelectedRoute(routeId);
+ }
+ }
+ notifySessionUpdated(builder.build());
+ }
+
+ //TODO: Remove this
+ void onControlRequest(Messenger messenger, int requestId, String sessionId,
+ Intent intent) {
+ RoutingSessionInfo sessionInfo = getSessionInfo(sessionId);
+ if (sessionInfo == null) {
+ Log.w(TAG, "onCustomCommand: Couldn't find a session");
+ return;
+ }
+
+ DynamicGroupRouteController controller = getController(sessionId);
+ if (controller == null) {
+ Log.w(TAG, "onControlRequest: Couldn't find a controller");
+ notifyRequestFailed(requestId, REASON_ROUTE_NOT_AVAILABLE);
+ return;
+ }
+
+ MediaRouter.ControlRequestCallback callback = new MediaRouter.ControlRequestCallback() {
+ @Override
+ public void onResult(Bundle data) {
+ if (DEBUG) {
+ Log.d(TAG, "Route control request succeeded"
+ + ", sessionId=" + sessionId
+ + ", intent=" + intent
+ + ", data=" + data);
+ }
+
+ sendReply(messenger, SERVICE_MSG_CONTROL_REQUEST_SUCCEEDED,
+ requestId, 0, data, null);
+ }
+
+ @Override
+ public void onError(String error, Bundle data) {
+ if (DEBUG) {
+ Log.d(TAG, "Route control request failed"
+ + ", sessionId=" + sessionId
+ + ", intent=" + intent
+ + ", error=" + error + ", data=" + data);
+ }
+ if (error != null) {
+ Bundle bundle = new Bundle();
+ bundle.putString(SERVICE_DATA_ERROR, error);
+ sendReply(messenger, SERVICE_MSG_CONTROL_REQUEST_FAILED,
+ requestId, 0, data, bundle);
+ } else {
+ sendReply(messenger, SERVICE_MSG_CONTROL_REQUEST_FAILED,
+ requestId, 0, data, null);
+ }
+ }
+
+ void sendReply(Messenger messenger, int what,
+ int requestId, int arg, Object obj, Bundle data) {
+ Message msg = Message.obtain();
+ msg.what = what;
+ msg.arg1 = requestId;
+ msg.arg2 = arg;
+ msg.obj = obj;
+ msg.setData(data);
+ try {
+ messenger.send(msg);
+ } catch (DeadObjectException ex) {
+ // The client died.
+ } catch (RemoteException ex) {
+ Log.e(TAG, "Could not send message to the client.", ex);
+ }
+ }
+ };
+
+ controller.onControlRequest(intent, callback);
+ }
+
+ void addRouteController(MediaRouteProvider.RouteController routeController,
+ int controllerId, String packageName, String routeId) {
+ MediaRouteDescriptor descriptor = getRouteDescriptor(routeId, "addRouteController");
+ if (descriptor == null) {
+ return;
+ }
+
+ DynamicGroupRouteController controller;
+ if (routeController instanceof DynamicGroupRouteController) {
+ controller = (DynamicGroupRouteController) routeController;
+ } else {
+ controller = new DynamicGroupRouteControllerProxy(routeController);
+ }
+
+ String sessionId = assignSessionId(controller);
+ mSessionIdMap.put(controllerId, sessionId);
+
+ RoutingSessionInfo.Builder builder =
+ new RoutingSessionInfo.Builder(sessionId, packageName)
+ .addSelectedRoute(routeId)
+ .setName(descriptor.getName())
+ .setVolumeHandling(descriptor.getVolumeHandling())
+ .setVolume(descriptor.getVolume())
+ .setVolumeMax(descriptor.getVolumeMax());
+
+ RoutingSessionInfo sessionInfo = builder.build();
+ notifySessionCreated(REQUEST_ID_NONE, sessionInfo);
+ }
+
+ void removeRouteController(int controllerId) {
+ String sessionId = mSessionIdMap.get(controllerId);
+ if (sessionId == null) {
+ return;
+ }
+ mSessionIdMap.remove(controllerId);
+
+ synchronized (mLock) {
+ mControllers.remove(sessionId);
+ notifySessionReleased(sessionId);
+ }
+ }
+
+ private MediaRouteProvider getMediaRouteProvider() {
+ MediaRouteProviderService service = mServiceImpl.getService();
+ if (service == null) {
+ return null;
+ }
+ return service.getMediaRouteProvider();
+ }
+
+ private String assignSessionId(DynamicGroupRouteController controller) {
+ String sessionId;
+ synchronized (mLock) {
+ do {
+ //TODO: Consider a better way to create a session ID.
+ sessionId = UUID.randomUUID().toString();
+ } while (mControllers.containsKey(sessionId));
+ mControllers.put(sessionId, controller);
+ }
+ return sessionId;
+ }
+
+ private static class DynamicGroupRouteControllerProxy
+ extends DynamicGroupRouteController {
+ private final MediaRouteProvider.RouteController mRouteController;
+
+ DynamicGroupRouteControllerProxy(MediaRouteProvider.RouteController routeController) {
+ mRouteController = routeController;
+ }
+
+ @Override
+ public void onRelease() {
+ mRouteController.onRelease();
+ }
+
+ @Override
+ public void onSelect() {
+ mRouteController.onSelect();
+ }
+
+ @Override
+ public void onUnselect() {
+ mRouteController.onUnselect();
+ }
+
+ @Override
+ public void onUnselect(int reason) {
+ mRouteController.onUnselect(reason);
+ }
+
+ @Override
+ public void onSetVolume(int volume) {
+ mRouteController.onSetVolume(volume);
+ }
+
+ @Override
+ public void onUpdateVolume(int delta) {
+ mRouteController.onUpdateVolume(delta);
+ }
+
+ @Override
+ public boolean onControlRequest(Intent intent,
+ MediaRouter.ControlRequestCallback callback) {
+ return mRouteController.onControlRequest(intent, callback);
+ }
+
+ @Override
+ public void onUpdateMemberRoutes(@Nullable List<String> routeIds) {
+ // Do nothing.
+ }
+
+ @Override
+ public void onAddMemberRoute(@NonNull String routeId) {
+ // Do nothing.
+ }
+
+ @Override
+ public void onRemoveMemberRoute(String routeId) {
+ // Do nothing.
+ }
+ }
+
+ //TODO: Remove this and use the existing messenger
+ static class IncomingHandler extends Handler {
+ private final MediaRoute2ProviderServiceAdapter mServiceAdapter;
+ private final String mSessionId;
+
+ IncomingHandler(MediaRoute2ProviderServiceAdapter serviceAdapter, String sessionId) {
+ super(Looper.myLooper());
+ mServiceAdapter = serviceAdapter;
+ mSessionId = sessionId;
+ }
+
+ @Override
+ public void handleMessage(Message msg) {
+ final Messenger messenger = msg.replyTo;
+ final int what = msg.what;
+ final int requestId = msg.arg1;
+ final Object obj = msg.obj;
+
+ switch (what) {
+ case CLIENT_MSG_ROUTE_CONTROL_REQUEST:
+ if (obj instanceof Intent) {
+ mServiceAdapter.onControlRequest(messenger, requestId,
+ mSessionId, (Intent) obj);
+ }
+ break;
+ }
+ }
+ }
+}
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteDescriptor.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteDescriptor.java
index 57c9db4..a874c89 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteDescriptor.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteDescriptor.java
@@ -17,6 +17,7 @@
import static androidx.annotation.RestrictTo.Scope.LIBRARY;
+import android.annotation.SuppressLint;
import android.content.IntentFilter;
import android.content.IntentSender;
import android.net.Uri;
@@ -438,6 +439,20 @@
}
/**
+ * Clears the group member IDs of the route.
+ * @hide
+ */
+ @RestrictTo(LIBRARY)
+ public Builder clearGroupMemberIds() {
+ if (mGroupMemberIds == null) {
+ mGroupMemberIds = new ArrayList<>();
+ } else {
+ mGroupMemberIds.clear();
+ }
+ return this;
+ }
+
+ /**
* Adds a group member id of the route.
* <p>
* A route descriptor that has one or more group member route ids
@@ -745,6 +760,7 @@
/**
* Builds the {@link MediaRouteDescriptor media route descriptor}.
*/
+ @SuppressLint("UnknownNullness")
public MediaRouteDescriptor build() {
if (mControlFilters != null) {
mBundle.putParcelableArrayList(KEY_CONTROL_FILTERS, mControlFilters);
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProvider.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProvider.java
index f201ba4..a714aa7 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProvider.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProvider.java
@@ -258,6 +258,13 @@
}
}
+ void deliverDynamicGroupRouteControllerCreatedWithoutRequest(
+ DynamicGroupRouteController controller, String routeId) {
+ if (mCallback != null) {
+ mCallback.onDynamicGroupRouteControllerCreatedWithoutRequest(this, controller, routeId);
+ }
+ }
+
/**
* Called by the media router to obtain a route controller for a particular route.
* <p>
@@ -642,6 +649,8 @@
*/
public static final int SELECTED = 3;
+ //TODO: mMediaRouteDescriptor could have an old info. We should provide a way to
+ // update it or use only the route ID.
final MediaRouteDescriptor mMediaRouteDescriptor;
@SelectionState
final int mSelectionState;
@@ -825,6 +834,21 @@
public void onDescriptorChanged(@NonNull MediaRouteProvider provider,
@Nullable MediaRouteProviderDescriptor descriptor) {
}
+
+ /**
+ * Called when a dynamic route controller is created without any request.
+ *
+ * @param provider The media route provider that created this controller, never null.
+ * @param controller the newly created controller
+ * @param routeId the non-unique ID of the route which is sent from the provider.
+ * @hide
+ */
+ @RestrictTo(LIBRARY)
+ public void onDynamicGroupRouteControllerCreatedWithoutRequest(
+ @NonNull MediaRouteProvider provider,
+ @NonNull DynamicGroupRouteController controller,
+ @NonNull String routeId) {
+ }
}
private final class ProviderHandler extends Handler {
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProviderProtocol.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProviderProtocol.java
index 87389c8..ec1ff3a 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProviderProtocol.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProviderProtocol.java
@@ -160,6 +160,10 @@
public static final String CLIENT_DATA_UNSELECT_REASON = "unselectReason";
public static final String CLIENT_DATA_MEMBER_ROUTE_IDS = "memberRouteIds";
public static final String CLIENT_DATA_MEMBER_ROUTE_ID = "memberRouteId";
+ public static final String CLIENT_DATA_PROVIDER_DESCRIPTOR = "providerDescriptor";
+ public static final String CLIENT_DATA_CONTROLLER_INFO = "controllerInfo";
+ public static final String CLIENT_DATA_CONTROLLER_ID = "controllerId";
+
public static final String DATA_KEY_GROUPABLE_SECION_TITLE = "groupableTitle";
public static final String DATA_KEY_TRANSFERABLE_SECTION_TITLE = "transferableTitle";
public static final String DATA_KEY_DYNAMIC_ROUTE_DESCRIPTORS = "dynamicRoutes";
@@ -223,7 +227,7 @@
public static final int SERVICE_MSG_DYNAMIC_ROUTE_CREATED = 6;
/** (service v2)
- * Dynamic route controller created. Sends back related data.
+ * Dynamic route descriptors changed. (unsolicited event)
* - arg1 : reserved (0)
* - arg2 : controllerId
* - obj : bundle
@@ -231,6 +235,21 @@
*/
public static final int SERVICE_MSG_DYNAMIC_ROUTE_DESCRIPTORS_CHANGED = 7;
+ /** (service v3)
+ * Dynamic route controller created without any request. (unsolicited event)
+ * - arg1 : reserved (0)
+ * - arg2 : service version
+ * - obj : bundle
+ * - CLIENT_DATA_PROVIDER_DESCRIPTOR: (bundle) provider descriptor bundle.
+ * - CLIENT_DATA_CONTROLLER_INFO: (bundle) Information of the new controller which
+ * includes following items:
+ * - CLIENT_DATA_ROUTE_ID: (string) dynamic group route id
+ * - CLIENT_DATA_CONTROLLER_ID: (int) the controller id
+ * - DATA_KEY_GROUPABLE_SECION_TITLE: (string) groupable section title
+ * - DATA_KEY_TRANSFERABLE_SECTION_TITLE: (string) transferable section title
+ */
+ public static final int SERVICE_MSG_DYNAMIC_ROUTE_CREATED_WITHOUT_REQUEST = 8;
+
public static final String SERVICE_DATA_ERROR = "error";
/*
@@ -254,9 +273,15 @@
public static final int CLIENT_VERSION_3 = 3;
/**
+ * The client version used from androidx 1.2.0.
+ * From this version, framework MediaRouter2 is used to support transfer.
+ */
+ public static final int CLIENT_VERSION_4 = 4;
+
+ /**
* The current client version.
*/
- public static final int CLIENT_VERSION_CURRENT = CLIENT_VERSION_3;
+ public static final int CLIENT_VERSION_CURRENT = CLIENT_VERSION_4;
/*
* Recognized server version numbers. (Reserved for future use.)
@@ -272,10 +297,17 @@
* The service version used from androidx 1.0.0.
*/
public static final int SERVICE_VERSION_2 = 2;
+
+ /**
+ * The service version used from androidx 1.2.0.
+ * From this version, framework MediaRoute2ProviderService is used to support transfer.
+ */
+ public static final int SERVICE_VERSION_3 = 3;
+
/**
* The current service version.
*/
- public static final int SERVICE_VERSION_CURRENT = SERVICE_VERSION_2;
+ public static final int SERVICE_VERSION_CURRENT = SERVICE_VERSION_3;
static final int CLIENT_VERSION_START = CLIENT_VERSION_1;
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProviderService.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProviderService.java
index e2a7848..f788add 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProviderService.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteProviderService.java
@@ -16,55 +16,51 @@
package androidx.mediarouter.media;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_CONTROLLER_ID;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_CONTROLLER_INFO;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_MEMBER_ROUTE_ID;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_MEMBER_ROUTE_IDS;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_PROVIDER_DESCRIPTOR;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_ROUTE_ID;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_ROUTE_LIBRARY_GROUP;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_UNSELECT_REASON;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_VOLUME;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_ADD_MEMBER_ROUTE;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .CLIENT_MSG_CREATE_DYNAMIC_GROUP_ROUTE_CONTROLLER;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .CLIENT_MSG_CREATE_ROUTE_CONTROLLER;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_CREATE_DYNAMIC_GROUP_ROUTE_CONTROLLER;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_CREATE_ROUTE_CONTROLLER;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_REGISTER;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .CLIENT_MSG_RELEASE_ROUTE_CONTROLLER;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_RELEASE_ROUTE_CONTROLLER;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_REMOVE_MEMBER_ROUTE;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .CLIENT_MSG_ROUTE_CONTROL_REQUEST;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_ROUTE_CONTROL_REQUEST;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_SELECT_ROUTE;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .CLIENT_MSG_SET_DISCOVERY_REQUEST;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_SET_DISCOVERY_REQUEST;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_SET_ROUTE_VOLUME;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_UNREGISTER;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_UNSELECT_ROUTE;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_UPDATE_MEMBER_ROUTES;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_UPDATE_ROUTE_VOLUME;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_VERSION_1;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .DATA_KEY_DYNAMIC_ROUTE_DESCRIPTORS;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.DATA_KEY_DYNAMIC_ROUTE_DESCRIPTORS;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.DATA_KEY_GROUPABLE_SECION_TITLE;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .DATA_KEY_TRANSFERABLE_SECTION_TITLE;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.DATA_KEY_TRANSFERABLE_SECTION_TITLE;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_DATA_ERROR;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .SERVICE_MSG_CONTROL_REQUEST_FAILED;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .SERVICE_MSG_CONTROL_REQUEST_SUCCEEDED;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_CONTROL_REQUEST_FAILED;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_CONTROL_REQUEST_SUCCEEDED;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_DESCRIPTOR_CHANGED;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .SERVICE_MSG_DYNAMIC_ROUTE_CREATED;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .SERVICE_MSG_DYNAMIC_ROUTE_DESCRIPTORS_CHANGED;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_DYNAMIC_ROUTE_CREATED;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_DYNAMIC_ROUTE_CREATED_WITHOUT_REQUEST;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_DYNAMIC_ROUTE_DESCRIPTORS_CHANGED;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_GENERIC_FAILURE;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_GENERIC_SUCCESS;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_REGISTERED;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_VERSION_CURRENT;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.isValidRemoteMessenger;
+import android.annotation.SuppressLint;
import android.app.Service;
+import android.content.Context;
import android.content.Intent;
+import android.os.Build;
import android.os.Bundle;
import android.os.DeadObjectException;
import android.os.Handler;
@@ -73,14 +69,18 @@
import android.os.Message;
import android.os.Messenger;
import android.os.RemoteException;
+import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
import androidx.annotation.NonNull;
+import androidx.annotation.RequiresApi;
import androidx.annotation.VisibleForTesting;
import androidx.core.content.ContextCompat;
+import androidx.core.os.BuildCompat;
import androidx.core.util.ObjectsCompat;
import androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController;
+import androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
@@ -117,14 +117,13 @@
static final String TAG = "MediaRouteProviderSrv"; // max. 23 chars
static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
- private final ArrayList<ClientRecord> mClients = new ArrayList<ClientRecord>();
private final ReceiveHandler mReceiveHandler;
- private final Messenger mReceiveMessenger;
+ final Messenger mReceiveMessenger;
final PrivateHandler mPrivateHandler;
- private final ProviderCallback mProviderCallback;
+ private final MediaRouteProvider.Callback mProviderCallback;
MediaRouteProvider mProvider;
- private MediaRouteDiscoveryRequest mCompositeDiscoveryRequest;
+ final MediaRouteProviderServiceImpl mImpl;
/**
* The {@link Intent} that must be declared as handled by the service.
@@ -138,14 +137,57 @@
static final int PRIVATE_MSG_CLIENT_DIED = 1;
+ //TODO: move implementations to the impl class (WIP).
+ interface MediaRouteProviderServiceImpl {
+ IBinder onBind(Intent intent);
+ void attachBaseContext(Context context);
+ void onBinderDied(Messenger messenger);
+ boolean onRegisterClient(Messenger messenger, int requestId, int version,
+ String packageName);
+ boolean onUnregisterClient(Messenger messenger, int requestId);
+ boolean onCreateRouteController(Messenger messenger, int requestId,
+ int controllerId, String routeId, String routeGroupId);
+ boolean onCreateDynamicGroupRouteController(Messenger messenger, int requestId,
+ int controllerId, String initialMemberRouteId);
+ boolean onAddMemberRoute(Messenger messenger, int requestId, int controllerId,
+ String memberId);
+ boolean onRemoveMemberRoute(Messenger messenger, int requestId, int controllerId,
+ String memberId);
+ boolean onUpdateMemberRoutes(Messenger messenger, int requestId, int controllerId,
+ List<String> memberIds);
+ boolean onReleaseRouteController(Messenger messenger, int requestId,
+ int controllerId);
+ boolean onSelectRoute(Messenger messenger, int requestId,
+ int controllerId);
+ boolean onUnselectRoute(Messenger messenger, int requestId,
+ int controllerId, int reason);
+ boolean onSetRouteVolume(Messenger messenger, int requestId,
+ int controllerId, int volume);
+ boolean onUpdateRouteVolume(Messenger messenger, int requestId,
+ int controllerId, int delta);
+ boolean onRouteControlRequest(Messenger messenger, int requestId,
+ int controllerId, Intent intent);
+ boolean onSetDiscoveryRequest(Messenger messenger, int requestId,
+ MediaRouteDiscoveryRequest request);
+ MediaRouteProvider.Callback getProviderCallback();
+ }
+
/**
* Creates a media route provider service.
*/
+ //TODO: Remove SuppressLint when R version is finalized.
+ @SuppressLint("NewApi")
public MediaRouteProviderService() {
mReceiveHandler = new ReceiveHandler(this);
mReceiveMessenger = new Messenger(mReceiveHandler);
mPrivateHandler = new PrivateHandler();
- mProviderCallback = new ProviderCallback();
+
+ if (BuildCompat.isAtLeastR()) {
+ mImpl = new MediaRouteProviderServiceImplApi30(this);
+ } else {
+ mImpl = new MediaRouteProviderServiceImplBase(this);
+ }
+ mProviderCallback = mImpl.getProviderCallback();
}
/**
@@ -156,6 +198,17 @@
*/
public abstract MediaRouteProvider onCreateMediaRouteProvider();
+ @Override
+ public IBinder onBind(Intent intent) {
+ return mImpl.onBind(intent);
+ }
+
+ @Override
+ protected void attachBaseContext(@NonNull Context context) {
+ super.attachBaseContext(context);
+ mImpl.attachBaseContext(context);
+ }
+
/**
* Gets the media route provider offered by this service.
*
@@ -168,358 +221,31 @@
return mProvider;
}
- @Override
- public IBinder onBind(Intent intent) {
- if (intent.getAction().equals(SERVICE_INTERFACE)) {
- if (mProvider == null) {
- MediaRouteProvider provider = onCreateMediaRouteProvider();
- if (provider != null) {
- String providerPackage = provider.getMetadata().getPackageName();
- if (!providerPackage.equals(getPackageName())) {
- throw new IllegalStateException("onCreateMediaRouteProvider() returned "
- + "a provider whose package name does not match the package "
- + "name of the service. A media route provider service can "
- + "only export its own media route providers. "
- + "Provider package name: " + providerPackage
- + ". Service package name: " + getPackageName() + ".");
- }
- mProvider = provider;
- mProvider.setCallback(mProviderCallback);
+ void ensureProvider() {
+ if (mProvider == null) {
+ MediaRouteProvider provider = onCreateMediaRouteProvider();
+ if (provider != null) {
+ String providerPackage = provider.getMetadata().getPackageName();
+ if (!providerPackage.equals(getPackageName())) {
+ throw new IllegalStateException("onCreateMediaRouteProvider() returned "
+ + "a provider whose package name does not match the package "
+ + "name of the service. A media route provider service can "
+ + "only export its own media route providers. "
+ + "Provider package name: " + providerPackage
+ + ". Service package name: " + getPackageName() + ".");
}
- }
- if (mProvider != null) {
- return mReceiveMessenger.getBinder();
+ mProvider = provider;
+ mProvider.setCallback(mProviderCallback);
}
}
- return null;
}
@Override
- public boolean onUnbind(Intent intent) {
+ public void onDestroy() {
if (mProvider != null) {
mProvider.setCallback(null);
}
- return super.onUnbind(intent);
- }
-
- boolean onRegisterClient(Messenger messenger, int requestId, int version) {
- if (version >= CLIENT_VERSION_1) {
- int index = findClient(messenger);
- if (index < 0) {
- ClientRecord client = new ClientRecord(messenger, version);
- if (client.register()) {
- mClients.add(client);
- if (DEBUG) {
- Log.d(TAG, client + ": Registered, version=" + version);
- }
- if (requestId != 0) {
- MediaRouteProviderDescriptor descriptor = mProvider.getDescriptor();
- sendReply(messenger, SERVICE_MSG_REGISTERED,
- requestId, SERVICE_VERSION_CURRENT,
- createDescriptorBundleForClientVersion(descriptor,
- client.mVersion), null);
- }
- return true;
- }
- }
- }
- return false;
- }
-
- boolean onUnregisterClient(Messenger messenger, int requestId) {
- int index = findClient(messenger);
- if (index >= 0) {
- ClientRecord client = mClients.remove(index);
- if (DEBUG) {
- Log.d(TAG, client + ": Unregistered");
- }
- client.dispose();
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- return false;
- }
-
- void onBinderDied(Messenger messenger) {
- int index = findClient(messenger);
- if (index >= 0) {
- ClientRecord client = mClients.remove(index);
- if (DEBUG) {
- Log.d(TAG, client + ": Binder died");
- }
- client.dispose();
- }
- }
-
- boolean onCreateRouteController(Messenger messenger, int requestId,
- int controllerId, String routeId, String routeGroupId) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- if (client.createRouteController(routeId, routeGroupId, controllerId)) {
- if (DEBUG) {
- Log.d(TAG, client + ": Route controller created, controllerId=" + controllerId
- + ", routeId=" + routeId + ", routeGroupId=" + routeGroupId);
- }
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- }
- return false;
- }
-
- boolean onCreateDynamicGroupRouteController(Messenger messenger, int requestId,
- int controllerId, String initialMemberRouteId) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- Bundle bundle = client.createDynamicGroupRouteController(
- initialMemberRouteId, controllerId);
- if (bundle != null) {
- if (DEBUG) {
- Log.d(TAG, client + ": Route controller created, controllerId=" + controllerId
- + ", initialMemberRouteId=" + initialMemberRouteId);
- }
- sendReply(messenger, SERVICE_MSG_DYNAMIC_ROUTE_CREATED,
- requestId, SERVICE_VERSION_CURRENT,
- bundle, null);
- return true;
- }
- }
- return false;
- }
-
- boolean onAddMemberRoute(Messenger messenger, int requestId, int controllerId,
- String memberId) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- MediaRouteProvider.RouteController controller = client.getRouteController(controllerId);
- if (controller instanceof MediaRouteProvider.DynamicGroupRouteController) {
- ((MediaRouteProvider.DynamicGroupRouteController) controller)
- .onAddMemberRoute(memberId);
- if (DEBUG) {
- Log.d(TAG, client + ": Added a member route"
- + ", controllerId=" + controllerId + ", memberId=" + memberId);
- }
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- }
- return false;
- }
-
- boolean onRemoveMemberRoute(Messenger messenger, int requestId, int controllerId,
- String memberId) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- MediaRouteProvider.RouteController controller = client.getRouteController(controllerId);
- if (controller instanceof MediaRouteProvider.DynamicGroupRouteController) {
- ((MediaRouteProvider.DynamicGroupRouteController) controller)
- .onRemoveMemberRoute(memberId);
- if (DEBUG) {
- Log.d(TAG, client + ": Removed a member route"
- + ", controllerId=" + controllerId + ", memberId=" + memberId);
- }
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- }
- return false;
- }
-
- boolean onUpdateMemberRoutes(Messenger messenger, int requestId, int controllerId,
- List<String> memberIds) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- MediaRouteProvider.RouteController controller = client.getRouteController(controllerId);
- if (controller instanceof MediaRouteProvider.DynamicGroupRouteController) {
- ((MediaRouteProvider.DynamicGroupRouteController) controller)
- .onUpdateMemberRoutes(memberIds);
- if (DEBUG) {
- Log.d(TAG, client + ": Updated list of member routes"
- + ", controllerId=" + controllerId + ", memberIds=" + memberIds);
- }
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- }
- return false;
- }
-
- boolean onReleaseRouteController(Messenger messenger, int requestId,
- int controllerId) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- if (client.releaseRouteController(controllerId)) {
- if (DEBUG) {
- Log.d(TAG, client + ": Route controller released"
- + ", controllerId=" + controllerId);
- }
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- }
- return false;
- }
-
- boolean onSelectRoute(Messenger messenger, int requestId,
- int controllerId) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- MediaRouteProvider.RouteController controller =
- client.getRouteController(controllerId);
- if (controller != null) {
- controller.onSelect();
- if (DEBUG) {
- Log.d(TAG, client + ": Route selected"
- + ", controllerId=" + controllerId);
- }
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- }
- return false;
- }
-
- boolean onUnselectRoute(Messenger messenger, int requestId,
- int controllerId, int reason) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- MediaRouteProvider.RouteController controller =
- client.getRouteController(controllerId);
- if (controller != null) {
- controller.onUnselect(reason);
- if (DEBUG) {
- Log.d(TAG, client + ": Route unselected"
- + ", controllerId=" + controllerId);
- }
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- }
- return false;
- }
-
- boolean onSetRouteVolume(Messenger messenger, int requestId,
- int controllerId, int volume) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- MediaRouteProvider.RouteController controller =
- client.getRouteController(controllerId);
- if (controller != null) {
- controller.onSetVolume(volume);
- if (DEBUG) {
- Log.d(TAG, client + ": Route volume changed"
- + ", controllerId=" + controllerId + ", volume=" + volume);
- }
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- }
- return false;
- }
-
- boolean onUpdateRouteVolume(Messenger messenger, int requestId,
- int controllerId, int delta) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- MediaRouteProvider.RouteController controller =
- client.getRouteController(controllerId);
- if (controller != null) {
- controller.onUpdateVolume(delta);
- if (DEBUG) {
- Log.d(TAG, client + ": Route volume updated"
- + ", controllerId=" + controllerId + ", delta=" + delta);
- }
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- }
- return false;
- }
-
- boolean onRouteControlRequest(final Messenger messenger, final int requestId,
- final int controllerId, final Intent intent) {
- final ClientRecord client = getClient(messenger);
- if (client != null) {
- MediaRouteProvider.RouteController controller =
- client.getRouteController(controllerId);
- if (controller != null) {
- MediaRouter.ControlRequestCallback callback = null;
- if (requestId != 0) {
- callback = new MediaRouter.ControlRequestCallback() {
- @Override
- public void onResult(Bundle data) {
- if (DEBUG) {
- Log.d(TAG, client + ": Route control request succeeded"
- + ", controllerId=" + controllerId
- + ", intent=" + intent
- + ", data=" + data);
- }
- if (findClient(messenger) >= 0) {
- sendReply(messenger, SERVICE_MSG_CONTROL_REQUEST_SUCCEEDED,
- requestId, 0, data, null);
- }
- }
-
- @Override
- public void onError(String error, Bundle data) {
- if (DEBUG) {
- Log.d(TAG, client + ": Route control request failed"
- + ", controllerId=" + controllerId
- + ", intent=" + intent
- + ", error=" + error + ", data=" + data);
- }
- if (findClient(messenger) >= 0) {
- if (error != null) {
- Bundle bundle = new Bundle();
- bundle.putString(SERVICE_DATA_ERROR, error);
- sendReply(messenger, SERVICE_MSG_CONTROL_REQUEST_FAILED,
- requestId, 0, data, bundle);
- } else {
- sendReply(messenger, SERVICE_MSG_CONTROL_REQUEST_FAILED,
- requestId, 0, data, null);
- }
- }
- }
- };
- }
- if (controller.onControlRequest(intent, callback)) {
- if (DEBUG) {
- Log.d(TAG, client + ": Route control request delivered"
- + ", controllerId=" + controllerId + ", intent=" + intent);
- }
- return true;
- }
- }
- }
- return false;
- }
-
- boolean onSetDiscoveryRequest(Messenger messenger, int requestId,
- MediaRouteDiscoveryRequest request) {
- ClientRecord client = getClient(messenger);
- if (client != null) {
- boolean actuallyChanged = client.setDiscoveryRequest(request);
- if (DEBUG) {
- Log.d(TAG, client + ": Set discovery request, request=" + request
- + ", actuallyChanged=" + actuallyChanged
- + ", compositeDiscoveryRequest=" + mCompositeDiscoveryRequest);
- }
- sendGenericSuccess(messenger, requestId);
- return true;
- }
- return false;
- }
-
- void sendDescriptorChanged(MediaRouteProviderDescriptor descriptor) {
- final int count = mClients.size();
- for (int i = 0; i < count; i++) {
- ClientRecord client = mClients.get(i);
- sendReply(client.mMessenger, SERVICE_MSG_DESCRIPTOR_CHANGED, 0, 0,
- createDescriptorBundleForClientVersion(descriptor, client.mVersion), null);
- if (DEBUG) {
- Log.d(TAG, client + ": Sent descriptor change event, descriptor=" + descriptor);
- }
- }
+ super.onDestroy();
}
@VisibleForTesting
@@ -540,52 +266,6 @@
return builder.build().asBundle();
}
- boolean updateCompositeDiscoveryRequest() {
- MediaRouteDiscoveryRequest composite = null;
- MediaRouteSelector.Builder selectorBuilder = null;
- boolean activeScan = false;
- final int count = mClients.size();
- for (int i = 0; i < count; i++) {
- MediaRouteDiscoveryRequest request = mClients.get(i).mDiscoveryRequest;
- if (request != null
- && (!request.getSelector().isEmpty() || request.isActiveScan())) {
- activeScan |= request.isActiveScan();
- if (composite == null) {
- composite = request;
- } else {
- if (selectorBuilder == null) {
- selectorBuilder = new MediaRouteSelector.Builder(composite.getSelector());
- }
- selectorBuilder.addSelector(request.getSelector());
- }
- }
- }
- if (selectorBuilder != null) {
- composite = new MediaRouteDiscoveryRequest(selectorBuilder.build(), activeScan);
- }
- if (!ObjectsCompat.equals(mCompositeDiscoveryRequest, composite)) {
- mCompositeDiscoveryRequest = composite;
- mProvider.setDiscoveryRequest(composite);
- return true;
- }
- return false;
- }
-
- private ClientRecord getClient(Messenger messenger) {
- int index = findClient(messenger);
- return index >= 0 ? mClients.get(index) : null;
- }
-
- int findClient(Messenger messenger) {
- final int count = mClients.size();
- for (int i = 0; i < count; i++) {
- ClientRecord client = mClients.get(i);
- if (client.hasMessenger(messenger)) {
- return i;
- }
- }
- return -1;
- }
static void sendGenericFailure(Messenger messenger, int requestId) {
if (requestId != 0) {
@@ -593,7 +273,7 @@
}
}
- private static void sendGenericSuccess(Messenger messenger, int requestId) {
+ static void sendGenericSuccess(Messenger messenger, int requestId) {
if (requestId != 0) {
sendReply(messenger, SERVICE_MSG_GENERIC_SUCCESS, requestId, 0, null, null);
}
@@ -628,164 +308,12 @@
public void handleMessage(Message msg) {
switch (msg.what) {
case PRIVATE_MSG_CLIENT_DIED:
- onBinderDied((Messenger)msg.obj);
+ mImpl.onBinderDied((Messenger) msg.obj);
break;
}
}
}
- private final class ProviderCallback extends MediaRouteProvider.Callback {
- ProviderCallback() {
- }
-
- @Override
- public void onDescriptorChanged(@NonNull MediaRouteProvider provider,
- MediaRouteProviderDescriptor descriptor) {
- sendDescriptorChanged(descriptor);
- }
- }
-
- private final class ClientRecord implements DeathRecipient {
- public final Messenger mMessenger;
- public final int mVersion;
- public MediaRouteDiscoveryRequest mDiscoveryRequest;
-
- private final SparseArray<MediaRouteProvider.RouteController> mControllers =
- new SparseArray<MediaRouteProvider.RouteController>();
-
- final DynamicGroupRouteController.OnDynamicRoutesChangedListener
- mDynamicRoutesChangedListener =
- new DynamicGroupRouteController.OnDynamicRoutesChangedListener() {
- @Override
- public void onRoutesChanged(
- @NonNull DynamicGroupRouteController controller,
- @NonNull Collection<DynamicGroupRouteController.DynamicRouteDescriptor>
- routes) {
- sendDynamicRouteDescriptors(controller, routes);
- }
- };
-
- public ClientRecord(Messenger messenger, int version) {
- mMessenger = messenger;
- mVersion = version;
- }
-
- public boolean register() {
- try {
- mMessenger.getBinder().linkToDeath(this, 0);
- return true;
- } catch (RemoteException ex) {
- binderDied();
- }
- return false;
- }
-
- public void dispose() {
- int count = mControllers.size();
- for (int i = 0; i < count; i++) {
- mControllers.valueAt(i).onRelease();
- }
- mControllers.clear();
-
- mMessenger.getBinder().unlinkToDeath(this, 0);
-
- setDiscoveryRequest(null);
- }
-
- public boolean hasMessenger(Messenger other) {
- return mMessenger.getBinder() == other.getBinder();
- }
-
- public boolean createRouteController(String routeId, String routeGroupId,
- int controllerId) {
- if (mControllers.indexOfKey(controllerId) < 0) {
- MediaRouteProvider.RouteController controller = routeGroupId == null
- ? mProvider.onCreateRouteController(routeId)
- : mProvider.onCreateRouteController(routeId, routeGroupId);
- if (controller != null) {
- mControllers.put(controllerId, controller);
- return true;
- }
- }
- return false;
- }
-
- public Bundle createDynamicGroupRouteController(
- String initialMemberRouteId, int controllerId) {
- if (mControllers.indexOfKey(controllerId) < 0) {
- MediaRouteProvider.DynamicGroupRouteController controller =
- mProvider.onCreateDynamicGroupRouteController(initialMemberRouteId);
- controller.setOnDynamicRoutesChangedListener(
- ContextCompat.getMainExecutor(getApplicationContext()),
- mDynamicRoutesChangedListener);
- if (controller != null) {
- mControllers.put(controllerId, controller);
- Bundle bundle = new Bundle();
- bundle.putString(CLIENT_DATA_ROUTE_ID, initialMemberRouteId);
- bundle.putString(DATA_KEY_GROUPABLE_SECION_TITLE,
- controller.getGroupableSelectionTitle());
- bundle.putString(DATA_KEY_TRANSFERABLE_SECTION_TITLE,
- controller.getTransferableSectionTitle());
- return bundle;
- }
- }
- return null;
- }
-
- public boolean releaseRouteController(int controllerId) {
- MediaRouteProvider.RouteController controller = mControllers.get(controllerId);
- if (controller != null) {
- mControllers.remove(controllerId);
- controller.onRelease();
- return true;
- }
- return false;
- }
-
- public MediaRouteProvider.RouteController getRouteController(int controllerId) {
- return mControllers.get(controllerId);
- }
-
- public boolean setDiscoveryRequest(MediaRouteDiscoveryRequest request) {
- if (!ObjectsCompat.equals(mDiscoveryRequest, request)) {
- mDiscoveryRequest = request;
- return updateCompositeDiscoveryRequest();
- }
- return false;
- }
-
- // Runs on a binder thread.
- @Override
- public void binderDied() {
- mPrivateHandler.obtainMessage(PRIVATE_MSG_CLIENT_DIED, mMessenger).sendToTarget();
- }
-
- @Override
- public String toString() {
- return getClientId(mMessenger);
- }
-
- void sendDynamicRouteDescriptors(
- DynamicGroupRouteController controller,
- Collection<DynamicGroupRouteController.DynamicRouteDescriptor> descriptors) {
- int index = mControllers.indexOfValue(controller);
- if (index < 0) {
- Log.d(TAG, "Ignoring unknown dynamic group route controller: " + controller);
- return;
- }
- int controllerId = mControllers.keyAt(index);
-
- ArrayList<Bundle> dynamicRouteBundles = new ArrayList<Bundle>();
- for (DynamicGroupRouteController.DynamicRouteDescriptor descriptor: descriptors) {
- dynamicRouteBundles.add(descriptor.toBundle());
- }
- Bundle bundle = new Bundle();
- bundle.putParcelableArrayList(DATA_KEY_DYNAMIC_ROUTE_DESCRIPTORS, dynamicRouteBundles);
- sendReply(mMessenger, SERVICE_MSG_DYNAMIC_ROUTE_DESCRIPTORS_CHANGED,
- 0, controllerId, bundle, null);
- }
- }
-
/**
* Handler that receives messages from clients.
* <p>
@@ -813,7 +341,18 @@
final int arg = msg.arg2;
final Object obj = msg.obj;
final Bundle data = msg.peekData();
- if (!processMessage(what, messenger, requestId, arg, obj, data)) {
+
+ String packageName = null;
+ if (what == CLIENT_MSG_REGISTER && Build.VERSION.SDK_INT
+ >= Build.VERSION_CODES.LOLLIPOP) {
+ String[] packages = mServiceRef.get().getPackageManager()
+ .getPackagesForUid(msg.sendingUid);
+ if (packages != null && packages.length > 0) {
+ packageName = packages[0];
+ }
+ }
+
+ if (!processMessage(what, messenger, requestId, arg, obj, data, packageName)) {
if (DEBUG) {
Log.d(TAG, getClientId(messenger) + ": Message failed, what=" + what
+ ", requestId=" + requestId + ", arg=" + arg
@@ -828,23 +367,24 @@
}
}
- private boolean processMessage(int what,
- Messenger messenger, int requestId, int arg, Object obj, Bundle data) {
+ private boolean processMessage(int what, Messenger messenger,
+ int requestId, int arg, Object obj, Bundle data, String packageName) {
MediaRouteProviderService service = mServiceRef.get();
if (service != null) {
switch (what) {
case CLIENT_MSG_REGISTER:
- return service.onRegisterClient(messenger, requestId, arg);
+ return service.mImpl.onRegisterClient(messenger, requestId, arg,
+ packageName);
case CLIENT_MSG_UNREGISTER:
- return service.onUnregisterClient(messenger, requestId);
+ return service.mImpl.onUnregisterClient(messenger, requestId);
case CLIENT_MSG_CREATE_ROUTE_CONTROLLER: {
String routeId = data.getString(CLIENT_DATA_ROUTE_ID);
String routeGroupId =
data.getString(CLIENT_DATA_ROUTE_LIBRARY_GROUP);
if (routeId != null) {
- return service.onCreateRouteController(
+ return service.mImpl.onCreateRouteController(
messenger, requestId, arg, routeId, routeGroupId);
}
break;
@@ -853,7 +393,7 @@
case CLIENT_MSG_CREATE_DYNAMIC_GROUP_ROUTE_CONTROLLER: {
String initialMemberId = data.getString(CLIENT_DATA_MEMBER_ROUTE_ID);
if (initialMemberId != null) {
- return service.onCreateDynamicGroupRouteController(
+ return service.mImpl.onCreateDynamicGroupRouteController(
messenger, requestId, arg, initialMemberId);
}
break;
@@ -862,7 +402,8 @@
case CLIENT_MSG_ADD_MEMBER_ROUTE: {
String memberId = data.getString(CLIENT_DATA_MEMBER_ROUTE_ID);
if (memberId != null) {
- return service.onAddMemberRoute(messenger, requestId, arg, memberId);
+ return service.mImpl.onAddMemberRoute(messenger, requestId, arg,
+ memberId);
}
break;
}
@@ -870,7 +411,8 @@
case CLIENT_MSG_REMOVE_MEMBER_ROUTE: {
String memberId = data.getString(CLIENT_DATA_MEMBER_ROUTE_ID);
if (memberId != null) {
- return service.onRemoveMemberRoute(messenger, requestId, arg, memberId);
+ return service.mImpl.onRemoveMemberRoute(messenger, requestId, arg,
+ memberId);
}
break;
}
@@ -879,29 +421,29 @@
ArrayList<String> memberIds =
data.getStringArrayList(CLIENT_DATA_MEMBER_ROUTE_IDS);
if (memberIds != null) {
- return service.onUpdateMemberRoutes(
+ return service.mImpl.onUpdateMemberRoutes(
messenger, requestId, arg, memberIds);
}
break;
}
case CLIENT_MSG_RELEASE_ROUTE_CONTROLLER:
- return service.onReleaseRouteController(messenger, requestId, arg);
+ return service.mImpl.onReleaseRouteController(messenger, requestId, arg);
case CLIENT_MSG_SELECT_ROUTE:
- return service.onSelectRoute(messenger, requestId, arg);
+ return service.mImpl.onSelectRoute(messenger, requestId, arg);
case CLIENT_MSG_UNSELECT_ROUTE:
int reason = data == null ?
MediaRouter.UNSELECT_REASON_UNKNOWN
: data.getInt(CLIENT_DATA_UNSELECT_REASON,
MediaRouter.UNSELECT_REASON_UNKNOWN);
- return service.onUnselectRoute(messenger, requestId, arg, reason);
+ return service.mImpl.onUnselectRoute(messenger, requestId, arg, reason);
case CLIENT_MSG_SET_ROUTE_VOLUME: {
int volume = data.getInt(CLIENT_DATA_VOLUME, -1);
if (volume >= 0) {
- return service.onSetRouteVolume(
+ return service.mImpl.onSetRouteVolume(
messenger, requestId, arg, volume);
}
break;
@@ -910,7 +452,7 @@
case CLIENT_MSG_UPDATE_ROUTE_VOLUME: {
int delta = data.getInt(CLIENT_DATA_VOLUME, 0);
if (delta != 0) {
- return service.onUpdateRouteVolume(
+ return service.mImpl.onUpdateRouteVolume(
messenger, requestId, arg, delta);
}
break;
@@ -918,7 +460,7 @@
case CLIENT_MSG_ROUTE_CONTROL_REQUEST:
if (obj instanceof Intent) {
- return service.onRouteControlRequest(
+ return service.mImpl.onRouteControlRequest(
messenger, requestId, arg, (Intent)obj);
}
break;
@@ -927,7 +469,7 @@
if (obj == null || obj instanceof Bundle) {
MediaRouteDiscoveryRequest request =
MediaRouteDiscoveryRequest.fromBundle((Bundle)obj);
- return service.onSetDiscoveryRequest(
+ return service.mImpl.onSetDiscoveryRequest(
messenger, requestId,
request != null && request.isValid() ? request : null);
}
@@ -937,4 +479,730 @@
return false;
}
}
+
+ static class MediaRouteProviderServiceImplBase implements MediaRouteProviderServiceImpl {
+ final MediaRouteProviderService mService;
+ final ArrayList<ClientRecord> mClients = new ArrayList<ClientRecord>();
+ MediaRouteDiscoveryRequest mCompositeDiscoveryRequest;
+ MediaRouteDiscoveryRequest mBaseDiscoveryRequest;
+
+ MediaRouteProviderServiceImplBase(MediaRouteProviderService service) {
+ mService = service;
+ }
+
+ public MediaRouteProviderService getService() {
+ return mService;
+ }
+
+ @Override
+ public IBinder onBind(Intent intent) {
+ if (intent.getAction().equals(SERVICE_INTERFACE)) {
+ mService.ensureProvider();
+ if (mService.getMediaRouteProvider() != null) {
+ return mService.mReceiveMessenger.getBinder();
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public void attachBaseContext(Context context) {}
+
+ @Override
+ public MediaRouteProvider.Callback getProviderCallback() {
+ return new ProviderCallbackBase();
+ }
+
+ @Override
+ public boolean onRegisterClient(Messenger messenger, int requestId, int version,
+ String packageName) {
+ if (version >= CLIENT_VERSION_1) {
+ int index = findClient(messenger);
+ if (index < 0) {
+ ClientRecord client = createClientRecord(messenger, version, packageName);
+ if (client.register()) {
+ mClients.add(client);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Registered, version=" + version);
+ }
+ if (requestId != 0) {
+ MediaRouteProviderDescriptor descriptor =
+ mService.getMediaRouteProvider().getDescriptor();
+ sendReply(messenger, SERVICE_MSG_REGISTERED,
+ requestId, SERVICE_VERSION_CURRENT,
+ createDescriptorBundleForClientVersion(descriptor,
+ client.mVersion), null);
+ }
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onUnregisterClient(Messenger messenger, int requestId) {
+ int index = findClient(messenger);
+ if (index >= 0) {
+ ClientRecord client = mClients.remove(index);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Unregistered");
+ }
+ client.dispose();
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public void onBinderDied(Messenger messenger) {
+ int index = findClient(messenger);
+ if (index >= 0) {
+ ClientRecord client = mClients.remove(index);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Binder died");
+ }
+ client.dispose();
+ }
+ }
+
+ @Override
+ public boolean onCreateRouteController(Messenger messenger, int requestId,
+ int controllerId, String routeId, String routeGroupId) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ if (client.createRouteController(routeId, routeGroupId, controllerId)) {
+ if (DEBUG) {
+ Log.d(TAG, client + ": Route controller created, controllerId="
+ + controllerId + ", routeId=" + routeId
+ + ", routeGroupId=" + routeGroupId);
+ }
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onCreateDynamicGroupRouteController(Messenger messenger, int requestId,
+ int controllerId, String initialMemberRouteId) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ Bundle bundle = client.createDynamicGroupRouteController(
+ initialMemberRouteId, controllerId);
+ if (bundle != null) {
+ if (DEBUG) {
+ Log.d(TAG, client + ": Route controller created, controllerId="
+ + controllerId
+ + ", initialMemberRouteId=" + initialMemberRouteId);
+ }
+ sendReply(messenger, SERVICE_MSG_DYNAMIC_ROUTE_CREATED,
+ requestId, SERVICE_VERSION_CURRENT,
+ bundle, null);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onAddMemberRoute(Messenger messenger, int requestId, int controllerId,
+ String memberId) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ MediaRouteProvider.RouteController controller =
+ client.getRouteController(controllerId);
+ if (controller instanceof MediaRouteProvider.DynamicGroupRouteController) {
+ ((MediaRouteProvider.DynamicGroupRouteController) controller)
+ .onAddMemberRoute(memberId);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Added a member route"
+ + ", controllerId=" + controllerId + ", memberId=" + memberId);
+ }
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onRemoveMemberRoute(Messenger messenger, int requestId, int controllerId,
+ String memberId) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ MediaRouteProvider.RouteController controller =
+ client.getRouteController(controllerId);
+ if (controller instanceof MediaRouteProvider.DynamicGroupRouteController) {
+ ((MediaRouteProvider.DynamicGroupRouteController) controller)
+ .onRemoveMemberRoute(memberId);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Removed a member route"
+ + ", controllerId=" + controllerId + ", memberId=" + memberId);
+ }
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onUpdateMemberRoutes(Messenger messenger, int requestId, int controllerId,
+ List<String> memberIds) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ MediaRouteProvider.RouteController controller =
+ client.getRouteController(controllerId);
+ if (controller instanceof MediaRouteProvider.DynamicGroupRouteController) {
+ ((MediaRouteProvider.DynamicGroupRouteController) controller)
+ .onUpdateMemberRoutes(memberIds);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Updated list of member routes"
+ + ", controllerId=" + controllerId + ", memberIds=" + memberIds);
+ }
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onReleaseRouteController(Messenger messenger, int requestId,
+ int controllerId) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ if (client.releaseRouteController(controllerId)) {
+ if (DEBUG) {
+ Log.d(TAG, client + ": Route controller released"
+ + ", controllerId=" + controllerId);
+ }
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onSelectRoute(Messenger messenger, int requestId,
+ int controllerId) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ MediaRouteProvider.RouteController controller =
+ client.getRouteController(controllerId);
+ if (controller != null) {
+ controller.onSelect();
+ if (DEBUG) {
+ Log.d(TAG, client + ": Route selected"
+ + ", controllerId=" + controllerId);
+ }
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onUnselectRoute(Messenger messenger, int requestId,
+ int controllerId, int reason) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ MediaRouteProvider.RouteController controller =
+ client.getRouteController(controllerId);
+ if (controller != null) {
+ controller.onUnselect(reason);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Route unselected"
+ + ", controllerId=" + controllerId);
+ }
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onSetRouteVolume(Messenger messenger, int requestId,
+ int controllerId, int volume) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ MediaRouteProvider.RouteController controller =
+ client.getRouteController(controllerId);
+ if (controller != null) {
+ controller.onSetVolume(volume);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Route volume changed"
+ + ", controllerId=" + controllerId + ", volume=" + volume);
+ }
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onUpdateRouteVolume(Messenger messenger, int requestId,
+ int controllerId, int delta) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ MediaRouteProvider.RouteController controller =
+ client.getRouteController(controllerId);
+ if (controller != null) {
+ controller.onUpdateVolume(delta);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Route volume updated"
+ + ", controllerId=" + controllerId + ", delta=" + delta);
+ }
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onRouteControlRequest(final Messenger messenger, final int requestId,
+ final int controllerId, final Intent intent) {
+ final ClientRecord client = getClient(messenger);
+ if (client != null) {
+ MediaRouteProvider.RouteController controller =
+ client.getRouteController(controllerId);
+ if (controller != null) {
+ MediaRouter.ControlRequestCallback callback = null;
+ if (requestId != 0) {
+ callback = new MediaRouter.ControlRequestCallback() {
+ @Override
+ public void onResult(Bundle data) {
+ if (DEBUG) {
+ Log.d(TAG, client + ": Route control request succeeded"
+ + ", controllerId=" + controllerId
+ + ", intent=" + intent
+ + ", data=" + data);
+ }
+ if (findClient(messenger) >= 0) {
+ sendReply(messenger, SERVICE_MSG_CONTROL_REQUEST_SUCCEEDED,
+ requestId, 0, data, null);
+ }
+ }
+
+ @Override
+ public void onError(String error, Bundle data) {
+ if (DEBUG) {
+ Log.d(TAG, client + ": Route control request failed"
+ + ", controllerId=" + controllerId
+ + ", intent=" + intent
+ + ", error=" + error + ", data=" + data);
+ }
+ if (findClient(messenger) >= 0) {
+ if (error != null) {
+ Bundle bundle = new Bundle();
+ bundle.putString(SERVICE_DATA_ERROR, error);
+ sendReply(messenger, SERVICE_MSG_CONTROL_REQUEST_FAILED,
+ requestId, 0, data, bundle);
+ } else {
+ sendReply(messenger, SERVICE_MSG_CONTROL_REQUEST_FAILED,
+ requestId, 0, data, null);
+ }
+ }
+ }
+ };
+ }
+ if (controller.onControlRequest(intent, callback)) {
+ if (DEBUG) {
+ Log.d(TAG, client + ": Route control request delivered"
+ + ", controllerId=" + controllerId + ", intent=" + intent);
+ }
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onSetDiscoveryRequest(Messenger messenger, int requestId,
+ MediaRouteDiscoveryRequest request) {
+ ClientRecord client = getClient(messenger);
+ if (client != null) {
+ boolean actuallyChanged = client.setDiscoveryRequest(request);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Set discovery request, request=" + request
+ + ", actuallyChanged=" + actuallyChanged
+ + ", compositeDiscoveryRequest=" + mCompositeDiscoveryRequest);
+ }
+ sendGenericSuccess(messenger, requestId);
+ return true;
+ }
+ return false;
+ }
+
+ void sendDescriptorChanged(MediaRouteProviderDescriptor descriptor) {
+ final int count = mClients.size();
+ for (int i = 0; i < count; i++) {
+ ClientRecord client = mClients.get(i);
+ sendReply(client.mMessenger, SERVICE_MSG_DESCRIPTOR_CHANGED, 0, 0,
+ createDescriptorBundleForClientVersion(descriptor, client.mVersion), null);
+ if (DEBUG) {
+ Log.d(TAG, client + ": Sent descriptor change event, descriptor=" + descriptor);
+ }
+ }
+ }
+
+ boolean setBaseDiscoveryRequest(MediaRouteDiscoveryRequest request) {
+ if (!ObjectsCompat.equals(mBaseDiscoveryRequest, request)) {
+ mBaseDiscoveryRequest = request;
+ return updateCompositeDiscoveryRequest();
+ }
+ return false;
+ }
+
+ boolean updateCompositeDiscoveryRequest() {
+ MediaRouteDiscoveryRequest composite = null;
+ MediaRouteSelector.Builder selectorBuilder = null;
+ boolean activeScan = false;
+
+ if (mBaseDiscoveryRequest != null) {
+ activeScan = mBaseDiscoveryRequest.isActiveScan();
+ selectorBuilder = new MediaRouteSelector.Builder(
+ mBaseDiscoveryRequest.getSelector());
+ }
+
+ final int count = mClients.size();
+ for (int i = 0; i < count; i++) {
+ MediaRouteDiscoveryRequest request = mClients.get(i).mDiscoveryRequest;
+ if (request != null
+ && (!request.getSelector().isEmpty() || request.isActiveScan())) {
+ activeScan |= request.isActiveScan();
+ if (composite == null) {
+ composite = request;
+ } else {
+ if (selectorBuilder == null) {
+ selectorBuilder = new MediaRouteSelector.Builder(
+ composite.getSelector());
+ }
+ selectorBuilder.addSelector(request.getSelector());
+ }
+ }
+ }
+ if (selectorBuilder != null) {
+ composite = new MediaRouteDiscoveryRequest(selectorBuilder.build(), activeScan);
+ }
+ if (!ObjectsCompat.equals(mCompositeDiscoveryRequest, composite)) {
+ mCompositeDiscoveryRequest = composite;
+ mService.getMediaRouteProvider().setDiscoveryRequest(composite);
+ return true;
+ }
+ return false;
+ }
+
+ private ClientRecord getClient(Messenger messenger) {
+ int index = findClient(messenger);
+ return index >= 0 ? mClients.get(index) : null;
+ }
+
+ int findClient(Messenger messenger) {
+ final int count = mClients.size();
+ for (int i = 0; i < count; i++) {
+ ClientRecord client = mClients.get(i);
+ if (client.hasMessenger(messenger)) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ ClientRecord getClientForPackageName(String packageName) {
+ for (ClientRecord client : mClients) {
+ if (TextUtils.equals(client.mPackageName, packageName)) {
+ return client;
+ }
+ }
+ return null;
+ }
+
+ //TODO: Reconsider "ClientRecord" structure
+ class ClientRecord implements DeathRecipient {
+ public final Messenger mMessenger;
+ public final int mVersion;
+ public final String mPackageName;
+ public MediaRouteDiscoveryRequest mDiscoveryRequest;
+
+ final SparseArray<MediaRouteProvider.RouteController> mControllers =
+ new SparseArray<MediaRouteProvider.RouteController>();
+
+ final DynamicGroupRouteController.OnDynamicRoutesChangedListener
+ mDynamicRoutesChangedListener =
+ new DynamicGroupRouteController.OnDynamicRoutesChangedListener() {
+ @Override
+ public void onRoutesChanged(
+ @NonNull DynamicGroupRouteController controller,
+ @NonNull Collection<DynamicRouteDescriptor> routes) {
+ sendDynamicRouteDescriptors(controller, routes);
+ }
+ };
+
+ ClientRecord(Messenger messenger, int version, String packageName) {
+ mMessenger = messenger;
+ mVersion = version;
+ mPackageName = packageName;
+ }
+
+ public boolean register() {
+ try {
+ mMessenger.getBinder().linkToDeath(this, 0);
+ return true;
+ } catch (RemoteException ex) {
+ binderDied();
+ }
+ return false;
+ }
+
+ public void dispose() {
+ int count = mControllers.size();
+ for (int i = 0; i < count; i++) {
+ mControllers.valueAt(i).onRelease();
+ }
+ mControllers.clear();
+
+ mMessenger.getBinder().unlinkToDeath(this, 0);
+
+ setDiscoveryRequest(null);
+ }
+
+ public boolean hasMessenger(Messenger other) {
+ return mMessenger.getBinder() == other.getBinder();
+ }
+
+ public boolean createRouteController(String routeId, String routeGroupId,
+ int controllerId) {
+ if (mControllers.indexOfKey(controllerId) < 0) {
+ MediaRouteProvider.RouteController controller = routeGroupId == null
+ ? mService.getMediaRouteProvider().onCreateRouteController(routeId)
+ : mService.getMediaRouteProvider()
+ .onCreateRouteController(routeId, routeGroupId);
+ if (controller != null) {
+ mControllers.put(controllerId, controller);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public Bundle createDynamicGroupRouteController(
+ String initialMemberRouteId, int controllerId) {
+ if (mControllers.indexOfKey(controllerId) < 0) {
+ MediaRouteProvider.DynamicGroupRouteController controller =
+ mService.getMediaRouteProvider()
+ .onCreateDynamicGroupRouteController(initialMemberRouteId);
+ if (controller != null) {
+ controller.setOnDynamicRoutesChangedListener(
+ ContextCompat.getMainExecutor(mService.getApplicationContext()),
+ mDynamicRoutesChangedListener);
+ mControllers.put(controllerId, controller);
+ Bundle bundle = new Bundle();
+ bundle.putString(CLIENT_DATA_ROUTE_ID, initialMemberRouteId);
+ bundle.putString(DATA_KEY_GROUPABLE_SECION_TITLE,
+ controller.getGroupableSelectionTitle());
+ bundle.putString(DATA_KEY_TRANSFERABLE_SECTION_TITLE,
+ controller.getTransferableSectionTitle());
+ return bundle;
+ }
+ }
+ return null;
+ }
+
+ public boolean releaseRouteController(int controllerId) {
+ MediaRouteProvider.RouteController controller = mControllers.get(controllerId);
+ if (controller != null) {
+ mControllers.remove(controllerId);
+ controller.onRelease();
+ return true;
+ }
+ return false;
+ }
+
+ public MediaRouteProvider.RouteController getRouteController(int controllerId) {
+ return mControllers.get(controllerId);
+ }
+
+ public boolean setDiscoveryRequest(MediaRouteDiscoveryRequest request) {
+ if (!ObjectsCompat.equals(mDiscoveryRequest, request)) {
+ mDiscoveryRequest = request;
+ return updateCompositeDiscoveryRequest();
+ }
+ return false;
+ }
+
+ // Runs on a binder thread.
+ @Override
+ public void binderDied() {
+ mService.mPrivateHandler
+ .obtainMessage(PRIVATE_MSG_CLIENT_DIED, mMessenger).sendToTarget();
+ }
+
+ @Override
+ public String toString() {
+ return getClientId(mMessenger);
+ }
+
+ void sendDynamicRouteDescriptors(
+ DynamicGroupRouteController controller,
+ Collection<DynamicRouteDescriptor> descriptors) {
+ int index = mControllers.indexOfValue(controller);
+ if (index < 0) {
+ Log.w(TAG, "Ignoring unknown dynamic group route controller: " + controller);
+ return;
+ }
+ int controllerId = mControllers.keyAt(index);
+
+ ArrayList<Bundle> dynamicRouteBundles = new ArrayList<Bundle>();
+ for (DynamicRouteDescriptor descriptor: descriptors) {
+ dynamicRouteBundles.add(descriptor.toBundle());
+ }
+ Bundle bundle = new Bundle();
+ bundle.putParcelableArrayList(DATA_KEY_DYNAMIC_ROUTE_DESCRIPTORS,
+ dynamicRouteBundles);
+ sendReply(mMessenger, SERVICE_MSG_DYNAMIC_ROUTE_DESCRIPTORS_CHANGED,
+ 0, controllerId, bundle, null);
+ }
+
+ void sendDynamicRouteControllerCreatedWithoutRequest(
+ MediaRouteProviderDescriptor descriptor,
+ DynamicGroupRouteController controller,
+ int controllerId, String routeId) {
+
+ mControllers.put(controllerId, controller);
+ controller.setOnDynamicRoutesChangedListener(
+ ContextCompat.getMainExecutor(mService.getApplicationContext()),
+ mDynamicRoutesChangedListener);
+
+ Bundle bundle = new Bundle();
+ bundle.putBundle(CLIENT_DATA_PROVIDER_DESCRIPTOR,
+ createDescriptorBundleForClientVersion(descriptor, mVersion));
+
+ Bundle controllerInfo = new Bundle();
+ controllerInfo.putString(CLIENT_DATA_ROUTE_ID, routeId);
+ controllerInfo.putString(DATA_KEY_GROUPABLE_SECION_TITLE,
+ controller.getGroupableSelectionTitle());
+ controllerInfo.putString(DATA_KEY_TRANSFERABLE_SECTION_TITLE,
+ controller.getTransferableSectionTitle());
+ controllerInfo.putInt(CLIENT_DATA_CONTROLLER_ID, controllerId);
+ bundle.putBundle(CLIENT_DATA_CONTROLLER_INFO, controllerInfo);
+
+ sendReply(mMessenger, SERVICE_MSG_DYNAMIC_ROUTE_CREATED_WITHOUT_REQUEST,
+ 0, 0, bundle, null);
+ }
+ }
+
+ ClientRecord createClientRecord(Messenger messenger, int version, String packageName) {
+ return new ClientRecord(messenger, version, packageName);
+ }
+
+ class ProviderCallbackBase extends MediaRouteProvider.Callback {
+ @Override
+ public void onDescriptorChanged(@NonNull MediaRouteProvider provider,
+ MediaRouteProviderDescriptor descriptor) {
+ sendDescriptorChanged(descriptor);
+ }
+ }
+ }
+
+ //TODO: We may need to change version number
+ @RequiresApi(api = Build.VERSION_CODES.R)
+ static class MediaRouteProviderServiceImplApi30 extends MediaRouteProviderServiceImplBase {
+ MediaRoute2ProviderServiceAdapter mMR2ProviderServiceAdapter;
+
+ MediaRouteProviderServiceImplApi30(MediaRouteProviderService instance) {
+ super(instance);
+ }
+
+ @Override
+ public IBinder onBind(Intent intent) {
+ mService.ensureProvider();
+ if (mMR2ProviderServiceAdapter == null) {
+ mMR2ProviderServiceAdapter = new MediaRoute2ProviderServiceAdapter(this);
+ if (mService.getBaseContext() != null) {
+ mMR2ProviderServiceAdapter.attachBaseContext(mService);
+ }
+ }
+ IBinder binder = super.onBind(intent);
+ if (binder != null) {
+ return binder;
+ }
+ return mMR2ProviderServiceAdapter.onBind(intent);
+ }
+
+ @Override
+ public void attachBaseContext(Context context) {
+ if (mMR2ProviderServiceAdapter != null) {
+ mMR2ProviderServiceAdapter.attachBaseContext(context);
+ }
+ }
+
+ @Override
+ void sendDescriptorChanged(MediaRouteProviderDescriptor descriptor) {
+ super.sendDescriptorChanged(descriptor);
+ mMR2ProviderServiceAdapter.setProviderDescriptor(descriptor);
+ }
+
+ @Override
+ MediaRouteProviderServiceImplBase.ClientRecord createClientRecord(
+ Messenger messenger, int version, String packageName) {
+ return new ClientRecord(messenger, version, packageName);
+ }
+
+ class ClientRecord extends MediaRouteProviderServiceImplBase.ClientRecord {
+ ClientRecord(Messenger messenger, int version, String packageName) {
+ super(messenger, version, packageName);
+ }
+
+ @Override
+ public boolean createRouteController(String routeId, String routeGroupId,
+ int controllerId) {
+ boolean result = super.createRouteController(routeId, routeGroupId,
+ controllerId);
+ // Don't add route controllers of member routes.
+ if (routeGroupId == null && result && mPackageName != null) {
+ mMR2ProviderServiceAdapter.addRouteController(mControllers.get(controllerId),
+ controllerId, mPackageName, routeId);
+ }
+ return result;
+ }
+
+ @Override
+ public Bundle createDynamicGroupRouteController(
+ String initialMemberRouteId, int controllerId) {
+ Bundle result =
+ super.createDynamicGroupRouteController(initialMemberRouteId, controllerId);
+ if (result != null && mPackageName != null) {
+ mMR2ProviderServiceAdapter.addRouteController(mControllers.get(controllerId),
+ controllerId, mPackageName, initialMemberRouteId);
+ }
+ return result;
+ }
+
+ @Override
+ public boolean releaseRouteController(int controllerId) {
+ mMR2ProviderServiceAdapter.removeRouteController(controllerId);
+ return super.releaseRouteController(controllerId);
+ }
+
+ @Override
+ void sendDynamicRouteDescriptors(
+ DynamicGroupRouteController controller,
+ Collection<DynamicRouteDescriptor> descriptors) {
+ super.sendDynamicRouteDescriptors(controller, descriptors);
+ if (mMR2ProviderServiceAdapter != null) {
+ mMR2ProviderServiceAdapter.setDynamicRouteDescriptor(controller, descriptors);
+ }
+ }
+ }
+ }
}
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
index 6f6ad7f..6de1cab 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
@@ -28,6 +28,8 @@
import android.content.IntentSender;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
+import android.media.MediaRouter2;
+import android.media.RouteDiscoveryPreference;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@@ -35,6 +37,7 @@
import android.os.Message;
import android.support.v4.media.session.MediaSessionCompat;
import android.text.TextUtils;
+import android.util.ArraySet;
import android.util.Log;
import android.view.Display;
@@ -45,13 +48,13 @@
import androidx.core.app.ActivityManagerCompat;
import androidx.core.content.ContextCompat;
import androidx.core.hardware.display.DisplayManagerCompat;
+import androidx.core.os.BuildCompat;
import androidx.core.util.ObjectsCompat;
import androidx.core.util.Pair;
import androidx.media.VolumeProviderCompat;
import androidx.mediarouter.app.MediaRouteDiscoveryFragment;
import androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController;
-import androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController
- .DynamicRouteDescriptor;
+import androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor;
import androidx.mediarouter.media.MediaRouteProvider.ProviderMetadata;
import androidx.mediarouter.media.MediaRouteProvider.RouteController;
@@ -69,6 +72,8 @@
import java.util.Locale;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.Executor;
+import java.util.stream.Collectors;
/**
* MediaRouter allows applications to control the routing of media channels
@@ -469,6 +474,16 @@
}
/**
+ * Transfers the current dynamic group to the specified route.
+ * @hide
+ */
+ @RestrictTo(LIBRARY)
+ public void transferToRoute(@NonNull RouteInfo route) {
+ checkCallingThread();
+ sGlobal.transferToRoute(route);
+ }
+
+ /**
* Returns true if there is a route that matches the specified selector.
* <p>
* This method returns true if there are any available routes that match the
@@ -564,35 +579,41 @@
* private MediaRouter.Callback mCallback;
* private MediaRouteSelector mSelector;
*
+ * // Add the callback on start to tell the media router what kinds of routes
+ * // the application is interested in so that it can get events about media routing changes
+ * // from the system.
* protected void onCreate(Bundle savedInstanceState) {
* super.onCreate(savedInstanceState);
*
- * mRouter = Mediarouter.getInstance(this);
+ * mRouter = MediaRouter.getInstance(this);
+ * mRouter.enableTransfer();
* mCallback = new MyCallback();
* mSelector = new MediaRouteSelector.Builder()
* .addControlCategory(MediaControlIntent.CATEGORY_LIVE_AUDIO)
* .addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
* .build();
+ * mRouter.addCallback(mSelector, mCallback, /* flags= */ 0);
* }
*
- * // Add the callback on start to tell the media router what kinds of routes
- * // the application is interested in so that it can try to discover suitable ones.
+ * // Add the callback flag CALLBACK_FLAG_REQUEST_DISCOVERY on start by calling
+ * // addCallback() again so that the media router can try to discover suitable ones.
* public void onStart() {
* super.onStart();
*
- * mediaRouter.addCallback(mSelector, mCallback,
+ * mRouter.addCallback(mSelector, mCallback,
* MediaRouter.CALLBACK_FLAG_REQUEST_DISCOVERY);
*
- * MediaRouter.RouteInfo route = mediaRouter.updateSelectedRoute(mSelector);
+ * MediaRouter.RouteInfo route = mRouter.updateSelectedRoute(mSelector);
* // do something with the route...
* }
*
- * // Remove the selector on stop to tell the media router that it no longer
+ * // Remove the callback flag CALLBACK_FLAG_REQUEST_DISCOVERY on stop by calling
+ * // addCallback() again in order to tell the media router that it no longer
* // needs to invest effort trying to discover routes of these kinds for now.
* public void onStop() {
* super.onStop();
*
- * mediaRouter.removeCallback(mCallback);
+ * mRouter.addCallback(mSelector, mCallback, /* flags= */ 0);
* }
*
* private final class MyCallback extends MediaRouter.Callback {
@@ -609,6 +630,7 @@
* {@link #CALLBACK_FLAG_UNFILTERED_EVENTS}.
* @see #removeCallback
*/
+ // TODO: Change the usages of addCallback() for changing flags when setCallbackFlags() is added.
public void addCallback(@NonNull MediaRouteSelector selector, @NonNull Callback callback,
@CallbackFlags int flags) {
if (selector == null) {
@@ -645,6 +667,7 @@
}
if (updateNeeded) {
sGlobal.updateDiscoveryRequest();
+ sGlobal.updateMR2RouteDiscoveryPreferenceFwk();
}
}
@@ -669,9 +692,27 @@
if (index >= 0) {
mCallbackRecords.remove(index);
sGlobal.updateDiscoveryRequest();
+ sGlobal.updateMR2RouteDiscoveryPreferenceFwk();
}
}
+ /**
+ * Enables the MediaRouter receiving events about media routing changes from the system.
+ * From Android R, a user can change the media routing via system UI. This method will be
+ * no-op on earlier Android versions.
+ * <p>
+ * Note: Once enabled, it cannot be disabled for the same process.
+ *
+ * @see #addCallback(MediaRouteSelector, Callback, int)
+ */
+ public void enableTransfer() {
+ if (!BuildCompat.isAtLeastR()) {
+ // Transfer cannot be enabled on devices running earlier than Android R
+ return;
+ }
+ sGlobal.enableTransfer();
+ }
+
private int findCallbackRecord(Callback callback) {
final int count = mCallbackRecords.size();
for (int i = 0; i < count; i++) {
@@ -1509,10 +1550,8 @@
@Nullable
@RestrictTo(LIBRARY)
public DynamicGroupState getDynamicGroupState() {
- if (mDynamicGroupState == null) {
- if (mDynamicDescriptor != null) {
- mDynamicGroupState = new DynamicGroupState();
- }
+ if (mDynamicGroupState == null && mDynamicDescriptor != null) {
+ mDynamicGroupState = new DynamicGroupState();
}
return mDynamicGroupState;
}
@@ -1552,7 +1591,9 @@
final int count = mMemberRoutes.size();
for (int i = 0; i < count; i++) {
if (i > 0) sb.append(", ");
- sb.append(mMemberRoutes.get(i));
+ if (mMemberRoutes.get(i) != this) {
+ sb.append(mMemberRoutes.get(i));
+ }
}
sb.append(']');
return sb.toString();
@@ -1742,8 +1783,7 @@
return mProvider.getProviderInstance();
}
- void updateDescriptors(
- Collection<DynamicRouteDescriptor> dynamicDescriptors) {
+ void updateDescriptors(Collection<DynamicRouteDescriptor> dynamicDescriptors) {
mMemberRoutes.clear();
for (DynamicRouteDescriptor dynamicDescriptor :
@@ -2108,6 +2148,9 @@
implements SystemMediaRouteProvider.SyncCallback,
RegisteredMediaRouteProviderWatcher.Callback {
final Context mApplicationContext;
+ final MediaRouter2 mMediaRouter2Fwk;
+ final MediaRouter2.RouteCallback mMr2RouteCallbackFwk;
+ final Executor mMr2CbExecutor;
final ArrayList<WeakReference<MediaRouter>> mRouters = new ArrayList<>();
private final ArrayList<RouteInfo> mRoutes = new ArrayList<>();
private final Map<Pair<String, String>, String> mUniqueIdMap = new HashMap<>();
@@ -2131,6 +2174,7 @@
// selected route group.
private final Map<String, RouteController> mRouteControllerMap = new HashMap<>();
private MediaRouteDiscoveryRequest mDiscoveryRequest;
+ private boolean mIsTransferEnabled;
private MediaSessionRecord mMediaSession;
MediaSessionCompat mRccMediaSession;
private MediaSessionCompat mCompatSession;
@@ -2155,7 +2199,18 @@
mLowRam = ActivityManagerCompat.isLowRamDevice(
(ActivityManager)applicationContext.getSystemService(
Context.ACTIVITY_SERVICE));
-
+ if (BuildCompat.isAtLeastR()) {
+ mMediaRouter2Fwk = MediaRouter2.getInstance(mApplicationContext);
+ mMr2RouteCallbackFwk = new MediaRouter2.RouteCallback() {};
+ mMr2CbExecutor = new Executor() {
+ @Override
+ public void execute(@NonNull Runnable command) { }
+ };
+ } else {
+ mMediaRouter2Fwk = null;
+ mMr2RouteCallbackFwk = null;
+ mMr2CbExecutor = null;
+ }
// Add the system media route provider for interoperating with
// the framework media router. This one is special and receives
// synchronization messages from the media router.
@@ -2284,8 +2339,7 @@
}
void addMemberToDynamicGroup(@NonNull RouteInfo route) {
- if (!(mSelectedRoute.getDynamicGroupState() != null
- && (mSelectedRouteController instanceof DynamicGroupRouteController))) {
+ if (!(mSelectedRouteController instanceof DynamicGroupRouteController)) {
throw new IllegalStateException("There is no currently selected "
+ "dynamic group route.");
}
@@ -2301,8 +2355,7 @@
}
void removeMemberFromDynamicGroup(@NonNull RouteInfo route) {
- if (!(mSelectedRoute.getDynamicGroupState() != null
- && (mSelectedRouteController instanceof DynamicGroupRouteController))) {
+ if (!(mSelectedRouteController instanceof DynamicGroupRouteController)) {
throw new IllegalStateException("There is no currently selected "
+ "dynamic group route.");
}
@@ -2321,6 +2374,20 @@
.onRemoveMemberRoute(route.getDescriptorId());
}
+ void transferToRoute(@NonNull RouteInfo route) {
+ if (!(mSelectedRouteController instanceof DynamicGroupRouteController)) {
+ throw new IllegalStateException("There is no currently selected dynamic group "
+ + "route.");
+ }
+ RouteInfo.DynamicGroupState state = route.getDynamicGroupState();
+ if (state == null || !state.isTransferable()) {
+ Log.w(TAG, "Ignoring attempt to transfer to a non-transferable route.");
+ return;
+ }
+ ((DynamicGroupRouteController) mSelectedRouteController)
+ .onUpdateMemberRoutes(Collections.singletonList(route.getDescriptorId()));
+ }
+
void selectRoute(@NonNull RouteInfo route, int unselectReason) {
if (!mRoutes.contains(route)) {
Log.w(TAG, "Ignoring attempt to select removed route: " + route);
@@ -2330,7 +2397,7 @@
Log.w(TAG, "Ignoring attempt to select disabled route: " + route);
return;
}
- setSelectedRouteInternal(route, unselectReason);
+ setSelectedRouteInternal(route, unselectReason, /* preCreatedController= */ null);
}
public boolean isRouteAvailable(MediaRouteSelector selector, int flags) {
@@ -2360,6 +2427,16 @@
return false;
}
+ void enableTransfer() {
+ if (mIsTransferEnabled) {
+ Log.w(TAG, "Transfer is already enabled.");
+ return;
+ }
+ mIsTransferEnabled = true;
+ mRegisteredProviderWatcher.enableTransfer();
+ updateMR2RouteDiscoveryPreferenceFwk();
+ }
+
public void updateDiscoveryRequest() {
// Combine all of the callback selectors and active scan flags.
boolean discover = false;
@@ -2424,6 +2501,40 @@
}
}
+ void updateMR2RouteDiscoveryPreferenceFwk() {
+ if (!BuildCompat.isAtLeastR() || !mIsTransferEnabled) {
+ return;
+ }
+
+ boolean callbackExists = false;
+ Set<String> controlCategories = new ArraySet<>();
+ for (int i = mRouters.size(); --i >= 0; ) {
+ MediaRouter router = mRouters.get(i).get();
+ if (router == null) {
+ mRouters.remove(i);
+ } else {
+ final int count = router.mCallbackRecords.size();
+ if (count > 0) {
+ callbackExists = true;
+ }
+ for (int j = 0; j < count; j++) {
+ CallbackRecord callback = router.mCallbackRecords.get(j);
+ controlCategories.addAll(callback.mSelector.getControlCategories());
+ }
+ }
+ }
+
+ if (callbackExists) {
+ RouteDiscoveryPreference preference = new RouteDiscoveryPreference.Builder(
+ controlCategories.stream().map(MediaRouter2Utils::toRouteFeature)
+ .collect(Collectors.toList()), /* activeScan= */ false).build();
+ mMediaRouter2Fwk.registerRouteCallback(
+ mMr2CbExecutor, mMr2RouteCallbackFwk, preference);
+ } else {
+ mMediaRouter2Fwk.unregisterRouteCallback(mMr2RouteCallbackFwk);
+ }
+ }
+
@Override
public void addProvider(MediaRouteProvider providerInstance) {
if (findProviderInfo(providerInstance) == null) {
@@ -2703,7 +2814,7 @@
Log.i(TAG, "Unselecting the current route because it "
+ "is no longer selectable: " + mSelectedRoute);
setSelectedRouteInternal(chooseFallbackRoute(),
- MediaRouter.UNSELECT_REASON_UNKNOWN);
+ MediaRouter.UNSELECT_REASON_UNKNOWN, /* preCreatedController= */ null);
} else if (selectedRouteDescriptorChanged) {
// In case the selected route is a route group, select/unselect route controllers
// for the added/removed route members.
@@ -2769,7 +2880,8 @@
SystemMediaRouteProvider.DEFAULT_ROUTE_ID);
}
- private void setSelectedRouteInternal(@NonNull RouteInfo route, int unselectReason) {
+ void setSelectedRouteInternal(@NonNull RouteInfo route, int unselectReason,
+ @Nullable DynamicGroupRouteController preCreatedController) {
// TODO: Remove the following logging when no longer needed.
if (sGlobal == null || (mBluetoothRoute != null && route.isDefault())) {
final StackTraceElement[] callStack = Thread.currentThread().getStackTrace();
@@ -2793,64 +2905,96 @@
}
}
- if (mSelectedRoute != route) {
- if (mSelectedRoute != null) {
- if (DEBUG) {
- Log.d(TAG, "Route unselected: " + mSelectedRoute + " reason: "
- + unselectReason);
- }
- mCallbackHandler.post(CallbackHandler.MSG_ROUTE_UNSELECTED, mSelectedRoute,
- unselectReason);
- if (mSelectedRouteController != null) {
- mSelectedRouteController.onUnselect(unselectReason);
- mSelectedRouteController.onRelease();
- mSelectedRouteController = null;
- }
- if (!mRouteControllerMap.isEmpty()) {
- for (RouteController controller : mRouteControllerMap.values()) {
- controller.onUnselect(unselectReason);
- controller.onRelease();
- }
- mRouteControllerMap.clear();
- }
- }
-
- if (route.getProvider().supportsDynamicGroup()) {
- // MRP will create a new dynamic group route with initially selected route.
- MediaRouteProvider.DynamicGroupRouteController controller =
- route.getProviderInstance().onCreateDynamicGroupRouteController(
- route.mDescriptorId);
- controller.setOnDynamicRoutesChangedListener(
- ContextCompat.getMainExecutor(mApplicationContext),
- mDynamicRoutesListener);
- mSelectedRouteController = controller;
- mSelectedRoute = route;
- } else {
- mSelectedRouteController = route.getProviderInstance().onCreateRouteController(
- route.mDescriptorId);
- mSelectedRoute = route;
- }
- if (mSelectedRouteController != null) {
- mSelectedRouteController.onSelect();
- }
- if (DEBUG) {
- Log.d(TAG, "Route selected: " + mSelectedRoute);
- }
- mCallbackHandler.post(CallbackHandler.MSG_ROUTE_SELECTED, mSelectedRoute);
-
- if (mSelectedRoute.isGroup()) {
- List<RouteInfo> routes = mSelectedRoute.getMemberRoutes();
- mRouteControllerMap.clear();
- for (RouteInfo r : routes) {
- RouteController controller =
- r.getProviderInstance().onCreateRouteController(
- r.mDescriptorId, mSelectedRoute.mDescriptorId);
- controller.onSelect();
- mRouteControllerMap.put(r.mUniqueId, controller);
- }
- }
- updatePlaybackInfoFromSelectedRoute();
+ if (mSelectedRoute == route) {
+ return;
}
+
+ clearSelectedRoute(unselectReason);
+ setSelectedRouteWithController(route, preCreatedController);
+ }
+
+ void clearSelectedRoute(int unselectReason) {
+ if (mSelectedRoute == null) {
+ return;
+ }
+
+ if (DEBUG) {
+ Log.d(TAG, "Route unselected: " + mSelectedRoute + " reason: "
+ + unselectReason);
+ }
+ mCallbackHandler.post(CallbackHandler.MSG_ROUTE_UNSELECTED, mSelectedRoute,
+ unselectReason);
+ if (mSelectedRouteController != null) {
+ mSelectedRouteController.onUnselect(unselectReason);
+ mSelectedRouteController.onRelease();
+ mSelectedRouteController = null;
+ }
+ if (!mRouteControllerMap.isEmpty()) {
+ for (RouteController controller : mRouteControllerMap.values()) {
+ controller.onUnselect(unselectReason);
+ controller.onRelease();
+ }
+ mRouteControllerMap.clear();
+ }
+ mSelectedRoute = null;
+ }
+
+ void setSelectedRouteWithController(@NonNull RouteInfo route,
+ @Nullable DynamicGroupRouteController preCreatedController) {
+ RouteController newController;
+
+ if (route.getProvider().supportsDynamicGroup()) {
+ if (preCreatedController != null) {
+ newController = preCreatedController;
+ } else {
+ // Need to create controller
+ // MRP will create a new dynamic group route with initially selected route.
+ newController = route.getProviderInstance().onCreateDynamicGroupRouteController(
+ route.mDescriptorId);
+ }
+ } else {
+ if (preCreatedController != null) {
+ Log.w(TAG, "DynamicRouteGroupController is created for a route which doesn't "
+ + "support dynamic group.");
+ newController = preCreatedController;
+
+ } else {
+ newController = route.getProviderInstance().onCreateRouteController(
+ route.mDescriptorId);
+ }
+ }
+
+ if (newController instanceof DynamicGroupRouteController) {
+ ((DynamicGroupRouteController) newController).setOnDynamicRoutesChangedListener(
+ ContextCompat.getMainExecutor(mApplicationContext),
+ mDynamicRoutesListener);
+ }
+
+ mSelectedRouteController = newController;
+ mSelectedRoute = route;
+
+ // Pre-created controller is already selected, so don't need to call onSelect() again.
+ if (mSelectedRouteController != null && preCreatedController == null) {
+ mSelectedRouteController.onSelect();
+ }
+
+ if (DEBUG) {
+ Log.d(TAG, "Route selected: " + mSelectedRoute);
+ }
+ mCallbackHandler.post(CallbackHandler.MSG_ROUTE_SELECTED, mSelectedRoute);
+
+ if (mSelectedRoute.isGroup()) {
+ List<RouteInfo> routes = mSelectedRoute.getMemberRoutes();
+ mRouteControllerMap.clear();
+ for (RouteInfo memberRoute : routes) {
+ RouteController memberRouteController =
+ memberRoute.getProviderInstance().onCreateRouteController(
+ memberRoute.mDescriptorId, mSelectedRoute.mDescriptorId);
+ memberRouteController.onSelect();
+ mRouteControllerMap.put(memberRoute.mUniqueId, memberRouteController);
+ }
+ }
+ updatePlaybackInfoFromSelectedRoute();
}
DynamicGroupRouteController.OnDynamicRoutesChangedListener mDynamicRoutesListener =
@@ -2993,6 +3137,33 @@
MediaRouteProviderDescriptor descriptor) {
updateProviderDescriptor(provider, descriptor);
}
+
+ @Override
+ public void onDynamicGroupRouteControllerCreatedWithoutRequest(
+ @NonNull MediaRouteProvider provider,
+ @NonNull DynamicGroupRouteController controller,
+ @NonNull String routeId) {
+
+ String uniqueRouteId = getUniqueId(new ProviderInfo(provider), routeId);
+
+ RouteInfo route = null;
+ for (RouteInfo r : getRoutes()) {
+ if (r.getId().equals(uniqueRouteId)) {
+ route = r;
+ break;
+ }
+ }
+
+ if (route == null) {
+ Log.w(TAG, "onDynamicGroupRouteControllerCreatedWithoutRequest: "
+ + "the selected route does not exist. uniqueRouteId=" + uniqueRouteId);
+ controller.onUnselect();
+ controller.onRelease();
+ return;
+ }
+
+ setSelectedRouteInternal(route, UNSELECT_REASON_ROUTE_CHANGED, controller);
+ }
}
private final class MediaSessionRecord {
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter2Utils.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter2Utils.java
new file mode 100644
index 0000000..3f299bc
--- /dev/null
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter2Utils.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2020 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 androidx.mediarouter.media;
+
+import static android.media.MediaRoute2Info.FEATURE_LIVE_AUDIO;
+import static android.media.MediaRoute2Info.FEATURE_LIVE_VIDEO;
+import static android.media.MediaRoute2Info.FEATURE_REMOTE_PLAYBACK;
+
+import android.annotation.SuppressLint;
+import android.content.IntentFilter;
+import android.media.MediaRoute2Info;
+import android.os.Build;
+
+import androidx.annotation.RequiresApi;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+//TODO: Remove SuppressLInt
+@SuppressLint("NewApi")
+@RequiresApi(api = Build.VERSION_CODES.R)
+class MediaRouter2Utils {
+ //TODO: Once the prebuilt is updated, use those in MediaRoute2Info.
+ static final String FEATURE_EMPTY = "android.media.route.feature.EMPTY";
+
+ private MediaRouter2Utils() {}
+
+ public static MediaRoute2Info toFwkMediaRoute2Info(MediaRouteDescriptor descriptor) {
+ MediaRoute2Info.Builder builder = new MediaRoute2Info.Builder(descriptor.getId(),
+ descriptor.getName())
+ .setDescription(descriptor.getDescription())
+ .setConnectionState(descriptor.getConnectionState())
+ .setVolumeHandling(descriptor.getVolumeHandling())
+ .setVolume(descriptor.getVolume())
+ .setVolumeMax(descriptor.getVolumeMax())
+ .addFeatures(getFeaturesFromIntentFilters(descriptor.getControlFilters()))
+ .setIconUri(descriptor.getIconUri())
+ .setExtras(descriptor.getExtras())
+ //TODO: set device type (for SystemUI to display proper icon?)
+ //.setDeviceType(deviceType)
+ //TODO: set client package name
+ //.setClientPackageName(clientMap.get(device.getDeviceId()))
+ ;
+
+ // This is a workaround for preventing IllegalArgumentException in MediaRoute2Info.
+ if (descriptor.getControlFilters().isEmpty()) {
+ builder.addFeature(FEATURE_EMPTY);
+ }
+
+ return builder.build();
+ }
+
+ static Collection<String> getFeaturesFromIntentFilters(List<IntentFilter> controlFilters) {
+ Set<String> features = new HashSet<String>();
+ for (IntentFilter filter : controlFilters) {
+ int count = filter.countCategories();
+ for (int i = 0; i < count; i++) {
+ features.add(toRouteFeature(filter.getCategory(i)));
+ }
+ }
+ return features;
+ }
+
+ static String toRouteFeature(String controlCategory) {
+ switch (controlCategory) {
+ case MediaControlIntent.CATEGORY_LIVE_AUDIO:
+ return FEATURE_LIVE_AUDIO;
+ case MediaControlIntent.CATEGORY_LIVE_VIDEO:
+ return FEATURE_LIVE_VIDEO;
+ case MediaControlIntent.CATEGORY_REMOTE_PLAYBACK:
+ return FEATURE_REMOTE_PLAYBACK;
+ }
+ return controlCategory;
+ }
+
+ static String toControlCategory(String routeFeature) {
+ switch (routeFeature) {
+ case FEATURE_LIVE_AUDIO:
+ return MediaControlIntent.CATEGORY_LIVE_AUDIO;
+ case FEATURE_LIVE_VIDEO:
+ return MediaControlIntent.CATEGORY_LIVE_VIDEO;
+ case FEATURE_REMOTE_PLAYBACK:
+ return MediaControlIntent.CATEGORY_REMOTE_PLAYBACK;
+ }
+ return routeFeature;
+ }
+}
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProvider.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProvider.java
index 6456958..1a6f3d2 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProvider.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProvider.java
@@ -16,51 +16,45 @@
package androidx.mediarouter.media;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_CONTROLLER_ID;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_CONTROLLER_INFO;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_MEMBER_ROUTE_ID;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_MEMBER_ROUTE_IDS;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_PROVIDER_DESCRIPTOR;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_ROUTE_ID;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_ROUTE_LIBRARY_GROUP;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_UNSELECT_REASON;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_DATA_VOLUME;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_ADD_MEMBER_ROUTE;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .CLIENT_MSG_CREATE_DYNAMIC_GROUP_ROUTE_CONTROLLER;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .CLIENT_MSG_CREATE_ROUTE_CONTROLLER;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_CREATE_DYNAMIC_GROUP_ROUTE_CONTROLLER;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_CREATE_ROUTE_CONTROLLER;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_REGISTER;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .CLIENT_MSG_RELEASE_ROUTE_CONTROLLER;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_RELEASE_ROUTE_CONTROLLER;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_REMOVE_MEMBER_ROUTE;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .CLIENT_MSG_ROUTE_CONTROL_REQUEST;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_ROUTE_CONTROL_REQUEST;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_SELECT_ROUTE;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .CLIENT_MSG_SET_DISCOVERY_REQUEST;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_SET_DISCOVERY_REQUEST;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_SET_ROUTE_VOLUME;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_UNREGISTER;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_UNSELECT_ROUTE;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_UPDATE_MEMBER_ROUTES;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_MSG_UPDATE_ROUTE_VOLUME;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.CLIENT_VERSION_CURRENT;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .DATA_KEY_DYNAMIC_ROUTE_DESCRIPTORS;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.DATA_KEY_DYNAMIC_ROUTE_DESCRIPTORS;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.DATA_KEY_GROUPABLE_SECION_TITLE;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .DATA_KEY_TRANSFERABLE_SECTION_TITLE;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.DATA_KEY_TRANSFERABLE_SECTION_TITLE;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_DATA_ERROR;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .SERVICE_MSG_CONTROL_REQUEST_FAILED;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .SERVICE_MSG_CONTROL_REQUEST_SUCCEEDED;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_CONTROL_REQUEST_FAILED;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_CONTROL_REQUEST_SUCCEEDED;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_DESCRIPTOR_CHANGED;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .SERVICE_MSG_DYNAMIC_ROUTE_CREATED;
-import static androidx.mediarouter.media.MediaRouteProviderProtocol
- .SERVICE_MSG_DYNAMIC_ROUTE_DESCRIPTORS_CHANGED;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_DYNAMIC_ROUTE_CREATED;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_DYNAMIC_ROUTE_CREATED_WITHOUT_REQUEST;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_DYNAMIC_ROUTE_DESCRIPTORS_CHANGED;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_GENERIC_FAILURE;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_GENERIC_SUCCESS;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_MSG_REGISTERED;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_VERSION_1;
+import static androidx.mediarouter.media.MediaRouteProviderProtocol.SERVICE_VERSION_3;
import static androidx.mediarouter.media.MediaRouteProviderProtocol.isValidRemoteMessenger;
import android.content.ComponentName;
@@ -80,8 +74,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController
- .DynamicRouteDescriptor;
+import androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor;
import androidx.mediarouter.media.MediaRouter.ControlRequestCallback;
import java.lang.ref.WeakReference;
@@ -102,6 +95,7 @@
new ArrayList<ControllerConnection>();
private boolean mStarted;
+ private boolean mTransferEnabled;
private boolean mBound;
private Connection mActiveConnection;
private boolean mConnectionReady;
@@ -113,6 +107,41 @@
mPrivateHandler = new PrivateHandler();
}
+ public DynamicGroupRouteController createControllerWithoutRequest(
+ @NonNull Bundle controllerInfo) {
+ MediaRouteProviderDescriptor descriptor = getDescriptor();
+ if (descriptor == null) {
+ return null;
+ }
+
+ String routeId = controllerInfo.getString(CLIENT_DATA_ROUTE_ID);
+ int controllerId = controllerInfo.getInt(CLIENT_DATA_CONTROLLER_ID, -1);
+ String groupableSectionTitle = controllerInfo.getString(DATA_KEY_GROUPABLE_SECION_TITLE);
+ String transferableSectionTitle =
+ controllerInfo.getString(DATA_KEY_TRANSFERABLE_SECTION_TITLE);
+
+ if (routeId == null || controllerId == -1) {
+ Log.w(TAG, "createControllerWithoutRequest: Wrong controller info. routeId=" + routeId
+ + " controllerId=" + controllerId);
+ return null;
+ }
+
+ List<MediaRouteDescriptor> routes = descriptor.getRoutes();
+ for (MediaRouteDescriptor route : routes) {
+ if (route.getId().equals(routeId)) {
+ RegisteredDynamicController controller = new RegisteredDynamicController(routeId);
+ controller.setInitialInfo(controllerId, true, mActiveConnection,
+ groupableSectionTitle, transferableSectionTitle);
+ mControllerConnections.add(controller);
+ updateBinding();
+ return controller;
+ }
+ }
+
+ Log.w(TAG, "createControllerWithoutRequest: Could not find the route. routeId=" + routeId);
+ return null;
+ }
+
@Override
public RouteController onCreateRouteController(@NonNull String routeId) {
if (routeId == null) {
@@ -215,6 +244,16 @@
}
}
+ public void enableTransfer(boolean shouldUpdateBinding) {
+ mTransferEnabled = true;
+ if (DEBUG) {
+ Log.d(TAG, this + ": Enabling transfer");
+ }
+ if (shouldUpdateBinding) {
+ updateBinding();
+ }
+ }
+
public void rebindIfDisconnected() {
if (mActiveConnection == null && shouldBind()) {
unbind();
@@ -232,6 +271,11 @@
private boolean shouldBind() {
if (mStarted) {
+ // When transfer is enabled, we need to keep the connection.
+ if (mTransferEnabled) {
+ return true;
+ }
+
// Bind whenever there is a discovery request.
if (getDiscoveryRequest() != null) {
return true;
@@ -381,6 +425,26 @@
}
}
+ void onDynamicRouteGroupControllerCreatedWithoutRequest(@NonNull Connection connection,
+ @NonNull Bundle controllerInfo) {
+ if (mActiveConnection == connection) {
+ if (DEBUG) {
+ Log.d(TAG, this + ": DynamicRouteGroupController created without request, "
+ + "controllerInfo=" + controllerInfo);
+ }
+
+ DynamicGroupRouteController controller = createControllerWithoutRequest(controllerInfo);
+ if (controller == null) {
+ Log.w(TAG, this + ": invalid DynamicRouteGroupController info. Ignoring.");
+ return;
+ }
+
+ String routeId = controllerInfo.getString(CLIENT_DATA_ROUTE_ID);
+ mPrivateHandler.post(() ->
+ deliverDynamicGroupRouteControllerCreatedWithoutRequest(controller, routeId));
+ }
+ }
+
private ControllerConnection findControllerById(int id) {
for (ControllerConnection controller: mControllerConnections) {
if (controller.getControllerId() == id) {
@@ -443,6 +507,16 @@
mInitialMemberRouteId = initialMemberRouteId;
}
+ // Use this only for pre-created controllers.
+ void setInitialInfo(int controllerId, boolean selected, @Nullable Connection connection,
+ @Nullable String groupableSectionTitle, @Nullable String transferableSectionTitle) {
+ mControllerId = controllerId;
+ mSelected = selected;
+ mConnection = connection;
+ mGroupableSectionTitle = groupableSectionTitle;
+ mTransferableSectionTitle = transferableSectionTitle;
+ }
+
/////////////////////////////////////
// Implements Controller
@Override
@@ -832,6 +906,30 @@
}
}
+ public void onDynamicGroupRouteControllerCreatedWithoutRequest(@NonNull Bundle data) {
+ if (mServiceVersion >= SERVICE_VERSION_3) {
+ MediaRouteProviderDescriptor providerDescriptor =
+ MediaRouteProviderDescriptor.fromBundle(
+ data.getBundle(CLIENT_DATA_PROVIDER_DESCRIPTOR));
+ Bundle controllerInfo = data.getBundle(CLIENT_DATA_CONTROLLER_INFO);
+
+ if (providerDescriptor == null) {
+ Log.w(TAG, "onDynamicGroupRouteControllerCreatedWithoutRequest: "
+ + "Ignoring null provider descriptor.");
+ return;
+ }
+
+ if (controllerInfo == null) {
+ Log.w(TAG, "onDynamicGroupRouteControllerCreatedWithoutRequest: "
+ + "Ignoring null controllerInfo Bundle.");
+ return;
+ }
+
+ onConnectionDescriptorChanged(this, providerDescriptor);
+ onDynamicRouteGroupControllerCreatedWithoutRequest(this, controllerInfo);
+ }
+ }
+
@Override
public void binderDied() {
mPrivateHandler.post(new Runnable() {
@@ -1053,6 +1151,13 @@
Log.w(TAG, "No further information on the dynamic group controller");
}
break;
+ case SERVICE_MSG_DYNAMIC_ROUTE_CREATED_WITHOUT_REQUEST:
+ if (obj instanceof Bundle) {
+ connection.onDynamicGroupRouteControllerCreatedWithoutRequest((Bundle) obj);
+ } else {
+ Log.w(TAG, "No further information on the dynamic group controller");
+ }
+ break;
}
return false;
}
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProviderWatcher.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProviderWatcher.java
index f268f12..d9b9885 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProviderWatcher.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/RegisteredMediaRouteProviderWatcher.java
@@ -44,6 +44,7 @@
private final ArrayList<RegisteredMediaRouteProvider> mProviders =
new ArrayList<RegisteredMediaRouteProvider>();
private boolean mRunning;
+ private boolean mTransferEnabled;
public RegisteredMediaRouteProviderWatcher(Context context, Callback callback) {
mContext = context;
@@ -85,6 +86,13 @@
}
}
+ public void enableTransfer() {
+ mTransferEnabled = true;
+ for (int i = mProviders.size() - 1; i >= 0; i--) {
+ mProviders.get(i).enableTransfer(/* shouldUpdateBinding = */ true);
+ }
+ }
+
void scanPackages() {
if (!mRunning) {
return;
@@ -102,11 +110,17 @@
RegisteredMediaRouteProvider provider =
new RegisteredMediaRouteProvider(mContext,
new ComponentName(serviceInfo.packageName, serviceInfo.name));
+ if (mTransferEnabled) {
+ provider.enableTransfer(/* shouldUpdateBinding = */ false);
+ }
provider.start();
mProviders.add(targetIndex++, provider);
mCallback.addProvider(provider);
} else if (sourceIndex >= targetIndex) {
RegisteredMediaRouteProvider provider = mProviders.get(sourceIndex);
+ if (mTransferEnabled) {
+ provider.enableTransfer(/* shouldUpdateBinding = */ false);
+ }
provider.start(); // restart the provider if needed
provider.rebindIfDisconnected();
Collections.swap(mProviders, sourceIndex, targetIndex++);
diff --git a/paging/runtime/api/api_lint.ignore b/paging/runtime/api/api_lint.ignore
index 9e7a61c..fab1022 100644
--- a/paging/runtime/api/api_lint.ignore
+++ b/paging/runtime/api/api_lint.ignore
@@ -9,8 +9,6 @@
Listeners should always be at end of argument list (method `AsyncPagedListDiffer`)
-MissingNullability: androidx.paging.AsyncPagingDataDiffer#presentData(androidx.paging.PagingData<T>, kotlin.coroutines.Continuation<? super kotlin.Unit>):
- Missing nullability on method `presentData` return
MissingNullability: androidx.paging.PagingDataAdapter#presentData(androidx.paging.PagingData<T>, kotlin.coroutines.Continuation<? super kotlin.Unit>):
Missing nullability on method `presentData` return
diff --git a/palette/palette/api/1.1.0-alpha01.txt b/palette/palette/api/1.1.0-alpha01.txt
index c9e21b3..b2c87a6 100644
--- a/palette/palette/api/1.1.0-alpha01.txt
+++ b/palette/palette/api/1.1.0-alpha01.txt
@@ -37,7 +37,7 @@
method public androidx.palette.graphics.Palette.Builder clearRegion();
method public androidx.palette.graphics.Palette.Builder clearTargets();
method public androidx.palette.graphics.Palette generate();
- method public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
+ method @Deprecated public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
method public androidx.palette.graphics.Palette.Builder maximumColorCount(int);
method public androidx.palette.graphics.Palette.Builder resizeBitmapArea(int);
method @Deprecated public androidx.palette.graphics.Palette.Builder resizeBitmapSize(int);
diff --git a/palette/palette/api/current.txt b/palette/palette/api/current.txt
index c9e21b3..b2c87a6 100644
--- a/palette/palette/api/current.txt
+++ b/palette/palette/api/current.txt
@@ -37,7 +37,7 @@
method public androidx.palette.graphics.Palette.Builder clearRegion();
method public androidx.palette.graphics.Palette.Builder clearTargets();
method public androidx.palette.graphics.Palette generate();
- method public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
+ method @Deprecated public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
method public androidx.palette.graphics.Palette.Builder maximumColorCount(int);
method public androidx.palette.graphics.Palette.Builder resizeBitmapArea(int);
method @Deprecated public androidx.palette.graphics.Palette.Builder resizeBitmapSize(int);
diff --git a/palette/palette/api/public_plus_experimental_1.1.0-alpha01.txt b/palette/palette/api/public_plus_experimental_1.1.0-alpha01.txt
index c9e21b3..b2c87a6 100644
--- a/palette/palette/api/public_plus_experimental_1.1.0-alpha01.txt
+++ b/palette/palette/api/public_plus_experimental_1.1.0-alpha01.txt
@@ -37,7 +37,7 @@
method public androidx.palette.graphics.Palette.Builder clearRegion();
method public androidx.palette.graphics.Palette.Builder clearTargets();
method public androidx.palette.graphics.Palette generate();
- method public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
+ method @Deprecated public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
method public androidx.palette.graphics.Palette.Builder maximumColorCount(int);
method public androidx.palette.graphics.Palette.Builder resizeBitmapArea(int);
method @Deprecated public androidx.palette.graphics.Palette.Builder resizeBitmapSize(int);
diff --git a/palette/palette/api/public_plus_experimental_current.txt b/palette/palette/api/public_plus_experimental_current.txt
index c9e21b3..b2c87a6 100644
--- a/palette/palette/api/public_plus_experimental_current.txt
+++ b/palette/palette/api/public_plus_experimental_current.txt
@@ -37,7 +37,7 @@
method public androidx.palette.graphics.Palette.Builder clearRegion();
method public androidx.palette.graphics.Palette.Builder clearTargets();
method public androidx.palette.graphics.Palette generate();
- method public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
+ method @Deprecated public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
method public androidx.palette.graphics.Palette.Builder maximumColorCount(int);
method public androidx.palette.graphics.Palette.Builder resizeBitmapArea(int);
method @Deprecated public androidx.palette.graphics.Palette.Builder resizeBitmapSize(int);
diff --git a/palette/palette/api/restricted_1.1.0-alpha01.txt b/palette/palette/api/restricted_1.1.0-alpha01.txt
index c9e21b3..b2c87a6 100644
--- a/palette/palette/api/restricted_1.1.0-alpha01.txt
+++ b/palette/palette/api/restricted_1.1.0-alpha01.txt
@@ -37,7 +37,7 @@
method public androidx.palette.graphics.Palette.Builder clearRegion();
method public androidx.palette.graphics.Palette.Builder clearTargets();
method public androidx.palette.graphics.Palette generate();
- method public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
+ method @Deprecated public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
method public androidx.palette.graphics.Palette.Builder maximumColorCount(int);
method public androidx.palette.graphics.Palette.Builder resizeBitmapArea(int);
method @Deprecated public androidx.palette.graphics.Palette.Builder resizeBitmapSize(int);
diff --git a/palette/palette/api/restricted_current.txt b/palette/palette/api/restricted_current.txt
index c9e21b3..b2c87a6 100644
--- a/palette/palette/api/restricted_current.txt
+++ b/palette/palette/api/restricted_current.txt
@@ -37,7 +37,7 @@
method public androidx.palette.graphics.Palette.Builder clearRegion();
method public androidx.palette.graphics.Palette.Builder clearTargets();
method public androidx.palette.graphics.Palette generate();
- method public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
+ method @Deprecated public android.os.AsyncTask<android.graphics.Bitmap!,java.lang.Void!,androidx.palette.graphics.Palette!> generate(androidx.palette.graphics.Palette.PaletteAsyncListener);
method public androidx.palette.graphics.Palette.Builder maximumColorCount(int);
method public androidx.palette.graphics.Palette.Builder resizeBitmapArea(int);
method @Deprecated public androidx.palette.graphics.Palette.Builder resizeBitmapSize(int);
diff --git a/palette/palette/src/main/java/androidx/palette/graphics/ColorCutQuantizer.java b/palette/palette/src/main/java/androidx/palette/graphics/ColorCutQuantizer.java
index b054edf..d9424e1 100644
--- a/palette/palette/src/main/java/androidx/palette/graphics/ColorCutQuantizer.java
+++ b/palette/palette/src/main/java/androidx/palette/graphics/ColorCutQuantizer.java
@@ -17,7 +17,6 @@
package androidx.palette.graphics;
import android.graphics.Color;
-import android.util.TimingLogger;
import androidx.annotation.Nullable;
import androidx.core.graphics.ColorUtils;
@@ -43,10 +42,6 @@
* colors.
*/
final class ColorCutQuantizer {
-
- private static final String LOG_TAG = "ColorCutQuantizer";
- private static final boolean LOG_TIMINGS = false;
-
static final int COMPONENT_RED = -3;
static final int COMPONENT_GREEN = -2;
static final int COMPONENT_BLUE = -1;
@@ -57,7 +52,6 @@
final int[] mColors;
final int[] mHistogram;
final List<Palette.Swatch> mQuantizedColors;
- @Nullable final TimingLogger mTimingLogger;
@Nullable final Palette.Filter[] mFilters;
private final float[] mTempHsl = new float[3];
@@ -69,9 +63,7 @@
* @param maxColors The maximum number of colors that should be in the result palette.
* @param filters Set of filters to use in the quantization stage
*/
- @SuppressWarnings("NullAway") // mTimingLogger initialization and access guarded by LOG_TIMINGS.
ColorCutQuantizer(int[] pixels, int maxColors, @Nullable Palette.Filter[] filters) {
- mTimingLogger = LOG_TIMINGS ? new TimingLogger(LOG_TAG, "Creation") : null;
mFilters = filters;
final int[] hist = mHistogram = new int[1 << (QUANTIZE_WORD_WIDTH * 3)];
@@ -83,10 +75,6 @@
hist[quantizedColor]++;
}
- if (LOG_TIMINGS) {
- mTimingLogger.addSplit("Histogram created");
- }
-
// Now let's count the number of distinct colors
int distinctColorCount = 0;
for (int color = 0; color < hist.length; color++) {
@@ -100,10 +88,6 @@
}
}
- if (LOG_TIMINGS) {
- mTimingLogger.addSplit("Filtered colors and distinct colors counted");
- }
-
// Now lets go through create an array consisting of only distinct colors
final int[] colors = mColors = new int[distinctColorCount];
int distinctColorIndex = 0;
@@ -113,29 +97,15 @@
}
}
- if (LOG_TIMINGS) {
- mTimingLogger.addSplit("Distinct colors copied into array");
- }
-
if (distinctColorCount <= maxColors) {
// The image has fewer colors than the maximum requested, so just return the colors
mQuantizedColors = new ArrayList<>();
for (int color : colors) {
mQuantizedColors.add(new Palette.Swatch(approximateToRgb888(color), hist[color]));
}
-
- if (LOG_TIMINGS) {
- mTimingLogger.addSplit("Too few colors present. Copied to Swatches");
- mTimingLogger.dumpToLog();
- }
} else {
// We need use quantization to reduce the number of colors
mQuantizedColors = quantizePixels(maxColors);
-
- if (LOG_TIMINGS) {
- mTimingLogger.addSplit("Quantized colors computed");
- mTimingLogger.dumpToLog();
- }
}
}
@@ -171,7 +141,6 @@
* @param queue {@link java.util.PriorityQueue} to poll for boxes
* @param maxSize Maximum amount of boxes to split
*/
- @SuppressWarnings("NullAway") // mTimingLogger initialization and access guarded by LOG_TIMINGS.
private void splitBoxes(final PriorityQueue<Vbox> queue, final int maxSize) {
while (queue.size() < maxSize) {
final Vbox vbox = queue.poll();
@@ -179,16 +148,9 @@
if (vbox != null && vbox.canSplit()) {
// First split the box, and offer the result
queue.offer(vbox.splitBox());
-
- if (LOG_TIMINGS) {
- mTimingLogger.addSplit("Box split");
- }
// Then offer the box back
queue.offer(vbox);
} else {
- if (LOG_TIMINGS) {
- mTimingLogger.addSplit("All boxes split");
- }
// If we get here then there are no more boxes to split, so return
return;
}
diff --git a/palette/palette/src/main/java/androidx/palette/graphics/Palette.java b/palette/palette/src/main/java/androidx/palette/graphics/Palette.java
index 5ce2665..0fe8091 100644
--- a/palette/palette/src/main/java/androidx/palette/graphics/Palette.java
+++ b/palette/palette/src/main/java/androidx/palette/graphics/Palette.java
@@ -19,10 +19,8 @@
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.Rect;
-import android.os.AsyncTask;
import android.util.Log;
import android.util.SparseBooleanArray;
-import android.util.TimingLogger;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
@@ -30,6 +28,7 @@
import androidx.annotation.Px;
import androidx.collection.SimpleArrayMap;
import androidx.core.graphics.ColorUtils;
+import androidx.core.util.Preconditions;
import java.util.ArrayList;
import java.util.Arrays;
@@ -135,7 +134,7 @@
*/
@NonNull
@Deprecated
- public static AsyncTask<Bitmap, Void, Palette> generateAsync(
+ public static android.os.AsyncTask<Bitmap, Void, Palette> generateAsync(
@NonNull Bitmap bitmap, @NonNull PaletteAsyncListener listener) {
return from(bitmap).generate(listener);
}
@@ -145,7 +144,7 @@
*/
@NonNull
@Deprecated
- public static AsyncTask<Bitmap, Void, Palette> generateAsync(
+ public static android.os.AsyncTask<Bitmap, Void, Palette> generateAsync(
@NonNull Bitmap bitmap, int numColors, @NonNull PaletteAsyncListener listener) {
return from(bitmap).maximumColorCount(numColors).generate(listener);
}
@@ -777,10 +776,6 @@
*/
@NonNull
public Palette generate() {
- final TimingLogger logger = LOG_TIMINGS
- ? new TimingLogger(LOG_TAG, "Generation")
- : null;
-
List<Swatch> swatches;
if (mBitmap != null) {
@@ -789,10 +784,6 @@
// First we'll scale down the bitmap if needed
final Bitmap bitmap = scaleBitmapDown(mBitmap);
- if (logger != null) {
- logger.addSplit("Processed Bitmap");
- }
-
final Rect region = mRegion;
if (bitmap != mBitmap && region != null) {
// If we have a scaled bitmap and a selected region, we need to scale down the
@@ -818,10 +809,6 @@
}
swatches = quantizer.getQuantizedColors();
-
- if (logger != null) {
- logger.addSplit("Color quantization completed");
- }
} else if (mSwatches != null) {
// Else we're using the provided swatches
swatches = mSwatches;
@@ -835,11 +822,6 @@
// And make it generate itself
p.generate();
- if (logger != null) {
- logger.addSplit("Created Palette");
- logger.dumpToLog();
- }
-
return p;
}
@@ -847,15 +829,18 @@
* Generate the {@link Palette} asynchronously. The provided listener's
* {@link PaletteAsyncListener#onGenerated} method will be called with the palette when
* generated.
+ *
+ * @deprecated Use the standard <code>java.util.concurrent</code> or
+ * <a href="https://developer.android.com/topic/libraries/architecture/coroutines">
+ * Kotlin concurrency utilities</a> to call {@link #generate()} instead.
*/
@NonNull
- public AsyncTask<Bitmap, Void, Palette> generate(
+ @Deprecated
+ public android.os.AsyncTask<Bitmap, Void, Palette> generate(
@NonNull final PaletteAsyncListener listener) {
- if (listener == null) {
- throw new IllegalArgumentException("listener can not be null");
- }
+ Preconditions.checkNotNull(listener);
- return new AsyncTask<Bitmap, Void, Palette>() {
+ return new android.os.AsyncTask<Bitmap, Void, Palette>() {
@Override
@Nullable
protected Palette doInBackground(Bitmap... params) {
@@ -871,7 +856,7 @@
protected void onPostExecute(@Nullable Palette colorExtractor) {
listener.onGenerated(colorExtractor);
}
- }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, mBitmap);
+ }.executeOnExecutor(android.os.AsyncTask.THREAD_POOL_EXECUTOR, mBitmap);
}
private int[] getPixelsFromBitmap(Bitmap bitmap) {
diff --git a/preference/preference/src/androidTest/java/androidx/preference/tests/SeekBarPreferenceTest.kt b/preference/preference/src/androidTest/java/androidx/preference/tests/SeekBarPreferenceTest.kt
index cf2753b..e450f2b 100644
--- a/preference/preference/src/androidTest/java/androidx/preference/tests/SeekBarPreferenceTest.kt
+++ b/preference/preference/src/androidTest/java/androidx/preference/tests/SeekBarPreferenceTest.kt
@@ -259,6 +259,7 @@
// We want to swipe all the way to the right edge of the screen to avoid
// flakiness due to sometimes not reaching the end of the seekbar
val metrics = DisplayMetrics()
+ @Suppress("DEPRECATION") /* defaultDisplay */
activityRule.activity.windowManager.defaultDisplay.getMetrics(metrics)
val posX = metrics.widthPixels
val posY = location[1]
diff --git a/print/print/src/main/java/androidx/print/PrintHelper.java b/print/print/src/main/java/androidx/print/PrintHelper.java
index 260c6c3..ccbbad9 100644
--- a/print/print/src/main/java/androidx/print/PrintHelper.java
+++ b/print/print/src/main/java/androidx/print/PrintHelper.java
@@ -29,7 +29,6 @@
import android.graphics.RectF;
import android.graphics.pdf.PdfDocument;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.CancellationSignal;
@@ -57,6 +56,7 @@
/**
* Helper for printing bitmaps.
*/
+@SuppressWarnings("deprecation")
public final class PrintHelper {
private static final String LOG_TAG = "PrintHelper";
// will be <= 300 dpi on A4 (8.3×11.7) paper (worst case of 150 dpi)
@@ -376,6 +376,7 @@
printManager.print(jobName, printDocumentAdapter, attr);
}
+ @SuppressWarnings("deprecation")
@RequiresApi(19)
private class PrintUriAdapter extends PrintDocumentAdapter {
final String mJobName;
@@ -383,7 +384,7 @@
final OnPrintFinishCallback mCallback;
final int mFittingMode;
PrintAttributes mAttributes;
- AsyncTask<Uri, Boolean, Bitmap> mLoadBitmap;
+ android.os.AsyncTask<Uri, Boolean, Bitmap> mLoadBitmap;
Bitmap mBitmap;
PrintUriAdapter(String jobName, Uri imageFile, OnPrintFinishCallback callback,
@@ -422,7 +423,7 @@
return;
}
- mLoadBitmap = new AsyncTask<Uri, Boolean, Bitmap>() {
+ mLoadBitmap = new android.os.AsyncTask<Uri, Boolean, Bitmap>() {
@Override
protected void onPreExecute() {
// First register for cancellation requests.
@@ -633,7 +634,7 @@
.setMinMargins(new PrintAttributes.Margins(0, 0, 0, 0)).build();
}
- new AsyncTask<Void, Void, Throwable>() {
+ new android.os.AsyncTask<Void, Void, Throwable>() {
@Override
protected Throwable doInBackground(Void... params) {
try {
diff --git a/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/MessageThreadUtil.java b/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/MessageThreadUtil.java
index 7234d92..b56802e3 100644
--- a/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/MessageThreadUtil.java
+++ b/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/MessageThreadUtil.java
@@ -16,7 +16,6 @@
package androidx.recyclerview.widget;
-import android.os.AsyncTask;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
@@ -83,11 +82,12 @@
};
}
+ @SuppressWarnings("deprecation") /* AsyncTask */
@Override
public BackgroundCallback<T> getBackgroundProxy(final BackgroundCallback<T> callback) {
return new BackgroundCallback<T>() {
final MessageQueue mQueue = new MessageQueue();
- private final Executor mExecutor = AsyncTask.THREAD_POOL_EXECUTOR;
+ private final Executor mExecutor = android.os.AsyncTask.THREAD_POOL_EXECUTOR;
AtomicBoolean mBackgroundRunning = new AtomicBoolean(false);
static final int REFRESH = 1;
diff --git a/room/runtime/src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt b/room/runtime/src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt
index bb539aa..91d15b3 100644
--- a/room/runtime/src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt
+++ b/room/runtime/src/test/java/androidx/room/SQLiteCopyOpenHelperTest.kt
@@ -239,8 +239,10 @@
// Spawns a new Java process to perform a copy using the open helper.
private fun spawnCopyProcess(copyFromFile: File): Process {
- val javaBin = System.getProperty("java.home") +
- File.separator + "bin" + File.separator + "java"
+ val home = checkNotNull(System.getProperty("java.home")) {
+ "cannot read java.home from system properties."
+ }
+ val javaBin = home + File.separator + "bin" + File.separator + "java"
val classpath = System.getProperty("java.class.path")
val mainClass = RoomCopyTestProcess::class.java.canonicalName
val tmpDirPath = tempDirectory.root.absolutePath
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/Support4Demos.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/Support4Demos.java
index d90ad1e..9d9a3ca 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/Support4Demos.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/Support4Demos.java
@@ -16,7 +16,6 @@
package com.example.android.supportv4;
-import android.app.ListActivity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -33,7 +32,8 @@
import java.util.List;
import java.util.Map;
-public class Support4Demos extends ListActivity {
+@SuppressWarnings("deprecation")
+public class Support4Demos extends android.app.ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/app/LoaderThrottleSupport.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/app/LoaderThrottleSupport.java
index 4bd2251..bd459a4 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/app/LoaderThrottleSupport.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/app/LoaderThrottleSupport.java
@@ -30,7 +30,6 @@
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteQueryBuilder;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.BaseColumns;
import android.text.TextUtils;
@@ -398,7 +397,7 @@
String mCurFilter;
// Task we have running to populate the database.
- AsyncTask<Void, Void, Void> mPopulatingTask;
+ android.os.AsyncTask<Void, Void, Void> mPopulatingTask;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
@@ -429,6 +428,7 @@
clearItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}
+ @SuppressWarnings("deprecation") /* AsyncTask */
@Override public boolean onOptionsItemSelected(MenuItem item) {
final ContentResolver cr = getActivity().getContentResolver();
@@ -437,7 +437,7 @@
if (mPopulatingTask != null) {
mPopulatingTask.cancel(false);
}
- mPopulatingTask = new AsyncTask<Void, Void, Void>() {
+ mPopulatingTask = new android.os.AsyncTask<Void, Void, Void>() {
@Override protected Void doInBackground(Void... params) {
for (char c='Z'; c>='A'; c--) {
if (isCancelled()) {
@@ -465,13 +465,13 @@
mPopulatingTask.cancel(false);
mPopulatingTask = null;
}
- AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>() {
- @Override protected Void doInBackground(Void... params) {
+ new android.os.AsyncTask<Void, Void, Void>() {
+ @Override
+ protected Void doInBackground(Void... params) {
cr.delete(MainTable.CONTENT_URI, null, null);
return null;
}
- };
- task.execute((Void[])null);
+ }.execute((Void[]) null);
return true;
default:
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/AlbumArtCache.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/AlbumArtCache.java
index df74abc..10b85c8 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/AlbumArtCache.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/AlbumArtCache.java
@@ -17,7 +17,6 @@
package com.example.android.supportv4.media;
import android.graphics.Bitmap;
-import android.os.AsyncTask;
import android.util.Log;
import androidx.collection.LruCache;
@@ -79,6 +78,7 @@
return result == null ? null : result[ICON_BITMAP_INDEX];
}
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void fetch(final String artUrl, final FetchListener listener) {
// WARNING: for the sake of simplicity, simultaneous multi-thread fetch requests
// are not handled properly: they may cause redundant costly operations, like HTTP
@@ -92,7 +92,7 @@
}
Log.d(TAG, "getOrFetch: starting asynctask to fetch " + artUrl);
- new AsyncTask<Void, Void, Bitmap[]>() {
+ new android.os.AsyncTask<Void, Void, Bitmap[]>() {
@Override
protected Bitmap[] doInBackground(Void... objects) {
Bitmap[] bitmaps;
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/model/MusicProvider.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/model/MusicProvider.java
index 0e2a35c..be9ab9a 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/model/MusicProvider.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/model/MusicProvider.java
@@ -16,7 +16,6 @@
package com.example.android.supportv4.media.model;
-import android.os.AsyncTask;
import android.support.v4.media.MediaMetadataCompat;
import android.util.Log;
@@ -174,6 +173,7 @@
* Get the list of music tracks from a server and caches the track information
* for future reference, keying tracks by musicId and grouping by genre.
*/
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void retrieveMediaAsync(final Callback callback) {
Log.d(TAG, "retrieveMediaAsync called");
if (mCurrentState == State.INITIALIZED) {
@@ -183,7 +183,7 @@
}
// Asynchronously load the music catalog in a separate thread
- new AsyncTask<Void, Void, State>() {
+ new android.os.AsyncTask<Void, Void, State>() {
@Override
protected State doInBackground(Void... params) {
retrieveMedia();
diff --git a/samples/Support7Demos/src/main/AndroidManifest.xml b/samples/Support7Demos/src/main/AndroidManifest.xml
index b71092f..48fd742 100644
--- a/samples/Support7Demos/src/main/AndroidManifest.xml
+++ b/samples/Support7Demos/src/main/AndroidManifest.xml
@@ -104,6 +104,7 @@
android:process=":mrp">
<intent-filter>
<action android:name="android.media.MediaRouteProviderService" />
+ <action android:name="android.media.MediaRoute2ProviderService" />
</intent-filter>
</service>
@@ -112,6 +113,7 @@
android:process=":dynamic_mrp">
<intent-filter>
<action android:name="android.media.MediaRouteProviderService" />
+ <action android:name="android.media.MediaRoute2ProviderService" />
</intent-filter>
</service>
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/Support7Demos.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/Support7Demos.java
index 21cad28..3feb3f3 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/Support7Demos.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/Support7Demos.java
@@ -16,7 +16,6 @@
package com.example.android.supportv7;
-import android.app.ListActivity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -33,7 +32,8 @@
import java.util.List;
import java.util.Map;
-public class Support7Demos extends ListActivity {
+@SuppressWarnings("deprecation")
+public class Support7Demos extends android.app.ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/ImageLoader.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/ImageLoader.java
index 35c7e6e..a1ef580 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/ImageLoader.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/ImageLoader.java
@@ -17,7 +17,6 @@
package com.example.android.supportv7.graphics;
import android.graphics.Bitmap;
-import android.os.AsyncTask;
import android.provider.MediaStore;
import android.widget.ImageView;
@@ -43,6 +42,7 @@
void onImageLoaded(Bitmap bitmap);
}
+ @SuppressWarnings("deprecation") /* AsyncTask */
static void loadMediaStoreThumbnail(final ImageView imageView,
final long id,
final Listener listener) {
@@ -58,7 +58,7 @@
return;
}
- new AsyncTask<Void, Void, Bitmap>() {
+ new android.os.AsyncTask<Void, Void, Bitmap>() {
@Override
protected Bitmap doInBackground(Void... params) {
return MediaStore.Images.Thumbnails.getThumbnail(
@@ -81,7 +81,7 @@
}
}
}
- }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ }.executeOnExecutor(android.os.AsyncTask.THREAD_POOL_EXECUTOR);
}
/**
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/PaletteActivity.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/PaletteActivity.java
index eb6483d..8e67c3a 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/PaletteActivity.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/PaletteActivity.java
@@ -207,6 +207,7 @@
cursor.getColumnIndexOrThrow(MediaStore.Images.ImageColumns._ID));
ImageLoader.loadMediaStoreThumbnail(imageView, id, new ImageLoader.Listener() {
+ @SuppressWarnings("deprecation")
@Override
public void onImageLoaded(Bitmap bitmap) {
new Palette.Builder(bitmap).maximumColorCount(mNumColors).generate(
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/PaletteDetailActivity.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/PaletteDetailActivity.java
index 01adffb..13d0820 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/PaletteDetailActivity.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/graphics/PaletteDetailActivity.java
@@ -126,6 +126,7 @@
ImageLoader.loadMediaStoreThumbnail(mImageView, id, new ImageLoader.Listener() {
@Override
+ @SuppressWarnings("deprecation")
public void onImageLoaded(Bitmap bitmap) {
new Palette.Builder(bitmap).maximumColorCount(numColors).generate(
new Palette.PaletteAsyncListener() {
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/OverlayDisplayWindow.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/OverlayDisplayWindow.java
index 89a4052..0efe75d 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/OverlayDisplayWindow.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/OverlayDisplayWindow.java
@@ -121,6 +121,7 @@
}
@Override
+ @SuppressWarnings("deprecation") /* getDefaultDisplay */
public void show() {
if (!mWindowVisible) {
mSurfaceView = new SurfaceView(mContext);
@@ -188,6 +189,7 @@
* Implementation for API version 17+.
*/
@RequiresApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
+ @SuppressWarnings("deprecation") /* getDefaultDisplay */
private static final class JellybeanMr1Impl extends OverlayDisplayWindow {
// When true, disables support for moving and resizing the overlay.
// The window is made non-touchable, which makes it possible to
@@ -217,6 +219,7 @@
private float mLiveTranslationY;
private float mLiveScale = 1.0f;
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public JellybeanMr1Impl(Context context, String name,
int width, int height, int gravity) {
super(context, name, width, height, gravity);
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/RemotePlayer.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/RemotePlayer.java
index aa84a22..1722592 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/RemotePlayer.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/RemotePlayer.java
@@ -127,15 +127,13 @@
if (DEBUG) {
Log.d(TAG, "play: item=" + item);
}
- mClient.play(item.getUri(), "video/mp4", null, 0, null, new ItemActionCallback() {
+ mClient.play(item.getUri(), "video/mp4", null, item.getPosition(), null,
+ new ItemActionCallback() {
@Override
public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus,
String itemId, MediaItemStatus itemStatus) {
logStatus("play: succeeded", sessionId, sessionStatus, itemId, itemStatus);
item.setRemoteItemId(itemId);
- if (item.getPosition() > 0) {
- seekInternal(item);
- }
if (item.getState() == MediaItemStatus.PLAYBACK_STATE_PAUSED) {
pause();
} else {
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleDynamicGroupMrp.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleDynamicGroupMrp.java
index a1d237b..c5b89bd 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleDynamicGroupMrp.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleDynamicGroupMrp.java
@@ -26,15 +26,16 @@
import android.util.Log;
import androidx.annotation.NonNull;
+import androidx.collection.ArrayMap;
import androidx.mediarouter.media.MediaRouteDescriptor;
import androidx.mediarouter.media.MediaRouteProvider;
import androidx.mediarouter.media.MediaRouteProviderDescriptor;
import androidx.mediarouter.media.MediaRouter.ControlRequestCallback;
+import androidx.mediarouter.media.MediaRouter.RouteInfo;
import com.example.android.supportv7.R;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
@@ -61,6 +62,12 @@
@Override
public RouteController onCreateRouteController(String routeId) {
+ MediaRouteDescriptor routeDescriptor = mRouteDescriptors.get(routeId);
+ if (routeDescriptor == null) {
+ Log.w(TAG, "onCreateRouteController: Unknown route ID " + routeId);
+ return null;
+ }
+
return new SampleDynamicGroupRouteController(routeId, null);
}
@@ -87,47 +94,49 @@
return mController;
}
- void copyRouteWithNewId(String routeId) {
+ // Make the given route a dynamic group route having a member route that is the given route
+ // device.
+ void makeDynamicGroupRoute(String routeId) {
MediaRouteDescriptor routeDescriptor = mRouteDescriptors.get(routeId);
if (routeDescriptor == null || !routeDescriptor.isValid()) {
- Log.w(TAG, "copyRouteWithNewId: Route doesn't exist or isn't valid : " + routeId);
+ Log.w(TAG, "makeDynamicGroupRoute: Route doesn't exist or isn't valid : " + routeId);
return;
}
+ // Create a new route info describing the given route.
String newRouteId = generateNewRouteId();
MediaRouteDescriptor changedDescriptor = new MediaRouteDescriptor.Builder(routeDescriptor)
.setId(newRouteId)
.build();
mRouteDescriptors.put(newRouteId, changedDescriptor);
- // Change route ids in static groups
- for (String memberRouteId : mRouteDescriptors.keySet()) {
- MediaRouteDescriptor groupDescriptor = mRouteDescriptors.get(memberRouteId);
+ // Change route ID in static groups
+ for (String groupRouteId : mRouteDescriptors.keySet()) {
+ MediaRouteDescriptor groupDescriptor = mRouteDescriptors.get(groupRouteId);
if (groupDescriptor.getGroupMemberIds().contains(routeId)) {
MediaRouteDescriptor newGroupDescriptor =
new MediaRouteDescriptor.Builder(groupDescriptor)
.removeGroupMemberId(routeId)
.addGroupMemberId(newRouteId)
.build();
- mRouteDescriptors.put(memberRouteId, newGroupDescriptor);
- mController.updateDynamicRouteDescriptor(memberRouteId);
+ mRouteDescriptors.put(groupRouteId, newGroupDescriptor);
}
}
mController.addDynamicRouteDescriptor(newRouteId);
- MediaRouteDescriptor descriptor = new MediaRouteDescriptor.Builder(routeDescriptor)
+ MediaRouteDescriptor newDescriptor = new MediaRouteDescriptor.Builder(routeDescriptor)
.setId(routeId)
.setIsDynamicGroupRoute(true)
.setName(routeDescriptor.getName() + " +")
.build();
- mRouteDescriptors.put(routeId, descriptor);
+ mRouteDescriptors.put(routeId, newDescriptor);
if (routeDescriptor.getGroupMemberIds().isEmpty()) {
- mController.onAddMemberRoute(newRouteId);
+ mController.addMember(newRouteId);
} else {
for (String memberId: routeDescriptor.getGroupMemberIds()) {
- mController.onAddMemberRoute(memberId);
+ mController.addMember(memberId);
}
}
}
@@ -252,14 +261,16 @@
extends MediaRouteProvider.DynamicGroupRouteController {
private final String mRouteId;
private final RouteControlHelper mHelper;
+ private final boolean mIsGroup;
private List<String> mMemberRouteIds = new ArrayList<>();
- private Map<String, DynamicRouteDescriptor> mDynamicRouteDescriptors = new HashMap<>();
+ private Map<String, DynamicRouteDescriptor> mDynamicRouteDescriptors = new ArrayMap<>();
private int mTvSelectedCount;
SampleDynamicGroupRouteController(String dynamicGroupRouteId,
List<String> memberIds) {
mRouteId = dynamicGroupRouteId;
+ mIsGroup = memberIds != null;
MediaRouteDescriptor selectedRouteDescriptor = mRouteDescriptors.get(mRouteId);
mTvSelectedCount = countTvFromRoute(selectedRouteDescriptor);
@@ -306,136 +317,134 @@
@Override
public void onUpdateMemberRoutes(List<String> routeIds) {
- mMemberRouteIds = routeIds;
- }
+ if (!maybeMakeGroupRoute(mRouteId)) {
+ Log.w(TAG, "onUpdateMemberRoutes: Can't find the group route : " + mRouteId);
+ return;
+ }
- private boolean ensureDynamicRoute(String routeId) {
- MediaRouteDescriptor selectedRouteDescriptor = mRouteDescriptors.get(routeId);
- if (selectedRouteDescriptor == null) {
- return false;
+ for (String routeId : mMemberRouteIds) {
+ removeMember(routeId);
}
- if (!selectedRouteDescriptor.isDynamicGroupRoute()) {
- // We should reinitialize here not to add members twice
- mTvSelectedCount = 0;
- mMemberRouteIds.clear();
- copyRouteWithNewId(mRouteId);
+ for (String routeId : routeIds) {
+ addMember(routeId);
}
- return true;
+ updateGroupRouteDescriptor();
+ updateDynamicRouteDescriptors();
}
@Override
public void onAddMemberRoute(@NonNull String routeId) {
- DynamicRouteDescriptor dynamicDescriptor = mDynamicRouteDescriptors.get(routeId);
- if (dynamicDescriptor == null) {
- Log.w(TAG, "onAddMemberRoute: Ignored for routeId: " + routeId);
+ if (!maybeMakeGroupRoute(mRouteId)) {
+ Log.w(TAG, "onAddMemberRoute: Can't find the group route : " + mRouteId);
return;
}
- if (!ensureDynamicRoute(mRouteId)) {
- Log.w(TAG, "onAddMemberRoute: Can't find selected route : " + mRouteId);
+ if (!addMember(routeId)) {
+ Log.w(TAG, "onAddMemberRoute: Failed to add a member route:" + " " + routeId);
return;
}
- // Add each member route do dynamic group
+ // Add each member route to the dynamic group
MediaRouteDescriptor routeDescriptor = mRouteDescriptors.get(routeId);
- if (routeDescriptor.getGroupMemberIds().size() > 0) {
- onAddMemberRoutes(routeDescriptor.getGroupMemberIds());
+ for (String memberRouteId : routeDescriptor.getGroupMemberIds()) {
+ addMember(memberRouteId);
+ }
+ updateGroupRouteDescriptor();
+ updateDynamicRouteDescriptors();
+ }
+
+ private void updateGroupRouteDescriptor() {
+ MediaRouteDescriptor.Builder groupDescriptorBuilder =
+ new MediaRouteDescriptor.Builder(mRouteDescriptors.get(mRouteId))
+ .clearGroupMemberIds();
+ for (String memberRouteId : mMemberRouteIds) {
+ groupDescriptorBuilder.addGroupMemberId(memberRouteId);
+ }
+
+ mRouteDescriptors.put(mRouteId, groupDescriptorBuilder.build());
+ publishRoutes();
+ }
+
+ @Override
+ public void onRemoveMemberRoute(@NonNull String routeId) {
+ if (!maybeMakeGroupRoute(mRouteId)) {
+ Log.w(TAG, "onRemoveMemberRoute: Can't find the group route : " + mRouteId);
return;
}
- DynamicRouteDescriptor.Builder builder =
- new DynamicRouteDescriptor.Builder(dynamicDescriptor)
- .setSelectionState(DynamicRouteDescriptor.SELECTED);
+ if (!removeMember(routeId)) {
+ Log.w(TAG, "onRemoveMemberRoute: Failed to remove a member route : " + routeId);
+ return;
+ }
+ updateGroupRouteDescriptor();
+ updateDynamicRouteDescriptors();
+ }
- // Make fixed volume route not unselectable.
+ private boolean addMember(String routeId) {
+ DynamicRouteDescriptor dynamicDescriptor = mDynamicRouteDescriptors.get(routeId);
+ if (dynamicDescriptor == null || !dynamicDescriptor.isGroupable()
+ || mMemberRouteIds.contains(routeId)) {
+ return false;
+ }
+ mMemberRouteIds.add(routeId);
+
+ MediaRouteDescriptor routeDescriptor =
+ mRouteDescriptors.get(dynamicDescriptor.getRouteDescriptor().getId());
+ DynamicRouteDescriptor.Builder builder =
+ new DynamicRouteDescriptor.Builder(dynamicDescriptor);
+ builder.setSelectionState(DynamicRouteDescriptor.SELECTED);
+
+ //TODO: Depending on getVolumeHandling() doesn't look good to identify the route. It
+ // could be a signal that the current structure should be refactored.
+
+ // Use a unique feature of the not unselectable route.
if (routeDescriptor.getVolumeHandling()
== MediaRouter.RouteInfo.PLAYBACK_VOLUME_FIXED) {
builder.setIsUnselectable(false);
} else {
builder.setIsUnselectable(true);
}
+
mDynamicRouteDescriptors.put(routeId, builder.build());
- mMemberRouteIds.add(routeId);
+
if (routeDescriptor.getDeviceType() == MediaRouter.RouteInfo.DEVICE_TYPE_TV) {
mTvSelectedCount++;
}
-
- MediaRouteDescriptor groupDescriptor =
- new MediaRouteDescriptor.Builder(mRouteDescriptors.get(mRouteId))
- .addGroupMemberId(routeId)
- .build();
- mRouteDescriptors.put(mRouteId, groupDescriptor);
- updateDynamicRouteDescriptors();
- publishRoutes();
+ return true;
}
- private void onAddMemberRoutes(List<String> memberRouteIds) {
- MediaRouteDescriptor.Builder builder =
- new MediaRouteDescriptor.Builder(mRouteDescriptors.get(mRouteId));
-
- for (String routeId : memberRouteIds) {
- DynamicRouteDescriptor dynamicDescriptor = mDynamicRouteDescriptors.get(routeId);
- if (dynamicDescriptor == null) {
- Log.w(TAG, "onAddMemberRoute: Ignored for routeId: " + routeId);
- return;
- }
-
- DynamicRouteDescriptor.Builder memberBuilder =
- new DynamicRouteDescriptor.Builder(dynamicDescriptor)
- .setSelectionState(DynamicRouteDescriptor.SELECTED);
-
- MediaRouteDescriptor routeDescriptor = dynamicDescriptor.getRouteDescriptor();
- // Make fixed volume route not unselectable.
- if (routeDescriptor.getVolumeHandling()
- == MediaRouter.RouteInfo.PLAYBACK_VOLUME_FIXED) {
- memberBuilder.setIsUnselectable(false);
- } else {
- memberBuilder.setIsUnselectable(true);
- }
- mDynamicRouteDescriptors.put(routeId, memberBuilder.build());
- mMemberRouteIds.add(routeId);
- if (routeDescriptor.getDeviceType() == MediaRouter.RouteInfo.DEVICE_TYPE_TV) {
- mTvSelectedCount++;
- }
- builder.addGroupMemberId(routeId);
- }
-
- MediaRouteDescriptor groupDescriptor = builder.build();
- mRouteDescriptors.put(mRouteId, groupDescriptor);
- publishRoutes();
- updateDynamicRouteDescriptors();
- }
-
- @Override
- public void onRemoveMemberRoute(@NonNull String routeId) {
+ private boolean removeMember(String routeId) {
DynamicRouteDescriptor dynamicDescriptor = mDynamicRouteDescriptors.get(routeId);
if (dynamicDescriptor == null || !dynamicDescriptor.isUnselectable()
|| !mMemberRouteIds.remove(routeId)) {
- Log.w(TAG, "onRemoveMemberRoute: Ignored for routeId: " + routeId);
- return;
+ return false;
}
- if (!ensureDynamicRoute(mRouteId)) {
- Log.w(TAG, "onRemoveMemberRoute: Can't find selected route : " + mRouteId);
- return;
- }
-
- MediaRouteDescriptor routeDescriptor = dynamicDescriptor.getRouteDescriptor();
DynamicRouteDescriptor.Builder builder =
new DynamicRouteDescriptor.Builder(dynamicDescriptor);
builder.setSelectionState(DynamicRouteDescriptor.UNSELECTED);
mDynamicRouteDescriptors.put(routeId, builder.build());
+
+ MediaRouteDescriptor routeDescriptor =
+ mRouteDescriptors.get(dynamicDescriptor.getRouteDescriptor().getId());
if (routeDescriptor.getDeviceType() == MediaRouter.RouteInfo.DEVICE_TYPE_TV) {
mTvSelectedCount--;
}
+ return true;
+ }
- MediaRouteDescriptor groupDescriptor =
- new MediaRouteDescriptor.Builder(mRouteDescriptors.get(mRouteId))
- .removeGroupMemberId(routeId)
- .build();
- mRouteDescriptors.put(mRouteId, groupDescriptor);
- publishRoutes();
- updateDynamicRouteDescriptors();
+ private boolean maybeMakeGroupRoute(String routeId) {
+ MediaRouteDescriptor routeDescriptor = mRouteDescriptors.get(routeId);
+ if (routeDescriptor == null) {
+ return false;
+ }
+ if (!routeDescriptor.isDynamicGroupRoute()) {
+ // We should reinitialize here not to add members twice
+ mTvSelectedCount = 0;
+ mMemberRouteIds.clear();
+ makeDynamicGroupRoute(mRouteId);
+ }
+ return true;
}
//////////////////////////////////////////////
@@ -452,6 +461,16 @@
public void onSelect() {
Log.d(TAG, mRouteId + ": Selected");
mHelper.onSelect();
+ if (mIsGroup) {
+ MediaRouteDescriptor groupDescriptor = mRouteDescriptors.get(mRouteId);
+ if (groupDescriptor != null) {
+ mRouteDescriptors.put(mRouteId,
+ new MediaRouteDescriptor.Builder(groupDescriptor)
+ .setConnectionState(RouteInfo.CONNECTION_STATE_CONNECTED)
+ .build());
+ publishRoutes();
+ }
+ }
}
@Override
@@ -459,10 +478,21 @@
Log.d(TAG, mRouteId + ": Unselected");
mHelper.onUnselect();
- if (mRouteDescriptors.get(mRouteId).isDynamicGroupRoute()) {
- mRouteDescriptors.remove(mRouteId);
+ if (mIsGroup) {
+ MediaRouteDescriptor groupDescriptor = mRouteDescriptors.get(mRouteId);
+ if (groupDescriptor == null) {
+ return;
+ }
+ if (groupDescriptor.isDynamicGroupRoute()) {
+ mRouteDescriptors.remove(mRouteId);
+ } else {
+ mRouteDescriptors.put(mRouteId,
+ new MediaRouteDescriptor.Builder(groupDescriptor)
+ .setConnectionState(RouteInfo.CONNECTION_STATE_DISCONNECTED)
+ .build());
+ }
+ publishRoutes();
}
- publishRoutes();
}
@Override
@@ -488,29 +518,8 @@
DynamicRouteDescriptor.Builder builder =
new DynamicRouteDescriptor.Builder(descriptor)
.setIsGroupable(true)
- .setIsTransferable(true)
- .setSelectionState(DynamicRouteDescriptor.UNSELECTED);
- mDynamicRouteDescriptors.put(routeId, builder.build());
- }
-
- void updateDynamicRouteDescriptor(String routeId) {
- MediaRouteDescriptor mediaDescriptor = mRouteDescriptors.get(routeId);
- if (mediaDescriptor == null) {
- Log.d(TAG, "updateDynamicRouteDescriptor : Ignored for route id " + routeId);
- return;
- }
-
- DynamicRouteDescriptor dynamicDescriptor = mDynamicRouteDescriptors.get(routeId);
- if (dynamicDescriptor == null) {
- Log.d(TAG, "updateDynamicRouteDescriptor : Ignored for route id " + routeId);
- return;
- }
- DynamicRouteDescriptor.Builder builder =
- new DynamicRouteDescriptor.Builder(mediaDescriptor)
- .setSelectionState(dynamicDescriptor.getSelectionState())
- .setIsUnselectable(dynamicDescriptor.isUnselectable())
- .setIsGroupable(dynamicDescriptor.isGroupable())
- .setIsTransferable(dynamicDescriptor.isTransferable());
+ .setIsTransferable(false)
+ .setSelectionState(DynamicRouteDescriptor.SELECTED);
mDynamicRouteDescriptors.put(routeId, builder.build());
}
@@ -522,8 +531,8 @@
// ungroupable.
private void updateDynamicRouteDescriptors() {
for (DynamicRouteDescriptor dynamicDescriptor : mDynamicRouteDescriptors.values()) {
- MediaRouteDescriptor routeDescriptor = dynamicDescriptor.getRouteDescriptor();
- String routeId = routeDescriptor.getId();
+ String routeId = dynamicDescriptor.getRouteDescriptor().getId();
+ MediaRouteDescriptor routeDescriptor = mRouteDescriptors.get(routeId);
if (mMemberRouteIds.contains(routeId)) {
// Skip selected routes.
continue;
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouteProvider.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouteProvider.java
index 85a5619..efc1dd8 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouteProvider.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouteProvider.java
@@ -257,19 +257,28 @@
public void onSelect() {
Log.d(TAG, mRouteId + ": Selected");
mHelper.onSelect();
- MediaRouteDescriptor groupDescriptor =
- new MediaRouteDescriptor.Builder(mRouteDescriptors.get(mRouteId))
- .setConnectionState(RouteInfo.CONNECTION_STATE_CONNECTED)
- .setVolume(mVolume)
- .build();
- mRouteDescriptors.put(mRouteId, groupDescriptor);
- publishRoutes();
+ MediaRouteDescriptor routeDescriptor = mRouteDescriptors.get(mRouteId);
+ if (routeDescriptor != null) {
+ mRouteDescriptors.put(mRouteId, new MediaRouteDescriptor.Builder(routeDescriptor)
+ .setConnectionState(RouteInfo.CONNECTION_STATE_CONNECTED)
+ .setVolume(mVolume)
+ .build());
+ publishRoutes();
+ }
}
@Override
public void onUnselect() {
Log.d(TAG, mRouteId + ": Unselected");
mHelper.onUnselect();
+ MediaRouteDescriptor routeDescriptor = mRouteDescriptors.get(mRouteId);
+ if (routeDescriptor != null) {
+ mRouteDescriptors.put(mRouteId, new MediaRouteDescriptor.Builder(routeDescriptor)
+ .setConnectionState(RouteInfo.CONNECTION_STATE_DISCONNECTED)
+ .setVolume(mVolume)
+ .build());
+ publishRoutes();
+ }
}
@Override
@@ -323,15 +332,6 @@
public void onUnselect() {
mPlayer.release();
- MediaRouteDescriptor groupDescriptor = mRouteDescriptors.get(mRouteId);
- if (groupDescriptor != null) {
- new MediaRouteDescriptor.Builder(groupDescriptor)
- .setConnectionState(RouteInfo.CONNECTION_STATE_DISCONNECTED)
- .setVolume(mVolume)
- .build();
- mRouteDescriptors.put(mRouteId, groupDescriptor);
- }
- publishRoutes();
}
public void onSetVolume(int volume) {
@@ -449,7 +449,7 @@
+ ", metadata=" + metadata
+ ", headers=" + headers
+ ", receiver=" + receiver);
- PlaylistItem item = mSessionManager.add(null, uri, mime, receiver);
+ PlaylistItem item = mSessionManager.add(null, uri, mime, pos, receiver);
if (callback != null) {
if (item != null) {
Bundle result = new Bundle();
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java
index 15d7c3b..a13ef64 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SampleMediaRouterActivity.java
@@ -94,7 +94,6 @@
private ImageButton mPauseResumeButton;
private ImageButton mStopButton;
private SeekBar mSeekBar;
- private boolean mNeedResume;
private boolean mSeeking;
private final Handler mHandler = new Handler();
@@ -211,6 +210,7 @@
// Get the media router service.
mMediaRouter = MediaRouter.getInstance(this);
+ mMediaRouter.enableTransfer();
// Create a route selector for the type of routes that we care about.
mSelector = new MediaRouteSelector.Builder()
@@ -482,26 +482,6 @@
}
@Override
- public void onPause() {
- // pause media player for local playback case only
- if (!mPlayer.isRemotePlayback() && !mSessionManager.isPaused()) {
- mNeedResume = true;
- mSessionManager.pause();
- }
- super.onPause();
- }
-
- @Override
- public void onResume() {
- // resume media player for local playback case only
- if (!mPlayer.isRemotePlayback() && mNeedResume) {
- mSessionManager.resume();
- mNeedResume = false;
- }
- super.onResume();
- }
-
- @Override
public void onDestroy() {
mSessionManager.stop();
mPlayer.release();
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SessionManager.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SessionManager.java
index 979e2ea..feb6c5a 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SessionManager.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/media/SessionManager.java
@@ -101,10 +101,11 @@
}
public PlaylistItem add(String title, Uri uri, String mime) {
- return add(title, uri, mime, null);
+ return add(title, uri, mime, 0, null);
}
- public PlaylistItem add(String title, Uri uri, String mime, PendingIntent receiver) {
+ public PlaylistItem add(String title, Uri uri, String mime, long startPosition,
+ PendingIntent receiver) {
if (DEBUG) {
log("add: title=" + title + ", uri=" + uri + ", receiver=" + receiver);
}
@@ -115,6 +116,7 @@
// append new item with initial status PLAYBACK_STATE_PENDING
PlaylistItem item = new PlaylistItem(Integer.toString(mSessionId),
Integer.toString(mItemId), title, uri, mime, receiver);
+ item.setPosition(startPosition);
mPlaylist.add(item);
mItemId++;
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/util/DiffUtilActivity.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/util/DiffUtilActivity.java
index 5019173..2d3b3d4 100644
--- a/samples/Support7Demos/src/main/java/com/example/android/supportv7/util/DiffUtilActivity.java
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/util/DiffUtilActivity.java
@@ -16,7 +16,6 @@
package com.example.android.supportv7.util;
import android.annotation.SuppressLint;
-import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
@@ -49,6 +48,7 @@
@Override
@SuppressLint("WrongThread")
+ @SuppressWarnings("deprecation") /* AsyncTask */
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
@@ -72,9 +72,8 @@
// already refreshing, do not allow modifications
return;
}
- //noinspection unchecked
- new AsyncTask<List<String>, Void, Pair<List<String>, DiffUtil.DiffResult>>() {
-
+ new android.os.AsyncTask<List<String>, Void, Pair<List<String>,
+ DiffUtil.DiffResult>>() {
@Override
protected Pair<List<String>, DiffUtil.DiffResult> doInBackground(
List<String>... lists) {
diff --git a/samples/SupportAnimationDemos/src/main/java/com/example/android/support/animation/BrowseActivity.java b/samples/SupportAnimationDemos/src/main/java/com/example/android/support/animation/BrowseActivity.java
index 0fc447a..4065625 100644
--- a/samples/SupportAnimationDemos/src/main/java/com/example/android/support/animation/BrowseActivity.java
+++ b/samples/SupportAnimationDemos/src/main/java/com/example/android/support/animation/BrowseActivity.java
@@ -16,7 +16,6 @@
package com.example.android.support.animation;
-import android.app.ListActivity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -36,7 +35,8 @@
/**
* This activity lists all the activities in this application.
*/
-public class BrowseActivity extends ListActivity {
+@SuppressWarnings("deprecation")
+public class BrowseActivity extends android.app.ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
diff --git a/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/BackgroundHelper.java b/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/BackgroundHelper.java
index 5b7cd39..3703bd4 100644
--- a/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/BackgroundHelper.java
+++ b/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/BackgroundHelper.java
@@ -20,7 +20,6 @@
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
-import android.os.AsyncTask;
import android.os.Handler;
import android.util.Log;
import android.view.View;
@@ -123,7 +122,8 @@
}
}
- class LoadBitmapTaskBase extends AsyncTask<Request, Object, Request> {
+ @SuppressWarnings("deprecation") /* AsyncTask */
+ class LoadBitmapTaskBase extends android.os.AsyncTask<Request, Object, Request> {
@Override
protected Request doInBackground(Request... params) {
boolean cancelled = isCancelled();
diff --git a/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/PlaybackSeekAsyncDataProvider.java b/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/PlaybackSeekAsyncDataProvider.java
index b5a94e7..7c812c1 100644
--- a/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/PlaybackSeekAsyncDataProvider.java
+++ b/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/PlaybackSeekAsyncDataProvider.java
@@ -17,7 +17,6 @@
package com.example.android.leanback;
import android.graphics.Bitmap;
-import android.os.AsyncTask;
import android.util.Log;
import android.util.SparseArray;
@@ -47,12 +46,12 @@
int mLastRequestedIndex = -1;
protected boolean isCancelled(Object task) {
- return ((AsyncTask) task).isCancelled();
+ return ((android.os.AsyncTask) task).isCancelled();
}
protected abstract Bitmap doInBackground(Object task, int index, long position);
- class LoadBitmapTask extends AsyncTask<Object, Object, Bitmap> {
+ class LoadBitmapTask extends android.os.AsyncTask<Object, Object, Bitmap> {
int mIndex;
ResultCallback mResultCallback;
@@ -101,6 +100,7 @@
}
@Override
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void getThumbnail(int index, ResultCallback callback) {
Integer key = index;
Bitmap bitmap = mCache.get(key);
@@ -118,7 +118,7 @@
// no normal task or prefetch for the position, create a new task
task = new LoadBitmapTask(index, callback);
mRequests.put(index, task);
- task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ task.executeOnExecutor(android.os.AsyncTask.THREAD_POOL_EXECUTOR);
} else {
// update existing ResultCallback which might be normal task or prefetch
task.mResultCallback = callback;
@@ -133,6 +133,7 @@
}
}
+ @SuppressWarnings("deprecation") /* AsyncTask */
protected void prefetch(int hintIndex, boolean forward) {
for (Iterator<Map.Entry<Integer, Bitmap>> it =
mPrefetchCache.snapshot().entrySet().iterator(); it.hasNext(); ) {
@@ -151,7 +152,7 @@
if (task == null) {
task = new LoadBitmapTask(key, null);
mRequests.put(i, task);
- task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ task.executeOnExecutor(android.os.AsyncTask.THREAD_POOL_EXECUTOR);
}
}
}
diff --git a/samples/SupportPreferenceDemos/src/main/java/com/example/androidx/preference/MainActivity.java b/samples/SupportPreferenceDemos/src/main/java/com/example/androidx/preference/MainActivity.java
index a0e5313..e6aba68 100644
--- a/samples/SupportPreferenceDemos/src/main/java/com/example/androidx/preference/MainActivity.java
+++ b/samples/SupportPreferenceDemos/src/main/java/com/example/androidx/preference/MainActivity.java
@@ -16,7 +16,6 @@
package com.example.androidx.preference;
-import android.app.ListActivity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -33,7 +32,8 @@
/**
* Activity that displays and handles launching the demo preference activities with a ListView.
*/
-public class MainActivity extends ListActivity {
+@SuppressWarnings("deprecation")
+public class MainActivity extends android.app.ListActivity {
private static final String INTENT = "intent";
private static final String NAME = "name";
diff --git a/samples/SupportSliceDemos/src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java b/samples/SupportSliceDemos/src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java
index b2d7ce3..b78738d 100644
--- a/samples/SupportSliceDemos/src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java
+++ b/samples/SupportSliceDemos/src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java
@@ -35,7 +35,6 @@
import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
@@ -288,11 +287,12 @@
private static class IconCache {
private final HashMap<String, Drawable> mIcons = new HashMap<>();
+ @SuppressWarnings("deprecation") /* AsyncTask */
private void loadIcon(ImageView iv, ProviderInfo provider, PackageManager pm) {
if (mIcons.containsKey(provider.packageName)) {
iv.setImageDrawable(mIcons.get(provider.packageName));
}
- AsyncTask.execute(() -> {
+ android.os.AsyncTask.execute(() -> {
mIcons.put(provider.packageName, provider.loadIcon(pm));
iv.post(() -> iv.setImageDrawable(mIcons.get(provider.packageName)));
});
diff --git a/samples/SupportTransitionDemos/src/main/java/com/example/android/support/transition/SupportTransitionDemos.java b/samples/SupportTransitionDemos/src/main/java/com/example/android/support/transition/SupportTransitionDemos.java
index a2345bf..39b36f5 100644
--- a/samples/SupportTransitionDemos/src/main/java/com/example/android/support/transition/SupportTransitionDemos.java
+++ b/samples/SupportTransitionDemos/src/main/java/com/example/android/support/transition/SupportTransitionDemos.java
@@ -16,7 +16,6 @@
package com.example.android.support.transition;
-import android.app.ListActivity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -33,7 +32,8 @@
import java.util.List;
import java.util.Map;
-public class SupportTransitionDemos extends ListActivity {
+@SuppressWarnings("deprecation")
+public class SupportTransitionDemos extends android.app.ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
diff --git a/sharetarget/sharetarget/src/main/java/androidx/sharetarget/ChooserTargetServiceCompat.java b/sharetarget/sharetarget/src/main/java/androidx/sharetarget/ChooserTargetServiceCompat.java
index 90b91d1..5ed3259 100644
--- a/sharetarget/sharetarget/src/main/java/androidx/sharetarget/ChooserTargetServiceCompat.java
+++ b/sharetarget/sharetarget/src/main/java/androidx/sharetarget/ChooserTargetServiceCompat.java
@@ -22,8 +22,6 @@
import android.content.Context;
import android.content.IntentFilter;
import android.os.Bundle;
-import android.service.chooser.ChooserTarget;
-import android.service.chooser.ChooserTargetService;
import android.util.Log;
import androidx.annotation.NonNull;
@@ -48,13 +46,14 @@
*/
@RequiresApi(23)
@RestrictTo(LIBRARY_GROUP_PREFIX)
-public class ChooserTargetServiceCompat extends ChooserTargetService {
+@SuppressWarnings("deprecation")
+public class ChooserTargetServiceCompat extends android.service.chooser.ChooserTargetService {
static final String TAG = "ChooserServiceCompat";
@Override
- public List<ChooserTarget> onGetChooserTargets(ComponentName targetActivityName,
- IntentFilter matchedFilter) {
+ public List<android.service.chooser.ChooserTarget> onGetChooserTargets(
+ ComponentName targetActivityName, IntentFilter matchedFilter) {
Context context = getApplicationContext();
// Retrieve share targets
@@ -107,7 +106,7 @@
@VisibleForTesting
@NonNull
- static List<ChooserTarget> convertShortcutsToChooserTargets(
+ static List<android.service.chooser.ChooserTarget> convertShortcutsToChooserTargets(
@NonNull ShortcutInfoCompatSaverImpl shortcutSaver,
@NonNull List<ShortcutHolder> matchedShortcuts) {
if (matchedShortcuts.isEmpty()) {
@@ -115,7 +114,7 @@
}
Collections.sort(matchedShortcuts);
- ArrayList<ChooserTarget> chooserTargets = new ArrayList<>();
+ ArrayList<android.service.chooser.ChooserTarget> chooserTargets = new ArrayList<>();
float currentScore = 1.0f;
int lastRank = matchedShortcuts.get(0).getShortcut().getRank();
for (ShortcutHolder holder : matchedShortcuts) {
@@ -135,7 +134,7 @@
currentScore -= 0.01f;
lastRank = shortcut.getRank();
}
- chooserTargets.add(new ChooserTarget(
+ chooserTargets.add(new android.service.chooser.ChooserTarget(
shortcut.getShortLabel(),
shortcutIcon == null ? null : shortcutIcon.toIcon(),
currentScore,
diff --git a/slices/core/src/main/res/values-es/strings.xml b/slices/core/src/main/res/values-es/strings.xml
index 44283aa..690a226 100644
--- a/slices/core/src/main/res/values-es/strings.xml
+++ b/slices/core/src/main/res/values-es/strings.xml
@@ -18,7 +18,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="abc_slices_permission_request" msgid="3604847235923472451">"<xliff:g id="APP_0">%1$s</xliff:g> quiere mostrar fragmentos de <xliff:g id="APP_2">%2$s</xliff:g>"</string>
- <string name="abc_slice_permission_title" msgid="4175332421259324948">"¿Permitir que <xliff:g id="APP_0">%1$s</xliff:g> muestre fragmentos de <xliff:g id="APP_2">%2$s</xliff:g>?"</string>
+ <string name="abc_slice_permission_title" msgid="4175332421259324948">"¿Quieres permitir que <xliff:g id="APP_0">%1$s</xliff:g> muestre fragmentos de <xliff:g id="APP_2">%2$s</xliff:g>?"</string>
<string name="abc_slice_permission_text_1" msgid="4525743640399572811">"- Puede leer información de <xliff:g id="APP">%1$s</xliff:g>"</string>
<string name="abc_slice_permission_text_2" msgid="7323565634860251794">"- Puede realizar acciones en <xliff:g id="APP">%1$s</xliff:g>"</string>
<string name="abc_slice_permission_checkbox" msgid="5696872682700058611">"Permitir que <xliff:g id="APP">%1$s</xliff:g> muestre fragmentos de cualquier aplicación"</string>
diff --git a/slices/core/src/main/res/values-eu/strings.xml b/slices/core/src/main/res/values-eu/strings.xml
index e608918..1067f848 100644
--- a/slices/core/src/main/res/values-eu/strings.xml
+++ b/slices/core/src/main/res/values-eu/strings.xml
@@ -21,7 +21,7 @@
<string name="abc_slice_permission_title" msgid="4175332421259324948">"<xliff:g id="APP_2">%2$s</xliff:g> aplikazioaren zatiak erakusteko baimena eman nahi diozu <xliff:g id="APP_0">%1$s</xliff:g> aplikazioari?"</string>
<string name="abc_slice_permission_text_1" msgid="4525743640399572811">"- <xliff:g id="APP">%1$s</xliff:g> aplikazioaren informazioa irakur dezake."</string>
<string name="abc_slice_permission_text_2" msgid="7323565634860251794">"- <xliff:g id="APP">%1$s</xliff:g> aplikazioan ekintzak gauza ditzake."</string>
- <string name="abc_slice_permission_checkbox" msgid="5696872682700058611">"Eman aplikazio guztien zatiak erakusteko baimena <xliff:g id="APP">%1$s</xliff:g> aplikazioari"</string>
+ <string name="abc_slice_permission_checkbox" msgid="5696872682700058611">"Baimendu <xliff:g id="APP">%1$s</xliff:g> aplikazioari edozein aplikazioren zatiak erakustea"</string>
<string name="abc_slice_permission_allow" msgid="5024599872061409708">"Baimendu"</string>
<string name="abc_slice_permission_deny" msgid="3819478292430407705">"Ukatu"</string>
</resources>
diff --git a/slices/core/src/main/res/values-ne/strings.xml b/slices/core/src/main/res/values-ne/strings.xml
index 0244857..c5c9de3 100644
--- a/slices/core/src/main/res/values-ne/strings.xml
+++ b/slices/core/src/main/res/values-ne/strings.xml
@@ -23,5 +23,5 @@
<string name="abc_slice_permission_text_2" msgid="7323565634860251794">"- यसले <xliff:g id="APP">%1$s</xliff:g> भित्र कारबाही गर्न सक्छ"</string>
<string name="abc_slice_permission_checkbox" msgid="5696872682700058611">"<xliff:g id="APP">%1$s</xliff:g> लाई सबै अनुप्रयोगका स्लाइसहरू देखाउन अनुमति दिनुहोस्"</string>
<string name="abc_slice_permission_allow" msgid="5024599872061409708">"अनुमति दिनुहोस्"</string>
- <string name="abc_slice_permission_deny" msgid="3819478292430407705">"नदिने"</string>
+ <string name="abc_slice_permission_deny" msgid="3819478292430407705">"अस्वीकार गर्नु…"</string>
</resources>
diff --git a/slices/core/src/main/res/values-pt-rPT/strings.xml b/slices/core/src/main/res/values-pt-rPT/strings.xml
index 7740b87..ea2a008 100644
--- a/slices/core/src/main/res/values-pt-rPT/strings.xml
+++ b/slices/core/src/main/res/values-pt-rPT/strings.xml
@@ -18,7 +18,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="abc_slices_permission_request" msgid="3604847235923472451">"A aplicação <xliff:g id="APP_0">%1$s</xliff:g> pretende mostrar partes da aplicação <xliff:g id="APP_2">%2$s</xliff:g>."</string>
- <string name="abc_slice_permission_title" msgid="4175332421259324948">"Permitir que a aplicação <xliff:g id="APP_0">%1$s</xliff:g> mostre partes da aplicação <xliff:g id="APP_2">%2$s</xliff:g>?"</string>
+ <string name="abc_slice_permission_title" msgid="4175332421259324948">"Pretende permitir que a aplicação <xliff:g id="APP_0">%1$s</xliff:g> mostre partes da aplicação <xliff:g id="APP_2">%2$s</xliff:g>?"</string>
<string name="abc_slice_permission_text_1" msgid="4525743640399572811">"- Pode ler informações da aplicação <xliff:g id="APP">%1$s</xliff:g>"</string>
<string name="abc_slice_permission_text_2" msgid="7323565634860251794">"- Pode realizar ações na aplicação <xliff:g id="APP">%1$s</xliff:g>"</string>
<string name="abc_slice_permission_checkbox" msgid="5696872682700058611">"Permitir que a aplicação <xliff:g id="APP">%1$s</xliff:g> mostre partes de qualquer aplicação"</string>
diff --git a/slices/view/src/androidTest/java/androidx/slice/widget/CachedSliceLiveDataTest.java b/slices/view/src/androidTest/java/androidx/slice/widget/CachedSliceLiveDataTest.java
index c6f9a6e..9c35fc2 100644
--- a/slices/view/src/androidTest/java/androidx/slice/widget/CachedSliceLiveDataTest.java
+++ b/slices/view/src/androidTest/java/androidx/slice/widget/CachedSliceLiveDataTest.java
@@ -32,7 +32,6 @@
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
-import android.os.AsyncTask;
import androidx.lifecycle.Observer;
import androidx.slice.Slice;
@@ -169,7 +168,7 @@
verify(mObserver, times(1)).onChanged(mSlice.capture());
clearInvocations(mObserver);
- AsyncTask.execute(new Runnable() {
+ android.os.AsyncTask.execute(new Runnable() {
@Override
public void run() {
try {
@@ -302,7 +301,7 @@
private void waitForAsync() throws InterruptedException {
final CountDownLatch latch = new CountDownLatch(1);
- AsyncTask.execute(new Runnable() {
+ android.os.AsyncTask.execute(new Runnable() {
@Override
public void run() {
latch.countDown();
diff --git a/slices/view/src/androidTest/java/androidx/slice/widget/SliceLiveDataTest.java b/slices/view/src/androidTest/java/androidx/slice/widget/SliceLiveDataTest.java
index ae76464..88b0eb6 100644
--- a/slices/view/src/androidTest/java/androidx/slice/widget/SliceLiveDataTest.java
+++ b/slices/view/src/androidTest/java/androidx/slice/widget/SliceLiveDataTest.java
@@ -33,7 +33,6 @@
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
-import android.os.AsyncTask;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.Observer;
@@ -155,7 +154,7 @@
verify(mObserver, times(1)).onChanged(mSlice.capture());
clearInvocations(mObserver);
- AsyncTask.execute(new Runnable() {
+ android.os.AsyncTask.execute(new Runnable() {
@Override
public void run() {
try {
@@ -295,7 +294,7 @@
private void waitForAsync() throws InterruptedException {
final CountDownLatch latch = new CountDownLatch(1);
- AsyncTask.execute(new Runnable() {
+ android.os.AsyncTask.execute(new Runnable() {
@Override
public void run() {
latch.countDown();
diff --git a/slices/view/src/main/java/androidx/slice/SliceViewManagerBase.java b/slices/view/src/main/java/androidx/slice/SliceViewManagerBase.java
index 12c839a..4ab5626 100644
--- a/slices/view/src/main/java/androidx/slice/SliceViewManagerBase.java
+++ b/slices/view/src/main/java/androidx/slice/SliceViewManagerBase.java
@@ -22,7 +22,6 @@
import android.content.Context;
import android.database.ContentObserver;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Handler;
import android.os.Looper;
import android.util.ArrayMap;
@@ -145,8 +144,9 @@
private final ContentObserver mObserver = new ContentObserver(
new Handler(Looper.getMainLooper())) {
@Override
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void onChange(boolean selfChange) {
- AsyncTask.execute(mUpdateSlice);
+ android.os.AsyncTask.execute(mUpdateSlice);
}
};
}
diff --git a/slices/view/src/main/java/androidx/slice/widget/SliceLiveData.java b/slices/view/src/main/java/androidx/slice/widget/SliceLiveData.java
index 29248a6..6481272 100644
--- a/slices/view/src/main/java/androidx/slice/widget/SliceLiveData.java
+++ b/slices/view/src/main/java/androidx/slice/widget/SliceLiveData.java
@@ -22,7 +22,6 @@
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Looper;
import android.util.Log;
@@ -212,6 +211,7 @@
* @hide
*/
@RestrictTo(LIBRARY)
+ @SuppressWarnings("deprecation") /* AsyncTask */
protected synchronized void loadInitialSlice() {
if (mInitialSliceLoaded) {
return;
@@ -247,7 +247,7 @@
mPendingIntent.add(intent);
}
if (mActive && !mSliceCallbackRegistered) {
- AsyncTask.execute(mUpdateSlice);
+ android.os.AsyncTask.execute(mUpdateSlice);
mSliceViewManager.registerSliceCallback(mUri, mSliceCallback);
mSliceCallbackRegistered = true;
}
@@ -257,7 +257,7 @@
protected void onActive() {
mActive = true;
if (!mInitialSliceLoaded) {
- AsyncTask.execute(new Runnable() {
+ android.os.AsyncTask.execute(new Runnable() {
@Override
public void run() {
loadInitialSlice();
@@ -265,7 +265,7 @@
});
}
if (mLive && !mSliceCallbackRegistered) {
- AsyncTask.execute(mUpdateSlice);
+ android.os.AsyncTask.execute(mUpdateSlice);
mSliceViewManager.registerSliceCallback(mUri, mSliceCallback);
mSliceCallbackRegistered = true;
}
@@ -376,8 +376,9 @@
}
@Override
+ @SuppressWarnings("deprecation") /* AsyncTask */
protected void onActive() {
- AsyncTask.execute(mUpdateSlice);
+ android.os.AsyncTask.execute(mUpdateSlice);
if (mUri != null) {
mSliceViewManager.registerSliceCallback(mUri, mSliceCallback);
}
diff --git a/slices/view/src/main/res/values-ky/strings.xml b/slices/view/src/main/res/values-ky/strings.xml
index 4730de0..63c7d13 100644
--- a/slices/view/src/main/res/values-ky/strings.xml
+++ b/slices/view/src/main/res/values-ky/strings.xml
@@ -20,7 +20,7 @@
<string name="abc_slice_more_content" msgid="6405516388971241142">"+ <xliff:g id="NUMBER">%1$d</xliff:g>"</string>
<string name="abc_slice_more" msgid="1983560225998630901">"Дагы"</string>
<string name="abc_slice_show_more" msgid="1567717014004692768">"Дагы көрсөтүү"</string>
- <string name="abc_slice_updated" msgid="8155085405396453848">"<xliff:g id="TIME">%1$s</xliff:g> жаңырды"</string>
+ <string name="abc_slice_updated" msgid="8155085405396453848">"<xliff:g id="TIME">%1$s</xliff:g> жаңыртылды"</string>
<plurals name="abc_slice_duration_min" formatted="false" msgid="6996334305156847955">
<item quantity="other"><xliff:g id="ID_2">%d</xliff:g> мүн. мурун</item>
<item quantity="one"><xliff:g id="ID_1">%d</xliff:g> мүн. мурун</item>
diff --git a/slidingpanelayout/slidingpanelayout/api/1.1.0-rc01.txt b/slidingpanelayout/slidingpanelayout/api/1.1.0-rc01.txt
deleted file mode 100644
index 1c970ae..0000000
--- a/slidingpanelayout/slidingpanelayout/api/1.1.0-rc01.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-// Signature format: 3.0
-package androidx.slidingpanelayout.widget {
-
- public class SlidingPaneLayout extends android.view.ViewGroup implements androidx.customview.widget.Openable {
- ctor public SlidingPaneLayout(android.content.Context);
- ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?);
- ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?, int);
- method protected boolean canScroll(android.view.View!, boolean, int, int, int);
- method @Deprecated public boolean canSlide();
- method public void close();
- method public boolean closePane();
- method @ColorInt public int getCoveredFadeColor();
- method @Px public int getParallaxDistance();
- method @ColorInt public int getSliderFadeColor();
- method public boolean isOpen();
- method public boolean isSlideable();
- method public void open();
- method public boolean openPane();
- method public void setCoveredFadeColor(@ColorInt int);
- method public void setPanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener?);
- method public void setParallaxDistance(@Px int);
- method @Deprecated public void setShadowDrawable(android.graphics.drawable.Drawable!);
- method public void setShadowDrawableLeft(android.graphics.drawable.Drawable?);
- method public void setShadowDrawableRight(android.graphics.drawable.Drawable?);
- method @Deprecated public void setShadowResource(@DrawableRes int);
- method public void setShadowResourceLeft(int);
- method public void setShadowResourceRight(int);
- method public void setSliderFadeColor(@ColorInt int);
- method @Deprecated public void smoothSlideClosed();
- method @Deprecated public void smoothSlideOpen();
- }
-
- public static class SlidingPaneLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
- ctor public SlidingPaneLayout.LayoutParams();
- ctor public SlidingPaneLayout.LayoutParams(int, int);
- ctor public SlidingPaneLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
- ctor public SlidingPaneLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
- ctor public SlidingPaneLayout.LayoutParams(androidx.slidingpanelayout.widget.SlidingPaneLayout.LayoutParams);
- ctor public SlidingPaneLayout.LayoutParams(android.content.Context, android.util.AttributeSet?);
- field public float weight;
- }
-
- public static interface SlidingPaneLayout.PanelSlideListener {
- method public void onPanelClosed(android.view.View);
- method public void onPanelOpened(android.view.View);
- method public void onPanelSlide(android.view.View, float);
- }
-
- public static class SlidingPaneLayout.SimplePanelSlideListener implements androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener {
- ctor public SlidingPaneLayout.SimplePanelSlideListener();
- method public void onPanelClosed(android.view.View!);
- method public void onPanelOpened(android.view.View!);
- method public void onPanelSlide(android.view.View!, float);
- }
-
-}
-
diff --git a/slidingpanelayout/slidingpanelayout/api/public_plus_experimental_1.1.0-rc01.txt b/slidingpanelayout/slidingpanelayout/api/public_plus_experimental_1.1.0-rc01.txt
deleted file mode 100644
index 1c970ae..0000000
--- a/slidingpanelayout/slidingpanelayout/api/public_plus_experimental_1.1.0-rc01.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-// Signature format: 3.0
-package androidx.slidingpanelayout.widget {
-
- public class SlidingPaneLayout extends android.view.ViewGroup implements androidx.customview.widget.Openable {
- ctor public SlidingPaneLayout(android.content.Context);
- ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?);
- ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?, int);
- method protected boolean canScroll(android.view.View!, boolean, int, int, int);
- method @Deprecated public boolean canSlide();
- method public void close();
- method public boolean closePane();
- method @ColorInt public int getCoveredFadeColor();
- method @Px public int getParallaxDistance();
- method @ColorInt public int getSliderFadeColor();
- method public boolean isOpen();
- method public boolean isSlideable();
- method public void open();
- method public boolean openPane();
- method public void setCoveredFadeColor(@ColorInt int);
- method public void setPanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener?);
- method public void setParallaxDistance(@Px int);
- method @Deprecated public void setShadowDrawable(android.graphics.drawable.Drawable!);
- method public void setShadowDrawableLeft(android.graphics.drawable.Drawable?);
- method public void setShadowDrawableRight(android.graphics.drawable.Drawable?);
- method @Deprecated public void setShadowResource(@DrawableRes int);
- method public void setShadowResourceLeft(int);
- method public void setShadowResourceRight(int);
- method public void setSliderFadeColor(@ColorInt int);
- method @Deprecated public void smoothSlideClosed();
- method @Deprecated public void smoothSlideOpen();
- }
-
- public static class SlidingPaneLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
- ctor public SlidingPaneLayout.LayoutParams();
- ctor public SlidingPaneLayout.LayoutParams(int, int);
- ctor public SlidingPaneLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
- ctor public SlidingPaneLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
- ctor public SlidingPaneLayout.LayoutParams(androidx.slidingpanelayout.widget.SlidingPaneLayout.LayoutParams);
- ctor public SlidingPaneLayout.LayoutParams(android.content.Context, android.util.AttributeSet?);
- field public float weight;
- }
-
- public static interface SlidingPaneLayout.PanelSlideListener {
- method public void onPanelClosed(android.view.View);
- method public void onPanelOpened(android.view.View);
- method public void onPanelSlide(android.view.View, float);
- }
-
- public static class SlidingPaneLayout.SimplePanelSlideListener implements androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener {
- ctor public SlidingPaneLayout.SimplePanelSlideListener();
- method public void onPanelClosed(android.view.View!);
- method public void onPanelOpened(android.view.View!);
- method public void onPanelSlide(android.view.View!, float);
- }
-
-}
-
diff --git a/slidingpanelayout/slidingpanelayout/api/res-1.1.0-rc01.txt b/slidingpanelayout/slidingpanelayout/api/res-1.1.0-rc01.txt
deleted file mode 100644
index e69de29..0000000
--- a/slidingpanelayout/slidingpanelayout/api/res-1.1.0-rc01.txt
+++ /dev/null
diff --git a/slidingpanelayout/slidingpanelayout/api/restricted_1.1.0-rc01.txt b/slidingpanelayout/slidingpanelayout/api/restricted_1.1.0-rc01.txt
deleted file mode 100644
index 1c970ae..0000000
--- a/slidingpanelayout/slidingpanelayout/api/restricted_1.1.0-rc01.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-// Signature format: 3.0
-package androidx.slidingpanelayout.widget {
-
- public class SlidingPaneLayout extends android.view.ViewGroup implements androidx.customview.widget.Openable {
- ctor public SlidingPaneLayout(android.content.Context);
- ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?);
- ctor public SlidingPaneLayout(android.content.Context, android.util.AttributeSet?, int);
- method protected boolean canScroll(android.view.View!, boolean, int, int, int);
- method @Deprecated public boolean canSlide();
- method public void close();
- method public boolean closePane();
- method @ColorInt public int getCoveredFadeColor();
- method @Px public int getParallaxDistance();
- method @ColorInt public int getSliderFadeColor();
- method public boolean isOpen();
- method public boolean isSlideable();
- method public void open();
- method public boolean openPane();
- method public void setCoveredFadeColor(@ColorInt int);
- method public void setPanelSlideListener(androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener?);
- method public void setParallaxDistance(@Px int);
- method @Deprecated public void setShadowDrawable(android.graphics.drawable.Drawable!);
- method public void setShadowDrawableLeft(android.graphics.drawable.Drawable?);
- method public void setShadowDrawableRight(android.graphics.drawable.Drawable?);
- method @Deprecated public void setShadowResource(@DrawableRes int);
- method public void setShadowResourceLeft(int);
- method public void setShadowResourceRight(int);
- method public void setSliderFadeColor(@ColorInt int);
- method @Deprecated public void smoothSlideClosed();
- method @Deprecated public void smoothSlideOpen();
- }
-
- public static class SlidingPaneLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
- ctor public SlidingPaneLayout.LayoutParams();
- ctor public SlidingPaneLayout.LayoutParams(int, int);
- ctor public SlidingPaneLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
- ctor public SlidingPaneLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
- ctor public SlidingPaneLayout.LayoutParams(androidx.slidingpanelayout.widget.SlidingPaneLayout.LayoutParams);
- ctor public SlidingPaneLayout.LayoutParams(android.content.Context, android.util.AttributeSet?);
- field public float weight;
- }
-
- public static interface SlidingPaneLayout.PanelSlideListener {
- method public void onPanelClosed(android.view.View);
- method public void onPanelOpened(android.view.View);
- method public void onPanelSlide(android.view.View, float);
- }
-
- public static class SlidingPaneLayout.SimplePanelSlideListener implements androidx.slidingpanelayout.widget.SlidingPaneLayout.PanelSlideListener {
- ctor public SlidingPaneLayout.SimplePanelSlideListener();
- method public void onPanelClosed(android.view.View!);
- method public void onPanelOpened(android.view.View!);
- method public void onPanelSlide(android.view.View!, float);
- }
-
-}
-
diff --git a/swiperefreshlayout/swiperefreshlayout/api/1.2.0-alpha01.txt b/swiperefreshlayout/swiperefreshlayout/api/1.2.0-alpha01.txt
deleted file mode 100644
index 40ac939..0000000
--- a/swiperefreshlayout/swiperefreshlayout/api/1.2.0-alpha01.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-// Signature format: 3.0
-package androidx.swiperefreshlayout.widget {
-
- public class CircularProgressDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable {
- ctor public CircularProgressDrawable(android.content.Context);
- method public void draw(android.graphics.Canvas!);
- method public boolean getArrowEnabled();
- method public float getArrowHeight();
- method public float getArrowScale();
- method public float getArrowWidth();
- method public int getBackgroundColor();
- method public float getCenterRadius();
- method public int[] getColorSchemeColors();
- method public float getEndTrim();
- method public int getOpacity();
- method public float getProgressRotation();
- method public float getStartTrim();
- method public android.graphics.Paint.Cap getStrokeCap();
- method public float getStrokeWidth();
- method public boolean isRunning();
- method public void setAlpha(int);
- method public void setArrowDimensions(float, float);
- method public void setArrowEnabled(boolean);
- method public void setArrowScale(float);
- method public void setBackgroundColor(int);
- method public void setCenterRadius(float);
- method public void setColorFilter(android.graphics.ColorFilter!);
- method public void setColorSchemeColors(int...);
- method public void setProgressRotation(float);
- method public void setStartEndTrim(float, float);
- method public void setStrokeCap(android.graphics.Paint.Cap);
- method public void setStrokeWidth(float);
- method public void setStyle(int);
- method public void start();
- method public void stop();
- field public static final int DEFAULT = 1; // 0x1
- field public static final int LARGE = 0; // 0x0
- }
-
- public class SwipeRefreshLayout extends android.view.ViewGroup implements androidx.core.view.NestedScrollingChild androidx.core.view.NestedScrollingChild2 androidx.core.view.NestedScrollingChild3 androidx.core.view.NestedScrollingParent androidx.core.view.NestedScrollingParent2 androidx.core.view.NestedScrollingParent3 {
- ctor public SwipeRefreshLayout(android.content.Context);
- ctor public SwipeRefreshLayout(android.content.Context, android.util.AttributeSet?);
- method public boolean canChildScrollUp();
- method public boolean dispatchNestedPreScroll(int, int, int[]!, int[]!, int);
- method public void dispatchNestedScroll(int, int, int, int, int[]?, int, int[]);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]!, int);
- method public int getProgressCircleDiameter();
- method public int getProgressViewEndOffset();
- method public int getProgressViewStartOffset();
- method public boolean hasNestedScrollingParent(int);
- method public boolean isRefreshing();
- method public void onMeasure(int, int);
- method public void onNestedPreScroll(android.view.View!, int, int, int[]!, int);
- method public void onNestedScroll(android.view.View, int, int, int, int, int, int[]);
- method public void onNestedScroll(android.view.View!, int, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View!, android.view.View!, int, int);
- method public boolean onStartNestedScroll(android.view.View!, android.view.View!, int, int);
- method public void onStopNestedScroll(android.view.View!, int);
- method @Deprecated public void setColorScheme(@ColorRes int...);
- method public void setColorSchemeColors(@ColorInt int...);
- method public void setColorSchemeResources(@ColorRes int...);
- method public void setDistanceToTriggerSync(int);
- method @Deprecated public void setLegacyRequestDisallowInterceptTouchEventEnabled(boolean);
- method public void setOnChildScrollUpCallback(androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnChildScrollUpCallback?);
- method public void setOnRefreshListener(androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener?);
- method @Deprecated public void setProgressBackgroundColor(int);
- method public void setProgressBackgroundColorSchemeColor(@ColorInt int);
- method public void setProgressBackgroundColorSchemeResource(@ColorRes int);
- method public void setProgressViewEndTarget(boolean, int);
- method public void setProgressViewOffset(boolean, int, int);
- method public void setRefreshing(boolean);
- method public void setSize(int);
- method public void setSlingshotDistance(@Px int);
- method public boolean startNestedScroll(int, int);
- method public void stopNestedScroll(int);
- field public static final int DEFAULT = 1; // 0x1
- field public static final int DEFAULT_SLINGSHOT_DISTANCE = -1; // 0xffffffff
- field public static final int LARGE = 0; // 0x0
- field protected int mFrom;
- field protected int mOriginalOffsetTop;
- }
-
- public static interface SwipeRefreshLayout.OnChildScrollUpCallback {
- method public boolean canChildScrollUp(androidx.swiperefreshlayout.widget.SwipeRefreshLayout, android.view.View?);
- }
-
- public static interface SwipeRefreshLayout.OnRefreshListener {
- method public void onRefresh();
- }
-
-}
-
diff --git a/swiperefreshlayout/swiperefreshlayout/api/public_plus_experimental_1.2.0-alpha01.txt b/swiperefreshlayout/swiperefreshlayout/api/public_plus_experimental_1.2.0-alpha01.txt
deleted file mode 100644
index 40ac939..0000000
--- a/swiperefreshlayout/swiperefreshlayout/api/public_plus_experimental_1.2.0-alpha01.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-// Signature format: 3.0
-package androidx.swiperefreshlayout.widget {
-
- public class CircularProgressDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable {
- ctor public CircularProgressDrawable(android.content.Context);
- method public void draw(android.graphics.Canvas!);
- method public boolean getArrowEnabled();
- method public float getArrowHeight();
- method public float getArrowScale();
- method public float getArrowWidth();
- method public int getBackgroundColor();
- method public float getCenterRadius();
- method public int[] getColorSchemeColors();
- method public float getEndTrim();
- method public int getOpacity();
- method public float getProgressRotation();
- method public float getStartTrim();
- method public android.graphics.Paint.Cap getStrokeCap();
- method public float getStrokeWidth();
- method public boolean isRunning();
- method public void setAlpha(int);
- method public void setArrowDimensions(float, float);
- method public void setArrowEnabled(boolean);
- method public void setArrowScale(float);
- method public void setBackgroundColor(int);
- method public void setCenterRadius(float);
- method public void setColorFilter(android.graphics.ColorFilter!);
- method public void setColorSchemeColors(int...);
- method public void setProgressRotation(float);
- method public void setStartEndTrim(float, float);
- method public void setStrokeCap(android.graphics.Paint.Cap);
- method public void setStrokeWidth(float);
- method public void setStyle(int);
- method public void start();
- method public void stop();
- field public static final int DEFAULT = 1; // 0x1
- field public static final int LARGE = 0; // 0x0
- }
-
- public class SwipeRefreshLayout extends android.view.ViewGroup implements androidx.core.view.NestedScrollingChild androidx.core.view.NestedScrollingChild2 androidx.core.view.NestedScrollingChild3 androidx.core.view.NestedScrollingParent androidx.core.view.NestedScrollingParent2 androidx.core.view.NestedScrollingParent3 {
- ctor public SwipeRefreshLayout(android.content.Context);
- ctor public SwipeRefreshLayout(android.content.Context, android.util.AttributeSet?);
- method public boolean canChildScrollUp();
- method public boolean dispatchNestedPreScroll(int, int, int[]!, int[]!, int);
- method public void dispatchNestedScroll(int, int, int, int, int[]?, int, int[]);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]!, int);
- method public int getProgressCircleDiameter();
- method public int getProgressViewEndOffset();
- method public int getProgressViewStartOffset();
- method public boolean hasNestedScrollingParent(int);
- method public boolean isRefreshing();
- method public void onMeasure(int, int);
- method public void onNestedPreScroll(android.view.View!, int, int, int[]!, int);
- method public void onNestedScroll(android.view.View, int, int, int, int, int, int[]);
- method public void onNestedScroll(android.view.View!, int, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View!, android.view.View!, int, int);
- method public boolean onStartNestedScroll(android.view.View!, android.view.View!, int, int);
- method public void onStopNestedScroll(android.view.View!, int);
- method @Deprecated public void setColorScheme(@ColorRes int...);
- method public void setColorSchemeColors(@ColorInt int...);
- method public void setColorSchemeResources(@ColorRes int...);
- method public void setDistanceToTriggerSync(int);
- method @Deprecated public void setLegacyRequestDisallowInterceptTouchEventEnabled(boolean);
- method public void setOnChildScrollUpCallback(androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnChildScrollUpCallback?);
- method public void setOnRefreshListener(androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener?);
- method @Deprecated public void setProgressBackgroundColor(int);
- method public void setProgressBackgroundColorSchemeColor(@ColorInt int);
- method public void setProgressBackgroundColorSchemeResource(@ColorRes int);
- method public void setProgressViewEndTarget(boolean, int);
- method public void setProgressViewOffset(boolean, int, int);
- method public void setRefreshing(boolean);
- method public void setSize(int);
- method public void setSlingshotDistance(@Px int);
- method public boolean startNestedScroll(int, int);
- method public void stopNestedScroll(int);
- field public static final int DEFAULT = 1; // 0x1
- field public static final int DEFAULT_SLINGSHOT_DISTANCE = -1; // 0xffffffff
- field public static final int LARGE = 0; // 0x0
- field protected int mFrom;
- field protected int mOriginalOffsetTop;
- }
-
- public static interface SwipeRefreshLayout.OnChildScrollUpCallback {
- method public boolean canChildScrollUp(androidx.swiperefreshlayout.widget.SwipeRefreshLayout, android.view.View?);
- }
-
- public static interface SwipeRefreshLayout.OnRefreshListener {
- method public void onRefresh();
- }
-
-}
-
diff --git a/swiperefreshlayout/swiperefreshlayout/api/restricted_1.2.0-alpha01.txt b/swiperefreshlayout/swiperefreshlayout/api/restricted_1.2.0-alpha01.txt
deleted file mode 100644
index 21e0e84..0000000
--- a/swiperefreshlayout/swiperefreshlayout/api/restricted_1.2.0-alpha01.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-// Signature format: 3.0
-package androidx.swiperefreshlayout.widget {
-
- public class CircularProgressDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable {
- ctor public CircularProgressDrawable(android.content.Context);
- method public void draw(android.graphics.Canvas!);
- method public boolean getArrowEnabled();
- method public float getArrowHeight();
- method public float getArrowScale();
- method public float getArrowWidth();
- method public int getBackgroundColor();
- method public float getCenterRadius();
- method public int[] getColorSchemeColors();
- method public float getEndTrim();
- method public int getOpacity();
- method public float getProgressRotation();
- method public float getStartTrim();
- method public android.graphics.Paint.Cap getStrokeCap();
- method public float getStrokeWidth();
- method public boolean isRunning();
- method public void setAlpha(int);
- method public void setArrowDimensions(float, float);
- method public void setArrowEnabled(boolean);
- method public void setArrowScale(float);
- method public void setBackgroundColor(int);
- method public void setCenterRadius(float);
- method public void setColorFilter(android.graphics.ColorFilter!);
- method public void setColorSchemeColors(int...);
- method public void setProgressRotation(float);
- method public void setStartEndTrim(float, float);
- method public void setStrokeCap(android.graphics.Paint.Cap);
- method public void setStrokeWidth(float);
- method public void setStyle(@androidx.swiperefreshlayout.widget.CircularProgressDrawable.ProgressDrawableSize int);
- method public void start();
- method public void stop();
- field public static final int DEFAULT = 1; // 0x1
- field public static final int LARGE = 0; // 0x0
- }
-
- @IntDef({androidx.swiperefreshlayout.widget.CircularProgressDrawable.LARGE, androidx.swiperefreshlayout.widget.CircularProgressDrawable.DEFAULT}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface CircularProgressDrawable.ProgressDrawableSize {
- }
-
- public class SwipeRefreshLayout extends android.view.ViewGroup implements androidx.core.view.NestedScrollingChild androidx.core.view.NestedScrollingChild2 androidx.core.view.NestedScrollingChild3 androidx.core.view.NestedScrollingParent androidx.core.view.NestedScrollingParent2 androidx.core.view.NestedScrollingParent3 {
- ctor public SwipeRefreshLayout(android.content.Context);
- ctor public SwipeRefreshLayout(android.content.Context, android.util.AttributeSet?);
- method public boolean canChildScrollUp();
- method public boolean dispatchNestedPreScroll(int, int, int[]!, int[]!, int);
- method public void dispatchNestedScroll(int, int, int, int, int[]?, int, int[]);
- method public boolean dispatchNestedScroll(int, int, int, int, int[]!, int);
- method public int getProgressCircleDiameter();
- method public int getProgressViewEndOffset();
- method public int getProgressViewStartOffset();
- method public boolean hasNestedScrollingParent(int);
- method public boolean isRefreshing();
- method public void onMeasure(int, int);
- method public void onNestedPreScroll(android.view.View!, int, int, int[]!, int);
- method public void onNestedScroll(android.view.View, int, int, int, int, int, int[]);
- method public void onNestedScroll(android.view.View!, int, int, int, int, int);
- method public void onNestedScrollAccepted(android.view.View!, android.view.View!, int, int);
- method public boolean onStartNestedScroll(android.view.View!, android.view.View!, int, int);
- method public void onStopNestedScroll(android.view.View!, int);
- method @Deprecated public void setColorScheme(@ColorRes int...);
- method public void setColorSchemeColors(@ColorInt int...);
- method public void setColorSchemeResources(@ColorRes int...);
- method public void setDistanceToTriggerSync(int);
- method @Deprecated public void setLegacyRequestDisallowInterceptTouchEventEnabled(boolean);
- method public void setOnChildScrollUpCallback(androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnChildScrollUpCallback?);
- method public void setOnRefreshListener(androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener?);
- method @Deprecated public void setProgressBackgroundColor(int);
- method public void setProgressBackgroundColorSchemeColor(@ColorInt int);
- method public void setProgressBackgroundColorSchemeResource(@ColorRes int);
- method public void setProgressViewEndTarget(boolean, int);
- method public void setProgressViewOffset(boolean, int, int);
- method public void setRefreshing(boolean);
- method public void setSize(int);
- method public void setSlingshotDistance(@Px int);
- method public boolean startNestedScroll(int, int);
- method public void stopNestedScroll(int);
- field public static final int DEFAULT = 1; // 0x1
- field public static final int DEFAULT_SLINGSHOT_DISTANCE = -1; // 0xffffffff
- field public static final int LARGE = 0; // 0x0
- field protected int mFrom;
- field protected int mOriginalOffsetTop;
- }
-
- public static interface SwipeRefreshLayout.OnChildScrollUpCallback {
- method public boolean canChildScrollUp(androidx.swiperefreshlayout.widget.SwipeRefreshLayout, android.view.View?);
- }
-
- public static interface SwipeRefreshLayout.OnRefreshListener {
- method public void onRefresh();
- }
-
-}
-
diff --git a/textclassifier/textclassifier/src/androidTest/java/androidx/textclassifier/widget/FloatingToolbarTest.java b/textclassifier/textclassifier/src/androidTest/java/androidx/textclassifier/widget/FloatingToolbarTest.java
index 78470df..8558cb1 100644
--- a/textclassifier/textclassifier/src/androidTest/java/androidx/textclassifier/widget/FloatingToolbarTest.java
+++ b/textclassifier/textclassifier/src/androidTest/java/androidx/textclassifier/widget/FloatingToolbarTest.java
@@ -240,6 +240,7 @@
}
@Test
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public void ui_dismissOnOutsideClick() throws Exception {
final int toolbarMargin = (int) (mWidget.getY() + 1.5 * mWidget.getResources()
.getDimensionPixelSize(R.dimen.floating_toolbar_height));
@@ -277,6 +278,7 @@
}
@Test
+ @SuppressWarnings("deprecation") /* defaultDisplay */
public void ui_setContentRect_belowToolbar() throws Exception {
final int toolbarMargin = 5 * mWidget.getResources()
.getDimensionPixelSize(R.dimen.floating_toolbar_height);
diff --git a/ui/integration-tests/src/main/java/androidx/ui/benchmark/android/AndroidTestCaseRunner.kt b/ui/integration-tests/src/main/java/androidx/ui/benchmark/android/AndroidTestCaseRunner.kt
index d68678c..cf4e992 100644
--- a/ui/integration-tests/src/main/java/androidx/ui/benchmark/android/AndroidTestCaseRunner.kt
+++ b/ui/integration-tests/src/main/java/androidx/ui/benchmark/android/AndroidTestCaseRunner.kt
@@ -50,6 +50,7 @@
init {
val displayMetrics = DisplayMetrics()
+ @Suppress("DEPRECATION") /* defaultDisplay + getMetrics() */
activity.windowManager.defaultDisplay.getMetrics(displayMetrics)
val height = displayMetrics.heightPixels
val width = displayMetrics.widthPixels
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt b/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
index 7c6ec18..5a62688 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
+++ b/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
@@ -21,6 +21,7 @@
import android.graphics.Bitmap
import android.os.Build
import android.os.Handler
+import android.os.Looper
import android.util.SparseArray
import android.view.PixelCopy
import android.view.View
@@ -2876,7 +2877,7 @@
view.getLocationInWindow(offset)
view.viewTreeObserver.addOnPreDrawListener(flushListener)
view.invalidate()
- handler = Handler()
+ handler = Handler(Looper.getMainLooper())
}
assertTrue(flushListener.latch.await(1, TimeUnit.SECONDS))
diff --git a/ui/ui-graphics/src/main/java/androidx/ui/graphics/AndroidPath.kt b/ui/ui-graphics/src/main/java/androidx/ui/graphics/AndroidPath.kt
index c3567df..a3036f8 100644
--- a/ui/ui-graphics/src/main/java/androidx/ui/graphics/AndroidPath.kt
+++ b/ui/ui-graphics/src/main/java/androidx/ui/graphics/AndroidPath.kt
@@ -211,6 +211,7 @@
return internalPath.op(path1.asAndroidPath(), path2.asAndroidPath(), op)
}
+ @Suppress("DEPRECATION") // Path.isConvex
override val isConvex: Boolean get() = internalPath.isConvex
override val isEmpty: Boolean get() = internalPath.isEmpty
diff --git a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutTest.kt b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutTest.kt
index 0705b47..0741015 100644
--- a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutTest.kt
+++ b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutTest.kt
@@ -18,6 +18,7 @@
import android.app.Activity
import android.os.Handler
+import android.os.Looper
import android.view.View
import android.view.ViewGroup
import android.view.ViewTreeObserver
@@ -84,7 +85,7 @@
// lambda to Runnable, so separate it here
val runnable: Runnable = object : Runnable {
override fun run() {
- handler = Handler()
+ handler = Handler(Looper.getMainLooper())
}
}
activityTestRule.runOnUiThread(runnable)
diff --git a/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ProgressIndicatorDemo.kt b/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ProgressIndicatorDemo.kt
index c93e1a1..aa01ce4 100644
--- a/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ProgressIndicatorDemo.kt
+++ b/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ProgressIndicatorDemo.kt
@@ -17,6 +17,7 @@
package androidx.ui.material.demos
import android.os.Handler
+import android.os.Looper
import androidx.compose.Composable
import androidx.compose.Model
import androidx.compose.onActive
@@ -92,7 +93,7 @@
handler.removeCallbacks(updateProgress)
}
- val handler = Handler()
+ val handler = Handler(Looper.getMainLooper())
val updateProgress: Runnable = object : Runnable {
override fun run() {
if (progress == 1f) {
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/OutlineResolver.kt b/ui/ui-platform/src/main/java/androidx/ui/core/OutlineResolver.kt
index 1d906ff..dee53c5 100644
--- a/ui/ui-platform/src/main/java/androidx/ui/core/OutlineResolver.kt
+++ b/ui/ui-platform/src/main/java/androidx/ui/core/OutlineResolver.kt
@@ -187,7 +187,7 @@
}
}
- @SuppressWarnings("deprecation")
+ @Suppress("deprecation")
private fun updateCacheWithPath(composePath: Path) {
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P || composePath.isConvex) {
// TODO(mount): Use setPath() for R+ when available.
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidComposeTestCaseRunner.kt b/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidComposeTestCaseRunner.kt
index a3891ca..171a6d5 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidComposeTestCaseRunner.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidComposeTestCaseRunner.kt
@@ -87,6 +87,7 @@
init {
val displayMetrics = DisplayMetrics()
+ @Suppress("DEPRECATION") /* defaultDisplay + getMetrics() */
activity.windowManager.defaultDisplay.getMetrics(displayMetrics)
val height = displayMetrics.heightPixels
val width = displayMetrics.widthPixels
diff --git a/ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/ToolingTest.kt b/ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/ToolingTest.kt
index 3435683..551b028 100644
--- a/ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/ToolingTest.kt
+++ b/ui/ui-tooling/src/androidTest/java/androidx/ui/tooling/ToolingTest.kt
@@ -17,6 +17,7 @@
package androidx.ui.tooling
import android.os.Handler
+import android.os.Looper
import androidx.compose.Composable
import androidx.test.rule.ActivityTestRule
import androidx.ui.core.Modifier
@@ -43,7 +44,7 @@
activity = activityTestRule.activity
activity.hasFocusLatch.await(5, TimeUnit.SECONDS)
- activityTestRule.onUiThread { handler = Handler() }
+ activityTestRule.onUiThread { handler = Handler(Looper.getMainLooper()) }
}
internal fun show(composable: @Composable() () -> Unit) {
diff --git a/vectordrawable/integration-tests/testapp/src/main/java/com/example/android/support/vectordrawable/app/SupportVectorDrawableDemos.java b/vectordrawable/integration-tests/testapp/src/main/java/com/example/android/support/vectordrawable/app/SupportVectorDrawableDemos.java
index 959ea75..c07087f 100644
--- a/vectordrawable/integration-tests/testapp/src/main/java/com/example/android/support/vectordrawable/app/SupportVectorDrawableDemos.java
+++ b/vectordrawable/integration-tests/testapp/src/main/java/com/example/android/support/vectordrawable/app/SupportVectorDrawableDemos.java
@@ -16,7 +16,6 @@
package com.example.android.support.vectordrawable.app;
-import android.app.ListActivity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -36,7 +35,8 @@
/**
* The root level activity for this demo. Showing a list of sub demos.
*/
-public class SupportVectorDrawableDemos extends ListActivity {
+@SuppressWarnings("deprecation")
+public class SupportVectorDrawableDemos extends android.app.ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
diff --git a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/BrowseActivity.kt b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/BrowseActivity.kt
index 5ddbedd..f3f44ec 100644
--- a/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/BrowseActivity.kt
+++ b/viewpager2/integration-tests/testapp/src/main/java/androidx/viewpager2/integration/testapp/BrowseActivity.kt
@@ -16,7 +16,6 @@
package androidx.viewpager2.integration.testapp
-import android.app.ListActivity
import android.content.Intent
import android.os.Bundle
import android.view.View
@@ -26,7 +25,8 @@
/**
* This activity lists all the activities in this application.
*/
-class BrowseActivity : ListActivity() {
+@Suppress("DEPRECATION")
+class BrowseActivity : android.app.ListActivity() {
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
diff --git a/wear/wear/src/main/java/androidx/wear/widget/BoxInsetLayout.java b/wear/wear/src/main/java/androidx/wear/widget/BoxInsetLayout.java
index e43e2bf..79dcc227 100644
--- a/wear/wear/src/main/java/androidx/wear/widget/BoxInsetLayout.java
+++ b/wear/wear/src/main/java/androidx/wear/widget/BoxInsetLayout.java
@@ -128,6 +128,7 @@
}
@Override
+ @SuppressWarnings("deprecation") /* getSystemWindowInsetXXXX */
protected void onAttachedToWindow() {
super.onAttachedToWindow();
mIsRound = getResources().getConfiguration().isScreenRound();
diff --git a/wear/wear/src/main/java/androidx/wear/widget/WearableRecyclerView.java b/wear/wear/src/main/java/androidx/wear/widget/WearableRecyclerView.java
index e20fb1f..07da857 100644
--- a/wear/wear/src/main/java/androidx/wear/widget/WearableRecyclerView.java
+++ b/wear/wear/src/main/java/androidx/wear/widget/WearableRecyclerView.java
@@ -149,6 +149,7 @@
}
@Override
+ @SuppressWarnings("deprecation") /* Display.getSize() */
protected void onAttachedToWindow() {
super.onAttachedToWindow();
Point screenSize = new Point();
diff --git a/wear/wear/src/main/java/androidx/wear/widget/drawer/WearableDrawerLayout.java b/wear/wear/src/main/java/androidx/wear/widget/drawer/WearableDrawerLayout.java
index e7ddbfb..d43d1cc 100644
--- a/wear/wear/src/main/java/androidx/wear/widget/drawer/WearableDrawerLayout.java
+++ b/wear/wear/src/main/java/androidx/wear/widget/drawer/WearableDrawerLayout.java
@@ -229,6 +229,7 @@
this(context, attrs, defStyleAttr, 0);
}
+ @SuppressWarnings("deprecation") /* getDefaultDisplay */
public WearableDrawerLayout(
Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
@@ -319,6 +320,7 @@
}
@Override
+ @SuppressWarnings("deprecation") /* getSystemWindowInsetBottom */
public WindowInsets onApplyWindowInsets(WindowInsets insets) {
mSystemWindowInsetBottom = insets.getSystemWindowInsetBottom();
diff --git a/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/AssetLoaderInternalStorageActivity.java b/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/AssetLoaderInternalStorageActivity.java
index 4a0373d..35f53be 100644
--- a/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/AssetLoaderInternalStorageActivity.java
+++ b/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/AssetLoaderInternalStorageActivity.java
@@ -20,7 +20,6 @@
import android.app.Activity;
import android.net.Uri;
-import android.os.AsyncTask;
import android.os.Bundle;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
@@ -73,6 +72,7 @@
}
@Override
+ @SuppressWarnings("deprecation") /* AsyncTask */
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -117,7 +117,7 @@
}
// Writes to file asynchronously in the background thread.
- private static class WriteFileTask extends AsyncTask<Void, Void, Void> {
+ private static class WriteFileTask extends android.os.AsyncTask<Void, Void, Void> {
@NonNull private final File mFile;
@NonNull private final String mContent;
diff --git a/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/GiantInterstitialActivity.java b/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/GiantInterstitialActivity.java
index 40e3512..1c3aa61 100644
--- a/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/GiantInterstitialActivity.java
+++ b/webkit/integration-tests/testapp/src/main/java/com/example/androidx/webkit/GiantInterstitialActivity.java
@@ -36,6 +36,7 @@
private static final double SCALE_FACTOR = 1.1;
@Override
+ @SuppressWarnings("deprecation") /* defaultDisplay */
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_giant_interstitial);
diff --git a/webkit/webkit/src/main/java/androidx/webkit/TracingController.java b/webkit/webkit/src/main/java/androidx/webkit/TracingController.java
index 6f1987a..7a484d0 100644
--- a/webkit/webkit/src/main/java/androidx/webkit/TracingController.java
+++ b/webkit/webkit/src/main/java/androidx/webkit/TracingController.java
@@ -17,7 +17,6 @@
package androidx.webkit;
import android.content.Context;
-import android.os.AsyncTask;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -118,7 +117,7 @@
* To dispatch events through the main thread of your application,
* you can use {@link Context#getMainExecutor()}.
* To dispatch events through a shared thread pool,
- * you can use {@link AsyncTask#THREAD_POOL_EXECUTOR}.
+ * you can use {@link android.os.AsyncTask#THREAD_POOL_EXECUTOR}.
*
* @return {@code false} if the WebView framework was not tracing at the time of the call,
* {@code true} otherwise.
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageRecyclerViewAdapter.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageRecyclerViewAdapter.java
index 8cbb23e..633bf07 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageRecyclerViewAdapter.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageRecyclerViewAdapter.java
@@ -18,7 +18,6 @@
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
-import android.os.AsyncTask;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
@@ -56,7 +55,7 @@
private ImageView mImageView;
private TextView mTextView;
private ProgressBar mProgressBar;
- private AsyncTask<Image, Void, Bitmap> mBitmapLoadTask;
+ private android.os.AsyncTask<Image, Void, Bitmap> mBitmapLoadTask;
private boolean mShouldLoad;
ViewHolder(View itemView) {
@@ -66,13 +65,14 @@
mProgressBar = itemView.findViewById(R.id.progressBar);
}
+ @SuppressWarnings("deprecation") /* AsyncTask */
public void load(final Image image) {
if (TextUtils.isEmpty(image.mProcessedFilePath)) {
mTextView.setText(image.mOriginalAssetName);
mProgressBar.setVisibility(View.VISIBLE);
mImageView.setVisibility(View.GONE);
} else {
- mBitmapLoadTask = new AsyncTask<Image, Void, Bitmap>() {
+ mBitmapLoadTask = new android.os.AsyncTask<Image, Void, Bitmap>() {
@Override
protected void onPostExecute(Bitmap bitmap) {
if (mShouldLoad) {