| <?xml version="1.0" encoding="UTF-8"?> |
| <issues format="5" by="lint 4.2.0-alpha15" client="gradle" variant="debug" version="4.2.0-alpha15"> |
| |
| <issue |
| id="ApplySharedPref" |
| message="Consider using `apply()` instead; `commit` writes its data to persistent storage immediately, whereas `apply` will handle it in the background" |
| errorLine1=" mSharedPreferences.edit()" |
| errorLine2=" ^"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="328" |
| column="13"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 28 (current min is 19): `android.app.slice.Slice#HINT_TITLE`" |
| errorLine1=" SliceItem title = SliceQuery.find(headerItem, FORMAT_TEXT, HINT_TITLE, null);" |
| errorLine2=" ~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="242" |
| column="68"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 28 (current min is 19): `android.app.slice.SliceItem#FORMAT_TEXT`" |
| errorLine1=" SliceItem title = SliceQuery.find(headerItem, FORMAT_TEXT, HINT_TITLE, null);" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="242" |
| column="55"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 28 (current min is 19): `android.app.slice.Slice#HINT_LARGE`" |
| errorLine1=" title = SliceQuery.find(headerItem, FORMAT_TEXT, HINT_LARGE, null);" |
| errorLine2=" ~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="246" |
| column="58"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 28 (current min is 19): `android.app.slice.SliceItem#FORMAT_TEXT`" |
| errorLine1=" title = SliceQuery.find(headerItem, FORMAT_TEXT, HINT_LARGE, null);" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="246" |
| column="45"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 28 (current min is 19): `android.app.slice.SliceItem#FORMAT_TEXT`" |
| errorLine1=" title = SliceQuery.find(headerItem, FORMAT_TEXT);" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="250" |
| column="45"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `contentInsetStart` is only used in API level 21 and higher (current min is 19)" |
| errorLine1=" android:contentInsetStart="0dp"" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/activity_layout.xml" |
| line="43" |
| column="17"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `contentInsetStartWithNavigation` is only used in API level 24 and higher (current min is 19)" |
| errorLine1=" android:contentInsetStartWithNavigation="0dp"" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/activity_layout.xml" |
| line="44" |
| column="17"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `searchIcon` is only used in API level 21 and higher (current min is 19)" |
| errorLine1=" android:searchIcon="@null"/>" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/activity_layout.xml" |
| line="53" |
| column="21"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `elevation` is only used in API level 21 and higher (current min is 19)" |
| errorLine1=" android:elevation="10dp" >" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/activity_layout.xml" |
| line="65" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="ExportedContentProvider" |
| message="Exported content providers can provide access to potentially sensitive data" |
| errorLine1=" <provider android:authorities="com.example.androidx.slice.demos"" |
| errorLine2=" ~~~~~~~~"> |
| <location |
| file="src/main/AndroidManifest.xml" |
| line="49" |
| column="10"/> |
| </issue> |
| |
| <issue |
| id="DisableBaselineAlignment" |
| message="Set `android:baselineAligned="false"` on this element for better performance" |
| errorLine1="<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/app_item.xml" |
| line="17" |
| column="2"/> |
| </issue> |
| |
| <issue |
| id="InefficientWeight" |
| message="Use a `layout_width` of `0dp` instead of `wrap_content` for better performance" |
| errorLine1=" android:layout_width="wrap_content"" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/app_item.xml" |
| line="47" |
| column="13"/> |
| </issue> |
| |
| <issue |
| id="UnusedResources" |
| message="The resource `R.layout.activity_demo` appears to be unused" |
| errorLine1="<LinearLayout" |
| errorLine2="^"> |
| <location |
| file="src/main/res/layout/activity_demo.xml" |
| line="18" |
| column="1"/> |
| </issue> |
| |
| <issue |
| id="UnusedResources" |
| message="The resource `R.color.textColor` appears to be unused" |
| errorLine1=" <color name="textColor">#D9000000</color>" |
| errorLine2=" ~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/values/colors.xml" |
| line="24" |
| column="12"/> |
| </issue> |
| |
| <issue |
| id="UnusedResources" |
| message="The resource `R.color.tintColor` appears to be unused" |
| errorLine1=" <color name="tintColor">#FF12A4Af</color>" |
| errorLine2=" ~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/values/colors.xml" |
| line="25" |
| column="12"/> |
| </issue> |
| |
| <issue |
| id="UnusedResources" |
| message="The resource `R.dimen.textSize` appears to be unused" |
| errorLine1=" <dimen name="textSize">10sp</dimen>" |
| errorLine2=" ~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/values/dimens.xml" |
| line="19" |
| column="12"/> |
| </issue> |
| |
| <issue |
| id="UnusedResources" |
| message="The resource `R.dimen.smallTextSize` appears to be unused" |
| errorLine1=" <dimen name="smallTextSize">9sp</dimen>" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/values/dimens.xml" |
| line="20" |
| column="12"/> |
| </issue> |
| |
| <issue |
| id="UnusedResources" |
| message="The resource `R.style.AppTheme_AppBarOverlay` appears to be unused" |
| errorLine1=" <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/values/styles.xml" |
| line="34" |
| column="12"/> |
| </issue> |
| |
| <issue |
| id="UnusedResources" |
| message="The resource `R.style.AppTheme_PopupOverlay` appears to be unused" |
| errorLine1=" <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/values/styles.xml" |
| line="35" |
| column="12"/> |
| </issue> |
| |
| <issue |
| id="SyntheticAccessor" |
| message="Access to `private` field `mAdapter` of class `SliceBrowser` requires synthetic accessor" |
| errorLine1=" mSearchView.setQuery(((Cursor) mAdapter.getItem(position)).getString(1), true);" |
| errorLine2=" ~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="127" |
| column="48"/> |
| </issue> |
| |
| <issue |
| id="SyntheticAccessor" |
| message="Access to `private` field `mSearchView` of class `SliceBrowser` requires synthetic accessor" |
| errorLine1=" mSearchView.setQuery(((Cursor) mAdapter.getItem(position)).getString(1), true);" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="127" |
| column="17"/> |
| </issue> |
| |
| <issue |
| id="SyntheticAccessor" |
| message="Access to `private` field `mAdapter` of class `SliceBrowser` requires synthetic accessor" |
| errorLine1=" mSearchView.setQuery(((Cursor) mAdapter.getItem(position)).getString(1), true);" |
| errorLine2=" ~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="133" |
| column="48"/> |
| </issue> |
| |
| <issue |
| id="SyntheticAccessor" |
| message="Access to `private` field `mSearchView` of class `SliceBrowser` requires synthetic accessor" |
| errorLine1=" mSearchView.setQuery(((Cursor) mAdapter.getItem(position)).getString(1), true);" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="133" |
| column="17"/> |
| </issue> |
| |
| <issue |
| id="SyntheticAccessor" |
| message="Access to `private` method `addSlice` of class `SliceBrowser` requires synthetic accessor" |
| errorLine1=" addSlice(Uri.parse(s));" |
| errorLine2=" ~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="140" |
| column="17"/> |
| </issue> |
| |
| <issue |
| id="SyntheticAccessor" |
| message="Access to `private` field `mSearchView` of class `SliceBrowser` requires synthetic accessor" |
| errorLine1=" mSearchView.clearFocus();" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="141" |
| column="17"/> |
| </issue> |
| |
| <issue |
| id="SyntheticAccessor" |
| message="Access to `private` method `populateAdapter` of class `SliceBrowser` requires synthetic accessor" |
| errorLine1=" populateAdapter(s);" |
| errorLine2=" ~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="147" |
| column="17"/> |
| </issue> |
| |
| <issue |
| id="SyntheticAccessor" |
| message="Access to `private` member of class `IconCache` requires synthetic accessor" |
| errorLine1=" IconCache cache = new IconCache();" |
| errorLine2=" ~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="84" |
| column="27"/> |
| </issue> |
| |
| <issue |
| id="SyntheticAccessor" |
| message="Access to `private` method `getType` of class `ProviderTypeCache` requires synthetic accessor" |
| errorLine1=" if (SliceProvider.SLICE_TYPE.equals(typeCache.getType(provider))) {" |
| errorLine2=" ~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="97" |
| column="57"/> |
| </issue> |
| |
| <issue |
| id="SyntheticAccessor" |
| message="Access to `private` method `loadIcon` of class `IconCache` requires synthetic accessor" |
| errorLine1=" cache.loadIcon(iv, provider, pm);" |
| errorLine2=" ~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="133" |
| column="25"/> |
| </issue> |
| |
| <issue |
| id="SmallSp" |
| message="Avoid using sizes smaller than `12sp`: `10sp`" |
| errorLine1=" <dimen name="textSize">10sp</dimen>" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/values/dimens.xml" |
| line="19" |
| column="28"/> |
| </issue> |
| |
| <issue |
| id="AlwaysShowAction" |
| message="Prefer "`SHOW_AS_ACTION_IF_ROOM`" instead of "`SHOW_AS_ACTION_ALWAYS`"" |
| errorLine1=" mTypeMenu.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="183" |
| column="54"/> |
| </issue> |
| |
| <issue |
| id="RtlSymmetry" |
| message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry" |
| errorLine1=" android:paddingEnd="12dp"" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/app_item.xml" |
| line="35" |
| column="13"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" public void onCreate(Bundle savedInstanceState) {" |
| errorLine2=" ~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="104" |
| column="26"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" public boolean onCreateOptionsMenu(Menu menu) {" |
| errorLine2=" ~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="180" |
| column="40"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" public boolean onOptionsItemSelected(MenuItem item) {" |
| errorLine2=" ~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="201" |
| column="42"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" protected void onSaveInstanceState(Bundle outState) {" |
| errorLine2=" ~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceBrowser.java" |
| line="288" |
| column="40"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" public static void create(Context context, Consumer<Uri> selectedCallback) {" |
| errorLine2=" ~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="80" |
| column="31"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" public static void create(Context context, Consumer<Uri> selectedCallback) {" |
| errorLine2=" ~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="80" |
| column="48"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" protected static CharSequence findTitle(Context context, Slice loadedSlice," |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="235" |
| column="22"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" protected static CharSequence findTitle(Context context, Slice loadedSlice," |
| errorLine2=" ~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="235" |
| column="45"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" protected static CharSequence findTitle(Context context, Slice loadedSlice," |
| errorLine2=" ~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="235" |
| column="62"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" SliceMetadata metaData) {" |
| errorLine2=" ~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="236" |
| column="13"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" protected static Slice bindSliceSynchronous(Context context, SliceViewManager manager," |
| errorLine2=" ~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="257" |
| column="22"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" protected static Slice bindSliceSynchronous(Context context, SliceViewManager manager," |
| errorLine2=" ~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="257" |
| column="49"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" protected static Slice bindSliceSynchronous(Context context, SliceViewManager manager," |
| errorLine2=" ~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="257" |
| column="66"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" Uri slice) {" |
| errorLine2=" ~~~"> |
| <location |
| file="src/main/java/com/example/androidx/slice/demos/SliceSelectionDialog.java" |
| line="258" |
| column="13"/> |
| </issue> |
| |
| </issues> |