From 61eee1173c00a7ba9d9c748d28fe3acdb33b9441 Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期二, 30 十二月 2025 15:20:24 +0800
Subject: [PATCH] 首次提交
---
app/src/main/java/com/shlb/comb/activity/ParameterSettingActivity.java | 665
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/CompanyIdentifierResolver.java | 646
app/src/main/res/values/ids.xml | 39
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleManager.java | 111
app/src/main/res/mipmap-xhdpi/icon_topbar_right.png | 0
app/src/main/res/drawable/bg_edittext.xml | 6
app/src/main/res/values/values.xml | 4
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecordStore.java | 157
app/src/main/res/mipmap-xhdpi/icon_menu.png | 0
app/src/main/java/com/shlb/comb/view/t.java | 4
app/src/main/res/mipmap-xxhdpi/animation_img3.png | 0
app/src/main/java/com/shlb/comb/view/particleview/LineEvaluator.java | 16
app/src/main/res/layout/list_item_device.xml | 201
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/BluetoothClassResolver.java | 142
app/src/main/java/com/shlb/comb/model/BluetoothLeDeviceStore.java | 150
app/src/main/res/mipmap-xhdpi/load_err.png | 0
app/src/main/res/mipmap-xhdpi/top_background.png | 0
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectState.java | 25
app/src/main/java/com/shlb/comb/activity/TestActivity.java | 357
app/src/main/java/com/shlb/comb/fragment/SettingsFragment.java | 712
app/src/main/java/com/shlb/comb/util/CMD.java | 67
app/src/main/res/values/strings.xml | 75
app/src/main/res/layout/item_grid_box.xml | 29
app/src/main/res/mipmap-mdpi/ic_launcher.png | 0
app/src/main/java/com/shlb/comb/SplashActivity.java | 45
app/src/main/res/mipmap-xhdpi/ic_sport_bg.png | 0
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanResultCompat.java | 189
app/src/main/res/drawable/radius_button_bg_pressed.xml | 33
app/src/main/java/com/shlb/comb/manager/BleGlobalManager.java | 268
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconManufacturerData.java | 134
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconManufacturerData.java | 31
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ReconnectParamsBean.java | 126
app/src/main/res/drawable/btn_gray.xml | 17
app/src/main/res/layout/activity_write2.xml | 28
app/src/main/res/mipmap-xhdpi/animation_img1.png | 0
bluetooth-manager-lib/src/main/res/values/strings.xml | 3
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleNotAvailableException.java | 40
app/src/main/res/layout/fragment_device_list.xml | 20
app/proguard-rules.pro | 207
app/src/main/res/xml/backup_rules.xml | 13
app/src/main/java/com/shlb/comb/util/CsvWriterHelper.java | 26
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/BluetoothLeScannerCompat.java | 261
app/src/main/res/layout/activity_write.xml | 315
app/src/main/res/mipmap-xhdpi/icon_topbar_about.png | 0
app/src/main/res/values/themes.xml | 77
app/src/main/res/mipmap-xhdpi/icon_record.png | 0
app/src/main/java/com/shlb/comb/base/BaseActivity.java | 275
app/src/main/res/mipmap-xhdpi/monkey.png | 0
app/src/main/res/values/colors.xml | 88
app/src/main/res/mipmap-xhdpi/ic_down.png | 0
app/src/main/res/layout/activity_parameter_setting.xml | 458
app/src/main/res/drawable/bg_box_error.xml | 5
app/src/main/res/color/selector_drawer_icon.xml | 6
app/src/main/res/layout/activity_base.xml | 53
app/src/main/res/layout/activity_conn.xml | 21
app/src/main/java/com/shlb/comb/view/ParticleView.java | 379
app/src/main/res/drawable-v24/ic_launcher_foreground.xml | 30
app/src/main/res/drawable/bg_drawer_item.xml | 26
app/src/main/java/com/shlb/comb/adapter/BaseArrayListAdapter.java | 246
app/src/main/res/layout/dialog_layout_bluetooth_item.xml | 91
app/src/main/res/layout/dialog_layout_bluetooth_list.xml | 19
app/src/main/res/mipmap-xhdpi/example_image0.png | 0
app/src/main/java/com/shlb/comb/fragment/DeviceListFragment.java | 358
app/src/main/res/layout/include_head.xml | 51
bluetooth-manager-lib/proguard-rules.pro | 17
app/src/main/res/layout/normal_activity_write.xml | 304
gradle.properties | 21
app/src/main/java/com/shlb/comb/util/TimeFormatter.java | 18
app/src/main/res/menu/menu_main.xml | 10
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanSettingsCompat.java | 176
app/src/main/java/com/shlb/comb/event/UpdateEvent.java | 79
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconType.java | 15
app/src/main/java/com/shlb/comb/adapter/HomeDeviceListAdapter.java | 240
app/src/main/res/layout/tipdialog_custom.xml | 25
app/src/main/res/mipmap-xhdpi/ic_bluetooth.png | 0
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ObjectsCompat.java | 72
app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter2.java | 137
app/src/main/java/com/shlb/comb/adapter/WriteAdapter.java | 32
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanCallbackCompat.java | 88
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BluetoothService.java | 28
app/src/main/res/mipmap-xhdpi/icon_head.png | 0
app/src/main/res/mipmap-xxhdpi/animation_img2.png | 0
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/LimitedLinkHashMap.java | 19
app/src/main/res/drawable/item_flag_view.xml | 13
app/src/main/res/mipmap-xxhdpi/ic_launcher.png | 0
comb.jks | 0
app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter.java | 83
app/src/main/java/com/shlb/comb/model/HomeItem.java | 40
app/src/main/java/com/shlb/comb/util/CRCutil.java | 34
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/GattError.java | 142
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/ByteUtils.java | 178
app/src/main/res/drawable/bg_input_field.xml | 6
app/src/main/java/com/shlb/comb/util/Singletion.java | 36
app/src/main/res/mipmap-xhdpi/about_logo.png | 0
app/src/main/res/mipmap-xhdpi/icon_topbar_overflow.png | 0
app/build.gradle | 71
app/src/main/java/com/shlb/comb/view/particleview/Particle.java | 17
app/src/main/res/mipmap-xhdpi/ic_sanjiao.png | 0
app/src/main/res/values-w1240dp/dimens.xml | 3
app/src/main/res/values/dimens.xml | 102
app/src/main/res/mipmap-xhdpi/icon_colse.png | 0
app/src/main/res/layout/fragment_settings.xml | 465
app/src/main/res/mipmap-xxxhdpi/ic_launcher.png | 0
app/src/main/res/layout/activity_splash.xml | 31
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecordUtils.java | 132
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectStateListener.java | 27
app/src/main/res/mipmap-hdpi/ic_launcher.png | 0
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconConstants.java | 9
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothSubScribeData.java | 187
app/src/main/res/layout/dialog_layout_write_list.xml | 75
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothOperatorQueue.java | 135
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/multiple/ConnectRequestQueue.java | 609
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecord.java | 227
app/src/main/res/color/selector_drawer_text.xml | 6
app/src/main/res/layout/dialog_layout_write_item.xml | 28
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/BluetoothScanManager.java | 243
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleParamsOptions.java | 285
app/src/main/res/values-w600dp/dimens.xml | 3
app/src/main/res/color/s_app_color_blue_2.xml | 21
app/src/main/res/drawable/bg_drawer_header_gradient.xml | 9
app/src/main/java/com/shlb/comb/activity/ConnActivity.java | 444
app/src/main/res/drawable/s_radius_button_bg.xml | 21
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/BluetoothUtils.java | 137
.gitignore | 24
app/src/main/res/xml/data_extraction_rules.xml | 19
app/src/main/res/mipmap-xhdpi/ic_launcher.png | 0
app/src/main/res/layout/home_item_view.xml | 74
app/src/main/java/com/shlb/comb/Application.java | 82
app/src/main/res/drawable/ic_launcher_background.xml | 170
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconDistanceDescriptor.java | 8
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/BluetoothUuidCompat.java | 310
app/src/main/java/com/shlb/comb/adapter/HomeAdapter.java | 25
app/src/main/res/values-land/dimens.xml | 3
app/src/main/java/com/shlb/comb/activity/HomeActivity.java | 355
app/src/main/java/com/shlb/comb/activity/CurrentDeviceActivity.java | 151
app/src/main/res/drawable/bg_round.xml | 12
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/ScanOverListener.java | 21
app/src/main/res/drawable/bg_box_full.xml | 5
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconUtils.java | 57
app/src/main/res/mipmap-xxhdpi/icon_topbar_about.png | 0
app/src/main/res/layout/activity_test.xml | 96
app/src/main/res/layout/include_head_home.xml | 58
app/src/main/res/values/arrays.xml | 13
app/src/main/res/layout/top_view.xml | 16
app/src/main/res/mipmap-xhdpi/ic_device_ibeacon.png | 0
build.gradle | 15
app/src/main/res/drawable/bg_box_empty.xml | 6
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconUtils.java | 80
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/GattAttributeResolver.java | 380
app/src/main/java/com/shlb/comb/activity/NormalWriteActivity.java | 536
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothConnectInterface.java | 398
bluetooth-manager-lib/build.gradle | 37
app/src/main/res/drawable/bg_card.xml | 5
app/src/main/res/layout/activity_advanced_setting.xml | 280
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BluetoothLeDevice.java | 440
app/.gitignore | 1
settings.gradle | 19
app/src/main/res/layout/home_list_bluetooth_item.xml | 176
app/proguardMapping.txt | 34468 +++++++++++++++++++++++++++++++++++++
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/CycledLeScanner.java | 363
app/src/main/AndroidManifest.xml | 69
app/src/main/java/com/shlb/comb/util/Constants.java | 15
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanFilterCompat.java | 627
app/src/main/res/layout/activity_current_device.xml | 51
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/multiple/MultiConnectManager.java | 147
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconDevice.java | 144
app/src/main/java/com/shlb/comb/activity/WriteActivity.java | 627
app/src/main/java/com/shlb/comb/activity/WriteActivity2.java | 531
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconDevice.java | 8
bluetooth-manager-lib/.gitignore | 1
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothConnectManager.java | 475
bluetooth-manager-lib/src/main/AndroidManifest.xml | 13
app/src/main/res/drawable/radius_button_bg.xml | 33
app/src/main/java/com/shlb/comb/activity/AdvancedSettingActivity.java | 377
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectConfig.java | 30
app/src/main/res/layout/activity_home.xml | 257
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/BackgroundPowerSaver.java | 197
bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanRecordCompat.java | 353
app/src/main/res/layout/layout_loading_view.xml | 22
app/src/main/res/drawable/bg_box_offline.xml | 5
app/src/main/res/mipmap-xxhdpi/animation_img1.png | 0
app/src/main/res/mipmap-xhdpi/icon_back.png | 0
182 files changed, 55,130 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..148777d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
+.idea
+app/release
+app/src/androidTest
+app/src/test
+bluetooth-manager-lib/src/androidTest
+bluetooth-manager-lib/src/test
+gradle
+gradlew
+gradlew.bat
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
new file mode 100644
index 0000000..0deab69
--- /dev/null
+++ b/app/build.gradle
@@ -0,0 +1,71 @@
+plugins {
+ id 'com.android.application'
+}
+
+android {
+ namespace "com.shlb.comb"
+
+ compileSdk 34
+
+ defaultConfig {
+ applicationId "com.shlb.comb"
+ minSdk 21
+ targetSdk 34
+ versionCode 1
+ versionName "1.0"
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ minifyEnabled true
+ shrinkResources true
+ zipAlignEnabled true
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ debug {
+ minifyEnabled false
+ minifyEnabled true
+ shrinkResources true
+ zipAlignEnabled true
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+ lintOptions {
+ abortOnError false
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+ buildFeatures {
+ viewBinding true
+ }
+
+ applicationVariants.all { variant ->
+ if (variant.buildType.name == "release") {
+ variant.outputs.all {
+ def date = new Date().format("yyyyMMddHHmmss")
+ outputFileName = "comb-release-${date}.apk"
+ }
+ }
+ }
+}
+
+dependencies {
+
+ implementation 'androidx.appcompat:appcompat:1.3.0'
+ implementation 'com.google.android.material:material:1.4.0'
+ implementation project(path: ':bluetooth-manager-lib')
+ testImplementation 'junit:junit:4.13.2'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.3'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+ implementation 'com.qmuiteam:qmui:2.0.1'
+ implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.0'
+ implementation 'org.greenrobot:eventbus:3.0.0'
+ implementation 'pub.devrel:easypermissions:3.0.0'
+
+
+}
\ No newline at end of file
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 0000000..d16df50
--- /dev/null
+++ b/app/proguard-rules.pro
@@ -0,0 +1,207 @@
+#-------------------------------------------瀹氬埗鍖栧尯鍩�----------------------------------------------
+#---------------------------------1.瀹炰綋绫�---------------------------------
+
+-keep class com.shlb.comb.model.** { *; }
+
+#-------------------------------------------------------------------------
+
+#---------------------------------2.绗笁鏂瑰寘-------------------------------
+
+#eventbus
+-keepattributes *Annotation*
+-keepclassmembers class * {
+ @org.greenrobot.eventbus.Subscribe <methods>;
+}
+-keep enum org.greenrobot.eventbus.ThreadMode { *; }
+
+# If using AsyncExecutord, keep required constructor of default event used.
+# Adjust the class name if a custom failure event type is used.
+-keepclassmembers class org.greenrobot.eventbus.util.ThrowableFailureEvent {
+ <init>(java.lang.Throwable);
+}
+##--------------- Androidx ----------
+-keep class com.google.android.material.** {*;}
+-keep class androidx.** {*;}
+-keep public class * extends androidx.**
+-keep interface androidx.** {*;}
+-dontwarn com.google.android.material.**
+-dontnote com.google.android.material.**
+-dontwarn androidx.**
+##--------------- Androidx ----------
+
+##--------------- QmUi ----------
+-keep class **_FragmentFinder { *; }
+-keep class androidx.fragment.app.* { *; }
+
+-keep class com.qmuiteam.qmui.arch.record.RecordIdClassMap { *; }
+-keep class com.qmuiteam.qmui.arch.record.RecordIdClassMapImpl { *; }
+
+-keep class com.qmuiteam.qmui.arch.scheme.SchemeMap {*;}
+-keep class com.qmuiteam.qmui.arch.scheme.SchemeMapImpl {*;}
+##--------------- QmUi ----------
+
+# Accessed via reflection, avoid renaming or removal
+-keep class org.greenrobot.eventbus.android.AndroidComponentsImpl
+
+#fastjson
+-keepattributes Signature
+-dontwarn com.alibaba.fastjson.**
+-keep class com.alibaba.fastjson.**{*; }
+#picasso
+-dontwarn com.squareup.okhttp.**
+#okhttp #okio
+-dontwarn okhttp3.**
+-dontwarn okio.**
+-dontwarn javax.annotation.**
+#retrofit2
+-dontwarn retrofit2.**
+#rx
+-dontwarn rx.**
+#alipay
+-dontwarn com.alipay.**
+#rxeasyhttp
+-keep class com.zhouyou.http.model.** {*;}
+-keep class com.zhouyou.http.cache.model.** {*;}
+-keep class com.zhouyou.http.cache.stategy.**{*;}
+
+
+# -keep class com.zhouyou.http.** { *;}
+#MPAndroidchart
+-keep class com.github.mikephil.** { *;}
+#pgy
+-dontwarn com.pgyersdk.**
+-keep class com.pgyersdk.** { *; }
+#litpal
+-keep class org.litepal.** {
+ *;
+}
+
+-keep class * extends org.litepal.crud.DataSupport {
+ *;
+}
+
+
+
+
+
+#-------------------------------------------------------------------------
+
+#---------------------------------3.涓巎s浜掔浉璋冪敤鐨勭被------------------------
+
+
+
+#-------------------------------------------------------------------------
+
+#---------------------------------4.鍙嶅皠鐩稿叧鐨勭被鍜屾柟娉�-----------------------
+#-keep class com.shlanbao.lbmonitoring.activity.LbSearchActivity
+#
+#-keep class com.shlanbao.lbmonitoring.view.LbSearchView
+
+
+
+#----------------------------------------------------------------------------
+#---------------------------------------------------------------------------------------------------
+
+#-------------------------------------------鍩烘湰涓嶇敤鍔ㄥ尯鍩�--------------------------------------------
+#---------------------------------鍩烘湰鎸囦护鍖�----------------------------------
+# 浠g爜娣锋穯鍘嬬缉姣旓紝鍦�0~7涔嬮棿
+-optimizationpasses 5
+
+# 娣峰悎鏃朵笉浣跨敤澶у皬鍐欐贩鍚堬紝娣峰悎鍚庣殑绫诲悕涓哄皬鍐�
+-dontusemixedcaseclassnames
+
+# 鎸囧畾涓嶅幓蹇界暐闈炲叕鍏卞簱鐨勭被鎴愬憳
+-dontskipnonpubliclibraryclasses
+# 涓嶅仛棰勬牎楠岋紝preverify鏄痯roguard鐨勫洓涓楠や箣涓�锛孉ndroid涓嶉渶瑕乸reverify锛屽幓鎺夎繖涓�姝ヨ兘澶熷姞蹇贩娣嗛�熷害銆�
+-dontpreverify
+
+# 娣锋穯鏃舵槸鍚﹁褰曟棩蹇楋紝杩欏彞璇濊兘澶熶娇鎴戜滑鐨勯」鐩贩娣嗗悗浜х敓鏄犲皠鏂囦欢
+# 鍖呭惈鏈夌被鍚�->娣锋穯鍚庣被鍚嶇殑鏄犲皠鍏崇郴
+-verbose
+
+# 閬垮厤娣锋穯娉涘瀷
+-keepattributes Signature
+
+# 淇濈暀Annotation涓嶆贩娣�
+-keepattributes *Annotation*,InnerClasses
+
+#google鎺ㄨ崘绠楁硶
+-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
+
+# 閬垮厤娣锋穯Annotation銆佸唴閮ㄧ被銆佹硾鍨嬨�佸尶鍚嶇被
+-keepattributes *Annotation*,InnerClasses,Signature,EnclosingMethod
+
+# 閲嶅懡鍚嶆姏鍑哄紓甯告椂鐨勬枃浠跺悕绉�
+-renamesourcefileattribute SourceFile
+
+# 鎶涘嚭寮傚父鏃朵繚鐣欎唬鐮佽鍙�
+-keepattributes SourceFile,LineNumberTable
+
+# 蹇界暐璀﹀憡
+-ignorewarnings
+# 浼樺寲涓嶄紭鍖栬緭鍏ョ殑绫绘枃浠�
+-dontoptimize
+
+# 淇濈暀R涓嬮潰鐨勮祫婧�
+-keep class **.R$* {*;}
+
+# 淇濈暀鏋氫妇绫讳笉琚贩娣�
+-keepclassmembers enum * {
+ public static **[] values();
+ public static ** valueOf(java.lang.String);
+}
+#----------------------------------------------------------------------------
+
+#---------------------------------榛樿淇濈暀鍖�---------------------------------
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep public class * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
+-keep public class * extends android.view.View
+-keep public class com.android.vending.licensing.ILicensingService
+-keep class android.support.** {*;}
+
+-keep public class * extends android.view.View{
+ *** get*();
+ void set*(***);
+ public <init>(android.content.Context);
+ public <init>(android.content.Context, android.util.AttributeSet);
+ public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+-keepclasseswithmembers class * {
+ public <init>(android.content.Context);
+ public <init>(android.content.Context, android.util.AttributeSet);
+ public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+-keepclassmembers class * implements java.io.Serializable {
+ static final long serialVersionUID;
+ private static final java.io.ObjectStreamField[] serialPersistentFields;
+ private void writeObject(java.io.ObjectOutputStream);
+ private void readObject(java.io.ObjectInputStream);
+ java.lang.Object writeReplace();
+ java.lang.Object readResolve();
+}
+-keep class **.R$* {
+ *;
+}
+-keepclassmembers class * {
+ void *(**On*Event);
+}
+#----------------------------------------------------------------------------
+
+#---------------------------------webview------------------------------------
+-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
+ public *;
+}
+-keepclassmembers class * extends android.webkit.WebViewClient {
+ public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
+ public boolean *(android.webkit.WebView, java.lang.String);
+}
+-keepclassmembers class * extends android.webkit.WebViewClient {
+ public void *(android.webkit.WebView, jav.lang.String);
+}
+#----------------------------------------------------------------------------
+#---------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/app/proguardMapping.txt b/app/proguardMapping.txt
new file mode 100644
index 0000000..a023a06
--- /dev/null
+++ b/app/proguardMapping.txt
@@ -0,0 +1,34468 @@
+# compiler: R8
+# compiler_version: 3.2.60
+# min_api: 24
+# common_typos_disable
+# {"id":"com.android.tools.r8.mapping","version":"2.0"}
+# pg_map_id: 7fdaec5
+# pg_map_hash: SHA-256 7fdaec5ed915483aea6332a0833cf396f2573c1c7e0a89e01601fac4d9ee1ed4
+android.support.v4.app.INotificationSideChannel$Default -> android.support.v4.app.INotificationSideChannel$Default:
+ 14:14:void <init>() -> <init>
+ 36:36:android.os.IBinder asBinder() -> asBinder
+ 27:27:void cancel(java.lang.String,int,java.lang.String) -> cancel
+ 33:33:void cancelAll(java.lang.String) -> cancelAll
+ 21:21:void notify(java.lang.String,int,java.lang.String,android.app.Notification) -> notify
+android.support.v4.app.INotificationSideChannel$Stub -> android.support.v4.app.INotificationSideChannel$Stub:
+ 45:47:void <init>() -> <init>
+ 65:65:android.os.IBinder asBinder() -> asBinder
+ 54:61:android.support.v4.app.INotificationSideChannel asInterface(android.os.IBinder) -> asInterface
+ 224:224:android.support.v4.app.INotificationSideChannel getDefaultImpl() -> getDefaultImpl
+ 69:118:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int) -> onTransact
+ 214:221:boolean setDefaultImpl(android.support.v4.app.INotificationSideChannel) -> setDefaultImpl
+android.support.v4.app.INotificationSideChannel$Stub$Proxy -> android.support.v4.app.INotificationSideChannel$Stub$Proxy:
+ 126:128:void <init>(android.os.IBinder) -> <init>
+ 131:131:android.os.IBinder asBinder() -> asBinder
+ 170:185:void cancel(java.lang.String,int,java.lang.String) -> cancel
+ 191:204:void cancelAll(java.lang.String) -> cancelAll
+ 135:135:java.lang.String getInterfaceDescriptor() -> getInterfaceDescriptor
+ 142:164:void notify(java.lang.String,int,java.lang.String,android.app.Notification) -> notify
+android.support.v4.app.RemoteActionCompatParcelizer -> android.support.v4.app.RemoteActionCompatParcelizer:
+ 11:11:void <init>() -> <init>
+ 13:13:androidx.core.app.RemoteActionCompat read(androidx.versionedparcelable.VersionedParcel) -> read
+ 17:18:void write(androidx.core.app.RemoteActionCompat,androidx.versionedparcelable.VersionedParcel) -> write
+android.support.v4.graphics.drawable.IconCompatParcelizer -> android.support.v4.graphics.drawable.IconCompatParcelizer:
+ 11:11:void <init>() -> <init>
+ 13:13:androidx.core.graphics.drawable.IconCompat read(androidx.versionedparcelable.VersionedParcel) -> read
+ 17:18:void write(androidx.core.graphics.drawable.IconCompat,androidx.versionedparcelable.VersionedParcel) -> write
+android.support.v4.os.IResultReceiver$Default -> android.support.v4.os.IResultReceiver$Default:
+ 9:9:void <init>() -> <init>
+ 16:16:android.os.IBinder asBinder() -> asBinder
+ 13:13:void send(int,android.os.Bundle) -> send
+android.support.v4.os.IResultReceiver$Stub -> android.support.v4.os.IResultReceiver$Stub:
+ 25:27:void <init>() -> <init>
+ 45:45:android.os.IBinder asBinder() -> asBinder
+ 34:41:android.support.v4.os.IResultReceiver asInterface(android.os.IBinder) -> asInterface
+ 133:133:android.support.v4.os.IResultReceiver getDefaultImpl() -> getDefaultImpl
+ 49:74:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int) -> onTransact
+ 123:130:boolean setDefaultImpl(android.support.v4.os.IResultReceiver) -> setDefaultImpl
+android.support.v4.os.IResultReceiver$Stub$Proxy -> android.support.v4.os.IResultReceiver$Stub$Proxy:
+ 82:84:void <init>(android.os.IBinder) -> <init>
+ 87:87:android.os.IBinder asBinder() -> asBinder
+ 91:91:java.lang.String getInterfaceDescriptor() -> getInterfaceDescriptor
+ 95:115:void send(int,android.os.Bundle) -> send
+android.support.v4.os.ResultReceiver -> android.support.v4.os.ResultReceiver:
+ 144:144:void <clinit>() -> <clinit>
+ 83:86:void <init>(android.os.Handler) -> <init>
+ 138:142:void <init>(android.os.Parcel) -> <init>
+ 125:125:int describeContents() -> describeContents
+ 121:121:void onReceiveResult(int,android.os.Bundle) -> onReceiveResult
+ 96:111:void send(int,android.os.Bundle) -> send
+ 130:136:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+android.support.v4.os.ResultReceiver$1 -> android.support.v4.os.ResultReceiver$1:
+ 145:145:void <init>() -> <init>
+ 145:145:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 148:148:android.support.v4.os.ResultReceiver createFromParcel(android.os.Parcel) -> createFromParcel
+ 145:145:java.lang.Object[] newArray(int) -> newArray
+ 152:152:android.support.v4.os.ResultReceiver[] newArray(int) -> newArray
+android.support.v4.os.ResultReceiver$MyResultReceiver -> android.support.v4.os.ResultReceiver$MyResultReceiver:
+ 67:67:void <init>(android.support.v4.os.ResultReceiver) -> <init>
+ 70:75:void send(int,android.os.Bundle) -> send
+android.support.v4.os.ResultReceiver$MyRunnable -> android.support.v4.os.ResultReceiver$MyRunnable:
+ 56:59:void <init>(android.support.v4.os.ResultReceiver,int,android.os.Bundle) -> <init>
+ 63:64:void run() -> run
+androidx.activity.ComponentActivity -> androidx.activity.ComponentActivity:
+ 111:293:void <init>() -> <init>
+ 307:309:void <init>(int) -> <init>
+ 94:94:void access$001(androidx.activity.ComponentActivity) -> access$001
+ 94:94:androidx.activity.result.ActivityResultRegistry access$100(androidx.activity.ComponentActivity) -> access$100
+ 424:426:void addContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> addContentView
+ 454:455:void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener) -> addOnContextAvailableListener
+ 505:516:void ensureViewModelStore() -> ensureViewModelStore
+ 702:702:androidx.activity.result.ActivityResultRegistry getActivityResultRegistry() -> getActivityResultRegistry
+ 528:538:androidx.lifecycle.ViewModelProvider$Factory getDefaultViewModelProviderFactory() -> getDefaultViewModelProviderFactory
+ 395:397:java.lang.Object getLastCustomNonConfigurationInstance() -> getLastCustomNonConfigurationInstance
+ 479:479:androidx.lifecycle.Lifecycle getLifecycle() -> getLifecycle
+ 563:563:androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher() -> getOnBackPressedDispatcher
+ 569:569:androidx.savedstate.SavedStateRegistry getSavedStateRegistry() -> getSavedStateRegistry
+ 495:500:androidx.lifecycle.ViewModelStore getViewModelStore() -> getViewModelStore
+ 431:434:void initViewTreeOwners() -> initViewTreeOwners
+ 647:650:void onActivityResult(int,int,android.content.Intent) -> onActivityResult
+ 552:553:void onBackPressed() -> onBackPressed
+ 321:328:void onCreate(android.os.Bundle) -> onCreate
+ 667:674:void onRequestPermissionsResult(int,java.lang.String[],int[]) -> onRequestPermissionsResult
+ 383:383:java.lang.Object onRetainCustomNonConfigurationInstance() -> onRetainCustomNonConfigurationInstance
+ 351:371:java.lang.Object onRetainNonConfigurationInstance() -> onRetainNonConfigurationInstance
+ 333:339:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 439:439:android.content.Context peekAvailableContext() -> peekAvailableContext
+ 682:683:androidx.activity.result.ActivityResultLauncher registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultRegistry,androidx.activity.result.ActivityResultCallback) -> registerForActivityResult
+ 691:691:androidx.activity.result.ActivityResultLauncher registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback) -> registerForActivityResult
+ 460:461:void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener) -> removeOnContextAvailableListener
+ 708:726:void reportFullyDrawn() -> reportFullyDrawn
+ 402:404:void setContentView(int) -> setContentView
+ 408:410:void setContentView(android.view.View) -> setContentView
+ 416:418:void setContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> setContentView
+ 583:584:void startActivityForResult(android.content.Intent,int) -> startActivityForResult
+ 597:598:void startActivityForResult(android.content.Intent,int,android.os.Bundle) -> startActivityForResult
+ 614:616:void startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int) -> startIntentSenderForResult
+ 631:633:void startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle) -> startIntentSenderForResult
+androidx.activity.ComponentActivity$1 -> androidx.activity.ComponentActivity$1:
+ 122:122:void <init>(androidx.activity.ComponentActivity) -> <init>
+ 129:136:void run() -> run
+androidx.activity.ComponentActivity$2 -> androidx.activity.ComponentActivity$2:
+ 144:144:void <init>(androidx.activity.ComponentActivity) -> <init>
+ 152:212:void onLaunch(int,androidx.activity.result.contract.ActivityResultContract,java.lang.Object,androidx.core.app.ActivityOptionsCompat) -> onLaunch
+androidx.activity.ComponentActivity$2$1 -> androidx.activity.ComponentActivity$2$1:
+ 158:158:void <init>(androidx.activity.ComponentActivity$2,int,androidx.activity.result.contract.ActivityResultContract$SynchronousResult) -> <init>
+ 161:162:void run() -> run
+androidx.activity.ComponentActivity$2$2 -> androidx.activity.ComponentActivity$2$2:
+ 199:199:void <init>(androidx.activity.ComponentActivity$2,int,android.content.IntentSender$SendIntentException) -> <init>
+ 202:205:void run() -> run
+androidx.activity.ComponentActivity$3 -> androidx.activity.ComponentActivity$3:
+ 230:230:void <init>(androidx.activity.ComponentActivity) -> <init>
+ 234:241:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.activity.ComponentActivity$4 -> androidx.activity.ComponentActivity$4:
+ 244:244:void <init>(androidx.activity.ComponentActivity) -> <init>
+ 248:256:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.activity.ComponentActivity$5 -> androidx.activity.ComponentActivity$5:
+ 258:258:void <init>(androidx.activity.ComponentActivity) -> <init>
+ 262:264:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.activity.ComponentActivity$6 -> androidx.activity.ComponentActivity$6:
+ 271:271:void <init>(androidx.activity.ComponentActivity) -> <init>
+ 276:278:android.os.Bundle saveState() -> saveState
+androidx.activity.ComponentActivity$7 -> androidx.activity.ComponentActivity$7:
+ 281:281:void <init>(androidx.activity.ComponentActivity) -> <init>
+ 285:291:void onContextAvailable(android.content.Context) -> onContextAvailable
+androidx.activity.ComponentActivity$NonConfigurationInstances -> androidx.activity.ComponentActivity$NonConfigurationInstances:
+ 104:104:void <init>() -> <init>
+androidx.activity.ImmLeaksCleaner -> androidx.activity.ImmLeaksCleaner:
+ 38:38:void <clinit>() -> <clinit>
+ 45:47:void <init>(android.app.Activity) -> <init>
+ 101:112:void initializeReflectiveFields() -> initializeReflectiveFields
+ 51:96:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.activity.OnBackPressedCallback -> androidx.activity.OnBackPressedCallback:
+ 46:56:void <init>(boolean) -> <init>
+ 103:104:void addCancellable(androidx.activity.Cancellable) -> addCancellable
+ 82:82:boolean isEnabled() -> isEnabled
+ 91:94:void remove() -> remove
+ 107:108:void removeCancellable(androidx.activity.Cancellable) -> removeCancellable
+ 71:72:void setEnabled(boolean) -> setEnabled
+androidx.activity.OnBackPressedDispatcher -> androidx.activity.OnBackPressedDispatcher:
+ 67:68:void <init>() -> <init>
+ 59:79:void <init>(java.lang.Runnable) -> <init>
+ 97:98:void addCallback(androidx.activity.OnBackPressedCallback) -> addCallback
+ 148:155:void addCallback(androidx.lifecycle.LifecycleOwner,androidx.activity.OnBackPressedCallback) -> addCallback
+ 114:117:androidx.activity.Cancellable addCancellableCallback(androidx.activity.OnBackPressedCallback) -> addCancellableCallback
+ 165:172:boolean hasEnabledCallbacks() -> hasEnabledCallbacks
+ 187:199:void onBackPressed() -> onBackPressed
+androidx.activity.OnBackPressedDispatcher$LifecycleOnBackPressedCancellable -> androidx.activity.OnBackPressedDispatcher$LifecycleOnBackPressedCancellable:
+ 223:227:void <init>(androidx.activity.OnBackPressedDispatcher,androidx.lifecycle.Lifecycle,androidx.activity.OnBackPressedCallback) -> <init>
+ 246:252:void cancel() -> cancel
+ 232:242:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.activity.OnBackPressedDispatcher$OnBackPressedCancellable -> androidx.activity.OnBackPressedDispatcher$OnBackPressedCancellable:
+ 203:205:void <init>(androidx.activity.OnBackPressedDispatcher,androidx.activity.OnBackPressedCallback) -> <init>
+ 209:211:void cancel() -> cancel
+androidx.activity.contextaware.ContextAwareHelper -> androidx.activity.contextaware.ContextAwareHelper:
+ 42:50:void <init>() -> <init>
+ 73:77:void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener) -> addOnContextAvailableListener
+ 108:109:void clearAvailableContext() -> clearAvailableContext
+ 97:101:void dispatchOnContextAvailable(android.content.Context) -> dispatchOnContextAvailable
+ 62:62:android.content.Context peekAvailableContext() -> peekAvailableContext
+ 87:88:void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener) -> removeOnContextAvailableListener
+androidx.activity.result.ActivityResult -> androidx.activity.result.ActivityResult:
+ 109:109:void <clinit>() -> <clinit>
+ 45:48:void <init>(int,android.content.Intent) -> <init>
+ 50:53:void <init>(android.os.Parcel) -> <init>
+ 105:105:int describeContents() -> describeContents
+ 67:67:android.content.Intent getData() -> getData
+ 59:59:int getResultCode() -> getResultCode
+ 87:90:java.lang.String resultCodeToString(int) -> resultCodeToString
+ 72:73:java.lang.String toString() -> toString
+ 96:101:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.activity.result.ActivityResult$1 -> androidx.activity.result.ActivityResult$1:
+ 109:109:void <init>() -> <init>
+ 109:109:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 112:112:androidx.activity.result.ActivityResult createFromParcel(android.os.Parcel) -> createFromParcel
+ 109:109:java.lang.Object[] newArray(int) -> newArray
+ 117:117:androidx.activity.result.ActivityResult[] newArray(int) -> newArray
+androidx.activity.result.ActivityResultLauncher -> androidx.activity.result.ActivityResultLauncher:
+ 34:34:void <init>() -> <init>
+ 47:48:void launch(java.lang.Object) -> launch
+androidx.activity.result.ActivityResultRegistry -> androidx.activity.result.ActivityResultRegistry:
+ 51:79:void <init>() -> <init>
+ 429:431:void bindRcKey(int,java.lang.String) -> bindRcKey
+ 345:352:boolean dispatchResult(int,int,android.content.Intent) -> dispatchResult
+ 366:384:boolean dispatchResult(int,java.lang.Object) -> dispatchResult
+ 389:399:void doDispatch(java.lang.String,int,android.content.Intent,androidx.activity.result.ActivityResultRegistry$CallbackAndContract) -> doDispatch
+ 419:425:int generateRandomNumber() -> generateRandomNumber
+ 298:330:void onRestoreInstanceState(android.os.Bundle) -> onRestoreInstanceState
+ 281:290:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 118:162:androidx.activity.result.ActivityResultLauncher register(java.lang.String,androidx.lifecycle.LifecycleOwner,androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback) -> register
+ 204:221:androidx.activity.result.ActivityResultLauncher register(java.lang.String,androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback) -> register
+ 402:408:int registerKey(java.lang.String) -> registerKey
+ 250:273:void unregister(java.lang.String) -> unregister
+androidx.activity.result.ActivityResultRegistry$1 -> androidx.activity.result.ActivityResultRegistry$1:
+ 132:132:void <init>(androidx.activity.result.ActivityResultRegistry,java.lang.String,androidx.activity.result.ActivityResultCallback,androidx.activity.result.contract.ActivityResultContract) -> <init>
+ 137:157:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.activity.result.ActivityResultRegistry$2 -> androidx.activity.result.ActivityResultRegistry$2:
+ 162:162:void <init>(androidx.activity.result.ActivityResultRegistry,java.lang.String,int,androidx.activity.result.contract.ActivityResultContract) -> <init>
+ 178:178:androidx.activity.result.contract.ActivityResultContract getContract() -> getContract
+ 165:168:void launch(java.lang.Object,androidx.core.app.ActivityOptionsCompat) -> launch
+ 172:173:void unregister() -> unregister
+androidx.activity.result.ActivityResultRegistry$3 -> androidx.activity.result.ActivityResultRegistry$3:
+ 221:221:void <init>(androidx.activity.result.ActivityResultRegistry,java.lang.String,int,androidx.activity.result.contract.ActivityResultContract) -> <init>
+ 237:237:androidx.activity.result.contract.ActivityResultContract getContract() -> getContract
+ 224:227:void launch(java.lang.Object,androidx.core.app.ActivityOptionsCompat) -> launch
+ 231:232:void unregister() -> unregister
+androidx.activity.result.ActivityResultRegistry$CallbackAndContract -> androidx.activity.result.ActivityResultRegistry$CallbackAndContract:
+ 439:442:void <init>(androidx.activity.result.ActivityResultCallback,androidx.activity.result.contract.ActivityResultContract) -> <init>
+androidx.activity.result.ActivityResultRegistry$LifecycleContainer -> androidx.activity.result.ActivityResultRegistry$LifecycleContainer:
+ 449:452:void <init>(androidx.lifecycle.Lifecycle) -> <init>
+ 455:457:void addObserver(androidx.lifecycle.LifecycleEventObserver) -> addObserver
+ 460:464:void clearObservers() -> clearObservers
+androidx.activity.result.IntentSenderRequest -> androidx.activity.result.IntentSenderRequest:
+ 132:132:void <clinit>() -> <clinit>
+ 77:82:void <init>(android.content.IntentSender,android.content.Intent,int,int) -> <init>
+ 124:129:void <init>(android.os.Parcel) -> <init>
+ 146:146:int describeContents() -> describeContents
+ 102:102:android.content.Intent getFillInIntent() -> getFillInIntent
+ 111:111:int getFlagsMask() -> getFlagsMask
+ 120:120:int getFlagsValues() -> getFlagsValues
+ 91:91:android.content.IntentSender getIntentSender() -> getIntentSender
+ 151:155:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.activity.result.IntentSenderRequest$1 -> androidx.activity.result.IntentSenderRequest$1:
+ 132:132:void <init>() -> <init>
+ 132:132:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 135:135:androidx.activity.result.IntentSenderRequest createFromParcel(android.os.Parcel) -> createFromParcel
+ 132:132:java.lang.Object[] newArray(int) -> newArray
+ 140:140:androidx.activity.result.IntentSenderRequest[] newArray(int) -> newArray
+androidx.activity.result.IntentSenderRequest$Builder -> androidx.activity.result.IntentSenderRequest$Builder:
+ 187:189:void <init>(android.content.IntentSender) -> <init>
+ 199:200:void <init>(android.app.PendingIntent) -> <init>
+ 239:239:androidx.activity.result.IntentSenderRequest build() -> build
+ 211:212:androidx.activity.result.IntentSenderRequest$Builder setFillInIntent(android.content.Intent) -> setFillInIntent
+ 227:229:androidx.activity.result.IntentSenderRequest$Builder setFlags(int,int) -> setFlags
+androidx.activity.result.contract.ActivityResultContract -> androidx.activity.result.contract.ActivityResultContract:
+ 39:39:void <init>() -> <init>
+ 59:59:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+androidx.activity.result.contract.ActivityResultContract$SynchronousResult -> androidx.activity.result.contract.ActivityResultContract$SynchronousResult:
+ 75:77:void <init>(java.lang.Object) -> <init>
+ 83:83:java.lang.Object getValue() -> getValue
+androidx.activity.result.contract.ActivityResultContracts -> androidx.activity.result.contract.ActivityResultContracts:
+ 58:58:void <init>() -> <init>
+androidx.activity.result.contract.ActivityResultContracts$CreateDocument -> androidx.activity.result.contract.ActivityResultContracts$CreateDocument:
+ 641:641:void <init>() -> <init>
+ 640:640:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 647:649:android.content.Intent createIntent(android.content.Context,java.lang.String) -> createIntent
+ 640:640:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 656:656:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.String) -> getSynchronousResult
+ 640:640:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 662:663:android.net.Uri parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$GetContent -> androidx.activity.result.contract.ActivityResultContracts$GetContent:
+ 420:420:void <init>() -> <init>
+ 420:420:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 426:428:android.content.Intent createIntent(android.content.Context,java.lang.String) -> createIntent
+ 420:420:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 435:435:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.String) -> getSynchronousResult
+ 420:420:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 441:442:android.net.Uri parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$GetMultipleContents -> androidx.activity.result.contract.ActivityResultContracts$GetMultipleContents:
+ 459:459:void <init>() -> <init>
+ 458:458:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 465:468:android.content.Intent createIntent(android.content.Context,java.lang.String) -> createIntent
+ 491:506:java.util.List getClipDataUris(android.content.Intent) -> getClipDataUris
+ 458:458:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 475:475:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.String) -> getSynchronousResult
+ 458:458:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 481:484:java.util.List parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$OpenDocument -> androidx.activity.result.contract.ActivityResultContracts$OpenDocument:
+ 522:522:void <init>() -> <init>
+ 521:521:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 528:530:android.content.Intent createIntent(android.content.Context,java.lang.String[]) -> createIntent
+ 521:521:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 537:537:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.String[]) -> getSynchronousResult
+ 521:521:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 543:544:android.net.Uri parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$OpenDocumentTree -> androidx.activity.result.contract.ActivityResultContracts$OpenDocumentTree:
+ 602:602:void <init>() -> <init>
+ 601:601:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 608:613:android.content.Intent createIntent(android.content.Context,android.net.Uri) -> createIntent
+ 601:601:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 620:620:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,android.net.Uri) -> getSynchronousResult
+ 601:601:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 626:627:android.net.Uri parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$OpenMultipleDocuments -> androidx.activity.result.contract.ActivityResultContracts$OpenMultipleDocuments:
+ 560:560:void <init>() -> <init>
+ 559:559:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 566:569:android.content.Intent createIntent(android.content.Context,java.lang.String[]) -> createIntent
+ 559:559:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 576:576:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.String[]) -> getSynchronousResult
+ 559:559:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 582:583:java.util.List parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$PickContact -> androidx.activity.result.contract.ActivityResultContracts$PickContact:
+ 392:392:void <init>() -> <init>
+ 392:392:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 397:397:android.content.Intent createIntent(android.content.Context,java.lang.Void) -> createIntent
+ 392:392:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 403:404:android.net.Uri parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$RequestMultiplePermissions -> androidx.activity.result.contract.ActivityResultContracts$RequestMultiplePermissions:
+ 158:158:void <init>() -> <init>
+ 158:158:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 198:198:android.content.Intent createIntent(android.content.Context,java.lang.String[]) -> createIntent
+ 244:244:android.content.Intent createIntent(java.lang.String[]) -> createIntent
+ 158:158:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 205:221:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.String[]) -> getSynchronousResult
+ 158:158:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 228:239:java.util.Map parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$RequestPermission -> androidx.activity.result.contract.ActivityResultContracts$RequestPermission:
+ 251:251:void <init>() -> <init>
+ 251:251:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 256:256:android.content.Intent createIntent(android.content.Context,java.lang.String) -> createIntent
+ 251:251:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 271:278:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.String) -> getSynchronousResult
+ 251:251:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 262:265:java.lang.Boolean parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$StartActivityForResult -> androidx.activity.result.contract.ActivityResultContracts$StartActivityForResult:
+ 68:68:void <init>() -> <init>
+ 68:68:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 86:86:android.content.Intent createIntent(android.content.Context,android.content.Intent) -> createIntent
+ 68:68:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 93:93:androidx.activity.result.ActivityResult parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$StartIntentSenderForResult -> androidx.activity.result.contract.ActivityResultContracts$StartIntentSenderForResult:
+ 113:113:void <init>() -> <init>
+ 113:113:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 143:144:android.content.Intent createIntent(android.content.Context,androidx.activity.result.IntentSenderRequest) -> createIntent
+ 113:113:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 151:151:androidx.activity.result.ActivityResult parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$TakePicture -> androidx.activity.result.contract.ActivityResultContracts$TakePicture:
+ 325:325:void <init>() -> <init>
+ 325:325:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 331:332:android.content.Intent createIntent(android.content.Context,android.net.Uri) -> createIntent
+ 325:325:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 339:339:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,android.net.Uri) -> getSynchronousResult
+ 325:325:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 345:345:java.lang.Boolean parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$TakePicturePreview -> androidx.activity.result.contract.ActivityResultContracts$TakePicturePreview:
+ 291:291:void <init>() -> <init>
+ 291:291:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 297:297:android.content.Intent createIntent(android.content.Context,java.lang.Void) -> createIntent
+ 291:291:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 304:304:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Void) -> getSynchronousResult
+ 291:291:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 310:311:android.graphics.Bitmap parseResult(int,android.content.Intent) -> parseResult
+androidx.activity.result.contract.ActivityResultContracts$TakeVideo -> androidx.activity.result.contract.ActivityResultContracts$TakeVideo:
+ 359:359:void <init>() -> <init>
+ 359:359:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 365:366:android.content.Intent createIntent(android.content.Context,android.net.Uri) -> createIntent
+ 359:359:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,java.lang.Object) -> getSynchronousResult
+ 373:373:androidx.activity.result.contract.ActivityResultContract$SynchronousResult getSynchronousResult(android.content.Context,android.net.Uri) -> getSynchronousResult
+ 359:359:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 379:380:android.graphics.Bitmap parseResult(int,android.content.Intent) -> parseResult
+androidx.annotation.InspectableProperty$ValueType -> androidx.annotation.InspectableProperty$ValueType:
+ 148:197:void <clinit>() -> <clinit>
+ 148:148:void <init>(java.lang.String,int) -> <init>
+ 148:148:androidx.annotation.InspectableProperty$ValueType valueOf(java.lang.String) -> valueOf
+ 148:148:androidx.annotation.InspectableProperty$ValueType[] values() -> values
+androidx.annotation.RestrictTo$Scope -> androidx.annotation.RestrictTo$Scope:
+ 58:105:void <clinit>() -> <clinit>
+ 58:58:void <init>(java.lang.String,int) -> <init>
+ 58:58:androidx.annotation.RestrictTo$Scope valueOf(java.lang.String) -> valueOf
+ 58:58:androidx.annotation.RestrictTo$Scope[] values() -> values
+androidx.annotation.experimental.Experimental$Level -> androidx.annotation.experimental.Experimental$Level:
+ 74:83:void <clinit>() -> <clinit>
+ 74:74:void <init>(java.lang.String,int) -> <init>
+ 74:74:androidx.annotation.experimental.Experimental$Level valueOf(java.lang.String) -> valueOf
+ 74:74:androidx.annotation.experimental.Experimental$Level[] values() -> values
+androidx.appcompat.app.ActionBar -> androidx.appcompat.app.ActionBar:
+ 92:92:void <init>() -> <init>
+ 1074:1074:boolean closeOptionsMenu() -> closeOptionsMenu
+ 1098:1098:boolean collapseActionView() -> collapseActionView
+ 1057:1057:void dispatchMenuVisibilityChanged(boolean) -> dispatchMenuVisibilityChanged
+ 1036:1036:float getElevation() -> getElevation
+ 993:993:int getHideOffset() -> getHideOffset
+ 859:859:android.content.Context getThemedContext() -> getThemedContext
+ 1080:1080:boolean invalidateOptionsMenu() -> invalidateOptionsMenu
+ 980:980:boolean isHideOnContentScrollEnabled() -> isHideOnContentScrollEnabled
+ 870:870:boolean isTitleTruncated() -> isTitleTruncated
+ 1052:1052:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 1121:1121:void onDestroy() -> onDestroy
+ 1092:1092:boolean onKeyShortcut(int,android.view.KeyEvent) -> onKeyShortcut
+ 1086:1086:boolean onMenuKeyEvent(android.view.KeyEvent) -> onMenuKeyEvent
+ 1068:1068:boolean openOptionsMenu() -> openOptionsMenu
+ 1114:1114:boolean requestFocus() -> requestFocus
+ 1042:1042:void setDefaultDisplayHomeAsUpEnabled(boolean) -> setDefaultDisplayHomeAsUpEnabled
+ 1021:1025:void setElevation(float) -> setElevation
+ 1006:1010:void setHideOffset(int) -> setHideOffset
+ 966:970:void setHideOnContentScrollEnabled(boolean) -> setHideOnContentScrollEnabled
+ 930:930:void setHomeActionContentDescription(java.lang.CharSequence) -> setHomeActionContentDescription
+ 950:950:void setHomeActionContentDescription(int) -> setHomeActionContentDescription
+ 890:890:void setHomeAsUpIndicator(android.graphics.drawable.Drawable) -> setHomeAsUpIndicator
+ 911:911:void setHomeAsUpIndicator(int) -> setHomeAsUpIndicator
+ 847:847:void setHomeButtonEnabled(boolean) -> setHomeButtonEnabled
+ 1047:1047:void setShowHideAnimationEnabled(boolean) -> setShowHideAnimationEnabled
+ 540:540:void setSplitBackgroundDrawable(android.graphics.drawable.Drawable) -> setSplitBackgroundDrawable
+ 530:530:void setStackedBackgroundDrawable(android.graphics.drawable.Drawable) -> setStackedBackgroundDrawable
+ 1104:1104:void setWindowTitle(java.lang.CharSequence) -> setWindowTitle
+ 1062:1062:androidx.appcompat.view.ActionMode startActionMode(androidx.appcompat.view.ActionMode$Callback) -> startActionMode
+androidx.appcompat.app.ActionBar$LayoutParams -> androidx.appcompat.app.ActionBar$LayoutParams:
+ 1374:1382:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1374:1387:void <init>(int,int) -> <init>
+ 1374:1392:void <init>(int,int,int) -> <init>
+ 1395:1396:void <init>(int) -> <init>
+ 1374:1402:void <init>(androidx.appcompat.app.ActionBar$LayoutParams) -> <init>
+ 1374:1406:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+androidx.appcompat.app.ActionBar$Tab -> androidx.appcompat.app.ActionBar$Tab:
+ 1171:1171:void <init>() -> <init>
+androidx.appcompat.app.ActionBarDrawerToggle -> androidx.appcompat.app.ActionBarDrawerToggle:
+ 153:155:void <init>(android.app.Activity,androidx.drawerlayout.widget.DrawerLayout,int,int) -> <init>
+ 184:186:void <init>(android.app.Activity,androidx.drawerlayout.widget.DrawerLayout,androidx.appcompat.widget.Toolbar,int,int) -> <init>
+ 120:224:void <init>(android.app.Activity,androidx.appcompat.widget.Toolbar,androidx.drawerlayout.widget.DrawerLayout,androidx.appcompat.graphics.drawable.DrawerArrowDrawable,int,int) -> <init>
+ 371:371:androidx.appcompat.graphics.drawable.DrawerArrowDrawable getDrawerArrowDrawable() -> getDrawerArrowDrawable
+ 503:503:android.graphics.drawable.Drawable getThemeUpIndicator() -> getThemeUpIndicator
+ 471:471:android.view.View$OnClickListener getToolbarNavigationClickListener() -> getToolbarNavigationClickListener
+ 340:340:boolean isDrawerIndicatorEnabled() -> isDrawerIndicatorEnabled
+ 400:400:boolean isDrawerSlideAnimationEnabled() -> isDrawerSlideAnimationEnabled
+ 258:262:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 444:448:void onDrawerClosed(android.view.View) -> onDrawerClosed
+ 429:433:void onDrawerOpened(android.view.View) -> onDrawerOpened
+ 413:418:void onDrawerSlide(android.view.View,float) -> onDrawerSlide
+ 459:459:void onDrawerStateChanged(int) -> onDrawerStateChanged
+ 274:278:boolean onOptionsItemSelected(android.view.MenuItem) -> onOptionsItemSelected
+ 499:500:void setActionBarDescription(int) -> setActionBarDescription
+ 489:496:void setActionBarUpIndicator(android.graphics.drawable.Drawable,int) -> setActionBarUpIndicator
+ 380:382:void setDrawerArrowDrawable(androidx.appcompat.graphics.drawable.DrawerArrowDrawable) -> setDrawerArrowDrawable
+ 354:364:void setDrawerIndicatorEnabled(boolean) -> setDrawerIndicatorEnabled
+ 390:394:void setDrawerSlideAnimationEnabled(boolean) -> setDrawerSlideAnimationEnabled
+ 303:314:void setHomeAsUpIndicator(android.graphics.drawable.Drawable) -> setHomeAsUpIndicator
+ 328:333:void setHomeAsUpIndicator(int) -> setHomeAsUpIndicator
+ 507:513:void setPosition(float) -> setPosition
+ 485:486:void setToolbarNavigationClickListener(android.view.View$OnClickListener) -> setToolbarNavigationClickListener
+ 236:246:void syncState() -> syncState
+ 282:289:void toggle() -> toggle
+androidx.appcompat.app.ActionBarDrawerToggle$1 -> androidx.appcompat.app.ActionBarDrawerToggle$1:
+ 198:198:void <init>(androidx.appcompat.app.ActionBarDrawerToggle) -> <init>
+ 201:206:void onClick(android.view.View) -> onClick
+androidx.appcompat.app.ActionBarDrawerToggle$FrameworkActionBarDelegate -> androidx.appcompat.app.ActionBarDrawerToggle$FrameworkActionBarDelegate:
+ 519:521:void <init>(android.app.Activity) -> <init>
+ 538:542:android.content.Context getActionBarThemedContext() -> getActionBarThemedContext
+ 525:531:android.graphics.drawable.Drawable getThemeUpIndicator() -> getThemeUpIndicator
+ 547:549:boolean isNavigationVisible() -> isNavigationVisible
+ 570:579:void setActionBarDescription(int) -> setActionBarDescription
+ 554:566:void setActionBarUpIndicator(android.graphics.drawable.Drawable,int) -> setActionBarUpIndicator
+androidx.appcompat.app.ActionBarDrawerToggle$ToolbarCompatDelegate -> androidx.appcompat.app.ActionBarDrawerToggle$ToolbarCompatDelegate:
+ 591:595:void <init>(androidx.appcompat.widget.Toolbar) -> <init>
+ 619:619:android.content.Context getActionBarThemedContext() -> getActionBarThemedContext
+ 614:614:android.graphics.drawable.Drawable getThemeUpIndicator() -> getThemeUpIndicator
+ 624:624:boolean isNavigationVisible() -> isNavigationVisible
+ 605:610:void setActionBarDescription(int) -> setActionBarDescription
+ 599:601:void setActionBarUpIndicator(android.graphics.drawable.Drawable,int) -> setActionBarUpIndicator
+androidx.appcompat.app.ActionBarDrawerToggleHoneycomb -> androidx.appcompat.app.ActionBarDrawerToggleHoneycomb:
+ 45:45:void <clinit>() -> <clinit>
+ 138:139:void <init>() -> <init>
+ 90:93:android.graphics.drawable.Drawable getThemeUpIndicator(android.app.Activity) -> getThemeUpIndicator
+ 70:86:androidx.appcompat.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo setActionBarDescription(androidx.appcompat.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo,android.app.Activity,int) -> setActionBarDescription
+ 51:65:androidx.appcompat.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo setActionBarUpIndicator(android.app.Activity,android.graphics.drawable.Drawable,int) -> setActionBarUpIndicator
+androidx.appcompat.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo -> androidx.appcompat.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo:
+ 101:135:void <init>(android.app.Activity) -> <init>
+androidx.appcompat.app.AlertController -> androidx.appcompat.app.AlertController:
+ 82:206:void <init>(android.content.Context,androidx.appcompat.app.AppCompatDialog,android.view.Window) -> <init>
+ 209:227:boolean canTextInput(android.view.View) -> canTextInput
+ 829:833:void centerButton(android.widget.Button) -> centerButton
+ 408:416:android.widget.Button getButton(int) -> getButton
+ 398:400:int getIconAttributeResId(int) -> getIconAttributeResId
+ 404:404:android.widget.ListView getListView() -> getListView
+ 231:234:void installContent() -> installContent
+ 748:756:void manageScrollIndicators(android.view.View,android.view.View,android.view.View) -> manageScrollIndicators
+ 422:422:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 427:427:boolean onKeyUp(int,android.view.KeyEvent) -> onKeyUp
+ 441:463:android.view.ViewGroup resolvePanel(android.view.View,android.view.View) -> resolvePanel
+ 237:243:int selectContentView() -> selectContentView
+ 323:350:void setButton(int,java.lang.CharSequence,android.content.DialogInterface$OnClickListener,android.os.Message,android.graphics.drawable.Drawable) -> setButton
+ 303:304:void setButtonPanelLayoutHint(int) -> setButtonPanelLayoutHint
+ 257:258:void setCustomTitle(android.view.View) -> setCustomTitle
+ 359:370:void setIcon(int) -> setIcon
+ 378:389:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 261:265:void setMessage(java.lang.CharSequence) -> setMessage
+ 560:636:void setScrollIndicators(android.view.ViewGroup,android.view.View,int,int) -> setScrollIndicators
+ 247:251:void setTitle(java.lang.CharSequence) -> setTitle
+ 271:274:void setView(int) -> setView
+ 280:283:void setView(android.view.View) -> setView
+ 290:297:void setView(android.view.View,int,int,int,int) -> setView
+ 759:826:void setupButtons(android.view.ViewGroup) -> setupButtons
+ 719:745:void setupContent(android.view.ViewGroup) -> setupContent
+ 640:670:void setupCustomContent(android.view.ViewGroup) -> setupCustomContent
+ 673:716:void setupTitle(android.view.ViewGroup) -> setupTitle
+ 467:555:void setupView() -> setupView
+ 177:179:boolean shouldCenterSingleButton(android.content.Context) -> shouldCenterSingleButton
+androidx.appcompat.app.AlertController$1 -> androidx.appcompat.app.AlertController$1:
+ 126:126:void <init>(androidx.appcompat.app.AlertController) -> <init>
+ 130:147:void onClick(android.view.View) -> onClick
+androidx.appcompat.app.AlertController$2 -> androidx.appcompat.app.AlertController$2:
+ 591:591:void <init>(androidx.appcompat.app.AlertController,android.view.View,android.view.View) -> <init>
+ 596:597:void onScrollChange(androidx.core.widget.NestedScrollView,int,int,int,int) -> onScrollChange
+androidx.appcompat.app.AlertController$3 -> androidx.appcompat.app.AlertController$3:
+ 600:600:void <init>(androidx.appcompat.app.AlertController,android.view.View,android.view.View) -> <init>
+ 603:604:void run() -> run
+androidx.appcompat.app.AlertController$4 -> androidx.appcompat.app.AlertController$4:
+ 608:608:void <init>(androidx.appcompat.app.AlertController,android.view.View,android.view.View) -> <init>
+ 615:616:void onScroll(android.widget.AbsListView,int,int,int) -> onScroll
+ 610:610:void onScrollStateChanged(android.widget.AbsListView,int) -> onScrollStateChanged
+androidx.appcompat.app.AlertController$5 -> androidx.appcompat.app.AlertController$5:
+ 619:619:void <init>(androidx.appcompat.app.AlertController,android.view.View,android.view.View) -> <init>
+ 622:623:void run() -> run
+androidx.appcompat.app.AlertController$AlertParams -> androidx.appcompat.app.AlertController$AlertParams:
+ 869:928:void <init>(android.content.Context) -> <init>
+ 931:985:void apply(androidx.appcompat.app.AlertController) -> apply
+ 988:1098:void createListView(androidx.appcompat.app.AlertController) -> createListView
+androidx.appcompat.app.AlertController$AlertParams$1 -> androidx.appcompat.app.AlertController$AlertParams$1:
+ 995:995:void <init>(androidx.appcompat.app.AlertController$AlertParams,android.content.Context,int,int,java.lang.CharSequence[],androidx.appcompat.app.AlertController$RecycleListView) -> <init>
+ 998:1005:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+androidx.appcompat.app.AlertController$AlertParams$2 -> androidx.appcompat.app.AlertController$AlertParams$2:
+ 1009:1017:void <init>(androidx.appcompat.app.AlertController$AlertParams,android.content.Context,android.database.Cursor,boolean,androidx.appcompat.app.AlertController$RecycleListView,androidx.appcompat.app.AlertController) -> <init>
+ 1021:1026:void bindView(android.view.View,android.content.Context,android.database.Cursor) -> bindView
+ 1030:1030:android.view.View newView(android.content.Context,android.database.Cursor,android.view.ViewGroup) -> newView
+androidx.appcompat.app.AlertController$AlertParams$3 -> androidx.appcompat.app.AlertController$AlertParams$3:
+ 1065:1065:void <init>(androidx.appcompat.app.AlertController$AlertParams,androidx.appcompat.app.AlertController) -> <init>
+ 1068:1072:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+androidx.appcompat.app.AlertController$AlertParams$4 -> androidx.appcompat.app.AlertController$AlertParams$4:
+ 1075:1075:void <init>(androidx.appcompat.app.AlertController$AlertParams,androidx.appcompat.app.AlertController$RecycleListView,androidx.appcompat.app.AlertController) -> <init>
+ 1078:1083:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+androidx.appcompat.app.AlertController$ButtonHandler -> androidx.appcompat.app.AlertController$ButtonHandler:
+ 156:158:void <init>(android.content.DialogInterface) -> <init>
+ 162:173:void handleMessage(android.os.Message) -> handleMessage
+androidx.appcompat.app.AlertController$CheckedItemAdapter -> androidx.appcompat.app.AlertController$CheckedItemAdapter:
+ 1104:1105:void <init>(android.content.Context,int,int,java.lang.CharSequence[]) -> <init>
+ 1114:1114:long getItemId(int) -> getItemId
+ 1109:1109:boolean hasStableIds() -> hasStableIds
+androidx.appcompat.app.AlertController$RecycleListView -> androidx.appcompat.app.AlertController$RecycleListView:
+ 840:841:void <init>(android.content.Context) -> <init>
+ 844:852:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 855:862:void setHasDecor(boolean,boolean) -> setHasDecor
+androidx.appcompat.app.AlertDialog -> androidx.appcompat.app.AlertDialog:
+ 88:89:void <init>(android.content.Context) -> <init>
+ 98:100:void <init>(android.content.Context,int) -> <init>
+ 104:107:void <init>(android.content.Context,boolean,android.content.DialogInterface$OnCancelListener) -> <init>
+ 131:131:android.widget.Button getButton(int) -> getButton
+ 140:140:android.widget.ListView getListView() -> getListView
+ 278:280:void onCreate(android.os.Bundle) -> onCreate
+ 284:287:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 292:295:boolean onKeyUp(int,android.view.KeyEvent) -> onKeyUp
+ 111:116:int resolveDialogTheme(android.content.Context,int) -> resolveDialogTheme
+ 211:212:void setButton(int,java.lang.CharSequence,android.os.Message) -> setButton
+ 226:227:void setButton(int,java.lang.CharSequence,android.content.DialogInterface$OnClickListener) -> setButton
+ 244:245:void setButton(int,java.lang.CharSequence,android.graphics.drawable.Drawable,android.content.DialogInterface$OnClickListener) -> setButton
+ 196:197:void setButtonPanelLayoutHint(int) -> setButtonPanelLayoutHint
+ 155:156:void setCustomTitle(android.view.View) -> setCustomTitle
+ 253:254:void setIcon(int) -> setIcon
+ 262:263:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 271:274:void setIconAttribute(int) -> setIconAttribute
+ 164:165:void setMessage(java.lang.CharSequence) -> setMessage
+ 145:147:void setTitle(java.lang.CharSequence) -> setTitle
+ 172:173:void setView(android.view.View) -> setView
+ 187:188:void setView(android.view.View,int,int,int,int) -> setView
+androidx.appcompat.app.AlertDialog$Builder -> androidx.appcompat.app.AlertDialog$Builder:
+ 313:314:void <init>(android.content.Context) -> <init>
+ 342:346:void <init>(android.content.Context,int) -> <init>
+ 983:994:androidx.appcompat.app.AlertDialog create() -> create
+ 358:358:android.content.Context getContext() -> getContext
+ 659:661:androidx.appcompat.app.AlertDialog$Builder setAdapter(android.widget.ListAdapter,android.content.DialogInterface$OnClickListener) -> setAdapter
+ 579:580:androidx.appcompat.app.AlertDialog$Builder setCancelable(boolean) -> setCancelable
+ 678:681:androidx.appcompat.app.AlertDialog$Builder setCursor(android.database.Cursor,android.content.DialogInterface$OnClickListener,java.lang.String) -> setCursor
+ 398:399:androidx.appcompat.app.AlertDialog$Builder setCustomTitle(android.view.View) -> setCustomTitle
+ 430:431:androidx.appcompat.app.AlertDialog$Builder setIcon(int) -> setIcon
+ 445:446:androidx.appcompat.app.AlertDialog$Builder setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 459:462:androidx.appcompat.app.AlertDialog$Builder setIconAttribute(int) -> setIconAttribute
+ 957:958:androidx.appcompat.app.AlertDialog$Builder setInverseBackgroundForced(boolean) -> setInverseBackgroundForced
+ 631:633:androidx.appcompat.app.AlertDialog$Builder setItems(int,android.content.DialogInterface$OnClickListener) -> setItems
+ 643:645:androidx.appcompat.app.AlertDialog$Builder setItems(java.lang.CharSequence[],android.content.DialogInterface$OnClickListener) -> setItems
+ 408:409:androidx.appcompat.app.AlertDialog$Builder setMessage(int) -> setMessage
+ 418:419:androidx.appcompat.app.AlertDialog$Builder setMessage(java.lang.CharSequence) -> setMessage
+ 704:708:androidx.appcompat.app.AlertDialog$Builder setMultiChoiceItems(int,boolean[],android.content.DialogInterface$OnMultiChoiceClickListener) -> setMultiChoiceItems
+ 730:734:androidx.appcompat.app.AlertDialog$Builder setMultiChoiceItems(java.lang.CharSequence[],boolean[],android.content.DialogInterface$OnMultiChoiceClickListener) -> setMultiChoiceItems
+ 758:763:androidx.appcompat.app.AlertDialog$Builder setMultiChoiceItems(android.database.Cursor,java.lang.String,java.lang.String,android.content.DialogInterface$OnMultiChoiceClickListener) -> setMultiChoiceItems
+ 509:511:androidx.appcompat.app.AlertDialog$Builder setNegativeButton(int,android.content.DialogInterface$OnClickListener) -> setNegativeButton
+ 522:524:androidx.appcompat.app.AlertDialog$Builder setNegativeButton(java.lang.CharSequence,android.content.DialogInterface$OnClickListener) -> setNegativeButton
+ 533:534:androidx.appcompat.app.AlertDialog$Builder setNegativeButtonIcon(android.graphics.drawable.Drawable) -> setNegativeButtonIcon
+ 545:547:androidx.appcompat.app.AlertDialog$Builder setNeutralButton(int,android.content.DialogInterface$OnClickListener) -> setNeutralButton
+ 558:560:androidx.appcompat.app.AlertDialog$Builder setNeutralButton(java.lang.CharSequence,android.content.DialogInterface$OnClickListener) -> setNeutralButton
+ 569:570:androidx.appcompat.app.AlertDialog$Builder setNeutralButtonIcon(android.graphics.drawable.Drawable) -> setNeutralButtonIcon
+ 600:601:androidx.appcompat.app.AlertDialog$Builder setOnCancelListener(android.content.DialogInterface$OnCancelListener) -> setOnCancelListener
+ 610:611:androidx.appcompat.app.AlertDialog$Builder setOnDismissListener(android.content.DialogInterface$OnDismissListener) -> setOnDismissListener
+ 868:869:androidx.appcompat.app.AlertDialog$Builder setOnItemSelectedListener(android.widget.AdapterView$OnItemSelectedListener) -> setOnItemSelectedListener
+ 620:621:androidx.appcompat.app.AlertDialog$Builder setOnKeyListener(android.content.DialogInterface$OnKeyListener) -> setOnKeyListener
+ 473:475:androidx.appcompat.app.AlertDialog$Builder setPositiveButton(int,android.content.DialogInterface$OnClickListener) -> setPositiveButton
+ 486:488:androidx.appcompat.app.AlertDialog$Builder setPositiveButton(java.lang.CharSequence,android.content.DialogInterface$OnClickListener) -> setPositiveButton
+ 497:498:androidx.appcompat.app.AlertDialog$Builder setPositiveButtonIcon(android.graphics.drawable.Drawable) -> setPositiveButtonIcon
+ 966:967:androidx.appcompat.app.AlertDialog$Builder setRecycleOnMeasureEnabled(boolean) -> setRecycleOnMeasureEnabled
+ 783:787:androidx.appcompat.app.AlertDialog$Builder setSingleChoiceItems(int,int,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 808:813:androidx.appcompat.app.AlertDialog$Builder setSingleChoiceItems(android.database.Cursor,int,java.lang.String,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 831:835:androidx.appcompat.app.AlertDialog$Builder setSingleChoiceItems(java.lang.CharSequence[],int,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 853:857:androidx.appcompat.app.AlertDialog$Builder setSingleChoiceItems(android.widget.ListAdapter,int,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 367:368:androidx.appcompat.app.AlertDialog$Builder setTitle(int) -> setTitle
+ 377:378:androidx.appcompat.app.AlertDialog$Builder setTitle(java.lang.CharSequence) -> setTitle
+ 881:884:androidx.appcompat.app.AlertDialog$Builder setView(int) -> setView
+ 902:905:androidx.appcompat.app.AlertDialog$Builder setView(android.view.View) -> setView
+ 935:942:androidx.appcompat.app.AlertDialog$Builder setView(android.view.View,int,int,int,int) -> setView
+ 1008:1010:androidx.appcompat.app.AlertDialog show() -> show
+androidx.appcompat.app.AppCompatActivity -> androidx.appcompat.app.AppCompatActivity:
+ 94:96:void <init>() -> <init>
+ 110:112:void <init>(int) -> <init>
+ 212:214:void addContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> addContentView
+ 139:140:void attachBaseContext(android.content.Context) -> attachBaseContext
+ 650:655:void closeOptionsMenu() -> closeOptionsMenu
+ 593:599:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 259:259:android.view.View findViewById(int) -> findViewById
+ 583:586:androidx.appcompat.app.AppCompatDelegate getDelegate() -> getDelegate
+ 553:553:androidx.appcompat.app.ActionBarDrawerToggle$Delegate getDrawerToggleDelegate() -> getDrawerToggleDelegate
+ 189:189:android.view.MenuInflater getMenuInflater() -> getMenuInflater
+ 604:607:android.content.res.Resources getResources() -> getResources
+ 163:163:androidx.appcompat.app.ActionBar getSupportActionBar() -> getSupportActionBar
+ 500:500:android.content.Intent getSupportParentActivityIntent() -> getSupportParentActivityIntent
+ 116:135:void initDelegate() -> initDelegate
+ 219:222:void initViewTreeOwners() -> initViewTreeOwners
+ 314:315:void invalidateOptionsMenu() -> invalidateOptionsMenu
+ 226:236:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 540:541:void onContentChanged() -> onContentChanged
+ 417:418:void onCreateSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder) -> onCreateSupportNavigateUpTaskStack
+ 278:280:void onDestroy() -> onDestroy
+ 633:636:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 264:273:boolean onMenuItemSelected(int,android.view.MenuItem) -> onMenuItemSelected
+ 564:564:boolean onMenuOpened(int,android.view.Menu) -> onMenuOpened
+ 664:664:void onNightModeChanged(int) -> onNightModeChanged
+ 575:576:void onPanelClosed(int,android.view.Menu) -> onPanelClosed
+ 150:152:void onPostCreate(android.os.Bundle) -> onPostCreate
+ 240:242:void onPostResume() -> onPostResume
+ 436:436:void onPrepareSupportNavigateUpTaskStack(androidx.core.app.TaskStackBuilder) -> onPrepareSupportNavigateUpTaskStack
+ 246:248:void onStart() -> onStart
+ 252:254:void onStop() -> onStop
+ 337:337:void onSupportActionModeFinished(androidx.appcompat.view.ActionMode) -> onSupportActionModeFinished
+ 326:326:void onSupportActionModeStarted(androidx.appcompat.view.ActionMode) -> onSupportActionModeStarted
+ 548:548:void onSupportContentChanged() -> onSupportContentChanged
+ 462:485:boolean onSupportNavigateUp() -> onSupportNavigateUp
+ 284:286:void onTitleChanged(java.lang.CharSequence,int) -> onTitleChanged
+ 351:351:androidx.appcompat.view.ActionMode onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode$Callback) -> onWindowStartingSupportActionMode
+ 641:646:void openOptionsMenu() -> openOptionsMenu
+ 616:628:boolean performMenuItemShortcut(android.view.KeyEvent) -> performMenuItemShortcut
+ 194:196:void setContentView(int) -> setContentView
+ 200:202:void setContentView(android.view.View) -> setContentView
+ 206:208:void setContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> setContentView
+ 183:184:void setSupportActionBar(androidx.appcompat.widget.Toolbar) -> setSupportActionBar
+ 391:391:void setSupportProgress(int) -> setSupportProgress
+ 384:384:void setSupportProgressBarIndeterminate(boolean) -> setSupportProgressBarIndeterminate
+ 377:377:void setSupportProgressBarIndeterminateVisibility(boolean) -> setSupportProgressBarIndeterminateVisibility
+ 370:370:void setSupportProgressBarVisibility(boolean) -> setSupportProgressBarVisibility
+ 144:146:void setTheme(int) -> setTheme
+ 362:362:androidx.appcompat.view.ActionMode startSupportActionMode(androidx.appcompat.view.ActionMode$Callback) -> startSupportActionMode
+ 309:310:void supportInvalidateOptionsMenu() -> supportInvalidateOptionsMenu
+ 533:534:void supportNavigateUpTo(android.content.Intent) -> supportNavigateUpTo
+ 303:303:boolean supportRequestWindowFeature(int) -> supportRequestWindowFeature
+ 517:517:boolean supportShouldUpRecreateTask(android.content.Intent) -> supportShouldUpRecreateTask
+androidx.appcompat.app.AppCompatActivity$1 -> androidx.appcompat.app.AppCompatActivity$1:
+ 117:117:void <init>(androidx.appcompat.app.AppCompatActivity) -> <init>
+ 121:123:android.os.Bundle saveState() -> saveState
+androidx.appcompat.app.AppCompatActivity$2 -> androidx.appcompat.app.AppCompatActivity$2:
+ 126:126:void <init>(androidx.appcompat.app.AppCompatActivity) -> <init>
+ 129:133:void onContextAvailable(android.content.Context) -> onContextAvailable
+androidx.appcompat.app.AppCompatDelegate -> androidx.appcompat.app.AppCompatDelegate:
+ 166:175:void <clinit>() -> <clinit>
+ 271:271:void <init>() -> <init>
+ 655:662:void addActiveDelegate(androidx.appcompat.app.AppCompatDelegate) -> addActiveDelegate
+ 686:697:void applyDayNightToActiveDelegates() -> applyDayNightToActiveDelegates
+ 387:387:void attachBaseContext(android.content.Context) -> attachBaseContext
+ 395:396:android.content.Context attachBaseContext2(android.content.Context) -> attachBaseContext2
+ 230:230:androidx.appcompat.app.AppCompatDelegate create(android.app.Activity,androidx.appcompat.app.AppCompatCallback) -> create
+ 241:241:androidx.appcompat.app.AppCompatDelegate create(android.app.Dialog,androidx.appcompat.app.AppCompatCallback) -> create
+ 253:253:androidx.appcompat.app.AppCompatDelegate create(android.content.Context,android.view.Window,androidx.appcompat.app.AppCompatCallback) -> create
+ 265:265:androidx.appcompat.app.AppCompatDelegate create(android.content.Context,android.app.Activity,androidx.appcompat.app.AppCompatCallback) -> create
+ 604:604:int getDefaultNightMode() -> getDefaultNightMode
+ 551:551:int getLocalNightMode() -> getLocalNightMode
+ 651:651:boolean isCompatVectorFromResourcesEnabled() -> isCompatVectorFromResourcesEnabled
+ 665:669:void removeActivityDelegate(androidx.appcompat.app.AppCompatDelegate) -> removeActivityDelegate
+ 672:683:void removeDelegateFromActives(androidx.appcompat.app.AppCompatDelegate) -> removeDelegateFromActives
+ 641:642:void setCompatVectorFromResourcesEnabled(boolean) -> setCompatVectorFromResourcesEnabled
+ 577:595:void setDefaultNightMode(int) -> setDefaultNightMode
+ 348:348:void setTheme(int) -> setTheme
+androidx.appcompat.app.AppCompatDelegateImpl -> androidx.appcompat.app.AppCompatDelegateImpl:
+ 137:193:void <clinit>() -> <clinit>
+ 287:288:void <init>(android.app.Activity,androidx.appcompat.app.AppCompatCallback) -> <init>
+ 291:292:void <init>(android.app.Dialog,androidx.appcompat.app.AppCompatCallback) -> <init>
+ 295:296:void <init>(android.content.Context,android.view.Window,androidx.appcompat.app.AppCompatCallback) -> <init>
+ 299:300:void <init>(android.content.Context,android.app.Activity,androidx.appcompat.app.AppCompatCallback) -> <init>
+ 214:338:void <init>(android.content.Context,android.view.Window,androidx.appcompat.app.AppCompatCallback,java.lang.Object) -> <init>
+ 714:718:void addContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> addContentView
+ 2371:2371:boolean applyDayNight() -> applyDayNight
+ 2376:2401:boolean applyDayNight(boolean) -> applyDayNight
+ 1022:1056:void applyFixedSizeWindow() -> applyFixedSizeWindow
+ 344:471:android.content.Context attachBaseContext2(android.content.Context) -> attachBaseContext2
+ 781:805:void attachToWindow(android.view.Window) -> attachToWindow
+ 2459:2459:int calculateNightMode() -> calculateNightMode
+ 2076:2101:void callOnPanelClosed(int,androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState,android.view.Menu) -> callOnPanelClosed
+ 1961:1972:void checkCloseActionMenu(androidx.appcompat.view.menu.MenuBuilder) -> checkCloseActionMenu
+ 756:762:void cleanupAutoManagers() -> cleanupAutoManagers
+ 1975:1976:void closePanel(int) -> closePanel
+ 1979:2008:void closePanel(androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState,boolean) -> closePanel
+ 2467:2493:android.content.res.Configuration createOverrideConfigurationForDayNight(android.content.Context,int,android.content.res.Configuration) -> createOverrideConfigurationForDayNight
+ 842:1016:android.view.ViewGroup createSubDecor() -> createSubDecor
+ 1523:1566:android.view.View createView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> createView
+ 2345:2367:void dismissPopups() -> dismissPopups
+ 1455:1473:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 2167:2191:void doInvalidatePanelMenu(int) -> doInvalidatePanelMenu
+ 1394:1397:void endOnGoingFadeAnimation() -> endOnGoingFadeAnimation
+ 808:839:void ensureSubDecor() -> ensureSubDecor
+ 772:778:void ensureWindow() -> ensureWindow
+ 2104:2112:androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState findMenuPanel(android.view.Menu) -> findMenuPanel
+ 633:634:android.view.View findViewById(int) -> findViewById
+ 3378:3481:android.content.res.Configuration generateConfigDelta(android.content.res.Configuration,android.content.res.Configuration) -> generateConfigDelta
+ 604:615:android.content.Context getActionBarThemedContext() -> getActionBarThemedContext
+ 2636:2639:androidx.appcompat.app.AppCompatDelegateImpl$AutoNightModeManager getAutoBatteryNightModeManager(android.content.Context) -> getAutoBatteryNightModeManager
+ 2624:2624:androidx.appcompat.app.AppCompatDelegateImpl$AutoNightModeManager getAutoTimeNightModeManager() -> getAutoTimeNightModeManager
+ 2628:2632:androidx.appcompat.app.AppCompatDelegateImpl$AutoNightModeManager getAutoTimeNightModeManager(android.content.Context) -> getAutoTimeNightModeManager
+ 3316:3316:androidx.appcompat.app.ActionBarDrawerToggle$Delegate getDrawerToggleDelegate() -> getDrawerToggleDelegate
+ 2423:2423:int getLocalNightMode() -> getLocalNightMode
+ 621:626:android.view.MenuInflater getMenuInflater() -> getMenuInflater
+ 2117:2129:androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState getPanelState(int,boolean) -> getPanelState
+ 2341:2341:android.view.ViewGroup getSubDecor() -> getSubDecor
+ 537:538:androidx.appcompat.app.ActionBar getSupportActionBar() -> getSupportActionBar
+ 1141:1145:java.lang.CharSequence getTitle() -> getTitle
+ 546:546:android.view.Window$Callback getWindowCallback() -> getWindowCallback
+ 1102:1123:boolean hasWindowFeature(int) -> hasWindowFeature
+ 550:564:void initWindowDecorActionBar() -> initWindowDecorActionBar
+ 1836:1853:boolean initializePanelContent(androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState) -> initializePanelContent
+ 1742:1745:boolean initializePanelDecor(androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState) -> initializePanelDecor
+ 1793:1832:boolean initializePanelMenu(androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState) -> initializePanelMenu
+ 1597:1606:void installViewFactory() -> installViewFactory
+ 1220:1224:void invalidateOptionsMenu() -> invalidateOptionsMenu
+ 2158:2164:void invalidatePanelMenu(int) -> invalidatePanelMenu
+ 2643:2677:boolean isActivityManifestHandlingUiMode() -> isActivityManifestHandlingUiMode
+ 1390:1390:boolean isHandleNativeActionModesEnabled() -> isHandleNativeActionModesEnabled
+ 2429:2452:int mapNightMode(android.content.Context,int) -> mapNightMode
+ 1401:1413:boolean onBackPressed() -> onBackPressed
+ 641:656:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 493:525:void onCreate(android.os.Bundle) -> onCreate
+ 1614:1614:android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 1623:1623:android.view.View onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 726:752:void onDestroy() -> onDestroy
+ 1504:1517:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 2011:2018:boolean onKeyDownPanel(int,android.view.KeyEvent) -> onKeyDownPanel
+ 1418:1449:boolean onKeyShortcut(int,android.view.KeyEvent) -> onKeyShortcut
+ 1477:1500:boolean onKeyUp(int,android.view.KeyEvent) -> onKeyUp
+ 2022:2071:boolean onKeyUpPanel(int,android.view.KeyEvent) -> onKeyUpPanel
+ 1175:1182:boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onMenuItemSelected
+ 1187:1188:void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder) -> onMenuModeChange
+ 1165:1171:void onMenuOpened(int) -> onMenuOpened
+ 1149:1162:void onPanelClosed(int) -> onPanelClosed
+ 530:531:void onPostCreate(android.os.Bundle) -> onPostCreate
+ 679:683:void onPostResume() -> onPostResume
+ 722:722:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 660:665:void onStart() -> onStart
+ 669:675:void onStop() -> onStop
+ 1019:1019:void onSubDecorInstalled(android.view.ViewGroup) -> onSubDecorInstalled
+ 1644:1739:void openPanel(androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState,android.view.KeyEvent) -> openPanel
+ 542:542:androidx.appcompat.app.ActionBar peekSupportActionBar() -> peekSupportActionBar
+ 2134:2154:boolean performPanelShortcut(androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState,int,android.view.KeyEvent,int) -> performPanelShortcut
+ 1857:1957:boolean preparePanel(androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState,android.view.KeyEvent) -> preparePanel
+ 1749:1790:void reopenMenu(boolean) -> reopenMenu
+ 1060:1097:boolean requestWindowFeature(int) -> requestWindowFeature
+ 2327:2337:int sanitizeWindowFeatureId(int) -> sanitizeWindowFeatureId
+ 687:692:void setContentView(android.view.View) -> setContentView
+ 696:701:void setContentView(int) -> setContentView
+ 705:710:void setContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> setContentView
+ 1385:1386:void setHandleNativeActionModesEnabled(boolean) -> setHandleNativeActionModesEnabled
+ 2411:2419:void setLocalNightMode(int) -> setLocalNightMode
+ 568:601:void setSupportActionBar(androidx.appcompat.widget.Toolbar) -> setSupportActionBar
+ 766:767:void setTheme(int) -> setTheme
+ 1128:1137:void setTitle(java.lang.CharSequence) -> setTitle
+ 1380:1380:boolean shouldAnimateActionModeView() -> shouldAnimateActionModeView
+ 1571:1591:boolean shouldInheritContext(android.view.ViewParent) -> shouldInheritContext
+ 1192:1215:androidx.appcompat.view.ActionMode startSupportActionMode(androidx.appcompat.view.ActionMode$Callback) -> startSupportActionMode
+ 1227:1374:androidx.appcompat.view.ActionMode startSupportActionModeFromWindow(androidx.appcompat.view.ActionMode$Callback) -> startSupportActionModeFromWindow
+ 2320:2324:void throwFeatureRequestIfSubDecorInstalled() -> throwFeatureRequestIfSubDecorInstalled
+ 1628:1639:androidx.appcompat.app.AppCompatActivity tryUnwrapContext() -> tryUnwrapContext
+ 2506:2563:boolean updateForNightMode(int,boolean) -> updateForNightMode
+ 2571:2615:void updateResourcesConfigurationForNightMode(int,boolean,android.content.res.Configuration) -> updateResourcesConfigurationForNightMode
+ 2202:2308:int updateStatusGuard(androidx.core.view.WindowInsetsCompat,android.graphics.Rect) -> updateStatusGuard
+ 2312:2317:void updateStatusGuardColor(android.view.View) -> updateStatusGuardColor
+androidx.appcompat.app.AppCompatDelegateImpl$1 -> androidx.appcompat.app.AppCompatDelegateImpl$1:
+ 165:165:void <init>(java.lang.Thread$UncaughtExceptionHandler) -> <init>
+ 182:187:boolean shouldWrapException(java.lang.Throwable) -> shouldWrapException
+ 169:179:void uncaughtException(java.lang.Thread,java.lang.Throwable) -> uncaughtException
+androidx.appcompat.app.AppCompatDelegateImpl$2 -> androidx.appcompat.app.AppCompatDelegateImpl$2:
+ 264:264:void <init>(androidx.appcompat.app.AppCompatDelegateImpl) -> <init>
+ 267:275:void run() -> run
+androidx.appcompat.app.AppCompatDelegateImpl$3 -> androidx.appcompat.app.AppCompatDelegateImpl$3:
+ 941:941:void <init>(androidx.appcompat.app.AppCompatDelegateImpl) -> <init>
+ 945:957:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+androidx.appcompat.app.AppCompatDelegateImpl$4 -> androidx.appcompat.app.AppCompatDelegateImpl$4:
+ 963:963:void <init>(androidx.appcompat.app.AppCompatDelegateImpl) -> <init>
+ 966:967:void onFitSystemWindows(android.graphics.Rect) -> onFitSystemWindows
+androidx.appcompat.app.AppCompatDelegateImpl$5 -> androidx.appcompat.app.AppCompatDelegateImpl$5:
+ 1006:1006:void <init>(androidx.appcompat.app.AppCompatDelegateImpl) -> <init>
+ 1008:1008:void onAttachedFromWindow() -> onAttachedFromWindow
+ 1012:1013:void onDetachedFromWindow() -> onDetachedFromWindow
+androidx.appcompat.app.AppCompatDelegateImpl$6 -> androidx.appcompat.app.AppCompatDelegateImpl$6:
+ 1282:1282:void <init>(androidx.appcompat.app.AppCompatDelegateImpl) -> <init>
+ 1285:1310:void run() -> run
+androidx.appcompat.app.AppCompatDelegateImpl$6$1 -> androidx.appcompat.app.AppCompatDelegateImpl$6$1:
+ 1293:1293:void <init>(androidx.appcompat.app.AppCompatDelegateImpl$6) -> <init>
+ 1301:1304:void onAnimationEnd(android.view.View) -> onAnimationEnd
+ 1296:1297:void onAnimationStart(android.view.View) -> onAnimationStart
+androidx.appcompat.app.AppCompatDelegateImpl$7 -> androidx.appcompat.app.AppCompatDelegateImpl$7:
+ 1335:1335:void <init>(androidx.appcompat.app.AppCompatDelegateImpl) -> <init>
+ 1348:1351:void onAnimationEnd(android.view.View) -> onAnimationEnd
+ 1338:1344:void onAnimationStart(android.view.View) -> onAnimationStart
+androidx.appcompat.app.AppCompatDelegateImpl$ActionBarDrawableToggleImpl -> androidx.appcompat.app.AppCompatDelegateImpl$ActionBarDrawableToggleImpl:
+ 3320:3321:void <init>(androidx.appcompat.app.AppCompatDelegateImpl) -> <init>
+ 3334:3334:android.content.Context getActionBarThemedContext() -> getActionBarThemedContext
+ 3325:3329:android.graphics.drawable.Drawable getThemeUpIndicator() -> getThemeUpIndicator
+ 3339:3340:boolean isNavigationVisible() -> isNavigationVisible
+ 3354:3358:void setActionBarDescription(int) -> setActionBarDescription
+ 3345:3350:void setActionBarUpIndicator(android.graphics.drawable.Drawable,int) -> setActionBarUpIndicator
+androidx.appcompat.app.AppCompatDelegateImpl$ActionMenuPresenterCallback -> androidx.appcompat.app.AppCompatDelegateImpl$ActionMenuPresenterCallback:
+ 2775:2776:void <init>(androidx.appcompat.app.AppCompatDelegateImpl) -> <init>
+ 2789:2790:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 2780:2784:boolean onOpenSubMenu(androidx.appcompat.view.menu.MenuBuilder) -> onOpenSubMenu
+androidx.appcompat.app.AppCompatDelegateImpl$ActionModeCallbackWrapperV9 -> androidx.appcompat.app.AppCompatDelegateImpl$ActionModeCallbackWrapperV9:
+ 2686:2688:void <init>(androidx.appcompat.app.AppCompatDelegateImpl,androidx.appcompat.view.ActionMode$Callback) -> <init>
+ 2703:2703:boolean onActionItemClicked(androidx.appcompat.view.ActionMode,android.view.MenuItem) -> onActionItemClicked
+ 2692:2692:boolean onCreateActionMode(androidx.appcompat.view.ActionMode,android.view.Menu) -> onCreateActionMode
+ 2708:2737:void onDestroyActionMode(androidx.appcompat.view.ActionMode) -> onDestroyActionMode
+ 2697:2698:boolean onPrepareActionMode(androidx.appcompat.view.ActionMode,android.view.Menu) -> onPrepareActionMode
+androidx.appcompat.app.AppCompatDelegateImpl$ActionModeCallbackWrapperV9$1 -> androidx.appcompat.app.AppCompatDelegateImpl$ActionModeCallbackWrapperV9$1:
+ 2716:2716:void <init>(androidx.appcompat.app.AppCompatDelegateImpl$ActionModeCallbackWrapperV9) -> <init>
+ 2719:2729:void onAnimationEnd(android.view.View) -> onAnimationEnd
+androidx.appcompat.app.AppCompatDelegateImpl$Api17Impl -> androidx.appcompat.app.AppCompatDelegateImpl$Api17Impl:
+ 3486:3486:void <init>() -> <init>
+ 3497:3497:android.content.Context createConfigurationContext(android.content.Context,android.content.res.Configuration) -> createConfigurationContext
+ 3490:3493:void generateConfigDelta_densityDpi(android.content.res.Configuration,android.content.res.Configuration,android.content.res.Configuration) -> generateConfigDelta_densityDpi
+androidx.appcompat.app.AppCompatDelegateImpl$Api21Impl -> androidx.appcompat.app.AppCompatDelegateImpl$Api21Impl:
+ 3503:3503:void <init>() -> <init>
+ 3506:3506:boolean isPowerSaveMode(android.os.PowerManager) -> isPowerSaveMode
+androidx.appcompat.app.AppCompatDelegateImpl$Api24Impl -> androidx.appcompat.app.AppCompatDelegateImpl$Api24Impl:
+ 3512:3512:void <init>() -> <init>
+ 3516:3522:void generateConfigDelta_locale(android.content.res.Configuration,android.content.res.Configuration,android.content.res.Configuration) -> generateConfigDelta_locale
+androidx.appcompat.app.AppCompatDelegateImpl$Api26Impl -> androidx.appcompat.app.AppCompatDelegateImpl$Api26Impl:
+ 3527:3527:void <init>() -> <init>
+ 3531:3541:void generateConfigDelta_colorMode(android.content.res.Configuration,android.content.res.Configuration,android.content.res.Configuration) -> generateConfigDelta_colorMode
+androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback -> androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback:
+ 3061:3063:void <init>(androidx.appcompat.app.AppCompatDelegateImpl,android.view.Window$Callback) -> <init>
+ 3067:3068:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 3073:3074:boolean dispatchKeyShortcutEvent(android.view.KeyEvent) -> dispatchKeyShortcutEvent
+ 3091:3091:void onContentChanged() -> onContentChanged
+ 3079:3084:boolean onCreatePanelMenu(int,android.view.Menu) -> onCreatePanelMenu
+ 3122:3124:boolean onMenuOpened(int,android.view.Menu) -> onMenuOpened
+ 3129:3131:void onPanelClosed(int,android.view.Menu) -> onPanelClosed
+ 3095:3117:boolean onPreparePanel(int,android.view.View,android.view.Menu) -> onPreparePanel
+ 3188:3197:void onProvideKeyboardShortcuts(java.util.List,android.view.Menu,int) -> onProvideKeyboardShortcuts
+ 3136:3138:android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback) -> onWindowStartingActionMode
+ 3173:3181:android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback,int) -> onWindowStartingActionMode
+ 3155:3166:android.view.ActionMode startAsSupportActionMode(android.view.ActionMode$Callback) -> startAsSupportActionMode
+androidx.appcompat.app.AppCompatDelegateImpl$AutoBatteryNightModeManager -> androidx.appcompat.app.AppCompatDelegateImpl$AutoBatteryNightModeManager:
+ 3284:3287:void <init>(androidx.appcompat.app.AppCompatDelegateImpl,android.content.Context) -> <init>
+ 3305:3308:android.content.IntentFilter createIntentFilterForBroadcastReceiver() -> createIntentFilterForBroadcastReceiver
+ 3292:3293:int getApplyableNightMode() -> getApplyableNightMode
+ 3300:3301:void onChange() -> onChange
+androidx.appcompat.app.AppCompatDelegateImpl$AutoNightModeManager -> androidx.appcompat.app.AppCompatDelegateImpl$AutoNightModeManager:
+ 3205:3205:void <init>(androidx.appcompat.app.AppCompatDelegateImpl) -> <init>
+ 3237:3246:void cleanup() -> cleanup
+ 3249:3249:boolean isListening() -> isListening
+ 3214:3231:void setup() -> setup
+androidx.appcompat.app.AppCompatDelegateImpl$AutoNightModeManager$1 -> androidx.appcompat.app.AppCompatDelegateImpl$AutoNightModeManager$1:
+ 3223:3223:void <init>(androidx.appcompat.app.AppCompatDelegateImpl$AutoNightModeManager) -> <init>
+ 3226:3227:void onReceive(android.content.Context,android.content.Intent) -> onReceive
+androidx.appcompat.app.AppCompatDelegateImpl$AutoTimeNightModeManager -> androidx.appcompat.app.AppCompatDelegateImpl$AutoTimeNightModeManager:
+ 3256:3258:void <init>(androidx.appcompat.app.AppCompatDelegateImpl,androidx.appcompat.app.TwilightManager) -> <init>
+ 3273:3277:android.content.IntentFilter createIntentFilterForBroadcastReceiver() -> createIntentFilterForBroadcastReceiver
+ 3263:3263:int getApplyableNightMode() -> getApplyableNightMode
+ 3268:3269:void onChange() -> onChange
+androidx.appcompat.app.AppCompatDelegateImpl$ContextThemeWrapperCompatApi17Impl -> androidx.appcompat.app.AppCompatDelegateImpl$ContextThemeWrapperCompatApi17Impl:
+ 479:481:void <init>() -> <init>
+ 485:486:void applyOverrideConfiguration(android.view.ContextThemeWrapper,android.content.res.Configuration) -> applyOverrideConfiguration
+androidx.appcompat.app.AppCompatDelegateImpl$ListMenuDecorView -> androidx.appcompat.app.AppCompatDelegateImpl$ListMenuDecorView:
+ 3025:3027:void <init>(androidx.appcompat.app.AppCompatDelegateImpl,android.content.Context) -> <init>
+ 3031:3032:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 3055:3055:boolean isOutOfBounds(int,int) -> isOutOfBounds
+ 3037:3046:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 3051:3052:void setBackgroundResource(int) -> setBackgroundResource
+androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState -> androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState:
+ 2858:2862:void <init>(int) -> <init>
+ 2964:2968:void applyFrozenState() -> applyFrozenState
+ 2875:2879:void clearMenuPresenters() -> clearMenuPresenters
+ 2926:2937:androidx.appcompat.view.menu.MenuView getListMenuView(androidx.appcompat.view.menu.MenuPresenter$Callback) -> getListMenuView
+ 2865:2868:boolean hasPanelItems() -> hasPanelItems
+ 2954:2961:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 2941:2950:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 2914:2923:void setMenu(androidx.appcompat.view.menu.MenuBuilder) -> setMenu
+ 2882:2911:void setStyle(android.content.Context) -> setStyle
+androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState$SavedState -> androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState$SavedState:
+ 3005:3005:void <clinit>() -> <clinit>
+ 2975:2976:void <init>() -> <init>
+ 2980:2980:int describeContents() -> describeContents
+ 2994:3002:androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState$SavedState readFromParcel(android.os.Parcel,java.lang.ClassLoader) -> readFromParcel
+ 2985:2991:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState$SavedState$1 -> androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState$SavedState$1:
+ 3005:3005:void <init>() -> <init>
+ 3005:3005:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 3005:3005:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 3008:3008:androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 3013:3013:androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 3005:3005:java.lang.Object[] newArray(int) -> newArray
+ 3018:3018:androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState$SavedState[] newArray(int) -> newArray
+androidx.appcompat.app.AppCompatDelegateImpl$PanelMenuPresenterCallback -> androidx.appcompat.app.AppCompatDelegateImpl$PanelMenuPresenterCallback:
+ 2741:2742:void <init>(androidx.appcompat.app.AppCompatDelegateImpl) -> <init>
+ 2746:2759:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 2764:2770:boolean onOpenSubMenu(androidx.appcompat.view.menu.MenuBuilder) -> onOpenSubMenu
+androidx.appcompat.app.AppCompatDialog -> androidx.appcompat.app.AppCompatDialog:
+ 53:54:void <init>(android.content.Context) -> <init>
+ 45:68:void <init>(android.content.Context,int) -> <init>
+ 45:73:void <init>(android.content.Context,boolean,android.content.DialogInterface$OnCancelListener) -> <init>
+ 129:130:void addContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> addContentView
+ 140:143:void dismiss() -> dismiss
+ 213:214:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 112:112:android.view.View findViewById(int) -> findViewById
+ 176:179:androidx.appcompat.app.AppCompatDelegate getDelegate() -> getDelegate
+ 90:90:androidx.appcompat.app.ActionBar getSupportActionBar() -> getSupportActionBar
+ 183:189:int getThemeResId(android.content.Context,int) -> getThemeResId
+ 169:170:void invalidateOptionsMenu() -> invalidateOptionsMenu
+ 77:80:void onCreate(android.os.Bundle) -> onCreate
+ 134:136:void onStop() -> onStop
+ 198:198:void onSupportActionModeFinished(androidx.appcompat.view.ActionMode) -> onSupportActionModeFinished
+ 194:194:void onSupportActionModeStarted(androidx.appcompat.view.ActionMode) -> onSupportActionModeStarted
+ 203:203:androidx.appcompat.view.ActionMode onWindowStartingSupportActionMode(androidx.appcompat.view.ActionMode$Callback) -> onWindowStartingSupportActionMode
+ 95:96:void setContentView(int) -> setContentView
+ 100:101:void setContentView(android.view.View) -> setContentView
+ 105:106:void setContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> setContentView
+ 117:119:void setTitle(java.lang.CharSequence) -> setTitle
+ 123:125:void setTitle(int) -> setTitle
+ 208:208:boolean superDispatchKeyEvent(android.view.KeyEvent) -> superDispatchKeyEvent
+ 160:160:boolean supportRequestWindowFeature(int) -> supportRequestWindowFeature
+androidx.appcompat.app.AppCompatDialog$1 -> androidx.appcompat.app.AppCompatDialog$1:
+ 45:45:void <init>(androidx.appcompat.app.AppCompatDialog) -> <init>
+ 48:48:boolean superDispatchKeyEvent(android.view.KeyEvent) -> superDispatchKeyEvent
+androidx.appcompat.app.AppCompatDialogFragment -> androidx.appcompat.app.AppCompatDialogFragment:
+ 38:38:void <init>() -> <init>
+ 43:43:android.app.Dialog onCreateDialog(android.os.Bundle) -> onCreateDialog
+ 50:67:void setupDialog(android.app.Dialog,int) -> setupDialog
+androidx.appcompat.app.AppCompatViewInflater -> androidx.appcompat.app.AppCompatViewInflater:
+ 75:87:void <clinit>() -> <clinit>
+ 73:90:void <init>() -> <init>
+ 313:329:void checkOnClickListener(android.view.View,android.util.AttributeSet) -> checkOnClickListener
+ 240:240:androidx.appcompat.widget.AppCompatAutoCompleteTextView createAutoCompleteTextView(android.content.Context,android.util.AttributeSet) -> createAutoCompleteTextView
+ 204:204:androidx.appcompat.widget.AppCompatButton createButton(android.content.Context,android.util.AttributeSet) -> createButton
+ 224:224:androidx.appcompat.widget.AppCompatCheckBox createCheckBox(android.content.Context,android.util.AttributeSet) -> createCheckBox
+ 234:234:androidx.appcompat.widget.AppCompatCheckedTextView createCheckedTextView(android.content.Context,android.util.AttributeSet) -> createCheckedTextView
+ 209:209:androidx.appcompat.widget.AppCompatEditText createEditText(android.content.Context,android.util.AttributeSet) -> createEditText
+ 219:219:androidx.appcompat.widget.AppCompatImageButton createImageButton(android.content.Context,android.util.AttributeSet) -> createImageButton
+ 199:199:androidx.appcompat.widget.AppCompatImageView createImageView(android.content.Context,android.util.AttributeSet) -> createImageView
+ 246:246:androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView createMultiAutoCompleteTextView(android.content.Context,android.util.AttributeSet) -> createMultiAutoCompleteTextView
+ 229:229:androidx.appcompat.widget.AppCompatRadioButton createRadioButton(android.content.Context,android.util.AttributeSet) -> createRadioButton
+ 251:251:androidx.appcompat.widget.AppCompatRatingBar createRatingBar(android.content.Context,android.util.AttributeSet) -> createRatingBar
+ 256:256:androidx.appcompat.widget.AppCompatSeekBar createSeekBar(android.content.Context,android.util.AttributeSet) -> createSeekBar
+ 214:214:androidx.appcompat.widget.AppCompatSpinner createSpinner(android.content.Context,android.util.AttributeSet) -> createSpinner
+ 194:194:androidx.appcompat.widget.AppCompatTextView createTextView(android.content.Context,android.util.AttributeSet) -> createTextView
+ 261:261:androidx.appcompat.widget.AppCompatToggleButton createToggleButton(android.content.Context,android.util.AttributeSet) -> createToggleButton
+ 95:189:android.view.View createView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet,boolean,boolean,boolean,boolean) -> createView
+ 273:273:android.view.View createView(android.content.Context,java.lang.String,android.util.AttributeSet) -> createView
+ 333:351:android.view.View createViewByPrefix(android.content.Context,java.lang.String,java.lang.String) -> createViewByPrefix
+ 277:304:android.view.View createViewFromTag(android.content.Context,java.lang.String,android.util.AttributeSet) -> createViewFromTag
+ 360:383:android.content.Context themifyContext(android.content.Context,android.util.AttributeSet,boolean,boolean) -> themifyContext
+ 265:269:void verifyNotNull(android.view.View,java.lang.String) -> verifyNotNull
+androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener -> androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener:
+ 397:400:void <init>(android.view.View,java.lang.String) -> <init>
+ 404:417:void onClick(android.view.View) -> onClick
+ 420:447:void resolveMethod(android.content.Context) -> resolveMethod
+androidx.appcompat.app.LayoutIncludeDetector -> androidx.appcompat.app.LayoutIncludeDetector:
+ 36:38:void <init>() -> <init>
+ 45:61:boolean detect(android.util.AttributeSet) -> detect
+ 108:111:boolean isParserOutdated(org.xmlpull.v1.XmlPullParser) -> isParserOutdated
+ 95:103:org.xmlpull.v1.XmlPullParser popOutdatedAttrHolders(java.util.Deque) -> popOutdatedAttrHolders
+ 66:83:boolean shouldInheritContext(org.xmlpull.v1.XmlPullParser,org.xmlpull.v1.XmlPullParser) -> shouldInheritContext
+androidx.appcompat.app.NavItemSelectedListener -> androidx.appcompat.app.NavItemSelectedListener:
+ 30:32:void <init>(androidx.appcompat.app.ActionBar$OnNavigationListener) -> <init>
+ 36:39:void onItemSelected(android.widget.AdapterView,android.view.View,int,long) -> onItemSelected
+ 44:44:void onNothingSelected(android.widget.AdapterView) -> onNothingSelected
+androidx.appcompat.app.ResourcesFlusher -> androidx.appcompat.app.ResourcesFlusher:
+ 209:210:void <init>() -> <init>
+ 46:56:void flush(android.content.res.Resources) -> flush
+ 60:80:void flushLollipops(android.content.res.Resources) -> flushLollipops
+ 84:109:void flushMarshmallows(android.content.res.Resources) -> flushMarshmallows
+ 113:162:void flushNougats(android.content.res.Resources) -> flushNougats
+ 166:207:void flushThemedResourcesCache(java.lang.Object) -> flushThemedResourcesCache
+androidx.appcompat.app.ToolbarActionBar -> androidx.appcompat.app.ToolbarActionBar:
+ 52:75:void <init>(androidx.appcompat.widget.Toolbar,java.lang.CharSequence,android.view.Window$Callback) -> <init>
+ 495:496:void addOnMenuVisibilityListener(androidx.appcompat.app.ActionBar$OnMenuVisibilityListener) -> addOnMenuVisibilityListener
+ 335:335:void addTab(androidx.appcompat.app.ActionBar$Tab) -> addTab
+ 341:341:void addTab(androidx.appcompat.app.ActionBar$Tab,boolean) -> addTab
+ 347:347:void addTab(androidx.appcompat.app.ActionBar$Tab,int) -> addTab
+ 353:353:void addTab(androidx.appcompat.app.ActionBar$Tab,int,boolean) -> addTab
+ 429:429:boolean closeOptionsMenu() -> closeOptionsMenu
+ 441:445:boolean collapseActionView() -> collapseActionView
+ 505:514:void dispatchMenuVisibilityChanged(boolean) -> dispatchMenuVisibilityChanged
+ 296:296:android.view.View getCustomView() -> getCustomView
+ 324:324:int getDisplayOptions() -> getDisplayOptions
+ 142:142:float getElevation() -> getElevation
+ 400:400:int getHeight() -> getHeight
+ 544:549:android.view.Menu getMenu() -> getMenu
+ 214:214:int getNavigationItemCount() -> getNavigationItemCount
+ 311:311:int getNavigationMode() -> getNavigationMode
+ 209:209:int getSelectedNavigationIndex() -> getSelectedNavigationIndex
+ 383:383:androidx.appcompat.app.ActionBar$Tab getSelectedTab() -> getSelectedTab
+ 306:306:java.lang.CharSequence getSubtitle() -> getSubtitle
+ 389:389:androidx.appcompat.app.ActionBar$Tab getTabAt(int) -> getTabAt
+ 395:395:int getTabCount() -> getTabCount
+ 147:147:android.content.Context getThemedContext() -> getThemedContext
+ 301:301:java.lang.CharSequence getTitle() -> getTitle
+ 78:78:android.view.Window$Callback getWrappedWindowCallback() -> getWrappedWindowCallback
+ 414:415:void hide() -> hide
+ 434:436:boolean invalidateOptionsMenu() -> invalidateOptionsMenu
+ 419:419:boolean isShowing() -> isShowing
+ 152:152:boolean isTitleTruncated() -> isTitleTruncated
+ 329:329:androidx.appcompat.app.ActionBar$Tab newTab() -> newTab
+ 187:188:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 490:491:void onDestroy() -> onDestroy
+ 477:484:boolean onKeyShortcut(int,android.view.KeyEvent) -> onKeyShortcut
+ 469:472:boolean onMenuKeyEvent(android.view.KeyEvent) -> onMenuKeyEvent
+ 424:424:boolean openOptionsMenu() -> openOptionsMenu
+ 449:465:void populateOptionsMenu() -> populateOptionsMenu
+ 371:371:void removeAllTabs() -> removeAllTabs
+ 500:501:void removeOnMenuVisibilityListener(androidx.appcompat.app.ActionBar$OnMenuVisibilityListener) -> removeOnMenuVisibilityListener
+ 359:359:void removeTab(androidx.appcompat.app.ActionBar$Tab) -> removeTab
+ 365:365:void removeTabAt(int) -> removeTabAt
+ 234:239:boolean requestFocus() -> requestFocus
+ 377:377:void selectTab(androidx.appcompat.app.ActionBar$Tab) -> selectTab
+ 291:292:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 83:84:void setCustomView(android.view.View) -> setCustomView
+ 88:92:void setCustomView(android.view.View,androidx.appcompat.app.ActionBar$LayoutParams) -> setCustomView
+ 96:98:void setCustomView(int) -> setCustomView
+ 173:173:void setDefaultDisplayHomeAsUpEnabled(boolean) -> setDefaultDisplayHomeAsUpEnabled
+ 276:277:void setDisplayHomeAsUpEnabled(boolean) -> setDisplayHomeAsUpEnabled
+ 255:256:void setDisplayOptions(int) -> setDisplayOptions
+ 260:262:void setDisplayOptions(int,int) -> setDisplayOptions
+ 286:287:void setDisplayShowCustomEnabled(boolean) -> setDisplayShowCustomEnabled
+ 271:272:void setDisplayShowHomeEnabled(boolean) -> setDisplayShowHomeEnabled
+ 281:282:void setDisplayShowTitleEnabled(boolean) -> setDisplayShowTitleEnabled
+ 266:267:void setDisplayUseLogoEnabled(boolean) -> setDisplayUseLogoEnabled
+ 137:138:void setElevation(float) -> setElevation
+ 167:168:void setHomeActionContentDescription(java.lang.CharSequence) -> setHomeActionContentDescription
+ 177:178:void setHomeActionContentDescription(int) -> setHomeActionContentDescription
+ 157:158:void setHomeAsUpIndicator(android.graphics.drawable.Drawable) -> setHomeAsUpIndicator
+ 162:163:void setHomeAsUpIndicator(int) -> setHomeAsUpIndicator
+ 133:133:void setHomeButtonEnabled(boolean) -> setHomeButtonEnabled
+ 102:103:void setIcon(int) -> setIcon
+ 107:108:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 192:193:void setListNavigationCallbacks(android.widget.SpinnerAdapter,androidx.appcompat.app.ActionBar$OnNavigationListener) -> setListNavigationCallbacks
+ 112:113:void setLogo(int) -> setLogo
+ 117:118:void setLogo(android.graphics.drawable.Drawable) -> setLogo
+ 316:320:void setNavigationMode(int) -> setNavigationMode
+ 197:205:void setSelectedNavigationItem(int) -> setSelectedNavigationItem
+ 183:183:void setShowHideAnimationEnabled(boolean) -> setShowHideAnimationEnabled
+ 128:128:void setSplitBackgroundDrawable(android.graphics.drawable.Drawable) -> setSplitBackgroundDrawable
+ 123:123:void setStackedBackgroundDrawable(android.graphics.drawable.Drawable) -> setStackedBackgroundDrawable
+ 244:245:void setSubtitle(java.lang.CharSequence) -> setSubtitle
+ 249:250:void setSubtitle(int) -> setSubtitle
+ 219:220:void setTitle(java.lang.CharSequence) -> setTitle
+ 224:225:void setTitle(int) -> setTitle
+ 229:230:void setWindowTitle(java.lang.CharSequence) -> setWindowTitle
+ 407:408:void show() -> show
+androidx.appcompat.app.ToolbarActionBar$1 -> androidx.appcompat.app.ToolbarActionBar$1:
+ 54:54:void <init>(androidx.appcompat.app.ToolbarActionBar) -> <init>
+ 57:58:void run() -> run
+androidx.appcompat.app.ToolbarActionBar$2 -> androidx.appcompat.app.ToolbarActionBar$2:
+ 62:62:void <init>(androidx.appcompat.app.ToolbarActionBar) -> <init>
+ 65:65:boolean onMenuItemClick(android.view.MenuItem) -> onMenuItemClick
+androidx.appcompat.app.ToolbarActionBar$ActionMenuPresenterCallback -> androidx.appcompat.app.ToolbarActionBar$ActionMenuPresenterCallback:
+ 555:556:void <init>(androidx.appcompat.app.ToolbarActionBar) -> <init>
+ 569:579:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 560:564:boolean onOpenSubMenu(androidx.appcompat.view.menu.MenuBuilder) -> onOpenSubMenu
+androidx.appcompat.app.ToolbarActionBar$MenuBuilderCallback -> androidx.appcompat.app.ToolbarActionBar$MenuBuilderCallback:
+ 584:585:void <init>(androidx.appcompat.app.ToolbarActionBar) -> <init>
+ 589:589:boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onMenuItemSelected
+ 594:602:void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder) -> onMenuModeChange
+androidx.appcompat.app.ToolbarActionBar$ToolbarCallbackWrapper -> androidx.appcompat.app.ToolbarActionBar$ToolbarCallbackWrapper:
+ 517:519:void <init>(androidx.appcompat.app.ToolbarActionBar,android.view.Window$Callback) -> <init>
+ 533:539:android.view.View onCreatePanelView(int) -> onCreatePanelView
+ 523:528:boolean onPreparePanel(int,android.view.View,android.view.Menu) -> onPreparePanel
+androidx.appcompat.app.TwilightCalculator -> androidx.appcompat.app.TwilightCalculator:
+ 26:26:void <init>() -> <init>
+ 89:138:void calculateTwilight(long,double,double) -> calculateTwilight
+ 31:34:androidx.appcompat.app.TwilightCalculator getInstance() -> getInstance
+androidx.appcompat.app.TwilightManager -> androidx.appcompat.app.TwilightManager:
+ 66:72:void <init>(android.content.Context,android.location.LocationManager) -> <init>
+ 50:55:androidx.appcompat.app.TwilightManager getInstance(android.content.Context) -> getInstance
+ 107:127:android.location.Location getLastKnownLocation() -> getLastKnownLocation
+ 134:140:android.location.Location getLastKnownLocationForProvider(java.lang.String) -> getLastKnownLocationForProvider
+ 80:102:boolean isNight() -> isNight
+ 144:144:boolean isStateValid() -> isStateValid
+ 60:61:void setInstance(androidx.appcompat.app.TwilightManager) -> setInstance
+ 148:192:void updateState(android.location.Location) -> updateState
+androidx.appcompat.app.TwilightManager$TwilightState -> androidx.appcompat.app.TwilightManager$TwilightState:
+ 205:206:void <init>() -> <init>
+androidx.appcompat.app.WindowDecorActionBar -> androidx.appcompat.app.WindowDecorActionBar:
+ 85:86:void <clinit>() -> <clinit>
+ 99:177:void <init>(android.app.Activity,boolean) -> <init>
+ 99:181:void <init>(android.app.Dialog) -> <init>
+ 99:190:void <init>(android.view.View) -> <init>
+ 339:340:void addOnMenuVisibilityListener(androidx.appcompat.app.ActionBar$OnMenuVisibilityListener) -> addOnMenuVisibilityListener
+ 560:561:void addTab(androidx.appcompat.app.ActionBar$Tab) -> addTab
+ 565:566:void addTab(androidx.appcompat.app.ActionBar$Tab,int) -> addTab
+ 570:576:void addTab(androidx.appcompat.app.ActionBar$Tab,boolean) -> addTab
+ 580:586:void addTab(androidx.appcompat.app.ActionBar$Tab,int,boolean) -> addTab
+ 873:909:void animateToMode(boolean) -> animateToMode
+ 758:763:boolean checkShowingFlags(boolean,boolean,boolean) -> checkShowingFlags
+ 427:435:void cleanupTabs() -> cleanupTabs
+ 973:977:boolean collapseActionView() -> collapseActionView
+ 310:315:void completeDeferredDestroyActionMode() -> completeDeferredDestroyActionMode
+ 542:556:void configureTab(androidx.appcompat.app.ActionBar$Tab,int) -> configureTab
+ 349:358:void dispatchMenuVisibilityChanged(boolean) -> dispatchMenuVisibilityChanged
+ 835:863:void doHide(boolean) -> doHide
+ 786:832:void doShow(boolean) -> doShow
+ 672:673:void enableContentAnimations(boolean) -> enableContentAnimations
+ 286:307:void ensureTabsExist() -> ensureTabsExist
+ 496:496:android.view.View getCustomView() -> getCustomView
+ 235:241:androidx.appcompat.widget.DecorToolbar getDecorToolbar(android.view.View) -> getDecorToolbar
+ 516:516:int getDisplayOptions() -> getDisplayOptions
+ 252:252:float getElevation() -> getElevation
+ 667:667:int getHeight() -> getHeight
+ 744:744:int getHideOffset() -> getHideOffset
+ 1312:1318:int getNavigationItemCount() -> getNavigationItemCount
+ 511:511:int getNavigationMode() -> getNavigationMode
+ 1300:1306:int getSelectedNavigationIndex() -> getSelectedNavigationIndex
+ 662:662:androidx.appcompat.app.ActionBar$Tab getSelectedTab() -> getSelectedTab
+ 506:506:java.lang.CharSequence getSubtitle() -> getSubtitle
+ 1359:1359:androidx.appcompat.app.ActionBar$Tab getTabAt(int) -> getTabAt
+ 1324:1324:int getTabCount() -> getTabCount
+ 919:931:android.content.Context getThemedContext() -> getThemedContext
+ 501:501:java.lang.CharSequence getTitle() -> getTitle
+ 1374:1374:boolean hasIcon() -> hasIcon
+ 1388:1388:boolean hasLogo() -> hasLogo
+ 703:707:void hide() -> hide
+ 710:717:void hideForActionMode() -> hideForActionMode
+ 721:725:void hideForSystem() -> hideForSystem
+ 193:232:void init(android.view.View) -> init
+ 739:739:boolean isHideOnContentScrollEnabled() -> isHideOnContentScrollEnabled
+ 867:869:boolean isShowing() -> isShowing
+ 936:936:boolean isTitleTruncated() -> isTitleTruncated
+ 590:590:androidx.appcompat.app.ActionBar$Tab newTab() -> newTab
+ 257:258:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 961:965:void onContentScrollStarted() -> onContentScrollStarted
+ 969:969:void onContentScrollStopped() -> onContentScrollStopped
+ 1400:1410:boolean onKeyShortcut(int,android.view.KeyEvent) -> onKeyShortcut
+ 319:320:void onWindowVisibilityChanged(int) -> onWindowVisibilityChanged
+ 423:424:void removeAllTabs() -> removeAllTabs
+ 344:345:void removeOnMenuVisibilityListener(androidx.appcompat.app.ActionBar$OnMenuVisibilityListener) -> removeOnMenuVisibilityListener
+ 595:596:void removeTab(androidx.appcompat.app.ActionBar$Tab) -> removeTab
+ 600:621:void removeTabAt(int) -> removeTabAt
+ 449:454:boolean requestFocus() -> requestFocus
+ 625:658:void selectTab(androidx.appcompat.app.ActionBar$Tab) -> selectTab
+ 481:482:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 362:364:void setCustomView(int) -> setCustomView
+ 1284:1285:void setCustomView(android.view.View) -> setCustomView
+ 1289:1291:void setCustomView(android.view.View,androidx.appcompat.app.ActionBar$LayoutParams) -> setCustomView
+ 1393:1396:void setDefaultDisplayHomeAsUpEnabled(boolean) -> setDefaultDisplayHomeAsUpEnabled
+ 378:379:void setDisplayHomeAsUpEnabled(boolean) -> setDisplayHomeAsUpEnabled
+ 464:468:void setDisplayOptions(int) -> setDisplayOptions
+ 472:477:void setDisplayOptions(int,int) -> setDisplayOptions
+ 388:389:void setDisplayShowCustomEnabled(boolean) -> setDisplayShowCustomEnabled
+ 373:374:void setDisplayShowHomeEnabled(boolean) -> setDisplayShowHomeEnabled
+ 383:384:void setDisplayShowTitleEnabled(boolean) -> setDisplayShowTitleEnabled
+ 368:369:void setDisplayUseLogoEnabled(boolean) -> setDisplayUseLogoEnabled
+ 247:248:void setElevation(float) -> setElevation
+ 261:283:void setHasEmbeddedTabs(boolean) -> setHasEmbeddedTabs
+ 749:754:void setHideOffset(int) -> setHideOffset
+ 729:735:void setHideOnContentScrollEnabled(boolean) -> setHideOnContentScrollEnabled
+ 951:952:void setHomeActionContentDescription(java.lang.CharSequence) -> setHomeActionContentDescription
+ 956:957:void setHomeActionContentDescription(int) -> setHomeActionContentDescription
+ 941:942:void setHomeAsUpIndicator(android.graphics.drawable.Drawable) -> setHomeAsUpIndicator
+ 946:947:void setHomeAsUpIndicator(int) -> setHomeAsUpIndicator
+ 393:394:void setHomeButtonEnabled(boolean) -> setHomeButtonEnabled
+ 1365:1366:void setIcon(int) -> setIcon
+ 1370:1371:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 1295:1296:void setListNavigationCallbacks(android.widget.SpinnerAdapter,androidx.appcompat.app.ActionBar$OnNavigationListener) -> setListNavigationCallbacks
+ 1379:1380:void setLogo(int) -> setLogo
+ 1384:1385:void setLogo(android.graphics.drawable.Drawable) -> setLogo
+ 1329:1355:void setNavigationMode(int) -> setNavigationMode
+ 408:419:void setSelectedNavigationItem(int) -> setSelectedNavigationItem
+ 331:335:void setShowHideAnimationEnabled(boolean) -> setShowHideAnimationEnabled
+ 492:492:void setSplitBackgroundDrawable(android.graphics.drawable.Drawable) -> setSplitBackgroundDrawable
+ 486:487:void setStackedBackgroundDrawable(android.graphics.drawable.Drawable) -> setStackedBackgroundDrawable
+ 403:404:void setSubtitle(int) -> setSubtitle
+ 459:460:void setSubtitle(java.lang.CharSequence) -> setSubtitle
+ 398:399:void setTitle(int) -> setTitle
+ 439:440:void setTitle(java.lang.CharSequence) -> setTitle
+ 444:445:void setWindowTitle(java.lang.CharSequence) -> setWindowTitle
+ 914:914:boolean shouldAnimateContextView() -> shouldAnimateContextView
+ 677:681:void show() -> show
+ 684:691:void showForActionMode() -> showForActionMode
+ 695:699:void showForSystem() -> showForSystem
+ 521:538:androidx.appcompat.view.ActionMode startActionMode(androidx.appcompat.view.ActionMode$Callback) -> startActionMode
+ 769:783:void updateVisibility(boolean) -> updateVisibility
+androidx.appcompat.app.WindowDecorActionBar$1 -> androidx.appcompat.app.WindowDecorActionBar$1:
+ 135:135:void <init>(androidx.appcompat.app.WindowDecorActionBar) -> <init>
+ 138:149:void onAnimationEnd(android.view.View) -> onAnimationEnd
+androidx.appcompat.app.WindowDecorActionBar$2 -> androidx.appcompat.app.WindowDecorActionBar$2:
+ 152:152:void <init>(androidx.appcompat.app.WindowDecorActionBar) -> <init>
+ 155:157:void onAnimationEnd(android.view.View) -> onAnimationEnd
+androidx.appcompat.app.WindowDecorActionBar$3 -> androidx.appcompat.app.WindowDecorActionBar$3:
+ 161:161:void <init>(androidx.appcompat.app.WindowDecorActionBar) -> <init>
+ 164:166:void onAnimationUpdate(android.view.View) -> onAnimationUpdate
+androidx.appcompat.app.WindowDecorActionBar$ActionModeImpl -> androidx.appcompat.app.WindowDecorActionBar$ActionModeImpl:
+ 991:997:void <init>(androidx.appcompat.app.WindowDecorActionBar,android.content.Context,androidx.appcompat.view.ActionMode$Callback) -> <init>
+ 1058:1063:boolean dispatchOnCreate() -> dispatchOnCreate
+ 1011:1038:void finish() -> finish
+ 1115:1115:android.view.View getCustomView() -> getCustomView
+ 1006:1006:android.view.Menu getMenu() -> getMenu
+ 1001:1001:android.view.MenuInflater getMenuInflater() -> getMenuInflater
+ 1099:1099:java.lang.CharSequence getSubtitle() -> getSubtitle
+ 1094:1094:java.lang.CharSequence getTitle() -> getTitle
+ 1042:1055:void invalidate() -> invalidate
+ 1110:1110:boolean isTitleOptional() -> isTitleOptional
+ 1128:1128:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 1144:1144:void onCloseSubMenu(androidx.appcompat.view.menu.SubMenuBuilder) -> onCloseSubMenu
+ 1120:1123:boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onMenuItemSelected
+ 1148:1153:void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder) -> onMenuModeChange
+ 1131:1140:boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder) -> onSubMenuSelected
+ 1068:1070:void setCustomView(android.view.View) -> setCustomView
+ 1074:1075:void setSubtitle(java.lang.CharSequence) -> setSubtitle
+ 1089:1090:void setSubtitle(int) -> setSubtitle
+ 1079:1080:void setTitle(java.lang.CharSequence) -> setTitle
+ 1084:1085:void setTitle(int) -> setTitle
+ 1104:1106:void setTitleOptionalHint(boolean) -> setTitleOptionalHint
+androidx.appcompat.app.WindowDecorActionBar$TabImpl -> androidx.appcompat.app.WindowDecorActionBar$TabImpl:
+ 1160:1166:void <init>(androidx.appcompat.app.WindowDecorActionBar) -> <init>
+ 1181:1181:androidx.appcompat.app.ActionBar$TabListener getCallback() -> getCallback
+ 1278:1278:java.lang.CharSequence getContentDescription() -> getContentDescription
+ 1192:1192:android.view.View getCustomView() -> getCustomView
+ 1212:1212:android.graphics.drawable.Drawable getIcon() -> getIcon
+ 1217:1217:int getPosition() -> getPosition
+ 1171:1171:java.lang.Object getTag() -> getTag
+ 1226:1226:java.lang.CharSequence getText() -> getText
+ 1259:1260:void select() -> select
+ 1264:1264:androidx.appcompat.app.ActionBar$Tab setContentDescription(int) -> setContentDescription
+ 1269:1273:androidx.appcompat.app.ActionBar$Tab setContentDescription(java.lang.CharSequence) -> setContentDescription
+ 1197:1201:androidx.appcompat.app.ActionBar$Tab setCustomView(android.view.View) -> setCustomView
+ 1206:1207:androidx.appcompat.app.ActionBar$Tab setCustomView(int) -> setCustomView
+ 1231:1235:androidx.appcompat.app.ActionBar$Tab setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 1240:1240:androidx.appcompat.app.ActionBar$Tab setIcon(int) -> setIcon
+ 1221:1222:void setPosition(int) -> setPosition
+ 1186:1187:androidx.appcompat.app.ActionBar$Tab setTabListener(androidx.appcompat.app.ActionBar$TabListener) -> setTabListener
+ 1176:1177:androidx.appcompat.app.ActionBar$Tab setTag(java.lang.Object) -> setTag
+ 1245:1249:androidx.appcompat.app.ActionBar$Tab setText(java.lang.CharSequence) -> setText
+ 1254:1254:androidx.appcompat.app.ActionBar$Tab setText(int) -> setText
+androidx.appcompat.content.res.AppCompatResources -> androidx.appcompat.content.res.AppCompatResources:
+ 50:55:void <clinit>() -> <clinit>
+ 57:57:void <init>() -> <init>
+ 150:159:void addColorStateListToCache(android.content.Context,int,android.content.res.ColorStateList) -> addColorStateListToCache
+ 130:145:android.content.res.ColorStateList getCachedColorStateList(android.content.Context,int) -> getCachedColorStateList
+ 67:69:android.content.res.ColorStateList getColorStateList(android.content.Context,int) -> getColorStateList
+ 104:104:android.graphics.drawable.Drawable getDrawable(android.content.Context,int) -> getDrawable
+ 173:178:android.util.TypedValue getTypedValue() -> getTypedValue
+ 112:124:android.content.res.ColorStateList inflateColorStateList(android.content.Context,int) -> inflateColorStateList
+ 162:167:boolean isColorInt(android.content.Context,int) -> isColorInt
+androidx.appcompat.content.res.AppCompatResources$ColorStateListCacheEntry -> androidx.appcompat.content.res.AppCompatResources$ColorStateListCacheEntry:
+ 186:189:void <init>(android.content.res.ColorStateList,android.content.res.Configuration) -> <init>
+androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat -> androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat:
+ 92:92:void <clinit>() -> <clinit>
+ 111:112:void <init>() -> <init>
+ 105:122:void <init>(androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimatedStateListState,android.content.res.Resources) -> <init>
+ 89:89:void addState(int[],android.graphics.drawable.Drawable) -> addState
+ 234:239:void addState(int[],android.graphics.drawable.Drawable,int) -> addState
+ 251:255:void addTransition(int,int,android.graphics.drawable.Drawable,boolean) -> addTransition
+ 89:89:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 89:89:boolean canApplyTheme() -> canApplyTheme
+ 619:621:void clearMutated() -> clearMutated
+ 89:89:androidx.appcompat.graphics.drawable.DrawableContainer$DrawableContainerState cloneConstantState() -> cloneConstantState
+ 89:89:androidx.appcompat.graphics.drawable.StateListDrawable$StateListState cloneConstantState() -> cloneConstantState
+ 614:614:androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimatedStateListState cloneConstantState() -> cloneConstantState
+ 138:156:androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat create(android.content.Context,int,android.content.res.Resources$Theme) -> create
+ 171:178: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) -> createFromXmlInner
+ 89:89:void draw(android.graphics.Canvas) -> draw
+ 89:89:int getAlpha() -> getAlpha
+ 89:89:int getChangingConfigurations() -> getChangingConfigurations
+ 89:89:android.graphics.drawable.Drawable getCurrent() -> getCurrent
+ 89:89:void getHotspotBounds(android.graphics.Rect) -> getHotspotBounds
+ 89:89:int getIntrinsicHeight() -> getIntrinsicHeight
+ 89:89:int getIntrinsicWidth() -> getIntrinsicWidth
+ 89:89:int getMinimumHeight() -> getMinimumHeight
+ 89:89:int getMinimumWidth() -> getMinimumWidth
+ 89:89:int getOpacity() -> getOpacity
+ 89:89:void getOutline(android.graphics.Outline) -> getOutline
+ 89:89:boolean getPadding(android.graphics.Rect) -> getPadding
+ 201:210:void inflate(android.content.Context,android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflate
+ 483:500:void inflateChildElements(android.content.Context,android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflateChildElements
+ 472:473:void init() -> init
+ 89:89:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 89:89:boolean isAutoMirrored() -> isAutoMirrored
+ 259:259:boolean isStateful() -> isStateful
+ 264:272:void jumpToCurrentState() -> jumpToCurrentState
+ 605:609:android.graphics.drawable.Drawable mutate() -> mutate
+ 89:89:boolean onLayoutDirectionChanged(int) -> onLayoutDirectionChanged
+ 278:288:boolean onStateChange(int[]) -> onStateChange
+ 564:600:int parseItem(android.content.Context,android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> parseItem
+ 510:554:int parseTransition(android.content.Context,android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> parseTransition
+ 89:89:void scheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable,long) -> scheduleDrawable
+ 293:350:boolean selectTransition(int) -> selectTransition
+ 89:89:void setAlpha(int) -> setAlpha
+ 89:89:void setAutoMirrored(boolean) -> setAutoMirrored
+ 89:89:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 718:722:void setConstantState(androidx.appcompat.graphics.drawable.DrawableContainer$DrawableContainerState) -> setConstantState
+ 89:89:void setDither(boolean) -> setDither
+ 89:89:void setEnterFadeDuration(int) -> setEnterFadeDuration
+ 89:89:void setExitFadeDuration(int) -> setExitFadeDuration
+ 89:89:void setHotspot(float,float) -> setHotspot
+ 89:89:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 89:89:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 89:89:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 214:223:boolean setVisible(boolean,boolean) -> setVisible
+ 89:89:void unscheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable) -> unscheduleDrawable
+ 449:469:void updateStateFromTypedArray(android.content.res.TypedArray) -> updateStateFromTypedArray
+androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimatableTransition -> androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimatableTransition:
+ 370:372:void <init>(android.graphics.drawable.Animatable) -> <init>
+ 376:377:void start() -> start
+ 381:382:void stop() -> stop
+androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimatedStateListState -> androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimatedStateListState:
+ 634:643:void <init>(androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimatedStateListState,androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat,android.content.res.Resources) -> <init>
+ 667:669:int addStateSet(int[],android.graphics.drawable.Drawable,int) -> addStateSet
+ 652:663:int addTransition(int,int,android.graphics.drawable.Drawable,boolean) -> addTransition
+ 712:712:long generateTransitionKey(int,int) -> generateTransitionKey
+ 681:681:int getKeyframeIdAt(int) -> getKeyframeIdAt
+ 673:677:int indexOfKeyframe(int[]) -> indexOfKeyframe
+ 685:686:int indexOfTransition(int,int) -> indexOfTransition
+ 690:691:boolean isTransitionReversed(int,int) -> isTransitionReversed
+ 647:649:void mutate() -> mutate
+ 702:702:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 708:708:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+ 695:696:boolean transitionHasReversibleFlag(int,int) -> transitionHasReversibleFlag
+androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimatedVectorDrawableTransition -> androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimatedVectorDrawableTransition:
+ 433:435:void <init>(androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat) -> <init>
+ 439:440:void start() -> start
+ 444:445:void stop() -> stop
+androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimationDrawableTransition -> androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$AnimationDrawableTransition:
+ 392:407:void <init>(android.graphics.drawable.AnimationDrawable,boolean,boolean) -> <init>
+ 411:411:boolean canReverse() -> canReverse
+ 421:422:void reverse() -> reverse
+ 416:417:void start() -> start
+ 426:427:void stop() -> stop
+androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$FrameInterpolator -> androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$FrameInterpolator:
+ 732:734:void <init>(android.graphics.drawable.AnimationDrawable,boolean) -> <init>
+ 759:776:float getInterpolation(float) -> getInterpolation
+ 754:754:int getTotalDuration() -> getTotalDuration
+ 737:750:int updateFrames(android.graphics.drawable.AnimationDrawable,boolean) -> updateFrames
+androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$Transition -> androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$Transition:
+ 353:353:void <init>() -> <init>
+ 353:353:void <init>(androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat$1) -> <init>
+ 363:363:boolean canReverse() -> canReverse
+ 360:360:void reverse() -> reverse
+androidx.appcompat.graphics.drawable.DrawableContainer -> androidx.appcompat.graphics.drawable.DrawableContainer:
+ 54:75:void <init>() -> <init>
+ 535:572:void animate(boolean) -> animate
+ 594:595:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 600:600:boolean canApplyTheme() -> canApplyTheme
+ 634:636:void clearMutated() -> clearMutated
+ 630:630:androidx.appcompat.graphics.drawable.DrawableContainer$DrawableContainerState cloneConstantState() -> cloneConstantState
+ 87:93:void draw(android.graphics.Canvas) -> draw
+ 153:153:int getAlpha() -> getAlpha
+ 97:98:int getChangingConfigurations() -> getChangingConfigurations
+ 605:609:android.graphics.drawable.Drawable$ConstantState getConstantState() -> getConstantState
+ 577:577:android.graphics.drawable.Drawable getCurrent() -> getCurrent
+ 415:415:int getCurrentIndex() -> getCurrentIndex
+ 295:300:void getHotspotBounds(android.graphics.Rect) -> getHotspotBounds
+ 341:344:int getIntrinsicHeight() -> getIntrinsicHeight
+ 333:336:int getIntrinsicWidth() -> getIntrinsicWidth
+ 357:360:int getMinimumHeight() -> getMinimumHeight
+ 349:352:int getMinimumWidth() -> getMinimumWidth
+ 405:406:int getOpacity() -> getOpacity
+ 131:134:void getOutline(android.graphics.Outline) -> getOutline
+ 108:125:boolean getPadding(android.graphics.Rect) -> getPadding
+ 491:532:void initializeDrawableForDisplay(android.graphics.drawable.Drawable) -> initializeDrawableForDisplay
+ 368:374:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 244:244:boolean isAutoMirrored() -> isAutoMirrored
+ 228:228:boolean isStateful() -> isStateful
+ 249:272:void jumpToCurrentState() -> jumpToCurrentState
+ 614:620:android.graphics.drawable.Drawable mutate() -> mutate
+ 102:103:boolean needsMirroring() -> needsMirroring
+ 218:224:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 328:328:boolean onLayoutDirectionChanged(int) -> onLayoutDirectionChanged
+ 315:321:boolean onLevelChange(int) -> onLevelChange
+ 304:310:boolean onStateChange(int[]) -> onStateChange
+ 1207:1208:int resolveDensity(android.content.res.Resources,int) -> resolveDensity
+ 378:381:void scheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable,long) -> scheduleDrawable
+ 428:481:boolean selectDrawable(int) -> selectDrawable
+ 138:149:void setAlpha(int) -> setAlpha
+ 233:240:void setAutoMirrored(boolean) -> setAutoMirrored
+ 169:176:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 1156:1167:void setConstantState(androidx.appcompat.graphics.drawable.DrawableContainer$DrawableContainerState) -> setConstantState
+ 411:412:void setCurrentIndex(int) -> setCurrentIndex
+ 159:165:void setDither(boolean) -> setDither
+ 203:204:void setEnterFadeDuration(int) -> setEnterFadeDuration
+ 213:214:void setExitFadeDuration(int) -> setExitFadeDuration
+ 276:279:void setHotspot(float,float) -> setHotspot
+ 283:291:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 180:185:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 189:194:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 392:399:boolean setVisible(boolean,boolean) -> setVisible
+ 385:388:void unscheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable) -> unscheduleDrawable
+ 588:589:void updateDensity(android.content.res.Resources) -> updateDensity
+androidx.appcompat.graphics.drawable.DrawableContainer$1 -> androidx.appcompat.graphics.drawable.DrawableContainer$1:
+ 467:467:void <init>(androidx.appcompat.graphics.drawable.DrawableContainer) -> <init>
+ 470:472:void run() -> run
+androidx.appcompat.graphics.drawable.DrawableContainer$Api21Impl -> androidx.appcompat.graphics.drawable.DrawableContainer$Api21Impl:
+ 1213:1215:void <init>() -> <init>
+ 1218:1218:boolean canApplyTheme(android.graphics.drawable.Drawable$ConstantState) -> canApplyTheme
+ 1226:1227:void getOutline(android.graphics.drawable.Drawable,android.graphics.Outline) -> getOutline
+ 1222:1222:android.content.res.Resources getResources(android.content.res.Resources$Theme) -> getResources
+androidx.appcompat.graphics.drawable.DrawableContainer$BlockInvalidateCallback -> androidx.appcompat.graphics.drawable.DrawableContainer$BlockInvalidateCallback:
+ 1172:1172:void <init>() -> <init>
+ 1189:1189:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 1193:1196:void scheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable,long) -> scheduleDrawable
+ 1200:1203:void unscheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable) -> unscheduleDrawable
+ 1181:1183:android.graphics.drawable.Drawable$Callback unwrap() -> unwrap
+ 1176:1177:androidx.appcompat.graphics.drawable.DrawableContainer$BlockInvalidateCallback wrap(android.graphics.drawable.Drawable$Callback) -> wrap
+androidx.appcompat.graphics.drawable.DrawableContainer$DrawableContainerState -> androidx.appcompat.graphics.drawable.DrawableContainer$DrawableContainerState:
+ 653:757:void <init>(androidx.appcompat.graphics.drawable.DrawableContainer$DrawableContainerState,androidx.appcompat.graphics.drawable.DrawableContainer,android.content.res.Resources) -> <init>
+ 771:786:int addChild(android.graphics.drawable.Drawable) -> addChild
+ 896:909:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 914:929:boolean canApplyTheme() -> canApplyTheme
+ 1137:1151:boolean canConstantState() -> canConstantState
+ 953:954:void clearMutated() -> clearMutated
+ 1045:1062:void computeConstantSize() -> computeConstantSize
+ 802:811:void createAllFutures() -> createAllFutures
+ 798:798:int getCapacity() -> getCapacity
+ 761:761:int getChangingConfigurations() -> getChangingConfigurations
+ 830:848:android.graphics.drawable.Drawable getChild(int) -> getChild
+ 823:823:int getChildCount() -> getChildCount
+ 1018:1021:int getConstantHeight() -> getConstantHeight
+ 1038:1041:int getConstantMinimumHeight() -> getConstantMinimumHeight
+ 1028:1031:int getConstantMinimumWidth() -> getConstantMinimumWidth
+ 969:990:android.graphics.Rect getConstantPadding() -> getConstantPadding
+ 1008:1011:int getConstantWidth() -> getConstantWidth
+ 1069:1069:int getEnterFadeDuration() -> getEnterFadeDuration
+ 1077:1077:int getExitFadeDuration() -> getExitFadeDuration
+ 1085:1097:int getOpacity() -> getOpacity
+ 1126:1131:void growArray(int,int) -> growArray
+ 793:795:void invalidateCache() -> invalidateCache
+ 1001:1001:boolean isConstantSize() -> isConstantSize
+ 1104:1119:boolean isStateful() -> isStateful
+ 935:943:void mutate() -> mutate
+ 814:819:android.graphics.drawable.Drawable prepareDrawable(android.graphics.drawable.Drawable) -> prepareDrawable
+ 994:995:void setConstantSize(boolean) -> setConstantSize
+ 1065:1066:void setEnterFadeDuration(int) -> setEnterFadeDuration
+ 1073:1074:void setExitFadeDuration(int) -> setExitFadeDuration
+ 852:870:boolean setLayoutDirection(int,int) -> setLayoutDirection
+ 962:963:void setVariablePadding(boolean) -> setVariablePadding
+ 880:892:void updateDensity(android.content.res.Resources) -> updateDensity
+androidx.appcompat.graphics.drawable.DrawableWrapper -> androidx.appcompat.graphics.drawable.DrawableWrapper:
+ 46:48:void <init>(android.graphics.drawable.Drawable) -> <init>
+ 52:53:void draw(android.graphics.Canvas) -> draw
+ 67:67:int getChangingConfigurations() -> getChangingConfigurations
+ 113:113:android.graphics.drawable.Drawable getCurrent() -> getCurrent
+ 139:139:int getIntrinsicHeight() -> getIntrinsicHeight
+ 134:134:int getIntrinsicWidth() -> getIntrinsicWidth
+ 149:149:int getMinimumHeight() -> getMinimumHeight
+ 144:144:int getMinimumWidth() -> getMinimumWidth
+ 124:124:int getOpacity() -> getOpacity
+ 154:154:boolean getPadding(android.graphics.Rect) -> getPadding
+ 103:103:int[] getState() -> getState
+ 129:129:android.graphics.Region getTransparentRegion() -> getTransparentRegion
+ 222:222:android.graphics.drawable.Drawable getWrappedDrawable() -> getWrappedDrawable
+ 162:163:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 193:193:boolean isAutoMirrored() -> isAutoMirrored
+ 93:93:boolean isStateful() -> isStateful
+ 108:109:void jumpToCurrentState() -> jumpToCurrentState
+ 57:58:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 183:183:boolean onLevelChange(int) -> onLevelChange
+ 170:171:void scheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable,long) -> scheduleDrawable
+ 83:84:void setAlpha(int) -> setAlpha
+ 188:189:void setAutoMirrored(boolean) -> setAutoMirrored
+ 62:63:void setChangingConfigurations(int) -> setChangingConfigurations
+ 88:89:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 73:74:void setDither(boolean) -> setDither
+ 78:79:void setFilterBitmap(boolean) -> setFilterBitmap
+ 213:214:void setHotspot(float,float) -> setHotspot
+ 218:219:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 98:98:boolean setState(int[]) -> setState
+ 198:199:void setTint(int) -> setTint
+ 203:204:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 208:209:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 118:118:boolean setVisible(boolean,boolean) -> setVisible
+ 226:235:void setWrappedDrawable(android.graphics.drawable.Drawable) -> setWrappedDrawable
+ 178:179:void unscheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable) -> unscheduleDrawable
+androidx.appcompat.graphics.drawable.DrawerArrowDrawable -> androidx.appcompat.graphics.drawable.DrawerArrowDrawable:
+ 100:100:void <clinit>() -> <clinit>
+ 97:152:void <init>(android.content.Context) -> <init>
+ 326:401:void draw(android.graphics.Canvas) -> draw
+ 171:171:float getArrowHeadLength() -> getArrowHeadLength
+ 190:190:float getArrowShaftLength() -> getArrowShaftLength
+ 197:197:float getBarLength() -> getBarLength
+ 247:247:float getBarThickness() -> getBarThickness
+ 227:227:int getColor() -> getColor
+ 311:311:int getDirection() -> getDirection
+ 256:256:float getGapSize() -> getGapSize
+ 419:419:int getIntrinsicHeight() -> getIntrinsicHeight
+ 424:424:int getIntrinsicWidth() -> getIntrinsicWidth
+ 429:429:int getOpacity() -> getOpacity
+ 458:458:android.graphics.Paint getPaint() -> getPaint
+ 437:437:float getProgress() -> getProgress
+ 289:289:boolean isSpinEnabled() -> isSpinEnabled
+ 465:465:float lerp(float,float,float) -> lerp
+ 405:409:void setAlpha(int) -> setAlpha
+ 160:164:void setArrowHeadLength(float) -> setArrowHeadLength
+ 180:184:void setArrowShaftLength(float) -> setArrowShaftLength
+ 206:210:void setBarLength(float) -> setBarLength
+ 236:241:void setBarThickness(float) -> setBarThickness
+ 216:220:void setColor(int) -> setColor
+ 413:415:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 277:281:void setDirection(int) -> setDirection
+ 267:271:void setGapSize(float) -> setGapSize
+ 448:452:void setProgress(float) -> setProgress
+ 300:304:void setSpinEnabled(boolean) -> setSpinEnabled
+ 318:322:void setVerticalMirror(boolean) -> setVerticalMirror
+androidx.appcompat.graphics.drawable.StateListDrawable -> androidx.appcompat.graphics.drawable.StateListDrawable:
+ 88:89:void <init>() -> <init>
+ 403:408:void <init>(androidx.appcompat.graphics.drawable.StateListDrawable$StateListState,android.content.res.Resources) -> <init>
+ 414:418:void <init>(androidx.appcompat.graphics.drawable.StateListDrawable$StateListState) -> <init>
+ 99:104:void addState(int[],android.graphics.drawable.Drawable) -> addState
+ 391:393:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 324:326:void clearMutated() -> clearMutated
+ 79:79:androidx.appcompat.graphics.drawable.DrawableContainer$DrawableContainerState cloneConstantState() -> cloneConstantState
+ 319:319:androidx.appcompat.graphics.drawable.StateListDrawable$StateListState cloneConstantState() -> cloneConstantState
+ 234:253:int[] extractStateSet(android.util.AttributeSet) -> extractStateSet
+ 268:268:int getStateCount() -> getStateCount
+ 292:292:android.graphics.drawable.Drawable getStateDrawable(int) -> getStateDrawable
+ 304:304:int getStateDrawableIndex(int[]) -> getStateDrawableIndex
+ 257:257:androidx.appcompat.graphics.drawable.StateListDrawable$StateListState getStateListState() -> getStateListState
+ 280:280:int[] getStateSet(int) -> getStateSet
+ 143:150:void inflate(android.content.Context,android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflate
+ 179:225:void inflateChildElements(android.content.Context,android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflateChildElements
+ 108:108:boolean isStateful() -> isStateful
+ 310:314:android.graphics.drawable.Drawable mutate() -> mutate
+ 113:122:boolean onStateChange(int[]) -> onStateChange
+ 397:401:void setConstantState(androidx.appcompat.graphics.drawable.DrawableContainer$DrawableContainerState) -> setConstantState
+ 156:171:void updateStateFromTypedArray(android.content.res.TypedArray) -> updateStateFromTypedArray
+androidx.appcompat.graphics.drawable.StateListDrawable$StateListState -> androidx.appcompat.graphics.drawable.StateListDrawable$StateListState:
+ 332:339:void <init>(androidx.appcompat.graphics.drawable.StateListDrawable$StateListState,androidx.appcompat.graphics.drawable.StateListDrawable,android.content.res.Resources) -> <init>
+ 351:353:int addStateSet(int[],android.graphics.drawable.Drawable) -> addStateSet
+ 381:385:void growArray(int,int) -> growArray
+ 357:364:int indexOfStateSet(int[]) -> indexOfStateSet
+ 343:348:void mutate() -> mutate
+ 370:370:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 376:376:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+androidx.appcompat.text.AllCapsTransformationMethod -> androidx.appcompat.text.AllCapsTransformationMethod:
+ 37:39:void <init>(android.content.Context) -> <init>
+ 43:43:java.lang.CharSequence getTransformation(java.lang.CharSequence,android.view.View) -> getTransformation
+ 49:49:void onFocusChanged(android.view.View,java.lang.CharSequence,boolean,int,android.graphics.Rect) -> onFocusChanged
+androidx.appcompat.view.ActionBarPolicy -> androidx.appcompat.view.ActionBarPolicy:
+ 46:48:void <init>(android.content.Context) -> <init>
+ 110:110:boolean enableHomeButtonByDefault() -> enableHomeButtonByDefault
+ 43:43:androidx.appcompat.view.ActionBarPolicy get(android.content.Context) -> get
+ 86:86:int getEmbeddedMenuWidthLimit() -> getEmbeddedMenuWidthLimit
+ 56:73:int getMaxActionButtons() -> getMaxActionButtons
+ 115:115:int getStackedTabMaxWidth() -> getStackedTabMaxWidth
+ 94:104:int getTabContainerHeight() -> getTabContainerHeight
+ 90:90:boolean hasEmbeddedTabs() -> hasEmbeddedTabs
+ 78:79:boolean showsOverflowMenuButton() -> showsOverflowMenuButton
+androidx.appcompat.view.ActionMode -> androidx.appcompat.view.ActionMode:
+ 41:41:void <init>() -> <init>
+ 71:71:java.lang.Object getTag() -> getTag
+ 145:145:boolean getTitleOptionalHint() -> getTitleOptionalHint
+ 153:153:boolean isTitleOptional() -> isTitleOptional
+ 225:225:boolean isUiFocusable() -> isUiFocusable
+ 57:58:void setTag(java.lang.Object) -> setTag
+ 134:135:void setTitleOptionalHint(boolean) -> setTitleOptionalHint
+androidx.appcompat.view.ContextThemeWrapper -> androidx.appcompat.view.ContextThemeWrapper:
+ 48:49:void <init>() -> <init>
+ 63:65:void <init>(android.content.Context,int) -> <init>
+ 77:79:void <init>(android.content.Context,android.content.res.Resources$Theme) -> <init>
+ 97:105:void applyOverrideConfiguration(android.content.res.Configuration) -> applyOverrideConfiguration
+ 83:84:void attachBaseContext(android.content.Context) -> attachBaseContext
+ 200:200:android.content.res.AssetManager getAssets() -> getAssets
+ 109:109:android.content.res.Resources getResources() -> getResources
+ 113:126:android.content.res.Resources getResourcesInternal() -> getResourcesInternal
+ 161:167:java.lang.Object getSystemService(java.lang.String) -> getSystemService
+ 147:156:android.content.res.Resources$Theme getTheme() -> getTheme
+ 142:142:int getThemeResId() -> getThemeResId
+ 186:195:void initializeTheme() -> initializeTheme
+ 182:183:void onApplyThemeResource(android.content.res.Resources$Theme,int,boolean) -> onApplyThemeResource
+ 131:135:void setTheme(int) -> setTheme
+androidx.appcompat.view.StandaloneActionMode -> androidx.appcompat.view.StandaloneActionMode:
+ 51:60:void <init>(android.content.Context,androidx.appcompat.widget.ActionBarContextView,androidx.appcompat.view.ActionMode$Callback,boolean) -> <init>
+ 106:113:void finish() -> finish
+ 132:132:android.view.View getCustomView() -> getCustomView
+ 117:117:android.view.Menu getMenu() -> getMenu
+ 137:137:android.view.MenuInflater getMenuInflater() -> getMenuInflater
+ 127:127:java.lang.CharSequence getSubtitle() -> getSubtitle
+ 122:122:java.lang.CharSequence getTitle() -> getTitle
+ 101:102:void invalidate() -> invalidate
+ 90:90:boolean isTitleOptional() -> isTitleOptional
+ 168:168:boolean isUiFocusable() -> isUiFocusable
+ 146:146:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 158:158:void onCloseSubMenu(androidx.appcompat.view.menu.SubMenuBuilder) -> onCloseSubMenu
+ 142:142:boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onMenuItemSelected
+ 162:164:void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder) -> onMenuModeChange
+ 149:154:boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder) -> onSubMenuSelected
+ 95:97:void setCustomView(android.view.View) -> setCustomView
+ 69:70:void setSubtitle(java.lang.CharSequence) -> setSubtitle
+ 79:80:void setSubtitle(int) -> setSubtitle
+ 64:65:void setTitle(java.lang.CharSequence) -> setTitle
+ 74:75:void setTitle(int) -> setTitle
+ 84:86:void setTitleOptionalHint(boolean) -> setTitleOptionalHint
+androidx.appcompat.view.SupportActionModeWrapper -> androidx.appcompat.view.SupportActionModeWrapper:
+ 49:52:void <init>(android.content.Context,androidx.appcompat.view.ActionMode) -> <init>
+ 81:82:void finish() -> finish
+ 111:111:android.view.View getCustomView() -> getCustomView
+ 86:86:android.view.Menu getMenu() -> getMenu
+ 121:121:android.view.MenuInflater getMenuInflater() -> getMenuInflater
+ 101:101:java.lang.CharSequence getSubtitle() -> getSubtitle
+ 56:56:java.lang.Object getTag() -> getTag
+ 91:91:java.lang.CharSequence getTitle() -> getTitle
+ 126:126:boolean getTitleOptionalHint() -> getTitleOptionalHint
+ 76:77:void invalidate() -> invalidate
+ 136:136:boolean isTitleOptional() -> isTitleOptional
+ 116:117:void setCustomView(android.view.View) -> setCustomView
+ 71:72:void setSubtitle(java.lang.CharSequence) -> setSubtitle
+ 106:107:void setSubtitle(int) -> setSubtitle
+ 61:62:void setTag(java.lang.Object) -> setTag
+ 66:67:void setTitle(java.lang.CharSequence) -> setTitle
+ 96:97:void setTitle(int) -> setTitle
+ 131:132:void setTitleOptionalHint(boolean) -> setTitleOptionalHint
+androidx.appcompat.view.SupportActionModeWrapper$CallbackWrapper -> androidx.appcompat.view.SupportActionModeWrapper$CallbackWrapper:
+ 150:155:void <init>(android.content.Context,android.view.ActionMode$Callback) -> <init>
+ 192:204:android.view.ActionMode getActionModeWrapper(androidx.appcompat.view.ActionMode) -> getActionModeWrapper
+ 182:187:android.view.Menu getMenuWrapper(android.view.Menu) -> getMenuWrapper
+ 172:172:boolean onActionItemClicked(androidx.appcompat.view.ActionMode,android.view.MenuItem) -> onActionItemClicked
+ 159:160:boolean onCreateActionMode(androidx.appcompat.view.ActionMode,android.view.Menu) -> onCreateActionMode
+ 178:179:void onDestroyActionMode(androidx.appcompat.view.ActionMode) -> onDestroyActionMode
+ 165:166:boolean onPrepareActionMode(androidx.appcompat.view.ActionMode,android.view.Menu) -> onPrepareActionMode
+androidx.appcompat.view.SupportMenuInflater -> androidx.appcompat.view.SupportMenuInflater:
+ 83:85:void <clinit>() -> <clinit>
+ 101:105:void <init>(android.content.Context) -> <init>
+ 231:237:java.lang.Object findRealOwner(java.lang.Object) -> findRealOwner
+ 224:227:java.lang.Object getRealOwner() -> getRealOwner
+ 119:137:void inflate(int,android.view.Menu) -> inflate
+ 145:221:void parseMenu(org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.view.Menu) -> parseMenu
+androidx.appcompat.view.SupportMenuInflater$InflatedOnMenuItemClickListener -> androidx.appcompat.view.SupportMenuInflater$InflatedOnMenuItemClickListener:
+ 242:242:void <clinit>() -> <clinit>
+ 247:259:void <init>(java.lang.Object,java.lang.String) -> <init>
+ 264:271:boolean onMenuItemClick(android.view.MenuItem) -> onMenuItemClick
+androidx.appcompat.view.SupportMenuInflater$MenuState -> androidx.appcompat.view.SupportMenuInflater$MenuState:
+ 337:353:void <init>(androidx.appcompat.view.SupportMenuInflater,android.view.Menu) -> <init>
+ 530:532:void addItem() -> addItem
+ 535:538:android.view.SubMenu addSubMenuItem() -> addSubMenuItem
+ 459:462:char getShortcut(java.lang.String) -> getShortcut
+ 542:542:boolean hasAddedItem() -> hasAddedItem
+ 549:556:java.lang.Object newInstance(java.lang.String,java.lang.Class[],java.lang.Object[]) -> newInstance
+ 368:380:void readGroup(android.util.AttributeSet) -> readGroup
+ 386:456:void readItem(android.util.AttributeSet) -> readItem
+ 356:362:void resetGroup() -> resetGroup
+ 467:527:void setItem(android.view.MenuItem) -> setItem
+androidx.appcompat.view.ViewPropertyAnimatorCompatSet -> androidx.appcompat.view.ViewPropertyAnimatorCompatSet:
+ 42:120:void <init>() -> <init>
+ 90:97:void cancel() -> cancel
+ 86:87:void onAnimationsEnded() -> onAnimationsEnded
+ 53:56:androidx.appcompat.view.ViewPropertyAnimatorCompatSet play(androidx.core.view.ViewPropertyAnimatorCompat) -> play
+ 61:64:androidx.appcompat.view.ViewPropertyAnimatorCompatSet playSequentially(androidx.core.view.ViewPropertyAnimatorCompat,androidx.core.view.ViewPropertyAnimatorCompat) -> playSequentially
+ 100:103:androidx.appcompat.view.ViewPropertyAnimatorCompatSet setDuration(long) -> setDuration
+ 107:110:androidx.appcompat.view.ViewPropertyAnimatorCompatSet setInterpolator(android.view.animation.Interpolator) -> setInterpolator
+ 114:117:androidx.appcompat.view.ViewPropertyAnimatorCompatSet setListener(androidx.core.view.ViewPropertyAnimatorListener) -> setListener
+ 68:83:void start() -> start
+androidx.appcompat.view.ViewPropertyAnimatorCompatSet$1 -> androidx.appcompat.view.ViewPropertyAnimatorCompatSet$1:
+ 121:123:void <init>(androidx.appcompat.view.ViewPropertyAnimatorCompatSet) -> <init>
+ 144:150:void onAnimationEnd(android.view.View) -> onAnimationEnd
+ 127:134:void onAnimationStart(android.view.View) -> onAnimationStart
+ 137:140:void onEnd() -> onEnd
+androidx.appcompat.view.WindowCallbackWrapper -> androidx.appcompat.view.WindowCallbackWrapper:
+ 50:55:void <init>(android.view.Window$Callback) -> <init>
+ 79:79:boolean dispatchGenericMotionEvent(android.view.MotionEvent) -> dispatchGenericMotionEvent
+ 59:59:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 64:64:boolean dispatchKeyShortcutEvent(android.view.KeyEvent) -> dispatchKeyShortcutEvent
+ 84:84:boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> dispatchPopulateAccessibilityEvent
+ 69:69:boolean dispatchTouchEvent(android.view.MotionEvent) -> dispatchTouchEvent
+ 74:74:boolean dispatchTrackballEvent(android.view.MotionEvent) -> dispatchTrackballEvent
+ 188:188:android.view.Window$Callback getWrapped() -> getWrapped
+ 171:172:void onActionModeFinished(android.view.ActionMode) -> onActionModeFinished
+ 166:167:void onActionModeStarted(android.view.ActionMode) -> onActionModeStarted
+ 129:130:void onAttachedToWindow() -> onAttachedToWindow
+ 119:120:void onContentChanged() -> onContentChanged
+ 94:94:boolean onCreatePanelMenu(int,android.view.Menu) -> onCreatePanelMenu
+ 89:89:android.view.View onCreatePanelView(int) -> onCreatePanelView
+ 134:135:void onDetachedFromWindow() -> onDetachedFromWindow
+ 109:109:boolean onMenuItemSelected(int,android.view.MenuItem) -> onMenuItemSelected
+ 104:104:boolean onMenuOpened(int,android.view.Menu) -> onMenuOpened
+ 139:140:void onPanelClosed(int,android.view.Menu) -> onPanelClosed
+ 184:185:void onPointerCaptureChanged(boolean) -> onPointerCaptureChanged
+ 99:99:boolean onPreparePanel(int,android.view.View,android.view.Menu) -> onPreparePanel
+ 178:179:void onProvideKeyboardShortcuts(java.util.List,android.view.Menu,int) -> onProvideKeyboardShortcuts
+ 145:145:boolean onSearchRequested(android.view.SearchEvent) -> onSearchRequested
+ 150:150:boolean onSearchRequested() -> onSearchRequested
+ 114:115:void onWindowAttributesChanged(android.view.WindowManager$LayoutParams) -> onWindowAttributesChanged
+ 124:125:void onWindowFocusChanged(boolean) -> onWindowFocusChanged
+ 155:155:android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback) -> onWindowStartingActionMode
+ 161:161:android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback,int) -> onWindowStartingActionMode
+androidx.appcompat.view.menu.ActionMenuItem -> androidx.appcompat.view.menu.ActionMenuItem:
+ 53:85:void <init>(android.content.Context,int,int,int,int,java.lang.CharSequence) -> <init>
+ 437:449:void applyIconTint() -> applyIconTint
+ 371:371:boolean collapseActionView() -> collapseActionView
+ 366:366:boolean expandActionView() -> expandActionView
+ 340:340:android.view.ActionProvider getActionProvider() -> getActionProvider
+ 330:330:android.view.View getActionView() -> getActionView
+ 94:94:int getAlphabeticModifiers() -> getAlphabeticModifiers
+ 89:89:char getAlphabeticShortcut() -> getAlphabeticShortcut
+ 392:392:java.lang.CharSequence getContentDescription() -> getContentDescription
+ 99:99:int getGroupId() -> getGroupId
+ 104:104:android.graphics.drawable.Drawable getIcon() -> getIcon
+ 418:418:android.content.res.ColorStateList getIconTintList() -> getIconTintList
+ 433:433:android.graphics.PorterDuff$Mode getIconTintMode() -> getIconTintMode
+ 109:109:android.content.Intent getIntent() -> getIntent
+ 114:114:int getItemId() -> getItemId
+ 119:119:android.view.ContextMenu$ContextMenuInfo getMenuInfo() -> getMenuInfo
+ 129:129:int getNumericModifiers() -> getNumericModifiers
+ 124:124:char getNumericShortcut() -> getNumericShortcut
+ 134:134:int getOrder() -> getOrder
+ 139:139:android.view.SubMenu getSubMenu() -> getSubMenu
+ 350:350:androidx.core.view.ActionProvider getSupportActionProvider() -> getSupportActionProvider
+ 144:144:java.lang.CharSequence getTitle() -> getTitle
+ 149:149:java.lang.CharSequence getTitleCondensed() -> getTitleCondensed
+ 403:403:java.lang.CharSequence getTooltipText() -> getTooltipText
+ 154:154:boolean hasSubMenu() -> hasSubMenu
+ 296:305:boolean invoke() -> invoke
+ 376:376:boolean isActionViewExpanded() -> isActionViewExpanded
+ 159:159:boolean isCheckable() -> isCheckable
+ 164:164:boolean isChecked() -> isChecked
+ 169:169:boolean isEnabled() -> isEnabled
+ 174:174:boolean isVisible() -> isVisible
+ 315:315:boolean requiresActionButton() -> requiresActionButton
+ 320:320:boolean requiresOverflow() -> requiresOverflow
+ 335:335:android.view.MenuItem setActionProvider(android.view.ActionProvider) -> setActionProvider
+ 42:42:android.view.MenuItem setActionView(int) -> setActionView
+ 42:42:android.view.MenuItem setActionView(android.view.View) -> setActionView
+ 325:325:androidx.core.internal.view.SupportMenuItem setActionView(android.view.View) -> setActionView
+ 345:345:androidx.core.internal.view.SupportMenuItem setActionView(int) -> setActionView
+ 179:180:android.view.MenuItem setAlphabeticShortcut(char) -> setAlphabeticShortcut
+ 185:187:android.view.MenuItem setAlphabeticShortcut(char,int) -> setAlphabeticShortcut
+ 192:193:android.view.MenuItem setCheckable(boolean) -> setCheckable
+ 203:204:android.view.MenuItem setChecked(boolean) -> setChecked
+ 42:42:android.view.MenuItem setContentDescription(java.lang.CharSequence) -> setContentDescription
+ 386:387:androidx.core.internal.view.SupportMenuItem setContentDescription(java.lang.CharSequence) -> setContentDescription
+ 209:210:android.view.MenuItem setEnabled(boolean) -> setEnabled
+ 197:198:androidx.appcompat.view.menu.ActionMenuItem setExclusiveCheckable(boolean) -> setExclusiveCheckable
+ 215:218:android.view.MenuItem setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 223:226:android.view.MenuItem setIcon(int) -> setIcon
+ 408:413:android.view.MenuItem setIconTintList(android.content.res.ColorStateList) -> setIconTintList
+ 423:428:android.view.MenuItem setIconTintMode(android.graphics.PorterDuff$Mode) -> setIconTintMode
+ 231:232:android.view.MenuItem setIntent(android.content.Intent) -> setIntent
+ 237:238:android.view.MenuItem setNumericShortcut(char) -> setNumericShortcut
+ 243:245:android.view.MenuItem setNumericShortcut(char,int) -> setNumericShortcut
+ 381:381:android.view.MenuItem setOnActionExpandListener(android.view.MenuItem$OnActionExpandListener) -> setOnActionExpandListener
+ 250:251:android.view.MenuItem setOnMenuItemClickListener(android.view.MenuItem$OnMenuItemClickListener) -> setOnMenuItemClickListener
+ 256:258:android.view.MenuItem setShortcut(char,char) -> setShortcut
+ 264:268:android.view.MenuItem setShortcut(char,char,int,int) -> setShortcut
+ 311:311:void setShowAsAction(int) -> setShowAsAction
+ 42:42:android.view.MenuItem setShowAsActionFlags(int) -> setShowAsActionFlags
+ 360:361:androidx.core.internal.view.SupportMenuItem setShowAsActionFlags(int) -> setShowAsActionFlags
+ 355:355:androidx.core.internal.view.SupportMenuItem setSupportActionProvider(androidx.core.view.ActionProvider) -> setSupportActionProvider
+ 273:274:android.view.MenuItem setTitle(java.lang.CharSequence) -> setTitle
+ 279:280:android.view.MenuItem setTitle(int) -> setTitle
+ 285:286:android.view.MenuItem setTitleCondensed(java.lang.CharSequence) -> setTitleCondensed
+ 42:42:android.view.MenuItem setTooltipText(java.lang.CharSequence) -> setTooltipText
+ 397:398:androidx.core.internal.view.SupportMenuItem setTooltipText(java.lang.CharSequence) -> setTooltipText
+ 291:292:android.view.MenuItem setVisible(boolean) -> setVisible
+androidx.appcompat.view.menu.ActionMenuItemView -> androidx.appcompat.view.menu.ActionMenuItemView:
+ 64:65:void <init>(android.content.Context) -> <init>
+ 68:69:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 72:88:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 119:119:androidx.appcompat.view.menu.MenuItemImpl getItemData() -> getItemData
+ 237:237:boolean hasText() -> hasText
+ 124:137:void initialize(androidx.appcompat.view.menu.MenuItemImpl,int) -> initialize
+ 264:264:boolean needsDividerAfter() -> needsDividerAfter
+ 259:259:boolean needsDividerBefore() -> needsDividerBefore
+ 150:153:void onClick(android.view.View) -> onClick
+ 92:96:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 269:296:void onMeasure(int,int) -> onMeasure
+ 333:334:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 141:145:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 165:165:boolean prefersCondensedTitle() -> prefersCondensedTitle
+ 171:171:void setCheckable(boolean) -> setCheckable
+ 176:176:void setChecked(boolean) -> setChecked
+ 179:185:void setExpandedFormat(boolean) -> setExpandedFormat
+ 215:234:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 156:157:void setItemInvoker(androidx.appcompat.view.menu.MenuBuilder$ItemInvoker) -> setItemInvoker
+ 113:115:void setPadding(int,int,int,int) -> setPadding
+ 160:161:void setPopupCallback(androidx.appcompat.view.menu.ActionMenuItemView$PopupCallback) -> setPopupCallback
+ 243:243:void setShortcut(boolean,char) -> setShortcut
+ 247:250:void setTitle(java.lang.CharSequence) -> setTitle
+ 103:107:boolean shouldAllowTextWithIcon() -> shouldAllowTextWithIcon
+ 254:254:boolean showsIcon() -> showsIcon
+ 188:211:void updateTextButtonVisibility() -> updateTextButtonVisibility
+androidx.appcompat.view.menu.ActionMenuItemView$ActionMenuItemForwardingListener -> androidx.appcompat.view.menu.ActionMenuItemView$ActionMenuItemForwardingListener:
+ 299:301:void <init>(androidx.appcompat.view.menu.ActionMenuItemView) -> <init>
+ 305:308:androidx.appcompat.view.menu.ShowableListMenu getPopup() -> getPopup
+ 314:318:boolean onForwardingStarted() -> onForwardingStarted
+androidx.appcompat.view.menu.ActionMenuItemView$PopupCallback -> androidx.appcompat.view.menu.ActionMenuItemView$PopupCallback:
+ 336:336:void <init>() -> <init>
+androidx.appcompat.view.menu.BaseMenuPresenter -> androidx.appcompat.view.menu.BaseMenuPresenter:
+ 61:66:void <init>(android.content.Context,int,int) -> <init>
+ 134:139:void addItemView(android.view.View,int) -> addItemView
+ 239:239:boolean collapseItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> collapseItemActionView
+ 167:167:androidx.appcompat.view.menu.MenuView$ItemView createItemView(android.view.ViewGroup) -> createItemView
+ 234:234:boolean expandItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> expandItemActionView
+ 148:149:boolean filterLeftoverView(android.view.ViewGroup,int) -> filterLeftoverView
+ 229:229:boolean flagActionItems() -> flagActionItems
+ 158:158:androidx.appcompat.view.menu.MenuPresenter$Callback getCallback() -> getCallback
+ 244:244:int getId() -> getId
+ 183:189:android.view.View getItemView(androidx.appcompat.view.menu.MenuItemImpl,android.view.View,android.view.ViewGroup) -> getItemView
+ 77:83:androidx.appcompat.view.menu.MenuView getMenuView(android.view.ViewGroup) -> getMenuView
+ 70:73:void initForMenu(android.content.Context,androidx.appcompat.view.menu.MenuBuilder) -> initForMenu
+ 213:216:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 220:224:boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder) -> onSubMenuSelected
+ 154:155:void setCallback(androidx.appcompat.view.menu.MenuPresenter$Callback) -> setCallback
+ 248:249:void setId(int) -> setId
+ 208:208:boolean shouldIncludeItem(int,androidx.appcompat.view.menu.MenuItemImpl) -> shouldIncludeItem
+ 91:125:void updateMenuView(boolean) -> updateMenuView
+androidx.appcompat.view.menu.BaseMenuWrapper -> androidx.appcompat.view.menu.BaseMenuWrapper:
+ 34:36:void <init>(android.content.Context) -> <init>
+ 39:58:android.view.MenuItem getMenuItemWrapper(android.view.MenuItem) -> getMenuItemWrapper
+ 62:78:android.view.SubMenu getSubMenuWrapper(android.view.SubMenu) -> getSubMenuWrapper
+ 83:89:void internalClear() -> internalClear
+ 92:101:void internalRemoveGroup(int) -> internalRemoveGroup
+ 104:113:void internalRemoveItem(int) -> internalRemoveItem
+androidx.appcompat.view.menu.CascadingMenuPopup -> androidx.appcompat.view.menu.CascadingMenuPopup:
+ 66:66:void <clinit>() -> <clinit>
+ 89:238:void <init>(android.content.Context,android.view.View,int,int,boolean) -> <init>
+ 355:362:void addMenu(androidx.appcompat.view.menu.MenuBuilder) -> addMenu
+ 792:792:boolean closeMenuOnSubMenuOpened() -> closeMenuOnSubMenuOpened
+ 246:255:androidx.appcompat.widget.MenuPopupWindow createPopupWindow() -> createPopupWindow
+ 288:299:void dismiss() -> dismiss
+ 656:663:int findIndexOfAddedMenu(androidx.appcompat.view.menu.MenuBuilder) -> findIndexOfAddedMenu
+ 517:524:android.view.MenuItem findMenuItemForSubmenu(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuBuilder) -> findMenuItemForSubmenu
+ 538:581:android.view.View findParentViewForSubmenu(androidx.appcompat.view.menu.CascadingMenuPopup$CascadingMenuInfo,androidx.appcompat.view.menu.MenuBuilder) -> findParentViewForSubmenu
+ 727:727:boolean flagActionItems() -> flagActionItems
+ 316:318:int getInitialMenuPosition() -> getInitialMenuPosition
+ 766:768:android.widget.ListView getListView() -> getListView
+ 330:349:int getNextMenuPosition(int) -> getNextMenuPosition
+ 589:589:boolean isShowing() -> isShowing
+ 668:723:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 599:613:void onDismiss() -> onDismiss
+ 303:307:boolean onKey(android.view.View,int,android.view.KeyEvent) -> onKey
+ 737:737:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 732:732:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 630:646:boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder) -> onSubMenuSelected
+ 750:757:void setAnchorView(android.view.View) -> setAnchorView
+ 624:625:void setCallback(androidx.appcompat.view.menu.MenuPresenter$Callback) -> setCallback
+ 242:243:void setForceShowIcon(boolean) -> setForceShowIcon
+ 741:746:void setGravity(int) -> setGravity
+ 773:775:void setHorizontalOffset(int) -> setHorizontalOffset
+ 761:762:void setOnDismissListener(android.widget.PopupWindow$OnDismissListener) -> setOnDismissListener
+ 785:786:void setShowTitle(boolean) -> setShowTitle
+ 779:781:void setVerticalOffset(int) -> setVerticalOffset
+ 260:280:void show() -> show
+ 370:504:void showMenu(androidx.appcompat.view.menu.MenuBuilder) -> showMenu
+ 617:620:void updateMenuView(boolean) -> updateMenuView
+androidx.appcompat.view.menu.CascadingMenuPopup$1 -> androidx.appcompat.view.menu.CascadingMenuPopup$1:
+ 98:98:void <init>(androidx.appcompat.view.menu.CascadingMenuPopup) -> <init>
+ 104:116:void onGlobalLayout() -> onGlobalLayout
+androidx.appcompat.view.menu.CascadingMenuPopup$2 -> androidx.appcompat.view.menu.CascadingMenuPopup$2:
+ 120:120:void <init>(androidx.appcompat.view.menu.CascadingMenuPopup) -> <init>
+ 123:123:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 127:134:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+androidx.appcompat.view.menu.CascadingMenuPopup$3 -> androidx.appcompat.view.menu.CascadingMenuPopup$3:
+ 137:137:void <init>(androidx.appcompat.view.menu.CascadingMenuPopup) -> <init>
+ 150:194:void onItemHoverEnter(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onItemHoverEnter
+ 143:144:void onItemHoverExit(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onItemHoverExit
+androidx.appcompat.view.menu.CascadingMenuPopup$3$1 -> androidx.appcompat.view.menu.CascadingMenuPopup$3$1:
+ 173:173:void <init>(androidx.appcompat.view.menu.CascadingMenuPopup$3,androidx.appcompat.view.menu.CascadingMenuPopup$CascadingMenuInfo,android.view.MenuItem,androidx.appcompat.view.menu.MenuBuilder) -> <init>
+ 178:190:void run() -> run
+androidx.appcompat.view.menu.CascadingMenuPopup$CascadingMenuInfo -> androidx.appcompat.view.menu.CascadingMenuPopup$CascadingMenuInfo:
+ 801:805:void <init>(androidx.appcompat.widget.MenuPopupWindow,androidx.appcompat.view.menu.MenuBuilder,int) -> <init>
+ 808:808:android.widget.ListView getListView() -> getListView
+androidx.appcompat.view.menu.ExpandedMenuView -> androidx.appcompat.view.menu.ExpandedMenuView:
+ 42:42:void <clinit>() -> <clinit>
+ 53:54:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 57:69:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 97:97:int getWindowAnimations() -> getWindowAnimations
+ 73:74:void initialize(androidx.appcompat.view.menu.MenuBuilder) -> initialize
+ 86:86:boolean invokeItem(androidx.appcompat.view.menu.MenuItemImpl) -> invokeItem
+ 78:82:void onDetachedFromWindow() -> onDetachedFromWindow
+ 92:93:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+androidx.appcompat.view.menu.ListMenuItemView -> androidx.appcompat.view.menu.ListMenuItemView:
+ 74:75:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 78:98:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 138:139:void addContentView(android.view.View) -> addContentView
+ 142:147:void addContentView(android.view.View,int) -> addContentView
+ 347:355:void adjustListItemSelectionBounds(android.graphics.Rect) -> adjustListItemSelectionBounds
+ 327:330:android.view.LayoutInflater getInflater() -> getInflater
+ 166:166:androidx.appcompat.view.menu.MenuItemImpl getItemData() -> getItemData
+ 124:135:void initialize(androidx.appcompat.view.menu.MenuItemImpl,int) -> initialize
+ 309:314:void insertCheckBox() -> insertCheckBox
+ 294:298:void insertIconView() -> insertIconView
+ 301:306:void insertRadioButton() -> insertRadioButton
+ 102:120:void onFinishInflate() -> onFinishInflate
+ 282:291:void onMeasure(int,int) -> onMeasure
+ 318:318:boolean prefersCondensedTitle() -> prefersCondensedTitle
+ 171:213:void setCheckable(boolean) -> setCheckable
+ 219:232:void setChecked(boolean) -> setChecked
+ 150:151:void setForceShowIcon(boolean) -> setForceShowIcon
+ 339:343:void setGroupDividerEnabled(boolean) -> setGroupDividerEnabled
+ 256:278:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 242:252:void setShortcut(boolean,char) -> setShortcut
+ 235:238:void setSubMenuArrowVisible(boolean) -> setSubMenuArrowVisible
+ 155:162:void setTitle(java.lang.CharSequence) -> setTitle
+ 323:323:boolean showsIcon() -> showsIcon
+androidx.appcompat.view.menu.ListMenuPresenter -> androidx.appcompat.view.menu.ListMenuPresenter:
+ 71:74:void <init>(android.content.Context,int) -> <init>
+ 81:84:void <init>(int,int) -> <init>
+ 188:188:boolean collapseItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> collapseItemActionView
+ 183:183:boolean expandItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> expandItemActionView
+ 178:178:boolean flagActionItems() -> flagActionItems
+ 125:128:android.widget.ListAdapter getAdapter() -> getAdapter
+ 212:212:int getId() -> getId
+ 161:161:int getItemIndexOffset() -> getItemIndexOffset
+ 105:114:androidx.appcompat.view.menu.MenuView getMenuView(android.view.ViewGroup) -> getMenuView
+ 88:101:void initForMenu(android.content.Context,androidx.appcompat.view.menu.MenuBuilder) -> initForMenu
+ 155:158:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 173:174:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+ 228:229:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 217:223:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 143:150:boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder) -> onSubMenuSelected
+ 200:204:void restoreHierarchyState(android.os.Bundle) -> restoreHierarchyState
+ 192:197:void saveHierarchyState(android.os.Bundle) -> saveHierarchyState
+ 138:139:void setCallback(androidx.appcompat.view.menu.MenuPresenter$Callback) -> setCallback
+ 207:208:void setId(int) -> setId
+ 165:169:void setItemIndexOffset(int) -> setItemIndexOffset
+ 133:134:void updateMenuView(boolean) -> updateMenuView
+androidx.appcompat.view.menu.ListMenuPresenter$MenuAdapter -> androidx.appcompat.view.menu.ListMenuPresenter$MenuAdapter:
+ 232:236:void <init>(androidx.appcompat.view.menu.ListMenuPresenter) -> <init>
+ 277:290:void findExpandedIndex() -> findExpandedIndex
+ 240:245:int getCount() -> getCount
+ 231:231:java.lang.Object getItem(int) -> getItem
+ 250:255:androidx.appcompat.view.menu.MenuItemImpl getItem(int) -> getItem
+ 262:262:long getItemId(int) -> getItemId
+ 267:273:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 294:296:void notifyDataSetChanged() -> notifyDataSetChanged
+androidx.appcompat.view.menu.MenuAdapter -> androidx.appcompat.view.menu.MenuAdapter:
+ 36:50:void <init>(androidx.appcompat.view.menu.MenuBuilder,android.view.LayoutInflater,boolean,int) -> <init>
+ 114:127:void findExpandedIndex() -> findExpandedIndex
+ 71:71:androidx.appcompat.view.menu.MenuBuilder getAdapterMenu() -> getAdapterMenu
+ 62:67:int getCount() -> getCount
+ 53:53:boolean getForceShowIcon() -> getForceShowIcon
+ 32:32:java.lang.Object getItem(int) -> getItem
+ 76:81:androidx.appcompat.view.menu.MenuItemImpl getItem(int) -> getItem
+ 88:88:long getItemId(int) -> getItemId
+ 93:110:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 131:133:void notifyDataSetChanged() -> notifyDataSetChanged
+ 57:58:void setForceShowIcon(boolean) -> setForceShowIcon
+androidx.appcompat.view.menu.MenuBuilder -> androidx.appcompat.view.menu.MenuBuilder:
+ 68:68:void <clinit>() -> <clinit>
+ 134:236:void <init>(android.content.Context) -> <init>
+ 466:466:android.view.MenuItem add(java.lang.CharSequence) -> add
+ 471:471:android.view.MenuItem add(int) -> add
+ 476:476:android.view.MenuItem add(int,int,int,java.lang.CharSequence) -> add
+ 481:481:android.view.MenuItem add(int,int,int,int) -> add
+ 520:544:int addIntentOptions(int,int,int,android.content.ComponentName,android.content.Intent[],android.content.Intent,int,android.view.MenuItem[]) -> addIntentOptions
+ 441:454:android.view.MenuItem addInternal(int,int,int,java.lang.CharSequence) -> addInternal
+ 250:251:void addMenuPresenter(androidx.appcompat.view.menu.MenuPresenter) -> addMenuPresenter
+ 263:266:void addMenuPresenter(androidx.appcompat.view.menu.MenuPresenter,android.content.Context) -> addMenuPresenter
+ 486:486:android.view.SubMenu addSubMenu(java.lang.CharSequence) -> addSubMenu
+ 491:491:android.view.SubMenu addSubMenu(int) -> addSubMenu
+ 496:500:android.view.SubMenu addSubMenu(int,int,int,java.lang.CharSequence) -> addSubMenu
+ 505:505:android.view.SubMenu addSubMenu(int,int,int,int) -> addSubMenu
+ 841:844:void changeMenuMode() -> changeMenuMode
+ 604:610:void clear() -> clear
+ 592:600:void clearAll() -> clearAll
+ 1213:1218:void clearHeader() -> clearHeader
+ 1030:1042:void close(boolean) -> close
+ 1046:1047:void close() -> close
+ 1373:1391:boolean collapseItemActionView(androidx.appcompat.view.menu.MenuItemImpl) -> collapseItemActionView
+ 460:460:androidx.appcompat.view.menu.MenuItemImpl createNewMenuItem(int,int,int,int,java.lang.CharSequence,int) -> createNewMenuItem
+ 834:834:boolean dispatchMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> dispatchMenuItemSelected
+ 284:296:void dispatchPresenterUpdate(boolean) -> dispatchPresenterUpdate
+ 344:362:void dispatchRestoreInstanceState(android.os.Bundle) -> dispatchRestoreInstanceState
+ 321:341:void dispatchSaveInstanceState(android.os.Bundle) -> dispatchSaveInstanceState
+ 300:317:boolean dispatchSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder,androidx.appcompat.view.menu.MenuPresenter) -> dispatchSubMenuSelected
+ 1351:1369:boolean expandItemActionView(androidx.appcompat.view.menu.MenuItemImpl) -> expandItemActionView
+ 724:724:int findGroupIndex(int) -> findGroupIndex
+ 728:742:int findGroupIndex(int,int) -> findGroupIndex
+ 847:854:int findInsertIndex(java.util.ArrayList,int) -> findInsertIndex
+ 693:707:android.view.MenuItem findItem(int) -> findItem
+ 711:720:int findItemIndex(int) -> findItemIndex
+ 930:965:androidx.appcompat.view.menu.MenuItemImpl findItemWithShortcutForKey(int,android.view.KeyEvent) -> findItemWithShortcutForKey
+ 882:914:void findItemsWithShortcutForKey(java.util.List,int,android.view.KeyEvent) -> findItemsWithShortcutForKey
+ 1163:1200:void flagActionItems() -> flagActionItems
+ 1203:1204:java.util.ArrayList getActionItems() -> getActionItems
+ 430:430:java.lang.String getActionViewStatesKey() -> getActionViewStatesKey
+ 830:830:android.content.Context getContext() -> getContext
+ 1395:1395:androidx.appcompat.view.menu.MenuItemImpl getExpandedItem() -> getExpandedItem
+ 1316:1316:android.graphics.drawable.Drawable getHeaderIcon() -> getHeaderIcon
+ 1312:1312:java.lang.CharSequence getHeaderTitle() -> getHeaderTitle
+ 1320:1320:android.view.View getHeaderView() -> getHeaderView
+ 752:752:android.view.MenuItem getItem(int) -> getItem
+ 1208:1209:java.util.ArrayList getNonActionItems() -> getNonActionItems
+ 1347:1347:boolean getOptionalIconsVisible() -> getOptionalIconsVisible
+ 779:785:int getOrdering(int) -> getOrdering
+ 826:826:android.content.res.Resources getResources() -> getResources
+ 1328:1328:androidx.appcompat.view.menu.MenuBuilder getRootMenu() -> getRootMenu
+ 1118:1133:java.util.ArrayList getVisibleItems() -> getVisibleItems
+ 675:688:boolean hasVisibleItems() -> hasVisibleItems
+ 514:514:boolean isGroupDividerEnabled() -> isGroupDividerEnabled
+ 792:792:boolean isQwertyMode() -> isQwertyMode
+ 757:757:boolean isShortcutKey(int,android.view.KeyEvent) -> isShortcutKey
+ 822:822:boolean isShortcutsVisible() -> isShortcutsVisible
+ 1112:1114:void onItemActionRequestChanged(androidx.appcompat.view.menu.MenuItemImpl) -> onItemActionRequestChanged
+ 1101:1103:void onItemVisibleChanged(androidx.appcompat.view.menu.MenuItemImpl) -> onItemVisibleChanged
+ 1057:1070:void onItemsChanged(boolean) -> onItemsChanged
+ 971:971:boolean performIdentifierAction(int,int) -> performIdentifierAction
+ 975:975:boolean performItemAction(android.view.MenuItem,int) -> performItemAction
+ 979:1018:boolean performItemAction(android.view.MenuItem,androidx.appcompat.view.menu.MenuPresenter,int) -> performItemAction
+ 859:871:boolean performShortcut(int,android.view.KeyEvent,int) -> performShortcut
+ 554:567:void removeGroup(int) -> removeGroup
+ 549:550:void removeItem(int) -> removeItem
+ 588:589:void removeItemAt(int) -> removeItemAt
+ 580:585:void removeItemAtInt(int,boolean) -> removeItemAtInt
+ 275:281:void removeMenuPresenter(androidx.appcompat.view.menu.MenuPresenter) -> removeMenuPresenter
+ 400:427:void restoreActionViewStates(android.os.Bundle) -> restoreActionViewStates
+ 369:370:void restorePresenterStates(android.os.Bundle) -> restorePresenterStates
+ 373:397:void saveActionViewStates(android.os.Bundle) -> saveActionViewStates
+ 365:366:void savePresenterStates(android.os.Bundle) -> savePresenterStates
+ 434:435:void setCallback(androidx.appcompat.view.menu.MenuBuilder$Callback) -> setCallback
+ 1339:1340:void setCurrentMenuInfo(android.view.ContextMenu$ContextMenuInfo) -> setCurrentMenuInfo
+ 239:240:androidx.appcompat.view.menu.MenuBuilder setDefaultShowAsAction(int) -> setDefaultShowAsAction
+ 613:628:void setExclusiveItemChecked(android.view.MenuItem) -> setExclusiveItemChecked
+ 632:641:void setGroupCheckable(int,boolean,boolean) -> setGroupCheckable
+ 510:511:void setGroupDividerEnabled(boolean) -> setGroupDividerEnabled
+ 663:671:void setGroupEnabled(int,boolean) -> setGroupEnabled
+ 645:659:void setGroupVisible(int,boolean) -> setGroupVisible
+ 1283:1284:androidx.appcompat.view.menu.MenuBuilder setHeaderIconInt(android.graphics.drawable.Drawable) -> setHeaderIconInt
+ 1295:1296:androidx.appcompat.view.menu.MenuBuilder setHeaderIconInt(int) -> setHeaderIconInt
+ 1222:1249:void setHeaderInternal(int,java.lang.CharSequence,int,android.graphics.drawable.Drawable,android.view.View) -> setHeaderInternal
+ 1259:1260:androidx.appcompat.view.menu.MenuBuilder setHeaderTitleInt(java.lang.CharSequence) -> setHeaderTitleInt
+ 1271:1272:androidx.appcompat.view.menu.MenuBuilder setHeaderTitleInt(int) -> setHeaderTitleInt
+ 1307:1308:androidx.appcompat.view.menu.MenuBuilder setHeaderViewInt(android.view.View) -> setHeaderViewInt
+ 1343:1344:void setOptionalIconsVisible(boolean) -> setOptionalIconsVisible
+ 1404:1405:void setOverrideVisibleItems(boolean) -> setOverrideVisibleItems
+ 762:765:void setQwertyMode(boolean) -> setQwertyMode
+ 803:809:void setShortcutsVisible(boolean) -> setShortcutsVisible
+ 812:816:void setShortcutsVisibleInner(boolean) -> setShortcutsVisibleInner
+ 747:747:int size() -> size
+ 1086:1092:void startDispatchingItemsChanged() -> startDispatchingItemsChanged
+ 1078:1083:void stopDispatchingItemsChanged() -> stopDispatchingItemsChanged
+androidx.appcompat.view.menu.MenuDialogHelper -> androidx.appcompat.view.menu.MenuDialogHelper:
+ 43:45:void <init>(androidx.appcompat.view.menu.MenuBuilder) -> <init>
+ 140:143:void dismiss() -> dismiss
+ 170:171:void onClick(android.content.DialogInterface,int) -> onClick
+ 152:158:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 147:148:void onDismiss(android.content.DialogInterface) -> onDismiss
+ 95:126:boolean onKey(android.content.DialogInterface,int,android.view.KeyEvent) -> onKey
+ 162:165:boolean onOpenSubMenu(androidx.appcompat.view.menu.MenuBuilder) -> onOpenSubMenu
+ 131:132:void setPresenterCallback(androidx.appcompat.view.menu.MenuPresenter$Callback) -> setPresenterCallback
+ 54:91:void show(android.os.IBinder) -> show
+androidx.appcompat.view.menu.MenuItemImpl -> androidx.appcompat.view.menu.MenuItemImpl:
+ 68:146:void <init>(androidx.appcompat.view.menu.MenuBuilder,int,int,int,int,java.lang.CharSequence,int) -> <init>
+ 691:692:void actionFormatChanged() -> actionFormatChanged
+ 402:405:void appendModifier(java.lang.StringBuilder,int,int,java.lang.String) -> appendModifier
+ 570:585:android.graphics.drawable.Drawable applyIconTintIfNecessary(android.graphics.drawable.Drawable) -> applyIconTintIfNecessary
+ 838:851:boolean collapseActionView() -> collapseActionView
+ 824:833:boolean expandActionView() -> expandActionView
+ 788:788:android.view.ActionProvider getActionProvider() -> getActionProvider
+ 770:776:android.view.View getActionView() -> getActionView
+ 275:275:int getAlphabeticModifiers() -> getAlphabeticModifiers
+ 243:243:char getAlphabeticShortcut() -> getAlphabeticShortcut
+ 233:233:java.lang.Runnable getCallback() -> getCallback
+ 891:891:java.lang.CharSequence getContentDescription() -> getContentDescription
+ 203:203:int getGroupId() -> getGroupId
+ 500:511:android.graphics.drawable.Drawable getIcon() -> getIcon
+ 550:550:android.content.res.ColorStateList getIconTintList() -> getIconTintList
+ 566:566:android.graphics.PorterDuff$Mode getIconTintMode() -> getIconTintMode
+ 223:223:android.content.Intent getIntent() -> getIntent
+ 209:209:int getItemId() -> getItemId
+ 687:687:android.view.ContextMenu$ContextMenuInfo getMenuInfo() -> getMenuInfo
+ 285:285:int getNumericModifiers() -> getNumericModifiers
+ 280:280:char getNumericShortcut() -> getNumericShortcut
+ 214:214:int getOrder() -> getOrder
+ 218:218:int getOrdering() -> getOrdering
+ 342:342:char getShortcut() -> getShortcut
+ 352:398:java.lang.String getShortcutLabel() -> getShortcutLabel
+ 419:419:android.view.SubMenu getSubMenu() -> getSubMenu
+ 794:794:androidx.core.view.ActionProvider getSupportActionProvider() -> getSupportActionProvider
+ 436:436:java.lang.CharSequence getTitle() -> getTitle
+ 471:480:java.lang.CharSequence getTitleCondensed() -> getTitleCondensed
+ 446:448:java.lang.CharSequence getTitleForItemView(androidx.appcompat.view.menu.MenuView$ItemView) -> getTitleForItemView
+ 905:905:java.lang.CharSequence getTooltipText() -> getTooltipText
+ 855:861:boolean hasCollapsibleActionView() -> hasCollapsibleActionView
+ 424:424:boolean hasSubMenu() -> hasSubMenu
+ 154:180:boolean invoke() -> invoke
+ 702:702:boolean isActionButton() -> isActionButton
+ 871:871:boolean isActionViewExpanded() -> isActionViewExpanded
+ 590:590:boolean isCheckable() -> isCheckable
+ 614:614:boolean isChecked() -> isChecked
+ 185:185:boolean isEnabled() -> isEnabled
+ 609:609:boolean isExclusiveCheckable() -> isExclusiveCheckable
+ 640:643:boolean isVisible() -> isVisible
+ 706:706:boolean requestsActionButton() -> requestsActionButton
+ 711:711:boolean requiresActionButton() -> requiresActionButton
+ 716:716:boolean requiresOverflow() -> requiresOverflow
+ 782:782:android.view.MenuItem setActionProvider(android.view.ActionProvider) -> setActionProvider
+ 51:51:android.view.MenuItem setActionView(int) -> setActionView
+ 51:51:android.view.MenuItem setActionView(android.view.View) -> setActionView
+ 751:757:androidx.core.internal.view.SupportMenuItem setActionView(android.view.View) -> setActionView
+ 762:765:androidx.core.internal.view.SupportMenuItem setActionView(int) -> setActionView
+ 865:867:void setActionViewExpanded(boolean) -> setActionViewExpanded
+ 248:256:android.view.MenuItem setAlphabeticShortcut(char) -> setAlphabeticShortcut
+ 261:270:android.view.MenuItem setAlphabeticShortcut(char,int) -> setAlphabeticShortcut
+ 237:238:android.view.MenuItem setCallback(java.lang.Runnable) -> setCallback
+ 595:601:android.view.MenuItem setCheckable(boolean) -> setCheckable
+ 619:627:android.view.MenuItem setChecked(boolean) -> setChecked
+ 631:636:void setCheckedInt(boolean) -> setCheckedInt
+ 51:51:android.view.MenuItem setContentDescription(java.lang.CharSequence) -> setContentDescription
+ 882:886:androidx.core.internal.view.SupportMenuItem setContentDescription(java.lang.CharSequence) -> setContentDescription
+ 190:198:android.view.MenuItem setEnabled(boolean) -> setEnabled
+ 605:606:void setExclusiveCheckable(boolean) -> setExclusiveCheckable
+ 516:521:android.view.MenuItem setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 526:533:android.view.MenuItem setIcon(int) -> setIcon
+ 539:545:android.view.MenuItem setIconTintList(android.content.res.ColorStateList) -> setIconTintList
+ 555:561:android.view.MenuItem setIconTintMode(android.graphics.PorterDuff$Mode) -> setIconTintMode
+ 228:229:android.view.MenuItem setIntent(android.content.Intent) -> setIntent
+ 720:725:void setIsActionButton(boolean) -> setIsActionButton
+ 682:683:void setMenuInfo(android.view.ContextMenu$ContextMenuInfo) -> setMenuInfo
+ 290:298:android.view.MenuItem setNumericShortcut(char) -> setNumericShortcut
+ 303:312:android.view.MenuItem setNumericShortcut(char,int) -> setNumericShortcut
+ 876:877:android.view.MenuItem setOnActionExpandListener(android.view.MenuItem$OnActionExpandListener) -> setOnActionExpandListener
+ 672:673:android.view.MenuItem setOnMenuItemClickListener(android.view.MenuItem$OnMenuItemClickListener) -> setOnMenuItemClickListener
+ 317:322:android.view.MenuItem setShortcut(char,char) -> setShortcut
+ 328:335:android.view.MenuItem setShortcut(char,char,int,int) -> setShortcut
+ 733:747:void setShowAsAction(int) -> setShowAsAction
+ 51:51:android.view.MenuItem setShowAsActionFlags(int) -> setShowAsActionFlags
+ 818:819:androidx.core.internal.view.SupportMenuItem setShowAsActionFlags(int) -> setShowAsActionFlags
+ 428:431:void setSubMenu(androidx.appcompat.view.menu.SubMenuBuilder) -> setSubMenu
+ 799:813:androidx.core.internal.view.SupportMenuItem setSupportActionProvider(androidx.core.view.ActionProvider) -> setSupportActionProvider
+ 453:461:android.view.MenuItem setTitle(java.lang.CharSequence) -> setTitle
+ 466:466:android.view.MenuItem setTitle(int) -> setTitle
+ 486:495:android.view.MenuItem setTitleCondensed(java.lang.CharSequence) -> setTitleCondensed
+ 51:51:android.view.MenuItem setTooltipText(java.lang.CharSequence) -> setTooltipText
+ 896:900:androidx.core.internal.view.SupportMenuItem setTooltipText(java.lang.CharSequence) -> setTooltipText
+ 665:667:android.view.MenuItem setVisible(boolean) -> setVisible
+ 655:657:boolean setVisibleInt(boolean) -> setVisibleInt
+ 698:698:boolean shouldShowIcon() -> shouldShowIcon
+ 414:414:boolean shouldShowShortcut() -> shouldShowShortcut
+ 728:728:boolean showsTextAsAction() -> showsTextAsAction
+ 678:678:java.lang.String toString() -> toString
+androidx.appcompat.view.menu.MenuItemImpl$1 -> androidx.appcompat.view.menu.MenuItemImpl$1:
+ 806:806:void <init>(androidx.appcompat.view.menu.MenuItemImpl) -> <init>
+ 809:810:void onActionProviderVisibilityChanged(boolean) -> onActionProviderVisibilityChanged
+androidx.appcompat.view.menu.MenuItemWrapperICS -> androidx.appcompat.view.menu.MenuItemWrapperICS:
+ 56:61:void <init>(android.content.Context,androidx.core.internal.view.SupportMenuItem) -> <init>
+ 326:326:boolean collapseActionView() -> collapseActionView
+ 321:321:boolean expandActionView() -> expandActionView
+ 312:316:android.view.ActionProvider getActionProvider() -> getActionProvider
+ 291:295:android.view.View getActionView() -> getActionView
+ 188:188:int getAlphabeticModifiers() -> getAlphabeticModifiers
+ 183:183:char getAlphabeticShortcut() -> getAlphabeticShortcut
+ 349:349:java.lang.CharSequence getContentDescription() -> getContentDescription
+ 70:70:int getGroupId() -> getGroupId
+ 120:120:android.graphics.drawable.Drawable getIcon() -> getIcon
+ 371:371:android.content.res.ColorStateList getIconTintList() -> getIconTintList
+ 382:382:android.graphics.PorterDuff$Mode getIconTintMode() -> getIconTintMode
+ 131:131:android.content.Intent getIntent() -> getIntent
+ 65:65:int getItemId() -> getItemId
+ 253:253:android.view.ContextMenu$ContextMenuInfo getMenuInfo() -> getMenuInfo
+ 166:166:int getNumericModifiers() -> getNumericModifiers
+ 161:161:char getNumericShortcut() -> getNumericShortcut
+ 75:75:int getOrder() -> getOrder
+ 241:241:android.view.SubMenu getSubMenu() -> getSubMenu
+ 92:92:java.lang.CharSequence getTitle() -> getTitle
+ 103:103:java.lang.CharSequence getTitleCondensed() -> getTitleCondensed
+ 360:360:java.lang.CharSequence getTooltipText() -> getTooltipText
+ 236:236:boolean hasSubMenu() -> hasSubMenu
+ 331:331:boolean isActionViewExpanded() -> isActionViewExpanded
+ 199:199:boolean isCheckable() -> isCheckable
+ 210:210:boolean isChecked() -> isChecked
+ 231:231:boolean isEnabled() -> isEnabled
+ 220:220:boolean isVisible() -> isVisible
+ 301:307:android.view.MenuItem setActionProvider(android.view.ActionProvider) -> setActionProvider
+ 269:273:android.view.MenuItem setActionView(android.view.View) -> setActionView
+ 279:286:android.view.MenuItem setActionView(int) -> setActionView
+ 171:172:android.view.MenuItem setAlphabeticShortcut(char) -> setAlphabeticShortcut
+ 177:178:android.view.MenuItem setAlphabeticShortcut(char,int) -> setAlphabeticShortcut
+ 193:194:android.view.MenuItem setCheckable(boolean) -> setCheckable
+ 204:205:android.view.MenuItem setChecked(boolean) -> setChecked
+ 343:344:android.view.MenuItem setContentDescription(java.lang.CharSequence) -> setContentDescription
+ 225:226:android.view.MenuItem setEnabled(boolean) -> setEnabled
+ 387:395:void setExclusiveCheckable(boolean) -> setExclusiveCheckable
+ 108:109:android.view.MenuItem setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 114:115:android.view.MenuItem setIcon(int) -> setIcon
+ 365:366:android.view.MenuItem setIconTintList(android.content.res.ColorStateList) -> setIconTintList
+ 376:377:android.view.MenuItem setIconTintMode(android.graphics.PorterDuff$Mode) -> setIconTintMode
+ 125:126:android.view.MenuItem setIntent(android.content.Intent) -> setIntent
+ 149:150:android.view.MenuItem setNumericShortcut(char) -> setNumericShortcut
+ 155:156:android.view.MenuItem setNumericShortcut(char,int) -> setNumericShortcut
+ 336:338:android.view.MenuItem setOnActionExpandListener(android.view.MenuItem$OnActionExpandListener) -> setOnActionExpandListener
+ 246:248:android.view.MenuItem setOnMenuItemClickListener(android.view.MenuItem$OnMenuItemClickListener) -> setOnMenuItemClickListener
+ 136:137:android.view.MenuItem setShortcut(char,char) -> setShortcut
+ 143:144:android.view.MenuItem setShortcut(char,char,int,int) -> setShortcut
+ 258:259:void setShowAsAction(int) -> setShowAsAction
+ 263:264:android.view.MenuItem setShowAsActionFlags(int) -> setShowAsActionFlags
+ 80:81:android.view.MenuItem setTitle(java.lang.CharSequence) -> setTitle
+ 86:87:android.view.MenuItem setTitle(int) -> setTitle
+ 97:98:android.view.MenuItem setTitleCondensed(java.lang.CharSequence) -> setTitleCondensed
+ 354:355:android.view.MenuItem setTooltipText(java.lang.CharSequence) -> setTooltipText
+ 215:215:android.view.MenuItem setVisible(boolean) -> setVisible
+androidx.appcompat.view.menu.MenuItemWrapperICS$ActionProviderWrapper -> androidx.appcompat.view.menu.MenuItemWrapperICS$ActionProviderWrapper:
+ 432:435:void <init>(androidx.appcompat.view.menu.MenuItemWrapperICS,android.content.Context,android.view.ActionProvider) -> <init>
+ 449:449:boolean hasSubMenu() -> hasSubMenu
+ 439:439:android.view.View onCreateActionView() -> onCreateActionView
+ 444:444:boolean onPerformDefaultAction() -> onPerformDefaultAction
+ 454:455:void onPrepareSubMenu(android.view.SubMenu) -> onPrepareSubMenu
+androidx.appcompat.view.menu.MenuItemWrapperICS$ActionProviderWrapperJB -> androidx.appcompat.view.menu.MenuItemWrapperICS$ActionProviderWrapperJB:
+ 463:465:void <init>(androidx.appcompat.view.menu.MenuItemWrapperICS,android.content.Context,android.view.ActionProvider) -> <init>
+ 479:479:boolean isVisible() -> isVisible
+ 495:498:void onActionProviderVisibilityChanged(boolean) -> onActionProviderVisibilityChanged
+ 469:469:android.view.View onCreateActionView(android.view.MenuItem) -> onCreateActionView
+ 474:474:boolean overridesItemVisibility() -> overridesItemVisibility
+ 484:485:void refreshVisibility() -> refreshVisibility
+ 489:491:void setVisibilityListener(androidx.core.view.ActionProvider$VisibilityListener) -> setVisibilityListener
+androidx.appcompat.view.menu.MenuItemWrapperICS$CollapsibleActionViewWrapper -> androidx.appcompat.view.menu.MenuItemWrapperICS$CollapsibleActionViewWrapper:
+ 512:515:void <init>(android.view.View) -> <init>
+ 528:528:android.view.View getWrappedView() -> getWrappedView
+ 524:525:void onActionViewCollapsed() -> onActionViewCollapsed
+ 519:520:void onActionViewExpanded() -> onActionViewExpanded
+androidx.appcompat.view.menu.MenuItemWrapperICS$OnActionExpandListenerWrapper -> androidx.appcompat.view.menu.MenuItemWrapperICS$OnActionExpandListenerWrapper:
+ 414:416:void <init>(androidx.appcompat.view.menu.MenuItemWrapperICS,android.view.MenuItem$OnActionExpandListener) -> <init>
+ 425:425:boolean onMenuItemActionCollapse(android.view.MenuItem) -> onMenuItemActionCollapse
+ 420:420:boolean onMenuItemActionExpand(android.view.MenuItem) -> onMenuItemActionExpand
+androidx.appcompat.view.menu.MenuItemWrapperICS$OnMenuItemClickListenerWrapper -> androidx.appcompat.view.menu.MenuItemWrapperICS$OnMenuItemClickListenerWrapper:
+ 401:403:void <init>(androidx.appcompat.view.menu.MenuItemWrapperICS,android.view.MenuItem$OnMenuItemClickListener) -> <init>
+ 407:407:boolean onMenuItemClick(android.view.MenuItem) -> onMenuItemClick
+androidx.appcompat.view.menu.MenuPopup -> androidx.appcompat.view.menu.MenuPopup:
+ 39:39:void <init>() -> <init>
+ 217:217:boolean closeMenuOnSubMenuOpened() -> closeMenuOnSubMenuOpened
+ 113:113:boolean collapseItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> collapseItemActionView
+ 108:108:boolean expandItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> expandItemActionView
+ 78:78:android.graphics.Rect getEpicenterBounds() -> getEpicenterBounds
+ 118:118:int getId() -> getId
+ 103:103:androidx.appcompat.view.menu.MenuView getMenuView(android.view.ViewGroup) -> getMenuView
+ 99:99:void initForMenu(android.content.Context,androidx.appcompat.view.menu.MenuBuilder) -> initForMenu
+ 143:172:int measureIndividualMenuWidth(android.widget.ListAdapter,android.view.ViewGroup,android.content.Context,int) -> measureIndividualMenuWidth
+ 123:132:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+ 71:72:void setEpicenterBounds(android.graphics.Rect) -> setEpicenterBounds
+ 202:213:boolean shouldPreserveIconSpacing(androidx.appcompat.view.menu.MenuBuilder) -> shouldPreserveIconSpacing
+ 184:187:androidx.appcompat.view.menu.MenuAdapter toMenuAdapter(android.widget.ListAdapter) -> toMenuAdapter
+androidx.appcompat.view.menu.MenuPopupHelper -> androidx.appcompat.view.menu.MenuPopupHelper:
+ 69:70:void <init>(android.content.Context,androidx.appcompat.view.menu.MenuBuilder) -> <init>
+ 74:75:void <init>(android.content.Context,androidx.appcompat.view.menu.MenuBuilder,android.view.View) -> <init>
+ 80:81:void <init>(android.content.Context,androidx.appcompat.view.menu.MenuBuilder,android.view.View,boolean,int) -> <init>
+ 61:340:void <init>(android.content.Context,androidx.appcompat.view.menu.MenuBuilder,android.view.View,boolean,int,int) -> <init>
+ 230:265:androidx.appcompat.view.menu.MenuPopup createPopup() -> createPopup
+ 304:307:void dismiss() -> dismiss
+ 140:140:int getGravity() -> getGravity
+ 351:351:android.widget.ListView getListView() -> getListView
+ 161:164:androidx.appcompat.view.menu.MenuPopup getPopup() -> getPopup
+ 326:326:boolean isShowing() -> isShowing
+ 318:323:void onDismiss() -> onDismiss
+ 106:107:void setAnchorView(android.view.View) -> setAnchorView
+ 119:123:void setForceShowIcon(boolean) -> setForceShowIcon
+ 133:134:void setGravity(int) -> setGravity
+ 95:96:void setOnDismissListener(android.widget.PopupWindow$OnDismissListener) -> setOnDismissListener
+ 331:335:void setPresenterCallback(androidx.appcompat.view.menu.MenuPresenter$Callback) -> setPresenterCallback
+ 144:147:void show() -> show
+ 150:153:void show(int,int) -> show
+ 269:297:void showPopup(int,int,boolean,boolean) -> showPopup
+ 174:183:boolean tryShow() -> tryShow
+ 210:219:boolean tryShow(int,int) -> tryShow
+androidx.appcompat.view.menu.MenuPopupHelper$1 -> androidx.appcompat.view.menu.MenuPopupHelper$1:
+ 340:340:void <init>(androidx.appcompat.view.menu.MenuPopupHelper) -> <init>
+ 343:344:void onDismiss() -> onDismiss
+androidx.appcompat.view.menu.MenuWrapperICS -> androidx.appcompat.view.menu.MenuWrapperICS:
+ 41:46:void <init>(android.content.Context,androidx.core.internal.view.SupportMenu) -> <init>
+ 50:50:android.view.MenuItem add(java.lang.CharSequence) -> add
+ 55:55:android.view.MenuItem add(int) -> add
+ 60:60:android.view.MenuItem add(int,int,int,java.lang.CharSequence) -> add
+ 65:65:android.view.MenuItem add(int,int,int,int) -> add
+ 92:106:int addIntentOptions(int,int,int,android.content.ComponentName,android.content.Intent[],android.content.Intent,int,android.view.MenuItem[]) -> addIntentOptions
+ 70:70:android.view.SubMenu addSubMenu(java.lang.CharSequence) -> addSubMenu
+ 75:75:android.view.SubMenu addSubMenu(int) -> addSubMenu
+ 80:80:android.view.SubMenu addSubMenu(int,int,int,java.lang.CharSequence) -> addSubMenu
+ 85:86:android.view.SubMenu addSubMenu(int,int,int,int) -> addSubMenu
+ 123:125:void clear() -> clear
+ 164:165:void close() -> close
+ 149:149:android.view.MenuItem findItem(int) -> findItem
+ 159:159:android.view.MenuItem getItem(int) -> getItem
+ 144:144:boolean hasVisibleItems() -> hasVisibleItems
+ 174:174:boolean isShortcutKey(int,android.view.KeyEvent) -> isShortcutKey
+ 179:179:boolean performIdentifierAction(int,int) -> performIdentifierAction
+ 169:169:boolean performShortcut(int,android.view.KeyEvent,int) -> performShortcut
+ 117:119:void removeGroup(int) -> removeGroup
+ 111:113:void removeItem(int) -> removeItem
+ 129:130:void setGroupCheckable(int,boolean,boolean) -> setGroupCheckable
+ 139:140:void setGroupEnabled(int,boolean) -> setGroupEnabled
+ 134:135:void setGroupVisible(int,boolean) -> setGroupVisible
+ 184:185:void setQwertyMode(boolean) -> setQwertyMode
+ 154:154:int size() -> size
+androidx.appcompat.view.menu.StandardMenuPopup -> androidx.appcompat.view.menu.StandardMenuPopup:
+ 46:46:void <clinit>() -> <clinit>
+ 60:136:void <init>(android.content.Context,androidx.appcompat.view.menu.MenuBuilder,android.view.View,int,int,boolean) -> <init>
+ 223:223:void addMenu(androidx.appcompat.view.menu.MenuBuilder) -> addMenu
+ 215:218:void dismiss() -> dismiss
+ 311:311:boolean flagActionItems() -> flagActionItems
+ 344:344:android.widget.ListView getListView() -> getListView
+ 227:227:boolean isShowing() -> isShowing
+ 301:307:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 232:245:void onDismiss() -> onDismiss
+ 330:334:boolean onKey(android.view.View,int,android.view.KeyEvent) -> onKey
+ 321:321:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 316:316:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 263:295:boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder) -> onSubMenuSelected
+ 325:326:void setAnchorView(android.view.View) -> setAnchorView
+ 258:259:void setCallback(androidx.appcompat.view.menu.MenuPresenter$Callback) -> setCallback
+ 140:141:void setForceShowIcon(boolean) -> setForceShowIcon
+ 145:146:void setGravity(int) -> setGravity
+ 350:351:void setHorizontalOffset(int) -> setHorizontalOffset
+ 339:340:void setOnDismissListener(android.widget.PopupWindow$OnDismissListener) -> setOnDismissListener
+ 360:361:void setShowTitle(boolean) -> setShowTitle
+ 355:356:void setVerticalOffset(int) -> setVerticalOffset
+ 208:211:void show() -> show
+ 149:203:boolean tryShow() -> tryShow
+ 249:254:void updateMenuView(boolean) -> updateMenuView
+androidx.appcompat.view.menu.StandardMenuPopup$1 -> androidx.appcompat.view.menu.StandardMenuPopup$1:
+ 61:61:void <init>(androidx.appcompat.view.menu.StandardMenuPopup) -> <init>
+ 67:76:void onGlobalLayout() -> onGlobalLayout
+androidx.appcompat.view.menu.StandardMenuPopup$2 -> androidx.appcompat.view.menu.StandardMenuPopup$2:
+ 80:80:void <init>(androidx.appcompat.view.menu.StandardMenuPopup) -> <init>
+ 83:83:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 87:92:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+androidx.appcompat.view.menu.SubMenuBuilder -> androidx.appcompat.view.menu.SubMenuBuilder:
+ 43:47:void <init>(android.content.Context,androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> <init>
+ 138:138:boolean collapseItemActionView(androidx.appcompat.view.menu.MenuItemImpl) -> collapseItemActionView
+ 90:91:boolean dispatchMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> dispatchMenuItemSelected
+ 133:133:boolean expandItemActionView(androidx.appcompat.view.menu.MenuItemImpl) -> expandItemActionView
+ 143:147:java.lang.String getActionViewStatesKey() -> getActionViewStatesKey
+ 75:75:android.view.MenuItem getItem() -> getItem
+ 70:70:android.view.Menu getParentMenu() -> getParentMenu
+ 85:85:androidx.appcompat.view.menu.MenuBuilder getRootMenu() -> getRootMenu
+ 157:157:boolean isGroupDividerEnabled() -> isGroupDividerEnabled
+ 56:56:boolean isQwertyMode() -> isQwertyMode
+ 66:66:boolean isShortcutsVisible() -> isShortcutsVisible
+ 80:81:void setCallback(androidx.appcompat.view.menu.MenuBuilder$Callback) -> setCallback
+ 152:153:void setGroupDividerEnabled(boolean) -> setGroupDividerEnabled
+ 108:108:android.view.SubMenu setHeaderIcon(android.graphics.drawable.Drawable) -> setHeaderIcon
+ 113:113:android.view.SubMenu setHeaderIcon(int) -> setHeaderIcon
+ 118:118:android.view.SubMenu setHeaderTitle(java.lang.CharSequence) -> setHeaderTitle
+ 123:123:android.view.SubMenu setHeaderTitle(int) -> setHeaderTitle
+ 128:128:android.view.SubMenu setHeaderView(android.view.View) -> setHeaderView
+ 96:97:android.view.SubMenu setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 102:103:android.view.SubMenu setIcon(int) -> setIcon
+ 51:52:void setQwertyMode(boolean) -> setQwertyMode
+ 61:62:void setShortcutsVisible(boolean) -> setShortcutsVisible
+androidx.appcompat.view.menu.SubMenuWrapperICS -> androidx.appcompat.view.menu.SubMenuWrapperICS:
+ 39:41:void <init>(android.content.Context,androidx.core.internal.view.SupportSubMenu) -> <init>
+ 75:76:void clearHeader() -> clearHeader
+ 92:92:android.view.MenuItem getItem() -> getItem
+ 57:58:android.view.SubMenu setHeaderIcon(int) -> setHeaderIcon
+ 63:64:android.view.SubMenu setHeaderIcon(android.graphics.drawable.Drawable) -> setHeaderIcon
+ 45:46:android.view.SubMenu setHeaderTitle(int) -> setHeaderTitle
+ 51:52:android.view.SubMenu setHeaderTitle(java.lang.CharSequence) -> setHeaderTitle
+ 69:70:android.view.SubMenu setHeaderView(android.view.View) -> setHeaderView
+ 80:81:android.view.SubMenu setIcon(int) -> setIcon
+ 86:87:android.view.SubMenu setIcon(android.graphics.drawable.Drawable) -> setIcon
+androidx.appcompat.widget.AbsActionBarView -> androidx.appcompat.widget.AbsActionBarView:
+ 54:55:void <init>(android.content.Context) -> <init>
+ 58:59:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 39:71:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 36:36:void access$001(androidx.appcompat.widget.AbsActionBarView,int) -> access$001
+ 36:36:void access$101(androidx.appcompat.widget.AbsActionBarView,int) -> access$101
+ 181:183:void animateToVisibility(int) -> animateToVisibility
+ 237:237:boolean canShowOverflowMenu() -> canShowOverflowMenu
+ 241:244:void dismissPopupMenus() -> dismissPopupMenus
+ 153:156:int getAnimatedVisibility() -> getAnimatedVisibility
+ 146:146:int getContentHeight() -> getContentHeight
+ 212:215:boolean hideOverflowMenu() -> hideOverflowMenu
+ 226:229:boolean isOverflowMenuShowPending() -> isOverflowMenuShowPending
+ 219:222:boolean isOverflowMenuShowing() -> isOverflowMenuShowing
+ 233:233:boolean isOverflowReserved() -> isOverflowReserved
+ 248:254:int measureChildView(android.view.View,int,int,int) -> measureChildView
+ 258:258:int next(int,int,boolean) -> next
+ 75:87:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 120:137:boolean onHoverEvent(android.view.MotionEvent) -> onHoverEvent
+ 96:112:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 262:272:int positionChild(android.view.View,int,int,int,boolean) -> positionChild
+ 203:209:void postShowOverflowMenu() -> postShowOverflowMenu
+ 141:143:void setContentHeight(int) -> setContentHeight
+ 187:193:void setVisibility(int) -> setVisibility
+ 160:176:androidx.core.view.ViewPropertyAnimatorCompat setupAnimatorToVisibility(int,long) -> setupAnimatorToVisibility
+ 196:199:boolean showOverflowMenu() -> showOverflowMenu
+androidx.appcompat.widget.AbsActionBarView$1 -> androidx.appcompat.widget.AbsActionBarView$1:
+ 203:203:void <init>(androidx.appcompat.widget.AbsActionBarView) -> <init>
+ 206:207:void run() -> run
+androidx.appcompat.widget.AbsActionBarView$VisibilityAnimListener -> androidx.appcompat.widget.AbsActionBarView$VisibilityAnimListener:
+ 275:276:void <init>(androidx.appcompat.widget.AbsActionBarView) -> <init>
+ 302:303:void onAnimationCancel(android.view.View) -> onAnimationCancel
+ 294:298:void onAnimationEnd(android.view.View) -> onAnimationEnd
+ 288:290:void onAnimationStart(android.view.View) -> onAnimationStart
+ 281:283:androidx.appcompat.widget.AbsActionBarView$VisibilityAnimListener withFinalVisibility(androidx.core.view.ViewPropertyAnimatorCompat,int) -> withFinalVisibility
+androidx.appcompat.widget.ActionBarBackgroundDrawable -> androidx.appcompat.widget.ActionBarBackgroundDrawable:
+ 32:34:void <init>(androidx.appcompat.widget.ActionBarContainer) -> <init>
+ 38:50:void draw(android.graphics.Canvas) -> draw
+ 62:62:int getOpacity() -> getOpacity
+ 68:78:void getOutline(android.graphics.Outline) -> getOutline
+ 54:54:void setAlpha(int) -> setAlpha
+ 58:58:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+androidx.appcompat.widget.ActionBarContainer -> androidx.appcompat.widget.ActionBarContainer:
+ 55:56:void <init>(android.content.Context) -> <init>
+ 59:80:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 168:178:void drawableStateChanged() -> drawableStateChanged
+ 267:268:int getMeasuredHeightWithMargins(android.view.View) -> getMeasuredHeightWithMargins
+ 243:243:android.view.View getTabContainer() -> getTabContainer
+ 263:263:boolean isCollapsed(android.view.View) -> isCollapsed
+ 182:192:void jumpDrawablesToCurrentState() -> jumpDrawablesToCurrentState
+ 84:87:void onFinishInflate() -> onFinishInflate
+ 222:225:boolean onHoverEvent(android.view.MotionEvent) -> onHoverEvent
+ 209:209:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 303:347:void onLayout(boolean,int,int,int,int) -> onLayout
+ 273:299:void onMeasure(int,int) -> onMeasure
+ 214:217:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 90:108:void setPrimaryBackground(android.graphics.drawable.Drawable) -> setPrimaryBackground
+ 132:149:void setSplitBackground(android.graphics.drawable.Drawable) -> setSplitBackground
+ 111:129:void setStackedBackground(android.graphics.drawable.Drawable) -> setStackedBackground
+ 229:240:void setTabContainer(androidx.appcompat.widget.ScrollingTabContainerView) -> setTabContainer
+ 202:205:void setTransitioning(boolean) -> setTransitioning
+ 153:158:void setVisibility(int) -> setVisibility
+ 250:250:android.view.ActionMode startActionModeForChild(android.view.View,android.view.ActionMode$Callback) -> startActionModeForChild
+ 256:259:android.view.ActionMode startActionModeForChild(android.view.View,android.view.ActionMode$Callback,int) -> startActionModeForChild
+ 162:163:boolean verifyDrawable(android.graphics.drawable.Drawable) -> verifyDrawable
+androidx.appcompat.widget.ActionBarContextView -> androidx.appcompat.widget.ActionBarContextView:
+ 59:60:void <init>(android.content.Context) -> <init>
+ 63:64:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 68:86:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 42:42:void animateToVisibility(int) -> animateToVisibility
+ 42:42:boolean canShowOverflowMenu() -> canShowOverflowMenu
+ 195:199:void closeMode() -> closeMode
+ 42:42:void dismissPopupMenus() -> dismissPopupMenus
+ 239:239:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 244:244:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 42:42:int getAnimatedVisibility() -> getAnimatedVisibility
+ 42:42:int getContentHeight() -> getContentHeight
+ 132:132:java.lang.CharSequence getSubtitle() -> getSubtitle
+ 128:128:java.lang.CharSequence getTitle() -> getTitle
+ 221:224:boolean hideOverflowMenu() -> hideOverflowMenu
+ 163:192:void initForMode(androidx.appcompat.view.ActionMode) -> initForMode
+ 136:160:void initTitle() -> initTitle
+ 42:42:boolean isOverflowMenuShowPending() -> isOverflowMenuShowPending
+ 229:232:boolean isOverflowMenuShowing() -> isOverflowMenuShowing
+ 42:42:boolean isOverflowReserved() -> isOverflowReserved
+ 384:384:boolean isTitleOptional() -> isTitleOptional
+ 202:209:void killMode() -> killMode
+ 90:95:void onDetachedFromWindow() -> onDetachedFromWindow
+ 42:42:boolean onHoverEvent(android.view.MotionEvent) -> onHoverEvent
+ 365:374:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 329:356:void onLayout(boolean,int,int,int,int) -> onLayout
+ 249:325:void onMeasure(int,int) -> onMeasure
+ 42:42:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 42:42:void postShowOverflowMenu() -> postShowOverflowMenu
+ 99:100:void setContentHeight(int) -> setContentHeight
+ 103:115:void setCustomView(android.view.View) -> setCustomView
+ 123:125:void setSubtitle(java.lang.CharSequence) -> setSubtitle
+ 118:120:void setTitle(java.lang.CharSequence) -> setTitle
+ 377:381:void setTitleOptional(boolean) -> setTitleOptional
+ 42:42:void setVisibility(int) -> setVisibility
+ 42:42:androidx.core.view.ViewPropertyAnimatorCompat setupAnimatorToVisibility(int,long) -> setupAnimatorToVisibility
+ 360:360:boolean shouldDelayChildPressedState() -> shouldDelayChildPressedState
+ 213:216:boolean showOverflowMenu() -> showOverflowMenu
+androidx.appcompat.widget.ActionBarContextView$1 -> androidx.appcompat.widget.ActionBarContextView$1:
+ 172:172:void <init>(androidx.appcompat.widget.ActionBarContextView,androidx.appcompat.view.ActionMode) -> <init>
+ 175:176:void onClick(android.view.View) -> onClick
+androidx.appcompat.widget.ActionBarOverlayLayout -> androidx.appcompat.widget.ActionBarOverlayLayout:
+ 147:147:void <clinit>() -> <clinit>
+ 155:156:void <init>(android.content.Context) -> <init>
+ 71:163:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 741:743:void addActionBarHideOffset() -> addActionBarHideOffset
+ 287:305:boolean applyInsets(android.view.View,android.graphics.Rect,boolean,boolean,boolean,boolean) -> applyInsets
+ 822:823:boolean canShowOverflowMenu() -> canShowOverflowMenu
+ 404:404:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 876:878:void dismissPopups() -> dismissPopups
+ 543:552:void draw(android.graphics.Canvas) -> draw
+ 311:313:boolean fitSystemWindows(android.graphics.Rect) -> fitSystemWindows
+ 63:63:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 389:389:androidx.appcompat.widget.ActionBarOverlayLayout$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 63:63:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 394:394:androidx.appcompat.widget.ActionBarOverlayLayout$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 399:399:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 707:707:int getActionBarHideOffset() -> getActionBarHideOffset
+ 682:688:androidx.appcompat.widget.DecorToolbar getDecorToolbar(android.view.View) -> getDecorToolbar
+ 670:670:int getNestedScrollAxes() -> getNestedScrollAxes
+ 765:766:java.lang.CharSequence getTitle() -> getTitle
+ 718:723:void haltActionBarHideOffsetAnimations() -> haltActionBarHideOffsetAnimations
+ 792:793:boolean hasIcon() -> hasIcon
+ 798:799:boolean hasLogo() -> hasLogo
+ 846:847:boolean hideOverflowMenu() -> hideOverflowMenu
+ 166:176:void init(android.content.Context) -> init
+ 771:783:void initFeature(int) -> initFeature
+ 703:703:boolean isHideOnContentScrollEnabled() -> isHideOnContentScrollEnabled
+ 211:211:boolean isInOverlayMode() -> isInOverlayMode
+ 834:835:boolean isOverflowMenuShowPending() -> isOverflowMenuShowPending
+ 828:829:boolean isOverflowMenuShowing() -> isOverflowMenuShowing
+ 347:384:android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets) -> onApplyWindowInsets
+ 241:244:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 180:182:void onDetachedFromWindow() -> onDetachedFromWindow
+ 520:539:void onLayout(boolean,int,int,int,int) -> onLayout
+ 410:516:void onMeasure(int,int) -> onMeasure
+ 646:655:boolean onNestedFling(android.view.View,float,float,boolean) -> onNestedFling
+ 665:665:boolean onNestedPreFling(android.view.View,float,float) -> onNestedPreFling
+ 598:601:void onNestedPreScroll(android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 661:661:void onNestedPreScroll(android.view.View,int,int,int[]) -> onNestedPreScroll
+ 564:565:void onNestedScroll(android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 591:594:void onNestedScroll(android.view.View,int,int,int,int,int) -> onNestedScroll
+ 626:628:void onNestedScroll(android.view.View,int,int,int,int) -> onNestedScroll
+ 576:579:void onNestedScrollAccepted(android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 615:621:void onNestedScrollAccepted(android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 571:571:boolean onStartNestedScroll(android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 607:610:boolean onStartNestedScroll(android.view.View,android.view.View,int) -> onStartNestedScroll
+ 583:586:void onStopNestedScroll(android.view.View,int) -> onStopNestedScroll
+ 632:642:void onStopNestedScroll(android.view.View) -> onStopNestedScroll
+ 253:274:void onWindowSystemUiVisibilityChanged(int) -> onWindowSystemUiVisibilityChanged
+ 278:283:void onWindowVisibilityChanged(int) -> onWindowVisibilityChanged
+ 731:733:void postAddActionBarHideOffset() -> postAddActionBarHideOffset
+ 726:728:void postRemoveActionBarHideOffset() -> postRemoveActionBarHideOffset
+ 674:679:void pullChildren() -> pullChildren
+ 736:738:void removeActionBarHideOffset() -> removeActionBarHideOffset
+ 870:872:void restoreToolbarHierarchyState(android.util.SparseArray) -> restoreToolbarHierarchyState
+ 864:866:void saveToolbarHierarchyState(android.util.SparseArray) -> saveToolbarHierarchyState
+ 711:715:void setActionBarHideOffset(int) -> setActionBarHideOffset
+ 185:196:void setActionBarVisibilityCallback(androidx.appcompat.widget.ActionBarOverlayLayout$ActionBarVisibilityCallback) -> setActionBarVisibilityCallback
+ 215:216:void setHasNonEmbeddedTabs(boolean) -> setHasNonEmbeddedTabs
+ 693:700:void setHideOnContentScrollEnabled(boolean) -> setHideOnContentScrollEnabled
+ 804:806:void setIcon(int) -> setIcon
+ 810:812:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 816:818:void setLogo(int) -> setLogo
+ 858:860:void setMenu(android.view.Menu,androidx.appcompat.view.menu.MenuPresenter$Callback) -> setMenu
+ 852:854:void setMenuPrepared() -> setMenuPrepared
+ 199:208:void setOverlayMode(boolean) -> setOverlayMode
+ 237:237:void setShowingForActionMode(boolean) -> setShowingForActionMode
+ 788:788:void setUiOptions(int) -> setUiOptions
+ 753:755:void setWindowCallback(android.view.Window$Callback) -> setWindowCallback
+ 759:761:void setWindowTitle(java.lang.CharSequence) -> setWindowTitle
+ 556:556:boolean shouldDelayChildPressedState() -> shouldDelayChildPressedState
+ 746:748:boolean shouldHideActionBarOnFling(float) -> shouldHideActionBarOnFling
+ 840:841:boolean showOverflowMenu() -> showOverflowMenu
+androidx.appcompat.widget.ActionBarOverlayLayout$1 -> androidx.appcompat.widget.ActionBarOverlayLayout$1:
+ 114:114:void <init>(androidx.appcompat.widget.ActionBarOverlayLayout) -> <init>
+ 123:125:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 117:119:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.appcompat.widget.ActionBarOverlayLayout$2 -> androidx.appcompat.widget.ActionBarOverlayLayout$2:
+ 128:128:void <init>(androidx.appcompat.widget.ActionBarOverlayLayout) -> <init>
+ 131:134:void run() -> run
+androidx.appcompat.widget.ActionBarOverlayLayout$3 -> androidx.appcompat.widget.ActionBarOverlayLayout$3:
+ 137:137:void <init>(androidx.appcompat.widget.ActionBarOverlayLayout) -> <init>
+ 140:144:void run() -> run
+androidx.appcompat.widget.ActionBarOverlayLayout$LayoutParams -> androidx.appcompat.widget.ActionBarOverlayLayout$LayoutParams:
+ 882:883:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 886:887:void <init>(int,int) -> <init>
+ 890:891:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 894:895:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+androidx.appcompat.widget.ActionMenuPresenter -> androidx.appcompat.widget.ActionMenuPresenter:
+ 75:88:void <init>(android.content.Context) -> <init>
+ 54:54:androidx.appcompat.view.menu.MenuBuilder access$000(androidx.appcompat.widget.ActionMenuPresenter) -> access$000
+ 54:54:androidx.appcompat.view.menu.MenuBuilder access$100(androidx.appcompat.widget.ActionMenuPresenter) -> access$100
+ 54:54:androidx.appcompat.view.menu.MenuView access$200(androidx.appcompat.widget.ActionMenuPresenter) -> access$200
+ 54:54:androidx.appcompat.view.menu.MenuBuilder access$300(androidx.appcompat.widget.ActionMenuPresenter) -> access$300
+ 54:54:androidx.appcompat.view.menu.MenuBuilder access$400(androidx.appcompat.widget.ActionMenuPresenter) -> access$400
+ 54:54:androidx.appcompat.view.menu.MenuBuilder access$500(androidx.appcompat.widget.ActionMenuPresenter) -> access$500
+ 54:54:androidx.appcompat.view.menu.MenuView access$600(androidx.appcompat.widget.ActionMenuPresenter) -> access$600
+ 207:217:void bindItemView(androidx.appcompat.view.menu.MenuItemImpl,androidx.appcompat.view.menu.MenuView$ItemView) -> bindItemView
+ 373:375:boolean dismissPopupMenus() -> dismissPopupMenus
+ 275:276:boolean filterLeftoverView(android.view.ViewGroup,int) -> filterLeftoverView
+ 317:328:android.view.View findViewForItem(android.view.MenuItem) -> findViewForItem
+ 413:543:boolean flagActionItems() -> flagActionItems
+ 191:202:android.view.View getItemView(androidx.appcompat.view.menu.MenuItemImpl,android.view.View,android.view.ViewGroup) -> getItemView
+ 181:186:androidx.appcompat.view.menu.MenuView getMenuView(android.view.ViewGroup) -> getMenuView
+ 171:176:android.graphics.drawable.Drawable getOverflowIcon() -> getOverflowIcon
+ 354:365:boolean hideOverflowMenu() -> hideOverflowMenu
+ 384:388:boolean hideSubMenus() -> hideSubMenus
+ 92:130:void initForMenu(android.content.Context,androidx.appcompat.view.menu.MenuBuilder) -> initForMenu
+ 399:399:boolean isOverflowMenuShowPending() -> isOverflowMenuShowPending
+ 395:395:boolean isOverflowMenuShowing() -> isOverflowMenuShowing
+ 406:406:boolean isOverflowReserved() -> isOverflowReserved
+ 548:550:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 133:139:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 561:573:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 554:556:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 281:313:boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder) -> onSubMenuSelected
+ 577:583:void onSubUiVisibilityChanged(boolean) -> onSubUiVisibilityChanged
+ 158:159:void setExpandedActionViewsExclusive(boolean) -> setExpandedActionViewsExclusive
+ 153:155:void setItemLimit(int) -> setItemLimit
+ 586:588:void setMenuView(androidx.appcompat.widget.ActionMenuView) -> setMenuView
+ 162:168:void setOverflowIcon(android.graphics.drawable.Drawable) -> setOverflowIcon
+ 148:150:void setReserveOverflow(boolean) -> setReserveOverflow
+ 142:145:void setWidthLimit(int,boolean) -> setWidthLimit
+ 221:221:boolean shouldIncludeItem(int,androidx.appcompat.view.menu.MenuItemImpl) -> shouldIncludeItem
+ 336:345:boolean showOverflowMenu() -> showOverflowMenu
+ 226:271:void updateMenuView(boolean) -> updateMenuView
+androidx.appcompat.widget.ActionMenuPresenter$ActionButtonSubmenu -> androidx.appcompat.widget.ActionMenuPresenter$ActionButtonSubmenu:
+ 733:743:void <init>(androidx.appcompat.widget.ActionMenuPresenter,android.content.Context,androidx.appcompat.view.menu.SubMenuBuilder,android.view.View) -> <init>
+ 747:751:void onDismiss() -> onDismiss
+androidx.appcompat.widget.ActionMenuPresenter$ActionMenuPopupCallback -> androidx.appcompat.widget.ActionMenuPresenter$ActionMenuPopupCallback:
+ 800:801:void <init>(androidx.appcompat.widget.ActionMenuPresenter) -> <init>
+ 805:805:androidx.appcompat.view.menu.ShowableListMenu getPopup() -> getPopup
+androidx.appcompat.widget.ActionMenuPresenter$OpenOverflowRunnable -> androidx.appcompat.widget.ActionMenuPresenter$OpenOverflowRunnable:
+ 782:784:void <init>(androidx.appcompat.widget.ActionMenuPresenter,androidx.appcompat.widget.ActionMenuPresenter$OverflowPopup) -> <init>
+ 788:796:void run() -> run
+androidx.appcompat.widget.ActionMenuPresenter$OverflowMenuButton -> androidx.appcompat.widget.ActionMenuPresenter$OverflowMenuButton:
+ 628:667:void <init>(androidx.appcompat.widget.ActionMenuPresenter,android.content.Context) -> <init>
+ 687:687:boolean needsDividerAfter() -> needsDividerAfter
+ 682:682:boolean needsDividerBefore() -> needsDividerBefore
+ 671:677:boolean performClick() -> performClick
+ 692:709:boolean setFrame(int,int,int,int) -> setFrame
+androidx.appcompat.widget.ActionMenuPresenter$OverflowMenuButton$1 -> androidx.appcompat.widget.ActionMenuPresenter$OverflowMenuButton$1:
+ 638:638:void <init>(androidx.appcompat.widget.ActionMenuPresenter$OverflowMenuButton,android.view.View,androidx.appcompat.widget.ActionMenuPresenter) -> <init>
+ 641:645:androidx.appcompat.view.menu.ShowableListMenu getPopup() -> getPopup
+ 650:651:boolean onForwardingStarted() -> onForwardingStarted
+ 659:664:boolean onForwardingStopped() -> onForwardingStopped
+androidx.appcompat.widget.ActionMenuPresenter$OverflowPopup -> androidx.appcompat.widget.ActionMenuPresenter$OverflowPopup:
+ 715:719:void <init>(androidx.appcompat.widget.ActionMenuPresenter,android.content.Context,androidx.appcompat.view.menu.MenuBuilder,android.view.View,boolean) -> <init>
+ 723:729:void onDismiss() -> onDismiss
+androidx.appcompat.widget.ActionMenuPresenter$PopupPresenterCallback -> androidx.appcompat.widget.ActionMenuPresenter$PopupPresenterCallback:
+ 755:756:void <init>(androidx.appcompat.widget.ActionMenuPresenter) -> <init>
+ 769:776:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 760:764:boolean onOpenSubMenu(androidx.appcompat.view.menu.MenuBuilder) -> onOpenSubMenu
+androidx.appcompat.widget.ActionMenuPresenter$SavedState -> androidx.appcompat.widget.ActionMenuPresenter$SavedState:
+ 611:611:void <clinit>() -> <clinit>
+ 594:595:void <init>() -> <init>
+ 597:599:void <init>(android.os.Parcel) -> <init>
+ 603:603:int describeContents() -> describeContents
+ 608:609:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.appcompat.widget.ActionMenuPresenter$SavedState$1 -> androidx.appcompat.widget.ActionMenuPresenter$SavedState$1:
+ 612:612:void <init>() -> <init>
+ 612:612:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 615:615:androidx.appcompat.widget.ActionMenuPresenter$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 612:612:java.lang.Object[] newArray(int) -> newArray
+ 620:620:androidx.appcompat.widget.ActionMenuPresenter$SavedState[] newArray(int) -> newArray
+androidx.appcompat.widget.ActionMenuView -> androidx.appcompat.widget.ActionMenuView:
+ 78:79:void <init>(android.content.Context) -> <init>
+ 82:89:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 609:609:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 722:725:void dismissPopupMenus() -> dismissPopupMenus
+ 749:749:boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> dispatchPopulateAccessibilityEvent
+ 50:50:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 50:50:androidx.appcompat.widget.LinearLayoutCompat$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 582:585:androidx.appcompat.widget.ActionMenuView$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 50:50:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 50:50:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 50:50:androidx.appcompat.widget.LinearLayoutCompat$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 50:50:androidx.appcompat.widget.LinearLayoutCompat$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 590:590:androidx.appcompat.widget.ActionMenuView$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 595:604:androidx.appcompat.widget.ActionMenuView$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 615:617:androidx.appcompat.widget.ActionMenuView$LayoutParams generateOverflowButtonLayoutParams() -> generateOverflowButtonLayoutParams
+ 650:662:android.view.Menu getMenu() -> getMenu
+ 564:565:android.graphics.drawable.Drawable getOverflowIcon() -> getOverflowIcon
+ 115:115:int getPopupTheme() -> getPopupTheme
+ 631:631:int getWindowAnimations() -> getWindowAnimations
+ 732:744:boolean hasSupportDividerBeforeChildAt(int) -> hasSupportDividerBeforeChildAt
+ 699:699:boolean hideOverflowMenu() -> hideOverflowMenu
+ 638:639:void initialize(androidx.appcompat.view.menu.MenuBuilder) -> initialize
+ 624:624:boolean invokeItem(androidx.appcompat.view.menu.MenuItemImpl) -> invokeItem
+ 715:715:boolean isOverflowMenuShowPending() -> isOverflowMenuShowPending
+ 709:709:boolean isOverflowMenuShowing() -> isOverflowMenuShowing
+ 571:571:boolean isOverflowReserved() -> isOverflowReserved
+ 406:436:int measureChildForCells(android.view.View,int,int,int,int) -> measureChildForCells
+ 130:140:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 543:545:void onDetachedFromWindow() -> onDetachedFromWindow
+ 441:539:void onLayout(boolean,int,int,int,int) -> onLayout
+ 149:176:void onMeasure(int,int) -> onMeasure
+ 180:389:void onMeasureExactFormat(int,int) -> onMeasureExactFormat
+ 681:681:androidx.appcompat.view.menu.MenuBuilder peekMenu() -> peekMenu
+ 755:756:void setExpandedActionViewsExclusive(boolean) -> setExpandedActionViewsExclusive
+ 671:673:void setMenuCallbacks(androidx.appcompat.view.menu.MenuPresenter$Callback,androidx.appcompat.view.menu.MenuBuilder$Callback) -> setMenuCallbacks
+ 143:144:void setOnMenuItemClickListener(androidx.appcompat.widget.ActionMenuView$OnMenuItemClickListener) -> setOnMenuItemClickListener
+ 553:555:void setOverflowIcon(android.graphics.drawable.Drawable) -> setOverflowIcon
+ 577:578:void setOverflowReserved(boolean) -> setOverflowReserved
+ 99:107:void setPopupTheme(int) -> setPopupTheme
+ 124:126:void setPresenter(androidx.appcompat.widget.ActionMenuPresenter) -> setPresenter
+ 690:690:boolean showOverflowMenu() -> showOverflowMenu
+androidx.appcompat.widget.ActionMenuView$ActionMenuPresenterCallback -> androidx.appcompat.widget.ActionMenuView$ActionMenuPresenterCallback:
+ 792:793:void <init>() -> <init>
+ 797:797:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 801:801:boolean onOpenSubMenu(androidx.appcompat.view.menu.MenuBuilder) -> onOpenSubMenu
+androidx.appcompat.widget.ActionMenuView$LayoutParams -> androidx.appcompat.widget.ActionMenuView$LayoutParams:
+ 832:833:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 836:837:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 840:842:void <init>(androidx.appcompat.widget.ActionMenuView$LayoutParams) -> <init>
+ 845:847:void <init>(int,int) -> <init>
+ 850:852:void <init>(int,int,boolean) -> <init>
+androidx.appcompat.widget.ActionMenuView$MenuBuilderCallback -> androidx.appcompat.widget.ActionMenuView$MenuBuilderCallback:
+ 774:775:void <init>(androidx.appcompat.widget.ActionMenuView) -> <init>
+ 779:780:boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onMenuItemSelected
+ 785:788:void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder) -> onMenuModeChange
+androidx.appcompat.widget.ActivityChooserModel -> androidx.appcompat.widget.ActivityChooserModel:
+ 156:222:void <clinit>() -> <clinit>
+ 228:353:void <init>(android.content.Context,java.lang.String) -> <init>
+ 727:735:boolean addHistoricalRecord(androidx.appcompat.widget.ActivityChooserModel$HistoricalRecord) -> addHistoricalRecord
+ 456:487:android.content.Intent chooseActivity(int) -> chooseActivity
+ 654:661:void ensureConsistentState() -> ensureConsistentState
+ 329:336:androidx.appcompat.widget.ActivityChooserModel get(android.content.Context,java.lang.String) -> get
+ 409:412:android.content.pm.ResolveInfo getActivity(int) -> getActivity
+ 394:397:int getActivityCount() -> getActivityCount
+ 423:434:int getActivityIndex(android.content.pm.ResolveInfo) -> getActivityIndex
+ 511:517:android.content.pm.ResolveInfo getDefaultActivity() -> getDefaultActivity
+ 630:632:int getHistoryMaxSize() -> getHistoryMaxSize
+ 641:644:int getHistorySize() -> getHistorySize
+ 381:383:android.content.Intent getIntent() -> getIntent
+ 687:699:boolean loadActivitiesIfNeeded() -> loadActivitiesIfNeeded
+ 565:577:void persistHistoricalDataIfNeeded() -> persistHistoricalDataIfNeeded
+ 742:753:void pruneExcessiveHistoricalRecordsIfNeeded() -> pruneExcessiveHistoricalRecordsIfNeeded
+ 710:717:boolean readHistoricalDataIfNeeded() -> readHistoricalDataIfNeeded
+ 964:1032:void readHistoricalDataImpl() -> readHistoricalDataImpl
+ 587:596:void setActivitySorter(androidx.appcompat.widget.ActivityChooserModel$ActivitySorter) -> setActivitySorter
+ 531:553:void setDefaultActivity(int) -> setDefaultActivity
+ 612:622:void setHistoryMaxSize(int) -> setHistoryMaxSize
+ 365:373:void setIntent(android.content.Intent) -> setIntent
+ 496:499:void setOnChooseActivityListener(androidx.appcompat.widget.ActivityChooserModel$OnChooseActivityListener) -> setOnChooseActivityListener
+ 671:677:boolean sortActivitiesIfNeeded() -> sortActivitiesIfNeeded
+androidx.appcompat.widget.ActivityChooserModel$ActivityResolveInfo -> androidx.appcompat.widget.ActivityChooserModel$ActivityResolveInfo:
+ 869:871:void <init>(android.content.pm.ResolveInfo) -> <init>
+ 852:852:int compareTo(java.lang.Object) -> compareTo
+ 898:898:int compareTo(androidx.appcompat.widget.ActivityChooserModel$ActivityResolveInfo) -> compareTo
+ 880:893:boolean equals(java.lang.Object) -> equals
+ 875:875:int hashCode() -> hashCode
+ 903:908:java.lang.String toString() -> toString
+androidx.appcompat.widget.ActivityChooserModel$DefaultSorter -> androidx.appcompat.widget.ActivityChooserModel$DefaultSorter:
+ 918:922:void <init>() -> <init>
+ 927:960:void sort(android.content.Intent,java.util.List,java.util.List) -> sort
+androidx.appcompat.widget.ActivityChooserModel$HistoricalRecord -> androidx.appcompat.widget.ActivityChooserModel$HistoricalRecord:
+ 783:784:void <init>(java.lang.String,long,float) -> <init>
+ 793:797:void <init>(android.content.ComponentName,long,float) -> <init>
+ 811:834:boolean equals(java.lang.Object) -> equals
+ 801:806:int hashCode() -> hashCode
+ 839:845:java.lang.String toString() -> toString
+androidx.appcompat.widget.ActivityChooserModel$PersistHistoryAsyncTask -> androidx.appcompat.widget.ActivityChooserModel$PersistHistoryAsyncTask:
+ 1040:1040:void <init>(androidx.appcompat.widget.ActivityChooserModel) -> <init>
+ 1037:1037:java.lang.Object doInBackground(java.lang.Object[]) -> doInBackground
+ 1045:1100:java.lang.Void doInBackground(java.lang.Object[]) -> doInBackground
+androidx.appcompat.widget.ActivityChooserView -> androidx.appcompat.widget.ActivityChooserView:
+ 201:202:void <init>(android.content.Context) -> <init>
+ 211:212:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 135:296:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 416:423:boolean dismissPopup() -> dismissPopup
+ 489:489:androidx.appcompat.widget.ActivityChooserModel getDataModel() -> getDataModel
+ 533:541:androidx.appcompat.widget.ListPopupWindow getListPopupWindow() -> getListPopupWindow
+ 432:432:boolean isShowingPopup() -> isShowingPopup
+ 437:443:void onAttachedToWindow() -> onAttachedToWindow
+ 447:460:void onDetachedFromWindow() -> onDetachedFromWindow
+ 478:482:void onLayout(boolean,int,int,int,int) -> onLayout
+ 464:474:void onMeasure(int,int) -> onMeasure
+ 305:310:void setActivityChooserModel(androidx.appcompat.widget.ActivityChooserModel) -> setActivityChooserModel
+ 524:525:void setDefaultActionButtonContentDescription(int) -> setDefaultActionButtonContentDescription
+ 338:340:void setExpandActivityOverflowButtonContentDescription(int) -> setExpandActivityOverflowButtonContentDescription
+ 324:325:void setExpandActivityOverflowButtonDrawable(android.graphics.drawable.Drawable) -> setExpandActivityOverflowButtonDrawable
+ 510:511:void setInitialActivityCount(int) -> setInitialActivityCount
+ 498:499:void setOnDismissListener(android.widget.PopupWindow$OnDismissListener) -> setOnDismissListener
+ 348:349:void setProvider(androidx.core.view.ActionProvider) -> setProvider
+ 357:362:boolean showPopup() -> showPopup
+ 371:408:void showPopupUnchecked(int) -> showPopupUnchecked
+ 549:577:void updateAppearance() -> updateAppearance
+androidx.appcompat.widget.ActivityChooserView$1 -> androidx.appcompat.widget.ActivityChooserView$1:
+ 135:135:void <init>(androidx.appcompat.widget.ActivityChooserView) -> <init>
+ 139:141:void onChanged() -> onChanged
+ 144:146:void onInvalidated() -> onInvalidated
+androidx.appcompat.widget.ActivityChooserView$2 -> androidx.appcompat.widget.ActivityChooserView$2:
+ 149:149:void <init>(androidx.appcompat.widget.ActivityChooserView) -> <init>
+ 152:162:void onGlobalLayout() -> onGlobalLayout
+androidx.appcompat.widget.ActivityChooserView$3 -> androidx.appcompat.widget.ActivityChooserView$3:
+ 254:254:void <init>(androidx.appcompat.widget.ActivityChooserView) -> <init>
+ 257:259:void onInitializeAccessibilityNodeInfo(android.view.View,android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+androidx.appcompat.widget.ActivityChooserView$4 -> androidx.appcompat.widget.ActivityChooserView$4:
+ 261:261:void <init>(androidx.appcompat.widget.ActivityChooserView,android.view.View) -> <init>
+ 264:264:androidx.appcompat.view.menu.ShowableListMenu getPopup() -> getPopup
+ 269:270:boolean onForwardingStarted() -> onForwardingStarted
+ 275:276:boolean onForwardingStopped() -> onForwardingStopped
+androidx.appcompat.widget.ActivityChooserView$5 -> androidx.appcompat.widget.ActivityChooserView$5:
+ 285:285:void <init>(androidx.appcompat.widget.ActivityChooserView) -> <init>
+ 288:290:void onChanged() -> onChanged
+androidx.appcompat.widget.ActivityChooserView$ActivityChooserViewAdapter -> androidx.appcompat.widget.ActivityChooserView$ActivityChooserViewAdapter:
+ 687:696:void <init>(androidx.appcompat.widget.ActivityChooserView) -> <init>
+ 840:840:int getActivityCount() -> getActivityCount
+ 726:734:int getCount() -> getCount
+ 848:848:androidx.appcompat.widget.ActivityChooserModel getDataModel() -> getDataModel
+ 829:829:android.content.pm.ResolveInfo getDefaultActivity() -> getDefaultActivity
+ 844:844:int getHistorySize() -> getHistorySize
+ 739:749:java.lang.Object getItem(int) -> getItem
+ 755:755:long getItemId(int) -> getItemId
+ 712:715:int getItemViewType(int) -> getItemViewType
+ 862:862:boolean getShowDefaultActivity() -> getShowDefaultActivity
+ 760:793:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 721:721:int getViewTypeCount() -> getViewTypeCount
+ 800:818:int measureContentWidth() -> measureContentWidth
+ 699:708:void setDataModel(androidx.appcompat.widget.ActivityChooserModel) -> setDataModel
+ 822:826:void setMaxActivityCount(int) -> setMaxActivityCount
+ 853:859:void setShowDefaultActivity(boolean,boolean) -> setShowDefaultActivity
+ 833:837:void setShowFooterView(boolean) -> setShowFooterView
+androidx.appcompat.widget.ActivityChooserView$Callbacks -> androidx.appcompat.widget.ActivityChooserView$Callbacks:
+ 585:586:void <init>(androidx.appcompat.widget.ActivityChooserView) -> <init>
+ 664:667:void notifyOnDismissListener() -> notifyOnDismissListener
+ 623:638:void onClick(android.view.View) -> onClick
+ 657:661:void onDismiss() -> onDismiss
+ 591:618:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+ 643:651:boolean onLongClick(android.view.View) -> onLongClick
+androidx.appcompat.widget.ActivityChooserView$InnerLayout -> androidx.appcompat.widget.ActivityChooserView$InnerLayout:
+ 873:873:void <clinit>() -> <clinit>
+ 878:882:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+androidx.appcompat.widget.AlertDialogLayout -> androidx.appcompat.widget.AlertDialogLayout:
+ 55:56:void <init>(android.content.Context) -> <init>
+ 59:60:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 217:236:void forceUniformWidth(int,int) -> forceUniformWidth
+ 265:345:void onLayout(boolean,int,int,int,int) -> onLayout
+ 64:68:void onMeasure(int,int) -> onMeasure
+ 248:260:int resolveMinimumHeight(android.view.View) -> resolveMinimumHeight
+ 348:349:void setChildFrame(android.view.View,int,int,int,int) -> setChildFrame
+ 71:206:boolean tryOnMeasure(int,int) -> tryOnMeasure
+androidx.appcompat.widget.AppCompatAutoCompleteTextView -> androidx.appcompat.widget.AppCompatAutoCompleteTextView:
+ 59:59:void <clinit>() -> <clinit>
+ 67:68:void <init>(android.content.Context) -> <init>
+ 71:72:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 76:93:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 174:181:void drawableStateChanged() -> drawableStateChanged
+ 140:141:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 168:169:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 193:193:android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo) -> onCreateInputConnection
+ 110:114:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 102:106:void setBackgroundResource(int) -> setBackgroundResource
+ 203:205:void setCustomSelectionActionModeCallback(android.view.ActionMode$Callback) -> setCustomSelectionActionModeCallback
+ 97:98:void setDropDownBackgroundResource(int) -> setDropDownBackgroundResource
+ 125:128:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 153:156:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 185:189:void setTextAppearance(android.content.Context,int) -> setTextAppearance
+androidx.appcompat.widget.AppCompatBackgroundHelper -> androidx.appcompat.widget.AppCompatBackgroundHelper:
+ 37:46:void <init>(android.view.View) -> <init>
+ 178:200:boolean applyFrameworkTintUsingColorFilter(android.graphics.drawable.Drawable) -> applyFrameworkTintUsingColorFilter
+ 123:140:void applySupportBackgroundTint() -> applySupportBackgroundTint
+ 105:105:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 119:119:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 49:77:void loadFromAttributes(android.util.AttributeSet,int) -> loadFromAttributes
+ 89:93:void onSetBackgroundDrawable(android.graphics.drawable.Drawable) -> onSetBackgroundDrawable
+ 80:86:void onSetBackgroundResource(int) -> onSetBackgroundResource
+ 143:153:void setInternalBackgroundTint(android.content.res.ColorStateList) -> setInternalBackgroundTint
+ 96:102:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 109:116:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 156:160:boolean shouldApplyFrameworkTintUsingColorFilter() -> shouldApplyFrameworkTintUsingColorFilter
+androidx.appcompat.widget.AppCompatButton -> androidx.appcompat.widget.AppCompatButton:
+ 66:67:void <init>(android.content.Context) -> <init>
+ 70:71:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 75:85:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 161:168:void drawableStateChanged() -> drawableStateChanged
+ 329:336:int getAutoSizeMaxTextSize() -> getAutoSizeMaxTextSize
+ 313:320:int getAutoSizeMinTextSize() -> getAutoSizeMinTextSize
+ 297:304:int getAutoSizeStepGranularity() -> getAutoSizeStepGranularity
+ 345:352:int[] getAutoSizeTextAvailableSizes() -> getAutoSizeTextAvailableSizes
+ 279:288:int getAutoSizeTextType() -> getAutoSizeTextType
+ 127:128:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 155:156:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 399:399:android.content.res.ColorStateList getSupportCompoundDrawablesTintList() -> getSupportCompoundDrawablesTintList
+ 421:421:android.graphics.PorterDuff$Mode getSupportCompoundDrawablesTintMode() -> getSupportCompoundDrawablesTintMode
+ 180:182:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 186:188:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 192:196:void onLayout(boolean,int,int,int,int) -> onLayout
+ 211:215:void onTextChanged(java.lang.CharSequence,int,int,int) -> onTextChanged
+ 243:252:void setAutoSizeTextTypeUniformWithConfiguration(int,int,int,int) -> setAutoSizeTextTypeUniformWithConfiguration
+ 261:268:void setAutoSizeTextTypeUniformWithPresetSizes(int[],int) -> setAutoSizeTextTypeUniformWithPresetSizes
+ 224:231:void setAutoSizeTextTypeWithDefaults(int) -> setAutoSizeTextTypeWithDefaults
+ 97:101:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 89:93:void setBackgroundResource(int) -> setBackgroundResource
+ 376:378:void setCustomSelectionActionModeCallback(android.view.ActionMode$Callback) -> setCustomSelectionActionModeCallback
+ 365:368:void setSupportAllCaps(boolean) -> setSupportAllCaps
+ 112:115:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 140:143:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 387:389:void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList) -> setSupportCompoundDrawablesTintList
+ 409:411:void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff$Mode) -> setSupportCompoundDrawablesTintMode
+ 172:176:void setTextAppearance(android.content.Context,int) -> setTextAppearance
+ 200:207:void setTextSize(int,float) -> setTextSize
+androidx.appcompat.widget.AppCompatCheckBox -> androidx.appcompat.widget.AppCompatCheckBox:
+ 62:63:void <init>(android.content.Context) -> <init>
+ 66:67:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 71:83:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 229:236:void drawableStateChanged() -> drawableStateChanged
+ 100:103:int getCompoundPaddingLeft() -> getCompoundPaddingLeft
+ 179:180:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 207:208:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 126:128:android.content.res.ColorStateList getSupportButtonTintList() -> getSupportButtonTintList
+ 151:153:android.graphics.PorterDuff$Mode getSupportButtonTintMode() -> getSupportButtonTintMode
+ 213:217:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 221:225:void setBackgroundResource(int) -> setBackgroundResource
+ 87:91:void setButtonDrawable(android.graphics.drawable.Drawable) -> setButtonDrawable
+ 95:96:void setButtonDrawable(int) -> setButtonDrawable
+ 164:167:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 192:195:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 113:116:void setSupportButtonTintList(android.content.res.ColorStateList) -> setSupportButtonTintList
+ 138:141:void setSupportButtonTintMode(android.graphics.PorterDuff$Mode) -> setSupportButtonTintMode
+androidx.appcompat.widget.AppCompatCheckedTextView -> androidx.appcompat.widget.AppCompatCheckedTextView:
+ 42:42:void <clinit>() -> <clinit>
+ 49:50:void <init>(android.content.Context) -> <init>
+ 53:54:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 58:70:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 87:91:void drawableStateChanged() -> drawableStateChanged
+ 95:95:android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo) -> onCreateInputConnection
+ 74:75:void setCheckMarkDrawable(int) -> setCheckMarkDrawable
+ 105:107:void setCustomSelectionActionModeCallback(android.view.ActionMode$Callback) -> setCustomSelectionActionModeCallback
+ 79:83:void setTextAppearance(android.content.Context,int) -> setTextAppearance
+androidx.appcompat.widget.AppCompatCompoundButtonHelper -> androidx.appcompat.widget.AppCompatCompoundButtonHelper:
+ 39:48:void <init>(android.widget.CompoundButton) -> <init>
+ 127:145:void applyButtonTint() -> applyButtonTint
+ 148:156:int getCompoundPaddingLeft(int) -> getCompoundPaddingLeft
+ 102:102:android.content.res.ColorStateList getSupportButtonTintList() -> getSupportButtonTintList
+ 113:113:android.graphics.PorterDuff$Mode getSupportButtonTintMode() -> getSupportButtonTintMode
+ 51:92:void loadFromAttributes(android.util.AttributeSet,int) -> loadFromAttributes
+ 117:124:void onSetButtonDrawable() -> onSetButtonDrawable
+ 95:99:void setSupportButtonTintList(android.content.res.ColorStateList) -> setSupportButtonTintList
+ 106:110:void setSupportButtonTintMode(android.graphics.PorterDuff$Mode) -> setSupportButtonTintMode
+androidx.appcompat.widget.AppCompatDrawableManager -> androidx.appcompat.widget.AppCompatDrawableManager:
+ 54:54:void <clinit>() -> <clinit>
+ 51:51:void <init>() -> <init>
+ 51:51:android.graphics.PorterDuff$Mode access$000() -> access$000
+ 465:469:androidx.appcompat.widget.AppCompatDrawableManager get() -> get
+ 475:475:android.graphics.drawable.Drawable getDrawable(android.content.Context,int) -> getDrawable
+ 480:480:android.graphics.drawable.Drawable getDrawable(android.content.Context,int,boolean) -> getDrawable
+ 507:507:android.graphics.PorterDuffColorFilter getPorterDuffColorFilter(int,android.graphics.PorterDuff$Mode) -> getPorterDuffColorFilter
+ 498:498:android.content.res.ColorStateList getTintList(android.content.Context,int) -> getTintList
+ 483:485:void onConfigurationChanged(android.content.Context) -> onConfigurationChanged
+ 489:489:android.graphics.drawable.Drawable onDrawableLoadedFromResources(android.content.Context,androidx.appcompat.widget.VectorEnabledTintResources,int) -> onDrawableLoadedFromResources
+ 58:460:void preload() -> preload
+ 502:503:void tintDrawable(android.graphics.drawable.Drawable,androidx.appcompat.widget.TintInfo,int[]) -> tintDrawable
+ 494:494:boolean tintDrawableUsingColorFilter(android.content.Context,int,android.graphics.drawable.Drawable) -> tintDrawableUsingColorFilter
+androidx.appcompat.widget.AppCompatDrawableManager$1 -> androidx.appcompat.widget.AppCompatDrawableManager$1:
+ 62:128:void <init>() -> <init>
+ 360:365:boolean arrayContains(int[],int) -> arrayContains
+ 143:143:android.content.res.ColorStateList createBorderlessButtonColorStateList(android.content.Context) -> createBorderlessButtonColorStateList
+ 154:181:android.content.res.ColorStateList createButtonColorStateList(android.content.Context,int) -> createButtonColorStateList
+ 148:149:android.content.res.ColorStateList createColoredButtonColorStateList(android.content.Context) -> createColoredButtonColorStateList
+ 136:137:android.content.res.ColorStateList createDefaultButtonColorStateList(android.content.Context) -> createDefaultButtonColorStateList
+ 234:254:android.graphics.drawable.Drawable createDrawableFor(androidx.appcompat.widget.ResourceManagerInternal,android.content.Context,int) -> createDrawableFor
+ 185:228:android.content.res.ColorStateList createSwitchThumbColorStateList(android.content.Context) -> createSwitchThumbColorStateList
+ 260:309:android.graphics.drawable.LayerDrawable getRatingBarLayerDrawable(androidx.appcompat.widget.ResourceManagerInternal,android.content.Context,int) -> getRatingBarLayerDrawable
+ 372:396:android.content.res.ColorStateList getTintListForDrawableRes(android.content.Context,int) -> getTintListForDrawableRes
+ 450:456:android.graphics.PorterDuff$Mode getTintModeForDrawableRes(int) -> getTintModeForDrawableRes
+ 313:318:void setPorterDuffColorFilter(android.graphics.drawable.Drawable,int,android.graphics.PorterDuff$Mode) -> setPorterDuffColorFilter
+ 323:356:boolean tintDrawable(android.content.Context,int,android.graphics.drawable.Drawable) -> tintDrawable
+ 402:445:boolean tintDrawableUsingColorFilter(android.content.Context,int,android.graphics.drawable.Drawable) -> tintDrawableUsingColorFilter
+androidx.appcompat.widget.AppCompatEditText -> androidx.appcompat.widget.AppCompatEditText:
+ 84:85:void <init>(android.content.Context) -> <init>
+ 88:89:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 93:107:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 197:204:void drawableStateChanged() -> drawableStateChanged
+ 163:164:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 191:192:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 75:75:java.lang.CharSequence getText() -> getText
+ 115:120:android.text.Editable getText() -> getText
+ 270:273:android.view.textclassifier.TextClassifier getTextClassifier() -> getTextClassifier
+ 223:233:android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo) -> onCreateInputConnection
+ 278:281:boolean onDragEvent(android.view.DragEvent) -> onDragEvent
+ 317:317:androidx.core.view.ContentInfoCompat onReceiveContent(androidx.core.view.ContentInfoCompat) -> onReceiveContent
+ 292:295:boolean onTextContextMenuItem(int) -> onTextContextMenuItem
+ 133:137:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 125:129:void setBackgroundResource(int) -> setBackgroundResource
+ 242:244:void setCustomSelectionActionModeCallback(android.view.ActionMode$Callback) -> setCustomSelectionActionModeCallback
+ 148:151:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 176:179:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 208:212:void setTextAppearance(android.content.Context,int) -> setTextAppearance
+ 252:257:void setTextClassifier(android.view.textclassifier.TextClassifier) -> setTextClassifier
+androidx.appcompat.widget.AppCompatHintHelper -> androidx.appcompat.widget.AppCompatHintHelper:
+ 43:44:void <init>() -> <init>
+ 28:40:android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.InputConnection,android.view.inputmethod.EditorInfo,android.view.View) -> onCreateInputConnection
+androidx.appcompat.widget.AppCompatImageButton -> androidx.appcompat.widget.AppCompatImageButton:
+ 66:67:void <init>(android.content.Context) -> <init>
+ 70:71:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 75:84:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 245:252:void drawableStateChanged() -> drawableStateChanged
+ 156:157:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 184:185:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 211:212:android.content.res.ColorStateList getSupportImageTintList() -> getSupportImageTintList
+ 239:240:android.graphics.PorterDuff$Mode getSupportImageTintMode() -> getSupportImageTintMode
+ 256:256:boolean hasOverlappingRendering() -> hasOverlappingRendering
+ 126:130:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 118:122:void setBackgroundResource(int) -> setBackgroundResource
+ 102:106:void setImageBitmap(android.graphics.Bitmap) -> setImageBitmap
+ 94:98:void setImageDrawable(android.graphics.drawable.Drawable) -> setImageDrawable
+ 89:90:void setImageResource(int) -> setImageResource
+ 110:114:void setImageURI(android.net.Uri) -> setImageURI
+ 141:144:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 169:172:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 196:199:void setSupportImageTintList(android.content.res.ColorStateList) -> setSupportImageTintList
+ 224:227:void setSupportImageTintMode(android.graphics.PorterDuff$Mode) -> setSupportImageTintMode
+androidx.appcompat.widget.AppCompatImageHelper -> androidx.appcompat.widget.AppCompatImageHelper:
+ 47:49:void <init>(android.widget.ImageView) -> <init>
+ 200:222:boolean applyFrameworkTintUsingColorFilter(android.graphics.drawable.Drawable) -> applyFrameworkTintUsingColorFilter
+ 141:162:void applySupportImageTint() -> applySupportImageTint
+ 123:123:android.content.res.ColorStateList getSupportImageTintList() -> getSupportImageTintList
+ 137:137:android.graphics.PorterDuff$Mode getSupportImageTintMode() -> getSupportImageTintMode
+ 103:110:boolean hasOverlappingRendering() -> hasOverlappingRendering
+ 52:86:void loadFromAttributes(android.util.AttributeSet,int) -> loadFromAttributes
+ 89:100:void setImageResource(int) -> setImageResource
+ 165:175:void setInternalImageTint(android.content.res.ColorStateList) -> setInternalImageTint
+ 114:120:void setSupportImageTintList(android.content.res.ColorStateList) -> setSupportImageTintList
+ 127:134:void setSupportImageTintMode(android.graphics.PorterDuff$Mode) -> setSupportImageTintMode
+ 178:182:boolean shouldApplyFrameworkTintUsingColorFilter() -> shouldApplyFrameworkTintUsingColorFilter
+androidx.appcompat.widget.AppCompatImageView -> androidx.appcompat.widget.AppCompatImageView:
+ 65:66:void <init>(android.content.Context) -> <init>
+ 69:70:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 74:83:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 256:263:void drawableStateChanged() -> drawableStateChanged
+ 166:167:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 194:195:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 222:223:android.content.res.ColorStateList getSupportImageTintList() -> getSupportImageTintList
+ 250:251:android.graphics.PorterDuff$Mode getSupportImageTintMode() -> getSupportImageTintMode
+ 267:267:boolean hasOverlappingRendering() -> hasOverlappingRendering
+ 136:140:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 128:132:void setBackgroundResource(int) -> setBackgroundResource
+ 112:116:void setImageBitmap(android.graphics.Bitmap) -> setImageBitmap
+ 104:108:void setImageDrawable(android.graphics.drawable.Drawable) -> setImageDrawable
+ 96:100:void setImageResource(int) -> setImageResource
+ 120:124:void setImageURI(android.net.Uri) -> setImageURI
+ 151:154:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 179:182:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 207:210:void setSupportImageTintList(android.content.res.ColorStateList) -> setSupportImageTintList
+ 235:238:void setSupportImageTintMode(android.graphics.PorterDuff$Mode) -> setSupportImageTintMode
+androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView -> androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView:
+ 56:56:void <clinit>() -> <clinit>
+ 64:65:void <init>(android.content.Context) -> <init>
+ 69:70:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 74:91:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 172:179:void drawableStateChanged() -> drawableStateChanged
+ 138:139:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 166:167:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 191:191:android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo) -> onCreateInputConnection
+ 108:112:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 100:104:void setBackgroundResource(int) -> setBackgroundResource
+ 95:96:void setDropDownBackgroundResource(int) -> setDropDownBackgroundResource
+ 123:126:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 151:154:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 183:187:void setTextAppearance(android.content.Context,int) -> setTextAppearance
+androidx.appcompat.widget.AppCompatPopupWindow -> androidx.appcompat.widget.AppCompatPopupWindow:
+ 34:34:void <clinit>() -> <clinit>
+ 40:42:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 46:48:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 51:60:void init(android.content.Context,android.util.AttributeSet,int,int) -> init
+ 90:95:void setSupportOverlapAnchor(boolean) -> setSupportOverlapAnchor
+ 64:69:void showAsDropDown(android.view.View,int,int) -> showAsDropDown
+ 73:78:void showAsDropDown(android.view.View,int,int,int) -> showAsDropDown
+ 82:87:void update(android.view.View,int,int,int,int) -> update
+androidx.appcompat.widget.AppCompatProgressBarHelper -> androidx.appcompat.widget.AppCompatProgressBarHelper:
+ 38:38:void <clinit>() -> <clinit>
+ 47:49:void <init>(android.widget.ProgressBar) -> <init>
+ 140:141:android.graphics.drawable.shapes.Shape getDrawableShape() -> getDrawableShape
+ 145:145:android.graphics.Bitmap getSampleTile() -> getSampleTile
+ 52:66:void loadFromAttributes(android.util.AttributeSet,int) -> loadFromAttributes
+ 73:113:android.graphics.drawable.Drawable tileify(android.graphics.drawable.Drawable,boolean) -> tileify
+ 122:136:android.graphics.drawable.Drawable tileifyIndeterminate(android.graphics.drawable.Drawable) -> tileifyIndeterminate
+androidx.appcompat.widget.AppCompatRadioButton -> androidx.appcompat.widget.AppCompatRadioButton:
+ 61:62:void <init>(android.content.Context) -> <init>
+ 65:66:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 69:81:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 228:235:void drawableStateChanged() -> drawableStateChanged
+ 98:101:int getCompoundPaddingLeft() -> getCompoundPaddingLeft
+ 178:179:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 206:207:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 124:126:android.content.res.ColorStateList getSupportButtonTintList() -> getSupportButtonTintList
+ 149:151:android.graphics.PorterDuff$Mode getSupportButtonTintMode() -> getSupportButtonTintMode
+ 212:216:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 220:224:void setBackgroundResource(int) -> setBackgroundResource
+ 85:89:void setButtonDrawable(android.graphics.drawable.Drawable) -> setButtonDrawable
+ 93:94:void setButtonDrawable(int) -> setButtonDrawable
+ 163:166:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 191:194:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 111:114:void setSupportButtonTintList(android.content.res.ColorStateList) -> setSupportButtonTintList
+ 136:139:void setSupportButtonTintMode(android.graphics.PorterDuff$Mode) -> setSupportButtonTintMode
+androidx.appcompat.widget.AppCompatRatingBar -> androidx.appcompat.widget.AppCompatRatingBar:
+ 42:43:void <init>(android.content.Context) -> <init>
+ 46:47:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 51:57:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 60:69:void onMeasure(int,int) -> onMeasure
+androidx.appcompat.widget.AppCompatReceiveContentHelper -> androidx.appcompat.widget.AppCompatReceiveContentHelper:
+ 53:53:void <init>() -> <init>
+ 179:179:androidx.core.view.inputmethod.InputConnectionCompat$OnCommitContentListener createOnCommitContentListener(android.view.View) -> createOnCommitContentListener
+ 89:116:boolean maybeHandleDragEventViaPerformReceiveContent(android.view.View,android.view.DragEvent) -> maybeHandleDragEventViaPerformReceiveContent
+ 65:78:boolean maybeHandleMenuActionViaPerformReceiveContent(android.widget.TextView,int) -> maybeHandleMenuActionViaPerformReceiveContent
+ 159:166:android.app.Activity tryGetActivity(android.view.View) -> tryGetActivity
+androidx.appcompat.widget.AppCompatReceiveContentHelper$1 -> androidx.appcompat.widget.AppCompatReceiveContentHelper$1:
+ 179:179:void <init>(android.view.View) -> <init>
+ 183:209:boolean onCommitContent(androidx.core.view.inputmethod.InputContentInfoCompat,int,android.os.Bundle) -> onCommitContent
+androidx.appcompat.widget.AppCompatReceiveContentHelper$OnDropApi24Impl -> androidx.appcompat.widget.AppCompatReceiveContentHelper$OnDropApi24Impl:
+ 121:121:void <init>() -> <init>
+ 125:136:boolean onDropForTextView(android.view.DragEvent,android.widget.TextView,android.app.Activity) -> onDropForTextView
+ 141:145:boolean onDropForView(android.view.DragEvent,android.view.View,android.app.Activity) -> onDropForView
+androidx.appcompat.widget.AppCompatSeekBar -> androidx.appcompat.widget.AppCompatSeekBar:
+ 41:42:void <init>(android.content.Context) -> <init>
+ 45:46:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 50:56:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 66:68:void drawableStateChanged() -> drawableStateChanged
+ 72:74:void jumpDrawablesToCurrentState() -> jumpDrawablesToCurrentState
+ 59:62:void onDraw(android.graphics.Canvas) -> onDraw
+androidx.appcompat.widget.AppCompatSeekBarHelper -> androidx.appcompat.widget.AppCompatSeekBarHelper:
+ 36:44:void <init>(android.widget.SeekBar) -> <init>
+ 128:145:void applyTickMarkTint() -> applyTickMarkTint
+ 165:185:void drawTickMarks(android.graphics.Canvas) -> drawTickMarks
+ 154:159:void drawableStateChanged() -> drawableStateChanged
+ 100:100:android.graphics.drawable.Drawable getTickMark() -> getTickMark
+ 112:112:android.content.res.ColorStateList getTickMarkTintList() -> getTickMarkTintList
+ 124:124:android.graphics.PorterDuff$Mode getTickMarkTintMode() -> getTickMarkTintMode
+ 148:151:void jumpDrawablesToCurrentState() -> jumpDrawablesToCurrentState
+ 48:77:void loadFromAttributes(android.util.AttributeSet,int) -> loadFromAttributes
+ 80:96:void setTickMark(android.graphics.drawable.Drawable) -> setTickMark
+ 104:108:void setTickMarkTintList(android.content.res.ColorStateList) -> setTickMarkTintList
+ 116:120:void setTickMarkTintMode(android.graphics.PorterDuff$Mode) -> setTickMarkTintMode
+androidx.appcompat.widget.AppCompatSpinner -> androidx.appcompat.widget.AppCompatSpinner:
+ 79:79:void <clinit>() -> <clinit>
+ 116:117:void <init>(android.content.Context) -> <init>
+ 132:133:void <init>(android.content.Context,int) -> <init>
+ 144:145:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 160:161:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 180:181:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 106:302:void <init>(android.content.Context,android.util.AttributeSet,int,int,android.content.res.Resources$Theme) -> <init>
+ 558:598:int compatMeasureContentWidth(android.widget.SpinnerAdapter,android.graphics.drawable.Drawable) -> compatMeasureContentWidth
+ 551:555:void drawableStateChanged() -> drawableStateChanged
+ 373:376:int getDropDownHorizontalOffset() -> getDropDownHorizontalOffset
+ 347:350:int getDropDownVerticalOffset() -> getDropDownVerticalOffset
+ 392:395:int getDropDownWidth() -> getDropDownWidth
+ 603:603:androidx.appcompat.widget.AppCompatSpinner$SpinnerPopup getInternalPopup() -> getInternalPopup
+ 328:331:android.graphics.drawable.Drawable getPopupBackground() -> getPopupBackground
+ 309:309:android.content.Context getPopupContext() -> getPopupContext
+ 472:472:java.lang.CharSequence getPrompt() -> getPrompt
+ 516:517:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 545:546:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 419:424:void onDetachedFromWindow() -> onDetachedFromWindow
+ 436:445:void onMeasure(int,int) -> onMeasure
+ 625:651:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 617:620:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 428:431:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 449:458:boolean performClick() -> performClick
+ 77:77:void setAdapter(android.widget.Adapter) -> setAdapter
+ 404:415:void setAdapter(android.widget.SpinnerAdapter) -> setAdapter
+ 485:489:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 477:481:void setBackgroundResource(int) -> setBackgroundResource
+ 357:363:void setDropDownHorizontalOffset(int) -> setDropDownHorizontalOffset
+ 338:343:void setDropDownVerticalOffset(int) -> setDropDownVerticalOffset
+ 383:388:void setDropDownWidth(int) -> setDropDownWidth
+ 314:319:void setPopupBackgroundDrawable(android.graphics.drawable.Drawable) -> setPopupBackgroundDrawable
+ 323:324:void setPopupBackgroundResource(int) -> setPopupBackgroundResource
+ 463:468:void setPrompt(java.lang.CharSequence) -> setPrompt
+ 501:504:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 530:533:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 607:612:void showPopup() -> showPopup
+androidx.appcompat.widget.AppCompatSpinner$1 -> androidx.appcompat.widget.AppCompatSpinner$1:
+ 264:264:void <init>(androidx.appcompat.widget.AppCompatSpinner,android.view.View,androidx.appcompat.widget.AppCompatSpinner$DropdownPopup) -> <init>
+ 267:267:androidx.appcompat.view.menu.ShowableListMenu getPopup() -> getPopup
+ 273:276:boolean onForwardingStarted() -> onForwardingStarted
+androidx.appcompat.widget.AppCompatSpinner$2 -> androidx.appcompat.widget.AppCompatSpinner$2:
+ 632:632:void <init>(androidx.appcompat.widget.AppCompatSpinner) -> <init>
+ 635:646:void onGlobalLayout() -> onGlobalLayout
+androidx.appcompat.widget.AppCompatSpinner$DialogPopup -> androidx.appcompat.widget.AppCompatSpinner$DialogPopup:
+ 858:858:void <init>(androidx.appcompat.widget.AppCompatSpinner) -> <init>
+ 866:870:void dismiss() -> dismiss
+ 937:937:android.graphics.drawable.Drawable getBackground() -> getBackground
+ 889:889:java.lang.CharSequence getHintText() -> getHintText
+ 947:947:int getHorizontalOffset() -> getHorizontalOffset
+ 957:957:int getHorizontalOriginalOffset() -> getHorizontalOriginalOffset
+ 942:942:int getVerticalOffset() -> getVerticalOffset
+ 874:874:boolean isShowing() -> isShowing
+ 913:918:void onClick(android.content.DialogInterface,int) -> onClick
+ 879:880:void setAdapter(android.widget.ListAdapter) -> setAdapter
+ 922:923:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 932:933:void setHorizontalOffset(int) -> setHorizontalOffset
+ 952:953:void setHorizontalOriginalOffset(int) -> setHorizontalOriginalOffset
+ 884:885:void setPromptText(java.lang.CharSequence) -> setPromptText
+ 927:928:void setVerticalOffset(int) -> setVerticalOffset
+ 894:909:void show(int,int) -> show
+androidx.appcompat.widget.AppCompatSpinner$DropDownAdapter -> androidx.appcompat.widget.AppCompatSpinner$DropDownAdapter:
+ 703:725:void <init>(android.widget.SpinnerAdapter,android.content.res.Resources$Theme) -> <init>
+ 778:782:boolean areAllItemsEnabled() -> areAllItemsEnabled
+ 729:729:int getCount() -> getCount
+ 749:750:android.view.View getDropDownView(int,android.view.View,android.view.ViewGroup) -> getDropDownView
+ 734:734:java.lang.Object getItem(int) -> getItem
+ 739:739:long getItemId(int) -> getItemId
+ 802:802:int getItemViewType(int) -> getItemViewType
+ 744:744:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 807:807:int getViewTypeCount() -> getViewTypeCount
+ 755:755:boolean hasStableIds() -> hasStableIds
+ 812:812:boolean isEmpty() -> isEmpty
+ 792:796:boolean isEnabled(int) -> isEnabled
+ 760:763:void registerDataSetObserver(android.database.DataSetObserver) -> registerDataSetObserver
+ 767:770:void unregisterDataSetObserver(android.database.DataSetObserver) -> unregisterDataSetObserver
+androidx.appcompat.widget.AppCompatSpinner$DropdownPopup -> androidx.appcompat.widget.AppCompatSpinner$DropdownPopup:
+ 965:986:void <init>(androidx.appcompat.widget.AppCompatSpinner,android.content.Context,android.util.AttributeSet,int) -> <init>
+ 962:962:void access$001(androidx.appcompat.widget.AppCompatSpinner$DropdownPopup) -> access$001
+ 1006:1041:void computeContentWidth() -> computeContentWidth
+ 996:996:java.lang.CharSequence getHintText() -> getHintText
+ 1112:1112:int getHorizontalOriginalOffset() -> getHorizontalOriginalOffset
+ 1102:1102:boolean isVisibleToUser(android.view.View) -> isVisibleToUser
+ 990:992:void setAdapter(android.widget.ListAdapter) -> setAdapter
+ 1107:1108:void setHorizontalOriginalOffset(int) -> setHorizontalOriginalOffset
+ 1002:1003:void setPromptText(java.lang.CharSequence) -> setPromptText
+ 1045:1096:void show(int,int) -> show
+androidx.appcompat.widget.AppCompatSpinner$DropdownPopup$1 -> androidx.appcompat.widget.AppCompatSpinner$DropdownPopup$1:
+ 975:975:void <init>(androidx.appcompat.widget.AppCompatSpinner$DropdownPopup,androidx.appcompat.widget.AppCompatSpinner) -> <init>
+ 978:984:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+androidx.appcompat.widget.AppCompatSpinner$DropdownPopup$2 -> androidx.appcompat.widget.AppCompatSpinner$DropdownPopup$2:
+ 1071:1071:void <init>(androidx.appcompat.widget.AppCompatSpinner$DropdownPopup) -> <init>
+ 1074:1083:void onGlobalLayout() -> onGlobalLayout
+androidx.appcompat.widget.AppCompatSpinner$DropdownPopup$3 -> androidx.appcompat.widget.AppCompatSpinner$DropdownPopup$3:
+ 1086:1086:void <init>(androidx.appcompat.widget.AppCompatSpinner$DropdownPopup,android.view.ViewTreeObserver$OnGlobalLayoutListener) -> <init>
+ 1089:1093:void onDismiss() -> onDismiss
+androidx.appcompat.widget.AppCompatSpinner$SavedState -> androidx.appcompat.widget.AppCompatSpinner$SavedState:
+ 671:671:void <clinit>() -> <clinit>
+ 657:658:void <init>(android.os.Parcelable) -> <init>
+ 661:663:void <init>(android.os.Parcel) -> <init>
+ 667:669:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.appcompat.widget.AppCompatSpinner$SavedState$1 -> androidx.appcompat.widget.AppCompatSpinner$SavedState$1:
+ 672:672:void <init>() -> <init>
+ 672:672:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 675:675:androidx.appcompat.widget.AppCompatSpinner$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 672:672:java.lang.Object[] newArray(int) -> newArray
+ 680:680:androidx.appcompat.widget.AppCompatSpinner$SavedState[] newArray(int) -> newArray
+androidx.appcompat.widget.AppCompatTextClassifierHelper -> androidx.appcompat.widget.AppCompatTextClassifierHelper:
+ 42:44:void <init>(android.widget.TextView) -> <init>
+ 62:70:android.view.textclassifier.TextClassifier getTextClassifier() -> getTextClassifier
+ 51:52:void setTextClassifier(android.view.textclassifier.TextClassifier) -> setTextClassifier
+androidx.appcompat.widget.AppCompatTextHelper -> androidx.appcompat.widget.AppCompatTextHelper:
+ 73:81:void <init>(android.widget.TextView) -> <init>
+ 541:544:void applyCompoundDrawableTint(android.graphics.drawable.Drawable,androidx.appcompat.widget.TintInfo) -> applyCompoundDrawableTint
+ 523:538:void applyCompoundDrawablesTints() -> applyCompoundDrawablesTints
+ 579:580:void autoSizeText() -> autoSizeText
+ 548:555:androidx.appcompat.widget.TintInfo createTintInfo(android.content.Context,androidx.appcompat.widget.AppCompatDrawableManager,int) -> createTintInfo
+ 624:624:int getAutoSizeMaxTextSize() -> getAutoSizeMaxTextSize
+ 620:620:int getAutoSizeMinTextSize() -> getAutoSizeMinTextSize
+ 616:616:int getAutoSizeStepGranularity() -> getAutoSizeStepGranularity
+ 628:628:int[] getAutoSizeTextAvailableSizes() -> getAutoSizeTextAvailableSizes
+ 612:612:int getAutoSizeTextType() -> getAutoSizeTextType
+ 633:633:android.content.res.ColorStateList getCompoundDrawableTintList() -> getCompoundDrawableTintList
+ 647:647:android.graphics.PorterDuff$Mode getCompoundDrawableTintMode() -> getCompoundDrawableTintMode
+ 585:585:boolean isAutoSizeEnabled() -> isAutoSizeEnabled
+ 85:339:void loadFromAttributes(android.util.AttributeSet,int) -> loadFromAttributes
+ 437:454:void onAsyncTypefaceReceived(java.lang.ref.WeakReference,android.graphics.Typeface) -> onAsyncTypefaceReceived
+ 561:564:void onLayout(boolean,int,int,int,int) -> onLayout
+ 519:520:void onSetCompoundDrawables() -> onSetCompoundDrawables
+ 457:512:void onSetTextAppearance(android.content.Context,int) -> onSetTextAppearance
+ 722:725:void populateSurroundingTextIfNeeded(android.widget.TextView,android.view.inputmethod.InputConnection,android.view.inputmethod.EditorInfo) -> populateSurroundingTextIfNeeded
+ 515:516:void setAllCaps(boolean) -> setAllCaps
+ 601:603:void setAutoSizeTextTypeUniformWithConfiguration(int,int,int,int) -> setAutoSizeTextTypeUniformWithConfiguration
+ 607:608:void setAutoSizeTextTypeUniformWithPresetSizes(int[],int) -> setAutoSizeTextTypeUniformWithPresetSizes
+ 593:594:void setAutoSizeTextTypeWithDefaults(int) -> setAutoSizeTextTypeWithDefaults
+ 637:643:void setCompoundDrawableTintList(android.content.res.ColorStateList) -> setCompoundDrawableTintList
+ 651:657:void setCompoundDrawableTintMode(android.graphics.PorterDuff$Mode) -> setCompoundDrawableTintMode
+ 672:704:void setCompoundDrawables(android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawables
+ 660:666:void setCompoundTints() -> setCompoundTints
+ 569:574:void setTextSize(int,float) -> setTextSize
+ 589:590:void setTextSizeInternal(int,float) -> setTextSizeInternal
+ 342:433:void updateTypefaceAndStyle(android.content.Context,androidx.appcompat.widget.TintTypedArray) -> updateTypefaceAndStyle
+androidx.appcompat.widget.AppCompatTextHelper$1 -> androidx.appcompat.widget.AppCompatTextHelper$1:
+ 362:362:void <init>(androidx.appcompat.widget.AppCompatTextHelper,int,int,java.lang.ref.WeakReference) -> <init>
+ 377:377:void onFontRetrievalFailed(int) -> onFontRetrievalFailed
+ 365:372:void onFontRetrieved(android.graphics.Typeface) -> onFontRetrieved
+androidx.appcompat.widget.AppCompatTextHelper$2 -> androidx.appcompat.widget.AppCompatTextHelper$2:
+ 443:443:void <init>(androidx.appcompat.widget.AppCompatTextHelper,android.widget.TextView,android.graphics.Typeface,int) -> <init>
+ 446:447:void run() -> run
+androidx.appcompat.widget.AppCompatTextView -> androidx.appcompat.widget.AppCompatTextView:
+ 93:94:void <init>(android.content.Context) -> <init>
+ 97:98:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 87:114:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 488:497:void consumeTextFutureAndSetBlocking() -> consumeTextFutureAndSetBlocking
+ 198:205:void drawableStateChanged() -> drawableStateChanged
+ 370:377:int getAutoSizeMaxTextSize() -> getAutoSizeMaxTextSize
+ 351:358:int getAutoSizeMinTextSize() -> getAutoSizeMinTextSize
+ 332:339:int getAutoSizeStepGranularity() -> getAutoSizeStepGranularity
+ 389:396:int[] getAutoSizeTextAvailableSizes() -> getAutoSizeTextAvailableSizes
+ 311:320:int getAutoSizeTextType() -> getAutoSizeTextType
+ 428:428:int getFirstBaselineToTopHeight() -> getFirstBaselineToTopHeight
+ 433:433:int getLastBaselineToBottomHeight() -> getLastBaselineToBottomHeight
+ 156:157:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 184:185:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 640:640:android.content.res.ColorStateList getSupportCompoundDrawablesTintList() -> getSupportCompoundDrawablesTintList
+ 683:683:android.graphics.PorterDuff$Mode getSupportCompoundDrawablesTintMode() -> getSupportCompoundDrawablesTintMode
+ 501:502:java.lang.CharSequence getText() -> getText
+ 529:532:android.view.textclassifier.TextClassifier getTextClassifier() -> getTextClassifier
+ 460:460:androidx.core.text.PrecomputedTextCompat$Params getTextMetricsParamsCompat() -> getTextMetricsParamsCompat
+ 401:403:android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo) -> onCreateInputConnection
+ 209:213:void onLayout(boolean,int,int,int,int) -> onLayout
+ 556:558:void onMeasure(int,int) -> onMeasure
+ 228:232:void onTextChanged(java.lang.CharSequence,int,int,int) -> onTextChanged
+ 268:277:void setAutoSizeTextTypeUniformWithConfiguration(int,int,int,int) -> setAutoSizeTextTypeUniformWithConfiguration
+ 290:297:void setAutoSizeTextTypeUniformWithPresetSizes(int[],int) -> setAutoSizeTextTypeUniformWithPresetSizes
+ 245:252:void setAutoSizeTextTypeWithDefaults(int) -> setAutoSizeTextTypeWithDefaults
+ 126:130:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 118:122:void setBackgroundResource(int) -> setBackgroundResource
+ 563:567:void setCompoundDrawables(android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawables
+ 573:577:void setCompoundDrawablesRelative(android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawablesRelative
+ 605:609:void setCompoundDrawablesRelativeWithIntrinsicBounds(android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawablesRelativeWithIntrinsicBounds
+ 615:624:void setCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int) -> setCompoundDrawablesRelativeWithIntrinsicBounds
+ 582:586:void setCompoundDrawablesWithIntrinsicBounds(android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawablesWithIntrinsicBounds
+ 590:599:void setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) -> setCompoundDrawablesWithIntrinsicBounds
+ 447:449:void setCustomSelectionActionModeCallback(android.view.ActionMode$Callback) -> setCustomSelectionActionModeCallback
+ 408:413:void setFirstBaselineToTopHeight(int) -> setFirstBaselineToTopHeight
+ 418:424:void setLastBaselineToBottomHeight(int) -> setLastBaselineToBottomHeight
+ 438:439:void setLineHeight(int) -> setLineHeight
+ 484:485:void setPrecomputedText(androidx.core.text.PrecomputedTextCompat) -> setPrecomputedText
+ 141:144:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 169:172:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 663:665:void setSupportCompoundDrawablesTintList(android.content.res.ColorStateList) -> setSupportCompoundDrawablesTintList
+ 703:705:void setSupportCompoundDrawablesTintMode(android.graphics.PorterDuff$Mode) -> setSupportCompoundDrawablesTintMode
+ 190:194:void setTextAppearance(android.content.Context,int) -> setTextAppearance
+ 511:516:void setTextClassifier(android.view.textclassifier.TextClassifier) -> setTextClassifier
+ 548:552:void setTextFuture(java.util.concurrent.Future) -> setTextFuture
+ 471:472:void setTextMetricsParamsCompat(androidx.core.text.PrecomputedTextCompat$Params) -> setTextMetricsParamsCompat
+ 217:224:void setTextSize(int,float) -> setTextSize
+ 709:728:void setTypeface(android.graphics.Typeface,int) -> setTypeface
+androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper -> androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper:
+ 64:79:void <clinit>() -> <clinit>
+ 87:162:void <init>(android.widget.TextView) -> <init>
+ 864:872:java.lang.Object accessAndReturnWithDefault(java.lang.Object,java.lang.String,java.lang.Object) -> accessAndReturnWithDefault
+ 603:637:void autoSizeText() -> autoSizeText
+ 510:534:int[] cleanupAutoSizePresetSizes(int[]) -> cleanupAutoSizePresetSizes
+ 640:646:void clearAutoSizeConfiguration() -> clearAutoSizeConfiguration
+ 734:735:android.text.StaticLayout createLayout(java.lang.CharSequence,android.text.Layout$Alignment,int,int) -> createLayout
+ 779:799:android.text.StaticLayout createStaticLayoutForMeasuring(java.lang.CharSequence,android.text.Layout$Alignment,int,int) -> createStaticLayoutForMeasuring
+ 822:829:android.text.StaticLayout createStaticLayoutForMeasuringPre16(java.lang.CharSequence,android.text.Layout$Alignment,int) -> createStaticLayoutForMeasuringPre16
+ 805:811:android.text.StaticLayout createStaticLayoutForMeasuringPre23(java.lang.CharSequence,android.text.Layout$Alignment,int) -> createStaticLayoutForMeasuringPre23
+ 697:717:int findLargestTextSizeWhichFits(android.graphics.RectF) -> findLargestTextSizeWhichFits
+ 467:467:int getAutoSizeMaxTextSize() -> getAutoSizeMaxTextSize
+ 451:451:int getAutoSizeMinTextSize() -> getAutoSizeMinTextSize
+ 435:435:int getAutoSizeStepGranularity() -> getAutoSizeStepGranularity
+ 480:480:int[] getAutoSizeTextAvailableSizes() -> getAutoSizeTextAvailableSizes
+ 421:421:int getAutoSizeTextType() -> getAutoSizeTextType
+ 899:911:java.lang.reflect.Field getTextViewField(java.lang.String) -> getTextViewField
+ 879:892:java.lang.reflect.Method getTextViewMethod(java.lang.String) -> getTextViewMethod
+ 722:729:void initTempTextPaint(int) -> initTempTextPaint
+ 841:857:java.lang.Object invokeAndReturnWithDefault(java.lang.Object,java.lang.String,java.lang.Object) -> invokeAndReturnWithDefault
+ 923:923:boolean isAutoSizeEnabled() -> isAutoSizeEnabled
+ 165:243:void loadFromAttributes(android.util.AttributeSet,int) -> loadFromAttributes
+ 328:344:void setAutoSizeTextTypeUniformWithConfiguration(int,int,int,int) -> setAutoSizeTextTypeUniformWithConfiguration
+ 371:401:void setAutoSizeTextTypeUniformWithPresetSizes(int[],int) -> setAutoSizeTextTypeUniformWithPresetSizes
+ 261:291:void setAutoSizeTextTypeWithDefaults(int) -> setAutoSizeTextTypeWithDefaults
+ 659:690:void setRawTextSize(float) -> setRawTextSize
+ 651:656:void setTextSizeInternal(int,float) -> setTextSizeInternal
+ 573:593:boolean setupAutoSizeText() -> setupAutoSizeText
+ 484:494:void setupAutoSizeUniformPresetSizes(android.content.res.TypedArray) -> setupAutoSizeUniformPresetSizes
+ 497:505:boolean setupAutoSizeUniformPresetSizesConfiguration() -> setupAutoSizeUniformPresetSizesConfiguration
+ 744:772:boolean suggestedSizeFitsInSpace(int,android.graphics.RectF) -> suggestedSizeFitsInSpace
+ 932:932:boolean supportsAutoSizeText() -> supportsAutoSizeText
+ 548:570:void validateAndSetAutoSizeTextTypeUniformConfiguration(float,float,float) -> validateAndSetAutoSizeTextTypeUniformConfiguration
+androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl -> androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl:
+ 112:112:void <init>() -> <init>
+ 119:119:void computeAndSetTextDirection(android.text.StaticLayout$Builder,android.widget.TextView) -> computeAndSetTextDirection
+ 115:115:boolean isHorizontallyScrollable(android.widget.TextView) -> isHorizontallyScrollable
+androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl23 -> androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl23:
+ 124:124:void <init>() -> <init>
+ 129:133:void computeAndSetTextDirection(android.text.StaticLayout$Builder,android.widget.TextView) -> computeAndSetTextDirection
+androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl29 -> androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl29:
+ 138:138:void <init>() -> <init>
+ 148:149:void computeAndSetTextDirection(android.text.StaticLayout$Builder,android.widget.TextView) -> computeAndSetTextDirection
+ 142:142:boolean isHorizontallyScrollable(android.widget.TextView) -> isHorizontallyScrollable
+androidx.appcompat.widget.AppCompatToggleButton -> androidx.appcompat.widget.AppCompatToggleButton:
+ 56:57:void <init>(android.content.Context) -> <init>
+ 60:61:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 65:74:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 150:157:void drawableStateChanged() -> drawableStateChanged
+ 116:117:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 144:145:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 86:90:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 78:82:void setBackgroundResource(int) -> setBackgroundResource
+ 101:104:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 129:132:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+androidx.appcompat.widget.ButtonBarLayout -> androidx.appcompat.widget.ButtonBarLayout:
+ 47:58:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 154:154:int getMinimumHeight() -> getMinimumHeight
+ 144:149:int getNextVisibleChildIndex(int) -> getNextVisibleChildIndex
+ 175:175:boolean isStacked() -> isStacked
+ 72:141:void onMeasure(int,int) -> onMeasure
+ 61:68:void setAllowStacking(boolean) -> setAllowStacking
+ 158:172:void setStacked(boolean) -> setStacked
+androidx.appcompat.widget.ContentFrameLayout -> androidx.appcompat.widget.ContentFrameLayout:
+ 60:61:void <init>(android.content.Context) -> <init>
+ 64:65:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 69:71:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 78:79:void dispatchFitSystemWindows(android.graphics.Rect) -> dispatchFitSystemWindows
+ 197:198:android.util.TypedValue getFixedHeightMajor() -> getFixedHeightMajor
+ 202:203:android.util.TypedValue getFixedHeightMinor() -> getFixedHeightMinor
+ 187:188:android.util.TypedValue getFixedWidthMajor() -> getFixedWidthMajor
+ 192:193:android.util.TypedValue getFixedWidthMinor() -> getFixedWidthMinor
+ 177:178:android.util.TypedValue getMinWidthMajor() -> getMinWidthMajor
+ 182:183:android.util.TypedValue getMinWidthMinor() -> getMinWidthMinor
+ 208:212:void onAttachedToWindow() -> onAttachedToWindow
+ 216:220:void onDetachedFromWindow() -> onDetachedFromWindow
+ 101:174:void onMeasure(int,int) -> onMeasure
+ 82:83:void setAttachListener(androidx.appcompat.widget.ContentFrameLayout$OnAttachListener) -> setAttachListener
+ 93:97:void setDecorPadding(int,int,int,int) -> setDecorPadding
+androidx.appcompat.widget.DialogTitle -> androidx.appcompat.widget.DialogTitle:
+ 42:43:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 46:47:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 50:51:void <init>(android.content.Context) -> <init>
+ 55:82:void onMeasure(int,int) -> onMeasure
+androidx.appcompat.widget.DrawableUtils -> androidx.appcompat.widget.DrawableUtils:
+ 45:64:void <clinit>() -> <clinit>
+ 66:66:void <init>() -> <init>
+ 142:176:boolean canSafelyMutateDrawable(android.graphics.drawable.Drawable) -> canSafelyMutateDrawable
+ 131:135:void fixDrawable(android.graphics.drawable.Drawable) -> fixDrawable
+ 184:194:void fixVectorDrawableTinting(android.graphics.drawable.Drawable) -> fixVectorDrawableTinting
+ 73:122:android.graphics.Rect getOpticalBounds(android.graphics.drawable.Drawable) -> getOpticalBounds
+ 200:207:android.graphics.PorterDuff$Mode parseTintMode(int,android.graphics.PorterDuff$Mode) -> parseTintMode
+androidx.appcompat.widget.DropDownListView -> androidx.appcompat.widget.DropDownListView:
+ 50:129:void <init>(android.content.Context,boolean) -> <init>
+ 629:643:void clearPressedItem() -> clearPressedItem
+ 541:543:void clickPressedItem(android.view.View,int) -> clickPressedItem
+ 199:205:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 564:571:void drawSelectorCompat(android.graphics.Canvas) -> drawSelectorCompat
+ 187:195:void drawableStateChanged() -> drawableStateChanged
+ 165:165:boolean hasFocus() -> hasFocus
+ 145:145:boolean hasWindowFocus() -> hasWindowFocus
+ 155:155:boolean isFocused() -> isFocused
+ 135:135:boolean isInTouchMode() -> isInTouchMode
+ 230:257:int lookForSelectablePosition(int,boolean) -> lookForSelectablePosition
+ 291:368:int measureHeightOfChildrenCompat(int,int,int,int,int) -> measureHeightOfChildrenCompat
+ 470:472:void onDetachedFromWindow() -> onDetachedFromWindow
+ 481:533:boolean onForwardedEvent(android.view.MotionEvent,int) -> onForwardedEvent
+ 429:465:boolean onHoverEvent(android.view.MotionEvent) -> onHoverEvent
+ 209:218:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 604:626:void positionSelectorCompat(int,android.view.View) -> positionSelectorCompat
+ 585:600:void positionSelectorLikeFocusCompat(int,android.view.View) -> positionSelectorLikeFocusCompat
+ 574:580:void positionSelectorLikeTouchCompat(int,android.view.View,float,float) -> positionSelectorLikeTouchCompat
+ 553:554:void setListSelectionHidden(boolean) -> setListSelectionHidden
+ 646:690:void setPressedItem(android.view.View,int,float,float) -> setPressedItem
+ 170:182:void setSelector(android.graphics.drawable.Drawable) -> setSelector
+ 372:375:void setSelectorEnabled(boolean) -> setSelectorEnabled
+ 693:693:boolean touchModeDrawsInPressedStateCompat() -> touchModeDrawsInPressedStateCompat
+ 557:561:void updateSelectorStateCompat() -> updateSelectorStateCompat
+androidx.appcompat.widget.DropDownListView$GateKeeperDrawable -> androidx.appcompat.widget.DropDownListView$GateKeeperDrawable:
+ 381:383:void <init>(android.graphics.drawable.Drawable) -> <init>
+ 399:402:void draw(android.graphics.Canvas) -> draw
+ 386:387:void setEnabled(boolean) -> setEnabled
+ 406:409:void setHotspot(float,float) -> setHotspot
+ 413:416:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 391:394:boolean setState(int[]) -> setState
+ 420:423:boolean setVisible(boolean,boolean) -> setVisible
+androidx.appcompat.widget.DropDownListView$ResolveHoverRunnable -> androidx.appcompat.widget.DropDownListView$ResolveHoverRunnable:
+ 700:701:void <init>(androidx.appcompat.widget.DropDownListView) -> <init>
+ 711:713:void cancel() -> cancel
+ 716:717:void post() -> post
+ 706:708:void run() -> run
+androidx.appcompat.widget.FitWindowsFrameLayout -> androidx.appcompat.widget.FitWindowsFrameLayout:
+ 39:40:void <init>(android.content.Context) -> <init>
+ 43:44:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 53:56:boolean fitSystemWindows(android.graphics.Rect) -> fitSystemWindows
+ 48:49:void setOnFitSystemWindowsListener(androidx.appcompat.widget.FitWindowsViewGroup$OnFitSystemWindowsListener) -> setOnFitSystemWindowsListener
+androidx.appcompat.widget.FitWindowsLinearLayout -> androidx.appcompat.widget.FitWindowsLinearLayout:
+ 39:40:void <init>(android.content.Context) -> <init>
+ 43:44:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 53:56:boolean fitSystemWindows(android.graphics.Rect) -> fitSystemWindows
+ 48:49:void setOnFitSystemWindowsListener(androidx.appcompat.widget.FitWindowsViewGroup$OnFitSystemWindowsListener) -> setOnFitSystemWindowsListener
+androidx.appcompat.widget.ForwardingListener -> androidx.appcompat.widget.ForwardingListener:
+ 66:78:void <init>(android.view.View) -> <init>
+ 216:223:void clearCallbacks() -> clearCallbacks
+ 139:143:boolean onForwardingStarted() -> onForwardingStarted
+ 156:160:boolean onForwardingStopped() -> onForwardingStopped
+ 226:249:void onLongPress() -> onLongPress
+ 94:112:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+ 259:284:boolean onTouchForwarded(android.view.MotionEvent) -> onTouchForwarded
+ 170:212:boolean onTouchObserved(android.view.MotionEvent) -> onTouchObserved
+ 117:117:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 121:127:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+ 288:290:boolean pointInView(android.view.View,float,float,float) -> pointInView
+ 309:312:boolean toGlobalMotionEvent(android.view.View,android.view.MotionEvent) -> toGlobalMotionEvent
+ 298:301:boolean toLocalMotionEvent(android.view.View,android.view.MotionEvent) -> toLocalMotionEvent
+androidx.appcompat.widget.ForwardingListener$DisallowIntercept -> androidx.appcompat.widget.ForwardingListener$DisallowIntercept:
+ 316:317:void <init>(androidx.appcompat.widget.ForwardingListener) -> <init>
+ 321:325:void run() -> run
+androidx.appcompat.widget.ForwardingListener$TriggerLongPress -> androidx.appcompat.widget.ForwardingListener$TriggerLongPress:
+ 329:330:void <init>(androidx.appcompat.widget.ForwardingListener) -> <init>
+ 334:335:void run() -> run
+androidx.appcompat.widget.LinearLayoutCompat -> androidx.appcompat.widget.LinearLayoutCompat:
+ 151:152:void <init>(android.content.Context) -> <init>
+ 155:156:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 102:195:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 1761:1761:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 332:370:void drawDividersHorizontal(android.graphics.Canvas) -> drawDividersHorizontal
+ 305:329:void drawDividersVertical(android.graphics.Canvas) -> drawDividersVertical
+ 373:376:void drawHorizontalDivider(android.graphics.Canvas,int) -> drawHorizontalDivider
+ 379:382:void drawVerticalDivider(android.graphics.Canvas,int) -> drawVerticalDivider
+ 1327:1346:void forceUniformHeight(int,int) -> forceUniformHeight
+ 905:924:void forceUniformWidth(int,int) -> forceUniformWidth
+ 59:59:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 1744:1749:androidx.appcompat.widget.LinearLayoutCompat$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 59:59:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 59:59:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 1731:1731:androidx.appcompat.widget.LinearLayoutCompat$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 1754:1754:androidx.appcompat.widget.LinearLayoutCompat$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 433:481:int getBaseline() -> getBaseline
+ 490:490:int getBaselineAlignedChildIndex() -> getBaselineAlignedChildIndex
+ 1357:1357:int getChildrenSkipCount(android.view.View,int) -> getChildrenSkipCount
+ 231:231:android.graphics.drawable.Drawable getDividerDrawable() -> getDividerDrawable
+ 278:278:int getDividerPadding() -> getDividerPadding
+ 288:288:int getDividerWidth() -> getDividerWidth
+ 1710:1710:int getGravity() -> getGravity
+ 1399:1399:int getLocationOffset(android.view.View) -> getLocationOffset
+ 1411:1411:int getNextLocationOffset(android.view.View) -> getNextLocationOffset
+ 1677:1677:int getOrientation() -> getOrientation
+ 222:222:int getShowDividers() -> getShowDividers
+ 515:515:android.view.View getVirtualChildAt(int) -> getVirtualChildAt
+ 528:528:int getVirtualChildCount() -> getVirtualChildCount
+ 539:539:float getWeightSum() -> getWeightSum
+ 576:590:boolean hasDividerBeforeChildAt(int) -> hasDividerBeforeChildAt
+ 391:391:boolean isBaselineAligned() -> isBaselineAligned
+ 414:414:boolean isMeasureWithLargestChildEnabled() -> isMeasureWithLargestChildEnabled
+ 1531:1652:void layoutHorizontal(int,int,int,int) -> layoutHorizontal
+ 1436:1516:void layoutVertical(int,int,int,int) -> layoutVertical
+ 1387:1389:void measureChildBeforeLayout(android.view.View,int,int,int,int,int) -> measureChildBeforeLayout
+ 938:1321:void measureHorizontal(int,int) -> measureHorizontal
+ 1368:1368:int measureNullChild(int) -> measureNullChild
+ 605:901:void measureVertical(int,int) -> measureVertical
+ 293:302:void onDraw(android.graphics.Canvas) -> onDraw
+ 1766:1768:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 1772:1774:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 1416:1421:void onLayout(boolean,int,int,int,int) -> onLayout
+ 560:565:void onMeasure(int,int) -> onMeasure
+ 402:403:void setBaselineAligned(boolean) -> setBaselineAligned
+ 498:503:void setBaselineAlignedChildIndex(int) -> setBaselineAlignedChildIndex
+ 1655:1656:void setChildFrame(android.view.View,int,int,int,int) -> setChildFrame
+ 242:255:void setDividerDrawable(android.graphics.drawable.Drawable) -> setDividerDrawable
+ 267:268:void setDividerPadding(int) -> setDividerPadding
+ 1689:1701:void setGravity(int) -> setGravity
+ 1714:1719:void setHorizontalGravity(int) -> setHorizontalGravity
+ 428:429:void setMeasureWithLargestChildEnabled(boolean) -> setMeasureWithLargestChildEnabled
+ 1664:1668:void setOrientation(int) -> setOrientation
+ 205:209:void setShowDividers(int) -> setShowDividers
+ 1722:1727:void setVerticalGravity(int) -> setVerticalGravity
+ 555:556:void setWeightSum(float) -> setWeightSum
+ 213:213:boolean shouldDelayChildPressedState() -> shouldDelayChildPressedState
+androidx.appcompat.widget.LinearLayoutCompat$LayoutParams -> androidx.appcompat.widget.LinearLayoutCompat$LayoutParams:
+ 1785:1786:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1792:1793:void <init>(int,int) -> <init>
+ 1806:1807:void <init>(int,int,float) -> <init>
+ 1813:1814:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 1820:1821:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+androidx.appcompat.widget.ListPopupWindow -> androidx.appcompat.widget.ListPopupWindow:
+ 84:109:void <clinit>() -> <clinit>
+ 224:225:void <init>(android.content.Context) -> <init>
+ 235:236:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 248:249:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 115:278:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 1156:1329:int buildDropDown() -> buildDropDown
+ 846:853:void clearListSelection() -> clearListSelection
+ 1140:1140:android.view.View$OnTouchListener createDragToOpenListener(android.view.View) -> createDragToOpenListener
+ 950:950:androidx.appcompat.widget.DropDownListView createDropDownListView(android.content.Context,boolean) -> createDropDownListView
+ 772:777:void dismiss() -> dismiss
+ 460:460:android.view.View getAnchorView() -> getAnchorView
+ 451:451:int getAnimationStyle() -> getAnimationStyle
+ 423:423:android.graphics.drawable.Drawable getBackground() -> getBackground
+ 528:528:android.graphics.Rect getEpicenterBounds() -> getEpicenterBounds
+ 578:578:int getHeight() -> getHeight
+ 477:477:int getHorizontalOffset() -> getHorizontalOffset
+ 820:820:int getInputMethodMode() -> getInputMethodMode
+ 946:946:android.widget.ListView getListView() -> getListView
+ 1445:1457:int getMaxAvailableHeight(android.view.View,int,boolean) -> getMaxAvailableHeight
+ 322:322:int getPromptPosition() -> getPromptPosition
+ 895:898:java.lang.Object getSelectedItem() -> getSelectedItem
+ 921:924:long getSelectedItemId() -> getSelectedItemId
+ 908:911:int getSelectedItemPosition() -> getSelectedItemPosition
+ 934:937:android.view.View getSelectedView() -> getSelectedView
+ 407:407:int getSoftInputMode() -> getSoftInputMode
+ 493:496:int getVerticalOffset() -> getVerticalOffset
+ 545:545:int getWidth() -> getWidth
+ 1427:1427:boolean isConfirmKey(int) -> isConfirmKey
+ 383:383:boolean isDropDownAlwaysVisible() -> isDropDownAlwaysVisible
+ 868:868:boolean isInputMethodNotNeeded() -> isInputMethodNotNeeded
+ 345:345:boolean isModal() -> isModal
+ 860:860:boolean isShowing() -> isShowing
+ 976:1056:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 1095:1116:boolean onKeyPreIme(int,android.view.KeyEvent) -> onKeyPreIme
+ 1071:1080:boolean onKeyUp(int,android.view.KeyEvent) -> onKeyUp
+ 879:888:boolean performItemClick(int) -> performItemClick
+ 654:655:void postShow() -> postShow
+ 789:796:void removePromptView() -> removePromptView
+ 287:300:void setAdapter(android.widget.ListAdapter) -> setAdapter
+ 470:471:void setAnchorView(android.view.View) -> setAnchorView
+ 441:442:void setAnimationStyle(int) -> setAnimationStyle
+ 432:433:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 565:572:void setContentWidth(int) -> setContentWidth
+ 373:374:void setDropDownAlwaysVisible(boolean) -> setDropDownAlwaysVisible
+ 538:539:void setDropDownGravity(int) -> setDropDownGravity
+ 517:518:void setEpicenterBounds(android.graphics.Rect) -> setEpicenterBounds
+ 357:358:void setForceIgnoreOutsideTouch(boolean) -> setForceIgnoreOutsideTouch
+ 590:596:void setHeight(int) -> setHeight
+ 486:487:void setHorizontalOffset(int) -> setHorizontalOffset
+ 811:812:void setInputMethodMode(int) -> setInputMethodMode
+ 960:961:void setListItemExpandMax(int) -> setListItemExpandMax
+ 416:417:void setListSelector(android.graphics.drawable.Drawable) -> setListSelector
+ 335:337:void setModal(boolean) -> setModal
+ 785:786:void setOnDismissListener(android.widget.PopupWindow$OnDismissListener) -> setOnDismissListener
+ 619:620:void setOnItemClickListener(android.widget.AdapterView$OnItemClickListener) -> setOnItemClickListener
+ 630:631:void setOnItemSelectedListener(android.widget.AdapterView$OnItemSelectedListener) -> setOnItemSelectedListener
+ 1338:1340:void setOverlapAnchor(boolean) -> setOverlapAnchor
+ 1431:1442:void setPopupClipToScreenEnabled(boolean) -> setPopupClipToScreenEnabled
+ 312:313:void setPromptPosition(int) -> setPromptPosition
+ 640:648:void setPromptView(android.view.View) -> setPromptView
+ 830:839:void setSelection(int) -> setSelection
+ 397:398:void setSoftInputMode(int) -> setSoftInputMode
+ 505:507:void setVerticalOffset(int) -> setVerticalOffset
+ 555:556:void setWidth(int) -> setWidth
+ 608:609:void setWindowLayoutType(int) -> setWindowLayoutType
+ 663:765:void show() -> show
+androidx.appcompat.widget.ListPopupWindow$1 -> androidx.appcompat.widget.ListPopupWindow$1:
+ 1140:1140:void <init>(androidx.appcompat.widget.ListPopupWindow,android.view.View) -> <init>
+ 1140:1140:androidx.appcompat.view.menu.ShowableListMenu getPopup() -> getPopup
+ 1143:1143:androidx.appcompat.widget.ListPopupWindow getPopup() -> getPopup
+androidx.appcompat.widget.ListPopupWindow$2 -> androidx.appcompat.widget.ListPopupWindow$2:
+ 1167:1167:void <init>(androidx.appcompat.widget.ListPopupWindow) -> <init>
+ 1171:1175:void run() -> run
+androidx.appcompat.widget.ListPopupWindow$3 -> androidx.appcompat.widget.ListPopupWindow$3:
+ 1186:1186:void <init>(androidx.appcompat.widget.ListPopupWindow) -> <init>
+ 1191:1198:void onItemSelected(android.widget.AdapterView,android.view.View,int,long) -> onItemSelected
+ 1202:1202:void onNothingSelected(android.widget.AdapterView) -> onNothingSelected
+androidx.appcompat.widget.ListPopupWindow$ListSelectorHider -> androidx.appcompat.widget.ListPopupWindow$ListSelectorHider:
+ 1361:1362:void <init>(androidx.appcompat.widget.ListPopupWindow) -> <init>
+ 1366:1367:void run() -> run
+androidx.appcompat.widget.ListPopupWindow$PopupDataSetObserver -> androidx.appcompat.widget.ListPopupWindow$PopupDataSetObserver:
+ 1343:1344:void <init>(androidx.appcompat.widget.ListPopupWindow) -> <init>
+ 1348:1352:void onChanged() -> onChanged
+ 1356:1357:void onInvalidated() -> onInvalidated
+androidx.appcompat.widget.ListPopupWindow$PopupScrollListener -> androidx.appcompat.widget.ListPopupWindow$PopupScrollListener:
+ 1407:1408:void <init>(androidx.appcompat.widget.ListPopupWindow) -> <init>
+ 1414:1414:void onScroll(android.widget.AbsListView,int,int,int) -> onScroll
+ 1418:1423:void onScrollStateChanged(android.widget.AbsListView,int) -> onScrollStateChanged
+androidx.appcompat.widget.ListPopupWindow$PopupTouchInterceptor -> androidx.appcompat.widget.ListPopupWindow$PopupTouchInterceptor:
+ 1386:1387:void <init>(androidx.appcompat.widget.ListPopupWindow) -> <init>
+ 1391:1402:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+androidx.appcompat.widget.ListPopupWindow$ResizePopupRunnable -> androidx.appcompat.widget.ListPopupWindow$ResizePopupRunnable:
+ 1371:1372:void <init>(androidx.appcompat.widget.ListPopupWindow) -> <init>
+ 1376:1382:void run() -> run
+androidx.appcompat.widget.MenuPopupWindow -> androidx.appcompat.widget.MenuPopupWindow:
+ 61:68:void <clinit>() -> <clinit>
+ 74:75:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 80:82:androidx.appcompat.widget.DropDownListView createDropDownListView(android.content.Context,boolean) -> createDropDownListView
+ 122:125:void onItemHoverEnter(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onItemHoverEnter
+ 130:133:void onItemHoverExit(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onItemHoverExit
+ 86:89:void setEnterTransition(java.lang.Object) -> setEnterTransition
+ 92:95:void setExitTransition(java.lang.Object) -> setExitTransition
+ 98:99:void setHoverListener(androidx.appcompat.widget.MenuItemHoverListener) -> setHoverListener
+ 106:117:void setTouchModal(boolean) -> setTouchModal
+androidx.appcompat.widget.MenuPopupWindow$MenuDropDownListView -> androidx.appcompat.widget.MenuPopupWindow$MenuDropDownListView:
+ 147:159:void <init>(android.content.Context,boolean) -> <init>
+ 166:167:void clearSelection() -> clearSelection
+ 138:138:boolean hasFocus() -> hasFocus
+ 138:138:boolean hasWindowFocus() -> hasWindowFocus
+ 138:138:boolean isFocused() -> isFocused
+ 138:138:boolean isInTouchMode() -> isInTouchMode
+ 138:138:int lookForSelectablePosition(int,boolean) -> lookForSelectablePosition
+ 138:138:int measureHeightOfChildrenCompat(int,int,int,int,int) -> measureHeightOfChildrenCompat
+ 138:138:boolean onForwardedEvent(android.view.MotionEvent,int) -> onForwardedEvent
+ 201:242:boolean onHoverEvent(android.view.MotionEvent) -> onHoverEvent
+ 171:195:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 138:138:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 162:163:void setHoverListener(androidx.appcompat.widget.MenuItemHoverListener) -> setHoverListener
+ 138:138:void setSelector(android.graphics.drawable.Drawable) -> setSelector
+androidx.appcompat.widget.PopupMenu -> androidx.appcompat.widget.PopupMenu:
+ 68:69:void <init>(android.content.Context,android.view.View) -> <init>
+ 83:84:void <init>(android.content.Context,android.view.View,int) -> <init>
+ 104:133:void <init>(android.content.Context,android.view.View,int,int,int) -> <init>
+ 247:248:void dismiss() -> dismiss
+ 174:196:android.view.View$OnTouchListener getDragToOpenListener() -> getDragToOpenListener
+ 153:153:int getGravity() -> getGravity
+ 209:209:android.view.Menu getMenu() -> getMenu
+ 219:219:android.view.MenuInflater getMenuInflater() -> getMenuInflater
+ 306:309:android.widget.ListView getMenuListView() -> getMenuListView
+ 229:230:void inflate(int) -> inflate
+ 145:146:void setGravity(int) -> setGravity
+ 266:267:void setOnDismissListener(androidx.appcompat.widget.PopupMenu$OnDismissListener) -> setOnDismissListener
+ 257:258:void setOnMenuItemClickListener(androidx.appcompat.widget.PopupMenu$OnMenuItemClickListener) -> setOnMenuItemClickListener
+ 238:239:void show() -> show
+androidx.appcompat.widget.PopupMenu$1 -> androidx.appcompat.widget.PopupMenu$1:
+ 109:109:void <init>(androidx.appcompat.widget.PopupMenu) -> <init>
+ 112:115:boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onMenuItemSelected
+ 120:120:void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder) -> onMenuModeChange
+androidx.appcompat.widget.PopupMenu$2 -> androidx.appcompat.widget.PopupMenu$2:
+ 125:125:void <init>(androidx.appcompat.widget.PopupMenu) -> <init>
+ 128:131:void onDismiss() -> onDismiss
+androidx.appcompat.widget.PopupMenu$3 -> androidx.appcompat.widget.PopupMenu$3:
+ 175:175:void <init>(androidx.appcompat.widget.PopupMenu,android.view.View) -> <init>
+ 191:191:androidx.appcompat.view.menu.ShowableListMenu getPopup() -> getPopup
+ 178:179:boolean onForwardingStarted() -> onForwardingStarted
+ 184:185:boolean onForwardingStopped() -> onForwardingStopped
+androidx.appcompat.widget.ResourceManagerInternal -> androidx.appcompat.widget.ResourceManagerInternal:
+ 85:115:void <clinit>() -> <clinit>
+ 61:121:void <init>() -> <init>
+ 370:374:void addDelegate(java.lang.String,androidx.appcompat.widget.ResourceManagerInternal$InflateDelegate) -> addDelegate
+ 338:349:boolean addDrawableToCache(android.content.Context,long,android.graphics.drawable.Drawable) -> addDrawableToCache
+ 405:414:void addTintListToCache(android.content.Context,int,android.content.res.ColorStateList) -> addTintListToCache
+ 485:498:void checkVectorDrawableSetup(android.content.Context) -> checkVectorDrawableSetup
+ 170:170:long createCacheKey(android.util.TypedValue) -> createCacheKey
+ 175:198:android.graphics.drawable.Drawable createDrawableIfNeeded(android.content.Context,int) -> createDrawableIfNeeded
+ 463:467:android.graphics.PorterDuffColorFilter createTintFilter(android.content.res.ColorStateList,android.graphics.PorterDuff$Mode,int[]) -> createTintFilter
+ 95:100:androidx.appcompat.widget.ResourceManagerInternal get() -> get
+ 317:334:android.graphics.drawable.Drawable getCachedDrawable(android.content.Context,long) -> getCachedDrawable
+ 135:135:android.graphics.drawable.Drawable getDrawable(android.content.Context,int) -> getDrawable
+ 139:158:android.graphics.drawable.Drawable getDrawable(android.content.Context,int,boolean) -> getDrawable
+ 472:481:android.graphics.PorterDuffColorFilter getPorterDuffColorFilter(int,android.graphics.PorterDuff$Mode) -> getPorterDuffColorFilter
+ 381:392:android.content.res.ColorStateList getTintList(android.content.Context,int) -> getTintList
+ 396:400:android.content.res.ColorStateList getTintListFromCache(android.content.Context,int) -> getTintListFromCache
+ 377:377:android.graphics.PorterDuff$Mode getTintMode(int) -> getTintMode
+ 107:113:void installDefaultInflateDelegates(androidx.appcompat.widget.ResourceManagerInternal) -> installDefaultInflateDelegates
+ 501:502:boolean isVectorDrawable(android.graphics.drawable.Drawable) -> isVectorDrawable
+ 232:313:android.graphics.drawable.Drawable loadDrawableFromDelegates(android.content.Context,int) -> loadDrawableFromDelegates
+ 161:167:void onConfigurationChanged(android.content.Context) -> onConfigurationChanged
+ 353:361:android.graphics.drawable.Drawable onDrawableLoadedFromResources(android.content.Context,androidx.appcompat.widget.VectorEnabledTintResources,int) -> onDrawableLoadedFromResources
+ 130:132:void setHooks(androidx.appcompat.widget.ResourceManagerInternal$ResourceManagerHooks) -> setHooks
+ 203:228:android.graphics.drawable.Drawable tintDrawable(android.content.Context,int,boolean,android.graphics.drawable.Drawable) -> tintDrawable
+ 439:459:void tintDrawable(android.graphics.drawable.Drawable,androidx.appcompat.widget.TintInfo,int[]) -> tintDrawable
+ 366:366:boolean tintDrawableUsingColorFilter(android.content.Context,int,android.graphics.drawable.Drawable) -> tintDrawableUsingColorFilter
+androidx.appcompat.widget.ResourceManagerInternal$AsldcInflateDelegate -> androidx.appcompat.widget.ResourceManagerInternal$AsldcInflateDelegate:
+ 539:539:void <init>() -> <init>
+ 544:548:android.graphics.drawable.Drawable createFromXmlInner(android.content.Context,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> createFromXmlInner
+androidx.appcompat.widget.ResourceManagerInternal$AvdcInflateDelegate -> androidx.appcompat.widget.ResourceManagerInternal$AvdcInflateDelegate:
+ 523:524:void <init>() -> <init>
+ 530:534:android.graphics.drawable.Drawable createFromXmlInner(android.content.Context,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> createFromXmlInner
+androidx.appcompat.widget.ResourceManagerInternal$ColorFilterLruCache -> androidx.appcompat.widget.ResourceManagerInternal$ColorFilterLruCache:
+ 419:420:void <init>(int) -> <init>
+ 431:434:int generateCacheKey(int,android.graphics.PorterDuff$Mode) -> generateCacheKey
+ 423:423:android.graphics.PorterDuffColorFilter get(int,android.graphics.PorterDuff$Mode) -> get
+ 427:427:android.graphics.PorterDuffColorFilter put(int,android.graphics.PorterDuff$Mode,android.graphics.PorterDuffColorFilter) -> put
+androidx.appcompat.widget.ResourceManagerInternal$DrawableDelegate -> androidx.appcompat.widget.ResourceManagerInternal$DrawableDelegate:
+ 553:553:void <init>() -> <init>
+ 557:575:android.graphics.drawable.Drawable createFromXmlInner(android.content.Context,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> createFromXmlInner
+androidx.appcompat.widget.ResourceManagerInternal$VdcInflateDelegate -> androidx.appcompat.widget.ResourceManagerInternal$VdcInflateDelegate:
+ 506:507:void <init>() -> <init>
+ 513:517:android.graphics.drawable.Drawable createFromXmlInner(android.content.Context,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> createFromXmlInner
+androidx.appcompat.widget.ResourcesWrapper -> androidx.appcompat.widget.ResourcesWrapper:
+ 48:50:void <init>(android.content.res.Resources) -> <init>
+ 188:188:android.content.res.XmlResourceParser getAnimation(int) -> getAnimation
+ 173:173:boolean getBoolean(int) -> getBoolean
+ 162:162:int getColor(int) -> getColor
+ 168:168:android.content.res.ColorStateList getColorStateList(int) -> getColorStateList
+ 251:251:android.content.res.Configuration getConfiguration() -> getConfiguration
+ 110:110:float getDimension(int) -> getDimension
+ 115:115:int getDimensionPixelOffset(int) -> getDimensionPixelOffset
+ 120:120:int getDimensionPixelSize(int) -> getDimensionPixelSize
+ 246:246:android.util.DisplayMetrics getDisplayMetrics() -> getDisplayMetrics
+ 131:131:android.graphics.drawable.Drawable getDrawable(int) -> getDrawable
+ 137:137:android.graphics.drawable.Drawable getDrawable(int,android.content.res.Resources$Theme) -> getDrawable
+ 144:144:android.graphics.drawable.Drawable getDrawableForDensity(int,int) -> getDrawableForDensity
+ 150:150:android.graphics.drawable.Drawable getDrawableForDensity(int,int,android.content.res.Resources$Theme) -> getDrawableForDensity
+ 125:125:float getFraction(int,int,int) -> getFraction
+ 256:256:int getIdentifier(java.lang.String,java.lang.String,java.lang.String) -> getIdentifier
+ 100:100:int[] getIntArray(int) -> getIntArray
+ 178:178:int getInteger(int) -> getInteger
+ 183:183:android.content.res.XmlResourceParser getLayout(int) -> getLayout
+ 156:156:android.graphics.Movie getMovie(int) -> getMovie
+ 75:75:java.lang.String getQuantityString(int,int,java.lang.Object[]) -> getQuantityString
+ 80:80:java.lang.String getQuantityString(int,int) -> getQuantityString
+ 59:59:java.lang.CharSequence getQuantityText(int,int) -> getQuantityText
+ 276:276:java.lang.String getResourceEntryName(int) -> getResourceEntryName
+ 261:261:java.lang.String getResourceName(int) -> getResourceName
+ 266:266:java.lang.String getResourcePackageName(int) -> getResourcePackageName
+ 271:271:java.lang.String getResourceTypeName(int) -> getResourceTypeName
+ 64:64:java.lang.String getString(int) -> getString
+ 69:69:java.lang.String getString(int,java.lang.Object[]) -> getString
+ 95:95:java.lang.String[] getStringArray(int) -> getStringArray
+ 54:54:java.lang.CharSequence getText(int) -> getText
+ 85:85:java.lang.CharSequence getText(int,java.lang.CharSequence) -> getText
+ 90:90:java.lang.CharSequence[] getTextArray(int) -> getTextArray
+ 214:215:void getValue(int,android.util.TypedValue,boolean) -> getValue
+ 227:228:void getValue(java.lang.String,android.util.TypedValue,boolean) -> getValue
+ 221:222:void getValueForDensity(int,int,android.util.TypedValue,boolean) -> getValueForDensity
+ 193:193:android.content.res.XmlResourceParser getXml(int) -> getXml
+ 232:232:android.content.res.TypedArray obtainAttributes(android.util.AttributeSet,int[]) -> obtainAttributes
+ 105:105:android.content.res.TypedArray obtainTypedArray(int) -> obtainTypedArray
+ 198:198:java.io.InputStream openRawResource(int) -> openRawResource
+ 203:203:java.io.InputStream openRawResource(int,android.util.TypedValue) -> openRawResource
+ 208:208:android.content.res.AssetFileDescriptor openRawResourceFd(int) -> openRawResourceFd
+ 288:289:void parseBundleExtra(java.lang.String,android.util.AttributeSet,android.os.Bundle) -> parseBundleExtra
+ 282:283:void parseBundleExtras(android.content.res.XmlResourceParser,android.os.Bundle) -> parseBundleExtras
+ 238:242:void updateConfiguration(android.content.res.Configuration,android.util.DisplayMetrics) -> updateConfiguration
+androidx.appcompat.widget.RtlSpacingHelper -> androidx.appcompat.widget.RtlSpacingHelper:
+ 25:36:void <init>() -> <init>
+ 51:51:int getEnd() -> getEnd
+ 39:39:int getLeft() -> getLeft
+ 43:43:int getRight() -> getRight
+ 47:47:int getStart() -> getStart
+ 68:71:void setAbsolute(int,int) -> setAbsolute
+ 74:90:void setDirection(boolean) -> setDirection
+ 55:65:void setRelative(int,int) -> setRelative
+androidx.appcompat.widget.ScrollingTabContainerView -> androidx.appcompat.widget.ScrollingTabContainerView:
+ 78:78:void <clinit>() -> <clinit>
+ 76:94:void <init>(android.content.Context) -> <init>
+ 311:323:void addTab(androidx.appcompat.app.ActionBar$Tab,boolean) -> addTab
+ 326:338:void addTab(androidx.appcompat.app.ActionBar$Tab,int,boolean) -> addTab
+ 261:274:void animateToTab(int) -> animateToTab
+ 236:258:void animateToVisibility(int) -> animateToVisibility
+ 215:221:android.widget.Spinner createSpinner() -> createSpinner
+ 205:211:androidx.appcompat.widget.LinearLayoutCompat createTabLayout() -> createTabLayout
+ 294:307:androidx.appcompat.widget.ScrollingTabContainerView$TabView createTabView(androidx.appcompat.app.ActionBar$Tab,boolean) -> createTabView
+ 147:147:boolean isCollapsed() -> isCollapsed
+ 278:283:void onAttachedToWindow() -> onAttachedToWindow
+ 226:233:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 287:291:void onDetachedFromWindow() -> onDetachedFromWindow
+ 372:374:void onItemSelected(android.widget.AdapterView,android.view.View,int,long) -> onItemSelected
+ 98:139:void onMeasure(int,int) -> onMeasure
+ 379:379:void onNothingSelected(android.widget.AdapterView) -> onNothingSelected
+ 155:171:void performCollapse() -> performCollapse
+ 174:180:boolean performExpand() -> performExpand
+ 361:368:void removeAllTabs() -> removeAllTabs
+ 351:358:void removeTabAt(int) -> removeTabAt
+ 151:152:void setAllowCollapse(boolean) -> setAllowCollapse
+ 200:202:void setContentHeight(int) -> setContentHeight
+ 184:197:void setTabSelected(int) -> setTabSelected
+ 341:348:void updateTab(int) -> updateTab
+androidx.appcompat.widget.ScrollingTabContainerView$1 -> androidx.appcompat.widget.ScrollingTabContainerView$1:
+ 265:265:void <init>(androidx.appcompat.widget.ScrollingTabContainerView,android.view.View) -> <init>
+ 268:271:void run() -> run
+androidx.appcompat.widget.ScrollingTabContainerView$TabAdapter -> androidx.appcompat.widget.ScrollingTabContainerView$TabAdapter:
+ 527:528:void <init>(androidx.appcompat.widget.ScrollingTabContainerView) -> <init>
+ 532:532:int getCount() -> getCount
+ 537:537:java.lang.Object getItem(int) -> getItem
+ 542:542:long getItemId(int) -> getItemId
+ 547:552:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+androidx.appcompat.widget.ScrollingTabContainerView$TabClickListener -> androidx.appcompat.widget.ScrollingTabContainerView$TabClickListener:
+ 557:558:void <init>(androidx.appcompat.widget.ScrollingTabContainerView) -> <init>
+ 562:569:void onClick(android.view.View) -> onClick
+androidx.appcompat.widget.ScrollingTabContainerView$TabView -> androidx.appcompat.widget.ScrollingTabContainerView$TabView:
+ 382:411:void <init>(androidx.appcompat.widget.ScrollingTabContainerView,android.content.Context,androidx.appcompat.app.ActionBar$Tab,boolean) -> <init>
+ 414:416:void bindTab(androidx.appcompat.app.ActionBar$Tab) -> bindTab
+ 522:522:androidx.appcompat.app.ActionBar$Tab getTab() -> getTab
+ 429:432:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 436:440:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 444:451:void onMeasure(int,int) -> onMeasure
+ 420:425:void setSelected(boolean) -> setSelected
+ 454:519:void update() -> update
+androidx.appcompat.widget.ScrollingTabContainerView$VisibilityAnimListener -> androidx.appcompat.widget.ScrollingTabContainerView$VisibilityAnimListener:
+ 572:573:void <init>(androidx.appcompat.widget.ScrollingTabContainerView) -> <init>
+ 599:600:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 591:595:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 585:587:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+ 578:580:androidx.appcompat.widget.ScrollingTabContainerView$VisibilityAnimListener withFinalVisibility(android.view.ViewPropertyAnimator,int) -> withFinalVisibility
+androidx.appcompat.widget.SearchView -> androidx.appcompat.widget.SearchView:
+ 175:176:void <clinit>() -> <clinit>
+ 267:268:void <init>(android.content.Context) -> <init>
+ 271:272:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 131:1713:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 1364:1385:void adjustDropDownSizeAndPosition() -> adjustDropDownSizeAndPosition
+ 497:502:void clearFocus() -> clearFocus
+ 1537:1560:android.content.Intent createIntent(java.lang.String,android.net.Uri,java.lang.String,java.lang.String,int,java.lang.String) -> createIntent
+ 1656:1692:android.content.Intent createIntentFromSuggestion(android.database.Cursor,int,java.lang.String) -> createIntentFromSuggestion
+ 1582:1637:android.content.Intent createVoiceAppSearchIntent(android.content.Intent,android.app.SearchableInfo) -> createVoiceAppSearchIntent
+ 1567:1571:android.content.Intent createVoiceWebSearchIntent(android.content.Intent,android.app.SearchableInfo) -> createVoiceWebSearchIntent
+ 1202:1203:void dismissSuggestions() -> dismissSuggestions
+ 1697:1703:void forceSuggestionQuery() -> forceSuggestionQuery
+ 851:856:void getChildBoundsWithinSearchView(android.view.View,android.graphics.Rect) -> getChildBoundsWithinSearchView
+ 1088:1098:java.lang.CharSequence getDecoratedHint(java.lang.CharSequence) -> getDecoratedHint
+ 452:452:int getImeOptions() -> getImeOptions
+ 474:474:int getInputType() -> getInputType
+ 777:777:int getMaxWidth() -> getMaxWidth
+ 864:865:int getPreferredHeight() -> getPreferredHeight
+ 859:860:int getPreferredWidth() -> getPreferredWidth
+ 559:559:java.lang.CharSequence getQuery() -> getQuery
+ 619:626:java.lang.CharSequence getQueryHint() -> getQueryHint
+ 394:394:int getSuggestionCommitIconResId() -> getSuggestionCommitIconResId
+ 390:390:int getSuggestionRowLayout() -> getSuggestionRowLayout
+ 755:755:androidx.cursoradapter.widget.CursorAdapter getSuggestionsAdapter() -> getSuggestionsAdapter
+ 893:906:boolean hasVoiceSearch() -> hasVoiceSearch
+ 655:655:boolean isIconfiedByDefault() -> isIconfiedByDefault
+ 683:683:boolean isIconified() -> isIconified
+ 1706:1706:boolean isLandscapeMode(android.content.Context) -> isLandscapeMode
+ 735:735:boolean isQueryRefinementEnabled() -> isQueryRefinementEnabled
+ 910:910:boolean isSubmitAreaEnabled() -> isSubmitAreaEnabled
+ 705:705:boolean isSubmitButtonEnabled() -> isSubmitButtonEnabled
+ 1494:1504:void launchIntent(android.content.Intent) -> launchIntent
+ 1516:1519:void launchQuerySearch(int,java.lang.String,java.lang.String) -> launchQuerySearch
+ 1477:1487:boolean launchSuggestion(int,int,java.lang.String) -> launchSuggestion
+ 1279:1284:void onActionViewCollapsed() -> onActionViewCollapsed
+ 1291:1298:void onActionViewExpanded() -> onActionViewExpanded
+ 1206:1223:void onCloseClicked() -> onCloseClicked
+ 964:967:void onDetachedFromWindow() -> onDetachedFromWindow
+ 1388:1395:boolean onItemClicked(int,int,java.lang.String) -> onItemClicked
+ 1399:1404:boolean onItemSelected(int) -> onItemSelected
+ 832:848:void onLayout(boolean,int,int,int,int) -> onLayout
+ 783:828:void onMeasure(int,int) -> onMeasure
+ 973:974:void onQueryRefine(java.lang.CharSequence) -> onQueryRefine
+ 1353:1361:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 1345:1348:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 1226:1232:void onSearchClicked() -> onSearchClicked
+ 1188:1199:void onSubmitQuery() -> onSubmitQuery
+ 1043:1082:boolean onSuggestionsKey(android.view.View,int,android.view.KeyEvent) -> onSuggestionsKey
+ 1174:1185:void onTextChanged(java.lang.CharSequence) -> onTextChanged
+ 1258:1265:void onTextFocusChanged() -> onTextFocusChanged
+ 1236:1255:void onVoiceClicked() -> onVoiceClicked
+ 1269:1272:void onWindowFocusChanged(boolean) -> onWindowFocusChanged
+ 945:946:void postUpdateFocusedState() -> postUpdateFocusedState
+ 480:491:boolean requestFocus(int,android.graphics.Rect) -> requestFocus
+ 1444:1464:void rewriteQueryFromSuggestion(int) -> rewriteQueryFromSuggestion
+ 429:430:void setAppSearchData(android.os.Bundle) -> setAppSearchData
+ 669:674:void setIconified(boolean) -> setIconified
+ 642:646:void setIconifiedByDefault(boolean) -> setIconifiedByDefault
+ 441:442:void setImeOptions(int) -> setImeOptions
+ 464:465:void setInputType(int) -> setInputType
+ 764:767:void setMaxWidth(int) -> setMaxWidth
+ 520:521:void setOnCloseListener(androidx.appcompat.widget.SearchView$OnCloseListener) -> setOnCloseListener
+ 529:530:void setOnQueryTextFocusChangeListener(android.view.View$OnFocusChangeListener) -> setOnQueryTextFocusChangeListener
+ 511:512:void setOnQueryTextListener(androidx.appcompat.widget.SearchView$OnQueryTextListener) -> setOnQueryTextListener
+ 550:551:void setOnSearchClickListener(android.view.View$OnClickListener) -> setOnSearchClickListener
+ 538:539:void setOnSuggestionListener(androidx.appcompat.widget.SearchView$OnSuggestionListener) -> setOnSuggestionListener
+ 571:581:void setQuery(java.lang.CharSequence,boolean) -> setQuery
+ 1510:1513:void setQuery(java.lang.CharSequence) -> setQuery
+ 594:596:void setQueryHint(java.lang.CharSequence) -> setQueryHint
+ 723:728:void setQueryRefinementEnabled(boolean) -> setQueryRefinementEnabled
+ 406:420:void setSearchableInfo(android.app.SearchableInfo) -> setSearchableInfo
+ 695:697:void setSubmitButtonEnabled(boolean) -> setSubmitButtonEnabled
+ 745:748:void setSuggestionsAdapter(androidx.cursoradapter.widget.CursorAdapter) -> setSuggestionsAdapter
+ 933:942:void updateCloseButton() -> updateCloseButton
+ 949:960:void updateFocusedState() -> updateFocusedState
+ 1102:1104:void updateQueryHint() -> updateQueryHint
+ 1110:1144:void updateSearchAutoComplete() -> updateSearchAutoComplete
+ 923:930:void updateSubmitArea() -> updateSubmitArea
+ 914:920:void updateSubmitButton(boolean) -> updateSubmitButton
+ 869:890:void updateViewsVisibility(boolean) -> updateViewsVisibility
+ 1153:1159:void updateVoiceButton(boolean) -> updateVoiceButton
+androidx.appcompat.widget.SearchView$1 -> androidx.appcompat.widget.SearchView$1:
+ 178:178:void <init>(androidx.appcompat.widget.SearchView) -> <init>
+ 181:182:void run() -> run
+androidx.appcompat.widget.SearchView$10 -> androidx.appcompat.widget.SearchView$10:
+ 1713:1713:void <init>(androidx.appcompat.widget.SearchView) -> <init>
+ 1725:1725:void afterTextChanged(android.text.Editable) -> afterTextChanged
+ 1715:1715:void beforeTextChanged(java.lang.CharSequence,int,int,int) -> beforeTextChanged
+ 1720:1721:void onTextChanged(java.lang.CharSequence,int,int,int) -> onTextChanged
+androidx.appcompat.widget.SearchView$2 -> androidx.appcompat.widget.SearchView$2:
+ 185:185:void <init>(androidx.appcompat.widget.SearchView) -> <init>
+ 188:191:void run() -> run
+androidx.appcompat.widget.SearchView$3 -> androidx.appcompat.widget.SearchView$3:
+ 331:331:void <init>(androidx.appcompat.widget.SearchView) -> <init>
+ 334:337:void onFocusChange(android.view.View,boolean) -> onFocusChange
+androidx.appcompat.widget.SearchView$4 -> androidx.appcompat.widget.SearchView$4:
+ 376:376:void <init>(androidx.appcompat.widget.SearchView) -> <init>
+ 380:381:void onLayoutChange(android.view.View,int,int,int,int,int,int,int,int) -> onLayoutChange
+androidx.appcompat.widget.SearchView$5 -> androidx.appcompat.widget.SearchView$5:
+ 976:976:void <init>(androidx.appcompat.widget.SearchView) -> <init>
+ 979:990:void onClick(android.view.View) -> onClick
+androidx.appcompat.widget.SearchView$6 -> androidx.appcompat.widget.SearchView$6:
+ 998:998:void <init>(androidx.appcompat.widget.SearchView) -> <init>
+ 1002:1032:boolean onKey(android.view.View,int,android.view.KeyEvent) -> onKey
+androidx.appcompat.widget.SearchView$7 -> androidx.appcompat.widget.SearchView$7:
+ 1161:1161:void <init>(androidx.appcompat.widget.SearchView) -> <init>
+ 1168:1169:boolean onEditorAction(android.widget.TextView,int,android.view.KeyEvent) -> onEditorAction
+androidx.appcompat.widget.SearchView$8 -> androidx.appcompat.widget.SearchView$8:
+ 1407:1407:void <init>(androidx.appcompat.widget.SearchView) -> <init>
+ 1415:1416:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+androidx.appcompat.widget.SearchView$9 -> androidx.appcompat.widget.SearchView$9:
+ 1419:1419:void <init>(androidx.appcompat.widget.SearchView) -> <init>
+ 1427:1428:void onItemSelected(android.widget.AdapterView,android.view.View,int,long) -> onItemSelected
+ 1437:1437:void onNothingSelected(android.widget.AdapterView) -> onNothingSelected
+androidx.appcompat.widget.SearchView$PreQAutoCompleteTextViewReflector -> androidx.appcompat.widget.SearchView$PreQAutoCompleteTextViewReflector:
+ 2037:2067:void <init>() -> <init>
+ 2080:2087:void doAfterTextChanged(android.widget.AutoCompleteTextView) -> doAfterTextChanged
+ 2070:2077:void doBeforeTextChanged(android.widget.AutoCompleteTextView) -> doBeforeTextChanged
+ 2090:2097:void ensureImeVisible(android.widget.AutoCompleteTextView) -> ensureImeVisible
+ 2100:2104:void preApi29Check() -> preApi29Check
+androidx.appcompat.widget.SearchView$SavedState -> androidx.appcompat.widget.SearchView$SavedState:
+ 1325:1325:void <clinit>() -> <clinit>
+ 1304:1305:void <init>(android.os.Parcelable) -> <init>
+ 1308:1310:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 1320:1321:java.lang.String toString() -> toString
+ 1314:1316:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.appcompat.widget.SearchView$SavedState$1 -> androidx.appcompat.widget.SearchView$SavedState$1:
+ 1325:1325:void <init>() -> <init>
+ 1325:1325:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 1325:1325:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1328:1328:androidx.appcompat.widget.SearchView$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1333:1333:androidx.appcompat.widget.SearchView$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 1325:1325:java.lang.Object[] newArray(int) -> newArray
+ 1338:1338:androidx.appcompat.widget.SearchView$SavedState[] newArray(int) -> newArray
+androidx.appcompat.widget.SearchView$SearchAutoComplete -> androidx.appcompat.widget.SearchView$SearchAutoComplete:
+ 1842:1843:void <init>(android.content.Context) -> <init>
+ 1846:1847:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1834:1852:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 1931:1931:boolean enoughToFilter() -> enoughToFilter
+ 2025:2033:void ensureImeVisible() -> ensureImeVisible
+ 1964:1974:int getSearchViewTextMinWidthDp() -> getSearchViewTextMinWidthDp
+ 1876:1876:boolean isEmpty() -> isEmpty
+ 1983:1988:android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo) -> onCreateInputConnection
+ 1856:1860:void onFinishInflate() -> onFinishInflate
+ 1921:1923:void onFocusChanged(boolean,int,android.graphics.Rect) -> onFocusChanged
+ 1936:1957:boolean onKeyPreIme(int,android.view.KeyEvent) -> onKeyPreIme
+ 1903:1917:void onWindowFocusChanged(boolean) -> onWindowFocusChanged
+ 1895:1895:void performCompletion() -> performCompletion
+ 1885:1885:void replaceText(java.lang.CharSequence) -> replaceText
+ 2001:2022:void setImeVisibility(boolean) -> setImeVisibility
+ 1863:1864:void setSearchView(androidx.appcompat.widget.SearchView) -> setSearchView
+ 1868:1870:void setThreshold(int) -> setThreshold
+ 1992:1998:void showSoftInputIfNecessary() -> showSoftInputIfNecessary
+androidx.appcompat.widget.SearchView$SearchAutoComplete$1 -> androidx.appcompat.widget.SearchView$SearchAutoComplete$1:
+ 1834:1834:void <init>(androidx.appcompat.widget.SearchView$SearchAutoComplete) -> <init>
+ 1837:1838:void run() -> run
+androidx.appcompat.widget.SearchView$UpdatableTouchDelegate -> androidx.appcompat.widget.SearchView$UpdatableTouchDelegate:
+ 1760:1767:void <init>(android.graphics.Rect,android.graphics.Rect,android.view.View) -> <init>
+ 1778:1819:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 1770:1774:void setBounds(android.graphics.Rect,android.graphics.Rect) -> setBounds
+androidx.appcompat.widget.ShareActionProvider -> androidx.appcompat.widget.ShareActionProvider:
+ 164:199:void <init>(android.content.Context) -> <init>
+ 249:249:boolean hasSubMenu() -> hasSubMenu
+ 222:241:android.view.View onCreateActionView() -> onCreateActionView
+ 258:286:void onPrepareSubMenu(android.view.SubMenu) -> onPrepareSubMenu
+ 383:391:void setActivityChooserPolicyIfNeeded() -> setActivityChooserPolicyIfNeeded
+ 212:214:void setOnShareTargetSelectedListener(androidx.appcompat.widget.ShareActionProvider$OnShareTargetSelectedListener) -> setOnShareTargetSelectedListener
+ 321:323:void setShareHistoryFileName(java.lang.String) -> setShareHistoryFileName
+ 342:351:void setShareIntent(android.content.Intent) -> setShareIntent
+ 411:419:void updateIntent(android.content.Intent) -> updateIntent
+androidx.appcompat.widget.ShareActionProvider$ShareActivityChooserModelPolicy -> androidx.appcompat.widget.ShareActionProvider$ShareActivityChooserModelPolicy:
+ 397:398:void <init>(androidx.appcompat.widget.ShareActionProvider) -> <init>
+ 402:406:boolean onChooseActivity(androidx.appcompat.widget.ActivityChooserModel,android.content.Intent) -> onChooseActivity
+androidx.appcompat.widget.ShareActionProvider$ShareMenuItemOnMenuItemClickListener -> androidx.appcompat.widget.ShareActionProvider$ShareMenuItemOnMenuItemClickListener:
+ 357:358:void <init>(androidx.appcompat.widget.ShareActionProvider) -> <init>
+ 362:374:boolean onMenuItemClick(android.view.MenuItem) -> onMenuItemClick
+androidx.appcompat.widget.SuggestionsAdapter -> androidx.appcompat.widget.SuggestionsAdapter:
+ 73:104:void <init>(android.content.Context,androidx.appcompat.widget.SearchView,android.app.SearchableInfo,java.util.WeakHashMap) -> <init>
+ 273:323:void bindView(android.view.View,android.content.Context,android.database.Cursor) -> bindView
+ 215:235:void changeCursor(android.database.Cursor) -> changeCursor
+ 582:587:android.graphics.drawable.Drawable checkIconCache(java.lang.String) -> checkIconCache
+ 172:174:void close() -> close
+ 414:437:java.lang.CharSequence convertToString(android.database.Cursor) -> convertToString
+ 334:346:java.lang.CharSequence formatUrl(java.lang.CharSequence) -> formatUrl
+ 645:662:android.graphics.drawable.Drawable getActivityIcon(android.content.ComponentName) -> getActivityIcon
+ 623:634:android.graphics.drawable.Drawable getActivityIconWithCache(android.content.ComponentName) -> getActivityIconWithCache
+ 674:675:java.lang.String getColumnString(android.database.Cursor,java.lang.String) -> getColumnString
+ 604:610:android.graphics.drawable.Drawable getDefaultIcon1() -> getDefaultIcon1
+ 549:575:android.graphics.drawable.Drawable getDrawable(android.net.Uri) -> getDrawable
+ 697:728:android.graphics.drawable.Drawable getDrawableFromResourceUri(android.net.Uri) -> getDrawableFromResourceUri
+ 506:538:android.graphics.drawable.Drawable getDrawableFromResourceValue(java.lang.String) -> getDrawableFromResourceValue
+ 472:482:android.view.View getDropDownView(int,android.view.View,android.view.ViewGroup) -> getDropDownView
+ 361:369:android.graphics.drawable.Drawable getIcon1(android.database.Cursor) -> getIcon1
+ 373:377:android.graphics.drawable.Drawable getIcon2(android.database.Cursor) -> getIcon2
+ 124:124:int getQueryRefinement() -> getQueryRefinement
+ 735:776:android.database.Cursor getSearchManagerSuggestions(android.app.SearchableInfo,java.lang.String,int) -> getSearchManagerSuggestions
+ 679:688:java.lang.String getStringOrNull(android.database.Cursor,int) -> getStringOrNull
+ 449:459:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 133:133:boolean hasStableIds() -> hasStableIds
+ 242:248:android.view.View newView(android.content.Context,android.database.Cursor,android.view.ViewGroup) -> newView
+ 179:182:void notifyDataSetChanged() -> notifyDataSetChanged
+ 187:190:void notifyDataSetInvalidated() -> notifyDataSetInvalidated
+ 327:331:void onClick(android.view.View) -> onClick
+ 144:167:android.database.Cursor runQueryOnBackgroundThread(java.lang.CharSequence) -> runQueryOnBackgroundThread
+ 116:117:void setQueryRefinement(int) -> setQueryRefinement
+ 387:402:void setViewDrawable(android.widget.ImageView,android.graphics.drawable.Drawable,int) -> setViewDrawable
+ 351:358:void setViewText(android.widget.TextView,java.lang.CharSequence) -> setViewText
+ 591:594:void storeInIconCache(java.lang.String,android.graphics.drawable.Drawable) -> storeInIconCache
+ 193:206:void updateSpinnerState(android.database.Cursor) -> updateSpinnerState
+androidx.appcompat.widget.SuggestionsAdapter$ChildViewCache -> androidx.appcompat.widget.SuggestionsAdapter$ChildViewCache:
+ 262:268:void <init>(android.view.View) -> <init>
+androidx.appcompat.widget.SwitchCompat -> androidx.appcompat.widget.SwitchCompat:
+ 116:199:void <clinit>() -> <clinit>
+ 209:210:void <init>(android.content.Context) -> <init>
+ 220:221:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 130:316:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 1059:1066:void animateThumbToCheckedState(boolean) -> animateThumbToCheckedState
+ 719:736:void applyThumbTint() -> applyThumbTint
+ 596:613:void applyTrackTint() -> applyTrackTint
+ 1069:1072:void cancelPositionAnimator() -> cancelPositionAnimator
+ 1019:1023:void cancelSuperTouch(android.view.MotionEvent) -> cancelSuperTouch
+ 1469:1469:float constrain(float,float,float) -> constrain
+ 1174:1235:void draw(android.graphics.Canvas) -> draw
+ 1394:1405:void drawableHotspotChanged(float,float) -> drawableHotspotChanged
+ 1372:1390:void drawableStateChanged() -> drawableStateChanged
+ 1304:1311:int getCompoundPaddingLeft() -> getCompoundPaddingLeft
+ 1316:1323:int getCompoundPaddingRight() -> getCompoundPaddingRight
+ 827:827:boolean getShowText() -> getShowText
+ 758:758:boolean getSplitTrack() -> getSplitTrack
+ 471:471:int getSwitchMinWidth() -> getSwitchMinWidth
+ 446:446:int getSwitchPadding() -> getSwitchPadding
+ 1075:1075:boolean getTargetCheckedState() -> getTargetCheckedState
+ 791:791:java.lang.CharSequence getTextOff() -> getTextOff
+ 767:767:java.lang.CharSequence getTextOn() -> getTextOn
+ 655:655:android.graphics.drawable.Drawable getThumbDrawable() -> getThumbDrawable
+ 1334:1339:int getThumbOffset() -> getThumbOffset
+ 1343:1357:int getThumbScrollRange() -> getThumbScrollRange
+ 494:494:int getThumbTextPadding() -> getThumbTextPadding
+ 686:686:android.content.res.ColorStateList getThumbTintList() -> getThumbTintList
+ 715:715:android.graphics.PorterDuff$Mode getThumbTintMode() -> getThumbTintMode
+ 534:534:android.graphics.drawable.Drawable getTrackDrawable() -> getTrackDrawable
+ 564:564:android.content.res.ColorStateList getTrackTintList() -> getTrackTintList
+ 592:592:android.graphics.PorterDuff$Mode getTrackTintMode() -> getTrackTintMode
+ 923:936:boolean hitThumb(float,float) -> hitThumb
+ 1414:1428:void jumpDrawablesToCurrentState() -> jumpDrawablesToCurrentState
+ 909:915:android.text.Layout makeLayout(java.lang.CharSequence) -> makeLayout
+ 1363:1367:int[] onCreateDrawableState(int) -> onCreateDrawableState
+ 1239:1300:void onDraw(android.graphics.Canvas) -> onDraw
+ 1432:1434:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 1438:1453:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 1118:1170:void onLayout(boolean,int,int,int,int) -> onLayout
+ 832:896:void onMeasure(int,int) -> onMeasure
+ 900:906:void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onPopulateAccessibilityEvent
+ 941:1015:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 1095:1114:void setChecked(boolean) -> setChecked
+ 1461:1463:void setCustomSelectionActionModeCallback(android.view.ActionMode$Callback) -> setCustomSelectionActionModeCallback
+ 1482:1488:void setOffStateDescriptionOnRAndAbove() -> setOffStateDescriptionOnRAndAbove
+ 1473:1479:void setOnStateDescriptionOnRAndAbove() -> setOnStateDescriptionOnRAndAbove
+ 816:820:void setShowText(boolean) -> setShowText
+ 748:750:void setSplitTrack(boolean) -> setSplitTrack
+ 458:460:void setSwitchMinWidth(int) -> setSwitchMinWidth
+ 434:436:void setSwitchPadding(int) -> setSwitchPadding
+ 325:361:void setSwitchTextAppearance(android.content.Context,int) -> setSwitchTextAppearance
+ 389:407:void setSwitchTypeface(android.graphics.Typeface,int) -> setSwitchTypeface
+ 417:424:void setSwitchTypeface(android.graphics.Typeface) -> setSwitchTypeface
+ 364:380:void setSwitchTypefaceByIndex(int,int) -> setSwitchTypefaceByIndex
+ 800:807:void setTextOff(java.lang.CharSequence) -> setTextOff
+ 776:783:void setTextOn(java.lang.CharSequence) -> setTextOn
+ 624:632:void setThumbDrawable(android.graphics.drawable.Drawable) -> setThumbDrawable
+ 1084:1086:void setThumbPosition(float) -> setThumbPosition
+ 643:644:void setThumbResource(int) -> setThumbResource
+ 482:484:void setThumbTextPadding(int) -> setThumbTextPadding
+ 673:677:void setThumbTintList(android.content.res.ColorStateList) -> setThumbTintList
+ 701:705:void setThumbTintMode(android.graphics.PorterDuff$Mode) -> setThumbTintMode
+ 505:513:void setTrackDrawable(android.graphics.drawable.Drawable) -> setTrackDrawable
+ 523:524:void setTrackResource(int) -> setTrackResource
+ 551:555:void setTrackTintList(android.content.res.ColorStateList) -> setTrackTintList
+ 578:582:void setTrackTintMode(android.graphics.PorterDuff$Mode) -> setTrackTintMode
+ 1031:1056:void stopDrag(android.view.MotionEvent) -> stopDrag
+ 1090:1091:void toggle() -> toggle
+ 1409:1409:boolean verifyDrawable(android.graphics.drawable.Drawable) -> verifyDrawable
+androidx.appcompat.widget.SwitchCompat$1 -> androidx.appcompat.widget.SwitchCompat$1:
+ 117:117:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 117:117:java.lang.Object get(java.lang.Object) -> get
+ 120:120:java.lang.Float get(androidx.appcompat.widget.SwitchCompat) -> get
+ 117:117:void set(java.lang.Object,java.lang.Object) -> set
+ 125:126:void set(androidx.appcompat.widget.SwitchCompat,java.lang.Float) -> set
+androidx.appcompat.widget.ThemeUtils -> androidx.appcompat.widget.ThemeUtils:
+ 41:53:void <clinit>() -> <clinit>
+ 178:179:void <init>() -> <init>
+ 162:176:void checkAppCompatTheme(android.view.View,android.content.Context) -> checkAppCompatTheme
+ 66:80:android.content.res.ColorStateList createDisabledStateList(int,int) -> createDisabledStateList
+ 126:138:int getDisabledThemeAttrColor(android.content.Context,int) -> getDisabledThemeAttrColor
+ 91:97:int getThemeAttrColor(android.content.Context,int) -> getThemeAttrColor
+ 152:154:int getThemeAttrColor(android.content.Context,int,float) -> getThemeAttrColor
+ 109:115:android.content.res.ColorStateList getThemeAttrColorStateList(android.content.Context,int) -> getThemeAttrColorStateList
+ 143:148:android.util.TypedValue getTypedValue() -> getTypedValue
+androidx.appcompat.widget.ThemedSpinnerAdapter$Helper -> androidx.appcompat.widget.ThemedSpinnerAdapter$Helper:
+ 111:114:void <init>(android.content.Context) -> <init>
+ 152:152:android.view.LayoutInflater getDropDownViewInflater() -> getDropDownViewInflater
+ 140:140:android.content.res.Resources$Theme getDropDownViewTheme() -> getDropDownViewTheme
+ 124:132:void setDropDownViewTheme(android.content.res.Resources$Theme) -> setDropDownViewTheme
+androidx.appcompat.widget.TintContextWrapper -> androidx.appcompat.widget.TintContextWrapper:
+ 42:42:void <clinit>() -> <clinit>
+ 92:104:void <init>(android.content.Context) -> <init>
+ 128:128:android.content.res.AssetManager getAssets() -> getAssets
+ 122:122:android.content.res.Resources getResources() -> getResources
+ 108:108:android.content.res.Resources$Theme getTheme() -> getTheme
+ 113:118:void setTheme(int) -> setTheme
+ 78:85:boolean shouldWrap(android.content.Context) -> shouldWrap
+ 46:74:android.content.Context wrap(android.content.Context) -> wrap
+androidx.appcompat.widget.TintInfo -> androidx.appcompat.widget.TintInfo:
+ 28:28:void <init>() -> <init>
+ 35:39:void clear() -> clear
+androidx.appcompat.widget.TintResources -> androidx.appcompat.widget.TintResources:
+ 35:37:void <init>(android.content.Context,android.content.res.Resources) -> <init>
+ 46:51:android.graphics.drawable.Drawable getDrawable(int) -> getDrawable
+androidx.appcompat.widget.TintTypedArray -> androidx.appcompat.widget.TintTypedArray:
+ 67:70:void <init>(android.content.Context,android.content.res.TypedArray) -> <init>
+ 158:158:boolean getBoolean(int,boolean) -> getBoolean
+ 257:257:int getChangingConfigurations() -> getChangingConfigurations
+ 170:170:int getColor(int,int) -> getColor
+ 174:184:android.content.res.ColorStateList getColorStateList(int) -> getColorStateList
+ 192:192:float getDimension(int,float) -> getDimension
+ 196:196:int getDimensionPixelOffset(int,int) -> getDimensionPixelOffset
+ 200:200:int getDimensionPixelSize(int,int) -> getDimensionPixelSize
+ 80:86:android.graphics.drawable.Drawable getDrawable(int) -> getDrawable
+ 90:96:android.graphics.drawable.Drawable getDrawableIfKnown(int) -> getDrawableIfKnown
+ 166:166:float getFloat(int,float) -> getFloat
+ 119:126:android.graphics.Typeface getFont(int,int,androidx.core.content.res.ResourcesCompat$FontCallback) -> getFont
+ 212:212:float getFraction(int,int,int,float) -> getFraction
+ 138:138:int getIndex(int) -> getIndex
+ 134:134:int getIndexCount() -> getIndexCount
+ 162:162:int getInt(int,int) -> getInt
+ 188:188:int getInteger(int,int) -> getInteger
+ 204:204:int getLayoutDimension(int,java.lang.String) -> getLayoutDimension
+ 208:208:int getLayoutDimension(int,int) -> getLayoutDimension
+ 154:154:java.lang.String getNonResourceString(int) -> getNonResourceString
+ 248:248:java.lang.String getPositionDescription() -> getPositionDescription
+ 216:216:int getResourceId(int,int) -> getResourceId
+ 142:142:android.content.res.Resources getResources() -> getResources
+ 150:150:java.lang.String getString(int) -> getString
+ 146:146:java.lang.CharSequence getText(int) -> getText
+ 220:220:java.lang.CharSequence[] getTextArray(int) -> getTextArray
+ 228:229:int getType(int) -> getType
+ 224:224:boolean getValue(int,android.util.TypedValue) -> getValue
+ 76:76:android.content.res.TypedArray getWrappedTypeArray() -> getWrappedTypeArray
+ 240:240:boolean hasValue(int) -> hasValue
+ 130:130:int length() -> length
+ 54:54:androidx.appcompat.widget.TintTypedArray obtainStyledAttributes(android.content.Context,android.util.AttributeSet,int[]) -> obtainStyledAttributes
+ 59:60:androidx.appcompat.widget.TintTypedArray obtainStyledAttributes(android.content.Context,android.util.AttributeSet,int[],int,int) -> obtainStyledAttributes
+ 64:64:androidx.appcompat.widget.TintTypedArray obtainStyledAttributes(android.content.Context,int,int[]) -> obtainStyledAttributes
+ 244:244:android.util.TypedValue peekValue(int) -> peekValue
+ 252:253:void recycle() -> recycle
+androidx.appcompat.widget.Toolbar -> androidx.appcompat.widget.Toolbar:
+ 229:230:void <init>(android.content.Context) -> <init>
+ 233:234:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 182:354:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 2250:2256:void addChildrenForExpandedActionView() -> addChildrenForExpandedActionView
+ 2142:2168:void addCustomViewsWithGravity(java.util.List,int) -> addCustomViewsWithGravity
+ 1513:1530:void addSystemView(android.view.View,boolean) -> addSystemView
+ 518:518:boolean canShowOverflowMenu() -> canShowOverflowMenu
+ 2224:2224:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 726:731:void collapseActionView() -> collapseActionView
+ 596:599:void dismissPopupMenus() -> dismissPopupMenus
+ 1494:1510:void ensureCollapseButtonView() -> ensureCollapseButtonView
+ 2287:2290:void ensureContentInsets() -> ensureContentInsets
+ 696:699:void ensureLogoView() -> ensureLogoView
+ 1155:1165:void ensureMenu() -> ensureMenu
+ 1168:1178:void ensureMenuView() -> ensureMenuView
+ 1484:1491:void ensureNavButtonView() -> ensureNavButtonView
+ 146:146:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 2219:2219:androidx.appcompat.widget.Toolbar$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 146:146:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 146:146:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 2201:2201:androidx.appcompat.widget.Toolbar$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 2206:2213:androidx.appcompat.widget.Toolbar$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 2171:2180:int getChildHorizontalGravity(int) -> getChildHorizontalGravity
+ 2091:2118:int getChildTop(android.view.View,int) -> getChildTop
+ 2123:2130:int getChildVerticalGravity(int) -> getChildVerticalGravity
+ 1038:1038:java.lang.CharSequence getCollapseContentDescription() -> getCollapseContentDescription
+ 1083:1083:android.graphics.drawable.Drawable getCollapseIcon() -> getCollapseIcon
+ 1269:1269:int getContentInsetEnd() -> getContentInsetEnd
+ 1391:1393:int getContentInsetEndWithActions() -> getContentInsetEndWithActions
+ 1312:1312:int getContentInsetLeft() -> getContentInsetLeft
+ 1332:1332:int getContentInsetRight() -> getContentInsetRight
+ 1249:1249:int getContentInsetStart() -> getContentInsetStart
+ 1348:1350:int getContentInsetStartWithNavigation() -> getContentInsetStartWithNavigation
+ 1443:1450:int getCurrentContentInsetEnd() -> getCurrentContentInsetEnd
+ 1463:1465:int getCurrentContentInsetLeft() -> getCurrentContentInsetLeft
+ 1478:1480:int getCurrentContentInsetRight() -> getCurrentContentInsetRight
+ 1429:1431:int getCurrentContentInsetStart() -> getCurrentContentInsetStart
+ 2189:2191:int getHorizontalMargins(android.view.View) -> getHorizontalMargins
+ 654:654:android.graphics.drawable.Drawable getLogo() -> getLogo
+ 692:692:java.lang.CharSequence getLogoDescription() -> getLogoDescription
+ 1129:1130:android.view.Menu getMenu() -> getMenu
+ 1181:1181:android.view.MenuInflater getMenuInflater() -> getMenuInflater
+ 918:918:java.lang.CharSequence getNavigationContentDescription() -> getNavigationContentDescription
+ 1010:1010:android.graphics.drawable.Drawable getNavigationIcon() -> getNavigationIcon
+ 2314:2314:androidx.appcompat.widget.ActionMenuPresenter getOuterActionMenuPresenter() -> getOuterActionMenuPresenter
+ 1150:1151:android.graphics.drawable.Drawable getOverflowIcon() -> getOverflowIcon
+ 2318:2318:android.content.Context getPopupContext() -> getPopupContext
+ 380:380:int getPopupTheme() -> getPopupTheme
+ 795:795:java.lang.CharSequence getSubtitle() -> getSubtitle
+ 2307:2307:android.widget.TextView getSubtitleTextView() -> getSubtitleTextView
+ 739:739:java.lang.CharSequence getTitle() -> getTitle
+ 477:477:int getTitleMarginBottom() -> getTitleMarginBottom
+ 455:455:int getTitleMarginEnd() -> getTitleMarginEnd
+ 411:411:int getTitleMarginStart() -> getTitleMarginStart
+ 433:433:int getTitleMarginTop() -> getTitleMarginTop
+ 2298:2298:android.widget.TextView getTitleTextView() -> getTitleTextView
+ 2195:2196:int getVerticalMargins(android.view.View) -> getVerticalMargins
+ 2046:2061:int getViewListMeasuredWidth(java.util.List,int[]) -> getViewListMeasuredWidth
+ 2230:2233:androidx.appcompat.widget.DecorToolbar getWrapper() -> getWrapper
+ 712:712:boolean hasExpandedActionView() -> hasExpandedActionView
+ 552:552:boolean hideOverflowMenu() -> hideOverflowMenu
+ 1194:1195:void inflateMenu(int) -> inflateMenu
+ 2259:2259:boolean isChildOrHidden(android.view.View) -> isChildOrHidden
+ 534:534:boolean isOverflowMenuShowPending() -> isOverflowMenuShowPending
+ 528:528:boolean isOverflowMenuShowing() -> isOverflowMenuShowing
+ 604:619:boolean isTitleTruncated() -> isTitleTruncated
+ 2066:2074:int layoutChildLeft(android.view.View,int,int[],int) -> layoutChildLeft
+ 2079:2087:int layoutChildRight(android.view.View,int,int[],int) -> layoutChildRight
+ 1655:1672:int measureChildCollapseMargins(android.view.View,int,int,int,int,int[]) -> measureChildCollapseMargins
+ 1630:1647:void measureChildConstrained(android.view.View,int,int,int,int,int) -> measureChildConstrained
+ 1574:1576:void onDetachedFromWindow() -> onDetachedFromWindow
+ 1609:1625:boolean onHoverEvent(android.view.MotionEvent) -> onHoverEvent
+ 1828:2043:void onLayout(boolean,int,int,int,int) -> onLayout
+ 1694:1824:void onMeasure(int,int) -> onMeasure
+ 1546:1565:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 494:500:void onRtlPropertiesChanged(int) -> onRtlPropertiesChanged
+ 1534:1541:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 1585:1601:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 1568:1570:void postShowOverflowMenu() -> postShowOverflowMenu
+ 2237:2247:void removeChildrenForExpandedActionView() -> removeChildrenForExpandedActionView
+ 1052:1053:void setCollapseContentDescription(int) -> setCollapseContentDescription
+ 1066:1072:void setCollapseContentDescription(java.lang.CharSequence) -> setCollapseContentDescription
+ 1097:1098:void setCollapseIcon(int) -> setCollapseIcon
+ 1111:1117:void setCollapseIcon(android.graphics.drawable.Drawable) -> setCollapseIcon
+ 2269:2271:void setCollapsible(boolean) -> setCollapsible
+ 1409:1418:void setContentInsetEndWithActions(int) -> setContentInsetEndWithActions
+ 1367:1376:void setContentInsetStartWithNavigation(int) -> setContentInsetStartWithNavigation
+ 1291:1293:void setContentInsetsAbsolute(int,int) -> setContentInsetsAbsolute
+ 1228:1230:void setContentInsetsRelative(int,int) -> setContentInsetsRelative
+ 512:513:void setLogo(int) -> setLogo
+ 632:644:void setLogo(android.graphics.drawable.Drawable) -> setLogo
+ 666:667:void setLogoDescription(int) -> setLogoDescription
+ 678:684:void setLogoDescription(java.lang.CharSequence) -> setLogoDescription
+ 558:590:void setMenu(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.widget.ActionMenuPresenter) -> setMenu
+ 2279:2284:void setMenuCallbacks(androidx.appcompat.view.menu.MenuPresenter$Callback,androidx.appcompat.view.menu.MenuBuilder$Callback) -> setMenuCallbacks
+ 932:933:void setNavigationContentDescription(int) -> setNavigationContentDescription
+ 946:952:void setNavigationContentDescription(java.lang.CharSequence) -> setNavigationContentDescription
+ 969:970:void setNavigationIcon(int) -> setNavigationIcon
+ 987:999:void setNavigationIcon(android.graphics.drawable.Drawable) -> setNavigationIcon
+ 1023:1025:void setNavigationOnClickListener(android.view.View$OnClickListener) -> setNavigationOnClickListener
+ 1206:1207:void setOnMenuItemClickListener(androidx.appcompat.widget.Toolbar$OnMenuItemClickListener) -> setOnMenuItemClickListener
+ 1139:1141:void setOverflowIcon(android.graphics.drawable.Drawable) -> setOverflowIcon
+ 364:372:void setPopupTheme(int) -> setPopupTheme
+ 806:807:void setSubtitle(int) -> setSubtitle
+ 817:841:void setSubtitle(java.lang.CharSequence) -> setSubtitle
+ 859:863:void setSubtitleTextAppearance(android.content.Context,int) -> setSubtitleTextAppearance
+ 892:893:void setSubtitleTextColor(int) -> setSubtitleTextColor
+ 901:905:void setSubtitleTextColor(android.content.res.ColorStateList) -> setSubtitleTextColor
+ 751:752:void setTitle(int) -> setTitle
+ 763:787:void setTitle(java.lang.CharSequence) -> setTitle
+ 397:403:void setTitleMargin(int,int,int,int) -> setTitleMargin
+ 488:490:void setTitleMarginBottom(int) -> setTitleMarginBottom
+ 466:469:void setTitleMarginEnd(int) -> setTitleMarginEnd
+ 422:425:void setTitleMarginStart(int) -> setTitleMarginStart
+ 444:447:void setTitleMarginTop(int) -> setTitleMarginTop
+ 848:852:void setTitleTextAppearance(android.content.Context,int) -> setTitleTextAppearance
+ 871:872:void setTitleTextColor(int) -> setTitleTextColor
+ 880:884:void setTitleTextColor(android.content.res.ColorStateList) -> setTitleTextColor
+ 1679:1689:boolean shouldCollapse() -> shouldCollapse
+ 2185:2185:boolean shouldLayout(android.view.View) -> shouldLayout
+ 543:543:boolean showOverflowMenu() -> showOverflowMenu
+androidx.appcompat.widget.Toolbar$1 -> androidx.appcompat.widget.Toolbar$1:
+ 204:204:void <init>(androidx.appcompat.widget.Toolbar) -> <init>
+ 207:210:boolean onMenuItemClick(android.view.MenuItem) -> onMenuItemClick
+androidx.appcompat.widget.Toolbar$2 -> androidx.appcompat.widget.Toolbar$2:
+ 222:222:void <init>(androidx.appcompat.widget.Toolbar) -> <init>
+ 224:225:void run() -> run
+androidx.appcompat.widget.Toolbar$3 -> androidx.appcompat.widget.Toolbar$3:
+ 1503:1503:void <init>(androidx.appcompat.widget.Toolbar) -> <init>
+ 1506:1507:void onClick(android.view.View) -> onClick
+androidx.appcompat.widget.Toolbar$ExpandedActionViewMenuPresenter -> androidx.appcompat.widget.Toolbar$ExpandedActionViewMenuPresenter:
+ 2446:2447:void <init>(androidx.appcompat.widget.Toolbar) -> <init>
+ 2544:2557:boolean collapseItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> collapseItemActionView
+ 2507:2537:boolean expandItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> expandItemActionView
+ 2502:2502:boolean flagActionItems() -> flagActionItems
+ 2562:2562:int getId() -> getId
+ 2460:2460:androidx.appcompat.view.menu.MenuView getMenuView(android.view.ViewGroup) -> getMenuView
+ 2452:2456:void initForMenu(android.content.Context,androidx.appcompat.view.menu.MenuBuilder) -> initForMenu
+ 2498:2498:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 2572:2572:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 2567:2567:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 2493:2493:boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder) -> onSubMenuSelected
+ 2489:2489:void setCallback(androidx.appcompat.view.menu.MenuPresenter$Callback) -> setCallback
+ 2466:2485:void updateMenuView(boolean) -> updateMenuView
+androidx.appcompat.widget.Toolbar$LayoutParams -> androidx.appcompat.widget.Toolbar$LayoutParams:
+ 2350:2354:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 2350:2359:void <init>(int,int) -> <init>
+ 2350:2364:void <init>(int,int,int) -> <init>
+ 2367:2368:void <init>(int) -> <init>
+ 2350:2374:void <init>(androidx.appcompat.widget.Toolbar$LayoutParams) -> <init>
+ 2350:2378:void <init>(androidx.appcompat.app.ActionBar$LayoutParams) -> <init>
+ 2350:2385:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+ 2350:2389:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 2392:2396:void copyMarginsFromCompat(android.view.ViewGroup$MarginLayoutParams) -> copyMarginsFromCompat
+androidx.appcompat.widget.Toolbar$SavedState -> androidx.appcompat.widget.Toolbar$SavedState:
+ 2424:2424:void <clinit>() -> <clinit>
+ 2404:2405:void <init>(android.os.Parcel) -> <init>
+ 2408:2411:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 2414:2415:void <init>(android.os.Parcelable) -> <init>
+ 2419:2422:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.appcompat.widget.Toolbar$SavedState$1 -> androidx.appcompat.widget.Toolbar$SavedState$1:
+ 2424:2424:void <init>() -> <init>
+ 2424:2424:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 2424:2424:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 2427:2427:androidx.appcompat.widget.Toolbar$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 2432:2432:androidx.appcompat.widget.Toolbar$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 2424:2424:java.lang.Object[] newArray(int) -> newArray
+ 2437:2437:androidx.appcompat.widget.Toolbar$SavedState[] newArray(int) -> newArray
+androidx.appcompat.widget.ToolbarWidgetWrapper -> androidx.appcompat.widget.ToolbarWidgetWrapper:
+ 96:98:void <init>(androidx.appcompat.widget.Toolbar,boolean) -> <init>
+ 90:192:void <init>(androidx.appcompat.widget.Toolbar,boolean,int,int) -> <init>
+ 556:561:void animateToVisibility(int) -> animateToVisibility
+ 335:335:boolean canShowOverflowMenu() -> canShowOverflowMenu
+ 232:233:void collapseActionView() -> collapseActionView
+ 206:212:int detectDisplayOptions() -> detectDisplayOptions
+ 375:376:void dismissPopupMenus() -> dismissPopupMenus
+ 503:509:void ensureSpinner() -> ensureSpinner
+ 222:222:android.content.Context getContext() -> getContext
+ 551:551:android.view.View getCustomView() -> getCustomView
+ 380:380:int getDisplayOptions() -> getDisplayOptions
+ 535:535:int getDropdownItemCount() -> getDropdownItemCount
+ 530:530:int getDropdownSelectedPosition() -> getDropdownSelectedPosition
+ 656:656:int getHeight() -> getHeight
+ 677:677:android.view.Menu getMenu() -> getMenu
+ 458:458:int getNavigationMode() -> getNavigationMode
+ 268:268:java.lang.CharSequence getSubtitle() -> getSubtitle
+ 250:250:java.lang.CharSequence getTitle() -> getTitle
+ 217:217:android.view.ViewGroup getViewGroup() -> getViewGroup
+ 666:666:int getVisibility() -> getVisibility
+ 438:438:boolean hasEmbeddedTabs() -> hasEmbeddedTabs
+ 227:227:boolean hasExpandedActionView() -> hasExpandedActionView
+ 291:291:boolean hasIcon() -> hasIcon
+ 296:296:boolean hasLogo() -> hasLogo
+ 355:355:boolean hideOverflowMenu() -> hideOverflowMenu
+ 286:287:void initIndeterminateProgress() -> initIndeterminateProgress
+ 281:282:void initProgress() -> initProgress
+ 345:345:boolean isOverflowMenuShowPending() -> isOverflowMenuShowPending
+ 340:340:boolean isOverflowMenuShowing() -> isOverflowMenuShowing
+ 443:443:boolean isTitleTruncated() -> isTitleTruncated
+ 646:647:void restoreHierarchyState(android.util.SparseArray) -> restoreHierarchyState
+ 641:642:void saveHierarchyState(android.util.SparseArray) -> saveHierarchyState
+ 651:652:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 448:449:void setCollapsible(boolean) -> setCollapsible
+ 540:547:void setCustomView(android.view.View) -> setCustomView
+ 196:203:void setDefaultNavigationContentDescription(int) -> setDefaultNavigationContentDescription
+ 604:608:void setDefaultNavigationIcon(android.graphics.drawable.Drawable) -> setDefaultNavigationIcon
+ 385:418:void setDisplayOptions(int) -> setDisplayOptions
+ 514:517:void setDropdownParams(android.widget.SpinnerAdapter,android.widget.AdapterView$OnItemSelectedListener) -> setDropdownParams
+ 521:526:void setDropdownSelectedPosition(int) -> setDropdownSelectedPosition
+ 422:434:void setEmbeddedTabView(androidx.appcompat.widget.ScrollingTabContainerView) -> setEmbeddedTabView
+ 454:454:void setHomeButtonEnabled(boolean) -> setHomeButtonEnabled
+ 301:302:void setIcon(int) -> setIcon
+ 306:308:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 312:313:void setLogo(int) -> setLogo
+ 317:319:void setLogo(android.graphics.drawable.Drawable) -> setLogo
+ 365:371:void setMenu(android.view.Menu,androidx.appcompat.view.menu.MenuPresenter$Callback) -> setMenu
+ 672:673:void setMenuCallbacks(androidx.appcompat.view.menu.MenuPresenter$Callback,androidx.appcompat.view.menu.MenuBuilder$Callback) -> setMenuCallbacks
+ 360:361:void setMenuPrepared() -> setMenuPrepared
+ 620:622:void setNavigationContentDescription(java.lang.CharSequence) -> setNavigationContentDescription
+ 626:627:void setNavigationContentDescription(int) -> setNavigationContentDescription
+ 593:595:void setNavigationIcon(android.graphics.drawable.Drawable) -> setNavigationIcon
+ 599:600:void setNavigationIcon(int) -> setNavigationIcon
+ 463:500:void setNavigationMode(int) -> setNavigationMode
+ 273:277:void setSubtitle(java.lang.CharSequence) -> setSubtitle
+ 255:257:void setTitle(java.lang.CharSequence) -> setTitle
+ 260:264:void setTitleInt(java.lang.CharSequence) -> setTitleInt
+ 661:662:void setVisibility(int) -> setVisibility
+ 237:238:void setWindowCallback(android.view.Window$Callback) -> setWindowCallback
+ 243:246:void setWindowTitle(java.lang.CharSequence) -> setWindowTitle
+ 566:569:androidx.core.view.ViewPropertyAnimatorCompat setupAnimatorToVisibility(int,long) -> setupAnimatorToVisibility
+ 350:350:boolean showOverflowMenu() -> showOverflowMenu
+ 630:637:void updateHomeAccessibility() -> updateHomeAccessibility
+ 611:616:void updateNavigationIcon() -> updateNavigationIcon
+ 322:331:void updateToolbarLogo() -> updateToolbarLogo
+androidx.appcompat.widget.ToolbarWidgetWrapper$1 -> androidx.appcompat.widget.ToolbarWidgetWrapper$1:
+ 182:183:void <init>(androidx.appcompat.widget.ToolbarWidgetWrapper) -> <init>
+ 187:190:void onClick(android.view.View) -> onClick
+androidx.appcompat.widget.ToolbarWidgetWrapper$2 -> androidx.appcompat.widget.ToolbarWidgetWrapper$2:
+ 569:570:void <init>(androidx.appcompat.widget.ToolbarWidgetWrapper,int) -> <init>
+ 586:587:void onAnimationCancel(android.view.View) -> onAnimationCancel
+ 579:582:void onAnimationEnd(android.view.View) -> onAnimationEnd
+ 574:575:void onAnimationStart(android.view.View) -> onAnimationStart
+androidx.appcompat.widget.TooltipCompat -> androidx.appcompat.widget.TooltipCompat:
+ 48:48:void <init>() -> <init>
+ 41:46:void setTooltipText(android.view.View,java.lang.CharSequence) -> setTooltipText
+androidx.appcompat.widget.TooltipCompatHandler -> androidx.appcompat.widget.TooltipCompatHandler:
+ 54:117:void <init>(android.view.View,java.lang.CharSequence) -> <init>
+ 224:225:void cancelPendingShow() -> cancelPendingShow
+ 250:252:void clearAnchorPos() -> clearAnchorPos
+ 192:207:void hide() -> hide
+ 129:149:boolean onHover(android.view.View,android.view.MotionEvent) -> onHover
+ 121:124:boolean onLongClick(android.view.View) -> onLongClick
+ 155:155:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 159:160:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+ 220:221:void scheduleShow() -> scheduleShow
+ 210:217:void setPendingHandler(androidx.appcompat.widget.TooltipCompatHandler) -> setPendingHandler
+ 93:106:void setTooltipText(android.view.View,java.lang.CharSequence) -> setTooltipText
+ 163:189:void show(boolean) -> show
+ 235:243:boolean updateAnchorPos(android.view.MotionEvent) -> updateAnchorPos
+androidx.appcompat.widget.TooltipCompatHandler$1 -> androidx.appcompat.widget.TooltipCompatHandler$1:
+ 54:54:void <init>(androidx.appcompat.widget.TooltipCompatHandler) -> <init>
+ 57:58:void run() -> run
+androidx.appcompat.widget.TooltipCompatHandler$2 -> androidx.appcompat.widget.TooltipCompatHandler$2:
+ 60:60:void <init>(androidx.appcompat.widget.TooltipCompatHandler) -> <init>
+ 63:64:void run() -> run
+androidx.appcompat.widget.TooltipPopup -> androidx.appcompat.widget.TooltipPopup:
+ 54:74:void <init>(android.content.Context) -> <init>
+ 105:185:void computePosition(android.view.View,int,int,boolean,android.view.WindowManager$LayoutParams) -> computePosition
+ 188:208:android.view.View getAppRootView(android.view.View) -> getAppRootView
+ 91:97:void hide() -> hide
+ 100:100:boolean isShowing() -> isShowing
+ 78:88:void show(android.view.View,int,int,boolean,java.lang.CharSequence) -> show
+androidx.appcompat.widget.VectorEnabledTintResources -> androidx.appcompat.widget.VectorEnabledTintResources:
+ 39:39:void <clinit>() -> <clinit>
+ 56:58:void <init>(android.content.Context,android.content.res.Resources) -> <init>
+ 68:72:android.graphics.drawable.Drawable getDrawable(int) -> getDrawable
+ 96:96:boolean isCompatVectorFromResourcesEnabled() -> isCompatVectorFromResourcesEnabled
+ 86:87:void setCompatVectorFromResourcesEnabled(boolean) -> setCompatVectorFromResourcesEnabled
+ 42:42:boolean shouldBeUsed() -> shouldBeUsed
+ 78:78:android.graphics.drawable.Drawable superGetDrawable(int) -> superGetDrawable
+androidx.appcompat.widget.ViewStubCompat -> androidx.appcompat.widget.ViewStubCompat:
+ 55:56:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 46:72:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 161:161:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 157:157:void draw(android.graphics.Canvas) -> draw
+ 85:85:int getInflatedId() -> getInflatedId
+ 146:146:android.view.LayoutInflater getLayoutInflater() -> getLayoutInflater
+ 115:115:int getLayoutResource() -> getLayoutResource
+ 198:237:android.view.View inflate() -> inflate
+ 151:152:void onMeasure(int,int) -> onMeasure
+ 99:100:void setInflatedId(int) -> setInflatedId
+ 139:140:void setLayoutInflater(android.view.LayoutInflater) -> setLayoutInflater
+ 131:132:void setLayoutResource(int) -> setLayoutResource
+ 250:251:void setOnInflateListener(androidx.appcompat.widget.ViewStubCompat$OnInflateListener) -> setOnInflateListener
+ 175:188:void setVisibility(int) -> setVisibility
+androidx.appcompat.widget.ViewUtils -> androidx.appcompat.widget.ViewUtils:
+ 42:53:void <clinit>() -> <clinit>
+ 55:55:void <init>() -> <init>
+ 66:73:void computeFitSystemWindows(android.view.View,android.graphics.Rect,android.graphics.Rect) -> computeFitSystemWindows
+ 58:58:boolean isLayoutRtl(android.view.View) -> isLayoutRtl
+ 80:97:void makeOptionalFitsSystemWindows(android.view.View) -> makeOptionalFitsSystemWindows
+androidx.arch.core.executor.ArchTaskExecutor -> androidx.arch.core.executor.ArchTaskExecutor:
+ 42:50:void <clinit>() -> <clinit>
+ 57:60:void <init>() -> <init>
+ 96:97:void executeOnDiskIO(java.lang.Runnable) -> executeOnDiskIO
+ 111:111:java.util.concurrent.Executor getIOThreadExecutor() -> getIOThreadExecutor
+ 69:77:androidx.arch.core.executor.ArchTaskExecutor getInstance() -> getInstance
+ 106:106:java.util.concurrent.Executor getMainThreadExecutor() -> getMainThreadExecutor
+ 116:116:boolean isMainThread() -> isMainThread
+ 101:102:void postToMainThread(java.lang.Runnable) -> postToMainThread
+ 91:92:void setDelegate(androidx.arch.core.executor.TaskExecutor) -> setDelegate
+androidx.arch.core.executor.ArchTaskExecutor$1 -> androidx.arch.core.executor.ArchTaskExecutor$1:
+ 42:42:void <init>() -> <init>
+ 45:46:void execute(java.lang.Runnable) -> execute
+androidx.arch.core.executor.ArchTaskExecutor$2 -> androidx.arch.core.executor.ArchTaskExecutor$2:
+ 50:50:void <init>() -> <init>
+ 53:54:void execute(java.lang.Runnable) -> execute
+androidx.arch.core.executor.DefaultTaskExecutor -> androidx.arch.core.executor.DefaultTaskExecutor:
+ 37:41:void <init>() -> <init>
+ 81:96:android.os.Handler createAsync(android.os.Looper) -> createAsync
+ 59:60:void executeOnDiskIO(java.lang.Runnable) -> executeOnDiskIO
+ 77:77:boolean isMainThread() -> isMainThread
+ 64:73:void postToMainThread(java.lang.Runnable) -> postToMainThread
+androidx.arch.core.executor.DefaultTaskExecutor$1 -> androidx.arch.core.executor.DefaultTaskExecutor$1:
+ 41:44:void <init>(androidx.arch.core.executor.DefaultTaskExecutor) -> <init>
+ 48:50:java.lang.Thread newThread(java.lang.Runnable) -> newThread
+androidx.arch.core.executor.TaskExecutor -> androidx.arch.core.executor.TaskExecutor:
+ 31:31:void <init>() -> <init>
+ 54:59:void executeOnMainThread(java.lang.Runnable) -> executeOnMainThread
+androidx.arch.core.internal.FastSafeIterableMap -> androidx.arch.core.internal.FastSafeIterableMap:
+ 35:37:void <init>() -> <init>
+ 75:78:java.util.Map$Entry ceil(java.lang.Object) -> ceil
+ 66:66:boolean contains(java.lang.Object) -> contains
+ 41:41:androidx.arch.core.internal.SafeIterableMap$Entry get(java.lang.Object) -> get
+ 46:51:java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object) -> putIfAbsent
+ 56:58:java.lang.Object remove(java.lang.Object) -> remove
+androidx.arch.core.internal.SafeIterableMap -> androidx.arch.core.internal.SafeIterableMap:
+ 35:43:void <init>() -> <init>
+ 150:152:java.util.Iterator descendingIterator() -> descendingIterator
+ 169:169:java.util.Map$Entry eldest() -> eldest
+ 181:201:boolean equals(java.lang.Object) -> equals
+ 46:53:androidx.arch.core.internal.SafeIterableMap$Entry get(java.lang.Object) -> get
+ 206:211:int hashCode() -> hashCode
+ 140:142:java.util.Iterator iterator() -> iterator
+ 160:162:androidx.arch.core.internal.SafeIterableMap$IteratorWithAdditions iteratorWithAdditions() -> iteratorWithAdditions
+ 176:176:java.util.Map$Entry newest() -> newest
+ 75:86:androidx.arch.core.internal.SafeIterableMap$Entry put(java.lang.Object,java.lang.Object) -> put
+ 66:71:java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object) -> putIfAbsent
+ 98:123:java.lang.Object remove(java.lang.Object) -> remove
+ 130:130:int size() -> size
+ 216:226:java.lang.String toString() -> toString
+androidx.arch.core.internal.SafeIterableMap$AscendingIterator -> androidx.arch.core.internal.SafeIterableMap$AscendingIterator:
+ 283:284:void <init>(androidx.arch.core.internal.SafeIterableMap$Entry,androidx.arch.core.internal.SafeIterableMap$Entry) -> <init>
+ 293:293:androidx.arch.core.internal.SafeIterableMap$Entry backward(androidx.arch.core.internal.SafeIterableMap$Entry) -> backward
+ 288:288:androidx.arch.core.internal.SafeIterableMap$Entry forward(androidx.arch.core.internal.SafeIterableMap$Entry) -> forward
+androidx.arch.core.internal.SafeIterableMap$DescendingIterator -> androidx.arch.core.internal.SafeIterableMap$DescendingIterator:
+ 300:301:void <init>(androidx.arch.core.internal.SafeIterableMap$Entry,androidx.arch.core.internal.SafeIterableMap$Entry) -> <init>
+ 310:310:androidx.arch.core.internal.SafeIterableMap$Entry backward(androidx.arch.core.internal.SafeIterableMap$Entry) -> backward
+ 305:305:androidx.arch.core.internal.SafeIterableMap$Entry forward(androidx.arch.core.internal.SafeIterableMap$Entry) -> forward
+androidx.arch.core.internal.SafeIterableMap$Entry -> androidx.arch.core.internal.SafeIterableMap$Entry:
+ 362:365:void <init>(java.lang.Object,java.lang.Object) -> <init>
+ 392:399:boolean equals(java.lang.Object) -> equals
+ 370:370:java.lang.Object getKey() -> getKey
+ 376:376:java.lang.Object getValue() -> getValue
+ 404:404:int hashCode() -> hashCode
+ 381:381:java.lang.Object setValue(java.lang.Object) -> setValue
+ 386:386:java.lang.String toString() -> toString
+androidx.arch.core.internal.SafeIterableMap$IteratorWithAdditions -> androidx.arch.core.internal.SafeIterableMap$IteratorWithAdditions:
+ 316:319:void <init>(androidx.arch.core.internal.SafeIterableMap) -> <init>
+ 332:335:boolean hasNext() -> hasNext
+ 314:314:java.lang.Object next() -> next
+ 340:346:java.util.Map$Entry next() -> next
+ 324:328:void supportRemove(androidx.arch.core.internal.SafeIterableMap$Entry) -> supportRemove
+androidx.arch.core.internal.SafeIterableMap$ListIterator -> androidx.arch.core.internal.SafeIterableMap$ListIterator:
+ 234:237:void <init>(androidx.arch.core.internal.SafeIterableMap$Entry,androidx.arch.core.internal.SafeIterableMap$Entry) -> <init>
+ 241:241:boolean hasNext() -> hasNext
+ 229:229:java.lang.Object next() -> next
+ 271:273:java.util.Map$Entry next() -> next
+ 263:266:androidx.arch.core.internal.SafeIterableMap$Entry nextNode() -> nextNode
+ 247:259:void supportRemove(androidx.arch.core.internal.SafeIterableMap$Entry) -> supportRemove
+androidx.cardview.widget.CardView -> androidx.cardview.widget.CardView:
+ 81:93:void <clinit>() -> <clinit>
+ 113:114:void <init>(android.content.Context) -> <init>
+ 117:118:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 108:447:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 79:79:void access$001(androidx.cardview.widget.CardView,int,int,int,int) -> access$001
+ 79:79:void access$101(androidx.cardview.widget.CardView,int) -> access$101
+ 79:79:void access$201(androidx.cardview.widget.CardView,int) -> access$201
+ 303:303:android.content.res.ColorStateList getCardBackgroundColor() -> getCardBackgroundColor
+ 387:387:float getCardElevation() -> getCardElevation
+ 343:343:int getContentPaddingBottom() -> getContentPaddingBottom
+ 313:313:int getContentPaddingLeft() -> getContentPaddingLeft
+ 323:323:int getContentPaddingRight() -> getContentPaddingRight
+ 333:333:int getContentPaddingTop() -> getContentPaddingTop
+ 413:413:float getMaxCardElevation() -> getMaxCardElevation
+ 424:424:boolean getPreventCornerOverlap() -> getPreventCornerOverlap
+ 364:364:float getRadius() -> getRadius
+ 183:183:boolean getUseCompatPadding() -> getUseCompatPadding
+ 232:262:void onMeasure(int,int) -> onMeasure
+ 283:284:void setCardBackgroundColor(int) -> setCardBackgroundColor
+ 293:294:void setCardBackgroundColor(android.content.res.ColorStateList) -> setCardBackgroundColor
+ 376:377:void setCardElevation(float) -> setCardElevation
+ 226:228:void setContentPadding(int,int,int,int) -> setContentPadding
+ 402:403:void setMaxCardElevation(float) -> setMaxCardElevation
+ 272:274:void setMinimumHeight(int) -> setMinimumHeight
+ 266:268:void setMinimumWidth(int) -> setMinimumWidth
+ 169:169:void setPadding(int,int,int,int) -> setPadding
+ 174:174:void setPaddingRelative(int,int,int,int) -> setPaddingRelative
+ 441:445:void setPreventCornerOverlap(boolean) -> setPreventCornerOverlap
+ 354:355:void setRadius(float) -> setRadius
+ 203:207:void setUseCompatPadding(boolean) -> setUseCompatPadding
+androidx.cardview.widget.CardView$1 -> androidx.cardview.widget.CardView$1:
+ 447:447:void <init>(androidx.cardview.widget.CardView) -> <init>
+ 485:485:android.graphics.drawable.Drawable getCardBackground() -> getCardBackground
+ 490:490:android.view.View getCardView() -> getCardView
+ 463:463:boolean getPreventCornerOverlap() -> getPreventCornerOverlap
+ 458:458:boolean getUseCompatPadding() -> getUseCompatPadding
+ 452:454:void setCardBackground(android.graphics.drawable.Drawable) -> setCardBackground
+ 475:481:void setMinWidthHeightInternal(int,int) -> setMinWidthHeightInternal
+ 468:471:void setShadowPadding(int,int,int,int) -> setShadowPadding
+androidx.cardview.widget.CardViewApi17Impl -> androidx.cardview.widget.CardViewApi17Impl:
+ 25:25:void <init>() -> <init>
+ 29:37:void initStatic() -> initStatic
+androidx.cardview.widget.CardViewApi17Impl$1 -> androidx.cardview.widget.CardViewApi17Impl$1:
+ 30:30:void <init>(androidx.cardview.widget.CardViewApi17Impl) -> <init>
+ 34:35:void drawRoundRect(android.graphics.Canvas,android.graphics.RectF,float,android.graphics.Paint) -> drawRoundRect
+androidx.cardview.widget.CardViewApi21Impl -> androidx.cardview.widget.CardViewApi21Impl:
+ 26:26:void <init>() -> <init>
+ 118:118:android.content.res.ColorStateList getBackgroundColor(androidx.cardview.widget.CardViewDelegate) -> getBackgroundColor
+ 122:122:androidx.cardview.widget.RoundRectDrawable getCardBackground(androidx.cardview.widget.CardViewDelegate) -> getCardBackground
+ 83:83:float getElevation(androidx.cardview.widget.CardViewDelegate) -> getElevation
+ 58:58:float getMaxElevation(androidx.cardview.widget.CardViewDelegate) -> getMaxElevation
+ 68:68:float getMinHeight(androidx.cardview.widget.CardViewDelegate) -> getMinHeight
+ 63:63:float getMinWidth(androidx.cardview.widget.CardViewDelegate) -> getMinWidth
+ 73:73:float getRadius(androidx.cardview.widget.CardViewDelegate) -> getRadius
+ 47:47:void initStatic() -> initStatic
+ 31:38:void initialize(androidx.cardview.widget.CardViewDelegate,android.content.Context,android.content.res.ColorStateList,float,float,float) -> initialize
+ 103:104:void onCompatPaddingChanged(androidx.cardview.widget.CardViewDelegate) -> onCompatPaddingChanged
+ 108:109:void onPreventCornerOverlapChanged(androidx.cardview.widget.CardViewDelegate) -> onPreventCornerOverlapChanged
+ 113:114:void setBackgroundColor(androidx.cardview.widget.CardViewDelegate,android.content.res.ColorStateList) -> setBackgroundColor
+ 78:79:void setElevation(androidx.cardview.widget.CardViewDelegate,float) -> setElevation
+ 51:54:void setMaxElevation(androidx.cardview.widget.CardViewDelegate,float) -> setMaxElevation
+ 42:43:void setRadius(androidx.cardview.widget.CardViewDelegate,float) -> setRadius
+ 88:99:void updatePadding(androidx.cardview.widget.CardViewDelegate) -> updatePadding
+androidx.cardview.widget.CardViewBaseImpl -> androidx.cardview.widget.CardViewBaseImpl:
+ 27:29:void <init>() -> <init>
+ 93:93:androidx.cardview.widget.RoundRectDrawableWithShadow createBackground(android.content.Context,android.content.res.ColorStateList,float,float,float) -> createBackground
+ 125:125:android.content.res.ColorStateList getBackgroundColor(androidx.cardview.widget.CardViewDelegate) -> getBackgroundColor
+ 146:146:float getElevation(androidx.cardview.widget.CardViewDelegate) -> getElevation
+ 157:157:float getMaxElevation(androidx.cardview.widget.CardViewDelegate) -> getMaxElevation
+ 167:167:float getMinHeight(androidx.cardview.widget.CardViewDelegate) -> getMinHeight
+ 162:162:float getMinWidth(androidx.cardview.widget.CardViewDelegate) -> getMinWidth
+ 136:136:float getRadius(androidx.cardview.widget.CardViewDelegate) -> getRadius
+ 171:171:androidx.cardview.widget.RoundRectDrawableWithShadow getShadowBackground(androidx.cardview.widget.CardViewDelegate) -> getShadowBackground
+ 37:78:void initStatic() -> initStatic
+ 83:88:void initialize(androidx.cardview.widget.CardViewDelegate,android.content.Context,android.content.res.ColorStateList,float,float,float) -> initialize
+ 110:110:void onCompatPaddingChanged(androidx.cardview.widget.CardViewDelegate) -> onCompatPaddingChanged
+ 114:116:void onPreventCornerOverlapChanged(androidx.cardview.widget.CardViewDelegate) -> onPreventCornerOverlapChanged
+ 120:121:void setBackgroundColor(androidx.cardview.widget.CardViewDelegate,android.content.res.ColorStateList) -> setBackgroundColor
+ 141:142:void setElevation(androidx.cardview.widget.CardViewDelegate,float) -> setElevation
+ 151:153:void setMaxElevation(androidx.cardview.widget.CardViewDelegate,float) -> setMaxElevation
+ 130:132:void setRadius(androidx.cardview.widget.CardViewDelegate,float) -> setRadius
+ 99:105:void updatePadding(androidx.cardview.widget.CardViewDelegate) -> updatePadding
+androidx.cardview.widget.CardViewBaseImpl$1 -> androidx.cardview.widget.CardViewBaseImpl$1:
+ 38:38:void <init>(androidx.cardview.widget.CardViewBaseImpl) -> <init>
+ 42:76:void drawRoundRect(android.graphics.Canvas,android.graphics.RectF,float,android.graphics.Paint) -> drawRoundRect
+androidx.cardview.widget.RoundRectDrawable -> androidx.cardview.widget.RoundRectDrawable:
+ 47:62:void <init>(android.content.res.ColorStateList,float) -> <init>
+ 206:210:android.graphics.PorterDuffColorFilter createTintFilter(android.content.res.ColorStateList,android.graphics.PorterDuff$Mode) -> createTintFilter
+ 87:102:void draw(android.graphics.Canvas) -> draw
+ 164:164:android.content.res.ColorStateList getColor() -> getColor
+ 151:151:int getOpacity() -> getOpacity
+ 127:128:void getOutline(android.graphics.Outline) -> getOutline
+ 82:82:float getPadding() -> getPadding
+ 155:155:float getRadius() -> getRadius
+ 197:198:boolean isStateful() -> isStateful
+ 121:123:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 183:192:boolean onStateChange(int[]) -> onStateChange
+ 141:142:void setAlpha(int) -> setAlpha
+ 65:67:void setBackground(android.content.res.ColorStateList) -> setBackground
+ 159:161:void setColor(android.content.res.ColorStateList) -> setColor
+ 146:147:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 70:79:void setPadding(float,boolean,boolean) -> setPadding
+ 131:137:void setRadius(float) -> setRadius
+ 169:172:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 176:179:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 105:117:void updateBounds(android.graphics.Rect) -> updateBounds
+androidx.cardview.widget.RoundRectDrawableWithShadow -> androidx.cardview.widget.RoundRectDrawableWithShadow:
+ 41:41:void <clinit>() -> <clinit>
+ 78:105:void <init>(android.content.res.Resources,android.content.res.ColorStateList,float,float,float) -> <init>
+ 334:338:void buildComponents(android.graphics.Rect) -> buildComponents
+ 297:328:void buildShadowCorners() -> buildShadowCorners
+ 189:192:float calculateHorizontalPadding(float,float,boolean) -> calculateHorizontalPadding
+ 180:183:float calculateVerticalPadding(float,float,boolean) -> calculateVerticalPadding
+ 238:246:void draw(android.graphics.Canvas) -> draw
+ 249:294:void drawShadow(android.graphics.Canvas) -> drawShadow
+ 382:382:android.content.res.ColorStateList getColor() -> getColor
+ 341:341:float getCornerRadius() -> getCornerRadius
+ 345:346:void getMaxShadowAndCornerPadding(android.graphics.Rect) -> getMaxShadowAndCornerPadding
+ 361:361:float getMaxShadowSize() -> getMaxShadowSize
+ 371:373:float getMinHeight() -> getMinHeight
+ 365:367:float getMinWidth() -> getMinWidth
+ 220:220:int getOpacity() -> getOpacity
+ 170:175:boolean getPadding(android.graphics.Rect) -> getPadding
+ 357:357:float getShadowSize() -> getShadowSize
+ 210:210:boolean isStateful() -> isStateful
+ 137:139:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 198:205:boolean onStateChange(int[]) -> onStateChange
+ 124:126:void setAddPaddingForCorners(boolean) -> setAddPaddingForCorners
+ 130:133:void setAlpha(int) -> setAlpha
+ 108:110:void setBackground(android.content.res.ColorStateList) -> setBackground
+ 377:379:void setColor(android.content.res.ColorStateList) -> setColor
+ 215:216:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 224:234:void setCornerRadius(float) -> setCornerRadius
+ 353:354:void setMaxShadowSize(float) -> setMaxShadowSize
+ 142:166:void setShadowSize(float,float) -> setShadowSize
+ 349:350:void setShadowSize(float) -> setShadowSize
+ 116:120:int toEven(float) -> toEven
+androidx.collection.ArrayMap -> androidx.collection.ArrayMap:
+ 57:58:void <init>() -> <init>
+ 64:65:void <init>(int) -> <init>
+ 71:72:void <init>(androidx.collection.SimpleArrayMap) -> <init>
+ 133:133:boolean containsAll(java.util.Collection) -> containsAll
+ 182:182:java.util.Set entrySet() -> entrySet
+ 75:123:androidx.collection.MapCollections getCollection() -> getCollection
+ 194:194:java.util.Set keySet() -> keySet
+ 142:146:void putAll(java.util.Map) -> putAll
+ 154:154:boolean removeAll(java.util.Collection) -> removeAll
+ 164:164:boolean retainAll(java.util.Collection) -> retainAll
+ 206:206:java.util.Collection values() -> values
+androidx.collection.ArrayMap$1 -> androidx.collection.ArrayMap$1:
+ 76:76:void <init>(androidx.collection.ArrayMap) -> <init>
+ 119:120:void colClear() -> colClear
+ 84:84:java.lang.Object colGetEntry(int,int) -> colGetEntry
+ 99:99:java.util.Map colGetMap() -> colGetMap
+ 79:79:int colGetSize() -> colGetSize
+ 89:89:int colIndexOfKey(java.lang.Object) -> colIndexOfKey
+ 94:94:int colIndexOfValue(java.lang.Object) -> colIndexOfValue
+ 104:105:void colPut(java.lang.Object,java.lang.Object) -> colPut
+ 114:115:void colRemoveAt(int) -> colRemoveAt
+ 109:109:java.lang.Object colSetValue(int,java.lang.Object) -> colSetValue
+androidx.collection.ArraySet -> androidx.collection.ArraySet:
+ 50:51:void <clinit>() -> <clinit>
+ 240:241:void <init>() -> <init>
+ 247:255:void <init>(int) -> <init>
+ 261:265:void <init>(androidx.collection.ArraySet) -> <init>
+ 271:275:void <init>(java.util.Collection) -> <init>
+ 359:402:boolean add(java.lang.Object) -> add
+ 410:423:void addAll(androidx.collection.ArraySet) -> addAll
+ 719:724:boolean addAll(java.util.Collection) -> addAll
+ 160:196:void allocArrays(int) -> allocArrays
+ 282:288:void clear() -> clear
+ 315:315:boolean contains(java.lang.Object) -> contains
+ 705:710:boolean containsAll(java.util.Collection) -> containsAll
+ 295:305:void ensureCapacity(int) -> ensureCapacity
+ 559:582:boolean equals(java.lang.Object) -> equals
+ 200:233:void freeArrays(int[],java.lang.Object[],int) -> freeArrays
+ 634:682:androidx.collection.MapCollections getCollection() -> getCollection
+ 590:595:int hashCode() -> hashCode
+ 83:117:int indexOf(java.lang.Object,int) -> indexOf
+ 325:325:int indexOf(java.lang.Object) -> indexOf
+ 121:155:int indexOfNull() -> indexOfNull
+ 343:343:boolean isEmpty() -> isEmpty
+ 694:694:java.util.Iterator iterator() -> iterator
+ 433:438:boolean remove(java.lang.Object) -> remove
+ 506:514:boolean removeAll(androidx.collection.ArraySet) -> removeAll
+ 734:738:boolean removeAll(java.util.Collection) -> removeAll
+ 447:494:java.lang.Object removeAt(int) -> removeAt
+ 749:756:boolean retainAll(java.util.Collection) -> retainAll
+ 522:522:int size() -> size
+ 528:530:java.lang.Object[] toArray() -> toArray
+ 536:545:java.lang.Object[] toArray(java.lang.Object[]) -> toArray
+ 607:625:java.lang.String toString() -> toString
+ 335:335:java.lang.Object valueAt(int) -> valueAt
+androidx.collection.ArraySet$1 -> androidx.collection.ArraySet$1:
+ 635:635:void <init>(androidx.collection.ArraySet) -> <init>
+ 678:679:void colClear() -> colClear
+ 643:643:java.lang.Object colGetEntry(int,int) -> colGetEntry
+ 658:658:java.util.Map colGetMap() -> colGetMap
+ 638:638:int colGetSize() -> colGetSize
+ 648:648:int colIndexOfKey(java.lang.Object) -> colIndexOfKey
+ 653:653:int colIndexOfValue(java.lang.Object) -> colIndexOfValue
+ 663:664:void colPut(java.lang.Object,java.lang.Object) -> colPut
+ 673:674:void colRemoveAt(int) -> colRemoveAt
+ 668:668:java.lang.Object colSetValue(int,java.lang.Object) -> colSetValue
+androidx.collection.CircularArray -> androidx.collection.CircularArray:
+ 49:50:void <init>() -> <init>
+ 58:77:void <init>(int) -> <init>
+ 84:89:void addFirst(java.lang.Object) -> addFirst
+ 96:101:void addLast(java.lang.Object) -> addLast
+ 138:139:void clear() -> clear
+ 30:43:void doubleCapacity() -> doubleCapacity
+ 240:243:java.lang.Object get(int) -> get
+ 215:218:java.lang.Object getFirst() -> getFirst
+ 227:230:java.lang.Object getLast() -> getLast
+ 259:259:boolean isEmpty() -> isEmpty
+ 109:115:java.lang.Object popFirst() -> popFirst
+ 124:131:java.lang.Object popLast() -> popLast
+ 182:207:void removeFromEnd(int) -> removeFromEnd
+ 149:172:void removeFromStart(int) -> removeFromStart
+ 251:251:int size() -> size
+androidx.collection.CircularIntArray -> androidx.collection.CircularIntArray:
+ 50:51:void <init>() -> <init>
+ 59:78:void <init>(int) -> <init>
+ 85:90:void addFirst(int) -> addFirst
+ 97:102:void addLast(int) -> addLast
+ 133:134:void clear() -> clear
+ 31:44:void doubleCapacity() -> doubleCapacity
+ 197:198:int get(int) -> get
+ 176:177:int getFirst() -> getFirst
+ 186:187:int getLast() -> getLast
+ 214:214:boolean isEmpty() -> isEmpty
+ 110:113:int popFirst() -> popFirst
+ 122:126:int popLast() -> popLast
+ 161:168:void removeFromEnd(int) -> removeFromEnd
+ 144:151:void removeFromStart(int) -> removeFromStart
+ 206:206:int size() -> size
+androidx.collection.ContainerHelpers -> androidx.collection.ContainerHelpers:
+ 20:22:void <clinit>() -> <clinit>
+ 83:84:void <init>() -> <init>
+ 46:61:int binarySearch(int[],int,int) -> binarySearch
+ 65:80:int binarySearch(long[],int,long) -> binarySearch
+ 41:41:boolean equal(java.lang.Object,java.lang.Object) -> equal
+ 33:37:int idealByteArraySize(int) -> idealByteArraySize
+ 25:25:int idealIntArraySize(int) -> idealIntArraySize
+ 29:29:int idealLongArraySize(int) -> idealLongArraySize
+androidx.collection.LongSparseArray -> androidx.collection.LongSparseArray:
+ 51:51:void <clinit>() -> <clinit>
+ 62:63:void <init>() -> <init>
+ 52:81:void <init>(int) -> <init>
+ 456:483:void append(long,java.lang.Object) -> append
+ 440:449:void clear() -> clear
+ 50:50:java.lang.Object clone() -> clone
+ 88:94:androidx.collection.LongSparseArray clone() -> clone
+ 428:428:boolean containsKey(long) -> containsKey
+ 433:433:boolean containsValue(java.lang.Object) -> containsValue
+ 132:133:void delete(long) -> delete
+ 217:240:void gc() -> gc
+ 109:109:java.lang.Object get(long) -> get
+ 118:123:java.lang.Object get(long,java.lang.Object) -> get
+ 399:403:int indexOfKey(long) -> indexOfKey
+ 415:423:int indexOfValue(java.lang.Object) -> indexOfValue
+ 339:339:boolean isEmpty() -> isEmpty
+ 353:357:long keyAt(int) -> keyAt
+ 248:292:void put(long,java.lang.Object) -> put
+ 300:303:void putAll(androidx.collection.LongSparseArray) -> putAll
+ 315:319:java.lang.Object putIfAbsent(long,java.lang.Object) -> putIfAbsent
+ 139:147:void remove(long) -> remove
+ 156:164:boolean remove(long,java.lang.Object) -> remove
+ 171:175:void removeAt(int) -> removeAt
+ 185:191:java.lang.Object replace(long,java.lang.Object) -> replace
+ 203:211:boolean replace(long,java.lang.Object,java.lang.Object) -> replace
+ 386:391:void setValueAt(int,java.lang.Object) -> setValueAt
+ 327:331:int size() -> size
+ 494:515:java.lang.String toString() -> toString
+ 373:377:java.lang.Object valueAt(int) -> valueAt
+androidx.collection.LruCache -> androidx.collection.LruCache:
+ 51:57:void <init>(int) -> <init>
+ 255:255:java.lang.Object create(java.lang.Object) -> create
+ 322:322:int createCount() -> createCount
+ 236:236:void entryRemoved(boolean,java.lang.Object,java.lang.Object,java.lang.Object) -> entryRemoved
+ 281:282:void evictAll() -> evictAll
+ 336:336:int evictionCount() -> evictionCount
+ 83:126:java.lang.Object get(java.lang.Object) -> get
+ 307:307:int hitCount() -> hitCount
+ 299:299:int maxSize() -> maxSize
+ 315:315:int missCount() -> missCount
+ 138:157:java.lang.Object put(java.lang.Object,java.lang.Object) -> put
+ 329:329:int putCount() -> putCount
+ 200:216:java.lang.Object remove(java.lang.Object) -> remove
+ 65:73:void resize(int) -> resize
+ 259:263:int safeSizeOf(java.lang.Object,java.lang.Object) -> safeSizeOf
+ 290:290:int size() -> size
+ 274:274:int sizeOf(java.lang.Object,java.lang.Object) -> sizeOf
+ 344:344:java.util.Map snapshot() -> snapshot
+ 347:351:java.lang.String toString() -> toString
+ 171:191:void trimToSize(int) -> trimToSize
+androidx.collection.MapCollections -> androidx.collection.MapCollections:
+ 32:32:void <init>() -> <init>
+ 459:465:boolean containsAllHelper(java.util.Map,java.util.Collection) -> containsAllHelper
+ 515:529:boolean equalsSetHelper(java.util.Set,java.lang.Object) -> equalsSetHelper
+ 533:536:java.util.Set getEntrySet() -> getEntrySet
+ 540:543:java.util.Set getKeySet() -> getKeySet
+ 547:550:java.util.Collection getValues() -> getValues
+ 469:474:boolean removeAllHelper(java.util.Map,java.util.Collection) -> removeAllHelper
+ 478:485:boolean retainAllHelper(java.util.Map,java.util.Collection) -> retainAllHelper
+ 490:495:java.lang.Object[] toArrayHelper(int) -> toArrayHelper
+ 499:511:java.lang.Object[] toArrayHelper(java.lang.Object[],int) -> toArrayHelper
+androidx.collection.MapCollections$ArrayIterator -> androidx.collection.MapCollections$ArrayIterator:
+ 41:46:void <init>(androidx.collection.MapCollections,int) -> <init>
+ 50:50:boolean hasNext() -> hasNext
+ 55:59:java.lang.Object next() -> next
+ 64:71:void remove() -> remove
+androidx.collection.MapCollections$EntrySet -> androidx.collection.MapCollections$EntrySet:
+ 167:167:void <init>(androidx.collection.MapCollections) -> <init>
+ 167:167:boolean add(java.lang.Object) -> add
+ 170:170:boolean add(java.util.Map$Entry) -> add
+ 175:179:boolean addAll(java.util.Collection) -> addAll
+ 184:185:void clear() -> clear
+ 189:197:boolean contains(java.lang.Object) -> contains
+ 202:208:boolean containsAll(java.util.Collection) -> containsAll
+ 253:253:boolean equals(java.lang.Object) -> equals
+ 258:265:int hashCode() -> hashCode
+ 213:213:boolean isEmpty() -> isEmpty
+ 218:218:java.util.Iterator iterator() -> iterator
+ 223:223:boolean remove(java.lang.Object) -> remove
+ 228:228:boolean removeAll(java.util.Collection) -> removeAll
+ 233:233:boolean retainAll(java.util.Collection) -> retainAll
+ 238:238:int size() -> size
+ 243:243:java.lang.Object[] toArray() -> toArray
+ 248:248:java.lang.Object[] toArray(java.lang.Object[]) -> toArray
+androidx.collection.MapCollections$KeySet -> androidx.collection.MapCollections$KeySet:
+ 269:269:void <init>(androidx.collection.MapCollections) -> <init>
+ 273:273:boolean add(java.lang.Object) -> add
+ 278:278:boolean addAll(java.util.Collection) -> addAll
+ 283:284:void clear() -> clear
+ 288:288:boolean contains(java.lang.Object) -> contains
+ 293:293:boolean containsAll(java.util.Collection) -> containsAll
+ 343:343:boolean equals(java.lang.Object) -> equals
+ 348:353:int hashCode() -> hashCode
+ 298:298:boolean isEmpty() -> isEmpty
+ 303:303:java.util.Iterator iterator() -> iterator
+ 308:313:boolean remove(java.lang.Object) -> remove
+ 318:318:boolean removeAll(java.util.Collection) -> removeAll
+ 323:323:boolean retainAll(java.util.Collection) -> retainAll
+ 328:328:int size() -> size
+ 333:333:java.lang.Object[] toArray() -> toArray
+ 338:338:java.lang.Object[] toArray(java.lang.Object[]) -> toArray
+androidx.collection.MapCollections$MapIterator -> androidx.collection.MapCollections$MapIterator:
+ 77:82:void <init>(androidx.collection.MapCollections) -> <init>
+ 137:146:boolean equals(java.lang.Object) -> equals
+ 110:114:java.lang.Object getKey() -> getKey
+ 119:123:java.lang.Object getValue() -> getValue
+ 86:86:boolean hasNext() -> hasNext
+ 151:158:int hashCode() -> hashCode
+ 74:74:java.lang.Object next() -> next
+ 91:94:java.util.Map$Entry next() -> next
+ 99:106:void remove() -> remove
+ 128:132:java.lang.Object setValue(java.lang.Object) -> setValue
+ 163:163:java.lang.String toString() -> toString
+androidx.collection.MapCollections$ValuesCollection -> androidx.collection.MapCollections$ValuesCollection:
+ 357:357:void <init>(androidx.collection.MapCollections) -> <init>
+ 361:361:boolean add(java.lang.Object) -> add
+ 366:366:boolean addAll(java.util.Collection) -> addAll
+ 371:372:void clear() -> clear
+ 376:376:boolean contains(java.lang.Object) -> contains
+ 381:387:boolean containsAll(java.util.Collection) -> containsAll
+ 392:392:boolean isEmpty() -> isEmpty
+ 397:397:java.util.Iterator iterator() -> iterator
+ 402:407:boolean remove(java.lang.Object) -> remove
+ 412:423:boolean removeAll(java.util.Collection) -> removeAll
+ 428:439:boolean retainAll(java.util.Collection) -> retainAll
+ 444:444:int size() -> size
+ 449:449:java.lang.Object[] toArray() -> toArray
+ 454:454:java.lang.Object[] toArray(java.lang.Object[]) -> toArray
+androidx.collection.SimpleArrayMap -> androidx.collection.SimpleArrayMap:
+ 236:240:void <init>() -> <init>
+ 246:254:void <init>(int) -> <init>
+ 260:264:void <init>(androidx.collection.SimpleArrayMap) -> <init>
+ 165:197:void allocArrays(int) -> allocArrays
+ 77:80:int binarySearchHashes(int[],int,int) -> binarySearchHashes
+ 270:282:void clear() -> clear
+ 312:312:boolean containsKey(java.lang.Object) -> containsKey
+ 352:352:boolean containsValue(java.lang.Object) -> containsValue
+ 289:303:void ensureCapacity(int) -> ensureCapacity
+ 681:735:boolean equals(java.lang.Object) -> equals
+ 201:230:void freeArrays(int[],java.lang.Object[],int) -> freeArrays
+ 369:369:java.lang.Object get(java.lang.Object) -> get
+ 380:381:java.lang.Object getOrDefault(java.lang.Object,java.lang.Object) -> getOrDefault
+ 743:750:int hashCode() -> hashCode
+ 88:122:int indexOf(java.lang.Object,int) -> indexOf
+ 322:322:int indexOfKey(java.lang.Object) -> indexOfKey
+ 126:160:int indexOfNull() -> indexOfNull
+ 326:341:int indexOfValue(java.lang.Object) -> indexOfValue
+ 419:419:boolean isEmpty() -> isEmpty
+ 390:390:java.lang.Object keyAt(int) -> keyAt
+ 432:490:java.lang.Object put(java.lang.Object,java.lang.Object) -> put
+ 498:511:void putAll(androidx.collection.SimpleArrayMap) -> putAll
+ 523:527:java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object) -> putIfAbsent
+ 538:543:java.lang.Object remove(java.lang.Object) -> remove
+ 553:561:boolean remove(java.lang.Object,java.lang.Object) -> remove
+ 570:626:java.lang.Object removeAt(int) -> removeAt
+ 637:641:java.lang.Object replace(java.lang.Object,java.lang.Object) -> replace
+ 653:661:boolean replace(java.lang.Object,java.lang.Object,java.lang.Object) -> replace
+ 409:412:java.lang.Object setValueAt(int,java.lang.Object) -> setValueAt
+ 668:668:int size() -> size
+ 762:787:java.lang.String toString() -> toString
+ 399:399:java.lang.Object valueAt(int) -> valueAt
+androidx.collection.SparseArrayCompat -> androidx.collection.SparseArrayCompat:
+ 51:51:void <clinit>() -> <clinit>
+ 62:63:void <init>() -> <init>
+ 52:81:void <init>(int) -> <init>
+ 460:487:void append(int,java.lang.Object) -> append
+ 444:453:void clear() -> clear
+ 50:50:java.lang.Object clone() -> clone
+ 88:94:androidx.collection.SparseArrayCompat clone() -> clone
+ 432:432:boolean containsKey(int) -> containsKey
+ 437:437:boolean containsValue(java.lang.Object) -> containsValue
+ 132:133:void delete(int) -> delete
+ 230:253:void gc() -> gc
+ 109:109:java.lang.Object get(int) -> get
+ 118:123:java.lang.Object get(int,java.lang.Object) -> get
+ 401:405:int indexOfKey(int) -> indexOfKey
+ 419:427:int indexOfValue(java.lang.Object) -> indexOfValue
+ 352:352:boolean isEmpty() -> isEmpty
+ 361:365:int keyAt(int) -> keyAt
+ 261:305:void put(int,java.lang.Object) -> put
+ 313:316:void putAll(androidx.collection.SparseArrayCompat) -> putAll
+ 328:332:java.lang.Object putIfAbsent(int,java.lang.Object) -> putIfAbsent
+ 139:147:void remove(int) -> remove
+ 156:164:boolean remove(int,java.lang.Object) -> remove
+ 171:175:void removeAt(int) -> removeAt
+ 184:188:void removeAtRange(int,int) -> removeAtRange
+ 198:204:java.lang.Object replace(int,java.lang.Object) -> replace
+ 216:224:boolean replace(int,java.lang.Object,java.lang.Object) -> replace
+ 388:393:void setValueAt(int,java.lang.Object) -> setValueAt
+ 340:344:int size() -> size
+ 498:519:java.lang.String toString() -> toString
+ 375:379:java.lang.Object valueAt(int) -> valueAt
+androidx.constraintlayout.core.ArrayLinkedVariables -> androidx.constraintlayout.core.ArrayLinkedVariables:
+ 82:82:void <clinit>() -> <clinit>
+ 43:109:void <init>(androidx.constraintlayout.core.ArrayRow,androidx.constraintlayout.core.Cache) -> <init>
+ 226:340:void add(androidx.constraintlayout.core.SolverVariable,float,boolean) -> add
+ 409:423:void clear() -> clear
+ 432:443:boolean contains(androidx.constraintlayout.core.SolverVariable) -> contains
+ 614:624:void display() -> display
+ 500:506:void divideByAmount(float) -> divideByAmount
+ 593:602:float get(androidx.constraintlayout.core.SolverVariable) -> get
+ 509:509:int getCurrentSize() -> getCurrentSize
+ 508:508:int getHead() -> getHead
+ 512:512:int getId(int) -> getId
+ 520:520:int getNextIndice(int) -> getNextIndice
+ 529:548:androidx.constraintlayout.core.SolverVariable getPivotCandidate() -> getPivotCandidate
+ 516:516:float getValue(int) -> getValue
+ 558:566:androidx.constraintlayout.core.SolverVariable getVariable(int) -> getVariable
+ 576:584:float getVariableValue(int) -> getVariableValue
+ 470:478:boolean hasAtLeastOnePositiveVariable() -> hasAtLeastOnePositiveVariable
+ 448:459:int indexOf(androidx.constraintlayout.core.SolverVariable) -> indexOf
+ 485:491:void invert() -> invert
+ 118:214:void put(androidx.constraintlayout.core.SolverVariable,float) -> put
+ 369:402:float remove(androidx.constraintlayout.core.SolverVariable,boolean) -> remove
+ 607:610:int sizeInBytes() -> sizeInBytes
+ 633:642:java.lang.String toString() -> toString
+ 349:358:float use(androidx.constraintlayout.core.ArrayRow,boolean) -> use
+androidx.constraintlayout.core.ArrayRow -> androidx.constraintlayout.core.ArrayRow:
+ 26:55:void <init>() -> <init>
+ 26:60:void <init>(androidx.constraintlayout.core.Cache) -> <init>
+ 349:351:androidx.constraintlayout.core.ArrayRow addError(androidx.constraintlayout.core.LinearSystem,int) -> addError
+ 690:703:void addError(androidx.constraintlayout.core.SolverVariable) -> addError
+ 178:179:androidx.constraintlayout.core.ArrayRow addSingleError(androidx.constraintlayout.core.SolverVariable,int) -> addSingleError
+ 431:442:boolean chooseSubject(androidx.constraintlayout.core.LinearSystem) -> chooseSubject
+ 457:504:androidx.constraintlayout.core.SolverVariable chooseSubjectInVariables(androidx.constraintlayout.core.LinearSystem) -> chooseSubjectInVariables
+ 665:668:void clear() -> clear
+ 303:345:androidx.constraintlayout.core.ArrayRow createRowCentering(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,float,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int) -> createRowCentering
+ 139:143:androidx.constraintlayout.core.ArrayRow createRowDefinition(androidx.constraintlayout.core.SolverVariable,int) -> createRowDefinition
+ 356:358:androidx.constraintlayout.core.ArrayRow createRowDimensionPercent(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,float) -> createRowDimensionPercent
+ 375:379:androidx.constraintlayout.core.ArrayRow createRowDimensionRatio(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,float) -> createRowDimensionRatio
+ 276:298:androidx.constraintlayout.core.ArrayRow createRowEqualDimension(float,float,float,androidx.constraintlayout.core.SolverVariable,int,androidx.constraintlayout.core.SolverVariable,int,androidx.constraintlayout.core.SolverVariable,int,androidx.constraintlayout.core.SolverVariable,int) -> createRowEqualDimension
+ 240:268:androidx.constraintlayout.core.ArrayRow createRowEqualMatchDimensions(float,float,float,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable) -> createRowEqualMatchDimensions
+ 147:154:androidx.constraintlayout.core.ArrayRow createRowEquals(androidx.constraintlayout.core.SolverVariable,int) -> createRowEquals
+ 158:174:androidx.constraintlayout.core.ArrayRow createRowEquals(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int) -> createRowEquals
+ 185:203:androidx.constraintlayout.core.ArrayRow createRowGreaterThan(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int) -> createRowGreaterThan
+ 207:209:androidx.constraintlayout.core.ArrayRow createRowGreaterThan(androidx.constraintlayout.core.SolverVariable,int,androidx.constraintlayout.core.SolverVariable) -> createRowGreaterThan
+ 214:232:androidx.constraintlayout.core.ArrayRow createRowLowerThan(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int) -> createRowLowerThan
+ 393:398:androidx.constraintlayout.core.ArrayRow createRowWithAngle(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,float) -> createRowWithAngle
+ 415:420:void ensurePositiveConstant() -> ensurePositiveConstant
+ 707:707:androidx.constraintlayout.core.SolverVariable getKey() -> getKey
+ 660:660:androidx.constraintlayout.core.SolverVariable getPivotCandidate(androidx.constraintlayout.core.LinearSystem,boolean[]) -> getPivotCandidate
+ 63:63:boolean hasKeyVariable() -> hasKeyVariable
+ 135:135:boolean hasVariable(androidx.constraintlayout.core.SolverVariable) -> hasVariable
+ 676:686:void initFromRow(androidx.constraintlayout.core.LinearSystem$Row) -> initFromRow
+ 556:556:boolean isEmpty() -> isEmpty
+ 532:532:boolean isNew(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.LinearSystem) -> isNew
+ 655:655:androidx.constraintlayout.core.SolverVariable pickPivot(androidx.constraintlayout.core.SolverVariable) -> pickPivot
+ 610:649:androidx.constraintlayout.core.SolverVariable pickPivotInVariables(boolean[],androidx.constraintlayout.core.SolverVariable) -> pickPivotInVariables
+ 536:550:void pivot(androidx.constraintlayout.core.SolverVariable) -> pivot
+ 128:132:void reset() -> reset
+ 402:410:int sizeInBytes() -> sizeInBytes
+ 75:124:java.lang.String toReadableString() -> toReadableString
+ 71:71:java.lang.String toString() -> toString
+ 575:589:void updateFromFinalVariable(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.SolverVariable,boolean) -> updateFromFinalVariable
+ 561:572:void updateFromRow(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.ArrayRow,boolean) -> updateFromRow
+ 592:607:void updateFromSynonymVariable(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.SolverVariable,boolean) -> updateFromSynonymVariable
+ 712:747:void updateFromSystem(androidx.constraintlayout.core.LinearSystem) -> updateFromSystem
+androidx.constraintlayout.core.Cache -> androidx.constraintlayout.core.Cache:
+ 21:25:void <init>() -> <init>
+androidx.constraintlayout.core.GoalRow -> androidx.constraintlayout.core.GoalRow:
+ 22:23:void <init>(androidx.constraintlayout.core.Cache) -> <init>
+ 27:31:void addError(androidx.constraintlayout.core.SolverVariable) -> addError
+androidx.constraintlayout.core.LinearSystem -> androidx.constraintlayout.core.LinearSystem:
+ 37:250:void <clinit>() -> <clinit>
+ 48:104:void <init>() -> <init>
+ 370:383:androidx.constraintlayout.core.SolverVariable acquireSolverVariable(androidx.constraintlayout.core.SolverVariable$Type,java.lang.String) -> acquireSolverVariable
+ 1445:1463:void addCenterPoint(androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintWidget,float,int) -> addCenterPoint
+ 1288:1294:void addCentering(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,float,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,int) -> addCentering
+ 553:636:void addConstraint(androidx.constraintlayout.core.ArrayRow) -> addConstraint
+ 1336:1368:androidx.constraintlayout.core.ArrayRow addEquality(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,int) -> addEquality
+ 1377:1413:void addEquality(androidx.constraintlayout.core.SolverVariable,int) -> addEquality
+ 306:307:void addError(androidx.constraintlayout.core.ArrayRow) -> addError
+ 1229:1234:void addGreaterBarrier(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,boolean) -> addGreaterBarrier
+ 1214:1223:void addGreaterThan(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,int) -> addGreaterThan
+ 1262:1267:void addLowerBarrier(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,boolean) -> addLowerBarrier
+ 1247:1256:void addLowerThan(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int,int) -> addLowerThan
+ 1300:1306:void addRatio(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,float,int) -> addRatio
+ 639:684:void addRow(androidx.constraintlayout.core.ArrayRow) -> addRow
+ 310:311:void addSingleError(androidx.constraintlayout.core.ArrayRow,int) -> addSingleError
+ 314:325:void addSingleError(androidx.constraintlayout.core.ArrayRow,int,int) -> addSingleError
+ 1309:1326:void addSynonym(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,int) -> addSynonym
+ 523:546:void cleanupRows() -> cleanupRows
+ 1036:1040:void computeValues() -> computeValues
+ 348:361:androidx.constraintlayout.core.SolverVariable createErrorVariable(int,java.lang.String) -> createErrorVariable
+ 291:302:androidx.constraintlayout.core.SolverVariable createExtraVariable() -> createExtraVariable
+ 220:246:androidx.constraintlayout.core.SolverVariable createObjectVariable(java.lang.Object) -> createObjectVariable
+ 254:272:androidx.constraintlayout.core.ArrayRow createRow() -> createRow
+ 1430:1431:androidx.constraintlayout.core.ArrayRow createRowDimensionPercent(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,float) -> createRowDimensionPercent
+ 276:287:androidx.constraintlayout.core.SolverVariable createSlackVariable() -> createSlackVariable
+ 328:344:androidx.constraintlayout.core.SolverVariable createVariable(java.lang.String,androidx.constraintlayout.core.SolverVariable$Type) -> createVariable
+ 1059:1084:void displayReadableRows() -> displayReadableRows
+ 1048:1056:void displayRows() -> displayRows
+ 1145:1156:void displaySolverVariables() -> displaySolverVariables
+ 1120:1142:void displaySystemInformation() -> displaySystemInformation
+ 1088:1098:void displayVariablesReadableRows() -> displayVariablesReadableRows
+ 866:1032:int enforceBFS(androidx.constraintlayout.core.LinearSystem$Row) -> enforceBFS
+ 107:108:void fillMetrics(androidx.constraintlayout.core.Metrics) -> fillMetrics
+ 1171:1171:androidx.constraintlayout.core.Cache getCache() -> getCache
+ 1159:1167:java.lang.String getDisplaySize(int) -> getDisplaySize
+ 1175:1196:java.lang.String getDisplayStrength(int) -> getDisplayStrength
+ 394:394:androidx.constraintlayout.core.LinearSystem$Row getGoal() -> getGoal
+ 1102:1108:int getMemoryUsed() -> getMemoryUsed
+ 111:111:androidx.constraintlayout.core.Metrics getMetrics() -> getMetrics
+ 1112:1112:int getNumEquations() -> getNumEquations
+ 1114:1114:int getNumVariables() -> getNumVariables
+ 409:419:int getObjectVariableValue(java.lang.Object) -> getObjectVariableValue
+ 397:397:androidx.constraintlayout.core.ArrayRow getRow(int) -> getRow
+ 401:405:float getValueFor(java.lang.String) -> getValueFor
+ 430:437:androidx.constraintlayout.core.SolverVariable getVariable(java.lang.String,androidx.constraintlayout.core.SolverVariable$Type) -> getVariable
+ 140:151:void increaseTableSize() -> increaseTableSize
+ 448:487:void minimize() -> minimize
+ 494:520:void minimizeGoal(androidx.constraintlayout.core.LinearSystem$Row) -> minimizeGoal
+ 716:857:int optimize(androidx.constraintlayout.core.LinearSystem$Row,boolean) -> optimize
+ 157:174:void releaseRows() -> releaseRows
+ 687:707:void removeRow(androidx.constraintlayout.core.ArrayRow) -> removeRow
+ 185:213:void reset() -> reset
+androidx.constraintlayout.core.LinearSystem$ValuesRow -> androidx.constraintlayout.core.LinearSystem$ValuesRow:
+ 89:91:void <init>(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.Cache) -> <init>
+androidx.constraintlayout.core.Metrics -> androidx.constraintlayout.core.Metrics:
+ 25:60:void <init>() -> <init>
+ 115:147:void reset() -> reset
+ 71:71:java.lang.String toString() -> toString
+androidx.constraintlayout.core.Pools -> androidx.constraintlayout.core.Pools:
+ 75:77:void <init>() -> <init>
+androidx.constraintlayout.core.Pools$SimplePool -> androidx.constraintlayout.core.Pools$SimplePool:
+ 96:101:void <init>(int) -> <init>
+ 106:113:java.lang.Object acquire() -> acquire
+ 151:156:boolean isInPool(java.lang.Object) -> isInPool
+ 123:128:boolean release(java.lang.Object) -> release
+ 133:148:void releaseAll(java.lang.Object[],int) -> releaseAll
+androidx.constraintlayout.core.PriorityGoalRow -> androidx.constraintlayout.core.PriorityGoalRow:
+ 29:156:void <init>(androidx.constraintlayout.core.Cache) -> <init>
+ 25:25:void access$000(androidx.constraintlayout.core.PriorityGoalRow,androidx.constraintlayout.core.SolverVariable) -> access$000
+ 190:194:void addError(androidx.constraintlayout.core.SolverVariable) -> addError
+ 197:221:void addToGoal(androidx.constraintlayout.core.SolverVariable) -> addToGoal
+ 147:149:void clear() -> clear
+ 167:185:androidx.constraintlayout.core.SolverVariable getPivotCandidate(androidx.constraintlayout.core.LinearSystem,boolean[]) -> getPivotCandidate
+ 160:160:boolean isEmpty() -> isEmpty
+ 224:234:void removeGoal(androidx.constraintlayout.core.SolverVariable) -> removeGoal
+ 259:266:java.lang.String toString() -> toString
+ 238:255:void updateFromRow(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.ArrayRow,boolean) -> updateFromRow
+androidx.constraintlayout.core.PriorityGoalRow$1 -> androidx.constraintlayout.core.PriorityGoalRow$1:
+ 208:208:void <init>(androidx.constraintlayout.core.PriorityGoalRow) -> <init>
+ 208:208:int compare(java.lang.Object,java.lang.Object) -> compare
+ 211:211:int compare(androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable) -> compare
+androidx.constraintlayout.core.PriorityGoalRow$GoalVariableAccessor -> androidx.constraintlayout.core.PriorityGoalRow$GoalVariableAccessor:
+ 39:41:void <init>(androidx.constraintlayout.core.PriorityGoalRow,androidx.constraintlayout.core.PriorityGoalRow) -> <init>
+ 81:88:void add(androidx.constraintlayout.core.SolverVariable) -> add
+ 48:77:boolean addToGoal(androidx.constraintlayout.core.SolverVariable,float) -> addToGoal
+ 44:45:void init(androidx.constraintlayout.core.SolverVariable) -> init
+ 91:100:boolean isNegative() -> isNegative
+ 120:125:boolean isNull() -> isNull
+ 104:116:boolean isSmallerThan(androidx.constraintlayout.core.SolverVariable) -> isSmallerThan
+ 129:130:void reset() -> reset
+ 133:140:java.lang.String toString() -> toString
+androidx.constraintlayout.core.SolverVariable -> androidx.constraintlayout.core.SolverVariable:
+ 44:48:void <clinit>() -> <clinit>
+ 53:172:void <init>(java.lang.String,androidx.constraintlayout.core.SolverVariable$Type) -> <init>
+ 53:172:void <init>(androidx.constraintlayout.core.SolverVariable$Type,java.lang.String) -> <init>
+ 178:189:void addToRow(androidx.constraintlayout.core.ArrayRow) -> addToRow
+ 137:140:void clearStrengths() -> clearStrengths
+ 27:27:int compareTo(java.lang.Object) -> compareTo
+ 300:300:int compareTo(androidx.constraintlayout.core.SolverVariable) -> compareTo
+ 287:287:java.lang.String getName() -> getName
+ 103:116:java.lang.String getUniqueName(androidx.constraintlayout.core.SolverVariable$Type,java.lang.String) -> getUniqueName
+ 99:100:void increaseErrorId() -> increaseErrorId
+ 195:206:void removeFromRow(androidx.constraintlayout.core.ArrayRow) -> removeFromRow
+ 257:279:void reset() -> reset
+ 227:238:void setFinalValue(androidx.constraintlayout.core.LinearSystem,float) -> setFinalValue
+ 290:290:void setName(java.lang.String) -> setName
+ 244:254:void setSynonym(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.SolverVariable,float) -> setSynonym
+ 292:296:void setType(androidx.constraintlayout.core.SolverVariable$Type,java.lang.String) -> setType
+ 143:169:java.lang.String strengthsToString() -> strengthsToString
+ 308:324:java.lang.String toString() -> toString
+ 215:221:void updateReferencesWithNewDefinition(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.ArrayRow) -> updateReferencesWithNewDefinition
+androidx.constraintlayout.core.SolverVariable$1 -> androidx.constraintlayout.core.SolverVariable$1:
+ 106:106:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.SolverVariable$Type -> androidx.constraintlayout.core.SolverVariable$Type:
+ 75:95:void <clinit>() -> <clinit>
+ 75:75:void <init>(java.lang.String,int) -> <init>
+ 75:75:androidx.constraintlayout.core.SolverVariable$Type valueOf(java.lang.String) -> valueOf
+ 75:75:androidx.constraintlayout.core.SolverVariable$Type[] values() -> values
+androidx.constraintlayout.core.SolverVariableValues -> androidx.constraintlayout.core.SolverVariableValues:
+ 28:28:void <clinit>() -> <clinit>
+ 29:50:void <init>(androidx.constraintlayout.core.ArrayRow,androidx.constraintlayout.core.Cache) -> <init>
+ 410:423:void add(androidx.constraintlayout.core.SolverVariable,float,boolean) -> add
+ 216:236:void addToHashMap(androidx.constraintlayout.core.SolverVariable,int) -> addToHashMap
+ 289:296:void addVariable(int,androidx.constraintlayout.core.SolverVariable,float) -> addVariable
+ 180:196:void clear() -> clear
+ 94:94:boolean contains(androidx.constraintlayout.core.SolverVariable) -> contains
+ 134:144:void display() -> display
+ 239:255:void displayHash() -> displayHash
+ 481:490:void divideByAmount(float) -> divideByAmount
+ 299:304:int findEmptySlot() -> findEmptySlot
+ 125:129:float get(androidx.constraintlayout.core.SolverVariable) -> get
+ 54:54:int getCurrentSize() -> getCurrentSize
+ 59:73:androidx.constraintlayout.core.SolverVariable getVariable(int) -> getVariable
+ 78:89:float getVariableValue(int) -> getVariableValue
+ 199:210:void increaseSize() -> increaseSize
+ 99:120:int indexOf(androidx.constraintlayout.core.SolverVariable) -> indexOf
+ 308:327:void insertVariable(int,androidx.constraintlayout.core.SolverVariable,float) -> insertVariable
+ 468:477:void invert() -> invert
+ 334:369:void put(androidx.constraintlayout.core.SolverVariable,float) -> put
+ 381:402:float remove(androidx.constraintlayout.core.SolverVariable,boolean) -> remove
+ 260:286:void removeFromHashMap(androidx.constraintlayout.core.SolverVariable) -> removeFromHashMap
+ 373:373:int sizeInBytes() -> sizeInBytes
+ 148:172:java.lang.String toString() -> toString
+ 427:463:float use(androidx.constraintlayout.core.ArrayRow,boolean) -> use
+androidx.constraintlayout.core.motion.CustomAttribute -> androidx.constraintlayout.core.motion.CustomAttribute:
+ 31:246:void <init>(java.lang.String,androidx.constraintlayout.core.motion.CustomAttribute$AttributeType) -> <init>
+ 31:253:void <init>(java.lang.String,androidx.constraintlayout.core.motion.CustomAttribute$AttributeType,java.lang.Object,boolean) -> <init>
+ 31:260:void <init>(androidx.constraintlayout.core.motion.CustomAttribute,java.lang.Object) -> <init>
+ 368:416:void applyCustom(java.lang.Object) -> applyCustom
+ 419:424:int clamp(int) -> clamp
+ 220:239:boolean diff(androidx.constraintlayout.core.motion.CustomAttribute) -> diff
+ 290:309:java.util.HashMap extractAttributes(java.util.HashMap,java.lang.Object) -> extractAttributes
+ 52:52:androidx.constraintlayout.core.motion.CustomAttribute$AttributeType getType() -> getType
+ 109:124:float getValueToInterpolate() -> getValueToInterpolate
+ 129:160:void getValuesToInterpolate(float[]) -> getValuesToInterpolate
+ 189:209:int hsvToRgb(float,float,float) -> hsvToRgb
+ 61:67:boolean isContinuous() -> isContinuous
+ 94:99:int numberOfInterpolatedValues() -> numberOfInterpolatedValues
+ 313:365:void setAttributes(java.lang.Object,java.util.HashMap) -> setAttributes
+ 76:77:void setColorValue(int) -> setColorValue
+ 72:73:void setFloatValue(float) -> setFloatValue
+ 80:81:void setIntValue(int) -> setIntValue
+ 428:473:void setInterpolatedValue(java.lang.Object,float[]) -> setInterpolatedValue
+ 84:85:void setStringValue(java.lang.String) -> setStringValue
+ 163:186:void setValue(float[]) -> setValue
+ 263:286:void setValue(java.lang.Object) -> setValue
+androidx.constraintlayout.core.motion.CustomAttribute$1 -> androidx.constraintlayout.core.motion.CustomAttribute$1:
+ 61:61:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.motion.CustomAttribute$AttributeType -> androidx.constraintlayout.core.motion.CustomAttribute$AttributeType:
+ 40:48:void <clinit>() -> <clinit>
+ 40:40:void <init>(java.lang.String,int) -> <init>
+ 40:40:androidx.constraintlayout.core.motion.CustomAttribute$AttributeType valueOf(java.lang.String) -> valueOf
+ 40:40:androidx.constraintlayout.core.motion.CustomAttribute$AttributeType[] values() -> values
+androidx.constraintlayout.core.motion.CustomVariable -> androidx.constraintlayout.core.motion.CustomVariable:
+ 27:43:void <init>(androidx.constraintlayout.core.motion.CustomVariable) -> <init>
+ 27:49:void <init>(java.lang.String,int,java.lang.String) -> <init>
+ 27:59:void <init>(java.lang.String,int,int) -> <init>
+ 27:65:void <init>(java.lang.String,int,float) -> <init>
+ 27:71:void <init>(java.lang.String,int,boolean) -> <init>
+ 27:303:void <init>(java.lang.String,int) -> <init>
+ 27:309:void <init>(java.lang.String,int,java.lang.Object) -> <init>
+ 27:316:void <init>(androidx.constraintlayout.core.motion.CustomVariable,java.lang.Object) -> <init>
+ 397:414:void applyToWidget(androidx.constraintlayout.core.motion.MotionWidget) -> applyToWidget
+ 343:348:int clamp(int) -> clamp
+ 74:75:java.lang.String colorString(int) -> colorString
+ 33:33:androidx.constraintlayout.core.motion.CustomVariable copy() -> copy
+ 279:297:boolean diff(androidx.constraintlayout.core.motion.CustomVariable) -> diff
+ 103:103:boolean getBooleanValue() -> getBooleanValue
+ 111:111:int getColorValue() -> getColorValue
+ 107:107:float getFloatValue() -> getFloatValue
+ 115:115:int getIntegerValue() -> getIntegerValue
+ 352:357:int getInterpolatedColor(float[]) -> getInterpolatedColor
+ 417:417:java.lang.String getName() -> getName
+ 119:119:java.lang.String getStringValue() -> getStringValue
+ 99:99:int getType() -> getType
+ 175:190:float getValueToInterpolate() -> getValueToInterpolate
+ 194:223:void getValuesToInterpolate(float[]) -> getValuesToInterpolate
+ 248:269:int hsvToRgb(float,float,float) -> hsvToRgb
+ 128:134:boolean isContinuous() -> isContinuous
+ 161:165:int numberOfInterpolatedValues() -> numberOfInterpolatedValues
+ 388:393:int rgbaTocColor(float,float,float,float) -> rgbaTocColor
+ 143:144:void setBooleanValue(boolean) -> setBooleanValue
+ 139:140:void setFloatValue(float) -> setFloatValue
+ 147:148:void setIntValue(int) -> setIntValue
+ 362:385:void setInterpolatedValue(androidx.constraintlayout.core.motion.MotionWidget,float[]) -> setInterpolatedValue
+ 151:152:void setStringValue(java.lang.String) -> setStringValue
+ 226:245:void setValue(float[]) -> setValue
+ 319:340:void setValue(java.lang.Object) -> setValue
+ 80:95:java.lang.String toString() -> toString
+androidx.constraintlayout.core.motion.Motion -> androidx.constraintlayout.core.motion.Motion:
+ 74:150:void <init>(androidx.constraintlayout.core.motion.MotionWidget) -> <init>
+ 622:626:void addKey(androidx.constraintlayout.core.motion.key.MotionKey) -> addKey
+ 613:619:void addKeys(java.util.ArrayList) -> addKeys
+ 357:411:void buildBounds(float[],int) -> buildBounds
+ 509:526:int buildKeyBounds(float[],int[]) -> buildKeyBounds
+ 483:505:int buildKeyFrames(float[],int[],int[]) -> buildKeyFrames
+ 270:335:void buildPath(float[],int) -> buildPath
+ 544:547:void buildRect(float,float[],int) -> buildRect
+ 550:557:void buildRectangles(float[],int) -> buildRectangles
+ 1206:1206:void endTrigger(boolean) -> endTrigger
+ 1154:1196:float getAdjustedPosition(float,float[]) -> getAdjustedPosition
+ 234:234:int getAnimateRelativeTo() -> getAnimateRelativeTo
+ 532:540:int getAttributeValues(java.lang.String,float[],int) -> getAttributeValues
+ 251:258:void getCenter(double,float[],float[]) -> getCenter
+ 243:243:float getCenterX() -> getCenterX
+ 247:247:float getCenterY() -> getCenterY
+ 1378:1408:void getDpDt(float,float,float,float[]) -> getDpDt
+ 1491:1496:int getDrawPath() -> getDrawPath
+ 223:223:float getFinalHeight() -> getFinalHeight
+ 214:214:float getFinalWidth() -> getFinalWidth
+ 177:177:float getFinalX() -> getFinalX
+ 187:187:float getFinalY() -> getFinalY
+ 1099:1118:androidx.constraintlayout.core.motion.utils.DifferentialInterpolator getInterpolator(int,java.lang.String,int) -> getInterpolator
+ 145:145:androidx.constraintlayout.core.motion.MotionPaths getKeyFrame(int) -> getKeyFrame
+ 1559:1590:int getKeyFrameInfo(int,int[]) -> getKeyFrameInfo
+ 561:592:float getKeyFrameParameter(int,float,float) -> getKeyFrameParameter
+ 1530:1540:int getKeyFramePositions(int[],float[]) -> getKeyFramePositions
+ 338:344:double[] getPos(double) -> getPos
+ 462:479:androidx.constraintlayout.core.motion.key.MotionKeyPosition getPositionKeyframe(int,int,float,float) -> getPositionKeyframe
+ 1425:1487:void getPostLayoutDvDp(float,int,int,float,float,float[]) -> getPostLayoutDvDp
+ 414:458:float getPreCycleDistance() -> getPreCycleDistance
+ 205:205:float getStartHeight() -> getStartHeight
+ 196:196:float getStartWidth() -> getStartWidth
+ 158:158:float getStartX() -> getStartX
+ 168:168:float getStartY() -> getStartY
+ 125:125:int getTransformPivotTarget() -> getTransformPivotTarget
+ 978:978:androidx.constraintlayout.core.motion.MotionWidget getView() -> getView
+ 596:610:void insertKey(androidx.constraintlayout.core.motion.MotionPaths) -> insertKey
+ 1224:1365:boolean interpolate(androidx.constraintlayout.core.motion.MotionWidget,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> interpolate
+ 1505:1505:java.lang.String name() -> name
+ 1509:1520:void positionKeyframe(androidx.constraintlayout.core.motion.MotionWidget,androidx.constraintlayout.core.motion.key.MotionKeyPosition,float,float,java.lang.String[],float[]) -> positionKeyframe
+ 970:971:void readView(androidx.constraintlayout.core.motion.MotionPaths) -> readView
+ 1027:1062:void rotate(androidx.constraintlayout.core.motion.utils.Rect,androidx.constraintlayout.core.motion.utils.Rect,int,int,int) -> rotate
+ 1136:1143:void setBothStates(androidx.constraintlayout.core.motion.MotionWidget) -> setBothStates
+ 1500:1501:void setDrawPath(int) -> setDrawPath
+ 990:996:void setEnd(androidx.constraintlayout.core.motion.MotionWidget) -> setEnd
+ 629:630:void setPathMotionArc(int) -> setPathMotionArc
+ 982:987:void setStart(androidx.constraintlayout.core.motion.MotionWidget) -> setStart
+ 999:1023:void setStartState(androidx.constraintlayout.core.motion.utils.ViewState,androidx.constraintlayout.core.motion.MotionWidget,int,int,int) -> setStartState
+ 134:136:void setTransformPivotTarget(int) -> setTransformPivotTarget
+ 974:975:void setView(androidx.constraintlayout.core.motion.MotionWidget) -> setView
+ 637:957:void setup(int,int,float,long) -> setup
+ 238:240:void setupRelative(androidx.constraintlayout.core.motion.Motion) -> setupRelative
+ 965:965:java.lang.String toString() -> toString
+androidx.constraintlayout.core.motion.Motion$1 -> androidx.constraintlayout.core.motion.Motion$1:
+ 1102:1102:void <init>(androidx.constraintlayout.core.motion.utils.Easing) -> <init>
+ 1107:1108:float getInterpolation(float) -> getInterpolation
+ 1113:1113:float getVelocity() -> getVelocity
+androidx.constraintlayout.core.motion.MotionConstrainedPoint -> androidx.constraintlayout.core.motion.MotionConstrainedPoint:
+ 66:66:void <clinit>() -> <clinit>
+ 38:152:void <init>() -> <init>
+ 229:295:void addValues(java.util.HashMap,int) -> addValues
+ 203:226:void applyParameters(androidx.constraintlayout.core.motion.MotionWidget) -> applyParameters
+ 34:34:int compareTo(java.lang.Object) -> compareTo
+ 198:198:int compareTo(androidx.constraintlayout.core.motion.MotionConstrainedPoint) -> compareTo
+ 76:79:boolean diff(float,float) -> diff
+ 89:140:void different(androidx.constraintlayout.core.motion.MotionConstrainedPoint,java.util.HashSet) -> different
+ 143:149:void different(androidx.constraintlayout.core.motion.MotionConstrainedPoint,boolean[],java.lang.String[]) -> different
+ 155:163:void fillStandard(double[],int[]) -> fillStandard
+ 174:185:int getCustomData(java.lang.String,double[],int) -> getCustomData
+ 170:170:int getCustomDataCount(java.lang.String) -> getCustomDataCount
+ 166:166:boolean hasCustomData(java.lang.String) -> hasCustomData
+ 190:194:void setBounds(float,float,float,float) -> setBounds
+ 298:300:void setState(androidx.constraintlayout.core.motion.MotionWidget) -> setState
+ 308:321:void setState(androidx.constraintlayout.core.motion.utils.Rect,androidx.constraintlayout.core.motion.MotionWidget,int,float) -> setState
+androidx.constraintlayout.core.motion.MotionPaths -> androidx.constraintlayout.core.motion.MotionPaths:
+ 49:49:void <clinit>() -> <clinit>
+ 51:485:void <init>() -> <init>
+ 51:485:void <init>(int,int,androidx.constraintlayout.core.motion.key.MotionKeyPosition,androidx.constraintlayout.core.motion.MotionPaths,androidx.constraintlayout.core.motion.MotionPaths) -> <init>
+ 891:907:void applyParameters(androidx.constraintlayout.core.motion.MotionWidget) -> applyParameters
+ 34:34:int compareTo(java.lang.Object) -> compareTo
+ 887:887:int compareTo(androidx.constraintlayout.core.motion.MotionPaths) -> compareTo
+ 910:911:void configureRelativeTo(androidx.constraintlayout.core.motion.Motion) -> configureRelativeTo
+ 293:296:boolean diff(float,float) -> diff
+ 300:309:void different(androidx.constraintlayout.core.motion.MotionPaths,boolean[],java.lang.String[],boolean) -> different
+ 839:846:void fillStandard(double[],int[]) -> fillStandard
+ 457:482:void getBounds(int[],double[],float[],int) -> getBounds
+ 312:351:void getCenter(double,int[],double[],float[],int) -> getCenter
+ 354:413:void getCenter(double,int[],double[],float[],double[],float[]) -> getCenter
+ 416:454:void getCenterVelocity(double,int[],double[],float[],int) -> getCenterVelocity
+ 861:874:int getCustomData(java.lang.String,double[],int) -> getCustomData
+ 853:857:int getCustomDataCount(java.lang.String) -> getCustomDataCount
+ 625:749:void getRect(int[],double[],float[],int) -> getRect
+ 849:849:boolean hasCustomData(java.lang.String) -> hasCustomData
+ 81:116:void initCartesian(androidx.constraintlayout.core.motion.key.MotionKeyPosition,androidx.constraintlayout.core.motion.MotionPaths,androidx.constraintlayout.core.motion.MotionPaths) -> initCartesian
+ 238:278:void initPath(androidx.constraintlayout.core.motion.key.MotionKeyPosition,androidx.constraintlayout.core.motion.MotionPaths,androidx.constraintlayout.core.motion.MotionPaths) -> initPath
+ 145:178:void initPolar(int,int,androidx.constraintlayout.core.motion.key.MotionKeyPosition,androidx.constraintlayout.core.motion.MotionPaths,androidx.constraintlayout.core.motion.MotionPaths) -> initPolar
+ 195:234:void initScreen(int,int,androidx.constraintlayout.core.motion.key.MotionKeyPosition,androidx.constraintlayout.core.motion.MotionPaths,androidx.constraintlayout.core.motion.MotionPaths) -> initScreen
+ 879:883:void setBounds(float,float,float,float) -> setBounds
+ 763:836:void setDpDt(float,float,float[],int[],double[],double[]) -> setDpDt
+ 489:622:void setView(float,androidx.constraintlayout.core.motion.MotionWidget,int[],double[],double[],double[]) -> setView
+ 181:192:void setupRelative(androidx.constraintlayout.core.motion.Motion,androidx.constraintlayout.core.motion.MotionPaths) -> setupRelative
+ 281:283:float xRotate(float,float,float,float,float,float) -> xRotate
+ 287:289:float yRotate(float,float,float,float,float,float) -> yRotate
+androidx.constraintlayout.core.motion.MotionWidget -> androidx.constraintlayout.core.motion.MotionWidget:
+ 27:87:void <init>() -> <init>
+ 27:125:void <init>(androidx.constraintlayout.core.state.WidgetFrame) -> <init>
+ 94:94:androidx.constraintlayout.core.motion.MotionWidget findViewById(int) -> findViewById
+ 415:415:float getAlpha() -> getAlpha
+ 323:323:int getBottom() -> getBottom
+ 459:459:androidx.constraintlayout.core.motion.CustomVariable getCustomAttribute(java.lang.String) -> getCustomAttribute
+ 439:439:java.util.Set getCustomAttributeNames() -> getCustomAttributeNames
+ 431:431:int getHeight() -> getHeight
+ 307:311:int getId(java.lang.String) -> getId
+ 319:319:int getLeft() -> getLeft
+ 102:102:java.lang.String getName() -> getName
+ 90:90:androidx.constraintlayout.core.motion.MotionWidget getParent() -> getParent
+ 407:407:float getPivotX() -> getPivotX
+ 411:411:float getPivotY() -> getPivotY
+ 327:327:int getRight() -> getRight
+ 339:339:float getRotationX() -> getRotationX
+ 347:347:float getRotationY() -> getRotationY
+ 355:355:float getRotationZ() -> getRotationZ
+ 387:387:float getScaleX() -> getScaleX
+ 395:395:float getScaleY() -> getScaleY
+ 315:315:int getTop() -> getTop
+ 363:363:float getTranslationX() -> getTranslationX
+ 371:371:float getTranslationY() -> getTranslationY
+ 383:383:float getTranslationZ() -> getTranslationZ
+ 273:301:float getValueAttributes(int) -> getValueAttributes
+ 403:403:int getVisibility() -> getVisibility
+ 435:435:androidx.constraintlayout.core.state.WidgetFrame getWidgetFrame() -> getWidgetFrame
+ 427:427:int getWidth() -> getWidth
+ 419:419:int getX() -> getX
+ 423:423:int getY() -> getY
+ 106:107:void layout(int,int,int,int) -> layout
+ 114:121:void setBounds(int,int,int,int) -> setBounds
+ 443:444:void setCustomAttribute(java.lang.String,int,float) -> setCustomAttribute
+ 447:448:void setCustomAttribute(java.lang.String,int,int) -> setCustomAttribute
+ 451:452:void setCustomAttribute(java.lang.String,int,boolean) -> setCustomAttribute
+ 455:456:void setCustomAttribute(java.lang.String,int,java.lang.String) -> setCustomAttribute
+ 331:332:void setPivotX(float) -> setPivotX
+ 335:336:void setPivotY(float) -> setPivotY
+ 343:344:void setRotationX(float) -> setRotationX
+ 351:352:void setRotationY(float) -> setRotationY
+ 359:360:void setRotationZ(float) -> setRotationZ
+ 391:392:void setScaleX(float) -> setScaleX
+ 399:400:void setScaleY(float) -> setScaleY
+ 367:368:void setTranslationX(float) -> setTranslationX
+ 375:376:void setTranslationY(float) -> setTranslationY
+ 379:380:void setTranslationZ(float) -> setTranslationZ
+ 129:129:boolean setValue(int,int) -> setValue
+ 134:138:boolean setValue(int,float) -> setValue
+ 143:143:boolean setValue(int,java.lang.String) -> setValue
+ 148:148:boolean setValue(int,boolean) -> setValue
+ 222:265:boolean setValueAttributes(int,float) -> setValueAttributes
+ 152:180:boolean setValueMotion(int,int) -> setValueMotion
+ 184:195:boolean setValueMotion(int,java.lang.String) -> setValueMotion
+ 199:212:boolean setValueMotion(int,float) -> setValueMotion
+ 98:99:void setVisibility(int) -> setVisibility
+ 110:110:java.lang.String toString() -> toString
+androidx.constraintlayout.core.motion.MotionWidget$Motion -> androidx.constraintlayout.core.motion.MotionWidget$Motion:
+ 59:72:void <init>() -> <init>
+androidx.constraintlayout.core.motion.MotionWidget$PropertySet -> androidx.constraintlayout.core.motion.MotionWidget$PropertySet:
+ 78:82:void <init>() -> <init>
+androidx.constraintlayout.core.motion.key.MotionConstraintSet -> androidx.constraintlayout.core.motion.key.MotionConstraintSet:
+ 18:33:void <init>() -> <init>
+androidx.constraintlayout.core.motion.key.MotionKey -> androidx.constraintlayout.core.motion.key.MotionKey:
+ 33:33:void <clinit>() -> <clinit>
+ 32:36:void <init>() -> <init>
+ 32:32:java.lang.Object clone() -> clone
+ 116:120:androidx.constraintlayout.core.motion.key.MotionKey copy(androidx.constraintlayout.core.motion.key.MotionKey) -> copy
+ 145:145:int getFramePosition() -> getFramePosition
+ 60:61:boolean matches(java.lang.String) -> matches
+ 176:177:void setCustomAttribute(java.lang.String,int,float) -> setCustomAttribute
+ 180:181:void setCustomAttribute(java.lang.String,int,int) -> setCustomAttribute
+ 184:185:void setCustomAttribute(java.lang.String,int,boolean) -> setCustomAttribute
+ 188:189:void setCustomAttribute(java.lang.String,int,java.lang.String) -> setCustomAttribute
+ 136:137:void setFramePosition(int) -> setFramePosition
+ 113:113:void setInterpolation(java.util.HashMap) -> setInterpolation
+ 150:155:boolean setValue(int,int) -> setValue
+ 159:159:boolean setValue(int,float) -> setValue
+ 163:168:boolean setValue(int,java.lang.String) -> setValue
+ 172:172:boolean setValue(int,boolean) -> setValue
+ 126:127:androidx.constraintlayout.core.motion.key.MotionKey setViewId(int) -> setViewId
+ 103:103:boolean toBoolean(java.lang.Object) -> toBoolean
+ 81:81:float toFloat(java.lang.Object) -> toFloat
+ 92:92:int toInt(java.lang.Object) -> toInt
+androidx.constraintlayout.core.motion.key.MotionKeyAttributes -> androidx.constraintlayout.core.motion.key.MotionKeyAttributes:
+ 26:53:void <init>() -> <init>
+ 109:198:void addValues(java.util.HashMap) -> addValues
+ 26:26:java.lang.Object clone() -> clone
+ 202:202:androidx.constraintlayout.core.motion.key.MotionKey clone() -> clone
+ 58:105:void getAttributeNames(java.util.HashSet) -> getAttributeNames
+ 349:349:int getCurveFit() -> getCurveFit
+ 365:397:float getFloatValue(int) -> getFloatValue
+ 345:345:int getId(java.lang.String) -> getId
+ 353:362:void printAttributes() -> printAttributes
+ 279:326:void setInterpolation(java.util.HashMap) -> setInterpolation
+ 207:222:boolean setValue(int,int) -> setValue
+ 226:275:boolean setValue(int,float) -> setValue
+ 329:340:boolean setValue(int,java.lang.String) -> setValue
+androidx.constraintlayout.core.motion.key.MotionKeyCycle -> androidx.constraintlayout.core.motion.key.MotionKeyCycle:
+ 28:67:void <init>() -> <init>
+ 293:321:void addCycleValues(java.util.HashMap) -> addCycleValues
+ 114:114:void addValues(java.util.HashMap) -> addValues
+ 28:28:java.lang.Object clone() -> clone
+ 238:238:androidx.constraintlayout.core.motion.key.MotionKey clone() -> clone
+ 326:333:void dump() -> dump
+ 71:109:void getAttributeNames(java.util.HashSet) -> getAttributeNames
+ 243:288:int getId(java.lang.String) -> getId
+ 202:232:float getValue(java.lang.String) -> getValue
+ 336:351:void printAttributes() -> printAttributes
+ 117:129:boolean setValue(int,int) -> setValue
+ 134:142:boolean setValue(int,java.lang.String) -> setValue
+ 148:197:boolean setValue(int,float) -> setValue
+androidx.constraintlayout.core.motion.key.MotionKeyPosition -> androidx.constraintlayout.core.motion.key.MotionKeyPosition:
+ 26:50:void <init>() -> <init>
+ 241:241:void addValues(java.util.HashMap) -> addValues
+ 72:80:void calcCartesianPosition(float,float,float,float) -> calcCartesianPosition
+ 62:68:void calcPathPosition(float,float,float,float) -> calcPathPosition
+ 220:231:void calcPosition(int,int,float,float,float,float) -> calcPosition
+ 54:58:void calcScreenPosition(int,int) -> calcScreenPosition
+ 26:26:java.lang.Object clone() -> clone
+ 216:216:androidx.constraintlayout.core.motion.key.MotionKey clone() -> clone
+ 199:212:androidx.constraintlayout.core.motion.key.MotionKey copy(androidx.constraintlayout.core.motion.key.MotionKey) -> copy
+ 238:238:void getAttributeNames(java.util.HashSet) -> getAttributeNames
+ 301:301:int getId(java.lang.String) -> getId
+ 83:83:float getPositionX() -> getPositionX
+ 87:87:float getPositionY() -> getPositionY
+ 190:195:boolean intersects(int,int,androidx.constraintlayout.core.motion.utils.FloatRect,androidx.constraintlayout.core.motion.utils.FloatRect,float,float) -> intersects
+ 91:102:void positionAttributes(androidx.constraintlayout.core.motion.MotionWidget,androidx.constraintlayout.core.motion.utils.FloatRect,androidx.constraintlayout.core.motion.utils.FloatRect,float,float,java.lang.String[],float[]) -> positionAttributes
+ 167:187:void positionCartAttributes(androidx.constraintlayout.core.motion.utils.FloatRect,androidx.constraintlayout.core.motion.utils.FloatRect,float,float,java.lang.String[],float[]) -> positionCartAttributes
+ 108:137:void positionPathAttributes(androidx.constraintlayout.core.motion.utils.FloatRect,androidx.constraintlayout.core.motion.utils.FloatRect,float,float,java.lang.String[],float[]) -> positionPathAttributes
+ 140:164:void positionScreenAttributes(androidx.constraintlayout.core.motion.MotionWidget,androidx.constraintlayout.core.motion.utils.FloatRect,androidx.constraintlayout.core.motion.utils.FloatRect,float,float,java.lang.String[],float[]) -> positionScreenAttributes
+ 245:259:boolean setValue(int,int) -> setValue
+ 265:284:boolean setValue(int,float) -> setValue
+ 289:296:boolean setValue(int,java.lang.String) -> setValue
+androidx.constraintlayout.core.motion.key.MotionKeyTimeCycle -> androidx.constraintlayout.core.motion.key.MotionKeyTimeCycle:
+ 28:55:void <init>() -> <init>
+ 58:138:void addTimeValues(java.util.HashMap) -> addTimeValues
+ 142:142:void addValues(java.util.HashMap) -> addValues
+ 28:28:java.lang.Object clone() -> clone
+ 297:297:androidx.constraintlayout.core.motion.key.MotionKey clone() -> clone
+ 28:28:androidx.constraintlayout.core.motion.key.MotionKey copy(androidx.constraintlayout.core.motion.key.MotionKey) -> copy
+ 232:251:androidx.constraintlayout.core.motion.key.MotionKeyTimeCycle copy(androidx.constraintlayout.core.motion.key.MotionKey) -> copy
+ 256:294:void getAttributeNames(java.util.HashSet) -> getAttributeNames
+ 302:302:int getId(java.lang.String) -> getId
+ 146:156:boolean setValue(int,int) -> setValue
+ 160:209:boolean setValue(int,float) -> setValue
+ 213:224:boolean setValue(int,java.lang.String) -> setValue
+ 228:228:boolean setValue(int,boolean) -> setValue
+androidx.constraintlayout.core.motion.key.MotionKeyTrigger -> androidx.constraintlayout.core.motion.key.MotionKeyTrigger:
+ 29:84:void <init>() -> <init>
+ 94:94:void addValues(java.util.HashMap) -> addValues
+ 29:29:java.lang.Object clone() -> clone
+ 150:150:androidx.constraintlayout.core.motion.key.MotionKey clone() -> clone
+ 168:168:void conditionallyFire(float,androidx.constraintlayout.core.motion.MotionWidget) -> conditionallyFire
+ 29:29:androidx.constraintlayout.core.motion.key.MotionKey copy(androidx.constraintlayout.core.motion.key.MotionKey) -> copy
+ 126:146:androidx.constraintlayout.core.motion.key.MotionKeyTrigger copy(androidx.constraintlayout.core.motion.key.MotionKey) -> copy
+ 153:166:void fireCustom(java.lang.String,androidx.constraintlayout.core.motion.MotionWidget) -> fireCustom
+ 89:89:void getAttributeNames(java.util.HashSet) -> getAttributeNames
+ 98:122:int getId(java.lang.String) -> getId
+ 171:194:boolean setValue(int,int) -> setValue
+ 198:205:boolean setValue(int,float) -> setValue
+ 209:228:boolean setValue(int,java.lang.String) -> setValue
+ 232:239:boolean setValue(int,boolean) -> setValue
+androidx.constraintlayout.core.motion.parse.KeyParser -> androidx.constraintlayout.core.motion.parse.KeyParser:
+ 28:28:void <init>() -> <init>
+ 83:105:void main(java.lang.String[]) -> main
+ 39:75:androidx.constraintlayout.core.motion.utils.TypedBundle parse(java.lang.String,androidx.constraintlayout.core.motion.parse.KeyParser$Ids,androidx.constraintlayout.core.motion.parse.KeyParser$DataType) -> parse
+ 79:79:androidx.constraintlayout.core.motion.utils.TypedBundle parseAttributes(java.lang.String) -> parseAttributes
+androidx.constraintlayout.core.motion.parse.KeyParser$$ExternalSyntheticLambda0 -> androidx.constraintlayout.core.motion.parse.KeyParser$$ExternalSyntheticLambda0:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ androidx.constraintlayout.core.motion.parse.KeyParser$$InternalSyntheticLambda$0$e1a0828d9445fc9cb6fa8a9da3fca67e0426461f2326395afe486f2ac4a5453f$1 androidx.constraintlayout.core.motion.parse.KeyParser$$InternalSyntheticLambda$0$e1a0828d9445fc9cb6fa8a9da3fca67e0426461f2326395afe486f2ac4a5453f$1.INSTANCE -> INSTANCE
+ void androidx.constraintlayout.core.motion.parse.KeyParser$$InternalSyntheticLambda$0$e1a0828d9445fc9cb6fa8a9da3fca67e0426461f2326395afe486f2ac4a5453f$1.<clinit>() -> <clinit>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void androidx.constraintlayout.core.motion.parse.KeyParser$$InternalSyntheticLambda$0$e1a0828d9445fc9cb6fa8a9da3fca67e0426461f2326395afe486f2ac4a5453f$1.<init>() -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ int androidx.constraintlayout.core.motion.parse.KeyParser$$InternalSyntheticLambda$0$e1a0828d9445fc9cb6fa8a9da3fca67e0426461f2326395afe486f2ac4a5453f$1.get(int) -> get
+ # {"id":"com.android.tools.r8.synthesized"}
+androidx.constraintlayout.core.motion.parse.KeyParser$$ExternalSyntheticLambda1 -> androidx.constraintlayout.core.motion.parse.KeyParser$$ExternalSyntheticLambda1:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ androidx.constraintlayout.core.motion.parse.KeyParser$$InternalSyntheticLambda$0$e1a0828d9445fc9cb6fa8a9da3fca67e0426461f2326395afe486f2ac4a5453f$0 androidx.constraintlayout.core.motion.parse.KeyParser$$InternalSyntheticLambda$0$e1a0828d9445fc9cb6fa8a9da3fca67e0426461f2326395afe486f2ac4a5453f$0.INSTANCE -> INSTANCE
+ void androidx.constraintlayout.core.motion.parse.KeyParser$$InternalSyntheticLambda$0$e1a0828d9445fc9cb6fa8a9da3fca67e0426461f2326395afe486f2ac4a5453f$0.<clinit>() -> <clinit>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void androidx.constraintlayout.core.motion.parse.KeyParser$$InternalSyntheticLambda$0$e1a0828d9445fc9cb6fa8a9da3fca67e0426461f2326395afe486f2ac4a5453f$0.<init>() -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ int androidx.constraintlayout.core.motion.parse.KeyParser$$InternalSyntheticLambda$0$e1a0828d9445fc9cb6fa8a9da3fca67e0426461f2326395afe486f2ac4a5453f$0.get(java.lang.String) -> get
+ # {"id":"com.android.tools.r8.synthesized"}
+androidx.constraintlayout.core.motion.utils.ArcCurveFit -> androidx.constraintlayout.core.motion.utils.ArcCurveFit:
+ 37:281:void <init>(int[],double[],double[][]) -> <init>
+ 41:92:void getPos(double,double[]) -> getPos
+ 96:145:void getPos(double,float[]) -> getPos
+ 172:224:double getPos(double,int) -> getPos
+ 149:168:void getSlope(double,double[]) -> getSlope
+ 229:251:double getSlope(double,int) -> getSlope
+ 256:256:double[] getTimePoints() -> getTimePoints
+androidx.constraintlayout.core.motion.utils.ArcCurveFit$Arc -> androidx.constraintlayout.core.motion.utils.ArcCurveFit$Arc:
+ 285:285:void <clinit>() -> <clinit>
+ 300:332:void <init>(int,double,double,double,double,double,double) -> <init>
+ 397:436:void buildTable(double,double,double,double) -> buildTable
+ 351:354:double getDX() -> getDX
+ 358:361:double getDY() -> getDY
+ 375:375:double getLinearDX(double) -> getLinearDX
+ 379:379:double getLinearDY(double) -> getLinearDY
+ 365:366:double getLinearX(double) -> getLinearX
+ 370:371:double getLinearY(double) -> getLinearY
+ 343:343:double getX() -> getX
+ 347:347:double getY() -> getY
+ 383:393:double lookup(double) -> lookup
+ 335:340:void setPoint(double) -> setPoint
+androidx.constraintlayout.core.motion.utils.CurveFit -> androidx.constraintlayout.core.motion.utils.CurveFit:
+ 26:26:void <init>() -> <init>
+ 32:41:androidx.constraintlayout.core.motion.utils.CurveFit get(int,double[],double[][]) -> get
+ 46:46:androidx.constraintlayout.core.motion.utils.CurveFit getArc(int[],double[],double[][]) -> getArc
+androidx.constraintlayout.core.motion.utils.CurveFit$Constant -> androidx.constraintlayout.core.motion.utils.CurveFit$Constant:
+ 65:68:void <init>(double,double[]) -> <init>
+ 72:73:void getPos(double,double[]) -> getPos
+ 77:80:void getPos(double,float[]) -> getPos
+ 84:84:double getPos(double,int) -> getPos
+ 89:92:void getSlope(double,double[]) -> getSlope
+ 96:96:double getSlope(double,int) -> getSlope
+ 101:101:double[] getTimePoints() -> getTimePoints
+androidx.constraintlayout.core.motion.utils.Easing -> androidx.constraintlayout.core.motion.utils.Easing:
+ 27:38:void <clinit>() -> <clinit>
+ 26:28:void <init>() -> <init>
+ 71:71:double get(double) -> get
+ 79:79:double getDiff(double) -> getDiff
+ 41:67:androidx.constraintlayout.core.motion.utils.Easing getInterpolator(java.lang.String) -> getInterpolator
+ 75:75:java.lang.String toString() -> toString
+androidx.constraintlayout.core.motion.utils.Easing$CubicEasing -> androidx.constraintlayout.core.motion.utils.Easing$CubicEasing:
+ 84:85:void <clinit>() -> <clinit>
+ 88:100:void <init>(java.lang.String) -> <init>
+ 102:104:void <init>(double,double,double,double) -> <init>
+ 171:194:double get(double) -> get
+ 146:163:double getDiff(double) -> getDiff
+ 132:133:double getDiffX(double) -> getDiffX
+ 137:138:double getDiffY(double) -> getDiffY
+ 114:119:double getX(double) -> getX
+ 123:128:double getY(double) -> getY
+ 107:111:void setup(double,double,double,double) -> setup
+androidx.constraintlayout.core.motion.utils.FloatRect -> androidx.constraintlayout.core.motion.utils.FloatRect:
+ 18:18:void <init>() -> <init>
+ 24:24:float centerX() -> centerX
+ 27:27:float centerY() -> centerY
+androidx.constraintlayout.core.motion.utils.HyperSpline -> androidx.constraintlayout.core.motion.utils.HyperSpline:
+ 40:42:void <init>(double[][]) -> <init>
+ 44:45:void <init>() -> <init>
+ 122:145:double approxLength(androidx.constraintlayout.core.motion.utils.HyperSpline$Cubic[]) -> approxLength
+ 149:176:androidx.constraintlayout.core.motion.utils.HyperSpline$Cubic[] calcNaturalCubic(int,double[]) -> calcNaturalCubic
+ 88:97:void getPos(double,double[]) -> getPos
+ 100:109:void getPos(double,float[]) -> getPos
+ 112:118:double getPos(double,int) -> getPos
+ 76:85:void getVelocity(double,double[]) -> getVelocity
+ 48:73:void setup(double[][]) -> setup
+androidx.constraintlayout.core.motion.utils.HyperSpline$Cubic -> androidx.constraintlayout.core.motion.utils.HyperSpline$Cubic:
+ 182:187:void <init>(double,double,double,double) -> <init>
+ 193:193:double eval(double) -> eval
+ 202:202:double vel(double) -> vel
+androidx.constraintlayout.core.motion.utils.KeyCache -> androidx.constraintlayout.core.motion.utils.KeyCache:
+ 26:28:void <init>() -> <init>
+ 63:77:float getFloatValue(java.lang.Object,java.lang.String,int) -> getFloatValue
+ 31:60:void setFloatValue(java.lang.Object,java.lang.String,int,float) -> setFloatValue
+androidx.constraintlayout.core.motion.utils.KeyCycleOscillator -> androidx.constraintlayout.core.motion.utils.KeyCycleOscillator:
+ 32:41:void <init>() -> <init>
+ 118:118:float get(float) -> get
+ 126:126:androidx.constraintlayout.core.motion.utils.CurveFit getCurveFit() -> getCurveFit
+ 122:122:float getSlope(float) -> getSlope
+ 44:47:androidx.constraintlayout.core.motion.utils.KeyCycleOscillator makeWidgetCycle(java.lang.String) -> makeWidgetCycle
+ 131:131:void setCustom(java.lang.Object) -> setCustom
+ 152:159:void setPoint(int,int,java.lang.String,int,float,float,float,float,java.lang.Object) -> setPoint
+ 178:184:void setPoint(int,int,java.lang.String,int,float,float,float,float) -> setPoint
+ 413:413:void setProperty(androidx.constraintlayout.core.motion.MotionWidget,float) -> setProperty
+ 114:115:void setType(java.lang.String) -> setType
+ 187:211:void setup(float) -> setup
+ 105:110:java.lang.String toString() -> toString
+ 84:84:boolean variesByPath() -> variesByPath
+androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$1 -> androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$1:
+ 191:191:void <init>(androidx.constraintlayout.core.motion.utils.KeyCycleOscillator) -> <init>
+ 191:191:int compare(java.lang.Object,java.lang.Object) -> compare
+ 194:194:int compare(androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$WavePoint,androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$WavePoint) -> compare
+androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$CoreSpline -> androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$CoreSpline:
+ 54:57:void <init>(java.lang.String) -> <init>
+ 60:61:void setProperty(androidx.constraintlayout.core.motion.MotionWidget,float) -> setProperty
+androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$CycleOscillator -> androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$CycleOscillator:
+ 304:331:void <init>(int,java.lang.String,int,int) -> <init>
+ 349:349:double getLastPhase() -> getLastPhase
+ 353:363:double getSlope(float) -> getSlope
+ 334:345:double getValues(float) -> getValues
+ 374:379:void setPoint(int,int,float,float,float,float) -> setPoint
+ 382:408:void setup(float) -> setup
+androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$IntDoubleSort -> androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$IntDoubleSort:
+ 213:213:void <init>() -> <init>
+ 233:242:int partition(int[],float[],int,int) -> partition
+ 215:230:void sort(int[],float[],int,int) -> sort
+ 246:252:void swap(int[],float[],int,int) -> swap
+androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$IntFloatFloatSort -> androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$IntFloatFloatSort:
+ 255:255:void <init>() -> <init>
+ 275:284:int partition(int[],float[],float[],int,int) -> partition
+ 257:272:void sort(int[],float[],float[],int,int) -> sort
+ 288:297:void swap(int[],float[],float[],int,int) -> swap
+androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$PathRotateSet -> androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$PathRotateSet:
+ 68:71:void <init>(java.lang.String) -> <init>
+ 79:80:void setPathRotate(androidx.constraintlayout.core.motion.MotionWidget,float,double,double) -> setPathRotate
+ 75:76:void setProperty(androidx.constraintlayout.core.motion.MotionWidget,float) -> setProperty
+androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$WavePoint -> androidx.constraintlayout.core.motion.utils.KeyCycleOscillator$WavePoint:
+ 94:100:void <init>(int,float,float,float,float) -> <init>
+androidx.constraintlayout.core.motion.utils.KeyFrameArray -> androidx.constraintlayout.core.motion.utils.KeyFrameArray:
+ 23:23:void <init>() -> <init>
+androidx.constraintlayout.core.motion.utils.KeyFrameArray$CustomArray -> androidx.constraintlayout.core.motion.utils.KeyFrameArray$CustomArray:
+ 27:34:void <init>() -> <init>
+ 64:70:void append(int,androidx.constraintlayout.core.motion.CustomAttribute) -> append
+ 37:40:void clear() -> clear
+ 43:49:void dump() -> dump
+ 60:60:int keyAt(int) -> keyAt
+ 73:86:void remove(int) -> remove
+ 52:52:int size() -> size
+ 56:56:androidx.constraintlayout.core.motion.CustomAttribute valueAt(int) -> valueAt
+androidx.constraintlayout.core.motion.utils.KeyFrameArray$CustomVar -> androidx.constraintlayout.core.motion.utils.KeyFrameArray$CustomVar:
+ 90:97:void <init>() -> <init>
+ 127:133:void append(int,androidx.constraintlayout.core.motion.CustomVariable) -> append
+ 100:103:void clear() -> clear
+ 106:112:void dump() -> dump
+ 123:123:int keyAt(int) -> keyAt
+ 136:149:void remove(int) -> remove
+ 115:115:int size() -> size
+ 119:119:androidx.constraintlayout.core.motion.CustomVariable valueAt(int) -> valueAt
+androidx.constraintlayout.core.motion.utils.KeyFrameArray$FloatArray -> androidx.constraintlayout.core.motion.utils.KeyFrameArray$FloatArray:
+ 153:160:void <init>() -> <init>
+ 190:196:void append(int,float[]) -> append
+ 163:166:void clear() -> clear
+ 169:175:void dump() -> dump
+ 186:186:int keyAt(int) -> keyAt
+ 199:212:void remove(int) -> remove
+ 178:178:int size() -> size
+ 182:182:float[] valueAt(int) -> valueAt
+androidx.constraintlayout.core.motion.utils.LinearCurveFit -> androidx.constraintlayout.core.motion.utils.LinearCurveFit:
+ 28:52:void <init>(double[],double[][]) -> <init>
+ 62:101:double getLength2D(double) -> getLength2D
+ 105:155:void getPos(double,double[]) -> getPos
+ 158:208:void getPos(double,float[]) -> getPos
+ 211:241:double getPos(double,int) -> getPos
+ 245:266:void getSlope(double,double[]) -> getSlope
+ 270:286:double getSlope(double,int) -> getSlope
+ 291:291:double[] getTimePoints() -> getTimePoints
+androidx.constraintlayout.core.motion.utils.MonotonicCurveFit -> androidx.constraintlayout.core.motion.utils.MonotonicCurveFit:
+ 31:73:void <init>(double[],double[][]) -> <init>
+ 309:323:androidx.constraintlayout.core.motion.utils.MonotonicCurveFit buildWave(java.lang.String) -> buildWave
+ 327:345:androidx.constraintlayout.core.motion.utils.MonotonicCurveFit buildWave(double[]) -> buildWave
+ 296:297:double diff(double,double,double,double,double,double) -> diff
+ 77:128:void getPos(double,double[]) -> getPos
+ 132:183:void getPos(double,float[]) -> getPos
+ 187:219:double getPos(double,int) -> getPos
+ 224:246:void getSlope(double,double[]) -> getSlope
+ 251:269:double getSlope(double,int) -> getSlope
+ 274:274:double[] getTimePoints() -> getTimePoints
+ 283:285:double interpolate(double,double,double,double,double,double) -> interpolate
+androidx.constraintlayout.core.motion.utils.Oscillator -> androidx.constraintlayout.core.motion.utils.Oscillator:
+ 26:26:void <clinit>() -> <clinit>
+ 27:45:void <init>() -> <init>
+ 61:73:void addPoint(double,float) -> addPoint
+ 148:164:double getDP(double) -> getDP
+ 103:120:double getP(double) -> getP
+ 168:188:double getSlope(double,double,double) -> getSlope
+ 124:143:double getValue(double,double) -> getValue
+ 79:100:void normalize() -> normalize
+ 53:58:void setType(int,java.lang.String) -> setType
+ 49:49:java.lang.String toString() -> toString
+androidx.constraintlayout.core.motion.utils.Rect -> androidx.constraintlayout.core.motion.utils.Rect:
+ 18:18:void <init>() -> <init>
+ 29:29:int height() -> height
+ 25:25:int width() -> width
+androidx.constraintlayout.core.motion.utils.Schlick -> androidx.constraintlayout.core.motion.utils.Schlick:
+ 29:38:void <init>(java.lang.String) -> <init>
+ 48:51:double dfunc(double) -> dfunc
+ 41:44:double func(double) -> func
+ 59:59:double get(double) -> get
+ 55:55:double getDiff(double) -> getDiff
+androidx.constraintlayout.core.motion.utils.SplineSet -> androidx.constraintlayout.core.motion.utils.SplineSet:
+ 33:37:void <init>() -> <init>
+ 61:61:float get(float) -> get
+ 69:69:androidx.constraintlayout.core.motion.utils.CurveFit getCurveFit() -> getCurveFit
+ 65:65:float getSlope(float) -> getSlope
+ 114:114:androidx.constraintlayout.core.motion.utils.SplineSet makeCustomSpline(java.lang.String,androidx.constraintlayout.core.motion.utils.KeyFrameArray$CustomArray) -> makeCustomSpline
+ 118:118:androidx.constraintlayout.core.motion.utils.SplineSet makeCustomSplineSet(java.lang.String,androidx.constraintlayout.core.motion.utils.KeyFrameArray$CustomVar) -> makeCustomSplineSet
+ 123:123:androidx.constraintlayout.core.motion.utils.SplineSet makeSpline(java.lang.String,long) -> makeSpline
+ 74:81:void setPoint(int,float) -> setPoint
+ 42:43:void setProperty(androidx.constraintlayout.core.motion.utils.TypedValues,float) -> setProperty
+ 57:58:void setType(java.lang.String) -> setType
+ 84:111:void setup(int) -> setup
+ 47:53:java.lang.String toString() -> toString
+androidx.constraintlayout.core.motion.utils.SplineSet$CoreSpline -> androidx.constraintlayout.core.motion.utils.SplineSet$CoreSpline:
+ 220:223:void <init>(java.lang.String,long) -> <init>
+ 226:228:void setProperty(androidx.constraintlayout.core.motion.utils.TypedValues,float) -> setProperty
+androidx.constraintlayout.core.motion.utils.SplineSet$CustomSet -> androidx.constraintlayout.core.motion.utils.SplineSet$CustomSet:
+ 175:178:void <init>(java.lang.String,androidx.constraintlayout.core.motion.utils.KeyFrameArray$CustomArray) -> <init>
+ 202:202:void setPoint(int,float) -> setPoint
+ 206:207:void setPoint(int,androidx.constraintlayout.core.motion.CustomAttribute) -> setPoint
+ 210:212:void setProperty(androidx.constraintlayout.core.state.WidgetFrame,float) -> setProperty
+ 181:199:void setup(int) -> setup
+androidx.constraintlayout.core.motion.utils.SplineSet$CustomSpline -> androidx.constraintlayout.core.motion.utils.SplineSet$CustomSpline:
+ 236:239:void <init>(java.lang.String,androidx.constraintlayout.core.motion.utils.KeyFrameArray$CustomVar) -> <init>
+ 263:263:void setPoint(int,float) -> setPoint
+ 271:272:void setPoint(int,androidx.constraintlayout.core.motion.CustomVariable) -> setPoint
+ 267:268:void setProperty(androidx.constraintlayout.core.motion.utils.TypedValues,float) -> setProperty
+ 275:277:void setProperty(androidx.constraintlayout.core.motion.MotionWidget,float) -> setProperty
+ 242:260:void setup(int) -> setup
+androidx.constraintlayout.core.motion.utils.SplineSet$Sort -> androidx.constraintlayout.core.motion.utils.SplineSet$Sort:
+ 126:126:void <init>() -> <init>
+ 129:144:void doubleQuickSort(int[],float[],int,int) -> doubleQuickSort
+ 147:156:int partition(int[],float[],int,int) -> partition
+ 160:166:void swap(int[],float[],int,int) -> swap
+androidx.constraintlayout.core.motion.utils.SpringStopEngine -> androidx.constraintlayout.core.motion.utils.SpringStopEngine:
+ 25:37:void <init>() -> <init>
+ 101:130:void compute(double) -> compute
+ 41:41:java.lang.String debug(java.lang.String,float) -> debug
+ 77:80:float getAcceleration() -> getAcceleration
+ 71:73:float getInterpolation(float) -> getInterpolation
+ 66:66:float getVelocity(float) -> getVelocity
+ 85:85:float getVelocity() -> getVelocity
+ 90:96:boolean isStopped() -> isStopped
+ 45:48:void log(java.lang.String) -> log
+ 52:62:void springConfig(float,float,float,float,float,float,float,int) -> springConfig
+androidx.constraintlayout.core.motion.utils.StepCurve -> androidx.constraintlayout.core.motion.utils.StepCurve:
+ 31:48:void <init>(java.lang.String) -> <init>
+ 51:57:androidx.constraintlayout.core.motion.utils.MonotonicCurveFit genSpline(java.lang.String) -> genSpline
+ 61:92:androidx.constraintlayout.core.motion.utils.MonotonicCurveFit genSpline(double[]) -> genSpline
+ 100:100:double get(double) -> get
+ 96:96:double getDiff(double) -> getDiff
+androidx.constraintlayout.core.motion.utils.StopLogicEngine -> androidx.constraintlayout.core.motion.utils.StopLogicEngine:
+ 27:36:void <init>() -> <init>
+ 111:132:float calcY(float) -> calcY
+ 137:145:void config(float,float,float,float,float,float) -> config
+ 47:84:java.lang.String debug(java.lang.String,float) -> debug
+ 148:150:float getInterpolation(float) -> getInterpolation
+ 88:107:float getVelocity(float) -> getVelocity
+ 154:154:float getVelocity() -> getVelocity
+ 159:159:boolean isStopped() -> isStopped
+ 164:266:void setup(float,float,float,float,float) -> setup
+androidx.constraintlayout.core.motion.utils.TimeCycleSplineSet -> androidx.constraintlayout.core.motion.utils.TimeCycleSplineSet:
+ 41:41:void <clinit>() -> <clinit>
+ 29:44:void <init>() -> <init>
+ 65:82:float calcWave(float) -> calcWave
+ 87:87:androidx.constraintlayout.core.motion.utils.CurveFit getCurveFit() -> getCurveFit
+ 95:101:void setPoint(int,float,float,int,float) -> setPoint
+ 91:92:void setStartTime(long) -> setStartTime
+ 57:58:void setType(java.lang.String) -> setType
+ 178:207:void setup(int) -> setup
+ 48:53:java.lang.String toString() -> toString
+androidx.constraintlayout.core.motion.utils.TimeCycleSplineSet$CustomSet -> androidx.constraintlayout.core.motion.utils.TimeCycleSplineSet$CustomSet:
+ 106:113:void <init>(java.lang.String,androidx.constraintlayout.core.motion.utils.KeyFrameArray$CustomArray) -> <init>
+ 138:138:void setPoint(int,float,float,int,float) -> setPoint
+ 142:145:void setPoint(int,androidx.constraintlayout.core.motion.CustomAttribute,float,int,float) -> setPoint
+ 149:173:boolean setProperty(androidx.constraintlayout.core.motion.MotionWidget,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+ 116:135:void setup(int) -> setup
+androidx.constraintlayout.core.motion.utils.TimeCycleSplineSet$CustomVarSet -> androidx.constraintlayout.core.motion.utils.TimeCycleSplineSet$CustomVarSet:
+ 257:264:void <init>(java.lang.String,androidx.constraintlayout.core.motion.utils.KeyFrameArray$CustomVar) -> <init>
+ 289:289:void setPoint(int,float,float,int,float) -> setPoint
+ 293:296:void setPoint(int,androidx.constraintlayout.core.motion.CustomVariable,float,int,float) -> setPoint
+ 300:324:boolean setProperty(androidx.constraintlayout.core.motion.MotionWidget,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+ 267:286:void setup(int) -> setup
+androidx.constraintlayout.core.motion.utils.TimeCycleSplineSet$Sort -> androidx.constraintlayout.core.motion.utils.TimeCycleSplineSet$Sort:
+ 209:209:void <init>() -> <init>
+ 211:226:void doubleQuickSort(int[],float[][],int,int) -> doubleQuickSort
+ 229:238:int partition(int[],float[][],int,int) -> partition
+ 242:248:void swap(int[],float[][],int,int) -> swap
+androidx.constraintlayout.core.motion.utils.TypedBundle -> androidx.constraintlayout.core.motion.utils.TypedBundle:
+ 20:38:void <init>() -> <init>
+ 50:56:void add(int,int) -> add
+ 59:65:void add(int,float) -> add
+ 74:80:void add(int,java.lang.String) -> add
+ 83:89:void add(int,boolean) -> add
+ 68:71:void addIfNotNull(int,java.lang.String) -> addIfNotNull
+ 92:104:void applyDelta(androidx.constraintlayout.core.motion.utils.TypedValues) -> applyDelta
+ 107:111:void clear() -> clear
+ 41:46:int getInteger(int) -> getInteger
+androidx.constraintlayout.core.motion.utils.TypedValues$Attributes -> androidx.constraintlayout.core.motion.utils.TypedValues$Attributes:
+ 113:113:void <clinit>() -> <clinit>
+ 145:187:int getId(java.lang.String) -> getId
+ 191:216:int getType(int) -> getType
+androidx.constraintlayout.core.motion.utils.TypedValues$Custom -> androidx.constraintlayout.core.motion.utils.TypedValues$Custom:
+ 567:567:void <clinit>() -> <clinit>
+ 591:607:int getId(java.lang.String) -> getId
+androidx.constraintlayout.core.motion.utils.TypedValues$Cycle -> androidx.constraintlayout.core.motion.utils.TypedValues$Cycle:
+ 268:268:void <clinit>() -> <clinit>
+ 302:336:int getId(java.lang.String) -> getId
+androidx.constraintlayout.core.motion.utils.TypedValues$Motion -> androidx.constraintlayout.core.motion.utils.TypedValues$Motion:
+ 489:489:void <clinit>() -> <clinit>
+ 526:554:int getId(java.lang.String) -> getId
+androidx.constraintlayout.core.motion.utils.TypedValues$Position -> androidx.constraintlayout.core.motion.utils.TypedValues$Position:
+ 437:437:void <clinit>() -> <clinit>
+ 455:471:int getId(java.lang.String) -> getId
+androidx.constraintlayout.core.motion.utils.TypedValues$Trigger -> androidx.constraintlayout.core.motion.utils.TypedValues$Trigger:
+ 353:353:void <clinit>() -> <clinit>
+ 388:414:int getId(java.lang.String) -> getId
+androidx.constraintlayout.core.motion.utils.Utils -> androidx.constraintlayout.core.motion.utils.Utils:
+ 22:22:void <init>() -> <init>
+ 42:47:int clamp(int) -> clamp
+ 51:56:int getInterpolatedColor(float[]) -> getInterpolatedColor
+ 24:25:void log(java.lang.String,java.lang.String) -> log
+ 80:83:void log(java.lang.String) -> log
+ 68:77:void logStack(java.lang.String,int) -> logStack
+ 27:28:void loge(java.lang.String,java.lang.String) -> loge
+ 60:65:int rgbaTocColor(float,float,float,float) -> rgbaTocColor
+ 32:39:void socketSend(java.lang.String) -> socketSend
+androidx.constraintlayout.core.motion.utils.VelocityMatrix -> androidx.constraintlayout.core.motion.utils.VelocityMatrix:
+ 27:27:void <clinit>() -> <clinit>
+ 24:24:void <init>() -> <init>
+ 97:111:void applyTransform(float,float,int,int,float[]) -> applyTransform
+ 30:31:void clear() -> clear
+ 34:38:void setRotationVelocity(androidx.constraintlayout.core.motion.utils.SplineSet,float) -> setRotationVelocity
+ 61:64:void setRotationVelocity(androidx.constraintlayout.core.motion.utils.KeyCycleOscillator,float) -> setRotationVelocity
+ 52:58:void setScaleVelocity(androidx.constraintlayout.core.motion.utils.SplineSet,androidx.constraintlayout.core.motion.utils.SplineSet,float) -> setScaleVelocity
+ 78:84:void setScaleVelocity(androidx.constraintlayout.core.motion.utils.KeyCycleOscillator,androidx.constraintlayout.core.motion.utils.KeyCycleOscillator,float) -> setScaleVelocity
+ 42:48:void setTranslationVelocity(androidx.constraintlayout.core.motion.utils.SplineSet,androidx.constraintlayout.core.motion.utils.SplineSet,float) -> setTranslationVelocity
+ 68:75:void setTranslationVelocity(androidx.constraintlayout.core.motion.utils.KeyCycleOscillator,androidx.constraintlayout.core.motion.utils.KeyCycleOscillator,float) -> setTranslationVelocity
+androidx.constraintlayout.core.motion.utils.ViewState -> androidx.constraintlayout.core.motion.utils.ViewState:
+ 20:20:void <init>() -> <init>
+ 25:30:void getState(androidx.constraintlayout.core.motion.MotionWidget) -> getState
+ 37:37:int height() -> height
+ 33:33:int width() -> width
+androidx.constraintlayout.core.parser.CLArray -> androidx.constraintlayout.core.parser.CLArray:
+ 20:21:void <init>(char[]) -> <init>
+ 24:24:androidx.constraintlayout.core.parser.CLElement allocate(char[]) -> allocate
+ 42:62:java.lang.String toFormattedJSON(int,int) -> toFormattedJSON
+ 28:38:java.lang.String toJSON() -> toJSON
+androidx.constraintlayout.core.parser.CLContainer -> androidx.constraintlayout.core.parser.CLContainer:
+ 21:25:void <init>(char[]) -> <init>
+ 32:36:void add(androidx.constraintlayout.core.parser.CLElement) -> add
+ 28:28:androidx.constraintlayout.core.parser.CLElement allocate(char[]) -> allocate
+ 111:117:androidx.constraintlayout.core.parser.CLElement get(java.lang.String) -> get
+ 229:232:androidx.constraintlayout.core.parser.CLElement get(int) -> get
+ 139:144:androidx.constraintlayout.core.parser.CLArray getArray(java.lang.String) -> getArray
+ 252:256:androidx.constraintlayout.core.parser.CLArray getArray(int) -> getArray
+ 201:205:androidx.constraintlayout.core.parser.CLArray getArrayOrNull(java.lang.String) -> getArrayOrNull
+ 170:175:boolean getBoolean(java.lang.String) -> getBoolean
+ 276:280:boolean getBoolean(int) -> getBoolean
+ 130:135:float getFloat(java.lang.String) -> getFloat
+ 244:248:float getFloat(int) -> getFloat
+ 217:221:float getFloatOrNaN(java.lang.String) -> getFloatOrNaN
+ 121:126:int getInt(java.lang.String) -> getInt
+ 236:240:int getInt(int) -> getInt
+ 148:153:androidx.constraintlayout.core.parser.CLObject getObject(java.lang.String) -> getObject
+ 260:264:androidx.constraintlayout.core.parser.CLObject getObject(int) -> getObject
+ 193:197:androidx.constraintlayout.core.parser.CLObject getObjectOrNull(java.lang.String) -> getObjectOrNull
+ 183:189:androidx.constraintlayout.core.parser.CLElement getOrNull(java.lang.String) -> getOrNull
+ 288:291:androidx.constraintlayout.core.parser.CLElement getOrNull(int) -> getOrNull
+ 157:165:java.lang.String getString(java.lang.String) -> getString
+ 268:272:java.lang.String getString(int) -> getString
+ 209:213:java.lang.String getStringOrNull(java.lang.String) -> getStringOrNull
+ 295:299:java.lang.String getStringOrNull(int) -> getStringOrNull
+ 66:74:boolean has(java.lang.String) -> has
+ 55:62:java.util.ArrayList names() -> names
+ 78:87:void put(java.lang.String,androidx.constraintlayout.core.parser.CLElement) -> put
+ 90:91:void putNumber(java.lang.String,float) -> putNumber
+ 94:104:void remove(java.lang.String) -> remove
+ 51:51:int size() -> size
+ 40:47:java.lang.String toString() -> toString
+androidx.constraintlayout.core.parser.CLElement -> androidx.constraintlayout.core.parser.CLElement:
+ 26:27:void <clinit>() -> <clinit>
+ 21:31:void <init>(char[]) -> <init>
+ 86:89:void addIndent(java.lang.StringBuilder,int) -> addIndent
+ 115:119:java.lang.String content() -> content
+ 131:131:androidx.constraintlayout.core.parser.CLElement getContainer() -> getContainer
+ 108:111:java.lang.String getDebugName() -> getDebugName
+ 69:69:long getEnd() -> getEnd
+ 154:157:float getFloat() -> getFloat
+ 147:150:int getInt() -> getInt
+ 47:47:int getLine() -> getLine
+ 60:60:long getStart() -> getStart
+ 103:104:java.lang.String getStrClass() -> getStrClass
+ 123:123:boolean isDone() -> isDone
+ 135:135:boolean isStarted() -> isStarted
+ 34:34:boolean notStarted() -> notStarted
+ 127:128:void setContainer(androidx.constraintlayout.core.parser.CLContainer) -> setContainer
+ 73:83:void setEnd(long) -> setEnd
+ 38:39:void setLine(int) -> setLine
+ 51:52:void setStart(long) -> setStart
+ 143:143:java.lang.String toFormattedJSON(int,int) -> toFormattedJSON
+ 139:139:java.lang.String toJSON() -> toJSON
+ 93:99:java.lang.String toString() -> toString
+androidx.constraintlayout.core.parser.CLKey -> androidx.constraintlayout.core.parser.CLKey:
+ 22:33:void <clinit>() -> <clinit>
+ 36:37:void <init>(char[]) -> <init>
+ 40:40:androidx.constraintlayout.core.parser.CLElement allocate(char[]) -> allocate
+ 44:48:androidx.constraintlayout.core.parser.CLElement allocate(java.lang.String,androidx.constraintlayout.core.parser.CLElement) -> allocate
+ 51:51:java.lang.String getName() -> getName
+ 94:97:androidx.constraintlayout.core.parser.CLElement getValue() -> getValue
+ 86:91:void set(androidx.constraintlayout.core.parser.CLElement) -> set
+ 61:82:java.lang.String toFormattedJSON(int,int) -> toFormattedJSON
+ 54:57:java.lang.String toJSON() -> toJSON
+androidx.constraintlayout.core.parser.CLNumber -> androidx.constraintlayout.core.parser.CLNumber:
+ 20:23:void <init>(char[]) -> <init>
+ 20:28:void <init>(float) -> <init>
+ 31:31:androidx.constraintlayout.core.parser.CLElement allocate(char[]) -> allocate
+ 72:75:float getFloat() -> getFloat
+ 64:67:int getInt() -> getInt
+ 57:59:boolean isInt() -> isInt
+ 79:80:void putValue(float) -> putValue
+ 44:53:java.lang.String toFormattedJSON(int,int) -> toFormattedJSON
+ 35:40:java.lang.String toJSON() -> toJSON
+androidx.constraintlayout.core.parser.CLObject -> androidx.constraintlayout.core.parser.CLObject:
+ 23:24:void <init>(char[]) -> <init>
+ 27:27:androidx.constraintlayout.core.parser.CLObject allocate(char[]) -> allocate
+ 69:69:java.util.Iterator iterator() -> iterator
+ 46:46:java.lang.String toFormattedJSON() -> toFormattedJSON
+ 50:64:java.lang.String toFormattedJSON(int,int) -> toFormattedJSON
+ 31:42:java.lang.String toJSON() -> toJSON
+androidx.constraintlayout.core.parser.CLObject$CLObjectIterator -> androidx.constraintlayout.core.parser.CLObject$CLObjectIterator:
+ 74:77:void <init>(androidx.constraintlayout.core.parser.CLObject,androidx.constraintlayout.core.parser.CLObject) -> <init>
+ 81:81:boolean hasNext() -> hasNext
+ 86:88:java.lang.Object next() -> next
+androidx.constraintlayout.core.parser.CLParser -> androidx.constraintlayout.core.parser.CLParser:
+ 20:20:void <clinit>() -> <clinit>
+ 23:34:void <init>(java.lang.String) -> <init>
+ 230:274:androidx.constraintlayout.core.parser.CLElement createElement(androidx.constraintlayout.core.parser.CLElement,int,androidx.constraintlayout.core.parser.CLParser$TYPE,boolean,char[]) -> createElement
+ 159:225:androidx.constraintlayout.core.parser.CLElement getNextJsonElement(int,char,androidx.constraintlayout.core.parser.CLElement,char[]) -> getNextJsonElement
+ 29:29:androidx.constraintlayout.core.parser.CLObject parse(java.lang.String) -> parse
+ 37:154:androidx.constraintlayout.core.parser.CLObject parse() -> parse
+androidx.constraintlayout.core.parser.CLParser$1 -> androidx.constraintlayout.core.parser.CLParser$1:
+ 234:234:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.parser.CLParser$TYPE -> androidx.constraintlayout.core.parser.CLParser$TYPE:
+ 26:26:void <clinit>() -> <clinit>
+ 26:26:void <init>(java.lang.String,int) -> <init>
+ 26:26:androidx.constraintlayout.core.parser.CLParser$TYPE valueOf(java.lang.String) -> valueOf
+ 26:26:androidx.constraintlayout.core.parser.CLParser$TYPE[] values() -> values
+androidx.constraintlayout.core.parser.CLParsingException -> androidx.constraintlayout.core.parser.CLParsingException:
+ 23:32:void <init>(java.lang.String,androidx.constraintlayout.core.parser.CLElement) -> <init>
+ 35:35:java.lang.String reason() -> reason
+ 40:40:java.lang.String toString() -> toString
+androidx.constraintlayout.core.parser.CLString -> androidx.constraintlayout.core.parser.CLString:
+ 21:22:void <init>(char[]) -> <init>
+ 24:24:androidx.constraintlayout.core.parser.CLElement allocate(char[]) -> allocate
+ 30:35:java.lang.String toFormattedJSON(int,int) -> toFormattedJSON
+ 27:27:java.lang.String toJSON() -> toJSON
+androidx.constraintlayout.core.parser.CLToken -> androidx.constraintlayout.core.parser.CLToken:
+ 19:47:void <init>(char[]) -> <init>
+ 50:50:androidx.constraintlayout.core.parser.CLElement allocate(char[]) -> allocate
+ 23:29:boolean getBoolean() -> getBoolean
+ 69:69:androidx.constraintlayout.core.parser.CLToken$Type getType() -> getType
+ 33:36:boolean isNull() -> isNull
+ 62:65:java.lang.String toFormattedJSON(int,int) -> toFormattedJSON
+ 54:57:java.lang.String toJSON() -> toJSON
+ 73:108:boolean validate(char,long) -> validate
+androidx.constraintlayout.core.parser.CLToken$1 -> androidx.constraintlayout.core.parser.CLToken$1:
+ 74:74:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.parser.CLToken$Type -> androidx.constraintlayout.core.parser.CLToken$Type:
+ 39:39:void <clinit>() -> <clinit>
+ 39:39:void <init>(java.lang.String,int) -> <init>
+ 39:39:androidx.constraintlayout.core.parser.CLToken$Type valueOf(java.lang.String) -> valueOf
+ 39:39:androidx.constraintlayout.core.parser.CLToken$Type[] values() -> values
+androidx.constraintlayout.core.state.ConstraintReference -> androidx.constraintlayout.core.state.ConstraintReference:
+ 56:221:void <init>(androidx.constraintlayout.core.state.State) -> <init>
+ 386:387:void addCustomColor(java.lang.String,int) -> addCustomColor
+ 390:394:void addCustomFloat(java.lang.String,float) -> addCustomFloat
+ 317:318:androidx.constraintlayout.core.state.ConstraintReference alpha(float) -> alpha
+ 840:900:void apply() -> apply
+ 772:837:void applyConnection(androidx.constraintlayout.core.widgets.ConstraintWidget,java.lang.Object,androidx.constraintlayout.core.state.State$Constraint) -> applyConnection
+ 381:382:androidx.constraintlayout.core.state.ConstraintReference baseline() -> baseline
+ 485:487:androidx.constraintlayout.core.state.ConstraintReference baselineToBaseline(java.lang.Object) -> baselineToBaseline
+ 642:666:androidx.constraintlayout.core.state.ConstraintReference bias(float) -> bias
+ 372:377:androidx.constraintlayout.core.state.ConstraintReference bottom() -> bottom
+ 479:481:androidx.constraintlayout.core.state.ConstraintReference bottomToBottom(java.lang.Object) -> bottomToBottom
+ 473:475:androidx.constraintlayout.core.state.ConstraintReference bottomToTop(java.lang.Object) -> bottomToTop
+ 491:496:androidx.constraintlayout.core.state.ConstraintReference centerHorizontally(java.lang.Object) -> centerHorizontally
+ 500:505:androidx.constraintlayout.core.state.ConstraintReference centerVertically(java.lang.Object) -> centerVertically
+ 509:514:androidx.constraintlayout.core.state.ConstraintReference circularConstraint(java.lang.Object,float,float) -> circularConstraint
+ 670:760:androidx.constraintlayout.core.state.ConstraintReference clear() -> clear
+ 247:251:androidx.constraintlayout.core.state.ConstraintReference clearHorizontal() -> clearHorizontal
+ 240:243:androidx.constraintlayout.core.state.ConstraintReference clearVertical() -> clearVertical
+ 164:166:androidx.constraintlayout.core.widgets.ConstraintWidget createConstraintWidget() -> createConstraintWidget
+ 397:410:void dereference() -> dereference
+ 354:359:androidx.constraintlayout.core.state.ConstraintReference end() -> end
+ 455:457:androidx.constraintlayout.core.state.ConstraintReference endToEnd(java.lang.Object) -> endToEnd
+ 449:451:androidx.constraintlayout.core.state.ConstraintReference endToStart(java.lang.Object) -> endToStart
+ 212:218:java.lang.Object get(java.lang.Object) -> get
+ 259:259:float getAlpha() -> getAlpha
+ 156:160:androidx.constraintlayout.core.widgets.ConstraintWidget getConstraintWidget() -> getConstraintWidget
+ 144:144:androidx.constraintlayout.core.state.helpers.Facade getFacade() -> getFacade
+ 532:532:androidx.constraintlayout.core.state.Dimension getHeight() -> getHeight
+ 228:228:int getHorizontalChainStyle() -> getHorizontalChainStyle
+ 39:39:java.lang.Object getKey() -> getKey
+ 260:260:float getPivotX() -> getPivotX
+ 261:261:float getPivotY() -> getPivotY
+ 262:262:float getRotationX() -> getRotationX
+ 263:263:float getRotationY() -> getRotationY
+ 264:264:float getRotationZ() -> getRotationZ
+ 257:257:float getScaleX() -> getScaleX
+ 258:258:float getScaleY() -> getScaleY
+ 47:47:java.lang.String getTag() -> getTag
+ 764:768:androidx.constraintlayout.core.widgets.ConstraintWidget getTarget(java.lang.Object) -> getTarget
+ 254:254:float getTranslationX() -> getTranslationX
+ 255:255:float getTranslationY() -> getTranslationY
+ 256:256:float getTranslationZ() -> getTranslationZ
+ 236:236:int getVerticalChainStyle(int) -> getVerticalChainStyle
+ 134:134:java.lang.Object getView() -> getView
+ 525:525:androidx.constraintlayout.core.state.Dimension getWidth() -> getWidth
+ 522:522:androidx.constraintlayout.core.state.ConstraintReference height(androidx.constraintlayout.core.state.Dimension) -> height
+ 632:633:androidx.constraintlayout.core.state.ConstraintReference horizontalBias(float) -> horizontalBias
+ 327:332:androidx.constraintlayout.core.state.ConstraintReference left() -> left
+ 413:415:androidx.constraintlayout.core.state.ConstraintReference leftToLeft(java.lang.Object) -> leftToLeft
+ 419:421:androidx.constraintlayout.core.state.ConstraintReference leftToRight(java.lang.Object) -> leftToRight
+ 539:539:androidx.constraintlayout.core.state.ConstraintReference margin(java.lang.Object) -> margin
+ 543:585:androidx.constraintlayout.core.state.ConstraintReference margin(int) -> margin
+ 589:628:androidx.constraintlayout.core.state.ConstraintReference marginGone(int) -> marginGone
+ 267:268:androidx.constraintlayout.core.state.ConstraintReference pivotX(float) -> pivotX
+ 272:273:androidx.constraintlayout.core.state.ConstraintReference pivotY(float) -> pivotY
+ 336:341:androidx.constraintlayout.core.state.ConstraintReference right() -> right
+ 425:427:androidx.constraintlayout.core.state.ConstraintReference rightToLeft(java.lang.Object) -> rightToLeft
+ 431:433:androidx.constraintlayout.core.state.ConstraintReference rightToRight(java.lang.Object) -> rightToRight
+ 277:278:androidx.constraintlayout.core.state.ConstraintReference rotationX(float) -> rotationX
+ 282:283:androidx.constraintlayout.core.state.ConstraintReference rotationY(float) -> rotationY
+ 287:288:androidx.constraintlayout.core.state.ConstraintReference rotationZ(float) -> rotationZ
+ 307:308:androidx.constraintlayout.core.state.ConstraintReference scaleX(float) -> scaleX
+ 312:313:androidx.constraintlayout.core.state.ConstraintReference scaleY(float) -> scaleY
+ 147:152:void setConstraintWidget(androidx.constraintlayout.core.widgets.ConstraintWidget) -> setConstraintWidget
+ 138:142:void setFacade(androidx.constraintlayout.core.state.helpers.Facade) -> setFacade
+ 534:535:androidx.constraintlayout.core.state.ConstraintReference setHeight(androidx.constraintlayout.core.state.Dimension) -> setHeight
+ 224:225:void setHorizontalChainStyle(int) -> setHorizontalChainStyle
+ 35:36:void setKey(java.lang.Object) -> setKey
+ 43:44:void setTag(java.lang.String) -> setTag
+ 232:233:void setVerticalChainStyle(int) -> setVerticalChainStyle
+ 127:131:void setView(java.lang.Object) -> setView
+ 528:529:androidx.constraintlayout.core.state.ConstraintReference setWidth(androidx.constraintlayout.core.state.Dimension) -> setWidth
+ 345:350:androidx.constraintlayout.core.state.ConstraintReference start() -> start
+ 443:445:androidx.constraintlayout.core.state.ConstraintReference startToEnd(java.lang.Object) -> startToEnd
+ 437:439:androidx.constraintlayout.core.state.ConstraintReference startToStart(java.lang.Object) -> startToStart
+ 363:368:androidx.constraintlayout.core.state.ConstraintReference top() -> top
+ 467:469:androidx.constraintlayout.core.state.ConstraintReference topToBottom(java.lang.Object) -> topToBottom
+ 461:463:androidx.constraintlayout.core.state.ConstraintReference topToTop(java.lang.Object) -> topToTop
+ 292:293:androidx.constraintlayout.core.state.ConstraintReference translationX(float) -> translationX
+ 297:298:androidx.constraintlayout.core.state.ConstraintReference translationY(float) -> translationY
+ 302:303:androidx.constraintlayout.core.state.ConstraintReference translationZ(float) -> translationZ
+ 189:209:void validate() -> validate
+ 637:638:androidx.constraintlayout.core.state.ConstraintReference verticalBias(float) -> verticalBias
+ 322:323:androidx.constraintlayout.core.state.ConstraintReference visibility(int) -> visibility
+ 518:518:androidx.constraintlayout.core.state.ConstraintReference width(androidx.constraintlayout.core.state.Dimension) -> width
+androidx.constraintlayout.core.state.ConstraintReference$1 -> androidx.constraintlayout.core.state.ConstraintReference$1:
+ 544:544:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.state.ConstraintReference$IncorrectConstraintException -> androidx.constraintlayout.core.state.ConstraintReference$IncorrectConstraintException:
+ 173:175:void <init>(java.util.ArrayList) -> <init>
+ 177:177:java.util.ArrayList getErrors() -> getErrors
+ 181:181:java.lang.String toString() -> toString
+androidx.constraintlayout.core.state.Dimension -> androidx.constraintlayout.core.state.Dimension:
+ 28:33:void <clinit>() -> <clinit>
+ 35:67:void <init>() -> <init>
+ 35:68:void <init>(java.lang.Object) -> <init>
+ 83:85:androidx.constraintlayout.core.state.Dimension Fixed(int) -> Fixed
+ 89:91:androidx.constraintlayout.core.state.Dimension Fixed(java.lang.Object) -> Fixed
+ 101:101:androidx.constraintlayout.core.state.Dimension Parent() -> Parent
+ 95:97:androidx.constraintlayout.core.state.Dimension Percent(java.lang.Object,float) -> Percent
+ 113:115:androidx.constraintlayout.core.state.Dimension Ratio(java.lang.String) -> Ratio
+ 109:109:androidx.constraintlayout.core.state.Dimension Spread() -> Spread
+ 71:73:androidx.constraintlayout.core.state.Dimension Suggested(int) -> Suggested
+ 77:79:androidx.constraintlayout.core.state.Dimension Suggested(java.lang.Object) -> Suggested
+ 105:105:androidx.constraintlayout.core.state.Dimension Wrap() -> Wrap
+ 197:253:void apply(androidx.constraintlayout.core.state.State,androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> apply
+ 53:57:boolean equalsFixedValue(int) -> equalsFixedValue
+ 164:169:androidx.constraintlayout.core.state.Dimension fixed(java.lang.Object) -> fixed
+ 173:175:androidx.constraintlayout.core.state.Dimension fixed(int) -> fixed
+ 189:189:int getValue() -> getValue
+ 138:141:androidx.constraintlayout.core.state.Dimension max(int) -> max
+ 145:149:androidx.constraintlayout.core.state.Dimension max(java.lang.Object) -> max
+ 124:127:androidx.constraintlayout.core.state.Dimension min(int) -> min
+ 131:134:androidx.constraintlayout.core.state.Dimension min(java.lang.Object) -> min
+ 119:120:androidx.constraintlayout.core.state.Dimension percent(java.lang.Object,float) -> percent
+ 179:180:androidx.constraintlayout.core.state.Dimension ratio(java.lang.String) -> ratio
+ 184:187:void setValue(int) -> setValue
+ 153:154:androidx.constraintlayout.core.state.Dimension suggested(int) -> suggested
+ 158:160:androidx.constraintlayout.core.state.Dimension suggested(java.lang.Object) -> suggested
+androidx.constraintlayout.core.state.Dimension$Type -> androidx.constraintlayout.core.state.Dimension$Type:
+ 60:64:void <clinit>() -> <clinit>
+ 60:60:void <init>(java.lang.String,int) -> <init>
+ 60:60:androidx.constraintlayout.core.state.Dimension$Type valueOf(java.lang.String) -> valueOf
+ 60:60:androidx.constraintlayout.core.state.Dimension$Type[] values() -> values
+androidx.constraintlayout.core.state.HelperReference -> androidx.constraintlayout.core.state.HelperReference:
+ 29:36:void <init>(androidx.constraintlayout.core.state.State,androidx.constraintlayout.core.state.State$Helper) -> <init>
+ 41:42:androidx.constraintlayout.core.state.HelperReference add(java.lang.Object[]) -> add
+ 58:58:void apply() -> apply
+ 53:53:androidx.constraintlayout.core.widgets.ConstraintWidget getConstraintWidget() -> getConstraintWidget
+ 49:49:androidx.constraintlayout.core.widgets.HelperWidget getHelperWidget() -> getHelperWidget
+ 38:38:androidx.constraintlayout.core.state.State$Helper getType() -> getType
+ 46:47:void setHelperWidget(androidx.constraintlayout.core.widgets.HelperWidget) -> setHelperWidget
+androidx.constraintlayout.core.state.Registry -> androidx.constraintlayout.core.state.Registry:
+ 23:23:void <clinit>() -> <clinit>
+ 21:29:void <init>() -> <init>
+ 54:58:java.lang.String currentContent(java.lang.String) -> currentContent
+ 62:66:java.lang.String currentLayoutInformation(java.lang.String) -> currentLayoutInformation
+ 26:26:androidx.constraintlayout.core.state.Registry getInstance() -> getInstance
+ 88:92:long getLastModified(java.lang.String) -> getLastModified
+ 84:84:java.util.Set getLayoutList() -> getLayoutList
+ 32:33:void register(java.lang.String,androidx.constraintlayout.core.state.RegistryCallback) -> register
+ 70:74:void setDrawDebug(java.lang.String,int) -> setDrawDebug
+ 77:81:void setLayoutInformationMode(java.lang.String,int) -> setLayoutInformationMode
+ 36:37:void unregister(java.lang.String,androidx.constraintlayout.core.state.RegistryCallback) -> unregister
+ 40:44:void updateContent(java.lang.String,java.lang.String) -> updateContent
+ 96:100:void updateDimensions(java.lang.String,int,int) -> updateDimensions
+ 47:51:void updateProgress(java.lang.String,float) -> updateProgress
+androidx.constraintlayout.core.state.State -> androidx.constraintlayout.core.state.State:
+ 46:46:void <clinit>() -> <clinit>
+ 37:174:void <init>() -> <init>
+ 314:397:void apply(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer) -> apply
+ 230:236:androidx.constraintlayout.core.state.helpers.BarrierReference barrier(java.lang.Object,androidx.constraintlayout.core.state.State$Direction) -> barrier
+ 260:262:androidx.constraintlayout.core.state.helpers.AlignHorizontallyReference centerHorizontally(java.lang.Object[]) -> centerHorizontally
+ 266:268:androidx.constraintlayout.core.state.helpers.AlignVerticallyReference centerVertically(java.lang.Object[]) -> centerVertically
+ 162:171:androidx.constraintlayout.core.state.ConstraintReference constraints(java.lang.Object) -> constraints
+ 112:118:int convertDimension(java.lang.Object) -> convertDimension
+ 128:128:androidx.constraintlayout.core.state.ConstraintReference createConstraintReference(java.lang.Object) -> createConstraintReference
+ 176:176:java.lang.String createHelperKey() -> createHelperKey
+ 272:280:void directMapping() -> directMapping
+ 307:310:java.util.ArrayList getIdsForTag(java.lang.String) -> getIdsForTag
+ 219:226:androidx.constraintlayout.core.state.helpers.GuidelineReference guideline(java.lang.Object,int) -> guideline
+ 144:144:androidx.constraintlayout.core.state.State height(androidx.constraintlayout.core.state.Dimension) -> height
+ 180:207:androidx.constraintlayout.core.state.HelperReference helper(java.lang.Object,androidx.constraintlayout.core.state.State$Helper) -> helper
+ 250:250:androidx.constraintlayout.core.state.helpers.HorizontalChainReference horizontalChain() -> horizontalChain
+ 254:256:androidx.constraintlayout.core.state.helpers.HorizontalChainReference horizontalChain(java.lang.Object[]) -> horizontalChain
+ 211:211:androidx.constraintlayout.core.state.helpers.GuidelineReference horizontalGuideline(java.lang.Object) -> horizontalGuideline
+ 283:288:void map(java.lang.Object,java.lang.Object) -> map
+ 158:158:androidx.constraintlayout.core.state.Reference reference(java.lang.Object) -> reference
+ 99:101:void reset() -> reset
+ 136:136:boolean sameFixedHeight(int) -> sameFixedHeight
+ 132:132:boolean sameFixedWidth(int) -> sameFixedWidth
+ 153:154:androidx.constraintlayout.core.state.State setHeight(androidx.constraintlayout.core.state.Dimension) -> setHeight
+ 291:304:void setTag(java.lang.String,java.lang.String) -> setTag
+ 148:149:androidx.constraintlayout.core.state.State setWidth(androidx.constraintlayout.core.state.Dimension) -> setWidth
+ 240:240:androidx.constraintlayout.core.state.helpers.VerticalChainReference verticalChain() -> verticalChain
+ 244:246:androidx.constraintlayout.core.state.helpers.VerticalChainReference verticalChain(java.lang.Object[]) -> verticalChain
+ 215:215:androidx.constraintlayout.core.state.helpers.GuidelineReference verticalGuideline(java.lang.Object) -> verticalGuideline
+ 140:140:androidx.constraintlayout.core.state.State width(androidx.constraintlayout.core.state.Dimension) -> width
+androidx.constraintlayout.core.state.State$1 -> androidx.constraintlayout.core.state.State$1:
+ 185:185:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.state.State$Chain -> androidx.constraintlayout.core.state.State$Chain:
+ 88:91:void <clinit>() -> <clinit>
+ 88:88:void <init>(java.lang.String,int) -> <init>
+ 88:88:androidx.constraintlayout.core.state.State$Chain valueOf(java.lang.String) -> valueOf
+ 88:88:androidx.constraintlayout.core.state.State$Chain[] values() -> values
+androidx.constraintlayout.core.state.State$Constraint -> androidx.constraintlayout.core.state.State$Constraint:
+ 50:66:void <clinit>() -> <clinit>
+ 50:50:void <init>(java.lang.String,int) -> <init>
+ 50:50:androidx.constraintlayout.core.state.State$Constraint valueOf(java.lang.String) -> valueOf
+ 50:50:androidx.constraintlayout.core.state.State$Constraint[] values() -> values
+androidx.constraintlayout.core.state.State$Direction -> androidx.constraintlayout.core.state.State$Direction:
+ 69:75:void <clinit>() -> <clinit>
+ 69:69:void <init>(java.lang.String,int) -> <init>
+ 69:69:androidx.constraintlayout.core.state.State$Direction valueOf(java.lang.String) -> valueOf
+ 69:69:androidx.constraintlayout.core.state.State$Direction[] values() -> values
+androidx.constraintlayout.core.state.State$Helper -> androidx.constraintlayout.core.state.State$Helper:
+ 78:85:void <clinit>() -> <clinit>
+ 78:78:void <init>(java.lang.String,int) -> <init>
+ 78:78:androidx.constraintlayout.core.state.State$Helper valueOf(java.lang.String) -> valueOf
+ 78:78:androidx.constraintlayout.core.state.State$Helper[] values() -> values
+androidx.constraintlayout.core.state.Transition -> androidx.constraintlayout.core.state.Transition:
+ 33:41:void <init>() -> <init>
+ 255:258:void addCustomColor(int,java.lang.String,java.lang.String,int) -> addCustomColor
+ 249:252:void addCustomFloat(int,java.lang.String,java.lang.String,float) -> addCustomFloat
+ 224:225:void addKeyAttribute(java.lang.String,androidx.constraintlayout.core.motion.utils.TypedBundle) -> addKeyAttribute
+ 228:229:void addKeyCycle(java.lang.String,androidx.constraintlayout.core.motion.utils.TypedBundle) -> addKeyCycle
+ 220:221:void addKeyPosition(java.lang.String,androidx.constraintlayout.core.motion.utils.TypedBundle) -> addKeyPosition
+ 232:246:void addKeyPosition(java.lang.String,int,int,float,float) -> addKeyPosition
+ 212:213:void clear() -> clear
+ 216:216:boolean contains(java.lang.String) -> contains
+ 92:107:void fillKeyPositions(androidx.constraintlayout.core.state.WidgetFrame,float[],float[],float[]) -> fillKeyPositions
+ 58:68:androidx.constraintlayout.core.state.Transition$KeyPosition findNextPosition(java.lang.String,int) -> findNextPosition
+ 44:54:androidx.constraintlayout.core.state.Transition$KeyPosition findPreviousPosition(java.lang.String,int) -> findPreviousPosition
+ 286:290:androidx.constraintlayout.core.state.WidgetFrame getEnd(java.lang.String) -> getEnd
+ 347:347:androidx.constraintlayout.core.state.WidgetFrame getEnd(androidx.constraintlayout.core.widgets.ConstraintWidget) -> getEnd
+ 294:298:androidx.constraintlayout.core.state.WidgetFrame getInterpolated(java.lang.String) -> getInterpolated
+ 357:357:androidx.constraintlayout.core.state.WidgetFrame getInterpolated(androidx.constraintlayout.core.widgets.ConstraintWidget) -> getInterpolated
+ 311:312:int getKeyFrames(java.lang.String,float[],int[],int[]) -> getKeyFrames
+ 88:88:androidx.constraintlayout.core.motion.Motion getMotion(java.lang.String) -> getMotion
+ 72:84:int getNumberKeyPositions(androidx.constraintlayout.core.state.WidgetFrame) -> getNumberKeyPositions
+ 302:307:float[] getPath(java.lang.String) -> getPath
+ 278:282:androidx.constraintlayout.core.state.WidgetFrame getStart(java.lang.String) -> getStart
+ 337:337:androidx.constraintlayout.core.state.WidgetFrame getStart(androidx.constraintlayout.core.widgets.ConstraintWidget) -> getStart
+ 316:327:androidx.constraintlayout.core.state.Transition$WidgetState getWidgetState(java.lang.String,androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> getWidgetState
+ 110:110:boolean hasPositionKeyframes() -> hasPositionKeyframes
+ 271:275:void interpolate(int,int,float) -> interpolate
+ 208:208:boolean isEmpty() -> isEmpty
+ 114:115:void setTransitionProperties(androidx.constraintlayout.core.motion.utils.TypedBundle) -> setTransitionProperties
+ 261:268:void updateFrom(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int) -> updateFrom
+androidx.constraintlayout.core.state.Transition$KeyPosition -> androidx.constraintlayout.core.state.Transition$KeyPosition:
+ 198:204:void <init>(java.lang.String,int,int,float,float) -> <init>
+androidx.constraintlayout.core.state.Transition$WidgetState -> androidx.constraintlayout.core.state.Transition$WidgetState:
+ 125:139:void <init>() -> <init>
+ 171:176:androidx.constraintlayout.core.state.WidgetFrame getFrame(int) -> getFrame
+ 181:188:void interpolate(int,int,float,androidx.constraintlayout.core.state.Transition) -> interpolate
+ 148:151:void setKeyAttribute(androidx.constraintlayout.core.motion.utils.TypedBundle) -> setKeyAttribute
+ 154:157:void setKeyCycle(androidx.constraintlayout.core.motion.utils.TypedBundle) -> setKeyCycle
+ 142:145:void setKeyPosition(androidx.constraintlayout.core.motion.utils.TypedBundle) -> setKeyPosition
+ 160:168:void update(androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> update
+androidx.constraintlayout.core.state.WidgetFrame -> androidx.constraintlayout.core.state.WidgetFrame:
+ 50:50:void <clinit>() -> <clinit>
+ 32:73:void <init>() -> <init>
+ 32:77:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidget) -> <init>
+ 32:86:void <init>(androidx.constraintlayout.core.state.WidgetFrame) -> <init>
+ 490:494:void add(java.lang.StringBuilder,java.lang.String,int) -> add
+ 497:504:void add(java.lang.StringBuilder,java.lang.String,float) -> add
+ 265:266:void addCustomColor(java.lang.String,int) -> addCustomColor
+ 277:278:void addCustomFloat(java.lang.String,float) -> addCustomFloat
+ 235:235:float centerX() -> centerX
+ 239:239:float centerY() -> centerY
+ 320:320:androidx.constraintlayout.core.motion.CustomVariable getCustomAttribute(java.lang.String) -> getCustomAttribute
+ 324:324:java.util.Set getCustomAttributeNames() -> getCustomAttributeNames
+ 269:273:int getCustomColor(java.lang.String) -> getCustomColor
+ 281:284:float getCustomFloat(java.lang.String) -> getCustomFloat
+ 69:69:int height() -> height
+ 123:217:void interpolate(int,int,androidx.constraintlayout.core.state.WidgetFrame,androidx.constraintlayout.core.state.WidgetFrame,androidx.constraintlayout.core.state.WidgetFrame,androidx.constraintlayout.core.state.Transition,float) -> interpolate
+ 220:231:float interpolate(float,float,float,float) -> interpolate
+ 111:119:boolean isDefaultTransform() -> isDefaultTransform
+ 522:532:void logv(java.lang.String) -> logv
+ 391:409:void parseCustom(androidx.constraintlayout.core.parser.CLElement) -> parseCustom
+ 507:519:void printCustomAttributes() -> printCustomAttributes
+ 413:413:java.lang.StringBuilder serialize(java.lang.StringBuilder) -> serialize
+ 423:486:java.lang.StringBuilder serialize(java.lang.StringBuilder,boolean) -> serialize
+ 288:293:void setCustomAttribute(java.lang.String,int,float) -> setCustomAttribute
+ 296:301:void setCustomAttribute(java.lang.String,int,int) -> setCustomAttribute
+ 304:309:void setCustomAttribute(java.lang.String,int,boolean) -> setCustomAttribute
+ 312:317:void setCustomAttribute(java.lang.String,int,java.lang.String) -> setCustomAttribute
+ 328:387:boolean setValue(java.lang.String,androidx.constraintlayout.core.parser.CLElement) -> setValue
+ 243:251:androidx.constraintlayout.core.state.WidgetFrame update() -> update
+ 255:261:androidx.constraintlayout.core.state.WidgetFrame update(androidx.constraintlayout.core.widgets.ConstraintWidget) -> update
+ 89:108:void updateAttributes(androidx.constraintlayout.core.state.WidgetFrame) -> updateAttributes
+ 65:65:int width() -> width
+androidx.constraintlayout.core.state.helpers.AlignHorizontallyReference -> androidx.constraintlayout.core.state.helpers.AlignHorizontallyReference:
+ 25:29:void <init>(androidx.constraintlayout.core.state.State) -> <init>
+ 32:53:void apply() -> apply
+androidx.constraintlayout.core.state.helpers.AlignVerticallyReference -> androidx.constraintlayout.core.state.helpers.AlignVerticallyReference:
+ 25:29:void <init>(androidx.constraintlayout.core.state.State) -> <init>
+ 32:53:void apply() -> apply
+androidx.constraintlayout.core.state.helpers.BarrierReference -> androidx.constraintlayout.core.state.helpers.BarrierReference:
+ 32:33:void <init>(androidx.constraintlayout.core.state.State) -> <init>
+ 59:80:void apply() -> apply
+ 52:55:androidx.constraintlayout.core.widgets.HelperWidget getHelperWidget() -> getHelperWidget
+ 41:42:androidx.constraintlayout.core.state.ConstraintReference margin(java.lang.Object) -> margin
+ 46:47:androidx.constraintlayout.core.state.ConstraintReference margin(int) -> margin
+ 36:37:void setBarrierDirection(androidx.constraintlayout.core.state.State$Direction) -> setBarrierDirection
+androidx.constraintlayout.core.state.helpers.BarrierReference$1 -> androidx.constraintlayout.core.state.helpers.BarrierReference$1:
+ 61:61:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.state.helpers.ChainReference -> androidx.constraintlayout.core.state.helpers.ChainReference:
+ 25:30:void <init>(androidx.constraintlayout.core.state.State,androidx.constraintlayout.core.state.State$Helper) -> <init>
+ 23:23:androidx.constraintlayout.core.state.ConstraintReference bias(float) -> bias
+ 38:39:androidx.constraintlayout.core.state.helpers.ChainReference bias(float) -> bias
+ 37:37:float getBias() -> getBias
+ 32:32:androidx.constraintlayout.core.state.State$Chain getStyle() -> getStyle
+ 34:35:androidx.constraintlayout.core.state.helpers.ChainReference style(androidx.constraintlayout.core.state.State$Chain) -> style
+androidx.constraintlayout.core.state.helpers.GuidelineReference -> androidx.constraintlayout.core.state.helpers.GuidelineReference:
+ 30:45:void <init>(androidx.constraintlayout.core.state.State) -> <init>
+ 77:85:void apply() -> apply
+ 55:58:androidx.constraintlayout.core.state.helpers.GuidelineReference end(java.lang.Object) -> end
+ 94:97:androidx.constraintlayout.core.widgets.ConstraintWidget getConstraintWidget() -> getConstraintWidget
+ 89:89:androidx.constraintlayout.core.state.helpers.Facade getFacade() -> getFacade
+ 40:40:java.lang.Object getKey() -> getKey
+ 73:73:int getOrientation() -> getOrientation
+ 62:65:androidx.constraintlayout.core.state.helpers.GuidelineReference percent(float) -> percent
+ 102:107:void setConstraintWidget(androidx.constraintlayout.core.widgets.ConstraintWidget) -> setConstraintWidget
+ 37:38:void setKey(java.lang.Object) -> setKey
+ 69:70:void setOrientation(int) -> setOrientation
+ 48:51:androidx.constraintlayout.core.state.helpers.GuidelineReference start(java.lang.Object) -> start
+androidx.constraintlayout.core.state.helpers.HorizontalChainReference -> androidx.constraintlayout.core.state.helpers.HorizontalChainReference:
+ 26:27:void <init>(androidx.constraintlayout.core.state.State) -> <init>
+ 30:85:void apply() -> apply
+androidx.constraintlayout.core.state.helpers.HorizontalChainReference$1 -> androidx.constraintlayout.core.state.helpers.HorizontalChainReference$1:
+ 74:74:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.state.helpers.VerticalChainReference -> androidx.constraintlayout.core.state.helpers.VerticalChainReference:
+ 26:27:void <init>(androidx.constraintlayout.core.state.State) -> <init>
+ 30:85:void apply() -> apply
+androidx.constraintlayout.core.state.helpers.VerticalChainReference$1 -> androidx.constraintlayout.core.state.helpers.VerticalChainReference$1:
+ 74:74:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.widgets.Barrier -> androidx.constraintlayout.core.widgets.Barrier:
+ 36:42:void <init>() -> <init>
+ 36:45:void <init>(java.lang.String) -> <init>
+ 139:247:void addToSolver(androidx.constraintlayout.core.LinearSystem,boolean) -> addToSolver
+ 273:329:boolean allSolved() -> allSolved
+ 49:49:boolean allowedInBarrier() -> allowedInBarrier
+ 70:70:boolean allowsGoneWidget() -> allowsGoneWidget
+ 89:94:void copy(androidx.constraintlayout.core.widgets.ConstraintWidget,java.util.HashMap) -> copy
+ 77:77:boolean getAllowsGoneWidget() -> getAllowsGoneWidget
+ 52:52:int getBarrierType() -> getBarrierType
+ 254:254:int getMargin() -> getMargin
+ 258:266:int getOrientation() -> getOrientation
+ 80:80:boolean isResolvedHorizontally() -> isResolvedHorizontally
+ 84:84:boolean isResolvedVertically() -> isResolvedVertically
+ 111:122:void markWidgets() -> markWidgets
+ 58:58:void setAllowsGoneWidget(boolean) -> setAllowsGoneWidget
+ 55:56:void setBarrierType(int) -> setBarrierType
+ 250:251:void setMargin(int) -> setMargin
+ 98:107:java.lang.String toString() -> toString
+androidx.constraintlayout.core.widgets.Chain -> androidx.constraintlayout.core.widgets.Chain:
+ 31:31:void <init>() -> <init>
+ 47:69:void applyChainConstraints(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.core.LinearSystem,java.util.ArrayList,int) -> applyChainConstraints
+ 83:458:void applyChainConstraints(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.core.LinearSystem,int,int,androidx.constraintlayout.core.widgets.ChainHead) -> applyChainConstraints
+androidx.constraintlayout.core.widgets.ChainHead -> androidx.constraintlayout.core.widgets.ChainHead:
+ 42:67:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidget,int,boolean) -> <init>
+ 234:238:void define() -> define
+ 84:199:void defineChainProperties() -> defineChainProperties
+ 202:202:androidx.constraintlayout.core.widgets.ConstraintWidget getFirst() -> getFirst
+ 222:222:androidx.constraintlayout.core.widgets.ConstraintWidget getFirstMatchConstraintWidget() -> getFirstMatchConstraintWidget
+ 206:206:androidx.constraintlayout.core.widgets.ConstraintWidget getFirstVisibleWidget() -> getFirstVisibleWidget
+ 218:218:androidx.constraintlayout.core.widgets.ConstraintWidget getHead() -> getHead
+ 210:210:androidx.constraintlayout.core.widgets.ConstraintWidget getLast() -> getLast
+ 226:226:androidx.constraintlayout.core.widgets.ConstraintWidget getLastMatchConstraintWidget() -> getLastMatchConstraintWidget
+ 214:214:androidx.constraintlayout.core.widgets.ConstraintWidget getLastVisibleWidget() -> getLastVisibleWidget
+ 230:230:float getTotalWeight() -> getTotalWeight
+ 77:77:boolean isMatchConstraintEqualityCandidate(androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> isMatchConstraintEqualityCandidate
+androidx.constraintlayout.core.widgets.ConstraintAnchor -> androidx.constraintlayout.core.widgets.ConstraintAnchor:
+ 36:134:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintAnchor$Type) -> <init>
+ 215:231:boolean connect(androidx.constraintlayout.core.widgets.ConstraintAnchor,int,int,boolean) -> connect
+ 242:242:boolean connect(androidx.constraintlayout.core.widgets.ConstraintAnchor,int) -> connect
+ 104:124:void copyFrom(androidx.constraintlayout.core.widgets.ConstraintAnchor,java.util.HashMap) -> copyFrom
+ 41:46:void findDependents(int,java.util.ArrayList,androidx.constraintlayout.core.widgets.analyzer.WidgetGroup) -> findDependents
+ 48:48:java.util.HashSet getDependents() -> getDependents
+ 75:78:int getFinalValue() -> getFinalValue
+ 170:177:int getMargin() -> getMargin
+ 490:510:androidx.constraintlayout.core.widgets.ConstraintAnchor getOpposite() -> getOpposite
+ 157:157:androidx.constraintlayout.core.widgets.ConstraintWidget getOwner() -> getOwner
+ 140:140:androidx.constraintlayout.core.SolverVariable getSolverVariable() -> getSolverVariable
+ 184:184:androidx.constraintlayout.core.widgets.ConstraintAnchor getTarget() -> getTarget
+ 163:163:androidx.constraintlayout.core.widgets.ConstraintAnchor$Type getType() -> getType
+ 57:66:boolean hasCenteredDependents() -> hasCenteredDependents
+ 50:53:boolean hasDependents() -> hasDependents
+ 86:86:boolean hasFinalValue() -> hasFinalValue
+ 250:250:boolean isConnected() -> isConnected
+ 430:430:boolean isConnectionAllowed(androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintAnchor) -> isConnectionAllowed
+ 443:454:boolean isConnectionAllowed(androidx.constraintlayout.core.widgets.ConstraintWidget) -> isConnectionAllowed
+ 465:482:boolean isConnectionToMe(androidx.constraintlayout.core.widgets.ConstraintWidget,java.util.HashSet) -> isConnectionToMe
+ 312:325:boolean isSideAnchor() -> isSideAnchor
+ 336:358:boolean isSimilarDimensionConnection(androidx.constraintlayout.core.widgets.ConstraintAnchor) -> isSimilarDimensionConnection
+ 259:303:boolean isValidConnection(androidx.constraintlayout.core.widgets.ConstraintAnchor) -> isValidConnection
+ 387:400:boolean isVerticalAnchor() -> isVerticalAnchor
+ 190:202:void reset() -> reset
+ 82:84:void resetFinalResolution() -> resetFinalResolution
+ 146:151:void resetSolverVariable(androidx.constraintlayout.core.Cache) -> resetSolverVariable
+ 70:72:void setFinalValue(int) -> setFinalValue
+ 376:379:void setGoneMargin(int) -> setGoneMargin
+ 366:369:void setMargin(int) -> setMargin
+ 410:410:java.lang.String toString() -> toString
+androidx.constraintlayout.core.widgets.ConstraintAnchor$1 -> androidx.constraintlayout.core.widgets.ConstraintAnchor$1:
+ 270:270:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.widgets.ConstraintAnchor$Type -> androidx.constraintlayout.core.widgets.ConstraintAnchor$Type:
+ 91:91:void <clinit>() -> <clinit>
+ 91:91:void <init>(java.lang.String,int) -> <init>
+ 91:91:androidx.constraintlayout.core.widgets.ConstraintAnchor$Type valueOf(java.lang.String) -> valueOf
+ 91:91:androidx.constraintlayout.core.widgets.ConstraintAnchor$Type[] values() -> values
+androidx.constraintlayout.core.widgets.ConstraintWidget -> androidx.constraintlayout.core.widgets.ConstraintWidget:
+ 470:470:void <clinit>() -> <clinit>
+ 62:723:void <init>() -> <init>
+ 62:728:void <init>(java.lang.String) -> <init>
+ 62:744:void <init>(int,int,int,int) -> <init>
+ 747:749:void <init>(java.lang.String,int,int,int,int) -> <init>
+ 758:759:void <init>(int,int) -> <init>
+ 771:773:void <init>(java.lang.String,int,int) -> <init>
+ 793:801:void addAnchors() -> addAnchors
+ 3511:3553:void addChildrenToSolverByDependency(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.core.LinearSystem,java.util.HashSet,int,boolean) -> addChildrenToSolverByDependency
+ 2747:2747:boolean addFirst() -> addFirst
+ 2383:2740:void addToSolver(androidx.constraintlayout.core.LinearSystem,boolean) -> addToSolver
+ 1817:1817:boolean allowedInBarrier() -> allowedInBarrier
+ 2843:3313:void applyConstraints(androidx.constraintlayout.core.LinearSystem,boolean,boolean,boolean,boolean,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.SolverVariable,androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour,boolean,androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,int,int,int,int,float,boolean,boolean,boolean,boolean,boolean,int,int,int,int,float,boolean) -> applyConstraints
+ 1848:1851:void connect(androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,int) -> connect
+ 1866:1867:void connect(androidx.constraintlayout.core.widgets.ConstraintAnchor$Type,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintAnchor$Type) -> connect
+ 1880:2047:void connect(androidx.constraintlayout.core.widgets.ConstraintAnchor$Type,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintAnchor$Type,int) -> connect
+ 874:877:void connectCircularConstraint(androidx.constraintlayout.core.widgets.ConstraintWidget,float,int) -> connectCircularConstraint
+ 3356:3449:void copy(androidx.constraintlayout.core.widgets.ConstraintWidget,java.util.HashMap) -> copy
+ 968:975:void createObjectVariables(androidx.constraintlayout.core.LinearSystem) -> createObjectVariables
+ 213:214:void ensureMeasureRequested() -> ensureMeasureRequested
+ 762:768:void ensureWidgetRuns() -> ensureWidgetRuns
+ 2142:2170:androidx.constraintlayout.core.widgets.ConstraintAnchor getAnchor(androidx.constraintlayout.core.widgets.ConstraintAnchor$Type) -> getAnchor
+ 1272:1272:java.util.ArrayList getAnchors() -> getAnchors
+ 1253:1253:int getBaselineDistance() -> getBaselineDistance
+ 1229:1234:float getBiasPercent(int) -> getBiasPercent
+ 1170:1170:int getBottom() -> getBottom
+ 1263:1263:java.lang.Object getCompanionWidget() -> getCompanionWidget
+ 1752:1752:int getContainerItemSkip() -> getContainerItemSkip
+ 921:921:java.lang.String getDebugName() -> getDebugName
+ 2198:2203:androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour getDimensionBehaviour(int) -> getDimensionBehaviour
+ 1506:1506:float getDimensionRatio() -> getDimensionRatio
+ 1515:1515:int getDimensionRatioSide() -> getDimensionRatioSide
+ 357:357:boolean getHasBaseline() -> getHasBaseline
+ 1077:1080:int getHeight() -> getHeight
+ 1208:1208:float getHorizontalBiasPercent() -> getHorizontalBiasPercent
+ 2282:2302:androidx.constraintlayout.core.widgets.ConstraintWidget getHorizontalChainControlWidget() -> getHorizontalChainControlWidget
+ 1790:1790:int getHorizontalChainStyle() -> getHorizontalChainStyle
+ 2179:2179:androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour getHorizontalDimensionBehaviour() -> getHorizontalDimensionBehaviour
+ 1177:1184:int getHorizontalMargin() -> getHorizontalMargin
+ 400:400:int getLastHorizontalMeasureSpec() -> getLastHorizontalMeasureSpec
+ 401:401:int getLastVerticalMeasureSpec() -> getLastVerticalMeasureSpec
+ 1143:1143:int getLeft() -> getLeft
+ 1090:1095:int getLength(int) -> getLength
+ 321:321:int getMaxHeight() -> getMaxHeight
+ 325:325:int getMaxWidth() -> getMaxWidth
+ 1134:1134:int getMinHeight() -> getMinHeight
+ 1125:1125:int getMinWidth() -> getMinWidth
+ 2264:2273:androidx.constraintlayout.core.widgets.ConstraintWidget getNextChainMember(int) -> getNextChainMember
+ 1054:1068:int getOptimizerWrapHeight() -> getOptimizerWrapHeight
+ 1036:1050:int getOptimizerWrapWidth() -> getOptimizerWrapWidth
+ 818:818:androidx.constraintlayout.core.widgets.ConstraintWidget getParent() -> getParent
+ 2245:2254:androidx.constraintlayout.core.widgets.ConstraintWidget getPreviousChainMember(int) -> getPreviousChainMember
+ 1687:1692:int getRelativePositioning(int) -> getRelativePositioning
+ 1161:1161:int getRight() -> getRight
+ 1106:1106:int getRootX() -> getRootX
+ 1116:1116:int getRootY() -> getRootY
+ 84:89:androidx.constraintlayout.core.widgets.analyzer.WidgetRun getRun(int) -> getRun
+ 1152:1152:int getTop() -> getTop
+ 885:885:java.lang.String getType() -> getType
+ 1218:1218:float getVerticalBiasPercent() -> getVerticalBiasPercent
+ 2325:2345:androidx.constraintlayout.core.widgets.ConstraintWidget getVerticalChainControlWidget() -> getVerticalChainControlWidget
+ 1810:1810:int getVerticalChainStyle() -> getVerticalChainStyle
+ 2188:2188:androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour getVerticalDimensionBehaviour() -> getVerticalDimensionBehaviour
+ 1191:1198:int getVerticalMargin() -> getVerticalMargin
+ 912:912:int getVisibility() -> getVisibility
+ 1029:1032:int getWidth() -> getWidth
+ 391:391:int getWrapBehaviorInParent() -> getWrapBehaviorInParent
+ 1005:1008:int getX() -> getX
+ 1017:1020:int getY() -> getY
+ 1244:1244:boolean hasBaseline() -> hasBaseline
+ 227:232:boolean hasDanglingDimension(int) -> hasDanglingDimension
+ 217:223:boolean hasDependencies() -> hasDependencies
+ 711:711:boolean hasDimensionOverride() -> hasDimensionOverride
+ 237:250:boolean hasResolvedTargets(int,int) -> hasResolvedTargets
+ 1835:1838:void immediateConnect(androidx.constraintlayout.core.widgets.ConstraintAnchor$Type,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintAnchor$Type,int,int) -> immediateConnect
+ 2355:2356:boolean isChainHead(int) -> isChainHead
+ 863:863:boolean isHeightWrapContent() -> isHeightWrapContent
+ 132:132:boolean isHorizontalSolvingPassDone() -> isHorizontalSolvingPassDone
+ 373:373:boolean isInBarrier(int) -> isInBarrier
+ 2231:2235:boolean isInHorizontalChain() -> isInHorizontalChain
+ 361:361:boolean isInPlaceholder() -> isInPlaceholder
+ 2312:2316:boolean isInVerticalChain() -> isInVerticalChain
+ 313:313:boolean isInVirtualLayout() -> isInVirtualLayout
+ 381:381:boolean isMeasureRequested() -> isMeasureRequested
+ 194:194:boolean isResolvedHorizontally() -> isResolvedHorizontally
+ 198:198:boolean isResolvedVertically() -> isResolvedVertically
+ 809:809:boolean isRoot() -> isRoot
+ 345:345:boolean isSpreadHeight() -> isSpreadHeight
+ 337:337:boolean isSpreadWidth() -> isSpreadWidth
+ 136:136:boolean isVerticalSolvingPassDone() -> isVerticalSolvingPassDone
+ 845:845:boolean isWidthWrapContent() -> isWidthWrapContent
+ 140:141:void markHorizontalSolvingPassDone() -> markHorizontalSolvingPassDone
+ 144:145:void markVerticalSolvingPassDone() -> markVerticalSolvingPassDone
+ 696:699:boolean oppositeDimensionDependsOn(int) -> oppositeDimensionDependsOn
+ 705:705:boolean oppositeDimensionsTied() -> oppositeDimensionsTied
+ 516:579:void reset() -> reset
+ 2052:2055:void resetAllConstraints() -> resetAllConstraints
+ 2063:2116:void resetAnchor(androidx.constraintlayout.core.widgets.ConstraintAnchor) -> resetAnchor
+ 2122:2133:void resetAnchors() -> resetAnchors
+ 202:210:void resetFinalResolution() -> resetFinalResolution
+ 779:787:void resetSolverVariables(androidx.constraintlayout.core.Cache) -> resetSolverVariables
+ 127:129:void resetSolvingPassFlag() -> resetSolvingPassFlag
+ 652:688:java.lang.StringBuilder serialize(java.lang.StringBuilder) -> serialize
+ 584:596:void serializeAnchor(java.lang.StringBuilder,java.lang.String,androidx.constraintlayout.core.widgets.ConstraintAnchor) -> serializeAnchor
+ 613:620:void serializeAttribute(java.lang.StringBuilder,java.lang.String,float,float) -> serializeAttribute
+ 598:610:void serializeCircle(java.lang.StringBuilder,androidx.constraintlayout.core.widgets.ConstraintAnchor,float) -> serializeCircle
+ 623:633:void serializeDimensionRatio(java.lang.StringBuilder,java.lang.String,float,int) -> serializeDimensionRatio
+ 640:649:void serializeSize(java.lang.StringBuilder,java.lang.String,int,int,int,int,int,int,float,float) -> serializeSize
+ 1716:1718:void setBaselineDistance(int) -> setBaselineDistance
+ 1727:1728:void setCompanionWidget(java.lang.Object) -> setCompanionWidget
+ 1739:1744:void setContainerItemSkip(int) -> setContainerItemSkip
+ 928:929:void setDebugName(java.lang.String) -> setDebugName
+ 948:959:void setDebugSolverName(androidx.constraintlayout.core.LinearSystem,java.lang.String) -> setDebugSolverName
+ 1571:1579:void setDimension(int,int) -> setDimension
+ 1431:1485:void setDimensionRatio(java.lang.String) -> setDimensionRatio
+ 1496:1498:void setDimensionRatio(float,int) -> setDimensionRatio
+ 181:191:void setFinalBaseline(int) -> setFinalBaseline
+ 99:114:void setFinalFrame(int,int,int,int,int,int) -> setFinalFrame
+ 148:160:void setFinalHorizontal(int,int) -> setFinalHorizontal
+ 117:119:void setFinalLeft(int) -> setFinalLeft
+ 122:124:void setFinalTop(int) -> setFinalTop
+ 163:178:void setFinalVertical(int,int) -> setFinalVertical
+ 1590:1635:void setFrame(int,int,int,int) -> setFrame
+ 1645:1650:void setFrame(int,int,int) -> setFrame
+ 1322:1349:void setGoneMargin(androidx.constraintlayout.core.widgets.ConstraintAnchor$Type,int) -> setGoneMargin
+ 353:354:void setHasBaseline(boolean) -> setHasBaseline
+ 1369:1373:void setHeight(int) -> setHeight
+ 854:855:void setHeightWrapContent(boolean) -> setHeightWrapContent
+ 1525:1526:void setHorizontalBiasPercent(float) -> setHorizontalBiasPercent
+ 1780:1781:void setHorizontalChainStyle(int) -> setHorizontalChainStyle
+ 1659:1664:void setHorizontalDimension(int,int) -> setHorizontalDimension
+ 2213:2214:void setHorizontalDimensionBehaviour(androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour) -> setHorizontalDimensionBehaviour
+ 1398:1405:void setHorizontalMatchStyle(int,int,int,float) -> setHorizontalMatchStyle
+ 1761:1762:void setHorizontalWeight(float) -> setHorizontalWeight
+ 369:370:void setInBarrier(int,boolean) -> setInBarrier
+ 365:366:void setInPlaceholder(boolean) -> setInPlaceholder
+ 317:318:void setInVirtualLayout(boolean) -> setInVirtualLayout
+ 403:406:void setLastMeasureSpec(int,int) -> setLastMeasureSpec
+ 1382:1387:void setLength(int,int) -> setLength
+ 333:334:void setMaxHeight(int) -> setMaxHeight
+ 329:330:void setMaxWidth(int) -> setMaxWidth
+ 377:378:void setMeasureRequested(boolean) -> setMeasureRequested
+ 1557:1562:void setMinHeight(int) -> setMinHeight
+ 1544:1549:void setMinWidth(int) -> setMinWidth
+ 1311:1313:void setOffset(int,int) -> setOffset
+ 1300:1302:void setOrigin(int,int) -> setOrigin
+ 827:828:void setParent(androidx.constraintlayout.core.widgets.ConstraintWidget) -> setParent
+ 1703:1708:void setRelativePositioning(int,int) -> setRelativePositioning
+ 894:895:void setType(java.lang.String) -> setType
+ 1535:1536:void setVerticalBiasPercent(float) -> setVerticalBiasPercent
+ 1800:1801:void setVerticalChainStyle(int) -> setVerticalChainStyle
+ 1673:1678:void setVerticalDimension(int,int) -> setVerticalDimension
+ 2222:2223:void setVerticalDimensionBehaviour(androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour) -> setVerticalDimensionBehaviour
+ 1416:1423:void setVerticalMatchStyle(int,int,int,float) -> setVerticalMatchStyle
+ 1770:1771:void setVerticalWeight(float) -> setVerticalWeight
+ 903:904:void setVisibility(int) -> setVisibility
+ 1357:1361:void setWidth(int) -> setWidth
+ 836:837:void setWidthWrapContent(boolean) -> setWidthWrapContent
+ 385:388:void setWrapBehaviorInParent(int) -> setWrapBehaviorInParent
+ 1281:1282:void setX(int) -> setX
+ 1290:1291:void setY(int) -> setY
+ 2760:2814:void setupDimensionRatio(boolean,boolean,boolean,boolean) -> setupDimensionRatio
+ 984:984:java.lang.String toString() -> toString
+ 3452:3508:void updateFromRuns(boolean,boolean) -> updateFromRuns
+ 3322:3352:void updateFromSolver(androidx.constraintlayout.core.LinearSystem,boolean) -> updateFromSolver
+androidx.constraintlayout.core.widgets.ConstraintWidget$1 -> androidx.constraintlayout.core.widgets.ConstraintWidget$1:
+ 1322:2872:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour -> androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour:
+ 411:412:void <clinit>() -> <clinit>
+ 411:411:void <init>(java.lang.String,int) -> <init>
+ 411:411:androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour valueOf(java.lang.String) -> valueOf
+ 411:411:androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour[] values() -> values
+androidx.constraintlayout.core.widgets.ConstraintWidgetContainer -> androidx.constraintlayout.core.widgets.ConstraintWidgetContainer:
+ 646:646:void <clinit>() -> <clinit>
+ 48:518:void <init>() -> <init>
+ 48:518:void <init>(int,int,int,int) -> <init>
+ 48:518:void <init>(int,int) -> <init>
+ 48:518:void <init>(java.lang.String,int,int) -> <init>
+ 1059:1065:void addChain(androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> addChain
+ 335:447:boolean addChildrenToSolver(androidx.constraintlayout.core.LinearSystem) -> addChildrenToSolver
+ 1074:1080:void addHorizontalChain(androidx.constraintlayout.core.widgets.ConstraintWidget) -> addHorizontalChain
+ 302:306:void addHorizontalWrapMaxVariable(androidx.constraintlayout.core.widgets.ConstraintAnchor) -> addHorizontalWrapMaxVariable
+ 288:292:void addHorizontalWrapMinVariable(androidx.constraintlayout.core.widgets.ConstraintAnchor) -> addHorizontalWrapMinVariable
+ 315:318:void addMaxWrap(androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.SolverVariable) -> addMaxWrap
+ 309:312:void addMinWrap(androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.SolverVariable) -> addMinWrap
+ 1089:1095:void addVerticalChain(androidx.constraintlayout.core.widgets.ConstraintWidget) -> addVerticalChain
+ 295:299:void addVerticalWrapMaxVariable(androidx.constraintlayout.core.widgets.ConstraintAnchor) -> addVerticalWrapMaxVariable
+ 281:285:void addVerticalWrapMinVariable(androidx.constraintlayout.core.widgets.ConstraintAnchor) -> addVerticalWrapMinVariable
+ 100:101:void defineTerminalWidgets() -> defineTerminalWidgets
+ 73:73:boolean directMeasure(boolean) -> directMeasure
+ 92:92:boolean directMeasureSetup(boolean) -> directMeasureSetup
+ 96:96:boolean directMeasureWithOrientation(boolean,int) -> directMeasureWithOrientation
+ 143:145:void fillMetrics(androidx.constraintlayout.core.Metrics) -> fillMetrics
+ 1023:1033:java.util.ArrayList getHorizontalGuidelines() -> getHorizontalGuidelines
+ 136:136:androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer getMeasurer() -> getMeasurer
+ 225:225:int getOptimizationLevel() -> getOptimizationLevel
+ 1037:1037:androidx.constraintlayout.core.LinearSystem getSystem() -> getSystem
+ 245:245:java.lang.String getType() -> getType
+ 1004:1014:java.util.ArrayList getVerticalGuidelines() -> getVerticalGuidelines
+ 991:991:boolean handlesInternalConstraints() -> handlesInternalConstraints
+ 61:62:void invalidateGraph() -> invalidateGraph
+ 68:69:void invalidateMeasures() -> invalidateMeasures
+ 270:270:boolean isHeightMeasuredTooSmall() -> isHeightMeasuredTooSmall
+ 511:511:boolean isRtl() -> isRtl
+ 263:263:boolean isWidthMeasuredTooSmall() -> isWidthMeasuredTooSmall
+ 660:983:void layout() -> layout
+ 118:120:long measure(int,int,int,int,int,int,int,int,int) -> measure
+ 524:643:boolean measure(int,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measure,int) -> measure
+ 235:235:boolean optimizeFor(int) -> optimizeFor
+ 250:257:void reset() -> reset
+ 1048:1050:void resetChains() -> resetChains
+ 131:133:void setMeasurer(androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer) -> setMeasurer
+ 215:217:void setOptimizationLevel(int) -> setOptimizationLevel
+ 490:494:void setPadding(int,int,int,int) -> setPadding
+ 1102:1103:void setPass(int) -> setPass
+ 502:503:void setRtl(boolean) -> setRtl
+ 456:468:boolean updateChildrenFromSolver(androidx.constraintlayout.core.LinearSystem,boolean[]) -> updateChildrenFromSolver
+ 473:479:void updateFromRuns(boolean,boolean) -> updateFromRuns
+ 125:126:void updateHierarchy() -> updateHierarchy
+androidx.constraintlayout.core.widgets.Flow -> androidx.constraintlayout.core.widgets.Flow:
+ 32:80:void <init>() -> <init>
+ 32:32:int access$000(androidx.constraintlayout.core.widgets.Flow) -> access$000
+ 32:32:int access$100(androidx.constraintlayout.core.widgets.Flow) -> access$100
+ 32:32:int access$1000(androidx.constraintlayout.core.widgets.Flow) -> access$1000
+ 32:32:float access$1100(androidx.constraintlayout.core.widgets.Flow) -> access$1100
+ 32:32:int access$1200(androidx.constraintlayout.core.widgets.Flow) -> access$1200
+ 32:32:float access$1300(androidx.constraintlayout.core.widgets.Flow) -> access$1300
+ 32:32:float access$1400(androidx.constraintlayout.core.widgets.Flow) -> access$1400
+ 32:32:int access$1500(androidx.constraintlayout.core.widgets.Flow) -> access$1500
+ 32:32:float access$1600(androidx.constraintlayout.core.widgets.Flow) -> access$1600
+ 32:32:int access$1700(androidx.constraintlayout.core.widgets.Flow) -> access$1700
+ 32:32:float access$1800(androidx.constraintlayout.core.widgets.Flow) -> access$1800
+ 32:32:int access$1900(androidx.constraintlayout.core.widgets.Flow) -> access$1900
+ 32:32:int access$200(androidx.constraintlayout.core.widgets.Flow,androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> access$200
+ 32:32:int access$300(androidx.constraintlayout.core.widgets.Flow,androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> access$300
+ 32:32:int access$400(androidx.constraintlayout.core.widgets.Flow) -> access$400
+ 32:32:androidx.constraintlayout.core.widgets.ConstraintWidget[] access$500(androidx.constraintlayout.core.widgets.Flow) -> access$500
+ 32:32:int access$600(androidx.constraintlayout.core.widgets.Flow) -> access$600
+ 32:32:int access$700(androidx.constraintlayout.core.widgets.Flow) -> access$700
+ 32:32:int access$800(androidx.constraintlayout.core.widgets.Flow) -> access$800
+ 32:32:float access$900(androidx.constraintlayout.core.widgets.Flow) -> access$900
+ 1220:1243:void addToSolver(androidx.constraintlayout.core.LinearSystem,boolean) -> addToSolver
+ 85:112:void copy(androidx.constraintlayout.core.widgets.ConstraintWidget,java.util.HashMap) -> copy
+ 1121:1206:void createAlignedConstraints(boolean) -> createAlignedConstraints
+ 200:219:int getWidgetHeight(androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> getWidgetHeight
+ 177:196:int getWidgetWidth(androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> getWidgetWidth
+ 227:327:void measure(int,int,int,int) -> measure
+ 967:1118:void measureAligned(androidx.constraintlayout.core.widgets.ConstraintWidget[],int,int,int,int[]) -> measureAligned
+ 778:916:void measureChainWrap(androidx.constraintlayout.core.widgets.ConstraintWidget[],int,int,int,int[]) -> measureChainWrap
+ 931:952:void measureNoWrap(androidx.constraintlayout.core.widgets.ConstraintWidget[],int,int,int,int[]) -> measureNoWrap
+ 146:146:void setFirstHorizontalBias(float) -> setFirstHorizontalBias
+ 122:122:void setFirstHorizontalStyle(int) -> setFirstHorizontalStyle
+ 148:148:void setFirstVerticalBias(float) -> setFirstVerticalBias
+ 124:124:void setFirstVerticalStyle(int) -> setFirstVerticalStyle
+ 155:156:void setHorizontalAlign(int) -> setHorizontalAlign
+ 139:140:void setHorizontalBias(float) -> setHorizontalBias
+ 166:166:void setHorizontalGap(int) -> setHorizontalGap
+ 131:132:void setHorizontalStyle(int) -> setHorizontalStyle
+ 150:150:void setLastHorizontalBias(float) -> setLastHorizontalBias
+ 126:126:void setLastHorizontalStyle(int) -> setLastHorizontalStyle
+ 152:152:void setLastVerticalBias(float) -> setLastVerticalBias
+ 128:128:void setLastVerticalStyle(int) -> setLastVerticalStyle
+ 170:170:void setMaxElementsWrap(int) -> setMaxElementsWrap
+ 119:120:void setOrientation(int) -> setOrientation
+ 159:160:void setVerticalAlign(int) -> setVerticalAlign
+ 143:144:void setVerticalBias(float) -> setVerticalBias
+ 168:168:void setVerticalGap(int) -> setVerticalGap
+ 135:136:void setVerticalStyle(int) -> setVerticalStyle
+ 163:164:void setWrapMode(int) -> setWrapMode
+androidx.constraintlayout.core.widgets.Flow$WidgetsList -> androidx.constraintlayout.core.widgets.Flow$WidgetsList:
+ 334:366:void <init>(androidx.constraintlayout.core.widgets.Flow,int,androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,int) -> <init>
+ 333:333:androidx.constraintlayout.core.widgets.ConstraintWidget access$2000(androidx.constraintlayout.core.widgets.Flow$WidgetsList) -> access$2000
+ 411:447:void add(androidx.constraintlayout.core.widgets.ConstraintWidget) -> add
+ 385:392:void clear() -> clear
+ 450:692:void createConstraints(boolean,int,boolean) -> createConstraints
+ 404:407:int getHeight() -> getHeight
+ 397:400:int getWidth() -> getWidth
+ 695:720:void measureMatchConstraints(int) -> measureMatchConstraints
+ 723:761:void recomputeDimensions() -> recomputeDimensions
+ 394:394:void setStartIndex(int) -> setStartIndex
+ 372:382:void setup(int,androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,int,int,int,int,int) -> setup
+androidx.constraintlayout.core.widgets.Guideline -> androidx.constraintlayout.core.widgets.Guideline:
+ 37:53:void <init>() -> <init>
+ 215:269:void addToSolver(androidx.constraintlayout.core.LinearSystem,boolean) -> addToSolver
+ 67:67:boolean allowedInBarrier() -> allowedInBarrier
+ 57:63:void copy(androidx.constraintlayout.core.widgets.ConstraintWidget,java.util.HashMap) -> copy
+ 315:325:void cyclePosition() -> cyclePosition
+ 102:102:androidx.constraintlayout.core.widgets.ConstraintAnchor getAnchor() -> getAnchor
+ 125:147:androidx.constraintlayout.core.widgets.ConstraintAnchor getAnchor(androidx.constraintlayout.core.widgets.ConstraintAnchor$Type) -> getAnchor
+ 116:116:int getOrientation() -> getOrientation
+ 183:183:int getRelativeBegin() -> getRelativeBegin
+ 71:80:int getRelativeBehaviour() -> getRelativeBehaviour
+ 187:187:int getRelativeEnd() -> getRelativeEnd
+ 179:179:float getRelativePercent() -> getRelativePercent
+ 112:112:java.lang.String getType() -> getType
+ 299:304:void inferRelativeBeginPosition() -> inferRelativeBeginPosition
+ 307:312:void inferRelativeEndPosition() -> inferRelativeEndPosition
+ 291:296:void inferRelativePercentPosition() -> inferRelativePercentPosition
+ 328:328:boolean isPercent() -> isPercent
+ 199:199:boolean isResolvedHorizontally() -> isResolvedHorizontally
+ 203:203:boolean isResolvedVertically() -> isResolvedVertically
+ 194:196:void setFinalValue(int) -> setFinalValue
+ 163:168:void setGuideBegin(int) -> setGuideBegin
+ 171:176:void setGuideEnd(int) -> setGuideEnd
+ 151:152:void setGuidePercent(int) -> setGuidePercent
+ 155:160:void setGuidePercent(float) -> setGuidePercent
+ 120:121:void setMinimumPosition(int) -> setMinimumPosition
+ 84:99:void setOrientation(int) -> setOrientation
+ 273:288:void updateFromSolver(androidx.constraintlayout.core.LinearSystem,boolean) -> updateFromSolver
+androidx.constraintlayout.core.widgets.Guideline$1 -> androidx.constraintlayout.core.widgets.Guideline$1:
+ 125:125:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.widgets.HelperWidget -> androidx.constraintlayout.core.widgets.HelperWidget:
+ 13:15:void <init>() -> <init>
+ 28:36:void add(androidx.constraintlayout.core.widgets.ConstraintWidget) -> add
+ 58:66:void addDependents(java.util.ArrayList,int,androidx.constraintlayout.core.widgets.analyzer.WidgetGroup) -> addDependents
+ 40:47:void copy(androidx.constraintlayout.core.widgets.ConstraintWidget,java.util.HashMap) -> copy
+ 69:78:int findGroupInDependents(int) -> findGroupInDependents
+ 53:55:void removeAllIds() -> removeAllIds
+ 20:20:void updateConstraints(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer) -> updateConstraints
+androidx.constraintlayout.core.widgets.Optimizer -> androidx.constraintlayout.core.widgets.Optimizer:
+ 52:52:void <clinit>() -> <clinit>
+ 27:27:void <init>() -> <init>
+ 65:97:void checkMatchParent(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.widgets.ConstraintWidget) -> checkMatchParent
+ 100:100:boolean enabled(int,int) -> enabled
+androidx.constraintlayout.core.widgets.Rectangle -> androidx.constraintlayout.core.widgets.Rectangle:
+ 21:21:void <init>() -> <init>
+ 46:46:boolean contains(int,int) -> contains
+ 50:50:int getCenterX() -> getCenterX
+ 51:51:int getCenterY() -> getCenterY
+ 34:38:void grow(int,int) -> grow
+ 41:41:boolean intersects(androidx.constraintlayout.core.widgets.Rectangle) -> intersects
+ 28:32:void setBounds(int,int,int,int) -> setBounds
+androidx.constraintlayout.core.widgets.VirtualLayout -> androidx.constraintlayout.core.widgets.VirtualLayout:
+ 28:204:void <init>() -> <init>
+ 74:83:void applyRtl(boolean) -> applyRtl
+ 132:138:void captureWidgets() -> captureWidgets
+ 225:231:boolean contains(java.util.HashSet) -> contains
+ 145:145:int getMeasuredHeight() -> getMeasuredHeight
+ 141:141:int getMeasuredWidth() -> getMeasuredWidth
+ 100:100:int getPaddingBottom() -> getPaddingBottom
+ 102:102:int getPaddingLeft() -> getPaddingLeft
+ 104:104:int getPaddingRight() -> getPaddingRight
+ 98:98:int getPaddingTop() -> getPaddingTop
+ 124:124:void measure(int,int,int,int) -> measure
+ 209:222:void measure(androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour,int,androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour,int) -> measure
+ 154:201:boolean measureChildren() -> measureChildren
+ 115:115:boolean needSolverPass() -> needSolverPass
+ 111:112:void needsCallbackFromSolver(boolean) -> needsCallbackFromSolver
+ 149:151:void setMeasure(int,int) -> setMeasure
+ 50:56:void setPadding(int) -> setPadding
+ 95:96:void setPaddingBottom(int) -> setPaddingBottom
+ 65:66:void setPaddingEnd(int) -> setPaddingEnd
+ 69:71:void setPaddingLeft(int) -> setPaddingLeft
+ 90:92:void setPaddingRight(int) -> setPaddingRight
+ 59:62:void setPaddingStart(int) -> setPaddingStart
+ 86:87:void setPaddingTop(int) -> setPaddingTop
+ 128:129:void updateConstraints(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer) -> updateConstraints
+androidx.constraintlayout.core.widgets.WidgetContainer -> androidx.constraintlayout.core.widgets.WidgetContainer:
+ 26:36:void <init>() -> <init>
+ 26:48:void <init>(int,int,int,int) -> <init>
+ 26:58:void <init>(int,int) -> <init>
+ 72:78:void add(androidx.constraintlayout.core.widgets.ConstraintWidget) -> add
+ 86:90:void add(androidx.constraintlayout.core.widgets.ConstraintWidget[]) -> add
+ 108:108:java.util.ArrayList getChildren() -> getChildren
+ 117:130:androidx.constraintlayout.core.widgets.ConstraintWidgetContainer getRootConstraintContainer() -> getRootConstraintContainer
+ 158:168:void layout() -> layout
+ 98:100:void remove(androidx.constraintlayout.core.widgets.ConstraintWidget) -> remove
+ 181:182:void removeAllChildren() -> removeAllChildren
+ 62:64:void reset() -> reset
+ 172:178:void resetSolverVariables(androidx.constraintlayout.core.Cache) -> resetSolverVariables
+ 146:152:void setOffset(int,int) -> setOffset
+androidx.constraintlayout.core.widgets.analyzer.BaselineDimensionDependency -> androidx.constraintlayout.core.widgets.analyzer.BaselineDimensionDependency:
+ 22:23:void <init>(androidx.constraintlayout.core.widgets.analyzer.WidgetRun) -> <init>
+ 26:29:void update(androidx.constraintlayout.core.widgets.analyzer.DependencyNode) -> update
+androidx.constraintlayout.core.widgets.analyzer.BasicMeasure -> androidx.constraintlayout.core.widgets.analyzer.BasicMeasure:
+ 52:72:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer) -> <init>
+ 443:472:boolean measure(androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer,androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> measure
+ 75:140:void measureChildren(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer) -> measureChildren
+ 148:165:void solveLinearSystem(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,java.lang.String,int,int,int) -> solveLinearSystem
+ 186:431:long solverMeasure(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int,int,int,int,int,int,int) -> solverMeasure
+ 56:66:void updateHierarchy(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer) -> updateHierarchy
+androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measure -> androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measure:
+ 481:483:void <clinit>() -> <clinit>
+ 480:480:void <init>() -> <init>
+androidx.constraintlayout.core.widgets.analyzer.ChainRun -> androidx.constraintlayout.core.widgets.analyzer.ChainRun:
+ 32:39:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidget,int) -> <init>
+ 513:570:void apply() -> apply
+ 484:488:void applyToWidget() -> applyToWidget
+ 78:104:void build() -> build
+ 109:113:void clear() -> clear
+ 491:497:androidx.constraintlayout.core.widgets.ConstraintWidget getFirstVisibleWidget() -> getFirstVisibleWidget
+ 501:507:androidx.constraintlayout.core.widgets.ConstraintWidget getLastVisibleWidget() -> getLastVisibleWidget
+ 66:74:long getWrapDimension() -> getWrapDimension
+ 117:119:void reset() -> reset
+ 55:62:boolean supportsWrapComputation() -> supportsWrapComputation
+ 43:50:java.lang.String toString() -> toString
+ 123:481:void update(androidx.constraintlayout.core.widgets.analyzer.Dependency) -> update
+androidx.constraintlayout.core.widgets.analyzer.DependencyGraph -> androidx.constraintlayout.core.widgets.analyzer.DependencyGraph:
+ 44:626:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer) -> <init>
+ 710:756:void applyGroup(androidx.constraintlayout.core.widgets.analyzer.DependencyNode,int,int,androidx.constraintlayout.core.widgets.analyzer.DependencyNode,java.util.ArrayList,androidx.constraintlayout.core.widgets.analyzer.RunGroup) -> applyGroup
+ 388:561:boolean basicMeasureWidgets(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer) -> basicMeasureWidgets
+ 630:640:void buildGraph() -> buildGraph
+ 643:696:void buildGraph(java.util.ArrayList) -> buildGraph
+ 65:72:int computeWrap(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int) -> computeWrap
+ 82:101:void defineTerminalWidgets(androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour,androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour) -> defineTerminalWidgets
+ 110:229:boolean directMeasure(boolean) -> directMeasure
+ 233:264:boolean directMeasureSetup(boolean) -> directMeasureSetup
+ 268:361:boolean directMeasureWithOrientation(boolean,int) -> directMeasureWithOrientation
+ 701:707:void displayGraph() -> displayGraph
+ 759:785:void findGroup(androidx.constraintlayout.core.widgets.analyzer.WidgetRun,int,java.util.ArrayList) -> findGroup
+ 893:915:java.lang.String generateChainDisplayGraph(androidx.constraintlayout.core.widgets.analyzer.ChainRun,java.lang.String) -> generateChainDisplayGraph
+ 935:1010:java.lang.String generateDisplayGraph(androidx.constraintlayout.core.widgets.analyzer.WidgetRun,java.lang.String) -> generateDisplayGraph
+ 789:816:java.lang.String generateDisplayNode(androidx.constraintlayout.core.widgets.analyzer.DependencyNode,boolean,java.lang.String) -> generateDisplayNode
+ 616:617:void invalidateGraph() -> invalidateGraph
+ 623:624:void invalidateMeasures() -> invalidateMeasures
+ 919:931:boolean isCenteredConnection(androidx.constraintlayout.core.widgets.analyzer.DependencyNode,androidx.constraintlayout.core.widgets.analyzer.DependencyNode) -> isCenteredConnection
+ 376:385:void measure(androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour,int,androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour,int) -> measure
+ 565:610:void measureWidgets() -> measureWidgets
+ 820:889:java.lang.String nodeDefinition(androidx.constraintlayout.core.widgets.analyzer.WidgetRun) -> nodeDefinition
+ 61:62:void setMeasurer(androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer) -> setMeasurer
+androidx.constraintlayout.core.widgets.analyzer.DependencyNode -> androidx.constraintlayout.core.widgets.analyzer.DependencyNode:
+ 23:41:void <init>(androidx.constraintlayout.core.widgets.analyzer.WidgetRun) -> <init>
+ 100:104:void addDependency(androidx.constraintlayout.core.widgets.analyzer.Dependency) -> addDependency
+ 119:125:void clear() -> clear
+ 107:115:java.lang.String name() -> name
+ 50:59:void resolve(int) -> resolve
+ 45:46:java.lang.String toString() -> toString
+ 62:97:void update(androidx.constraintlayout.core.widgets.analyzer.Dependency) -> update
+androidx.constraintlayout.core.widgets.analyzer.DependencyNode$Type -> androidx.constraintlayout.core.widgets.analyzer.DependencyNode$Type:
+ 27:27:void <clinit>() -> <clinit>
+ 27:27:void <init>(java.lang.String,int) -> <init>
+ 27:27:androidx.constraintlayout.core.widgets.analyzer.DependencyNode$Type valueOf(java.lang.String) -> valueOf
+ 27:27:androidx.constraintlayout.core.widgets.analyzer.DependencyNode$Type[] values() -> values
+androidx.constraintlayout.core.widgets.analyzer.DimensionDependency -> androidx.constraintlayout.core.widgets.analyzer.DimensionDependency:
+ 24:30:void <init>(androidx.constraintlayout.core.widgets.analyzer.WidgetRun) -> <init>
+ 33:41:void resolve(int) -> resolve
+androidx.constraintlayout.core.widgets.analyzer.Direct -> androidx.constraintlayout.core.widgets.analyzer.Direct:
+ 46:50:void <clinit>() -> <clinit>
+ 42:42:void <init>() -> <init>
+ 763:799:boolean canMeasure(int,androidx.constraintlayout.core.widgets.ConstraintWidget) -> canMeasure
+ 310:429:void horizontalSolvingPass(int,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer,boolean) -> horizontalSolvingPass
+ 293:298:java.lang.String ls(int) -> ls
+ 278:285:void solveBarrier(int,androidx.constraintlayout.core.widgets.Barrier,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer,int,boolean) -> solveBarrier
+ 822:1021:boolean solveChain(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.core.LinearSystem,int,int,androidx.constraintlayout.core.widgets.ChainHead,boolean,boolean,boolean) -> solveChain
+ 599:628:void solveHorizontalCenterConstraints(int,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer,androidx.constraintlayout.core.widgets.ConstraintWidget,boolean) -> solveHorizontalCenterConstraints
+ 682:711:void solveHorizontalMatchConstraint(int,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer,androidx.constraintlayout.core.widgets.ConstraintWidget,boolean) -> solveHorizontalMatchConstraint
+ 640:669:void solveVerticalCenterConstraints(int,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer,androidx.constraintlayout.core.widgets.ConstraintWidget) -> solveVerticalCenterConstraints
+ 723:752:void solveVerticalMatchConstraint(int,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer,androidx.constraintlayout.core.widgets.ConstraintWidget) -> solveVerticalMatchConstraint
+ 59:268:void solvingPass(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer) -> solvingPass
+ 440:586:void verticalSolvingPass(int,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer) -> verticalSolvingPass
+androidx.constraintlayout.core.widgets.analyzer.Grouping -> androidx.constraintlayout.core.widgets.analyzer.Grouping:
+ 40:40:void <init>() -> <init>
+ 367:444:androidx.constraintlayout.core.widgets.analyzer.WidgetGroup findDependents(androidx.constraintlayout.core.widgets.ConstraintWidget,int,java.util.ArrayList,androidx.constraintlayout.core.widgets.analyzer.WidgetGroup) -> findDependents
+ 356:363:androidx.constraintlayout.core.widgets.analyzer.WidgetGroup findGroup(java.util.ArrayList,int) -> findGroup
+ 63:352:boolean simpleSolvingPass(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measurer) -> simpleSolvingPass
+ 48:55:boolean validInGroup(androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour,androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour,androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour,androidx.constraintlayout.core.widgets.ConstraintWidget$DimensionBehaviour) -> validInGroup
+androidx.constraintlayout.core.widgets.analyzer.GuidelineReference -> androidx.constraintlayout.core.widgets.analyzer.GuidelineReference:
+ 25:29:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidget) -> <init>
+ 48:50:void addDependency(androidx.constraintlayout.core.widgets.analyzer.DependencyNode) -> addDependency
+ 69:108:void apply() -> apply
+ 112:118:void applyToWidget() -> applyToWidget
+ 33:34:void clear() -> clear
+ 38:40:void reset() -> reset
+ 44:44:boolean supportsWrapComputation() -> supportsWrapComputation
+ 54:65:void update(androidx.constraintlayout.core.widgets.analyzer.Dependency) -> update
+androidx.constraintlayout.core.widgets.analyzer.HelperReferences -> androidx.constraintlayout.core.widgets.analyzer.HelperReferences:
+ 24:25:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidget) -> <init>
+ 44:46:void addDependency(androidx.constraintlayout.core.widgets.analyzer.DependencyNode) -> addDependency
+ 50:118:void apply() -> apply
+ 144:154:void applyToWidget() -> applyToWidget
+ 29:31:void clear() -> clear
+ 35:36:void reset() -> reset
+ 40:40:boolean supportsWrapComputation() -> supportsWrapComputation
+ 122:141:void update(androidx.constraintlayout.core.widgets.analyzer.Dependency) -> update
+androidx.constraintlayout.core.widgets.analyzer.HorizontalWidgetRun -> androidx.constraintlayout.core.widgets.analyzer.HorizontalWidgetRun:
+ 37:37:void <clinit>() -> <clinit>
+ 40:44:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidget) -> <init>
+ 83:274:void apply() -> apply
+ 561:564:void applyToWidget() -> applyToWidget
+ 53:58:void clear() -> clear
+ 277:308:void computeInsetRatio(int[],int,int,int,int,float,int) -> computeInsetRatio
+ 62:68:void reset() -> reset
+ 72:78:boolean supportsWrapComputation() -> supportsWrapComputation
+ 48:48:java.lang.String toString() -> toString
+ 312:558:void update(androidx.constraintlayout.core.widgets.analyzer.Dependency) -> update
+androidx.constraintlayout.core.widgets.analyzer.HorizontalWidgetRun$1 -> androidx.constraintlayout.core.widgets.analyzer.HorizontalWidgetRun$1:
+ 312:312:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.widgets.analyzer.RunGroup -> androidx.constraintlayout.core.widgets.analyzer.RunGroup:
+ 33:49:void <init>(androidx.constraintlayout.core.widgets.analyzer.WidgetRun,int) -> <init>
+ 52:54:void add(androidx.constraintlayout.core.widgets.analyzer.WidgetRun) -> add
+ 121:182:long computeWrapSize(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int) -> computeWrapSize
+ 186:231:boolean defineTerminalWidget(androidx.constraintlayout.core.widgets.analyzer.WidgetRun,int) -> defineTerminalWidget
+ 236:242:void defineTerminalWidgets(boolean,boolean) -> defineTerminalWidgets
+ 89:117:long traverseEnd(androidx.constraintlayout.core.widgets.analyzer.DependencyNode,long) -> traverseEnd
+ 57:85:long traverseStart(androidx.constraintlayout.core.widgets.analyzer.DependencyNode,long) -> traverseStart
+androidx.constraintlayout.core.widgets.analyzer.VerticalWidgetRun -> androidx.constraintlayout.core.widgets.analyzer.VerticalWidgetRun:
+ 34:43:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidget) -> <init>
+ 203:429:void apply() -> apply
+ 432:435:void applyToWidget() -> applyToWidget
+ 52:58:void clear() -> clear
+ 62:70:void reset() -> reset
+ 74:80:boolean supportsWrapComputation() -> supportsWrapComputation
+ 47:47:java.lang.String toString() -> toString
+ 85:199:void update(androidx.constraintlayout.core.widgets.analyzer.Dependency) -> update
+androidx.constraintlayout.core.widgets.analyzer.VerticalWidgetRun$1 -> androidx.constraintlayout.core.widgets.analyzer.VerticalWidgetRun$1:
+ 85:85:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.widgets.analyzer.WidgetGroup -> androidx.constraintlayout.core.widgets.analyzer.WidgetGroup:
+ 36:36:void <clinit>() -> <clinit>
+ 35:46:void <init>(int) -> <init>
+ 52:56:boolean add(androidx.constraintlayout.core.widgets.ConstraintWidget) -> add
+ 179:189:void apply() -> apply
+ 210:223:void cleanup(java.util.ArrayList) -> cleanup
+ 99:100:void clear() -> clear
+ 202:202:boolean contains(androidx.constraintlayout.core.widgets.ConstraintWidget) -> contains
+ 49:49:int getId() -> getId
+ 48:48:int getOrientation() -> getOrientation
+ 63:70:java.lang.String getOrientationString() -> getOrientationString
+ 192:198:boolean intersectWith(androidx.constraintlayout.core.widgets.analyzer.WidgetGroup) -> intersectWith
+ 60:60:boolean isAuthoritative() -> isAuthoritative
+ 103:115:int measureWrap(int,androidx.constraintlayout.core.widgets.ConstraintWidget) -> measureWrap
+ 119:124:int measureWrap(androidx.constraintlayout.core.LinearSystem,int) -> measureWrap
+ 87:96:void moveTo(int,androidx.constraintlayout.core.widgets.analyzer.WidgetGroup) -> moveTo
+ 59:59:void setAuthoritative(boolean) -> setAuthoritative
+ 175:176:void setOrientation(int) -> setOrientation
+ 206:206:int size() -> size
+ 128:170:int solverMeasure(androidx.constraintlayout.core.LinearSystem,java.util.ArrayList,int) -> solverMeasure
+ 75:80:java.lang.String toString() -> toString
+androidx.constraintlayout.core.widgets.analyzer.WidgetGroup$MeasureResult -> androidx.constraintlayout.core.widgets.analyzer.WidgetGroup$MeasureResult:
+ 235:243:void <init>(androidx.constraintlayout.core.widgets.analyzer.WidgetGroup,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.LinearSystem,int) -> <init>
+ 246:250:void apply() -> apply
+androidx.constraintlayout.core.widgets.analyzer.WidgetRun -> androidx.constraintlayout.core.widgets.analyzer.WidgetRun:
+ 34:45:void <init>(androidx.constraintlayout.core.widgets.ConstraintWidget) -> <init>
+ 283:286:void addTarget(androidx.constraintlayout.core.widgets.analyzer.DependencyNode,androidx.constraintlayout.core.widgets.analyzer.DependencyNode,int) -> addTarget
+ 289:295:void addTarget(androidx.constraintlayout.core.widgets.analyzer.DependencyNode,androidx.constraintlayout.core.widgets.analyzer.DependencyNode,int,androidx.constraintlayout.core.widgets.analyzer.DimensionDependency) -> addTarget
+ 235:256:int getLimitedDimension(int,int) -> getLimitedDimension
+ 95:124:androidx.constraintlayout.core.widgets.analyzer.DependencyNode getTarget(androidx.constraintlayout.core.widgets.ConstraintAnchor) -> getTarget
+ 260:279:androidx.constraintlayout.core.widgets.analyzer.DependencyNode getTarget(androidx.constraintlayout.core.widgets.ConstraintAnchor,int) -> getTarget
+ 298:301:long getWrapDimension() -> getWrapDimension
+ 59:74:boolean isCenterConnection() -> isCenterConnection
+ 55:55:boolean isDimensionResolved() -> isDimensionResolved
+ 304:304:boolean isResolved() -> isResolved
+ 172:222:void resolveDimension(int,int) -> resolveDimension
+ 232:232:void update(androidx.constraintlayout.core.widgets.analyzer.Dependency) -> update
+ 128:169:void updateRunCenter(androidx.constraintlayout.core.widgets.analyzer.Dependency,androidx.constraintlayout.core.widgets.ConstraintAnchor,androidx.constraintlayout.core.widgets.ConstraintAnchor,int) -> updateRunCenter
+ 230:230:void updateRunEnd(androidx.constraintlayout.core.widgets.analyzer.Dependency) -> updateRunEnd
+ 226:226:void updateRunStart(androidx.constraintlayout.core.widgets.analyzer.Dependency) -> updateRunStart
+ 78:91:long wrapSize(int) -> wrapSize
+androidx.constraintlayout.core.widgets.analyzer.WidgetRun$1 -> androidx.constraintlayout.core.widgets.analyzer.WidgetRun$1:
+ 101:101:void <clinit>() -> <clinit>
+androidx.constraintlayout.core.widgets.analyzer.WidgetRun$RunType -> androidx.constraintlayout.core.widgets.analyzer.WidgetRun$RunType:
+ 306:306:void <clinit>() -> <clinit>
+ 306:306:void <init>(java.lang.String,int) -> <init>
+ 306:306:androidx.constraintlayout.core.widgets.analyzer.WidgetRun$RunType valueOf(java.lang.String) -> valueOf
+ 306:306:androidx.constraintlayout.core.widgets.analyzer.WidgetRun$RunType[] values() -> values
+androidx.constraintlayout.helper.widget.Carousel -> androidx.constraintlayout.helper.widget.Carousel:
+ void $r8$lambda$NfsCQvYOy-dIR2JH7qqFadhs0gY(androidx.constraintlayout.helper.widget.Carousel) -> $r8$lambda$NfsCQvYOy-dIR2JH7qqFadhs0gY
+ # {"id":"com.android.tools.r8.synthesized"}
+ 42:266:void <init>(android.content.Context) -> <init>
+ 42:266:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 42:266:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 39:39:androidx.constraintlayout.motion.widget.MotionLayout access$000(androidx.constraintlayout.helper.widget.Carousel) -> access$000
+ 39:39:void access$100(androidx.constraintlayout.helper.widget.Carousel) -> access$100
+ 39:39:int access$200(androidx.constraintlayout.helper.widget.Carousel) -> access$200
+ 39:39:androidx.constraintlayout.helper.widget.Carousel$Adapter access$300(androidx.constraintlayout.helper.widget.Carousel) -> access$300
+ 39:39:int access$400(androidx.constraintlayout.helper.widget.Carousel) -> access$400
+ 39:39:float access$500(androidx.constraintlayout.helper.widget.Carousel) -> access$500
+ 39:39:float access$600(androidx.constraintlayout.helper.widget.Carousel) -> access$600
+ 39:39:int access$700(androidx.constraintlayout.helper.widget.Carousel) -> access$700
+ 242:246:void enableAllTransitions(boolean) -> enableAllTransitions
+ 249:263:boolean enableTransition(int,boolean) -> enableTransition
+ 146:149:int getCount() -> getCount
+ 158:158:int getCurrentIndex() -> getCurrentIndex
+ 105:134:void init(android.content.Context,android.util.AttributeSet) -> init
+ 184:186:void jumpToIndex(int) -> jumpToIndex
+ 423:429:void lambda$updateItems$0() -> lambda$updateItems$0
+ 296:324:void onAttachedToWindow() -> onAttachedToWindow
+ 207:208:void onTransitionChange(androidx.constraintlayout.motion.widget.MotionLayout,int,int,float) -> onTransitionChange
+ 214:239:void onTransitionCompleted(androidx.constraintlayout.motion.widget.MotionLayout,int) -> onTransitionCompleted
+ 189:200:void refresh() -> refresh
+ 137:138:void setAdapter(androidx.constraintlayout.helper.widget.Carousel$Adapter) -> setAdapter
+ 168:176:void transitionToIndex(int,int) -> transitionToIndex
+ 364:456:void updateItems() -> updateItems
+ 334:342:boolean updateViewVisibility(android.view.View,int) -> updateViewVisibility
+ 346:360:boolean updateViewVisibility(int,android.view.View,int) -> updateViewVisibility
+androidx.constraintlayout.helper.widget.Carousel$$ExternalSyntheticLambda0 -> androidx.constraintlayout.helper.widget.Carousel$$ExternalSyntheticLambda0:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ androidx.constraintlayout.helper.widget.Carousel androidx.constraintlayout.helper.widget.Carousel$$InternalSyntheticLambda$0$01d9f2ff7def5a376300402697d9567c98742ac37fcfded995bdf2b5506d0ab1$0.f$0 -> f$0
+ void androidx.constraintlayout.helper.widget.Carousel$$InternalSyntheticLambda$0$01d9f2ff7def5a376300402697d9567c98742ac37fcfded995bdf2b5506d0ab1$0.<init>(androidx.constraintlayout.helper.widget.Carousel) -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void androidx.constraintlayout.helper.widget.Carousel$$InternalSyntheticLambda$0$01d9f2ff7def5a376300402697d9567c98742ac37fcfded995bdf2b5506d0ab1$0.run() -> run
+ # {"id":"com.android.tools.r8.synthesized"}
+androidx.constraintlayout.helper.widget.Carousel$1 -> androidx.constraintlayout.helper.widget.Carousel$1:
+ 266:266:void <init>(androidx.constraintlayout.helper.widget.Carousel) -> <init>
+ 269:290:void run() -> run
+androidx.constraintlayout.helper.widget.Carousel$1$1 -> androidx.constraintlayout.helper.widget.Carousel$1$1:
+ 283:283:void <init>(androidx.constraintlayout.helper.widget.Carousel$1,float) -> <init>
+ 286:287:void run() -> run
+androidx.constraintlayout.helper.widget.CircularFlow -> androidx.constraintlayout.helper.widget.CircularFlow:
+ 67:68:void <clinit>() -> <clinit>
+ 111:112:void <init>(android.content.Context) -> <init>
+ 115:116:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 119:120:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 428:443:void addAngle(java.lang.String) -> addAngle
+ 449:465:void addRadius(java.lang.String) -> addRadius
+ 235:246:void addViewToCircularFlow(android.view.View,int,float) -> addViewToCircularFlow
+ 182:223:void anchorReferences() -> anchorReferences
+ 128:128:float[] getAngles() -> getAngles
+ 123:123:int[] getRadius() -> getRadius
+ 134:159:void init(android.util.AttributeSet) -> init
+ 492:496:boolean isUpdatable(android.view.View) -> isUpdatable
+ 163:179:void onAttachedToWindow() -> onAttachedToWindow
+ 362:368:float[] removeAngle(float[],int) -> removeAngle
+ 468:476:int[] removeElementFromArray(int[],int) -> removeElementFromArray
+ 480:488:float[] removeElementFromArray(float[],int) -> removeElementFromArray
+ 375:381:int[] removeRadius(int[],int) -> removeRadius
+ 337:355:int removeView(android.view.View) -> removeView
+ 388:402:void setAngles(java.lang.String) -> setAngles
+ 322:323:void setDefaultAngle(float) -> setDefaultAngle
+ 332:333:void setDefaultRadius(int) -> setDefaultRadius
+ 408:422:void setRadius(java.lang.String) -> setRadius
+ 277:288:void updateAngle(android.view.View,float) -> updateAngle
+ 256:267:void updateRadius(android.view.View,int) -> updateRadius
+ 299:313:void updateReference(android.view.View,int,float) -> updateReference
+androidx.constraintlayout.helper.widget.Flow -> androidx.constraintlayout.helper.widget.Flow:
+ 123:124:void <init>(android.content.Context) -> <init>
+ 127:128:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 131:132:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 198:268:void init(android.util.AttributeSet) -> init
+ 182:189:void loadParameters(androidx.constraintlayout.widget.ConstraintSet$Constraint,androidx.constraintlayout.core.widgets.HelperWidget,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,android.util.SparseArray) -> loadParameters
+ 148:149:void onMeasure(int,int) -> onMeasure
+ 160:170:void onMeasure(androidx.constraintlayout.core.widgets.VirtualLayout,int,int) -> onMeasure
+ 142:143:void resolveRtl(androidx.constraintlayout.core.widgets.ConstraintWidget,boolean) -> resolveRtl
+ 418:420:void setFirstHorizontalBias(float) -> setFirstHorizontalBias
+ 398:400:void setFirstHorizontalStyle(int) -> setFirstHorizontalStyle
+ 428:430:void setFirstVerticalBias(float) -> setFirstVerticalBias
+ 408:410:void setFirstVerticalStyle(int) -> setFirstVerticalStyle
+ 443:445:void setHorizontalAlign(int) -> setHorizontalAlign
+ 378:380:void setHorizontalBias(float) -> setHorizontalBias
+ 469:471:void setHorizontalGap(int) -> setHorizontalGap
+ 354:356:void setHorizontalStyle(int) -> setHorizontalStyle
+ 489:491:void setMaxElementsWrap(int) -> setMaxElementsWrap
+ 276:278:void setOrientation(int) -> setOrientation
+ 286:288:void setPadding(int) -> setPadding
+ 326:328:void setPaddingBottom(int) -> setPaddingBottom
+ 296:298:void setPaddingLeft(int) -> setPaddingLeft
+ 316:318:void setPaddingRight(int) -> setPaddingRight
+ 306:308:void setPaddingTop(int) -> setPaddingTop
+ 459:461:void setVerticalAlign(int) -> setVerticalAlign
+ 388:390:void setVerticalBias(float) -> setVerticalBias
+ 479:481:void setVerticalGap(int) -> setVerticalGap
+ 368:370:void setVerticalStyle(int) -> setVerticalStyle
+ 340:342:void setWrapMode(int) -> setWrapMode
+androidx.constraintlayout.helper.widget.Layer -> androidx.constraintlayout.helper.widget.Layer:
+ 21:44:void <init>(android.content.Context) -> <init>
+ 21:48:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 21:52:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 344:345:void applyLayoutFeaturesInConstraintSet(androidx.constraintlayout.widget.ConstraintLayout) -> applyLayoutFeaturesInConstraintSet
+ 254:300:void calcCenters() -> calcCenters
+ 59:74:void init(android.util.AttributeSet) -> init
+ 78:102:void onAttachedToWindow() -> onAttachedToWindow
+ 237:251:void reCacheViews() -> reCacheViews
+ 209:211:void setElevation(float) -> setElevation
+ 160:162:void setPivotX(float) -> setPivotX
+ 171:173:void setPivotY(float) -> setPivotY
+ 128:130:void setRotation(float) -> setRotation
+ 138:140:void setScaleX(float) -> setScaleX
+ 149:151:void setScaleY(float) -> setScaleY
+ 181:184:void setTranslationX(float) -> setTranslationX
+ 191:193:void setTranslationY(float) -> setTranslationY
+ 200:202:void setVisibility(int) -> setVisibility
+ 303:336:void transform() -> transform
+ 219:234:void updatePostLayout(androidx.constraintlayout.widget.ConstraintLayout) -> updatePostLayout
+ 110:119:void updatePreDraw(androidx.constraintlayout.widget.ConstraintLayout) -> updatePreDraw
+androidx.constraintlayout.helper.widget.MotionEffect -> androidx.constraintlayout.helper.widget.MotionEffect:
+ 60:73:void <init>(android.content.Context) -> <init>
+ 60:78:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 60:83:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 86:120:void init(android.content.Context,android.util.AttributeSet) -> init
+ 124:124:boolean isDecorator() -> isDecorator
+ 129:254:void onPreSetup(androidx.constraintlayout.motion.widget.MotionLayout,java.util.HashMap) -> onPreSetup
+androidx.constraintlayout.motion.utils.StopLogic -> androidx.constraintlayout.motion.utils.StopLogic:
+ 32:35:void <init>() -> <init>
+ 54:56:void config(float,float,float,float,float,float) -> config
+ 46:46:java.lang.String debug(java.lang.String,float) -> debug
+ 87:87:float getInterpolation(float) -> getInterpolation
+ 50:50:float getVelocity(float) -> getVelocity
+ 92:92:float getVelocity() -> getVelocity
+ 96:96:boolean isStopped() -> isStopped
+ 78:83:void springConfig(float,float,float,float,float,float,float,int) -> springConfig
+androidx.constraintlayout.motion.utils.ViewOscillator -> androidx.constraintlayout.motion.utils.ViewOscillator:
+ 36:36:void <init>() -> <init>
+ 42:75:androidx.constraintlayout.motion.utils.ViewOscillator makeSpline(java.lang.String) -> makeSpline
+androidx.constraintlayout.motion.utils.ViewOscillator$AlphaSet -> androidx.constraintlayout.motion.utils.ViewOscillator$AlphaSet:
+ 88:88:void <init>() -> <init>
+ 91:92:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$CustomSet -> androidx.constraintlayout.motion.utils.ViewOscillator$CustomSet:
+ 163:164:void <init>() -> <init>
+ 168:169:void setCustom(java.lang.Object) -> setCustom
+ 173:175:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$ElevationSet -> androidx.constraintlayout.motion.utils.ViewOscillator$ElevationSet:
+ 79:79:void <init>() -> <init>
+ 82:85:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$PathRotateSet -> androidx.constraintlayout.motion.utils.ViewOscillator$PathRotateSet:
+ 116:116:void <init>() -> <init>
+ 122:123:void setPathRotate(android.view.View,float,double,double) -> setPathRotate
+ 119:119:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$ProgressSet -> androidx.constraintlayout.motion.utils.ViewOscillator$ProgressSet:
+ 178:179:void <init>() -> <init>
+ 183:205:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$RotationSet -> androidx.constraintlayout.motion.utils.ViewOscillator$RotationSet:
+ 95:95:void <init>() -> <init>
+ 98:99:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$RotationXset -> androidx.constraintlayout.motion.utils.ViewOscillator$RotationXset:
+ 102:102:void <init>() -> <init>
+ 105:106:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$RotationYset -> androidx.constraintlayout.motion.utils.ViewOscillator$RotationYset:
+ 109:109:void <init>() -> <init>
+ 112:113:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$ScaleXset -> androidx.constraintlayout.motion.utils.ViewOscillator$ScaleXset:
+ 126:126:void <init>() -> <init>
+ 129:130:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$ScaleYset -> androidx.constraintlayout.motion.utils.ViewOscillator$ScaleYset:
+ 133:133:void <init>() -> <init>
+ 136:137:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$TranslationXset -> androidx.constraintlayout.motion.utils.ViewOscillator$TranslationXset:
+ 140:140:void <init>() -> <init>
+ 143:144:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$TranslationYset -> androidx.constraintlayout.motion.utils.ViewOscillator$TranslationYset:
+ 147:147:void <init>() -> <init>
+ 150:151:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewOscillator$TranslationZset -> androidx.constraintlayout.motion.utils.ViewOscillator$TranslationZset:
+ 154:154:void <init>() -> <init>
+ 157:160:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline -> androidx.constraintlayout.motion.utils.ViewSpline:
+ 32:32:void <init>() -> <init>
+ 38:38:androidx.constraintlayout.motion.utils.ViewSpline makeCustomSpline(java.lang.String,android.util.SparseArray) -> makeCustomSpline
+ 42:77:androidx.constraintlayout.motion.utils.ViewSpline makeSpline(java.lang.String) -> makeSpline
+androidx.constraintlayout.motion.utils.ViewSpline$AlphaSet -> androidx.constraintlayout.motion.utils.ViewSpline$AlphaSet:
+ 91:91:void <init>() -> <init>
+ 94:95:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$CustomSet -> androidx.constraintlayout.motion.utils.ViewSpline$CustomSet:
+ 185:188:void <init>(java.lang.String,android.util.SparseArray) -> <init>
+ 212:212:void setPoint(int,float) -> setPoint
+ 216:217:void setPoint(int,androidx.constraintlayout.widget.ConstraintAttribute) -> setPoint
+ 221:223:void setProperty(android.view.View,float) -> setProperty
+ 191:209:void setup(int) -> setup
+androidx.constraintlayout.motion.utils.ViewSpline$ElevationSet -> androidx.constraintlayout.motion.utils.ViewSpline$ElevationSet:
+ 82:82:void <init>() -> <init>
+ 85:88:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$PathRotate -> androidx.constraintlayout.motion.utils.ViewSpline$PathRotate:
+ 133:133:void <init>() -> <init>
+ 139:140:void setPathRotate(android.view.View,float,double,double) -> setPathRotate
+ 136:136:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$PivotXset -> androidx.constraintlayout.motion.utils.ViewSpline$PivotXset:
+ 119:119:void <init>() -> <init>
+ 122:123:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$PivotYset -> androidx.constraintlayout.motion.utils.ViewSpline$PivotYset:
+ 126:126:void <init>() -> <init>
+ 129:130:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$ProgressSet -> androidx.constraintlayout.motion.utils.ViewSpline$ProgressSet:
+ 226:227:void <init>() -> <init>
+ 231:254:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$RotationSet -> androidx.constraintlayout.motion.utils.ViewSpline$RotationSet:
+ 98:98:void <init>() -> <init>
+ 101:102:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$RotationXset -> androidx.constraintlayout.motion.utils.ViewSpline$RotationXset:
+ 105:105:void <init>() -> <init>
+ 108:109:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$RotationYset -> androidx.constraintlayout.motion.utils.ViewSpline$RotationYset:
+ 112:112:void <init>() -> <init>
+ 115:116:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$ScaleXset -> androidx.constraintlayout.motion.utils.ViewSpline$ScaleXset:
+ 143:143:void <init>() -> <init>
+ 146:147:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$ScaleYset -> androidx.constraintlayout.motion.utils.ViewSpline$ScaleYset:
+ 150:150:void <init>() -> <init>
+ 153:154:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$TranslationXset -> androidx.constraintlayout.motion.utils.ViewSpline$TranslationXset:
+ 157:157:void <init>() -> <init>
+ 160:161:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$TranslationYset -> androidx.constraintlayout.motion.utils.ViewSpline$TranslationYset:
+ 164:164:void <init>() -> <init>
+ 167:168:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewSpline$TranslationZset -> androidx.constraintlayout.motion.utils.ViewSpline$TranslationZset:
+ 171:171:void <init>() -> <init>
+ 174:177:void setProperty(android.view.View,float) -> setProperty
+androidx.constraintlayout.motion.utils.ViewState -> androidx.constraintlayout.motion.utils.ViewState:
+ 23:23:void <init>() -> <init>
+ 28:33:void getState(android.view.View) -> getState
+ 40:40:int height() -> height
+ 36:36:int width() -> width
+androidx.constraintlayout.motion.utils.ViewTimeCycle -> androidx.constraintlayout.motion.utils.ViewTimeCycle:
+ 38:38:void <init>() -> <init>
+ 44:65:float get(float,long,android.view.View,androidx.constraintlayout.core.motion.utils.KeyCache) -> get
+ 69:69:androidx.constraintlayout.motion.utils.ViewTimeCycle makeCustomSpline(java.lang.String,android.util.SparseArray) -> makeCustomSpline
+ 74:115:androidx.constraintlayout.motion.utils.ViewTimeCycle makeSpline(java.lang.String,long) -> makeSpline
+androidx.constraintlayout.motion.utils.ViewTimeCycle$AlphaSet -> androidx.constraintlayout.motion.utils.ViewTimeCycle$AlphaSet:
+ 128:128:void <init>() -> <init>
+ 131:132:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$CustomSet -> androidx.constraintlayout.motion.utils.ViewTimeCycle$CustomSet:
+ 217:224:void <init>(java.lang.String,android.util.SparseArray) -> <init>
+ 249:249:void setPoint(int,float,float,int,float) -> setPoint
+ 253:256:void setPoint(int,androidx.constraintlayout.widget.ConstraintAttribute,float,int,float) -> setPoint
+ 260:284:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+ 227:246:void setup(int) -> setup
+androidx.constraintlayout.motion.utils.ViewTimeCycle$ElevationSet -> androidx.constraintlayout.motion.utils.ViewTimeCycle$ElevationSet:
+ 118:118:void <init>() -> <init>
+ 121:124:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$PathRotate -> androidx.constraintlayout.motion.utils.ViewTimeCycle$PathRotate:
+ 160:160:void <init>() -> <init>
+ 167:168:boolean setPathRotate(android.view.View,androidx.constraintlayout.core.motion.utils.KeyCache,float,long,double,double) -> setPathRotate
+ 163:163:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$ProgressSet -> androidx.constraintlayout.motion.utils.ViewTimeCycle$ProgressSet:
+ 288:289:void <init>() -> <init>
+ 293:315:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$RotationSet -> androidx.constraintlayout.motion.utils.ViewTimeCycle$RotationSet:
+ 136:136:void <init>() -> <init>
+ 139:140:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$RotationXset -> androidx.constraintlayout.motion.utils.ViewTimeCycle$RotationXset:
+ 144:144:void <init>() -> <init>
+ 147:148:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$RotationYset -> androidx.constraintlayout.motion.utils.ViewTimeCycle$RotationYset:
+ 152:152:void <init>() -> <init>
+ 155:156:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$ScaleXset -> androidx.constraintlayout.motion.utils.ViewTimeCycle$ScaleXset:
+ 172:172:void <init>() -> <init>
+ 175:176:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$ScaleYset -> androidx.constraintlayout.motion.utils.ViewTimeCycle$ScaleYset:
+ 180:180:void <init>() -> <init>
+ 183:184:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$TranslationXset -> androidx.constraintlayout.motion.utils.ViewTimeCycle$TranslationXset:
+ 188:188:void <init>() -> <init>
+ 191:192:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$TranslationYset -> androidx.constraintlayout.motion.utils.ViewTimeCycle$TranslationYset:
+ 196:196:void <init>() -> <init>
+ 199:200:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.utils.ViewTimeCycle$TranslationZset -> androidx.constraintlayout.motion.utils.ViewTimeCycle$TranslationZset:
+ 204:204:void <init>() -> <init>
+ 207:210:boolean setProperty(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> setProperty
+androidx.constraintlayout.motion.widget.Debug -> androidx.constraintlayout.motion.widget.Debug:
+ 37:37:void <init>() -> <init>
+ 282:312:void dumpLayoutParams(android.view.ViewGroup,java.lang.String) -> dumpLayoutParams
+ 315:344:void dumpLayoutParams(android.view.ViewGroup$LayoutParams,java.lang.String) -> dumpLayoutParams
+ 95:128:void dumpPoc(java.lang.Object) -> dumpPoc
+ 226:239:java.lang.String getActionType(android.view.MotionEvent) -> getActionType
+ 277:278:java.lang.String getCallFrom(int) -> getCallFrom
+ 257:258:java.lang.String getLoc() -> getLoc
+ 248:249:java.lang.String getLocation() -> getLocation
+ 267:268:java.lang.String getLocation2() -> getLocation2
+ 87:90:java.lang.String getName(android.view.View) -> getName
+ 139:145:java.lang.String getName(android.content.Context,int) -> getName
+ 159:175:java.lang.String getName(android.content.Context,int[]) -> getName
+ 186:186:java.lang.String getState(androidx.constraintlayout.motion.widget.MotionLayout,int) -> getState
+ 198:216:java.lang.String getState(androidx.constraintlayout.motion.widget.MotionLayout,int,int) -> getState
+ 48:57:void logStack(java.lang.String,java.lang.String,int) -> logStack
+ 67:76:void printStack(java.lang.String,int) -> printStack
+androidx.constraintlayout.motion.widget.DesignTool -> androidx.constraintlayout.motion.widget.DesignTool:
+ 86:116:void <clinit>() -> <clinit>
+ 77:84:void <init>(androidx.constraintlayout.motion.widget.MotionLayout) -> <init>
+ 132:144:void Connect(int,androidx.constraintlayout.widget.ConstraintSet,android.view.View,java.util.HashMap,int,int) -> Connect
+ 119:128:int GetPxFromDp(int,java.lang.String) -> GetPxFromDp
+ 181:189:void SetAbsolutePositions(int,androidx.constraintlayout.widget.ConstraintSet,android.view.View,java.util.HashMap) -> SetAbsolutePositions
+ 147:159:void SetBias(androidx.constraintlayout.widget.ConstraintSet,android.view.View,java.util.HashMap,int) -> SetBias
+ 162:178:void SetDimensions(int,androidx.constraintlayout.widget.ConstraintSet,android.view.View,java.util.HashMap,int) -> SetDimensions
+ 567:612:int designAccess(int,java.lang.String,java.lang.Object,float[],int,float[],int) -> designAccess
+ 410:411:void disableAutoTransition(boolean) -> disableAutoTransition
+ 725:735:void dumpConstraintSet(java.lang.String) -> dumpConstraintSet
+ 241:253:int getAnimationKeyFrames(java.lang.Object,float[]) -> getAnimationKeyFrames
+ 199:209:int getAnimationPath(java.lang.Object,float[],int) -> getAnimationPath
+ 219:231:void getAnimationRectangles(java.lang.Object,float[]) -> getAnimationRectangles
+ 335:345:java.lang.String getEndState() -> getEndState
+ 447:451:int getKeyFrameInfo(java.lang.Object,int,int[]) -> getKeyFrameInfo
+ 462:471:float getKeyFramePosition(java.lang.Object,int,float,float) -> getKeyFramePosition
+ 432:436:int getKeyFramePositions(java.lang.Object,int[],float[]) -> getKeyFramePositions
+ 618:621:java.lang.Object getKeyframe(int,int,int) -> getKeyframe
+ 657:661:java.lang.Object getKeyframe(java.lang.Object,int,int) -> getKeyframe
+ 625:641:java.lang.Object getKeyframeAtLocation(java.lang.Object,float,float) -> getKeyframeAtLocation
+ 645:653:java.lang.Boolean getPositionKeyframe(java.lang.Object,java.lang.Object,float,float,java.lang.String[],float[]) -> getPositionKeyframe
+ 354:354:float getProgress() -> getProgress
+ 321:331:java.lang.String getStartState() -> getStartState
+ 363:372:java.lang.String getState() -> getState
+ 419:419:long getTransitionTimeMs() -> getTransitionTimeMs
+ 381:381:boolean isInTransition() -> isInTransition
+ 682:722:void setAttributes(int,java.lang.String,java.lang.Object,java.lang.Object) -> setAttributes
+ 485:492:void setKeyFrame(java.lang.Object,int,java.lang.String,java.lang.Object) -> setKeyFrame
+ 506:525:boolean setKeyFramePosition(java.lang.Object,int,int,float,float) -> setKeyFramePosition
+ 665:671:void setKeyframe(java.lang.Object,java.lang.String,java.lang.Object) -> setKeyframe
+ 276:318:void setState(java.lang.String) -> setState
+ 261:268:void setToolPosition(float) -> setToolPosition
+ 391:403:void setTransition(java.lang.String,java.lang.String) -> setTransition
+ 534:543:void setViewDebug(java.lang.Object,int) -> setViewDebug
+androidx.constraintlayout.motion.widget.Key -> androidx.constraintlayout.motion.widget.Key:
+ 36:36:void <clinit>() -> <clinit>
+ 35:39:void <init>() -> <init>
+ 35:35:java.lang.Object clone() -> clone
+ 138:143:androidx.constraintlayout.motion.widget.Key copy(androidx.constraintlayout.motion.widget.Key) -> copy
+ 168:168:int getFramePosition() -> getFramePosition
+ 73:74:boolean matches(java.lang.String) -> matches
+ 159:160:void setFramePosition(int) -> setFramePosition
+ 135:135:void setInterpolation(java.util.HashMap) -> setInterpolation
+ 149:150:androidx.constraintlayout.motion.widget.Key setViewId(int) -> setViewId
+ 125:125:boolean toBoolean(java.lang.Object) -> toBoolean
+ 103:103:float toFloat(java.lang.Object) -> toFloat
+ 114:114:int toInt(java.lang.Object) -> toInt
+androidx.constraintlayout.motion.widget.KeyAttributes -> androidx.constraintlayout.motion.widget.KeyAttributes:
+ 43:69:void <init>() -> <init>
+ 43:43:float access$000(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$000
+ 43:43:float access$002(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$002
+ 43:43:float access$100(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$100
+ 43:43:float access$1000(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$1000
+ 43:43:float access$1002(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$1002
+ 43:43:float access$102(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$102
+ 43:43:float access$1100(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$1100
+ 43:43:float access$1102(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$1102
+ 43:43:float access$1200(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$1200
+ 43:43:float access$1202(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$1202
+ 43:43:float access$1300(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$1300
+ 43:43:float access$1302(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$1302
+ 43:43:float access$1400(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$1400
+ 43:43:float access$1402(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$1402
+ 43:43:float access$1500(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$1500
+ 43:43:float access$1502(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$1502
+ 43:43:float access$200(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$200
+ 43:43:float access$202(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$202
+ 43:43:int access$300(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$300
+ 43:43:int access$302(androidx.constraintlayout.motion.widget.KeyAttributes,int) -> access$302
+ 43:43:float access$400(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$400
+ 43:43:float access$402(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$402
+ 43:43:float access$500(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$500
+ 43:43:float access$502(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$502
+ 43:43:float access$600(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$600
+ 43:43:float access$602(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$602
+ 43:43:float access$700(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$700
+ 43:43:float access$702(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$702
+ 43:43:float access$800(androidx.constraintlayout.motion.widget.KeyAttributes) -> access$800
+ 43:43:float access$802(androidx.constraintlayout.motion.widget.KeyAttributes,float) -> access$802
+ 43:43:java.lang.String access$902(androidx.constraintlayout.motion.widget.KeyAttributes,java.lang.String) -> access$902
+ 194:284:void addValues(java.util.HashMap) -> addValues
+ 43:43:java.lang.Object clone() -> clone
+ 489:489:androidx.constraintlayout.motion.widget.Key clone() -> clone
+ 467:485:androidx.constraintlayout.motion.widget.Key copy(androidx.constraintlayout.motion.widget.Key) -> copy
+ 89:136:void getAttributeNames(java.util.HashSet) -> getAttributeNames
+ 83:83:int getCurveFit() -> getCurveFit
+ 73:75:void load(android.content.Context,android.util.AttributeSet) -> load
+ 139:190:void setInterpolation(java.util.HashMap) -> setInterpolation
+ 288:341:void setValue(java.lang.String,java.lang.Object) -> setValue
+androidx.constraintlayout.motion.widget.KeyAttributes$Loader -> androidx.constraintlayout.motion.widget.KeyAttributes$Loader:
+ 363:384:void <clinit>() -> <clinit>
+ 343:343:void <init>() -> <init>
+ 387:463:void read(androidx.constraintlayout.motion.widget.KeyAttributes,android.content.res.TypedArray) -> read
+androidx.constraintlayout.motion.widget.KeyCycle -> androidx.constraintlayout.motion.widget.KeyCycle:
+ 42:82:void <init>() -> <init>
+ 42:42:float access$1000(androidx.constraintlayout.motion.widget.KeyCycle) -> access$1000
+ 42:42:float access$1002(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$1002
+ 42:42:java.lang.String access$102(androidx.constraintlayout.motion.widget.KeyCycle,java.lang.String) -> access$102
+ 42:42:float access$1100(androidx.constraintlayout.motion.widget.KeyCycle) -> access$1100
+ 42:42:float access$1102(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$1102
+ 42:42:float access$1200(androidx.constraintlayout.motion.widget.KeyCycle) -> access$1200
+ 42:42:float access$1202(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$1202
+ 42:42:float access$1300(androidx.constraintlayout.motion.widget.KeyCycle) -> access$1300
+ 42:42:float access$1302(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$1302
+ 42:42:float access$1400(androidx.constraintlayout.motion.widget.KeyCycle) -> access$1400
+ 42:42:float access$1402(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$1402
+ 42:42:float access$1500(androidx.constraintlayout.motion.widget.KeyCycle) -> access$1500
+ 42:42:float access$1502(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$1502
+ 42:42:float access$1600(androidx.constraintlayout.motion.widget.KeyCycle) -> access$1600
+ 42:42:float access$1602(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$1602
+ 42:42:float access$1700(androidx.constraintlayout.motion.widget.KeyCycle) -> access$1700
+ 42:42:float access$1702(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$1702
+ 42:42:float access$1800(androidx.constraintlayout.motion.widget.KeyCycle) -> access$1800
+ 42:42:float access$1802(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$1802
+ 42:42:float access$1900(androidx.constraintlayout.motion.widget.KeyCycle) -> access$1900
+ 42:42:float access$1902(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$1902
+ 42:42:int access$200(androidx.constraintlayout.motion.widget.KeyCycle) -> access$200
+ 42:42:float access$2000(androidx.constraintlayout.motion.widget.KeyCycle) -> access$2000
+ 42:42:float access$2002(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$2002
+ 42:42:int access$202(androidx.constraintlayout.motion.widget.KeyCycle,int) -> access$202
+ 42:42:java.lang.String access$302(androidx.constraintlayout.motion.widget.KeyCycle,java.lang.String) -> access$302
+ 42:42:int access$400(androidx.constraintlayout.motion.widget.KeyCycle) -> access$400
+ 42:42:int access$402(androidx.constraintlayout.motion.widget.KeyCycle,int) -> access$402
+ 42:42:float access$500(androidx.constraintlayout.motion.widget.KeyCycle) -> access$500
+ 42:42:float access$502(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$502
+ 42:42:float access$600(androidx.constraintlayout.motion.widget.KeyCycle) -> access$600
+ 42:42:float access$602(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$602
+ 42:42:int access$700(androidx.constraintlayout.motion.widget.KeyCycle) -> access$700
+ 42:42:int access$702(androidx.constraintlayout.motion.widget.KeyCycle,int) -> access$702
+ 42:42:float access$800(androidx.constraintlayout.motion.widget.KeyCycle) -> access$800
+ 42:42:float access$802(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$802
+ 42:42:float access$900(androidx.constraintlayout.motion.widget.KeyCycle) -> access$900
+ 42:42:float access$902(androidx.constraintlayout.motion.widget.KeyCycle,float) -> access$902
+ 132:160:void addCycleValues(java.util.HashMap) -> addCycleValues
+ 202:257:void addValues(java.util.HashMap) -> addValues
+ 42:42:java.lang.Object clone() -> clone
+ 498:498:androidx.constraintlayout.motion.widget.Key clone() -> clone
+ 472:494:androidx.constraintlayout.motion.widget.Key copy(androidx.constraintlayout.motion.widget.Key) -> copy
+ 91:129:void getAttributeNames(java.util.HashSet) -> getAttributeNames
+ 163:196:float getValue(java.lang.String) -> getValue
+ 85:87:void load(android.content.Context,android.util.AttributeSet) -> load
+ 408:469:void setValue(java.lang.String,java.lang.Object) -> setValue
+androidx.constraintlayout.motion.widget.KeyCycle$Loader -> androidx.constraintlayout.motion.widget.KeyCycle$Loader:
+ 281:305:void <clinit>() -> <clinit>
+ 259:259:void <init>() -> <init>
+ 259:259:void access$000(androidx.constraintlayout.motion.widget.KeyCycle,android.content.res.TypedArray) -> access$000
+ 308:403:void read(androidx.constraintlayout.motion.widget.KeyCycle,android.content.res.TypedArray) -> read
+androidx.constraintlayout.motion.widget.KeyFrames -> androidx.constraintlayout.motion.widget.KeyFrames:
+ 45:59:void <clinit>() -> <clinit>
+ 44:72:void <init>() -> <init>
+ 44:123:void <init>(android.content.Context,org.xmlpull.v1.XmlPullParser) -> <init>
+ 130:134:void addAllFrames(androidx.constraintlayout.motion.widget.MotionController) -> addAllFrames
+ 137:153:void addFrames(androidx.constraintlayout.motion.widget.MotionController) -> addFrames
+ 62:69:void addKey(androidx.constraintlayout.motion.widget.Key) -> addKey
+ 164:164:java.util.ArrayList getKeyFramesForView(int) -> getKeyFramesForView
+ 160:160:java.util.Set getKeys() -> getKeys
+ 156:156:java.lang.String name(int,android.content.Context) -> name
+androidx.constraintlayout.motion.widget.KeyPosition -> androidx.constraintlayout.motion.widget.KeyPosition:
+ 42:72:void <init>() -> <init>
+ 82:82:void addValues(java.util.HashMap) -> addValues
+ 125:133:void calcCartesianPosition(float,float,float,float) -> calcCartesianPosition
+ 115:121:void calcPathPosition(float,float,float,float) -> calcPathPosition
+ 90:101:void calcPosition(int,int,float,float,float,float) -> calcPosition
+ 107:111:void calcScreenPosition(int,int) -> calcScreenPosition
+ 42:42:java.lang.Object clone() -> clone
+ 399:399:androidx.constraintlayout.motion.widget.Key clone() -> clone
+ 382:395:androidx.constraintlayout.motion.widget.Key copy(androidx.constraintlayout.motion.widget.Key) -> copy
+ 137:137:float getPositionX() -> getPositionX
+ 142:142:float getPositionY() -> getPositionY
+ 247:252:boolean intersects(int,int,android.graphics.RectF,android.graphics.RectF,float,float) -> intersects
+ 76:78:void load(android.content.Context,android.util.AttributeSet) -> load
+ 147:158:void positionAttributes(android.view.View,android.graphics.RectF,android.graphics.RectF,float,float,java.lang.String[],float[]) -> positionAttributes
+ 223:243:void positionCartAttributes(android.graphics.RectF,android.graphics.RectF,float,float,java.lang.String[],float[]) -> positionCartAttributes
+ 164:193:void positionPathAttributes(android.graphics.RectF,android.graphics.RectF,float,float,java.lang.String[],float[]) -> positionPathAttributes
+ 196:220:void positionScreenAttributes(android.view.View,android.graphics.RectF,android.graphics.RectF,float,float,java.lang.String[],float[]) -> positionScreenAttributes
+ 85:86:void setType(int) -> setType
+ 356:379:void setValue(java.lang.String,java.lang.Object) -> setValue
+androidx.constraintlayout.motion.widget.KeyPosition$Loader -> androidx.constraintlayout.motion.widget.KeyPosition$Loader:
+ 269:284:void <clinit>() -> <clinit>
+ 255:255:void <init>() -> <init>
+ 255:255:void access$000(androidx.constraintlayout.motion.widget.KeyPosition,android.content.res.TypedArray) -> access$000
+ 287:351:void read(androidx.constraintlayout.motion.widget.KeyPosition,android.content.res.TypedArray) -> read
+androidx.constraintlayout.motion.widget.KeyPositionBase -> androidx.constraintlayout.motion.widget.KeyPositionBase:
+ 29:31:void <init>() -> <init>
+ 61:61:void getAttributeNames(java.util.HashSet) -> getAttributeNames
+androidx.constraintlayout.motion.widget.KeyTimeCycle -> androidx.constraintlayout.motion.widget.KeyTimeCycle:
+ 42:79:void <init>() -> <init>
+ 42:42:float access$000(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$000
+ 42:42:float access$002(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$002
+ 42:42:float access$100(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$100
+ 42:42:float access$1000(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$1000
+ 42:42:float access$1002(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$1002
+ 42:42:float access$102(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$102
+ 42:42:java.lang.String access$1102(androidx.constraintlayout.motion.widget.KeyTimeCycle,java.lang.String) -> access$1102
+ 42:42:float access$1200(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$1200
+ 42:42:float access$1202(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$1202
+ 42:42:float access$1300(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$1300
+ 42:42:float access$1302(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$1302
+ 42:42:float access$1400(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$1400
+ 42:42:float access$1402(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$1402
+ 42:42:float access$1500(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$1500
+ 42:42:float access$1502(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$1502
+ 42:42:float access$1600(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$1600
+ 42:42:float access$1602(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$1602
+ 42:42:float access$1700(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$1700
+ 42:42:float access$1702(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$1702
+ 42:42:float access$200(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$200
+ 42:42:float access$202(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$202
+ 42:42:int access$300(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$300
+ 42:42:int access$302(androidx.constraintlayout.motion.widget.KeyTimeCycle,int) -> access$302
+ 42:42:java.lang.String access$402(androidx.constraintlayout.motion.widget.KeyTimeCycle,java.lang.String) -> access$402
+ 42:42:int access$500(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$500
+ 42:42:int access$502(androidx.constraintlayout.motion.widget.KeyTimeCycle,int) -> access$502
+ 42:42:float access$600(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$600
+ 42:42:float access$602(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$602
+ 42:42:float access$700(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$700
+ 42:42:float access$702(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$702
+ 42:42:float access$800(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$800
+ 42:42:float access$802(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$802
+ 42:42:float access$900(androidx.constraintlayout.motion.widget.KeyTimeCycle) -> access$900
+ 42:42:float access$902(androidx.constraintlayout.motion.widget.KeyTimeCycle,float) -> access$902
+ 190:268:void addTimeValues(java.util.HashMap) -> addTimeValues
+ 186:186:void addValues(java.util.HashMap) -> addValues
+ 42:42:java.lang.Object clone() -> clone
+ 494:494:androidx.constraintlayout.motion.widget.Key clone() -> clone
+ 471:490:androidx.constraintlayout.motion.widget.Key copy(androidx.constraintlayout.motion.widget.Key) -> copy
+ 93:134:void getAttributeNames(java.util.HashSet) -> getAttributeNames
+ 83:85:void load(android.content.Context,android.util.AttributeSet) -> load
+ 137:181:void setInterpolation(java.util.HashMap) -> setInterpolation
+ 272:331:void setValue(java.lang.String,java.lang.Object) -> setValue
+androidx.constraintlayout.motion.widget.KeyTimeCycle$Loader -> androidx.constraintlayout.motion.widget.KeyTimeCycle$Loader:
+ 353:375:void <clinit>() -> <clinit>
+ 333:333:void <init>() -> <init>
+ 378:467:void read(androidx.constraintlayout.motion.widget.KeyTimeCycle,android.content.res.TypedArray) -> read
+androidx.constraintlayout.motion.widget.KeyTrigger -> androidx.constraintlayout.motion.widget.KeyTrigger:
+ 46:89:void <init>() -> <init>
+ 46:46:float access$002(androidx.constraintlayout.motion.widget.KeyTrigger,float) -> access$002
+ 46:46:java.lang.String access$102(androidx.constraintlayout.motion.widget.KeyTrigger,java.lang.String) -> access$102
+ 46:46:java.lang.String access$202(androidx.constraintlayout.motion.widget.KeyTrigger,java.lang.String) -> access$202
+ 46:46:java.lang.String access$302(androidx.constraintlayout.motion.widget.KeyTrigger,java.lang.String) -> access$302
+ 46:46:int access$400(androidx.constraintlayout.motion.widget.KeyTrigger) -> access$400
+ 46:46:int access$402(androidx.constraintlayout.motion.widget.KeyTrigger,int) -> access$402
+ 46:46:int access$500(androidx.constraintlayout.motion.widget.KeyTrigger) -> access$500
+ 46:46:int access$502(androidx.constraintlayout.motion.widget.KeyTrigger,int) -> access$502
+ 46:46:boolean access$600(androidx.constraintlayout.motion.widget.KeyTrigger) -> access$600
+ 46:46:boolean access$602(androidx.constraintlayout.motion.widget.KeyTrigger,boolean) -> access$602
+ 46:46:int access$700(androidx.constraintlayout.motion.widget.KeyTrigger) -> access$700
+ 46:46:int access$702(androidx.constraintlayout.motion.widget.KeyTrigger,int) -> access$702
+ 112:112:void addValues(java.util.HashMap) -> addValues
+ 46:46:java.lang.Object clone() -> clone
+ 454:454:androidx.constraintlayout.motion.widget.Key clone() -> clone
+ 168:280:void conditionallyFire(float,android.view.View) -> conditionallyFire
+ 430:450:androidx.constraintlayout.motion.widget.Key copy(androidx.constraintlayout.motion.widget.Key) -> copy
+ 283:314:void fire(java.lang.String,android.view.View) -> fire
+ 317:330:void fireCustom(java.lang.String,android.view.View) -> fireCustom
+ 108:108:void getAttributeNames(java.util.HashSet) -> getAttributeNames
+ 103:103:int getCurveFit() -> getCurveFit
+ 93:95:void load(android.content.Context,android.util.AttributeSet) -> load
+ 158:165:void setUpRect(android.graphics.RectF,android.view.View,boolean) -> setUpRect
+ 116:155:void setValue(java.lang.String,java.lang.Object) -> setValue
+androidx.constraintlayout.motion.widget.KeyTrigger$Loader -> androidx.constraintlayout.motion.widget.KeyTrigger$Loader:
+ 347:363:void <clinit>() -> <clinit>
+ 332:332:void <init>() -> <init>
+ 366:426:void read(androidx.constraintlayout.motion.widget.KeyTrigger,android.content.res.TypedArray,android.content.Context) -> read
+androidx.constraintlayout.motion.widget.MotionConstrainedPoint -> androidx.constraintlayout.motion.widget.MotionConstrainedPoint:
+ 71:71:void <clinit>() -> <clinit>
+ 43:155:void <init>() -> <init>
+ 259:328:void addValues(java.util.HashMap,int) -> addValues
+ 206:224:void applyParameters(android.view.View) -> applyParameters
+ 227:256:void applyParameters(androidx.constraintlayout.widget.ConstraintSet$Constraint) -> applyParameters
+ 39:39:int compareTo(java.lang.Object) -> compareTo
+ 201:201:int compareTo(androidx.constraintlayout.motion.widget.MotionConstrainedPoint) -> compareTo
+ 81:84:boolean diff(float,float) -> diff
+ 94:142:void different(androidx.constraintlayout.motion.widget.MotionConstrainedPoint,java.util.HashSet) -> different
+ 145:152:void different(androidx.constraintlayout.motion.widget.MotionConstrainedPoint,boolean[],java.lang.String[]) -> different
+ 158:166:void fillStandard(double[],int[]) -> fillStandard
+ 177:188:int getCustomData(java.lang.String,double[],int) -> getCustomData
+ 173:173:int getCustomDataCount(java.lang.String) -> getCustomDataCount
+ 169:169:boolean hasCustomData(java.lang.String) -> hasCustomData
+ 193:197:void setBounds(float,float,float,float) -> setBounds
+ 332:334:void setState(android.view.View) -> setState
+ 342:355:void setState(android.graphics.Rect,android.view.View,int,float) -> setState
+ 365:378:void setState(android.graphics.Rect,androidx.constraintlayout.widget.ConstraintSet,int,int) -> setState
+androidx.constraintlayout.motion.widget.MotionController -> androidx.constraintlayout.motion.widget.MotionController:
+ 82:152:void <init>(android.view.View) -> <init>
+ 610:614:void addKey(androidx.constraintlayout.motion.widget.Key) -> addKey
+ 601:607:void addKeys(java.util.ArrayList) -> addKeys
+ 359:413:void buildBounds(float[],int) -> buildBounds
+ 506:523:int buildKeyBounds(float[],int[]) -> buildKeyBounds
+ 485:502:int buildKeyFrames(float[],int[]) -> buildKeyFrames
+ 272:337:void buildPath(float[],int) -> buildPath
+ 541:544:void buildRect(float,float[],int) -> buildRect
+ 547:554:void buildRectangles(float[],int) -> buildRectangles
+ 1212:1218:void endTrigger(boolean) -> endTrigger
+ 1166:1208:float getAdjustedPosition(float,float[]) -> getAdjustedPosition
+ 236:236:int getAnimateRelativeTo() -> getAnimateRelativeTo
+ 529:537:int getAttributeValues(java.lang.String,float[],int) -> getAttributeValues
+ 253:260:void getCenter(double,float[],float[]) -> getCenter
+ 245:245:float getCenterX() -> getCenterX
+ 249:249:float getCenterY() -> getCenterY
+ 1384:1414:void getDpDt(float,float,float,float[]) -> getDpDt
+ 1497:1502:int getDrawPath() -> getDrawPath
+ 225:225:float getFinalHeight() -> getFinalHeight
+ 216:216:float getFinalWidth() -> getFinalWidth
+ 179:179:float getFinalX() -> getFinalX
+ 189:189:float getFinalY() -> getFinalY
+ 1106:1130:android.view.animation.Interpolator getInterpolator(android.content.Context,int,java.lang.String,int) -> getInterpolator
+ 147:147:androidx.constraintlayout.motion.widget.MotionPaths getKeyFrame(int) -> getKeyFrame
+ 1565:1596:int getKeyFrameInfo(int,int[]) -> getKeyFrameInfo
+ 558:589:float getKeyFrameParameter(int,float,float) -> getKeyFrameParameter
+ 1536:1546:int getKeyFramePositions(int[],float[]) -> getKeyFramePositions
+ 340:346:double[] getPos(double) -> getPos
+ 464:481:androidx.constraintlayout.motion.widget.KeyPositionBase getPositionKeyframe(int,int,float,float) -> getPositionKeyframe
+ 1431:1493:void getPostLayoutDvDp(float,int,int,float,float,float[]) -> getPostLayoutDvDp
+ 416:460:float getPreCycleDistance() -> getPreCycleDistance
+ 207:207:float getStartHeight() -> getStartHeight
+ 198:198:float getStartWidth() -> getStartWidth
+ 160:160:float getStartX() -> getStartX
+ 170:170:float getStartY() -> getStartY
+ 133:133:int getTransformPivotTarget() -> getTransformPivotTarget
+ 996:996:android.view.View getView() -> getView
+ 593:598:void insertKey(androidx.constraintlayout.motion.widget.MotionPaths) -> insertKey
+ 1230:1371:boolean interpolate(android.view.View,float,long,androidx.constraintlayout.core.motion.utils.KeyCache) -> interpolate
+ 1510:1511:java.lang.String name() -> name
+ 1515:1526:void positionKeyframe(android.view.View,androidx.constraintlayout.motion.widget.KeyPositionBase,float,float,java.lang.String[],float[]) -> positionKeyframe
+ 983:984:void readView(androidx.constraintlayout.motion.widget.MotionPaths) -> readView
+ 1035:1070:void rotate(android.graphics.Rect,android.graphics.Rect,int,int,int) -> rotate
+ 1148:1155:void setBothStates(android.view.View) -> setBothStates
+ 1506:1507:void setDrawPath(int) -> setDrawPath
+ 1134:1145:void setEndState(android.graphics.Rect,androidx.constraintlayout.widget.ConstraintSet,int,int) -> setEndState
+ 617:618:void setPathMotionArc(int) -> setPathMotionArc
+ 1000:1004:void setStartCurrentState(android.view.View) -> setStartCurrentState
+ 1007:1031:void setStartState(androidx.constraintlayout.motion.utils.ViewState,android.view.View,int,int,int) -> setStartState
+ 1073:1093:void setStartState(android.graphics.Rect,androidx.constraintlayout.widget.ConstraintSet,int,int) -> setStartState
+ 142:144:void setTransformPivotTarget(int) -> setTransformPivotTarget
+ 987:993:void setView(android.view.View) -> setView
+ 625:970:void setup(int,int,float,long) -> setup
+ 240:242:void setupRelative(androidx.constraintlayout.motion.widget.MotionController) -> setupRelative
+ 978:978:java.lang.String toString() -> toString
+androidx.constraintlayout.motion.widget.MotionController$1 -> androidx.constraintlayout.motion.widget.MotionController$1:
+ 1109:1109:void <init>(androidx.constraintlayout.core.motion.utils.Easing) -> <init>
+ 1112:1112:float getInterpolation(float) -> getInterpolation
+androidx.constraintlayout.motion.widget.MotionHelper -> androidx.constraintlayout.motion.widget.MotionHelper:
+ 21:28:void <init>(android.content.Context) -> <init>
+ 21:33:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 21:38:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 82:82:float getProgress() -> getProgress
+ 44:58:void init(android.util.AttributeSet) -> init
+ 138:138:boolean isDecorator() -> isDecorator
+ 77:77:boolean isUseOnHide() -> isUseOnHide
+ 67:67:boolean isUsedOnShow() -> isUsedOnShow
+ 148:148:void onFinishedMotionScene(androidx.constraintlayout.motion.widget.MotionLayout) -> onFinishedMotionScene
+ 153:153:void onPostDraw(android.graphics.Canvas) -> onPostDraw
+ 144:144:void onPreDraw(android.graphics.Canvas) -> onPreDraw
+ 158:158:void onPreSetup(androidx.constraintlayout.motion.widget.MotionLayout,java.util.HashMap) -> onPreSetup
+ 125:125:void onTransitionChange(androidx.constraintlayout.motion.widget.MotionLayout,int,int,float) -> onTransitionChange
+ 129:129:void onTransitionCompleted(androidx.constraintlayout.motion.widget.MotionLayout,int) -> onTransitionCompleted
+ 121:121:void onTransitionStarted(androidx.constraintlayout.motion.widget.MotionLayout,int,int) -> onTransitionStarted
+ 134:134:void onTransitionTrigger(androidx.constraintlayout.motion.widget.MotionLayout,int,boolean,float) -> onTransitionTrigger
+ 87:107:void setProgress(float) -> setProgress
+ 117:117:void setProgress(android.view.View,float) -> setProgress
+androidx.constraintlayout.motion.widget.MotionInterpolator -> androidx.constraintlayout.motion.widget.MotionInterpolator:
+ 21:21:void <init>() -> <init>
+androidx.constraintlayout.motion.widget.MotionLayout -> androidx.constraintlayout.motion.widget.MotionLayout:
+ 1012:4398:void <init>(android.content.Context) -> <init>
+ 1012:4398:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1012:4398:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 993:993:androidx.constraintlayout.motion.widget.MotionLayout$StateCache access$000(androidx.constraintlayout.motion.widget.MotionLayout) -> access$000
+ 993:993:int access$100(androidx.constraintlayout.motion.widget.MotionLayout) -> access$100
+ 993:993:void access$1000(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int) -> access$1000
+ 993:993:void access$1100(androidx.constraintlayout.motion.widget.MotionLayout,boolean,android.view.View,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,android.util.SparseArray) -> access$1100
+ 993:993:int access$1200(androidx.constraintlayout.motion.widget.MotionLayout) -> access$1200
+ 993:993:int access$1300(androidx.constraintlayout.motion.widget.MotionLayout) -> access$1300
+ 993:993:void access$1400(androidx.constraintlayout.motion.widget.MotionLayout) -> access$1400
+ 993:993:void access$1500(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int) -> access$1500
+ 993:993:void access$1600(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int) -> access$1600
+ 993:993:void access$1700(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int) -> access$1700
+ 993:993:void access$1800(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int) -> access$1800
+ 993:993:void access$1900(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int) -> access$1900
+ 993:993:int access$200(androidx.constraintlayout.motion.widget.MotionLayout) -> access$200
+ 993:993:void access$2000(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int) -> access$2000
+ 993:993:void access$2100(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int) -> access$2100
+ 993:993:void access$2200(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int) -> access$2200
+ 993:993:void access$2300(androidx.constraintlayout.motion.widget.MotionLayout,int,int,int,int,boolean,boolean) -> access$2300
+ 993:993:android.graphics.Rect access$2400(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.core.widgets.ConstraintWidget) -> access$2400
+ 993:993:int access$2500(androidx.constraintlayout.motion.widget.MotionLayout) -> access$2500
+ 993:993:int access$2600(androidx.constraintlayout.motion.widget.MotionLayout) -> access$2600
+ 993:993:boolean access$300(androidx.constraintlayout.motion.widget.MotionLayout) -> access$300
+ 993:993:boolean access$302(androidx.constraintlayout.motion.widget.MotionLayout,boolean) -> access$302
+ 993:993:androidx.constraintlayout.core.widgets.ConstraintWidgetContainer access$400(androidx.constraintlayout.motion.widget.MotionLayout) -> access$400
+ 993:993:androidx.constraintlayout.core.widgets.ConstraintWidgetContainer access$500(androidx.constraintlayout.motion.widget.MotionLayout) -> access$500
+ 993:993:androidx.constraintlayout.core.widgets.ConstraintWidgetContainer access$600(androidx.constraintlayout.motion.widget.MotionLayout) -> access$600
+ 993:993:androidx.constraintlayout.core.widgets.ConstraintWidgetContainer access$700(androidx.constraintlayout.motion.widget.MotionLayout) -> access$700
+ 993:993:boolean access$800(androidx.constraintlayout.motion.widget.MotionLayout) -> access$800
+ 993:993:boolean access$900(androidx.constraintlayout.motion.widget.MotionLayout) -> access$900
+ 4283:4287:void addTransitionListener(androidx.constraintlayout.motion.widget.MotionLayout$TransitionListener) -> addTransitionListener
+ 2080:2109:void animateTo(float) -> animateTo
+ 4843:4846:boolean applyViewTransition(int,androidx.constraintlayout.motion.widget.MotionController) -> applyViewTransition
+ 3996:4020:boolean callTransformedTouchEvent(android.view.View,android.view.MotionEvent,float,float) -> callTransformedTouchEvent
+ 3887:3924:void checkStructure() -> checkStructure
+ 3927:3955:void checkStructure(int,androidx.constraintlayout.widget.ConstraintSet) -> checkStructure
+ 3962:3965:void checkStructure(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> checkStructure
+ 4562:4568:androidx.constraintlayout.widget.ConstraintSet cloneConstraintSet(int) -> cloneConstraintSet
+ 2112:2121:void computeCurrentPositions() -> computeCurrentPositions
+ 3444:3451:void debugPos() -> debugPos
+ 4755:4759:void disableAutoTransition(boolean) -> disableAutoTransition
+ 3463:3523:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 1149:1165:void enableTransition(int,boolean) -> enableTransition
+ 4816:4819:void enableViewTransition(int,boolean) -> enableViewTransition
+ 3577:3585:void endTrigger(boolean) -> endTrigger
+ 3589:3780:void evaluate(boolean) -> evaluate
+ 3529:3574:void evaluateLayout() -> evaluateLayout
+ 4370:4396:void fireTransitionChange() -> fireTransitionChange
+ 4404:4426:void fireTransitionCompleted() -> fireTransitionCompleted
+ 4784:4792:void fireTransitionStarted(androidx.constraintlayout.motion.widget.MotionLayout,int,int) -> fireTransitionStarted
+ 4359:4367:void fireTrigger(int,boolean,float) -> fireTrigger
+ 4231:4252:void getAnchorDpDt(int,float,float,float,float[]) -> getAnchorDpDt
+ 4547:4550:androidx.constraintlayout.widget.ConstraintSet getConstraintSet(int) -> getConstraintSet
+ 4530:4533:int[] getConstraintSetIds() -> getConstraintSetIds
+ 4743:4746:java.lang.String getConstraintSetNames(int) -> getConstraintSetNames
+ 4204:4204:int getCurrentState() -> getCurrentState
+ 3987:3989:void getDebugMode(boolean) -> getDebugMode
+ 4664:4667:java.util.ArrayList getDefinedTransitions() -> getDefinedTransitions
+ 4450:4453:androidx.constraintlayout.motion.widget.DesignTool getDesignTool() -> getDesignTool
+ 4686:4686:int getEndState() -> getEndState
+ 1102:1102:androidx.constraintlayout.motion.widget.MotionController getMotionController(int) -> getMotionController
+ 1136:1136:long getNanoTime() -> getNanoTime
+ 4213:4213:float getProgress() -> getProgress
+ 4677:4677:int getStartState() -> getStartState
+ 4696:4696:float getTargetPosition() -> getTargetPosition
+ 4719:4719:androidx.constraintlayout.motion.widget.MotionScene$Transition getTransition(int) -> getTransition
+ 1687:1691:android.os.Bundle getTransitionState() -> getTransitionState
+ 4260:4263:long getTransitionTimeMs() -> getTransitionTimeMs
+ 2446:2446:float getVelocity() -> getVelocity
+ 2459:2489:void getViewVelocity(android.view.View,float,float,float[],int) -> getViewVelocity
+ 4033:4056:boolean handlesTouchEvent(float,float,android.view.View,android.view.MotionEvent) -> handlesTouchEvent
+ 3825:3875:void init(android.util.AttributeSet) -> init
+ 1529:1530:boolean isAttachedToWindow() -> isAttachedToWindow
+ 4854:4854:boolean isDelayedApplicationOfInitialState() -> isDelayedApplicationOfInitialState
+ 2244:2244:boolean isInRotation() -> isInRotation
+ 4780:4780:boolean isInteractionEnabled() -> isInteractionEnabled
+ 4828:4831:boolean isViewTransitionEnabled(int) -> isViewTransitionEnabled
+ 2257:2267:void jumpToState(int) -> jumpToState
+ 1459:1522:void loadLayoutDescription(int) -> loadLayoutDescription
+ 4730:4733:int lookUpConstraintId(java.lang.String) -> lookUpConstraintId
+ 1145:1145:androidx.constraintlayout.motion.widget.MotionLayout$MotionTracker obtainVelocityTracker() -> obtainVelocityTracker
+ 4128:4169:void onAttachedToWindow() -> onAttachedToWindow
+ 4067:4104:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 3786:3812:void onLayout(boolean,int,int,int,int) -> onLayout
+ 2909:2957:void onMeasure(int,int) -> onMeasure
+ 3100:3100:boolean onNestedFling(android.view.View,float,float,boolean) -> onNestedFling
+ 3095:3095:boolean onNestedPreFling(android.view.View,float,float) -> onNestedPreFling
+ 3016:3091:void onNestedPreScroll(android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 2999:3004:void onNestedScroll(android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 3011:3011:void onNestedScroll(android.view.View,int,int,int,int,int) -> onNestedScroll
+ 2978:2982:void onNestedScrollAccepted(android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 4183:4196:void onNewStateAttachHandlers() -> onNewStateAttachHandlers
+ 4173:4176:void onRtlPropertiesChanged(int) -> onRtlPropertiesChanged
+ 2964:2970:boolean onStartNestedScroll(android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 2991:2995:void onStopNestedScroll(android.view.View,int) -> onStopNestedScroll
+ 4112:4123:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 4461:4488:void onViewAdded(android.view.View) -> onViewAdded
+ 4495:4502:void onViewRemoved(android.view.View) -> onViewRemoved
+ 3821:3822:void parseLayoutDescription(int) -> parseLayoutDescription
+ 4429:4444:void processTransitionCompleted() -> processTransitionCompleted
+ 4578:4580:void rebuildMotion() -> rebuildMotion
+ 4586:4588:void rebuildScene() -> rebuildScene
+ 4297:4300:boolean removeTransitionListener(androidx.constraintlayout.motion.widget.MotionLayout$TransitionListener) -> removeTransitionListener
+ 2887:2895:void requestLayout() -> requestLayout
+ 2204:2241:void rotateTo(int,int) -> rotateTo
+ 4635:4646:void scheduleTransitionTo(int) -> scheduleTransitionTo
+ 3974:3976:void setDebugMode(int) -> setDebugMode
+ 4862:4863:void setDelayedApplicationOfInitialState(boolean) -> setDelayedApplicationOfInitialState
+ 4767:4768:void setInteractionEnabled(boolean) -> setInteractionEnabled
+ 1562:1571:void setInterpolatedProgress(float) -> setInterpolatedProgress
+ 4515:4522:void setOnHide(float) -> setOnHide
+ 4505:4512:void setOnShow(float) -> setOnShow
+ 1580:1592:void setProgress(float,float) -> setProgress
+ 1700:1753:void setProgress(float) -> setProgress
+ 3881:3884:void setScene(androidx.constraintlayout.motion.widget.MotionScene) -> setScene
+ 1310:1319:void setStartState(int) -> setStartState
+ 1197:1224:void setState(androidx.constraintlayout.motion.widget.MotionLayout$TransitionState) -> setState
+ 1545:1554:void setState(int,int,int) -> setState
+ 1328:1351:void setTransition(int,int) -> setTransition
+ 1360:1413:void setTransition(int) -> setTransition
+ 1416:1450:void setTransition(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> setTransition
+ 4705:4710:void setTransitionDuration(int) -> setTransitionDuration
+ 4273:4274:void setTransitionListener(androidx.constraintlayout.motion.widget.MotionLayout$TransitionListener) -> setTransitionListener
+ 1674:1681:void setTransitionState(android.os.Bundle) -> setTransitionState
+ 1759:1888:void setupMotionViews() -> setupMotionViews
+ 2876:2880:android.graphics.Rect toRect(androidx.constraintlayout.core.widgets.ConstraintWidget) -> toRect
+ 2899:2901:java.lang.String toString() -> toString
+ 1909:1979:void touchAnimateTo(int,float,float) -> touchAnimateTo
+ 1992:2019:void touchSpringTo(float,float) -> touchSpringTo
+ 2138:2140:void transitionToEnd() -> transitionToEnd
+ 2150:2152:void transitionToEnd(java.lang.Runnable) -> transitionToEnd
+ 2129:2130:void transitionToStart() -> transitionToStart
+ 2161:2169:void transitionToState(int) -> transitionToState
+ 2180:2188:void transitionToState(int,int) -> transitionToState
+ 2199:2200:void transitionToState(int,int,int) -> transitionToState
+ 2289:2438:void transitionToState(int,int,int,int) -> transitionToState
+ 4597:4604:void updateState(int,androidx.constraintlayout.widget.ConstraintSet) -> updateState
+ 4654:4656:void updateState() -> updateState
+ 4614:4627:void updateStateAnimate(int,androidx.constraintlayout.widget.ConstraintSet,int) -> updateStateAnimate
+ 4802:4807:void viewTransition(int,android.view.View[]) -> viewTransition
+ 2022:2029:boolean willJump(float,float,float) -> willJump
+androidx.constraintlayout.motion.widget.MotionLayout$1 -> androidx.constraintlayout.motion.widget.MotionLayout$1:
+ 1490:1490:void <init>(androidx.constraintlayout.motion.widget.MotionLayout) -> <init>
+ 1493:1494:void run() -> run
+androidx.constraintlayout.motion.widget.MotionLayout$2 -> androidx.constraintlayout.motion.widget.MotionLayout$2:
+ 2231:2231:void <init>(androidx.constraintlayout.motion.widget.MotionLayout) -> <init>
+ 2234:2235:void run() -> run
+androidx.constraintlayout.motion.widget.MotionLayout$3 -> androidx.constraintlayout.motion.widget.MotionLayout$3:
+ 3058:3058:void <init>(androidx.constraintlayout.motion.widget.MotionLayout,android.view.View) -> <init>
+ 3061:3062:void run() -> run
+androidx.constraintlayout.motion.widget.MotionLayout$4 -> androidx.constraintlayout.motion.widget.MotionLayout$4:
+ 4151:4151:void <init>(androidx.constraintlayout.motion.widget.MotionLayout) -> <init>
+ 4154:4155:void run() -> run
+androidx.constraintlayout.motion.widget.MotionLayout$5 -> androidx.constraintlayout.motion.widget.MotionLayout$5:
+ 1206:1206:void <clinit>() -> <clinit>
+androidx.constraintlayout.motion.widget.MotionLayout$DecelerateInterpolator -> androidx.constraintlayout.motion.widget.MotionLayout$DecelerateInterpolator:
+ 2036:2038:void <init>(androidx.constraintlayout.motion.widget.MotionLayout) -> <init>
+ 2042:2045:void config(float,float,float) -> config
+ 2049:2063:float getInterpolation(float) -> getInterpolation
+ 2069:2069:float getVelocity() -> getVelocity
+androidx.constraintlayout.motion.widget.MotionLayout$DevModeDraw -> androidx.constraintlayout.motion.widget.MotionLayout$DevModeDraw:
+ 3118:3166:void <init>(androidx.constraintlayout.motion.widget.MotionLayout) -> <init>
+ 3171:3221:void draw(android.graphics.Canvas,java.util.HashMap,int,int) -> draw
+ 3224:3235:void drawAll(android.graphics.Canvas,int,int,androidx.constraintlayout.motion.widget.MotionController) -> drawAll
+ 3238:3239:void drawBasicPath(android.graphics.Canvas) -> drawBasicPath
+ 3312:3328:void drawPathAsConfigured(android.graphics.Canvas) -> drawPathAsConfigured
+ 3356:3365:void drawPathCartesian(android.graphics.Canvas) -> drawPathCartesian
+ 3368:3391:void drawPathCartesianTicks(android.graphics.Canvas,float,float) -> drawPathCartesianTicks
+ 3307:3309:void drawPathRelative(android.graphics.Canvas) -> drawPathRelative
+ 3331:3349:void drawPathRelativeTicks(android.graphics.Canvas,float,float) -> drawPathRelativeTicks
+ 3394:3417:void drawPathScreenTicks(android.graphics.Canvas,float,float,int,int) -> drawPathScreenTicks
+ 3420:3438:void drawRectangle(android.graphics.Canvas,androidx.constraintlayout.motion.widget.MotionController) -> drawRectangle
+ 3242:3299:void drawTicks(android.graphics.Canvas,int,int,androidx.constraintlayout.motion.widget.MotionController) -> drawTicks
+ 3302:3304:void drawTranslation(android.graphics.Canvas,float,float,float,float) -> drawTranslation
+ 3352:3353:void getTextBounds(java.lang.String,android.graphics.Paint) -> getTextBounds
+androidx.constraintlayout.motion.widget.MotionLayout$Model -> androidx.constraintlayout.motion.widget.MotionLayout$Model:
+ 2493:2497:void <init>(androidx.constraintlayout.motion.widget.MotionLayout) -> <init>
+ 2813:2863:void build() -> build
+ 2502:2526:void copy(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer) -> copy
+ 2693:2713:void debugLayout(java.lang.String,androidx.constraintlayout.core.widgets.ConstraintWidgetContainer) -> debugLayout
+ 2665:2679:void debugLayoutParam(java.lang.String,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> debugLayoutParam
+ 2683:2689:void debugWidget(java.lang.String,androidx.constraintlayout.core.widgets.ConstraintWidget) -> debugWidget
+ 2648:2660:androidx.constraintlayout.core.widgets.ConstraintWidget getWidget(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,android.view.View) -> getWidget
+ 2529:2585:void initFrom(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.widget.ConstraintSet,androidx.constraintlayout.widget.ConstraintSet) -> initFrom
+ 2871:2871:boolean isNotConfiguredWith(int,int) -> isNotConfiguredWith
+ 2721:2810:void measure(int,int) -> measure
+ 2716:2718:void reEvaluateState() -> reEvaluateState
+ 2866:2868:void setMeasuredId(int,int) -> setMeasuredId
+ 2588:2645:void setupConstraintWidget(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.widget.ConstraintSet) -> setupConstraintWidget
+androidx.constraintlayout.motion.widget.MotionLayout$MyTracker -> androidx.constraintlayout.motion.widget.MotionLayout$MyTracker:
+ 1228:1228:void <clinit>() -> <clinit>
+ 1226:1226:void <init>() -> <init>
+ 1252:1255:void addMovement(android.view.MotionEvent) -> addMovement
+ 1245:1248:void clear() -> clear
+ 1259:1262:void computeCurrentVelocity(int) -> computeCurrentVelocity
+ 1266:1269:void computeCurrentVelocity(int,float) -> computeCurrentVelocity
+ 1273:1276:float getXVelocity() -> getXVelocity
+ 1289:1292:float getXVelocity(int) -> getXVelocity
+ 1281:1284:float getYVelocity() -> getYVelocity
+ 1297:1300:float getYVelocity(int) -> getYVelocity
+ 1231:1232:androidx.constraintlayout.motion.widget.MotionLayout$MyTracker obtain() -> obtain
+ 1237:1241:void recycle() -> recycle
+androidx.constraintlayout.motion.widget.MotionLayout$StateCache -> androidx.constraintlayout.motion.widget.MotionLayout$StateCache:
+ 1595:1603:void <init>(androidx.constraintlayout.motion.widget.MotionLayout) -> <init>
+ 1606:1628:void apply() -> apply
+ 1631:1636:android.os.Bundle getTransitionState() -> getTransitionState
+ 1663:1667:void recordState() -> recordState
+ 1651:1652:void setEndState(int) -> setEndState
+ 1647:1648:void setProgress(float) -> setProgress
+ 1659:1660:void setStartState(int) -> setStartState
+ 1640:1644:void setTransitionState(android.os.Bundle) -> setTransitionState
+ 1655:1656:void setVelocity(float) -> setVelocity
+androidx.constraintlayout.motion.widget.MotionLayout$TransitionState -> androidx.constraintlayout.motion.widget.MotionLayout$TransitionState:
+ 1105:1109:void <clinit>() -> <clinit>
+ 1105:1105:void <init>(java.lang.String,int) -> <init>
+ 1105:1105:androidx.constraintlayout.motion.widget.MotionLayout$TransitionState valueOf(java.lang.String) -> valueOf
+ 1105:1105:androidx.constraintlayout.motion.widget.MotionLayout$TransitionState[] values() -> values
+androidx.constraintlayout.motion.widget.MotionPaths -> androidx.constraintlayout.motion.widget.MotionPaths:
+ 54:54:void <clinit>() -> <clinit>
+ 56:489:void <init>() -> <init>
+ 56:489:void <init>(int,int,androidx.constraintlayout.motion.widget.KeyPosition,androidx.constraintlayout.motion.widget.MotionPaths,androidx.constraintlayout.motion.widget.MotionPaths) -> <init>
+ 915:931:void applyParameters(androidx.constraintlayout.widget.ConstraintSet$Constraint) -> applyParameters
+ 39:39:int compareTo(java.lang.Object) -> compareTo
+ 911:911:int compareTo(androidx.constraintlayout.motion.widget.MotionPaths) -> compareTo
+ 934:935:void configureRelativeTo(androidx.constraintlayout.motion.widget.MotionController) -> configureRelativeTo
+ 298:301:boolean diff(float,float) -> diff
+ 305:314:void different(androidx.constraintlayout.motion.widget.MotionPaths,boolean[],java.lang.String[],boolean) -> different
+ 863:870:void fillStandard(double[],int[]) -> fillStandard
+ 461:486:void getBounds(int[],double[],float[],int) -> getBounds
+ 317:356:void getCenter(double,int[],double[],float[],int) -> getCenter
+ 359:418:void getCenter(double,int[],double[],float[],double[],float[]) -> getCenter
+ 420:458:void getCenterVelocity(double,int[],double[],float[],int) -> getCenterVelocity
+ 885:898:int getCustomData(java.lang.String,double[],int) -> getCustomData
+ 877:881:int getCustomDataCount(java.lang.String) -> getCustomDataCount
+ 649:773:void getRect(int[],double[],float[],int) -> getRect
+ 873:873:boolean hasCustomData(java.lang.String) -> hasCustomData
+ 86:121:void initCartesian(androidx.constraintlayout.motion.widget.KeyPosition,androidx.constraintlayout.motion.widget.MotionPaths,androidx.constraintlayout.motion.widget.MotionPaths) -> initCartesian
+ 243:283:void initPath(androidx.constraintlayout.motion.widget.KeyPosition,androidx.constraintlayout.motion.widget.MotionPaths,androidx.constraintlayout.motion.widget.MotionPaths) -> initPath
+ 150:183:void initPolar(int,int,androidx.constraintlayout.motion.widget.KeyPosition,androidx.constraintlayout.motion.widget.MotionPaths,androidx.constraintlayout.motion.widget.MotionPaths) -> initPolar
+ 200:239:void initScreen(int,int,androidx.constraintlayout.motion.widget.KeyPosition,androidx.constraintlayout.motion.widget.MotionPaths,androidx.constraintlayout.motion.widget.MotionPaths) -> initScreen
+ 903:907:void setBounds(float,float,float,float) -> setBounds
+ 787:860:void setDpDt(float,float,float[],int[],double[],double[]) -> setDpDt
+ 493:646:void setView(float,android.view.View,int[],double[],double[],double[]) -> setView
+ 186:197:void setupRelative(androidx.constraintlayout.motion.widget.MotionController,androidx.constraintlayout.motion.widget.MotionPaths) -> setupRelative
+ 286:288:float xRotate(float,float,float,float,float,float) -> xRotate
+ 292:294:float yRotate(float,float,float,float,float,float) -> yRotate
+androidx.constraintlayout.motion.widget.MotionScene -> androidx.constraintlayout.motion.widget.MotionScene:
+ 70:1017:void <init>(androidx.constraintlayout.motion.widget.MotionLayout) -> <init>
+ 70:1026:void <init>(android.content.Context,androidx.constraintlayout.motion.widget.MotionLayout,int) -> <init>
+ 60:60:int access$1000(androidx.constraintlayout.motion.widget.MotionScene) -> access$1000
+ 60:60:android.util.SparseArray access$1100(androidx.constraintlayout.motion.widget.MotionScene) -> access$1100
+ 60:60:int access$1200(androidx.constraintlayout.motion.widget.MotionScene,android.content.Context,int) -> access$1200
+ 60:60:androidx.constraintlayout.motion.widget.MotionLayout access$700(androidx.constraintlayout.motion.widget.MotionScene) -> access$700
+ 60:60:int access$900(androidx.constraintlayout.motion.widget.MotionScene) -> access$900
+ 260:289:void addOnClickListeners(androidx.constraintlayout.motion.widget.MotionLayout,int) -> addOnClickListeners
+ 175:181:void addTransition(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> addTransition
+ 460:460:boolean applyViewTransition(int,androidx.constraintlayout.motion.widget.MotionController) -> applyViewTransition
+ 379:433:boolean autoTransition(androidx.constraintlayout.motion.widget.MotionLayout,int) -> autoTransition
+ 292:345:androidx.constraintlayout.motion.widget.MotionScene$Transition bestTransitionFor(int,float,float,android.view.MotionEvent) -> bestTransitionFor
+ 1850:1851:void disableAutoTransition(boolean) -> disableAutoTransition
+ 452:453:void enableViewTransition(int,boolean) -> enableViewTransition
+ 1651:1651:int gatPathMotionArc() -> gatPathMotionArc
+ 1715:1718:int getAutoCompleteMode() -> getAutoCompleteMode
+ 1261:1275:androidx.constraintlayout.widget.ConstraintSet getConstraintSet(android.content.Context,java.lang.String) -> getConstraintSet
+ 1279:1279:androidx.constraintlayout.widget.ConstraintSet getConstraintSet(int) -> getConstraintSet
+ 1283:1297:androidx.constraintlayout.widget.ConstraintSet getConstraintSet(int,int,int) -> getConstraintSet
+ 362:366:int[] getConstraintSetIds() -> getConstraintSetIds
+ 349:349:java.util.ArrayList getDefinedTransitions() -> getDefinedTransitions
+ 1631:1634:int getDuration() -> getDuration
+ 1580:1583:int getEndId() -> getEndId
+ 1160:1175:int getId(android.content.Context,java.lang.String) -> getId
+ 200:212:int getIndex(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> getIndex
+ 1595:1622:android.view.animation.Interpolator getInterpolator() -> getInterpolator
+ 1339:1357:androidx.constraintlayout.motion.widget.Key getKeyFrame(android.content.Context,int,int,int) -> getKeyFrame
+ 1316:1327:void getKeyFrames(androidx.constraintlayout.motion.widget.MotionController) -> getKeyFrames
+ 1862:1863:java.lang.String getLine(android.content.Context,int,org.xmlpull.v1.XmlPullParser) -> getLine
+ 1668:1671:float getMaxAcceleration() -> getMaxAcceleration
+ 1675:1678:float getMaxVelocity() -> getMaxVelocity
+ 1727:1730:boolean getMoveWhenScrollAtTop() -> getMoveWhenScrollAtTop
+ 1433:1433:float getPathPercent(android.view.View,int) -> getPathPercent
+ 1564:1567:float getProgressDirection(float,float) -> getProgressDirection
+ 237:243:int getRealID(int) -> getRealID
+ 1709:1712:int getSpringBoundary() -> getSpringBoundary
+ 1696:1699:float getSpringDamping() -> getSpringDamping
+ 1689:1692:float getSpringMass() -> getSpringMass
+ 1682:1685:float getSpringStiffiness() -> getSpringStiffiness
+ 1703:1706:float getSpringStopThreshold() -> getSpringStopThreshold
+ 1661:1664:float getStaggered() -> getStaggered
+ 1573:1576:int getStartId() -> getStartId
+ 353:358:androidx.constraintlayout.motion.widget.MotionScene$Transition getTransitionById(int) -> getTransitionById
+ 1361:1366:int getTransitionDirection(int) -> getTransitionDirection
+ 247:255:java.util.List getTransitionsWithState(int) -> getTransitionsWithState
+ 1758:1769:boolean hasCycleDependency(int) -> hasCycleDependency
+ 1377:1388:boolean hasKeyFramePosition(android.view.View,int) -> hasKeyFramePosition
+ 437:437:boolean isProcessingTouch() -> isProcessingTouch
+ 456:456:boolean isViewTransitionEnabled(int) -> isViewTransitionEnabled
+ 1036:1139:void load(android.content.Context,int) -> load
+ 1817:1821:int lookUpConstraintId(java.lang.String) -> lookUpConstraintId
+ 1831:1841:java.lang.String lookUpConstraintName(int) -> lookUpConstraintName
+ 1258:1258:void onLayout(boolean,int,int,int,int) -> onLayout
+ 1219:1254:int parseConstraintSet(android.content.Context,org.xmlpull.v1.XmlPullParser) -> parseConstraintSet
+ 1179:1189:void parseInclude(android.content.Context,org.xmlpull.v1.XmlPullParser) -> parseInclude
+ 1192:1215:int parseInclude(android.content.Context,int) -> parseInclude
+ 1142:1157:void parseMotionSceneTags(android.content.Context,org.xmlpull.v1.XmlPullParser) -> parseMotionSceneTags
+ 1545:1548:void processScrollMove(float,float) -> processScrollMove
+ 1551:1554:void processScrollUp(float,float) -> processScrollUp
+ 1454:1542:void processTouchEvent(android.view.MotionEvent,int,androidx.constraintlayout.motion.widget.MotionLayout) -> processTouchEvent
+ 1779:1797:void readConstraintChain(int,androidx.constraintlayout.motion.widget.MotionLayout) -> readConstraintChain
+ 1741:1749:void readFallback(androidx.constraintlayout.motion.widget.MotionLayout) -> readFallback
+ 190:194:void removeTransition(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> removeTransition
+ 1307:1308:void setConstraintSet(int,androidx.constraintlayout.widget.ConstraintSet) -> setConstraintSet
+ 1643:1648:void setDuration(int) -> setDuration
+ 1395:1430:void setKeyframe(android.view.View,int,java.lang.String,java.lang.Object) -> setKeyframe
+ 441:445:void setRtl(boolean) -> setRtl
+ 111:166:void setTransition(int,int) -> setTransition
+ 230:234:void setTransition(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> setTransition
+ 1721:1724:void setupTouch() -> setupTouch
+ 1800:1807:java.lang.String stripID(java.lang.String) -> stripID
+ 1440:1445:boolean supportTouch() -> supportTouch
+ 220:220:boolean validateLayout(androidx.constraintlayout.motion.widget.MotionLayout) -> validateLayout
+ 448:449:void viewTransition(int,android.view.View[]) -> viewTransition
+androidx.constraintlayout.motion.widget.MotionScene$1 -> androidx.constraintlayout.motion.widget.MotionScene$1:
+ 1598:1598:void <init>(androidx.constraintlayout.motion.widget.MotionScene,androidx.constraintlayout.core.motion.utils.Easing) -> <init>
+ 1601:1601:float getInterpolation(float) -> getInterpolation
+androidx.constraintlayout.motion.widget.MotionScene$Transition -> androidx.constraintlayout.motion.widget.MotionScene$Transition:
+ 472:887:void <init>(androidx.constraintlayout.motion.widget.MotionScene,androidx.constraintlayout.motion.widget.MotionScene$Transition) -> <init>
+ 472:909:void <init>(int,androidx.constraintlayout.motion.widget.MotionScene,int,int) -> <init>
+ 472:916:void <init>(androidx.constraintlayout.motion.widget.MotionScene,android.content.Context,org.xmlpull.v1.XmlPullParser) -> <init>
+ 471:471:int access$000(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$000
+ 471:471:int access$002(androidx.constraintlayout.motion.widget.MotionScene$Transition,int) -> access$002
+ 471:471:int access$100(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$100
+ 471:471:int access$102(androidx.constraintlayout.motion.widget.MotionScene$Transition,int) -> access$102
+ 471:471:boolean access$1300(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$1300
+ 471:471:java.util.ArrayList access$1400(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$1400
+ 471:471:int access$1500(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$1500
+ 471:471:java.lang.String access$1600(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$1600
+ 471:471:int access$1700(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$1700
+ 471:471:int access$1800(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$1800
+ 471:471:int access$1900(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$1900
+ 471:471:androidx.constraintlayout.motion.widget.TouchResponse access$200(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$200
+ 471:471:float access$2000(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$2000
+ 471:471:androidx.constraintlayout.motion.widget.TouchResponse access$202(androidx.constraintlayout.motion.widget.MotionScene$Transition,androidx.constraintlayout.motion.widget.TouchResponse) -> access$202
+ 471:471:int access$300(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$300
+ 471:471:java.util.ArrayList access$400(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$400
+ 471:471:boolean access$500(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$500
+ 471:471:int access$600(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$600
+ 471:471:androidx.constraintlayout.motion.widget.MotionScene access$800(androidx.constraintlayout.motion.widget.MotionScene$Transition) -> access$800
+ 623:624:void addKeyFrame(androidx.constraintlayout.motion.widget.KeyFrames) -> addKeyFrame
+ 504:512:void addOnClick(int,int) -> addOnClick
+ 536:537:void addOnClick(android.content.Context,org.xmlpull.v1.XmlPullParser) -> addOnClick
+ 715:725:java.lang.String debugString(android.content.Context) -> debugString
+ 931:1005:void fill(androidx.constraintlayout.motion.widget.MotionScene,android.content.Context,android.content.res.TypedArray) -> fill
+ 925:928:void fillFromAttributeList(androidx.constraintlayout.motion.widget.MotionScene,android.content.Context,android.util.AttributeSet) -> fillFromAttributeList
+ 557:557:int getAutoTransition() -> getAutoTransition
+ 603:603:int getDuration() -> getDuration
+ 575:575:int getEndConstraintSetId() -> getEndConstraintSetId
+ 566:566:int getId() -> getId
+ 616:616:java.util.List getKeyFrameList() -> getKeyFrameList
+ 528:528:int getLayoutDuringTransition() -> getLayoutDuringTransition
+ 632:632:java.util.List getOnClickList() -> getOnClickList
+ 672:672:int getPathMotionArc() -> getPathMotionArc
+ 612:612:float getStagger() -> getStagger
+ 584:584:int getStartConstraintSetId() -> getStartConstraintSetId
+ 641:641:androidx.constraintlayout.motion.widget.TouchResponse getTouchResponse() -> getTouchResponse
+ 680:680:boolean isEnabled() -> isEnabled
+ 729:729:boolean isTransitionFlag(int) -> isTransitionFlag
+ 515:525:void removeOnClick(int) -> removeOnClick
+ 547:548:void setAutoTransition(int) -> setAutoTransition
+ 594:595:void setDuration(int) -> setDuration
+ 693:694:void setEnable(boolean) -> setEnable
+ 703:704:void setEnabled(boolean) -> setEnabled
+ 919:922:void setInterpolatorInfo(int,java.lang.String,int) -> setInterpolatorInfo
+ 532:533:void setLayoutDuringTransition(int) -> setLayoutDuringTransition
+ 500:501:void setOnSwipe(androidx.constraintlayout.motion.widget.OnSwipe) -> setOnSwipe
+ 737:741:void setOnTouchUp(int) -> setOnTouchUp
+ 662:663:void setPathMotionArc(int) -> setPathMotionArc
+ 652:653:void setStagger(float) -> setStagger
+ 733:734:void setTransitionFlag(int) -> setTransitionFlag
+androidx.constraintlayout.motion.widget.MotionScene$Transition$TransitionOnClick -> androidx.constraintlayout.motion.widget.MotionScene$Transition$TransitionOnClick:
+ 745:766:void <init>(android.content.Context,androidx.constraintlayout.motion.widget.MotionScene$Transition,org.xmlpull.v1.XmlPullParser) -> <init>
+ 745:772:void <init>(androidx.constraintlayout.motion.widget.MotionScene$Transition,int,int) -> <init>
+ 775:796:void addOnClickListeners(androidx.constraintlayout.motion.widget.MotionLayout,int,androidx.constraintlayout.motion.widget.MotionScene$Transition) -> addOnClickListeners
+ 811:819:boolean isTransitionViable(androidx.constraintlayout.motion.widget.MotionScene$Transition,androidx.constraintlayout.motion.widget.MotionLayout) -> isTransitionViable
+ 825:871:void onClick(android.view.View) -> onClick
+ 799:808:void removeOnClickListeners(androidx.constraintlayout.motion.widget.MotionLayout) -> removeOnClickListeners
+androidx.constraintlayout.motion.widget.OnSwipe -> androidx.constraintlayout.motion.widget.OnSwipe:
+ 22:41:void <init>() -> <init>
+ 393:393:int getAutoCompleteMode() -> getAutoCompleteMode
+ 124:124:int getDragDirection() -> getDragDirection
+ 187:187:float getDragScale() -> getDragScale
+ 204:204:float getDragThreshold() -> getDragThreshold
+ 266:266:int getLimitBoundsTo() -> getLimitBoundsTo
+ 156:156:float getMaxAcceleration() -> getMaxAcceleration
+ 139:139:float getMaxVelocity() -> getMaxVelocity
+ 172:172:boolean getMoveWhenScrollAtTop() -> getMoveWhenScrollAtTop
+ 251:251:int getNestedScrollFlags() -> getNestedScrollFlags
+ 234:234:int getOnTouchUp() -> getOnTouchUp
+ 281:281:int getRotationCenterId() -> getRotationCenterId
+ 374:374:int getSpringBoundary() -> getSpringBoundary
+ 286:286:float getSpringDamping() -> getSpringDamping
+ 308:308:float getSpringMass() -> getSpringMass
+ 329:329:float getSpringStiffness() -> getSpringStiffness
+ 352:352:float getSpringStopThreshold() -> getSpringStopThreshold
+ 92:92:int getTouchAnchorId() -> getTouchAnchorId
+ 109:109:int getTouchAnchorSide() -> getTouchAnchorSide
+ 217:217:int getTouchRegionId() -> getTouchRegionId
+ 404:405:void setAutoCompleteMode(int) -> setAutoCompleteMode
+ 119:120:androidx.constraintlayout.motion.widget.OnSwipe setDragDirection(int) -> setDragDirection
+ 182:183:androidx.constraintlayout.motion.widget.OnSwipe setDragScale(int) -> setDragScale
+ 199:200:androidx.constraintlayout.motion.widget.OnSwipe setDragThreshold(int) -> setDragThreshold
+ 261:262:androidx.constraintlayout.motion.widget.OnSwipe setLimitBoundsTo(int) -> setLimitBoundsTo
+ 151:152:androidx.constraintlayout.motion.widget.OnSwipe setMaxAcceleration(int) -> setMaxAcceleration
+ 134:135:androidx.constraintlayout.motion.widget.OnSwipe setMaxVelocity(int) -> setMaxVelocity
+ 167:168:androidx.constraintlayout.motion.widget.OnSwipe setMoveWhenScrollAtTop(boolean) -> setMoveWhenScrollAtTop
+ 246:247:androidx.constraintlayout.motion.widget.OnSwipe setNestedScrollFlags(int) -> setNestedScrollFlags
+ 229:230:androidx.constraintlayout.motion.widget.OnSwipe setOnTouchUp(int) -> setOnTouchUp
+ 276:277:androidx.constraintlayout.motion.widget.OnSwipe setRotateCenter(int) -> setRotateCenter
+ 388:389:androidx.constraintlayout.motion.widget.OnSwipe setSpringBoundary(int) -> setSpringBoundary
+ 297:298:androidx.constraintlayout.motion.widget.OnSwipe setSpringDamping(float) -> setSpringDamping
+ 319:320:androidx.constraintlayout.motion.widget.OnSwipe setSpringMass(float) -> setSpringMass
+ 342:343:androidx.constraintlayout.motion.widget.OnSwipe setSpringStiffness(float) -> setSpringStiffness
+ 364:365:androidx.constraintlayout.motion.widget.OnSwipe setSpringStopThreshold(float) -> setSpringStopThreshold
+ 87:88:androidx.constraintlayout.motion.widget.OnSwipe setTouchAnchorId(int) -> setTouchAnchorId
+ 104:105:androidx.constraintlayout.motion.widget.OnSwipe setTouchAnchorSide(int) -> setTouchAnchorSide
+ 212:213:androidx.constraintlayout.motion.widget.OnSwipe setTouchRegionId(int) -> setTouchRegionId
+androidx.constraintlayout.motion.widget.ProxyInterface -> androidx.constraintlayout.motion.widget.ProxyInterface:
+# {"id":"sourceFile","fileName":"DesignTool.java"}
+androidx.constraintlayout.motion.widget.TouchResponse -> androidx.constraintlayout.motion.widget.TouchResponse:
+ 67:76:void <clinit>() -> <clinit>
+ 45:121:void <init>(android.content.Context,androidx.constraintlayout.motion.widget.MotionLayout,org.xmlpull.v1.XmlPullParser) -> <init>
+ 45:155:void <init>(androidx.constraintlayout.motion.widget.MotionLayout,androidx.constraintlayout.motion.widget.OnSwipe) -> <init>
+ 821:821:float dot(float,float) -> dot
+ 186:239:void fill(android.content.res.TypedArray) -> fill
+ 180:183:void fillFromAttributeList(android.content.Context,android.util.AttributeSet) -> fillFromAttributeList
+ 702:702:int getAnchorId() -> getAnchorId
+ 760:760:int getAutoCompleteMode() -> getAutoCompleteMode
+ 834:834:int getFlags() -> getFlags
+ 805:813:android.graphics.RectF getLimitBoundsTo(android.view.ViewGroup,android.graphics.RectF) -> getLimitBoundsTo
+ 817:817:int getLimitBoundsToId() -> getLimitBoundsToId
+ 737:737:float getMaxAcceleration() -> getMaxAcceleration
+ 747:747:float getMaxVelocity() -> getMaxVelocity
+ 751:751:boolean getMoveWhenScrollAtTop() -> getMoveWhenScrollAtTop
+ 588:602:float getProgressDirection(float,float) -> getProgressDirection
+ 885:885:int getSpringBoundary() -> getSpringBoundary
+ 865:865:float getSpringDamping() -> getSpringDamping
+ 856:856:float getSpringMass() -> getSpringMass
+ 847:847:float getSpringStiffness() -> getSpringStiffness
+ 873:873:float getSpringStopThreshold() -> getSpringStopThreshold
+ 781:789:android.graphics.RectF getTouchRegion(android.view.ViewGroup,android.graphics.RectF) -> getTouchRegion
+ 793:793:int getTouchRegionId() -> getTouchRegionId
+ 412:573:void processTouchEvent(android.view.MotionEvent,androidx.constraintlayout.motion.widget.MotionLayout$MotionTracker,int,androidx.constraintlayout.motion.widget.MotionScene) -> processTouchEvent
+ 254:399:void processTouchRotateEvent(android.view.MotionEvent,androidx.constraintlayout.motion.widget.MotionLayout$MotionTracker,int,androidx.constraintlayout.motion.widget.MotionScene) -> processTouchRotateEvent
+ 627:658:void scrollMove(float,float) -> scrollMove
+ 606:623:void scrollUp(float,float) -> scrollUp
+ 693:694:void setAnchorId(int) -> setAnchorId
+ 769:770:void setAutoCompleteMode(int) -> setAutoCompleteMode
+ 576:578:void setDown(float,float) -> setDown
+ 733:734:void setMaxAcceleration(float) -> setMaxAcceleration
+ 723:724:void setMaxVelocity(float) -> setMaxVelocity
+ 158:177:void setRTL(boolean) -> setRTL
+ 712:714:void setTouchAnchorLocation(float,float) -> setTouchAnchorLocation
+ 838:839:void setTouchUpMode(int) -> setTouchUpMode
+ 242:245:void setUpTouchEvent(float,float) -> setUpTouchEvent
+ 662:685:void setupTouch() -> setupTouch
+ 825:825:java.lang.String toString() -> toString
+androidx.constraintlayout.motion.widget.TouchResponse$1 -> androidx.constraintlayout.motion.widget.TouchResponse$1:
+ 671:671:void <init>(androidx.constraintlayout.motion.widget.TouchResponse) -> <init>
+ 674:674:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+androidx.constraintlayout.motion.widget.TouchResponse$2 -> androidx.constraintlayout.motion.widget.TouchResponse$2:
+ 677:677:void <init>(androidx.constraintlayout.motion.widget.TouchResponse) -> <init>
+ 682:682:void onScrollChange(androidx.core.widget.NestedScrollView,int,int,int,int) -> onScrollChange
+androidx.constraintlayout.motion.widget.TransitionAdapter -> androidx.constraintlayout.motion.widget.TransitionAdapter:
+ 3:3:void <init>() -> <init>
+ 12:12:void onTransitionChange(androidx.constraintlayout.motion.widget.MotionLayout,int,int,float) -> onTransitionChange
+ 17:17:void onTransitionCompleted(androidx.constraintlayout.motion.widget.MotionLayout,int) -> onTransitionCompleted
+ 7:7:void onTransitionStarted(androidx.constraintlayout.motion.widget.MotionLayout,int,int) -> onTransitionStarted
+ 22:22:void onTransitionTrigger(androidx.constraintlayout.motion.widget.MotionLayout,int,boolean,float) -> onTransitionTrigger
+androidx.constraintlayout.motion.widget.TransitionBuilder -> androidx.constraintlayout.motion.widget.TransitionBuilder:
+ 26:26:void <init>() -> <init>
+ 62:69:androidx.constraintlayout.motion.widget.MotionScene$Transition buildTransition(androidx.constraintlayout.motion.widget.MotionScene,int,int,androidx.constraintlayout.widget.ConstraintSet,int,androidx.constraintlayout.widget.ConstraintSet) -> buildTransition
+ 80:85:void updateConstraintSetInMotionScene(androidx.constraintlayout.motion.widget.MotionScene,androidx.constraintlayout.motion.widget.MotionScene$Transition,androidx.constraintlayout.widget.ConstraintSet,androidx.constraintlayout.widget.ConstraintSet) -> updateConstraintSetInMotionScene
+ 35:47:void validate(androidx.constraintlayout.motion.widget.MotionLayout) -> validate
+androidx.constraintlayout.motion.widget.ViewTransition -> androidx.constraintlayout.motion.widget.ViewTransition:
+ void $r8$lambda$R5MnrVoAl7eqn8MpswIds-XSqNs(androidx.constraintlayout.motion.widget.ViewTransition,android.view.View[]) -> $r8$lambda$R5MnrVoAl7eqn8MpswIds-XSqNs
+ # {"id":"com.android.tools.r8.synthesized"}
+ 60:60:void <clinit>() -> <clinit>
+ 77:259:void <init>(android.content.Context,org.xmlpull.v1.XmlPullParser) -> <init>
+ 330:337:void applyIndependentTransition(androidx.constraintlayout.motion.widget.ViewTransitionController,androidx.constraintlayout.motion.widget.MotionLayout,android.view.View) -> applyIndependentTransition
+ 475:530:void applyTransition(androidx.constraintlayout.motion.widget.ViewTransitionController,androidx.constraintlayout.motion.widget.MotionLayout,int,androidx.constraintlayout.widget.ConstraintSet,android.view.View[]) -> applyTransition
+ 607:609:boolean checkTags(android.view.View) -> checkTags
+ 551:551:int getId() -> getId
+ 182:209:android.view.animation.Interpolator getInterpolator(android.content.Context) -> getInterpolator
+ 151:151:int getSharedValue() -> getSharedValue
+ 120:120:int getSharedValueCurrent() -> getSharedValueCurrent
+ 167:167:int getSharedValueID() -> getSharedValueID
+ 133:133:int getStateTransition() -> getStateTransition
+ 598:598:boolean isEnabled() -> isEnabled
+ 519:529:void lambda$applyTransition$0(android.view.View[]) -> lambda$applyTransition$0
+ 559:581:boolean matchesView(android.view.View) -> matchesView
+ 262:327:void parseViewTransitionTags(android.content.Context,org.xmlpull.v1.XmlPullParser) -> parseViewTransitionTags
+ 602:603:void setEnabled(boolean) -> setEnabled
+ 555:556:void setId(int) -> setId
+ 158:159:void setSharedValue(int) -> setSharedValue
+ 124:125:void setSharedValueCurrent(int) -> setSharedValueCurrent
+ 174:175:void setSharedValueID(int) -> setSharedValueID
+ 142:143:void setStateTransition(int) -> setStateTransition
+ 585:594:boolean supports(int) -> supports
+ 178:178:java.lang.String toString() -> toString
+ 533:548:void updateTransition(androidx.constraintlayout.motion.widget.MotionScene$Transition,android.view.View) -> updateTransition
+androidx.constraintlayout.motion.widget.ViewTransition$$ExternalSyntheticLambda0 -> androidx.constraintlayout.motion.widget.ViewTransition$$ExternalSyntheticLambda0:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ android.view.View[] androidx.constraintlayout.motion.widget.ViewTransition$$InternalSyntheticLambda$0$3650b6f22807ec68045e6a594276eaff908aea753fe513c49871a8412ea5c505$0.f$1 -> f$1
+ androidx.constraintlayout.motion.widget.ViewTransition androidx.constraintlayout.motion.widget.ViewTransition$$InternalSyntheticLambda$0$3650b6f22807ec68045e6a594276eaff908aea753fe513c49871a8412ea5c505$0.f$0 -> f$0
+ void androidx.constraintlayout.motion.widget.ViewTransition$$InternalSyntheticLambda$0$3650b6f22807ec68045e6a594276eaff908aea753fe513c49871a8412ea5c505$0.<init>(androidx.constraintlayout.motion.widget.ViewTransition,android.view.View[]) -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void androidx.constraintlayout.motion.widget.ViewTransition$$InternalSyntheticLambda$0$3650b6f22807ec68045e6a594276eaff908aea753fe513c49871a8412ea5c505$0.run() -> run
+ # {"id":"com.android.tools.r8.synthesized"}
+androidx.constraintlayout.motion.widget.ViewTransition$1 -> androidx.constraintlayout.motion.widget.ViewTransition$1:
+ 185:185:void <init>(androidx.constraintlayout.motion.widget.ViewTransition,androidx.constraintlayout.core.motion.utils.Easing) -> <init>
+ 188:188:float getInterpolation(float) -> getInterpolation
+androidx.constraintlayout.motion.widget.ViewTransition$Animate -> androidx.constraintlayout.motion.widget.ViewTransition$Animate:
+ 346:375:void <init>(androidx.constraintlayout.motion.widget.ViewTransitionController,androidx.constraintlayout.motion.widget.MotionController,int,int,int,android.view.animation.Interpolator,int,int) -> <init>
+ 387:392:void mutate() -> mutate
+ 423:450:void mutateForward() -> mutateForward
+ 395:419:void mutateReverse() -> mutateReverse
+ 453:467:void reactTo(int,float,float) -> reactTo
+ 378:384:void reverse(boolean) -> reverse
+androidx.constraintlayout.motion.widget.ViewTransitionController -> androidx.constraintlayout.motion.widget.ViewTransitionController:
+ 37:193:void <init>(androidx.constraintlayout.motion.widget.MotionLayout) -> <init>
+ 35:35:androidx.constraintlayout.motion.widget.MotionLayout access$000(androidx.constraintlayout.motion.widget.ViewTransitionController) -> access$000
+ 46:54:void add(androidx.constraintlayout.motion.widget.ViewTransition) -> add
+ 196:200:void addAnimation(androidx.constraintlayout.motion.widget.ViewTransition$Animate) -> addAnimation
+ 210:221:void animate() -> animate
+ 228:234:boolean applyViewTransition(int,androidx.constraintlayout.motion.widget.MotionController) -> applyViewTransition
+ 89:95:void enableViewTransition(int,boolean) -> enableViewTransition
+ 224:225:void invalidate() -> invalidate
+ 98:103:boolean isViewTransitionEnabled(int) -> isViewTransitionEnabled
+ 238:276:void listenForSharedVariable(androidx.constraintlayout.motion.widget.ViewTransition,boolean) -> listenForSharedVariable
+ 57:68:void remove(int) -> remove
+ 203:204:void removeAnimation(androidx.constraintlayout.motion.widget.ViewTransition$Animate) -> removeAnimation
+ 141:190:void touchEvent(android.view.MotionEvent) -> touchEvent
+ 71:86:void viewTransition(androidx.constraintlayout.motion.widget.ViewTransition,android.view.View[]) -> viewTransition
+ 113:133:void viewTransition(int,android.view.View[]) -> viewTransition
+androidx.constraintlayout.motion.widget.ViewTransitionController$1 -> androidx.constraintlayout.motion.widget.ViewTransitionController$1:
+ 241:241:void <init>(androidx.constraintlayout.motion.widget.ViewTransitionController,androidx.constraintlayout.motion.widget.ViewTransition,int,boolean,int) -> <init>
+ 244:274:void onNewValue(int,int,int) -> onNewValue
+androidx.constraintlayout.utils.widget.ImageFilterButton -> androidx.constraintlayout.utils.widget.ImageFilterButton:
+ 87:186:void <init>(android.content.Context) -> <init>
+ 87:186:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 87:186:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 86:86:float access$000(androidx.constraintlayout.utils.widget.ImageFilterButton) -> access$000
+ 86:86:float access$100(androidx.constraintlayout.utils.widget.ImageFilterButton) -> access$100
+ 598:610:void draw(android.graphics.Canvas) -> draw
+ 410:410:float getContrast() -> getContrast
+ 455:455:float getCrossfade() -> getCrossfade
+ 198:198:float getImagePanX() -> getImagePanX
+ 211:211:float getImagePanY() -> getImagePanY
+ 229:229:float getImageRotate() -> getImageRotate
+ 220:220:float getImageZoom() -> getImageZoom
+ 593:593:float getRound() -> getRound
+ 584:584:float getRoundPercent() -> getRoundPercent
+ 391:391:float getSaturation() -> getSaturation
+ 429:429:float getWarmth() -> getWarmth
+ 117:175:void init(android.content.Context,android.util.AttributeSet) -> init
+ 614:616:void layout(int,int,int,int) -> layout
+ 314:320:void setAltImageResource(int) -> setAltImageResource
+ 466:468:void setBrightness(float) -> setBrightness
+ 400:402:void setContrast(float) -> setContrast
+ 439:447:void setCrossfade(float) -> setCrossfade
+ 282:292:void setImageDrawable(android.graphics.drawable.Drawable) -> setImageDrawable
+ 242:244:void setImagePanX(float) -> setImagePanX
+ 256:258:void setImagePanY(float) -> setImagePanY
+ 296:306:void setImageResource(int) -> setImageResource
+ 276:278:void setImageRotate(float) -> setImageRotate
+ 266:268:void setImageZoom(float) -> setImageZoom
+ 335:360:void setMatrix() -> setMatrix
+ 370:371:void setOverlay(boolean) -> setOverlay
+ 528:576:void setRound(float) -> setRound
+ 478:519:void setRoundPercent(float) -> setRoundPercent
+ 381:383:void setSaturation(float) -> setSaturation
+ 419:421:void setWarmth(float) -> setWarmth
+ 323:332:void updateViewMatrix() -> updateViewMatrix
+androidx.constraintlayout.utils.widget.ImageFilterButton$1 -> androidx.constraintlayout.utils.widget.ImageFilterButton$1:
+ 489:489:void <init>(androidx.constraintlayout.utils.widget.ImageFilterButton) -> <init>
+ 492:496:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+androidx.constraintlayout.utils.widget.ImageFilterButton$2 -> androidx.constraintlayout.utils.widget.ImageFilterButton$2:
+ 547:547:void <init>(androidx.constraintlayout.utils.widget.ImageFilterButton) -> <init>
+ 550:553:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+androidx.constraintlayout.utils.widget.ImageFilterView -> androidx.constraintlayout.utils.widget.ImageFilterView:
+ 287:485:void <init>(android.content.Context) -> <init>
+ 287:490:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 287:495:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 88:88:float access$000(androidx.constraintlayout.utils.widget.ImageFilterView) -> access$000
+ 88:88:float access$100(androidx.constraintlayout.utils.widget.ImageFilterView) -> access$100
+ 802:814:void draw(android.graphics.Canvas) -> draw
+ 671:671:float getBrightness() -> getBrightness
+ 606:606:float getContrast() -> getContrast
+ 650:650:float getCrossfade() -> getCrossfade
+ 323:323:float getImagePanX() -> getImagePanX
+ 336:336:float getImagePanY() -> getImagePanY
+ 354:354:float getImageRotate() -> getImageRotate
+ 345:345:float getImageZoom() -> getImageZoom
+ 797:797:float getRound() -> getRound
+ 788:788:float getRoundPercent() -> getRoundPercent
+ 587:587:float getSaturation() -> getSaturation
+ 625:625:float getWarmth() -> getWarmth
+ 498:557:void init(android.content.Context,android.util.AttributeSet) -> init
+ 818:820:void layout(int,int,int,int) -> layout
+ 434:440:void setAltImageResource(int) -> setAltImageResource
+ 661:663:void setBrightness(float) -> setBrightness
+ 596:598:void setContrast(float) -> setContrast
+ 634:642:void setCrossfade(float) -> setCrossfade
+ 407:417:void setImageDrawable(android.graphics.drawable.Drawable) -> setImageDrawable
+ 367:369:void setImagePanX(float) -> setImagePanX
+ 381:383:void setImagePanY(float) -> setImagePanY
+ 421:431:void setImageResource(int) -> setImageResource
+ 401:403:void setImageRotate(float) -> setImageRotate
+ 391:393:void setImageZoom(float) -> setImageZoom
+ 455:480:void setMatrix() -> setMatrix
+ 566:567:void setOverlay(boolean) -> setOverlay
+ 733:780:void setRound(float) -> setRound
+ 682:724:void setRoundPercent(float) -> setRoundPercent
+ 577:579:void setSaturation(float) -> setSaturation
+ 615:617:void setWarmth(float) -> setWarmth
+ 443:452:void updateViewMatrix() -> updateViewMatrix
+androidx.constraintlayout.utils.widget.ImageFilterView$1 -> androidx.constraintlayout.utils.widget.ImageFilterView$1:
+ 693:693:void <init>(androidx.constraintlayout.utils.widget.ImageFilterView) -> <init>
+ 696:700:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+androidx.constraintlayout.utils.widget.ImageFilterView$2 -> androidx.constraintlayout.utils.widget.ImageFilterView$2:
+ 752:752:void <init>(androidx.constraintlayout.utils.widget.ImageFilterView) -> <init>
+ 755:758:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+androidx.constraintlayout.utils.widget.ImageFilterView$ImageMatrix -> androidx.constraintlayout.utils.widget.ImageFilterView$ImageMatrix:
+ 89:96:void <init>() -> <init>
+ 228:251:void brightness(float) -> brightness
+ 99:132:void saturation(float) -> saturation
+ 254:284:void updateMatrix(android.widget.ImageView) -> updateMatrix
+ 135:224:void warmth(float) -> warmth
+androidx.constraintlayout.utils.widget.MockView -> androidx.constraintlayout.utils.widget.MockView:
+ 23:38:void <init>(android.content.Context) -> <init>
+ 23:43:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 23:48:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 51:84:void init(android.content.Context,android.util.AttributeSet) -> init
+ 88:111:void onDraw(android.graphics.Canvas) -> onDraw
+androidx.constraintlayout.utils.widget.MotionButton -> androidx.constraintlayout.utils.widget.MotionButton:
+ 59:68:void <init>(android.content.Context) -> <init>
+ 59:73:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 59:78:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 58:58:float access$000(androidx.constraintlayout.utils.widget.MotionButton) -> access$000
+ 58:58:float access$100(androidx.constraintlayout.utils.widget.MotionButton) -> access$100
+ 230:242:void draw(android.graphics.Canvas) -> draw
+ 225:225:float getRound() -> getRound
+ 216:216:float getRoundPercent() -> getRoundPercent
+ 81:100:void init(android.content.Context,android.util.AttributeSet) -> init
+ 160:208:void setRound(float) -> setRound
+ 110:151:void setRoundPercent(float) -> setRoundPercent
+androidx.constraintlayout.utils.widget.MotionButton$1 -> androidx.constraintlayout.utils.widget.MotionButton$1:
+ 121:121:void <init>(androidx.constraintlayout.utils.widget.MotionButton) -> <init>
+ 124:128:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+androidx.constraintlayout.utils.widget.MotionButton$2 -> androidx.constraintlayout.utils.widget.MotionButton$2:
+ 179:179:void <init>(androidx.constraintlayout.utils.widget.MotionButton) -> <init>
+ 182:185:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+androidx.constraintlayout.utils.widget.MotionLabel -> androidx.constraintlayout.utils.widget.MotionLabel:
+ 65:65:void <clinit>() -> <clinit>
+ 66:828:void <init>(android.content.Context) -> <init>
+ 66:828:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 66:828:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 64:64:float access$000(androidx.constraintlayout.utils.widget.MotionLabel) -> access$000
+ 64:64:float access$100(androidx.constraintlayout.utils.widget.MotionLabel) -> access$100
+ 262:269:void adjustTexture(float,float,float,float) -> adjustTexture
+ 204:221:android.graphics.Bitmap blur(android.graphics.Bitmap,int) -> blur
+ 373:396:void buildShape(float) -> buildShape
+ 323:329:float getHorizontalOffset() -> getHorizontalOffset
+ 801:801:float getRound() -> getRound
+ 792:792:float getRoundPercent() -> getRoundPercent
+ 1041:1041:float getScaleFromTextSize() -> getScaleFromTextSize
+ 840:840:float getTextBackgroundPanX() -> getTextBackgroundPanX
+ 853:853:float getTextBackgroundPanY() -> getTextBackgroundPanY
+ 871:871:float getTextBackgroundRotate() -> getTextBackgroundRotate
+ 862:862:float getTextBackgroundZoom() -> getTextBackgroundZoom
+ 821:821:int getTextOutlineColor() -> getTextOutlineColor
+ 962:962:float getTextPanX() -> getTextPanX
+ 981:981:float getTextPanY() -> getTextPanY
+ 1000:1000:float getTextureHeight() -> getTextureHeight
+ 1020:1020:float getTextureWidth() -> getTextureWidth
+ 632:632:android.graphics.Typeface getTypeface() -> getTypeface
+ 333:342:float getVerticalOffset() -> getVerticalOffset
+ 129:201:void init(android.content.Context,android.util.AttributeSet) -> init
+ 404:438:void layout(int,int,int,int) -> layout
+ 442:480:void layout(float,float,float,float) -> layout
+ 484:542:void onDraw(android.graphics.Canvas) -> onDraw
+ 637:675:void onMeasure(int,int) -> onMeasure
+ 281:320:void setGravity(int) -> setGravity
+ 736:784:void setRound(float) -> setRound
+ 687:727:void setRoundPercent(float) -> setRoundPercent
+ 1052:1053:void setScaleFromTextSize(float) -> setScaleFromTextSize
+ 353:355:void setText(java.lang.CharSequence) -> setText
+ 884:887:void setTextBackgroundPanX(float) -> setTextBackgroundPanX
+ 899:902:void setTextBackgroundPanY(float) -> setTextBackgroundPanY
+ 921:924:void setTextBackgroundRotate(float) -> setTextBackgroundRotate
+ 910:913:void setTextBackgroundZoom(float) -> setTextBackgroundZoom
+ 560:562:void setTextFillColor(int) -> setTextFillColor
+ 570:573:void setTextOutlineColor(int) -> setTextOutlineColor
+ 545:552:void setTextOutlineThickness(float) -> setTextOutlineThickness
+ 971:973:void setTextPanX(float) -> setTextPanX
+ 990:992:void setTextPanY(float) -> setTextPanY
+ 812:818:void setTextSize(float) -> setTextSize
+ 1009:1012:void setTextureHeight(float) -> setTextureHeight
+ 1029:1032:void setTextureWidth(float) -> setTextureWidth
+ 616:624:void setTypeface(android.graphics.Typeface) -> setTypeface
+ 576:613:void setTypefaceFromAttrs(java.lang.String,int,int) -> setTypefaceFromAttrs
+ 346:350:void setUpTheme(android.content.Context,android.util.AttributeSet) -> setUpTheme
+ 358:370:void setupPath() -> setupPath
+ 225:259:void setupTexture() -> setupTexture
+ 927:954:void updateShaderMatrix() -> updateShaderMatrix
+androidx.constraintlayout.utils.widget.MotionLabel$1 -> androidx.constraintlayout.utils.widget.MotionLabel$1:
+ 698:698:void <init>(androidx.constraintlayout.utils.widget.MotionLabel) -> <init>
+ 701:705:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+androidx.constraintlayout.utils.widget.MotionLabel$2 -> androidx.constraintlayout.utils.widget.MotionLabel$2:
+ 755:755:void <init>(androidx.constraintlayout.utils.widget.MotionLabel) -> <init>
+ 758:761:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+androidx.constraintlayout.utils.widget.MotionTelltales -> androidx.constraintlayout.utils.widget.MotionTelltales:
+ 47:57:void <init>(android.content.Context) -> <init>
+ 47:62:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 47:68:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 70:87:void init(android.content.Context,android.util.AttributeSet) -> init
+ 91:93:void onAttachedToWindow() -> onAttachedToWindow
+ 107:138:void onDraw(android.graphics.Canvas) -> onDraw
+ 101:103:void onLayout(boolean,int,int,int,int) -> onLayout
+ 95:97:void setText(java.lang.CharSequence) -> setText
+androidx.constraintlayout.widget.Barrier -> androidx.constraintlayout.widget.Barrier:
+ 118:120:void <init>(android.content.Context) -> <init>
+ 123:125:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 128:130:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 230:230:boolean allowsGoneWidget() -> allowsGoneWidget
+ 239:239:boolean getAllowsGoneWidget() -> getAllowsGoneWidget
+ 259:259:int getMargin() -> getMargin
+ 138:138:int getType() -> getType
+ 193:213:void init(android.util.AttributeSet) -> init
+ 273:282:void loadParameters(androidx.constraintlayout.widget.ConstraintSet$Constraint,androidx.constraintlayout.core.widgets.HelperWidget,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,android.util.SparseArray) -> loadParameters
+ 184:185:void resolveRtl(androidx.constraintlayout.core.widgets.ConstraintWidget,boolean) -> resolveRtl
+ 216:217:void setAllowsGoneWidget(boolean) -> setAllowsGoneWidget
+ 248:251:void setDpMargin(int) -> setDpMargin
+ 268:269:void setMargin(int) -> setMargin
+ 147:148:void setType(int) -> setType
+ 151:180:void updateType(androidx.constraintlayout.core.widgets.ConstraintWidget,int,boolean) -> updateType
+androidx.constraintlayout.widget.ConstraintAttribute -> androidx.constraintlayout.widget.ConstraintAttribute:
+ 44:229:void <init>(java.lang.String,androidx.constraintlayout.widget.ConstraintAttribute$AttributeType) -> <init>
+ 44:236:void <init>(java.lang.String,androidx.constraintlayout.widget.ConstraintAttribute$AttributeType,java.lang.Object,boolean) -> <init>
+ 44:243:void <init>(androidx.constraintlayout.widget.ConstraintAttribute,java.lang.Object) -> <init>
+ 359:412:void applyCustom(android.view.View) -> applyCustom
+ 415:420:int clamp(int) -> clamp
+ 204:223:boolean diff(androidx.constraintlayout.widget.ConstraintAttribute) -> diff
+ 272:296:java.util.HashMap extractAttributes(java.util.HashMap,android.view.View) -> extractAttributes
+ 65:65:androidx.constraintlayout.widget.ConstraintAttribute$AttributeType getType() -> getType
+ 121:136:float getValueToInterpolate() -> getValueToInterpolate
+ 140:170:void getValuesToInterpolate(float[]) -> getValuesToInterpolate
+ 73:79:boolean isContinuous() -> isContinuous
+ 106:111:int numberOfInterpolatedValues() -> numberOfInterpolatedValues
+ 483:540:void parse(android.content.Context,org.xmlpull.v1.XmlPullParser,java.util.HashMap) -> parse
+ 300:356:void setAttributes(android.view.View,java.util.HashMap) -> setAttributes
+ 88:89:void setColorValue(int) -> setColorValue
+ 84:85:void setFloatValue(float) -> setFloatValue
+ 92:93:void setIntValue(int) -> setIntValue
+ 424:480:void setInterpolatedValue(android.view.View,float[]) -> setInterpolatedValue
+ 96:97:void setStringValue(java.lang.String) -> setStringValue
+ 173:195:void setValue(float[]) -> setValue
+ 246:268:void setValue(java.lang.Object) -> setValue
+androidx.constraintlayout.widget.ConstraintAttribute$1 -> androidx.constraintlayout.widget.ConstraintAttribute$1:
+ 73:73:void <clinit>() -> <clinit>
+androidx.constraintlayout.widget.ConstraintAttribute$AttributeType -> androidx.constraintlayout.widget.ConstraintAttribute$AttributeType:
+ 53:61:void <clinit>() -> <clinit>
+ 53:53:void <init>(java.lang.String,int) -> <init>
+ 53:53:androidx.constraintlayout.widget.ConstraintAttribute$AttributeType valueOf(java.lang.String) -> valueOf
+ 53:53:androidx.constraintlayout.widget.ConstraintAttribute$AttributeType[] values() -> values
+androidx.constraintlayout.widget.ConstraintHelper -> androidx.constraintlayout.widget.ConstraintHelper:
+ 48:86:void <init>(android.content.Context) -> <init>
+ 48:92:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 48:98:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 256:276:void addID(java.lang.String) -> addID
+ 207:215:void addRscID(int) -> addRscID
+ 282:315:void addTag(java.lang.String) -> addTag
+ 139:153:void addView(android.view.View) -> addView
+ 444:459:void applyLayoutFeatures(androidx.constraintlayout.widget.ConstraintLayout) -> applyLayoutFeatures
+ 465:469:void applyLayoutFeatures() -> applyLayoutFeatures
+ 474:474:void applyLayoutFeaturesInConstraintSet(androidx.constraintlayout.widget.ConstraintLayout) -> applyLayoutFeaturesInConstraintSet
+ 614:621:boolean containsId(int) -> containsId
+ 583:598:int[] convertReferenceString(android.view.View,java.lang.String) -> convertReferenceString
+ 323:360:int findId(java.lang.String) -> findId
+ 372:394:int findId(androidx.constraintlayout.widget.ConstraintLayout,java.lang.String) -> findId
+ 188:188:int[] getReferencedIds() -> getReferencedIds
+ 523:531:android.view.View[] getViews(androidx.constraintlayout.widget.ConstraintLayout) -> getViews
+ 625:632:int indexFromId(int) -> indexFromId
+ 104:119:void init(android.util.AttributeSet) -> init
+ 563:580:void loadParameters(androidx.constraintlayout.widget.ConstraintSet$Constraint,androidx.constraintlayout.core.widgets.HelperWidget,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,android.util.SparseArray) -> loadParameters
+ 123:130:void onAttachedToWindow() -> onAttachedToWindow
+ 223:223:void onDraw(android.graphics.Canvas) -> onDraw
+ 230:235:void onMeasure(int,int) -> onMeasure
+ 162:180:int removeView(android.view.View) -> removeView
+ 603:603:void resolveRtl(androidx.constraintlayout.core.widgets.ConstraintWidget,boolean) -> resolveRtl
+ 401:416:void setIds(java.lang.String) -> setIds
+ 422:437:void setReferenceTags(java.lang.String) -> setReferenceTags
+ 196:201:void setReferencedIds(int[]) -> setReferencedIds
+ 607:611:void setTag(int,java.lang.Object) -> setTag
+ 554:554:void updatePostConstraints(androidx.constraintlayout.widget.ConstraintLayout) -> updatePostConstraints
+ 542:542:void updatePostLayout(androidx.constraintlayout.widget.ConstraintLayout) -> updatePostLayout
+ 550:550:void updatePostMeasure(androidx.constraintlayout.widget.ConstraintLayout) -> updatePostMeasure
+ 558:558:void updatePreDraw(androidx.constraintlayout.widget.ConstraintLayout) -> updatePreDraw
+ 483:509:void updatePreLayout(androidx.constraintlayout.widget.ConstraintLayout) -> updatePreLayout
+ 514:519:void updatePreLayout(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,androidx.constraintlayout.core.widgets.Helper,android.util.SparseArray) -> updatePreLayout
+ 242:250:void validateParams() -> validateParams
+androidx.constraintlayout.widget.ConstraintLayout -> androidx.constraintlayout.widget.ConstraintLayout:
+ 536:536:void <clinit>() -> <clinit>
+ 499:1550:void <init>(android.content.Context) -> <init>
+ 499:1550:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 499:1550:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 499:1550:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 486:486:int access$000(androidx.constraintlayout.widget.ConstraintLayout) -> access$000
+ 486:486:java.util.ArrayList access$100(androidx.constraintlayout.widget.ConstraintLayout) -> access$100
+ 1257:1480:void applyConstraintsFromLayoutParams(boolean,android.view.View,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,android.util.SparseArray) -> applyConstraintsFromLayoutParams
+ 1958:1958:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 1984:2075:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 1545:1547:void fillMetrics(androidx.constraintlayout.core.Metrics) -> fillMetrics
+ 3598:3600:void forceLayout() -> forceLayout
+ 486:486:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 1942:1942:androidx.constraintlayout.widget.ConstraintLayout$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 486:486:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 1934:1934:androidx.constraintlayout.widget.ConstraintLayout$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 1950:1950:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 572:578:java.lang.Object getDesignInformation(int,java.lang.Object) -> getDesignInformation
+ 1128:1128:int getMaxHeight() -> getMaxHeight
+ 1118:1118:int getMaxWidth() -> getMaxWidth
+ 1081:1081:int getMinHeight() -> getMinHeight
+ 1071:1071:int getMinWidth() -> getMinWidth
+ 1926:1926:int getOptimizationLevel() -> getOptimizationLevel
+ 1734:1743:int getPaddingWidth() -> getPaddingWidth
+ 544:547:androidx.constraintlayout.widget.SharedValues getSharedValues() -> getSharedValues
+ 1502:1515:androidx.constraintlayout.core.widgets.ConstraintWidget getTargetWidget(int) -> getTargetWidget
+ 1976:1976:android.view.View getViewById(int) -> getViewById
+ 1525:1537:androidx.constraintlayout.core.widgets.ConstraintWidget getViewWidget(android.view.View) -> getViewWidget
+ 944:986:void init(android.util.AttributeSet,int,int) -> init
+ 1722:1724:boolean isRtl() -> isRtl
+ 2090:2099:void loadLayoutDescription(int) -> loadLayoutDescription
+ 3603:3611:void markHierarchyDirty() -> markHierarchyDirty
+ 1839:1890:void onLayout(boolean,int,int,int,int) -> onLayout
+ 1641:1719:void onMeasure(int,int) -> onMeasure
+ 1002:1023:void onViewAdded(android.view.View) -> onViewAdded
+ 1030:1036:void onViewRemoved(android.view.View) -> onViewRemoved
+ 994:995:void parseLayoutDescription(int) -> parseLayoutDescription
+ 3592:3594:void requestLayout() -> requestLayout
+ 1611:1634:void resolveMeasuredDimension(int,int,int,int,boolean,boolean) -> resolveMeasuredDimension
+ 1562:1596:void resolveSystem(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int) -> resolveSystem
+ 1149:1249:void setChildrenConstraints() -> setChildrenConstraints
+ 1967:1968:void setConstraintSet(androidx.constraintlayout.widget.ConstraintSet) -> setConstraintSet
+ 554:566:void setDesignInformation(int,java.lang.Object,java.lang.Object) -> setDesignInformation
+ 607:610:void setId(int) -> setId
+ 1103:1108:void setMaxHeight(int) -> setMaxHeight
+ 1090:1095:void setMaxWidth(int) -> setMaxWidth
+ 1057:1062:void setMinHeight(int) -> setMinHeight
+ 1044:1049:void setMinWidth(int) -> setMinWidth
+ 2078:2082:void setOnConstraintsChanged(androidx.constraintlayout.widget.ConstraintsChangedListener) -> setOnConstraintsChanged
+ 1915:1917:void setOptimizationLevel(int) -> setOptimizationLevel
+ 1748:1814:void setSelfDimensionBehaviour(androidx.constraintlayout.core.widgets.ConstraintWidgetContainer,int,int,int,int) -> setSelfDimensionBehaviour
+ 1825:1828:void setState(int,int,int) -> setState
+ 1483:1499:void setWidgetBaseline(androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,android.util.SparseArray,int,androidx.constraintlayout.core.widgets.ConstraintAnchor$Type) -> setWidgetBaseline
+ 3620:3620:boolean shouldDelayChildPressedState() -> shouldDelayChildPressedState
+ 1132:1145:boolean updateHierarchy() -> updateHierarchy
+androidx.constraintlayout.widget.ConstraintLayout$1 -> androidx.constraintlayout.widget.ConstraintLayout$1:
+ 679:679:void <clinit>() -> <clinit>
+androidx.constraintlayout.widget.ConstraintLayout$LayoutParams -> androidx.constraintlayout.widget.ConstraintLayout$LayoutParams:
+ 2216:2724:void <init>(androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> <init>
+ 2216:3353:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 2216:3415:void <init>(int,int) -> <init>
+ 2216:3419:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 3583:3583:java.lang.String getConstraintTag() -> getConstraintTag
+ 2615:2615:androidx.constraintlayout.core.widgets.ConstraintWidget getConstraintWidget() -> getConstraintWidget
+ 2627:2630:void reset() -> reset
+ 3459:3574:void resolveLayoutDirection(int) -> resolveLayoutDirection
+ 2623:2624:void setWidgetDebugName(java.lang.String) -> setWidgetDebugName
+ 3356:3411:void validate() -> validate
+androidx.constraintlayout.widget.ConstraintLayout$LayoutParams$Table -> androidx.constraintlayout.widget.ConstraintLayout$LayoutParams$Table:
+ 2799:2872:void <clinit>() -> <clinit>
+ 2726:2726:void <init>() -> <init>
+androidx.constraintlayout.widget.ConstraintLayout$Measurer -> androidx.constraintlayout.widget.ConstraintLayout$Measurer:
+ 637:639:void <init>(androidx.constraintlayout.widget.ConstraintLayout,androidx.constraintlayout.widget.ConstraintLayout) -> <init>
+ 629:635:void captureLayoutInfo(int,int,int,int,int,int) -> captureLayoutInfo
+ 923:938:void didMeasures() -> didMeasures
+ 906:918:boolean isSimilarSpec(int,int,int) -> isSimilarSpec
+ 645:892:void measure(androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.core.widgets.analyzer.BasicMeasure$Measure) -> measure
+androidx.constraintlayout.widget.ConstraintLayoutStates -> androidx.constraintlayout.widget.ConstraintLayoutStates:
+ 42:51:void <init>(android.content.Context,androidx.constraintlayout.widget.ConstraintLayout,int) -> <init>
+ 285:346:void load(android.content.Context,int) -> load
+ 54:69:boolean needsToChange(int,float,float) -> needsToChange
+ 349:377:void parseConstraintSet(android.content.Context,org.xmlpull.v1.XmlPullParser) -> parseConstraintSet
+ 133:134:void setOnConstraintsChanged(androidx.constraintlayout.widget.ConstraintsChangedListener) -> setOnConstraintsChanged
+ 73:130:void updateConstraints(int,float,float) -> updateConstraints
+androidx.constraintlayout.widget.ConstraintLayoutStates$State -> androidx.constraintlayout.widget.ConstraintLayoutStates$State:
+ 141:168:void <init>(android.content.Context,org.xmlpull.v1.XmlPullParser) -> <init>
+ 171:172:void add(androidx.constraintlayout.widget.ConstraintLayoutStates$Variant) -> add
+ 175:180:int findMatch(float,float) -> findMatch
+androidx.constraintlayout.widget.ConstraintLayoutStates$Variant -> androidx.constraintlayout.widget.ConstraintLayoutStates$Variant:
+ 186:251:void <init>(android.content.Context,org.xmlpull.v1.XmlPullParser) -> <init>
+ 258:270:boolean match(float,float) -> match
+androidx.constraintlayout.widget.ConstraintProperties -> androidx.constraintlayout.widget.ConstraintProperties:
+ 1050:1058:void <init>(android.view.View) -> <init>
+ 738:750:androidx.constraintlayout.widget.ConstraintProperties addToHorizontalChain(int,int) -> addToHorizontalChain
+ 761:773:androidx.constraintlayout.widget.ConstraintProperties addToHorizontalChainRTL(int,int) -> addToHorizontalChainRTL
+ 784:796:androidx.constraintlayout.widget.ConstraintProperties addToVerticalChain(int,int) -> addToVerticalChain
+ 420:421:androidx.constraintlayout.widget.ConstraintProperties alpha(float) -> alpha
+ 1061:1061:void apply() -> apply
+ 114:140:androidx.constraintlayout.widget.ConstraintProperties center(int,int,int,int,int,int,float) -> center
+ 156:159:androidx.constraintlayout.widget.ConstraintProperties centerHorizontally(int,int,int,int,int,int,float) -> centerHorizontally
+ 207:212:androidx.constraintlayout.widget.ConstraintProperties centerHorizontally(int) -> centerHorizontally
+ 175:178:androidx.constraintlayout.widget.ConstraintProperties centerHorizontallyRtl(int,int,int,int,int,int,float) -> centerHorizontallyRtl
+ 222:227:androidx.constraintlayout.widget.ConstraintProperties centerHorizontallyRtl(int) -> centerHorizontallyRtl
+ 194:197:androidx.constraintlayout.widget.ConstraintProperties centerVertically(int,int,int,int,int,int,float) -> centerVertically
+ 237:242:androidx.constraintlayout.widget.ConstraintProperties centerVertically(int) -> centerVertically
+ 905:1027:androidx.constraintlayout.widget.ConstraintProperties connect(int,int,int,int) -> connect
+ 652:653:androidx.constraintlayout.widget.ConstraintProperties constrainDefaultHeight(int) -> constrainDefaultHeight
+ 664:665:androidx.constraintlayout.widget.ConstraintProperties constrainDefaultWidth(int) -> constrainDefaultWidth
+ 581:582:androidx.constraintlayout.widget.ConstraintProperties constrainHeight(int) -> constrainHeight
+ 604:605:androidx.constraintlayout.widget.ConstraintProperties constrainMaxHeight(int) -> constrainMaxHeight
+ 616:617:androidx.constraintlayout.widget.ConstraintProperties constrainMaxWidth(int) -> constrainMaxWidth
+ 628:629:androidx.constraintlayout.widget.ConstraintProperties constrainMinHeight(int) -> constrainMinHeight
+ 640:641:androidx.constraintlayout.widget.ConstraintProperties constrainMinWidth(int) -> constrainMinWidth
+ 592:593:androidx.constraintlayout.widget.ConstraintProperties constrainWidth(int) -> constrainWidth
+ 398:399:androidx.constraintlayout.widget.ConstraintProperties dimensionRatio(java.lang.String) -> dimensionRatio
+ 431:434:androidx.constraintlayout.widget.ConstraintProperties elevation(float) -> elevation
+ 341:365:androidx.constraintlayout.widget.ConstraintProperties goneMargin(int,int) -> goneMargin
+ 375:376:androidx.constraintlayout.widget.ConstraintProperties horizontalBias(float) -> horizontalBias
+ 707:708:androidx.constraintlayout.widget.ConstraintProperties horizontalChainStyle(int) -> horizontalChainStyle
+ 676:677:androidx.constraintlayout.widget.ConstraintProperties horizontalWeight(float) -> horizontalWeight
+ 306:330:androidx.constraintlayout.widget.ConstraintProperties margin(int,int) -> margin
+ 252:295:androidx.constraintlayout.widget.ConstraintProperties removeConstraints(int) -> removeConstraints
+ 842:892:androidx.constraintlayout.widget.ConstraintProperties removeFromHorizontalChain() -> removeFromHorizontalChain
+ 807:831:androidx.constraintlayout.widget.ConstraintProperties removeFromVerticalChain() -> removeFromVerticalChain
+ 444:445:androidx.constraintlayout.widget.ConstraintProperties rotation(float) -> rotation
+ 455:456:androidx.constraintlayout.widget.ConstraintProperties rotationX(float) -> rotationX
+ 466:467:androidx.constraintlayout.widget.ConstraintProperties rotationY(float) -> rotationY
+ 477:478:androidx.constraintlayout.widget.ConstraintProperties scaleX(float) -> scaleX
+ 488:488:androidx.constraintlayout.widget.ConstraintProperties scaleY(float) -> scaleY
+ 1031:1047:java.lang.String sideToString(int) -> sideToString
+ 521:523:androidx.constraintlayout.widget.ConstraintProperties transformPivot(float,float) -> transformPivot
+ 498:499:androidx.constraintlayout.widget.ConstraintProperties transformPivotX(float) -> transformPivotX
+ 509:510:androidx.constraintlayout.widget.ConstraintProperties transformPivotY(float) -> transformPivotY
+ 556:558:androidx.constraintlayout.widget.ConstraintProperties translation(float,float) -> translation
+ 533:534:androidx.constraintlayout.widget.ConstraintProperties translationX(float) -> translationX
+ 544:545:androidx.constraintlayout.widget.ConstraintProperties translationY(float) -> translationY
+ 568:571:androidx.constraintlayout.widget.ConstraintProperties translationZ(float) -> translationZ
+ 386:387:androidx.constraintlayout.widget.ConstraintProperties verticalBias(float) -> verticalBias
+ 726:727:androidx.constraintlayout.widget.ConstraintProperties verticalChainStyle(int) -> verticalChainStyle
+ 688:689:androidx.constraintlayout.widget.ConstraintProperties verticalWeight(float) -> verticalWeight
+ 409:410:androidx.constraintlayout.widget.ConstraintProperties visibility(int) -> visibility
+androidx.constraintlayout.widget.ConstraintSet -> androidx.constraintlayout.widget.ConstraintSet:
+ 241:556:void <clinit>() -> <clinit>
+ 78:244:void <init>() -> <init>
+ 78:78:int access$100(android.content.res.TypedArray,int,int) -> access$100
+ 78:78:java.util.HashMap access$1300(androidx.constraintlayout.widget.ConstraintSet) -> access$1300
+ 78:78:int[] access$200() -> access$200
+ 78:78:void access$300(androidx.constraintlayout.widget.ConstraintSet$Constraint,int,int) -> access$300
+ 78:78:void access$400(androidx.constraintlayout.widget.ConstraintSet$Constraint,int,float) -> access$400
+ 78:78:void access$500(androidx.constraintlayout.widget.ConstraintSet$Constraint,int,java.lang.String) -> access$500
+ 78:78:void access$600(androidx.constraintlayout.widget.ConstraintSet$Constraint,int,boolean) -> access$600
+ 3934:3950:void addAttributes(androidx.constraintlayout.widget.ConstraintAttribute$AttributeType,java.lang.String[]) -> addAttributes
+ 4019:4020:void addColorAttributes(java.lang.String[]) -> addColorAttributes
+ 4023:4024:void addFloatAttributes(java.lang.String[]) -> addFloatAttributes
+ 4015:4016:void addIntAttributes(java.lang.String[]) -> addIntAttributes
+ 4027:4028:void addStringAttributes(java.lang.String[]) -> addStringAttributes
+ 3683:3691:void addToHorizontalChain(int,int,int) -> addToHorizontalChain
+ 3701:3709:void addToHorizontalChainRTL(int,int,int) -> addToHorizontalChainRTL
+ 3719:3727:void addToVerticalChain(int,int,int) -> addToVerticalChain
+ 2285:2305:void applyCustomAttributes(androidx.constraintlayout.widget.ConstraintLayout) -> applyCustomAttributes
+ 677:697:void applyDeltaFrom(androidx.constraintlayout.widget.ConstraintSet) -> applyDeltaFrom
+ 2263:2266:void applyTo(androidx.constraintlayout.widget.ConstraintLayout) -> applyTo
+ 2316:2324:void applyToHelper(androidx.constraintlayout.widget.ConstraintHelper,androidx.constraintlayout.core.widgets.ConstraintWidget,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,android.util.SparseArray) -> applyToHelper
+ 2345:2475:void applyToInternal(androidx.constraintlayout.widget.ConstraintLayout,boolean) -> applyToInternal
+ 2333:2339:void applyToLayoutParams(int,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> applyToLayoutParams
+ 2275:2277:void applyToWithoutCustom(androidx.constraintlayout.widget.ConstraintLayout) -> applyToWithoutCustom
+ 4232:4237:androidx.constraintlayout.widget.ConstraintSet$Constraint buildDelta(android.content.Context,org.xmlpull.v1.XmlPullParser) -> buildDelta
+ 2497:2529:void center(int,int,int,int,int,int,int,float) -> center
+ 2546:2552:void centerHorizontally(int,int,int,int,int,int,int,float) -> centerHorizontally
+ 2978:2983:void centerHorizontally(int,int) -> centerHorizontally
+ 2570:2576:void centerHorizontallyRtl(int,int,int,int,int,int,int,float) -> centerHorizontallyRtl
+ 2992:2997:void centerHorizontallyRtl(int,int) -> centerHorizontallyRtl
+ 2593:2599:void centerVertically(int,int,int,int,int,int,int,float) -> centerVertically
+ 3006:3011:void centerVertically(int,int) -> centerVertically
+ 3019:3020:void clear(int) -> clear
+ 3029:3087:void clear(int,int) -> clear
+ 2146:2147:void clone(android.content.Context,int) -> clone
+ 2155:2163:void clone(androidx.constraintlayout.widget.ConstraintSet) -> clone
+ 2171:2224:void clone(androidx.constraintlayout.widget.ConstraintLayout) -> clone
+ 2232:2255:void clone(androidx.constraintlayout.widget.Constraints) -> clone
+ 2721:2843:void connect(int,int,int,int,int) -> connect
+ 2855:2969:void connect(int,int,int,int) -> connect
+ 3489:3493:void constrainCircle(int,int,int,float) -> constrainCircle
+ 3574:3575:void constrainDefaultHeight(int,int) -> constrainDefaultHeight
+ 3610:3611:void constrainDefaultWidth(int,int) -> constrainDefaultWidth
+ 3464:3465:void constrainHeight(int,int) -> constrainHeight
+ 3504:3505:void constrainMaxHeight(int,int) -> constrainMaxHeight
+ 3516:3517:void constrainMaxWidth(int,int) -> constrainMaxWidth
+ 3528:3529:void constrainMinHeight(int,int) -> constrainMinHeight
+ 3540:3541:void constrainMinWidth(int,int) -> constrainMinWidth
+ 3562:3563:void constrainPercentHeight(int,float) -> constrainPercentHeight
+ 3551:3552:void constrainPercentWidth(int,float) -> constrainPercentWidth
+ 3476:3477:void constrainWidth(int,int) -> constrainWidth
+ 3598:3599:void constrainedHeight(int,boolean) -> constrainedHeight
+ 3586:3587:void constrainedWidth(int,boolean) -> constrainedWidth
+ 5224:5256:int[] convertReferenceString(android.view.View,java.lang.String) -> convertReferenceString
+ 3823:3826:void create(int,int) -> create
+ 3837:3843:void createBarrier(int,int,int,int[]) -> createBarrier
+ 2659:2660:void createHorizontalChain(int,int,int,int,int[],float[],int) -> createHorizontalChain
+ 2684:2707:void createHorizontalChain(int,int,int,int,int[],float[],int,int,int) -> createHorizontalChain
+ 2678:2679:void createHorizontalChainRtl(int,int,int,int,int[],float[],int) -> createHorizontalChainRtl
+ 2618:2639:void createVerticalChain(int,int,int,int,int[],float[],int) -> createVerticalChain
+ 5316:5343:void dump(androidx.constraintlayout.motion.widget.MotionScene,int[]) -> dump
+ 4217:4221:androidx.constraintlayout.widget.ConstraintSet$Constraint fillFromAttributeList(android.content.Context,android.util.AttributeSet,boolean) -> fillFromAttributeList
+ 4031:4034:androidx.constraintlayout.widget.ConstraintSet$Constraint get(int) -> get
+ 3269:3269:boolean getApplyElevation(int) -> getApplyElevation
+ 5263:5266:androidx.constraintlayout.widget.ConstraintSet$Constraint getConstraint(int) -> getConstraint
+ 559:559:java.util.HashMap getCustomAttributeSet() -> getCustomAttributeSet
+ 5359:5376:java.lang.String getDebugName(int) -> getDebugName
+ 3240:3240:int getHeight(int) -> getHeight
+ 5273:5278:int[] getKnownIds() -> getKnownIds
+ 5354:5355:java.lang.String getLine(android.content.Context,int,org.xmlpull.v1.XmlPullParser) -> getLine
+ 563:563:androidx.constraintlayout.widget.ConstraintSet$Constraint getParameters(int) -> getParameters
+ 3889:3893:int[] getReferencedIds(int) -> getReferencedIds
+ 3230:3230:int getVisibility(int) -> getVisibility
+ 3220:3220:int getVisibilityMode(int) -> getVisibilityMode
+ 3250:3250:int getWidth(int) -> getWidth
+ 5286:5286:boolean isForceId() -> isForceId
+ 4066:4102:void load(android.content.Context,int) -> load
+ 4111:4206:void load(android.content.Context,org.xmlpull.v1.XmlPullParser) -> load
+ 4209:4213:int lookupID(android.content.res.TypedArray,int,int) -> lookupID
+ 3965:3974:void parseColorAttributes(androidx.constraintlayout.widget.ConstraintSet$Constraint,java.lang.String) -> parseColorAttributes
+ 707:779:void parseDimensionConstraints(java.lang.Object,android.content.res.TypedArray,int,int) -> parseDimensionConstraints
+ 859:963:void parseDimensionConstraintsString(java.lang.Object,java.lang.String,int) -> parseDimensionConstraintsString
+ 787:837:void parseDimensionRatioString(androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,java.lang.String) -> parseDimensionRatioString
+ 3977:3986:void parseFloatAttributes(androidx.constraintlayout.widget.ConstraintSet$Constraint,java.lang.String) -> parseFloatAttributes
+ 3953:3962:void parseIntAttributes(androidx.constraintlayout.widget.ConstraintSet$Constraint,java.lang.String) -> parseIntAttributes
+ 3989:3995:void parseStringAttributes(androidx.constraintlayout.widget.ConstraintSet$Constraint,java.lang.String) -> parseStringAttributes
+ 4835:5221:void populateConstraint(android.content.Context,androidx.constraintlayout.widget.ConstraintSet$Constraint,android.content.res.TypedArray,boolean) -> populateConstraint
+ 4242:4558:void populateOverride(android.content.Context,androidx.constraintlayout.widget.ConstraintSet$Constraint,android.content.res.TypedArray) -> populateOverride
+ 573:602:void readFallback(androidx.constraintlayout.widget.ConstraintSet) -> readFallback
+ 610:674:void readFallback(androidx.constraintlayout.widget.ConstraintLayout) -> readFallback
+ 3914:3915:void removeAttribute(java.lang.String) -> removeAttribute
+ 3770:3814:void removeFromHorizontalChain(int) -> removeFromHorizontalChain
+ 3737:3760:void removeFromVerticalChain(int) -> removeFromVerticalChain
+ 3260:3261:void setAlpha(int,float) -> setAlpha
+ 3280:3283:void setApplyElevation(int,boolean) -> setApplyElevation
+ 3909:3911:void setBarrierType(int,int) -> setBarrierType
+ 3922:3923:void setColorValue(int,java.lang.String,int) -> setColorValue
+ 4561:4641:void setDeltaValue(androidx.constraintlayout.widget.ConstraintSet$Constraint,int,float) -> setDeltaValue
+ 4644:4786:void setDeltaValue(androidx.constraintlayout.widget.ConstraintSet$Constraint,int,int) -> setDeltaValue
+ 4789:4811:void setDeltaValue(androidx.constraintlayout.widget.ConstraintSet$Constraint,int,java.lang.String) -> setDeltaValue
+ 4814:4832:void setDeltaValue(androidx.constraintlayout.widget.ConstraintSet$Constraint,int,boolean) -> setDeltaValue
+ 3189:3190:void setDimensionRatio(int,java.lang.String) -> setDimensionRatio
+ 3436:3437:void setEditorAbsoluteX(int,int) -> setEditorAbsoluteX
+ 3443:3444:void setEditorAbsoluteY(int,int) -> setEditorAbsoluteY
+ 3292:3296:void setElevation(int,float) -> setElevation
+ 3926:3927:void setFloatValue(int,java.lang.String,float) -> setFloatValue
+ 5296:5297:void setForceId(boolean) -> setForceId
+ 3133:3159:void setGoneMargin(int,int,int) -> setGoneMargin
+ 3852:3856:void setGuidelineBegin(int,int) -> setGuidelineBegin
+ 3865:3868:void setGuidelineEnd(int,int) -> setGuidelineEnd
+ 3877:3880:void setGuidelinePercent(int,float) -> setGuidelinePercent
+ 3168:3169:void setHorizontalBias(int,float) -> setHorizontalBias
+ 3652:3653:void setHorizontalChainStyle(int,int) -> setHorizontalChainStyle
+ 3621:3622:void setHorizontalWeight(int,float) -> setHorizontalWeight
+ 3918:3919:void setIntValue(int,java.lang.String,int) -> setIntValue
+ 3450:3453:void setLayoutWrapBehavior(int,int) -> setLayoutWrapBehavior
+ 3097:3123:void setMargin(int,int,int) -> setMargin
+ 3904:3906:void setReferencedIds(int,int[]) -> setReferencedIds
+ 3305:3306:void setRotation(int,float) -> setRotation
+ 3315:3316:void setRotationX(int,float) -> setRotationX
+ 3325:3326:void setRotationY(int,float) -> setRotationY
+ 3335:3336:void setScaleX(int,float) -> setScaleX
+ 3345:3346:void setScaleY(int,float) -> setScaleY
+ 3930:3931:void setStringValue(int,java.lang.String,java.lang.String) -> setStringValue
+ 3382:3385:void setTransformPivot(int,float,float) -> setTransformPivot
+ 3357:3358:void setTransformPivotX(int,float) -> setTransformPivotX
+ 3369:3370:void setTransformPivotY(int,float) -> setTransformPivotY
+ 3415:3418:void setTranslation(int,float,float) -> setTranslation
+ 3394:3395:void setTranslationX(int,float) -> setTranslationX
+ 3404:3405:void setTranslationY(int,float) -> setTranslationY
+ 3427:3430:void setTranslationZ(int,float) -> setTranslationZ
+ 5306:5307:void setValidateOnParse(boolean) -> setValidateOnParse
+ 3178:3179:void setVerticalBias(int,float) -> setVerticalBias
+ 3672:3673:void setVerticalChainStyle(int,int) -> setVerticalChainStyle
+ 3632:3633:void setVerticalWeight(int,float) -> setVerticalWeight
+ 3199:3200:void setVisibility(int,int) -> setVisibility
+ 3210:3211:void setVisibilityMode(int,int) -> setVisibilityMode
+ 4038:4054:java.lang.String sideToString(int) -> sideToString
+ 3998:4011:java.lang.String[] splitString(java.lang.String) -> splitString
+ 5380:5388:void writeState(java.io.Writer,androidx.constraintlayout.widget.ConstraintLayout,int) -> writeState
+androidx.constraintlayout.widget.ConstraintSet$Constraint -> androidx.constraintlayout.widget.ConstraintSet$Constraint:
+ 1805:1812:void <init>() -> <init>
+ 1805:1805:void access$000(androidx.constraintlayout.widget.ConstraintSet$Constraint,int,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> access$000
+ 1805:1805:void access$1000(androidx.constraintlayout.widget.ConstraintSet$Constraint,java.lang.String,int) -> access$1000
+ 1805:1805:void access$1100(androidx.constraintlayout.widget.ConstraintSet$Constraint,java.lang.String,float) -> access$1100
+ 1805:1805:void access$1200(androidx.constraintlayout.widget.ConstraintSet$Constraint,java.lang.String,java.lang.String) -> access$1200
+ 1805:1805:void access$700(androidx.constraintlayout.widget.ConstraintSet$Constraint,androidx.constraintlayout.widget.ConstraintHelper,int,androidx.constraintlayout.widget.Constraints$LayoutParams) -> access$700
+ 1805:1805:void access$800(androidx.constraintlayout.widget.ConstraintSet$Constraint,int,androidx.constraintlayout.widget.Constraints$LayoutParams) -> access$800
+ 1805:1805:void access$900(androidx.constraintlayout.widget.ConstraintSet$Constraint,java.lang.String,int) -> access$900
+ 1912:1915:void applyDelta(androidx.constraintlayout.widget.ConstraintSet$Constraint) -> applyDelta
+ 2066:2135:void applyTo(androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> applyTo
+ 1805:1805:java.lang.Object clone() -> clone
+ 1957:1964:androidx.constraintlayout.widget.ConstraintSet$Constraint clone() -> clone
+ 1996:2063:void fillFrom(int,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> fillFrom
+ 1968:1976:void fillFromConstraints(androidx.constraintlayout.widget.ConstraintHelper,int,androidx.constraintlayout.widget.Constraints$LayoutParams) -> fillFromConstraints
+ 1979:1993:void fillFromConstraints(int,androidx.constraintlayout.widget.Constraints$LayoutParams) -> fillFromConstraints
+ 1927:1937:androidx.constraintlayout.widget.ConstraintAttribute get(java.lang.String,androidx.constraintlayout.widget.ConstraintAttribute$AttributeType) -> get
+ 1918:1923:void printDelta(java.lang.String) -> printDelta
+ 1953:1954:void setColorValue(java.lang.String,int) -> setColorValue
+ 1945:1946:void setFloatValue(java.lang.String,float) -> setFloatValue
+ 1949:1950:void setIntValue(java.lang.String,int) -> setIntValue
+ 1941:1942:void setStringValue(java.lang.String,java.lang.String) -> setStringValue
+androidx.constraintlayout.widget.ConstraintSet$Constraint$Delta -> androidx.constraintlayout.widget.ConstraintSet$Constraint$Delta:
+ 1815:1861:void <init>() -> <init>
+ 1825:1831:void add(int,int) -> add
+ 1838:1844:void add(int,float) -> add
+ 1851:1857:void add(int,java.lang.String) -> add
+ 1864:1870:void add(int,boolean) -> add
+ 1873:1885:void applyDelta(androidx.constraintlayout.widget.ConstraintSet$Constraint) -> applyDelta
+ 1889:1908:void printDelta(java.lang.String) -> printDelta
+androidx.constraintlayout.widget.ConstraintSet$Layout -> androidx.constraintlayout.widget.ConstraintSet$Layout:
+ 1117:1238:void <clinit>() -> <clinit>
+ 968:1039:void <init>() -> <init>
+ 1042:1115:void copyFrom(androidx.constraintlayout.widget.ConstraintSet$Layout) -> copyFrom
+ 1465:1510:void dump(androidx.constraintlayout.motion.widget.MotionScene,java.lang.StringBuilder) -> dump
+ 1241:1462:void fillFromAttributeList(android.content.Context,android.util.AttributeSet) -> fillFromAttributeList
+androidx.constraintlayout.widget.ConstraintSet$Motion -> androidx.constraintlayout.widget.ConstraintSet$Motion:
+ 1709:1733:void <clinit>() -> <clinit>
+ 1678:1692:void <init>() -> <init>
+ 1699:1707:void copyFrom(androidx.constraintlayout.widget.ConstraintSet$Motion) -> copyFrom
+ 1736:1799:void fillFromAttributeList(android.content.Context,android.util.AttributeSet) -> fillFromAttributeList
+androidx.constraintlayout.widget.ConstraintSet$PropertySet -> androidx.constraintlayout.widget.ConstraintSet$PropertySet:
+ 1638:1643:void <init>() -> <init>
+ 1646:1651:void copyFrom(androidx.constraintlayout.widget.ConstraintSet$PropertySet) -> copyFrom
+ 1654:1672:void fillFromAttributeList(android.content.Context,android.util.AttributeSet) -> fillFromAttributeList
+androidx.constraintlayout.widget.ConstraintSet$Transform -> androidx.constraintlayout.widget.ConstraintSet$Transform:
+ 1549:1578:void <clinit>() -> <clinit>
+ 1516:1530:void <init>() -> <init>
+ 1533:1547:void copyFrom(androidx.constraintlayout.widget.ConstraintSet$Transform) -> copyFrom
+ 1581:1632:void fillFromAttributeList(android.content.Context,android.util.AttributeSet) -> fillFromAttributeList
+androidx.constraintlayout.widget.ConstraintSet$WriteJsonEngine -> androidx.constraintlayout.widget.ConstraintSet$WriteJsonEngine:
+ 5656:5776:void <init>(androidx.constraintlayout.widget.ConstraintSet,java.io.Writer,androidx.constraintlayout.widget.ConstraintLayout,int) -> <init>
+ 5779:5787:java.lang.String getName(int) -> getName
+ 5792:5798:java.lang.String lookup(int) -> lookup
+ 5819:5827:void writeCircle(int,float,int) -> writeCircle
+ 5803:5816:void writeConstraint(java.lang.String,int,java.lang.String,int,int) -> writeConstraint
+ 5736:5774:void writeDimension(java.lang.String,int,int,float,int,int,boolean) -> writeDimension
+ 5727:5727:void writeGuideline(int,int,int,float) -> writeGuideline
+ 5674:5724:void writeLayout() -> writeLayout
+ 5830:5839:void writeVariable(java.lang.String,int) -> writeVariable
+ 5842:5850:void writeVariable(java.lang.String,float) -> writeVariable
+ 5853:5861:void writeVariable(java.lang.String,float,float) -> writeVariable
+ 5864:5872:void writeVariable(java.lang.String,boolean) -> writeVariable
+ 5874:5882:void writeVariable(java.lang.String,boolean,boolean) -> writeVariable
+ 5885:5894:void writeVariable(java.lang.String,int[]) -> writeVariable
+ 5897:5905:void writeVariable(java.lang.String,java.lang.String) -> writeVariable
+androidx.constraintlayout.widget.ConstraintSet$WriteXmlEngine -> androidx.constraintlayout.widget.ConstraintSet$WriteXmlEngine:
+ 5395:5539:void <init>(androidx.constraintlayout.widget.ConstraintSet,java.io.Writer,androidx.constraintlayout.widget.ConstraintLayout,int) -> <init>
+ 5542:5550:java.lang.String getName(int) -> getName
+ 5555:5561:java.lang.String lookup(int) -> lookup
+ 5526:5537:void writeBaseDimension(java.lang.String,int,int) -> writeBaseDimension
+ 5511:5513:void writeBoolen(java.lang.String,boolean,boolean) -> writeBoolen
+ 5591:5599:void writeCircle(int,float,int) -> writeCircle
+ 5575:5588:void writeConstraint(java.lang.String,int,java.lang.String,int,int) -> writeConstraint
+ 5521:5523:void writeDimension(java.lang.String,int,int) -> writeDimension
+ 5516:5518:void writeEnum(java.lang.String,int,java.lang.String[],int) -> writeEnum
+ 5412:5506:void writeLayout() -> writeLayout
+ 5602:5606:void writeVariable(java.lang.String,int) -> writeVariable
+ 5609:5615:void writeVariable(java.lang.String,float,float) -> writeVariable
+ 5618:5624:void writeVariable(java.lang.String,java.lang.String,java.lang.String) -> writeVariable
+ 5627:5636:void writeVariable(java.lang.String,int[]) -> writeVariable
+ 5639:5647:void writeVariable(java.lang.String,java.lang.String) -> writeVariable
+ 5566:5572:void writeXmlConstraint(java.lang.String,int) -> writeXmlConstraint
+androidx.constraintlayout.widget.Constraints -> androidx.constraintlayout.widget.Constraints:
+ 41:43:void <init>(android.content.Context) -> <init>
+ 46:49:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 52:55:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 35:35:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 136:136:androidx.constraintlayout.widget.Constraints$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 35:35:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 62:62:androidx.constraintlayout.widget.Constraints$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 148:148:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 152:157:androidx.constraintlayout.widget.ConstraintSet getConstraintSet() -> getConstraintSet
+ 140:141:void init(android.util.AttributeSet) -> init
+ 163:163:void onLayout(boolean,int,int,int,int) -> onLayout
+androidx.constraintlayout.widget.Constraints$LayoutParams -> androidx.constraintlayout.widget.Constraints$LayoutParams:
+ 67:83:void <init>(int,int) -> <init>
+ 67:87:void <init>(androidx.constraintlayout.widget.Constraints$LayoutParams) -> <init>
+ 67:127:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+androidx.constraintlayout.widget.ConstraintsChangedListener -> androidx.constraintlayout.widget.ConstraintsChangedListener:
+ 24:24:void <init>() -> <init>
+ 42:42:void postLayoutChange(int,int) -> postLayoutChange
+ 33:33:void preLayoutChange(int,int) -> preLayoutChange
+androidx.constraintlayout.widget.Group -> androidx.constraintlayout.widget.Group:
+ 39:40:void <init>(android.content.Context) -> <init>
+ 43:44:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 47:48:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 83:84:void applyLayoutFeaturesInConstraintSet(androidx.constraintlayout.widget.ConstraintLayout) -> applyLayoutFeaturesInConstraintSet
+ 55:57:void init(android.util.AttributeSet) -> init
+ 61:63:void onAttachedToWindow() -> onAttachedToWindow
+ 73:75:void setElevation(float) -> setElevation
+ 67:69:void setVisibility(int) -> setVisibility
+ 92:95:void updatePostLayout(androidx.constraintlayout.widget.ConstraintLayout) -> updatePostLayout
+androidx.constraintlayout.widget.Guideline -> androidx.constraintlayout.widget.Guideline:
+ 55:57:void <init>(android.content.Context) -> <init>
+ 60:62:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 65:67:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 70:72:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 90:90:void draw(android.graphics.Canvas) -> draw
+ 97:98:void onMeasure(int,int) -> onMeasure
+ 106:109:void setGuidelineBegin(int) -> setGuidelineBegin
+ 117:120:void setGuidelineEnd(int) -> setGuidelineEnd
+ 127:130:void setGuidelinePercent(float) -> setGuidelinePercent
+ 79:79:void setVisibility(int) -> setVisibility
+androidx.constraintlayout.widget.Placeholder -> androidx.constraintlayout.widget.Placeholder:
+ 46:53:void <init>(android.content.Context) -> <init>
+ 46:58:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 46:63:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 46:68:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 114:114:android.view.View getContent() -> getContent
+ 106:106:int getEmptyVisibility() -> getEmptyVisibility
+ 71:88:void init(android.util.AttributeSet) -> init
+ 125:147:void onDraw(android.graphics.Canvas) -> onDraw
+ 176:194:void setContentId(int) -> setContentId
+ 97:98:void setEmptyVisibility(int) -> setEmptyVisibility
+ 201:215:void updatePostMeasure(androidx.constraintlayout.widget.ConstraintLayout) -> updatePostMeasure
+ 154:168:void updatePreLayout(androidx.constraintlayout.widget.ConstraintLayout) -> updatePreLayout
+androidx.constraintlayout.widget.ReactiveGuide -> androidx.constraintlayout.widget.ReactiveGuide:
+ 32:41:void <init>(android.content.Context) -> <init>
+ 32:47:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 32:53:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 32:59:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 208:211:void changeValue(int,int,androidx.constraintlayout.motion.widget.MotionLayout,int) -> changeValue
+ 125:125:void draw(android.graphics.Canvas) -> draw
+ 99:99:int getApplyToConstraintSetId() -> getApplyToConstraintSetId
+ 85:85:int getAttributeId() -> getAttributeId
+ 62:83:void init(android.util.AttributeSet) -> init
+ 106:106:boolean isAnimatingChange() -> isAnimatingChange
+ 132:133:void onMeasure(int,int) -> onMeasure
+ 169:205:void onNewValue(int,int,int) -> onNewValue
+ 109:110:void setAnimateChange(boolean) -> setAnimateChange
+ 103:104:void setApplyToConstraintSetId(int) -> setApplyToConstraintSetId
+ 88:96:void setAttributeId(int) -> setAttributeId
+ 141:144:void setGuidelineBegin(int) -> setGuidelineBegin
+ 152:155:void setGuidelineEnd(int) -> setGuidelineEnd
+ 162:165:void setGuidelinePercent(float) -> setGuidelinePercent
+ 117:117:void setVisibility(int) -> setVisibility
+androidx.constraintlayout.widget.SharedValues -> androidx.constraintlayout.widget.SharedValues:
+ 30:34:void <init>() -> <init>
+ 41:47:void addListener(int,androidx.constraintlayout.widget.SharedValues$SharedValuesListener) -> addListener
+ 71:72:void clearListeners() -> clearListeners
+ 79:110:void fireNewValue(int,int) -> fireNewValue
+ 75:75:int getValue(int) -> getValue
+ 50:62:void removeListener(int,androidx.constraintlayout.widget.SharedValues$SharedValuesListener) -> removeListener
+ 65:68:void removeListener(androidx.constraintlayout.widget.SharedValues$SharedValuesListener) -> removeListener
+androidx.constraintlayout.widget.StateSet -> androidx.constraintlayout.widget.StateSet:
+ 41:57:void <init>(android.content.Context,org.xmlpull.v1.XmlPullParser) -> <init>
+ 179:207:int convertToConstraintSet(int,int,float,float) -> convertToConstraintSet
+ 70:140:void load(android.content.Context,org.xmlpull.v1.XmlPullParser) -> load
+ 143:158:boolean needsToChange(int,float,float) -> needsToChange
+ 162:163:void setOnConstraintsChanged(androidx.constraintlayout.widget.ConstraintsChangedListener) -> setOnConstraintsChanged
+ 166:166:int stateGetConstraintID(int,int,int) -> stateGetConstraintID
+ 212:241:int updateConstraints(int,int,float,float) -> updateConstraints
+androidx.constraintlayout.widget.StateSet$State -> androidx.constraintlayout.widget.StateSet$State:
+ 251:273:void <init>(android.content.Context,org.xmlpull.v1.XmlPullParser) -> <init>
+ 276:277:void add(androidx.constraintlayout.widget.StateSet$Variant) -> add
+ 280:285:int findMatch(float,float) -> findMatch
+androidx.constraintlayout.widget.StateSet$Variant -> androidx.constraintlayout.widget.StateSet$Variant:
+ 291:344:void <init>(android.content.Context,org.xmlpull.v1.XmlPullParser) -> <init>
+ 351:363:boolean match(float,float) -> match
+androidx.constraintlayout.widget.VirtualLayout -> androidx.constraintlayout.widget.VirtualLayout:
+ 35:36:void <init>(android.content.Context) -> <init>
+ 39:40:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 43:44:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 125:126:void applyLayoutFeaturesInConstraintSet(androidx.constraintlayout.widget.ConstraintLayout) -> applyLayoutFeaturesInConstraintSet
+ 48:62:void init(android.util.AttributeSet) -> init
+ 73:99:void onAttachedToWindow() -> onAttachedToWindow
+ 66:66:void onMeasure(androidx.constraintlayout.core.widgets.VirtualLayout,int,int) -> onMeasure
+ 115:117:void setElevation(float) -> setElevation
+ 106:108:void setVisibility(int) -> setVisibility
+androidx.coordinatorlayout.widget.CoordinatorLayout -> androidx.coordinatorlayout.widget.CoordinatorLayout:
+ 118:152:void <clinit>() -> <clinit>
+ 207:208:void <init>(android.content.Context) -> <init>
+ 211:212:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 168:255:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 156:160:android.graphics.Rect acquireTempRect() -> acquireTempRect
+ 1615:1627:void addPreDrawListener() -> addPreDrawListener
+ 1760:1760:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 1281:1286:int clamp(int,int,int) -> clamp
+ 1066:1078:void constrainChildRect(androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams,android.graphics.Rect,int,int) -> constrainChildRect
+ 854:875:androidx.core.view.WindowInsetsCompat dispatchApplyWindowInsetsToBehaviors(androidx.core.view.WindowInsetsCompat) -> dispatchApplyWindowInsetsToBehaviors
+ 1523:1535:void dispatchDependentViewsChanged(android.view.View) -> dispatchDependentViewsChanged
+ 1722:1735:boolean doViewsOverlap(android.view.View,android.view.View) -> doViewsOverlap
+ 1253:1277:boolean drawChild(android.graphics.Canvas,android.view.View,long) -> drawChild
+ 332:345:void drawableStateChanged() -> drawableStateChanged
+ 1584:1601:void ensurePreDrawListener() -> ensurePreDrawListener
+ 112:112:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 1755:1755:androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 112:112:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 112:112:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 1740:1740:androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 1745:1750:androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 979:988:void getChildRect(android.view.View,boolean,android.graphics.Rect) -> getChildRect
+ 1547:1552:java.util.List getDependencies(android.view.View) -> getDependencies
+ 1576:1577:java.util.List getDependencySortedChildren() -> getDependencySortedChildren
+ 1566:1571:java.util.List getDependents(android.view.View) -> getDependents
+ 732:733:void getDescendantRect(android.view.View,android.graphics.Rect) -> getDescendantRect
+ 1090:1096:void getDesiredAnchoredChildRect(android.view.View,int,android.graphics.Rect,android.graphics.Rect) -> getDesiredAnchoredChildRect
+ 992:1063:void getDesiredAnchoredChildRectWithoutConstraints(android.view.View,int,android.graphics.Rect,android.graphics.Rect,androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams,int,int) -> getDesiredAnchoredChildRectWithoutConstraints
+ 600:610:int getKeyline(int) -> getKeyline
+ 965:967:void getLastChildRect(android.view.View,android.graphics.Rect) -> getLastChildRect
+ 401:401:androidx.core.view.WindowInsetsCompat getLastWindowInsets() -> getLastWindowInsets
+ 2017:2017:int getNestedScrollAxes() -> getNestedScrollAxes
+ 654:685:androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams getResolvedLayoutParams(android.view.View) -> getResolvedLayoutParams
+ 327:327:android.graphics.drawable.Drawable getStatusBarBackground() -> getStatusBarBackground
+ 742:742:int getSuggestedMinimumHeight() -> getSuggestedMinimumHeight
+ 737:737:int getSuggestedMinimumWidth() -> getSuggestedMinimumWidth
+ 444:457:void getTopSortedChildren(java.util.List) -> getTopSortedChildren
+ 1607:1607:boolean hasDependencies(android.view.View) -> hasDependencies
+ 1704:1710:boolean isPointInChildBounds(android.view.View,int,int) -> isPointInChildBounds
+ 1193:1217:void layoutChild(android.view.View,int) -> layoutChild
+ 1106:1116:void layoutChildWithAnchor(android.view.View,android.view.View,int) -> layoutChildWithAnchor
+ 1130:1183:void layoutChildWithKeyline(android.view.View,int,int) -> layoutChildWithKeyline
+ 1413:1491:void offsetChildByInset(android.view.View,android.graphics.Rect,int) -> offsetChildByInset
+ 1653:1692:void offsetChildToAnchor(android.view.View,int) -> offsetChildToAnchor
+ 264:279:void onAttachedToWindow() -> onAttachedToWindow
+ 1307:1409:void onChildViewsChanged(int) -> onChildViewsChanged
+ 283:293:void onDetachedFromWindow() -> onDetachedFromWindow
+ 926:934:void onDraw(android.graphics.Canvas) -> onDraw
+ 532:545:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 906:922:void onLayout(boolean,int,int,int,int) -> onLayout
+ 889:901:void onLayoutChild(android.view.View,int) -> onLayoutChild
+ 767:850:void onMeasure(int,int) -> onMeasure
+ 760:762:void onMeasureChild(android.view.View,int,int,int,int) -> onMeasureChild
+ 1962:1986:boolean onNestedFling(android.view.View,float,float,boolean) -> onNestedFling
+ 1992:2012:boolean onNestedPreFling(android.view.View,float,float) -> onNestedPreFling
+ 1913:1914:void onNestedPreScroll(android.view.View,int,int,int[]) -> onNestedPreScroll
+ 1919:1957:void onNestedPreScroll(android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 1852:1854:void onNestedScroll(android.view.View,int,int,int,int) -> onNestedScroll
+ 1859:1861:void onNestedScroll(android.view.View,int,int,int,int,int) -> onNestedScroll
+ 1868:1909:void onNestedScroll(android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 1796:1797:void onNestedScrollAccepted(android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 1802:1819:void onNestedScrollAccepted(android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 3241:3264:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 3269:3287:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 1765:1765:boolean onStartNestedScroll(android.view.View,android.view.View,int) -> onStartNestedScroll
+ 1771:1791:boolean onStartNestedScroll(android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 1823:1824:void onStopNestedScroll(android.view.View) -> onStopNestedScroll
+ 1829:1847:void onStopNestedScroll(android.view.View,int) -> onStopNestedScroll
+ 551:587:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 615:649:androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior parseBehavior(android.content.Context,android.util.AttributeSet,java.lang.String) -> parseBehavior
+ 461:527:boolean performIntercept(android.view.MotionEvent,int) -> performIntercept
+ 689:722:void prepareChildren() -> prepareChildren
+ 953:955:void recordLastChildRect(android.view.View,android.graphics.Rect) -> recordLastChildRect
+ 164:166:void releaseTempRect(android.graphics.Rect) -> releaseTempRect
+ 1634:1641:void removePreDrawListener() -> removePreDrawListener
+ 3293:3301:boolean requestChildRectangleOnScreen(android.view.View,android.graphics.Rect,boolean) -> requestChildRectangleOnScreen
+ 592:597:void requestDisallowInterceptTouchEvent(boolean) -> requestDisallowInterceptTouchEvent
+ 412:437:void resetTouchBehaviors(boolean) -> resetTouchBehaviors
+ 1247:1247:int resolveAnchoredChildGravity(int) -> resolveAnchoredChildGravity
+ 1225:1231:int resolveGravity(int) -> resolveGravity
+ 1239:1239:int resolveKeylineGravity(int) -> resolveKeylineGravity
+ 938:940:void setFitsSystemWindows(boolean) -> setFitsSystemWindows
+ 1494:1500:void setInsetOffsetX(android.view.View,int) -> setInsetOffsetX
+ 1503:1509:void setInsetOffsetY(android.view.View,int) -> setInsetOffsetY
+ 259:260:void setOnHierarchyChangeListener(android.view.ViewGroup$OnHierarchyChangeListener) -> setOnHierarchyChangeListener
+ 302:318:void setStatusBarBackground(android.graphics.drawable.Drawable) -> setStatusBarBackground
+ 380:381:void setStatusBarBackgroundColor(int) -> setStatusBarBackgroundColor
+ 369:370:void setStatusBarBackgroundResource(int) -> setStatusBarBackgroundResource
+ 354:360:void setVisibility(int) -> setVisibility
+ 384:393:androidx.core.view.WindowInsetsCompat setWindowInsets(androidx.core.view.WindowInsetsCompat) -> setWindowInsets
+ 3305:3329:void setupForInsets() -> setupForInsets
+ 349:349:boolean verifyDrawable(android.graphics.drawable.Drawable) -> verifyDrawable
+androidx.coordinatorlayout.widget.CoordinatorLayout$1 -> androidx.coordinatorlayout.widget.CoordinatorLayout$1:
+ 3312:3312:void <init>(androidx.coordinatorlayout.widget.CoordinatorLayout) -> <init>
+ 3316:3316:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior -> androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior:
+ 2091:2092:void <init>() -> <init>
+ 2102:2103:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 2229:2229:boolean blocksInteractionBelow(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> blocksInteractionBelow
+ 2796:2796:boolean getInsetDodgeRect(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.graphics.Rect) -> getInsetDodgeRect
+ 2195:2195:int getScrimColor(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> getScrimColor
+ 2213:2213:float getScrimOpacity(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> getScrimOpacity
+ 2385:2386:java.lang.Object getTag(android.view.View) -> getTag
+ 2256:2256:boolean layoutDependsOn(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> layoutDependsOn
+ 2716:2716:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+ 2114:2114:void onAttachedToLayoutParams(androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams) -> onAttachedToLayoutParams
+ 2286:2286:boolean onDependentViewChanged(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> onDependentViewChanged
+ 2305:2305:void onDependentViewRemoved(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> onDependentViewRemoved
+ 2124:2124:void onDetachedFromLayoutParams() -> onDetachedFromLayoutParams
+ 2151:2151:boolean onInterceptTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onInterceptTouchEvent
+ 2359:2359:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 2330:2330:boolean onMeasureChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int,int,int,int) -> onMeasureChild
+ 2668:2668:boolean onNestedFling(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,float,float,boolean) -> onNestedFling
+ 2696:2696:boolean onNestedPreFling(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,float,float) -> onNestedPreFling
+ 2599:2599:void onNestedPreScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int[]) -> onNestedPreScroll
+ 2633:2636:void onNestedPreScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 2527:2527:void onNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int,int) -> onNestedScroll
+ 2540:2544:void onNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int,int,int) -> onNestedScroll
+ 2583:2587:void onNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 2443:2443:void onNestedScrollAccepted(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 2469:2473:void onNestedScrollAccepted(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 2738:2738:boolean onRequestChildRectangleOnScreen(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.graphics.Rect,boolean) -> onRequestChildRectangleOnScreen
+ 2756:2756:void onRestoreInstanceState(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.os.Parcelable) -> onRestoreInstanceState
+ 2778:2778:android.os.Parcelable onSaveInstanceState(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> onSaveInstanceState
+ 2398:2398:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,android.view.View,int) -> onStartNestedScroll
+ 2426:2430:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 2484:2484:void onStopNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> onStopNestedScroll
+ 2509:2512:void onStopNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int) -> onStopNestedScroll
+ 2175:2175:boolean onTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onTouchEvent
+ 2372:2374:void setTag(android.view.View,java.lang.Object) -> setTag
+androidx.coordinatorlayout.widget.CoordinatorLayout$HierarchyChangeListener -> androidx.coordinatorlayout.widget.CoordinatorLayout$HierarchyChangeListener:
+ 3218:3219:void <init>(androidx.coordinatorlayout.widget.CoordinatorLayout) -> <init>
+ 3223:3226:void onChildViewAdded(android.view.View,android.view.View) -> onChildViewAdded
+ 3230:3235:void onChildViewRemoved(android.view.View,android.view.View) -> onChildViewRemoved
+androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams -> androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams:
+ 2809:2870:void <init>(int,int) -> <init>
+ 2809:2905:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 2809:2909:void <init>(androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams) -> <init>
+ 2809:2913:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+ 2809:2917:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 3003:3003:boolean checkAnchorChanged() -> checkAnchorChanged
+ 3100:3102:boolean dependsOn(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> dependsOn
+ 3014:3017:boolean didBlockInteraction() -> didBlockInteraction
+ 3125:3133:android.view.View findAnchorView(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> findAnchorView
+ 2926:2926:int getAnchorId() -> getAnchorId
+ 2952:2952:androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior getBehavior() -> getBehavior
+ 3079:3079:boolean getChangedAfterNestedScroll() -> getChangedAfterNestedScroll
+ 2995:2995:android.graphics.Rect getLastChildRect() -> getLastChildRect
+ 3112:3113:void invalidateAnchor() -> invalidateAnchor
+ 3033:3038:boolean isBlockingInteractionBelow(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> isBlockingInteractionBelow
+ 3069:3075:boolean isNestedScrollAccepted(int) -> isNestedScrollAccepted
+ 3087:3088:void resetChangedAfterNestedScroll() -> resetChangedAfterNestedScroll
+ 3054:3055:void resetNestedScroll(int) -> resetNestedScroll
+ 3050:3051:void resetTouchBehaviorTracking() -> resetTouchBehaviorTracking
+ 3141:3178:void resolveAnchorView(android.view.View,androidx.coordinatorlayout.widget.CoordinatorLayout) -> resolveAnchorView
+ 2940:2942:void setAnchorId(int) -> setAnchorId
+ 2965:2980:void setBehavior(androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior) -> setBehavior
+ 3083:3084:void setChangedAfterNestedScroll(boolean) -> setChangedAfterNestedScroll
+ 2987:2988:void setLastChildRect(android.graphics.Rect) -> setLastChildRect
+ 3058:3066:void setNestedScrollAccepted(int,boolean) -> setNestedScrollAccepted
+ 3210:3213:boolean shouldDodge(android.view.View,int) -> shouldDodge
+ 3186:3203:boolean verifyAnchorView(android.view.View,androidx.coordinatorlayout.widget.CoordinatorLayout) -> verifyAnchorView
+androidx.coordinatorlayout.widget.CoordinatorLayout$OnPreDrawListener -> androidx.coordinatorlayout.widget.CoordinatorLayout$OnPreDrawListener:
+ 2020:2020:void <init>(androidx.coordinatorlayout.widget.CoordinatorLayout) -> <init>
+ 2023:2024:boolean onPreDraw() -> onPreDraw
+androidx.coordinatorlayout.widget.CoordinatorLayout$SavedState -> androidx.coordinatorlayout.widget.CoordinatorLayout$SavedState:
+ 3373:3373:void <clinit>() -> <clinit>
+ 3335:3348:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 3351:3352:void <init>(android.os.Parcelable) -> <init>
+ 3356:3371:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.coordinatorlayout.widget.CoordinatorLayout$SavedState$1 -> androidx.coordinatorlayout.widget.CoordinatorLayout$SavedState$1:
+ 3374:3374:void <init>() -> <init>
+ 3374:3374:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 3374:3374:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 3377:3377:androidx.coordinatorlayout.widget.CoordinatorLayout$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 3382:3382:androidx.coordinatorlayout.widget.CoordinatorLayout$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 3374:3374:java.lang.Object[] newArray(int) -> newArray
+ 3387:3387:androidx.coordinatorlayout.widget.CoordinatorLayout$SavedState[] newArray(int) -> newArray
+androidx.coordinatorlayout.widget.CoordinatorLayout$ViewElevationComparator -> androidx.coordinatorlayout.widget.CoordinatorLayout$ViewElevationComparator:
+ 2031:2031:void <init>() -> <init>
+ 2031:2031:int compare(java.lang.Object,java.lang.Object) -> compare
+ 2034:2041:int compare(android.view.View,android.view.View) -> compare
+androidx.coordinatorlayout.widget.DirectedAcyclicGraph -> androidx.coordinatorlayout.widget.DirectedAcyclicGraph:
+ 39:44:void <init>() -> <init>
+ 76:89:void addEdge(java.lang.Object,java.lang.Object) -> addEdge
+ 54:57:void addNode(java.lang.Object) -> addNode
+ 143:150:void clear() -> clear
+ 63:63:boolean contains(java.lang.Object) -> contains
+ 174:194:void dfs(java.lang.Object,java.util.ArrayList,java.util.HashSet) -> dfs
+ 205:209:java.util.ArrayList getEmptyList() -> getEmptyList
+ 98:98:java.util.List getIncomingEdges(java.lang.Object) -> getIncomingEdges
+ 109:119:java.util.List getOutgoingEdges(java.lang.Object) -> getOutgoingEdges
+ 162:170:java.util.ArrayList getSortedList() -> getSortedList
+ 130:136:boolean hasOutgoingEdges(java.lang.Object) -> hasOutgoingEdges
+ 213:215:void poolList(java.util.ArrayList) -> poolList
+ 200:200:int size() -> size
+androidx.coordinatorlayout.widget.ViewGroupUtils -> androidx.coordinatorlayout.widget.ViewGroupUtils:
+ 35:36:void <clinit>() -> <clinit>
+ 96:97:void <init>() -> <init>
+ 77:79:void getDescendantRect(android.view.ViewGroup,android.view.View,android.graphics.Rect) -> getDescendantRect
+ 82:94:void offsetDescendantMatrix(android.view.ViewParent,android.view.View,android.graphics.Matrix) -> offsetDescendantMatrix
+ 48:67:void offsetDescendantRect(android.view.ViewGroup,android.view.View,android.graphics.Rect) -> offsetDescendantRect
+androidx.core.accessibilityservice.AccessibilityServiceInfoCompat -> androidx.core.accessibilityservice.AccessibilityServiceInfoCompat:
+ 181:181:void <init>() -> <init>
+ 307:317:java.lang.String capabilityToString(int) -> capabilityToString
+ 215:242:java.lang.String feedbackTypeToString(int) -> feedbackTypeToString
+ 255:269:java.lang.String flagToString(int) -> flagToString
+ 287:288:int getCapabilities(android.accessibilityservice.AccessibilityServiceInfo) -> getCapabilities
+ 198:199:java.lang.String loadDescription(android.accessibilityservice.AccessibilityServiceInfo,android.content.pm.PackageManager) -> loadDescription
+androidx.core.app.ActivityCompat -> androidx.core.app.ActivityCompat:
+ 152:154:void <init>() -> <init>
+ 290:295:void finishAffinity(android.app.Activity) -> finishAffinity
+ 307:312:void finishAfterTransition(android.app.Activity) -> finishAfterTransition
+ 172:172:androidx.core.app.ActivityCompat$PermissionCompatDelegate getPermissionCompatDelegate() -> getPermissionCompatDelegate
+ 332:333:android.net.Uri getReferrer(android.app.Activity) -> getReferrer
+ 210:211:boolean invalidateOptionsMenu(android.app.Activity) -> invalidateOptionsMenu
+ 414:417:void postponeEnterTransition(android.app.Activity) -> postponeEnterTransition
+ 580:606:void recreate(android.app.Activity) -> recreate
+ 569:569:androidx.core.view.DragAndDropPermissionsCompat requestDragAndDropPermissions(android.app.Activity,android.view.DragEvent) -> requestDragAndDropPermissions
+ 498:538:void requestPermissions(android.app.Activity,java.lang.String[],int) -> requestPermissions
+ 365:373:android.view.View requireViewById(android.app.Activity,int) -> requireViewById
+ 386:392:void setEnterSharedElementCallback(android.app.Activity,androidx.core.app.SharedElementCallback) -> setEnterSharedElementCallback
+ 405:411:void setExitSharedElementCallback(android.app.Activity,androidx.core.app.SharedElementCallback) -> setExitSharedElementCallback
+ 640:643:void setLocusContext(android.app.Activity,androidx.core.content.LocusIdCompat,android.os.Bundle) -> setLocusContext
+ 164:165:void setPermissionCompatDelegate(androidx.core.app.ActivityCompat$PermissionCompatDelegate) -> setPermissionCompatDelegate
+ 552:553:boolean shouldShowRequestPermissionRationale(android.app.Activity,java.lang.String) -> shouldShowRequestPermissionRationale
+ 236:241:void startActivityForResult(android.app.Activity,android.content.Intent,int,android.os.Bundle) -> startActivityForResult
+ 273:280:void startIntentSenderForResult(android.app.Activity,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle) -> startIntentSenderForResult
+ 420:423:void startPostponedEnterTransition(android.app.Activity) -> startPostponedEnterTransition
+androidx.core.app.ActivityCompat$1 -> androidx.core.app.ActivityCompat$1:
+ 519:519:void <init>(java.lang.String[],android.app.Activity,int) -> <init>
+ 522:535:void run() -> run
+androidx.core.app.ActivityCompat$2 -> androidx.core.app.ActivityCompat$2:
+ 588:588:void <init>(android.app.Activity) -> <init>
+ 591:598:void run() -> run
+androidx.core.app.ActivityCompat$Api30Impl -> androidx.core.app.ActivityCompat$Api30Impl:
+ 709:711:void <init>() -> <init>
+ 715:716:void setLocusContext(android.app.Activity,androidx.core.content.LocusIdCompat,android.os.Bundle) -> setLocusContext
+androidx.core.app.ActivityCompat$SharedElementCallback21Impl -> androidx.core.app.ActivityCompat$SharedElementCallback21Impl:
+ 649:651:void <init>(androidx.core.app.SharedElementCallback) -> <init>
+ 680:680:android.os.Parcelable onCaptureSharedElementSnapshot(android.view.View,android.graphics.Matrix,android.graphics.RectF) -> onCaptureSharedElementSnapshot
+ 686:686:android.view.View onCreateSnapshotView(android.content.Context,android.os.Parcelable) -> onCreateSnapshotView
+ 674:675:void onMapSharedElements(java.util.List,java.util.Map) -> onMapSharedElements
+ 669:670:void onRejectSharedElements(java.util.List) -> onRejectSharedElements
+ 663:665:void onSharedElementEnd(java.util.List,java.util.List,java.util.List) -> onSharedElementEnd
+ 656:658:void onSharedElementStart(java.util.List,java.util.List,java.util.List) -> onSharedElementStart
+ 693:700:void onSharedElementsArrived(java.util.List,java.util.List,android.app.SharedElementCallback$OnSharedElementsReadyListener) -> onSharedElementsArrived
+androidx.core.app.ActivityCompat$SharedElementCallback21Impl$1 -> androidx.core.app.ActivityCompat$SharedElementCallback21Impl$1:
+ 694:694:void <init>(androidx.core.app.ActivityCompat$SharedElementCallback21Impl,android.app.SharedElementCallback$OnSharedElementsReadyListener) -> <init>
+ 697:698:void onSharedElementsReady() -> onSharedElementsReady
+androidx.core.app.ActivityManagerCompat -> androidx.core.app.ActivityManagerCompat:
+ 30:30:void <init>() -> <init>
+ 40:41:boolean isLowRamDevice(android.app.ActivityManager) -> isLowRamDevice
+androidx.core.app.ActivityOptionsCompat -> androidx.core.app.ActivityOptionsCompat:
+ 300:301:void <init>() -> <init>
+ 325:325:android.graphics.Rect getLaunchBounds() -> getLaunchBounds
+ 246:247:androidx.core.app.ActivityOptionsCompat makeBasic() -> makeBasic
+ 122:123:androidx.core.app.ActivityOptionsCompat makeClipRevealAnimation(android.view.View,int,int,int,int) -> makeClipRevealAnimation
+ 68:69:androidx.core.app.ActivityOptionsCompat makeCustomAnimation(android.content.Context,int,int) -> makeCustomAnimation
+ 98:99:androidx.core.app.ActivityOptionsCompat makeScaleUpAnimation(android.view.View,int,int,int,int) -> makeScaleUpAnimation
+ 179:180:androidx.core.app.ActivityOptionsCompat makeSceneTransitionAnimation(android.app.Activity,android.view.View,java.lang.String) -> makeSceneTransitionAnimation
+ 207:217:androidx.core.app.ActivityOptionsCompat makeSceneTransitionAnimation(android.app.Activity,androidx.core.util.Pair[]) -> makeSceneTransitionAnimation
+ 234:235:androidx.core.app.ActivityOptionsCompat makeTaskLaunchBehind() -> makeTaskLaunchBehind
+ 151:152:androidx.core.app.ActivityOptionsCompat makeThumbnailScaleUpAnimation(android.view.View,android.graphics.Bitmap,int,int) -> makeThumbnailScaleUpAnimation
+ 375:375:void requestUsageTimeReport(android.app.PendingIntent) -> requestUsageTimeReport
+ 315:315:androidx.core.app.ActivityOptionsCompat setLaunchBounds(android.graphics.Rect) -> setLaunchBounds
+ 337:337:android.os.Bundle toBundle() -> toBundle
+ 347:347:void update(androidx.core.app.ActivityOptionsCompat) -> update
+androidx.core.app.ActivityOptionsCompat$ActivityOptionsCompatImpl -> androidx.core.app.ActivityOptionsCompat$ActivityOptionsCompatImpl:
+ 256:258:void <init>(android.app.ActivityOptions) -> <init>
+ 293:296:android.graphics.Rect getLaunchBounds() -> getLaunchBounds
+ 276:279:void requestUsageTimeReport(android.app.PendingIntent) -> requestUsageTimeReport
+ 284:288:androidx.core.app.ActivityOptionsCompat setLaunchBounds(android.graphics.Rect) -> setLaunchBounds
+ 262:262:android.os.Bundle toBundle() -> toBundle
+ 267:272:void update(androidx.core.app.ActivityOptionsCompat) -> update
+androidx.core.app.ActivityRecreator -> androidx.core.app.ActivityRecreator:
+ 91:100:void <clinit>() -> <clinit>
+ 73:73:void <init>() -> <init>
+ 378:380:java.lang.Class getActivityThreadClass() -> getActivityThreadClass
+ 358:362:java.lang.reflect.Field getMainThreadField() -> getMainThreadField
+ 316:325:java.lang.reflect.Method getPerformStopActivity2Params(java.lang.Class) -> getPerformStopActivity2Params
+ 302:311:java.lang.reflect.Method getPerformStopActivity3Params(java.lang.Class) -> getPerformStopActivity3Params
+ 334:352:java.lang.reflect.Method getRequestRelaunchActivityMethod(java.lang.Class) -> getRequestRelaunchActivityMethod
+ 368:372:java.lang.reflect.Field getTokenField() -> getTokenField
+ 330:330:boolean needsRelaunchCall() -> needsRelaunchCall
+ 257:297:boolean queueOnStopIfNecessary(java.lang.Object,int,android.app.Activity) -> queueOnStopIfNecessary
+ 109:171:boolean recreate(android.app.Activity) -> recreate
+androidx.core.app.ActivityRecreator$1 -> androidx.core.app.ActivityRecreator$1:
+ 143:143:void <init>(androidx.core.app.ActivityRecreator$LifecycleCheckCallbacks,java.lang.Object) -> <init>
+ 146:147:void run() -> run
+androidx.core.app.ActivityRecreator$2 -> androidx.core.app.ActivityRecreator$2:
+ 159:159:void <init>(android.app.Application,androidx.core.app.ActivityRecreator$LifecycleCheckCallbacks) -> <init>
+ 166:167:void run() -> run
+androidx.core.app.ActivityRecreator$3 -> androidx.core.app.ActivityRecreator$3:
+ 269:269:void <init>(java.lang.Object,java.lang.Object) -> <init>
+ 273:292:void run() -> run
+androidx.core.app.ActivityRecreator$LifecycleCheckCallbacks -> androidx.core.app.ActivityRecreator$LifecycleCheckCallbacks:
+ 183:196:void <init>(android.app.Activity) -> <init>
+ 200:200:void onActivityCreated(android.app.Activity,android.os.Bundle) -> onActivityCreated
+ 241:248:void onActivityDestroyed(android.app.Activity) -> onActivityDestroyed
+ 218:228:void onActivityPaused(android.app.Activity) -> onActivityPaused
+ 214:214:void onActivityResumed(android.app.Activity) -> onActivityResumed
+ 232:232:void onActivitySaveInstanceState(android.app.Activity,android.os.Bundle) -> onActivitySaveInstanceState
+ 207:210:void onActivityStarted(android.app.Activity) -> onActivityStarted
+ 237:237:void onActivityStopped(android.app.Activity) -> onActivityStopped
+androidx.core.app.AlarmManagerCompat -> androidx.core.app.AlarmManagerCompat:
+ 229:230:void <init>() -> <init>
+ 59:66:void setAlarmClock(android.app.AlarmManager,long,android.app.PendingIntent,android.app.PendingIntent) -> setAlarmClock
+ 117:122:void setAndAllowWhileIdle(android.app.AlarmManager,int,long,android.app.PendingIntent) -> setAndAllowWhileIdle
+ 162:167:void setExact(android.app.AlarmManager,int,long,android.app.PendingIntent) -> setExact
+ 222:227:void setExactAndAllowWhileIdle(android.app.AlarmManager,int,long,android.app.PendingIntent) -> setExactAndAllowWhileIdle
+androidx.core.app.AppComponentFactory -> androidx.core.app.AppComponentFactory:
+ 40:40:void <init>() -> <init>
+ 50:50:android.app.Activity instantiateActivity(java.lang.ClassLoader,java.lang.String,android.content.Intent) -> instantiateActivity
+ 137:140:android.app.Activity instantiateActivityCompat(java.lang.ClassLoader,java.lang.String,android.content.Intent) -> instantiateActivityCompat
+ 61:61:android.app.Application instantiateApplication(java.lang.ClassLoader,java.lang.String) -> instantiateApplication
+ 113:116:android.app.Application instantiateApplicationCompat(java.lang.ClassLoader,java.lang.String) -> instantiateApplicationCompat
+ 83:83:android.content.ContentProvider instantiateProvider(java.lang.ClassLoader,java.lang.String) -> instantiateProvider
+ 204:207:android.content.ContentProvider instantiateProviderCompat(java.lang.ClassLoader,java.lang.String) -> instantiateProviderCompat
+ 72:72:android.content.BroadcastReceiver instantiateReceiver(java.lang.ClassLoader,java.lang.String,android.content.Intent) -> instantiateReceiver
+ 157:160:android.content.BroadcastReceiver instantiateReceiverCompat(java.lang.ClassLoader,java.lang.String,android.content.Intent) -> instantiateReceiverCompat
+ 94:94:android.app.Service instantiateService(java.lang.ClassLoader,java.lang.String,android.content.Intent) -> instantiateService
+ 181:184:android.app.Service instantiateServiceCompat(java.lang.ClassLoader,java.lang.String,android.content.Intent) -> instantiateServiceCompat
+androidx.core.app.AppLaunchChecker -> androidx.core.app.AppLaunchChecker:
+ 87:88:void <init>() -> <init>
+ 51:52:boolean hasStartedFromLauncher(android.content.Context) -> hasStartedFromLauncher
+ 67:82:void onActivityCreate(android.app.Activity) -> onActivityCreate
+androidx.core.app.AppOpsManagerCompat -> androidx.core.app.AppOpsManagerCompat:
+ 60:60:void <init>() -> <init>
+ 104:107:int noteOp(android.content.Context,java.lang.String,int,java.lang.String) -> noteOp
+ 124:127:int noteOpNoThrow(android.content.Context,java.lang.String,int,java.lang.String) -> noteOpNoThrow
+ 156:158:int noteProxyOp(android.content.Context,java.lang.String,java.lang.String) -> noteProxyOp
+ 175:177:int noteProxyOpNoThrow(android.content.Context,java.lang.String,java.lang.String) -> noteProxyOpNoThrow
+ 75:76:java.lang.String permissionToOp(java.lang.String) -> permissionToOp
+androidx.core.app.BundleCompat -> androidx.core.app.BundleCompat:
+ 94:94:void <init>() -> <init>
+ 105:106:android.os.IBinder getBinder(android.os.Bundle,java.lang.String) -> getBinder
+ 121:126:void putBinder(android.os.Bundle,java.lang.String,android.os.IBinder) -> putBinder
+androidx.core.app.BundleCompat$BundleCompatBaseImpl -> androidx.core.app.BundleCompat$BundleCompatBaseImpl:
+ 44:45:void <init>() -> <init>
+ 48:67:android.os.IBinder getBinder(android.os.Bundle,java.lang.String) -> getBinder
+ 71:91:void putBinder(android.os.Bundle,java.lang.String,android.os.IBinder) -> putBinder
+androidx.core.app.ComponentActivity -> androidx.core.app.ComponentActivity:
+ 48:63:void <init>() -> <init>
+ 136:140:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 127:131:boolean dispatchKeyShortcutEvent(android.view.KeyEvent) -> dispatchKeyShortcutEvent
+ 107:107:androidx.core.app.ComponentActivity$ExtraData getExtraData(java.lang.Class) -> getExtraData
+ 113:113:androidx.lifecycle.Lifecycle getLifecycle() -> getLifecycle
+ 85:87:void onCreate(android.os.Bundle) -> onCreate
+ 92:94:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 79:80:void putExtraData(androidx.core.app.ComponentActivity$ExtraData) -> putExtraData
+ 122:122:boolean superDispatchKeyEvent(android.view.KeyEvent) -> superDispatchKeyEvent
+androidx.core.app.ComponentActivity$ExtraData -> androidx.core.app.ComponentActivity$ExtraData:
+ 151:151:void <init>() -> <init>
+androidx.core.app.CoreComponentFactory -> androidx.core.app.CoreComponentFactory:
+ 39:39:void <init>() -> <init>
+ 80:86:java.lang.Object checkCompatWrapper(java.lang.Object) -> checkCompatWrapper
+ 45:45:android.app.Activity instantiateActivity(java.lang.ClassLoader,java.lang.String,android.content.Intent) -> instantiateActivity
+ 52:52:android.app.Application instantiateApplication(java.lang.ClassLoader,java.lang.String) -> instantiateApplication
+ 67:67:android.content.ContentProvider instantiateProvider(java.lang.ClassLoader,java.lang.String) -> instantiateProvider
+ 60:60:android.content.BroadcastReceiver instantiateReceiver(java.lang.ClassLoader,java.lang.String,android.content.Intent) -> instantiateReceiver
+ 75:75:android.app.Service instantiateService(java.lang.ClassLoader,java.lang.String,android.content.Intent) -> instantiateService
+androidx.core.app.DialogCompat -> androidx.core.app.DialogCompat:
+ 32:33:void <init>() -> <init>
+ 55:63:android.view.View requireViewById(android.app.Dialog,int) -> requireViewById
+androidx.core.app.FrameMetricsAggregator -> androidx.core.app.FrameMetricsAggregator:
+ 199:200:void <init>() -> <init>
+ 212:218:void <init>(int) -> <init>
+ 226:227:void add(android.app.Activity) -> add
+ 301:301:android.util.SparseIntArray[] getMetrics() -> getMetrics
+ 243:243:android.util.SparseIntArray[] remove(android.app.Activity) -> remove
+ 273:273:android.util.SparseIntArray[] reset() -> reset
+ 260:260:android.util.SparseIntArray[] stop() -> stop
+androidx.core.app.FrameMetricsAggregator$FrameMetricsApi24Impl -> androidx.core.app.FrameMetricsAggregator$FrameMetricsApi24Impl:
+ 341:342:void <clinit>() -> <clinit>
+ 339:348:void <init>(int) -> <init>
+ 411:423:void add(android.app.Activity) -> add
+ 399:407:void addDurationItem(android.util.SparseIntArray,long) -> addDurationItem
+ 453:453:android.util.SparseIntArray[] getMetrics() -> getMetrics
+ 427:434:android.util.SparseIntArray[] remove(android.app.Activity) -> remove
+ 458:460:android.util.SparseIntArray[] reset() -> reset
+ 439:448:android.util.SparseIntArray[] stop() -> stop
+androidx.core.app.FrameMetricsAggregator$FrameMetricsApi24Impl$1 -> androidx.core.app.FrameMetricsAggregator$FrameMetricsApi24Impl$1:
+ 349:349:void <init>(androidx.core.app.FrameMetricsAggregator$FrameMetricsApi24Impl) -> <init>
+ 353:395:void onFrameMetricsAvailable(android.view.Window,android.view.FrameMetrics,int) -> onFrameMetricsAvailable
+androidx.core.app.FrameMetricsAggregator$FrameMetricsBaseImpl -> androidx.core.app.FrameMetricsAggregator$FrameMetricsBaseImpl:
+ 309:310:void <init>() -> <init>
+ 313:313:void add(android.app.Activity) -> add
+ 324:324:android.util.SparseIntArray[] getMetrics() -> getMetrics
+ 316:316:android.util.SparseIntArray[] remove(android.app.Activity) -> remove
+ 328:328:android.util.SparseIntArray[] reset() -> reset
+ 320:320:android.util.SparseIntArray[] stop() -> stop
+androidx.core.app.JobIntentService -> androidx.core.app.JobIntentService:
+ 104:105:void <clinit>() -> <clinit>
+ 98:421:void <init>() -> <init>
+ 639:648:androidx.core.app.JobIntentService$GenericWorkItem dequeueWork() -> dequeueWork
+ 598:602:boolean doStopCurrentWork() -> doStopCurrentWork
+ 500:501:void enqueueWork(android.content.Context,java.lang.Class,int,android.content.Intent) -> enqueueWork
+ 516:524:void enqueueWork(android.content.Context,android.content.ComponentName,int,android.content.Intent) -> enqueueWork
+ 607:615:void ensureProcessorRunningLocked(boolean) -> ensureProcessorRunningLocked
+ 528:540:androidx.core.app.JobIntentService$WorkEnqueuer getWorkEnqueuer(android.content.Context,android.content.ComponentName,boolean,int) -> getWorkEnqueuer
+ 579:579:boolean isStopped() -> isStopped
+ 464:469:android.os.IBinder onBind(android.content.Intent) -> onBind
+ 425:435:void onCreate() -> onCreate
+ 475:482:void onDestroy() -> onDestroy
+ 443:454:int onStartCommand(android.content.Intent,int,int) -> onStartCommand
+ 594:594:boolean onStopCurrentWork() -> onStopCurrentWork
+ 618:636:void processorFinished() -> processorFinished
+ 571:572:void setInterruptIfStopped(boolean) -> setInterruptIfStopped
+androidx.core.app.JobIntentService$CommandProcessor -> androidx.core.app.JobIntentService$CommandProcessor:
+ 382:382:void <init>(androidx.core.app.JobIntentService) -> <init>
+ 382:382:java.lang.Object doInBackground(java.lang.Object[]) -> doInBackground
+ 389:398:java.lang.Void doInBackground(java.lang.Void[]) -> doInBackground
+ 382:382:void onCancelled(java.lang.Object) -> onCancelled
+ 403:404:void onCancelled(java.lang.Void) -> onCancelled
+ 382:382:void onPostExecute(java.lang.Object) -> onPostExecute
+ 408:409:void onPostExecute(java.lang.Void) -> onPostExecute
+androidx.core.app.JobIntentService$CompatWorkEnqueuer -> androidx.core.app.JobIntentService$CompatWorkEnqueuer:
+ 162:174:void <init>(android.content.Context,android.content.ComponentName) -> <init>
+ 178:196:void enqueueWork(android.content.Intent) -> enqueueWork
+ 223:234:void serviceProcessingFinished() -> serviceProcessingFinished
+ 209:219:void serviceProcessingStarted() -> serviceProcessingStarted
+ 200:205:void serviceStartReceived() -> serviceStartReceived
+androidx.core.app.JobIntentService$CompatWorkItem -> androidx.core.app.JobIntentService$CompatWorkItem:
+ 362:365:void <init>(androidx.core.app.JobIntentService,android.content.Intent,int) -> <init>
+ 375:376:void complete() -> complete
+ 369:369:android.content.Intent getIntent() -> getIntent
+androidx.core.app.JobIntentService$JobServiceEngineImpl -> androidx.core.app.JobIntentService$JobServiceEngineImpl:
+ 248:276:void <init>(androidx.core.app.JobIntentService) -> <init>
+ 280:280:android.os.IBinder compatGetBinder() -> compatGetBinder
+ 310:320:androidx.core.app.JobIntentService$GenericWorkItem dequeueWork() -> dequeueWork
+ 286:289:boolean onStartJob(android.app.job.JobParameters) -> onStartJob
+ 295:301:boolean onStopJob(android.app.job.JobParameters) -> onStopJob
+androidx.core.app.JobIntentService$JobServiceEngineImpl$WrapperWorkItem -> androidx.core.app.JobIntentService$JobServiceEngineImpl$WrapperWorkItem:
+ 254:256:void <init>(androidx.core.app.JobIntentService$JobServiceEngineImpl,android.app.job.JobWorkItem) -> <init>
+ 265:270:void complete() -> complete
+ 260:260:android.content.Intent getIntent() -> getIntent
+androidx.core.app.JobIntentService$JobWorkEnqueuer -> androidx.core.app.JobIntentService$JobWorkEnqueuer:
+ 331:337:void <init>(android.content.Context,android.content.ComponentName,int) -> <init>
+ 342:343:void enqueueWork(android.content.Intent) -> enqueueWork
+androidx.core.app.JobIntentService$WorkEnqueuer -> androidx.core.app.JobIntentService$WorkEnqueuer:
+ 117:119:void <init>(android.content.ComponentName) -> <init>
+ 122:129:void ensureJobId(int) -> ensureJobId
+ 140:140:void serviceProcessingFinished() -> serviceProcessingFinished
+ 137:137:void serviceProcessingStarted() -> serviceProcessingStarted
+ 134:134:void serviceStartReceived() -> serviceStartReceived
+androidx.core.app.NavUtils -> androidx.core.app.NavUtils:
+ 282:283:void <init>() -> <init>
+ 129:150:android.content.Intent getParentActivityIntent(android.app.Activity) -> getParentActivityIntent
+ 168:178:android.content.Intent getParentActivityIntent(android.content.Context,java.lang.Class) -> getParentActivityIntent
+ 195:205:android.content.Intent getParentActivityIntent(android.content.Context,android.content.ComponentName) -> getParentActivityIntent
+ 220:223:java.lang.String getParentActivityName(android.app.Activity) -> getParentActivityName
+ 240:278:java.lang.String getParentActivityName(android.content.Context,android.content.ComponentName) -> getParentActivityName
+ 81:92:void navigateUpFromSameTask(android.app.Activity) -> navigateUpFromSameTask
+ 108:115:void navigateUpTo(android.app.Activity,android.content.Intent) -> navigateUpTo
+ 60:61:boolean shouldUpRecreateTask(android.app.Activity,android.content.Intent) -> shouldUpRecreateTask
+androidx.core.app.NotificationChannelCompat -> androidx.core.app.NotificationChannelCompat:
+ 59:280:void <init>(java.lang.String,int) -> <init>
+ 284:309:void <init>(android.app.NotificationChannel) -> <init>
+ 508:508:boolean canBubble() -> canBubble
+ 485:485:boolean canBypassDnd() -> canBypassDnd
+ 444:444:boolean canShowBadge() -> canShowBadge
+ 403:403:android.media.AudioAttributes getAudioAttributes() -> getAudioAttributes
+ 474:474:java.lang.String getConversationId() -> getConversationId
+ 374:374:java.lang.String getDescription() -> getDescription
+ 454:454:java.lang.String getGroup() -> getGroup
+ 358:358:java.lang.String getId() -> getId
+ 387:387:int getImportance() -> getImportance
+ 418:418:int getLightColor() -> getLightColor
+ 497:497:int getLockscreenVisibility() -> getLockscreenVisibility
+ 366:366:java.lang.CharSequence getName() -> getName
+ 317:332:android.app.NotificationChannel getNotificationChannel() -> getNotificationChannel
+ 464:464:java.lang.String getParentChannelId() -> getParentChannelId
+ 395:395:android.net.Uri getSound() -> getSound
+ 434:434:long[] getVibrationPattern() -> getVibrationPattern
+ 523:523:boolean isImportantConversation() -> isImportantConversation
+ 410:410:boolean shouldShowLights() -> shouldShowLights
+ 425:425:boolean shouldVibrate() -> shouldVibrate
+ 340:350:androidx.core.app.NotificationChannelCompat$Builder toBuilder() -> toBuilder
+androidx.core.app.NotificationChannelCompat$Builder -> androidx.core.app.NotificationChannelCompat$Builder:
+ 89:91:void <init>(java.lang.String,int) -> <init>
+ 270:270:androidx.core.app.NotificationChannelCompat build() -> build
+ 258:262:androidx.core.app.NotificationChannelCompat$Builder setConversationId(java.lang.String,java.lang.String) -> setConversationId
+ 131:132:androidx.core.app.NotificationChannelCompat$Builder setDescription(java.lang.String) -> setDescription
+ 149:150:androidx.core.app.NotificationChannelCompat$Builder setGroup(java.lang.String) -> setGroup
+ 119:120:androidx.core.app.NotificationChannelCompat$Builder setImportance(int) -> setImportance
+ 207:208:androidx.core.app.NotificationChannelCompat$Builder setLightColor(int) -> setLightColor
+ 193:194:androidx.core.app.NotificationChannelCompat$Builder setLightsEnabled(boolean) -> setLightsEnabled
+ 104:105:androidx.core.app.NotificationChannelCompat$Builder setName(java.lang.CharSequence) -> setName
+ 164:165:androidx.core.app.NotificationChannelCompat$Builder setShowBadge(boolean) -> setShowBadge
+ 179:181:androidx.core.app.NotificationChannelCompat$Builder setSound(android.net.Uri,android.media.AudioAttributes) -> setSound
+ 220:221:androidx.core.app.NotificationChannelCompat$Builder setVibrationEnabled(boolean) -> setVibrationEnabled
+ 234:236:androidx.core.app.NotificationChannelCompat$Builder setVibrationPattern(long[]) -> setVibrationPattern
+androidx.core.app.NotificationChannelGroupCompat -> androidx.core.app.NotificationChannelGroupCompat:
+ 48:105:void <init>(java.lang.String) -> <init>
+ 109:110:void <init>(android.app.NotificationChannelGroup) -> <init>
+ 115:130:void <init>(android.app.NotificationChannelGroup,java.util.List) -> <init>
+ 216:216:java.util.List getChannels() -> getChannels
+ 134:140:java.util.List getChannelsCompat(java.util.List) -> getChannelsCompat
+ 190:190:java.lang.String getDescription() -> getDescription
+ 174:174:java.lang.String getId() -> getId
+ 182:182:java.lang.CharSequence getName() -> getName
+ 149:156:android.app.NotificationChannelGroup getNotificationChannelGroup() -> getNotificationChannelGroup
+ 205:205:boolean isBlocked() -> isBlocked
+ 164:166:androidx.core.app.NotificationChannelGroupCompat$Builder toBuilder() -> toBuilder
+androidx.core.app.NotificationChannelGroupCompat$Builder -> androidx.core.app.NotificationChannelGroupCompat$Builder:
+ 62:64:void <init>(java.lang.String) -> <init>
+ 99:99:androidx.core.app.NotificationChannelGroupCompat build() -> build
+ 90:91:androidx.core.app.NotificationChannelGroupCompat$Builder setDescription(java.lang.String) -> setDescription
+ 77:78:androidx.core.app.NotificationChannelGroupCompat$Builder setName(java.lang.CharSequence) -> setName
+androidx.core.app.NotificationCompat -> androidx.core.app.NotificationCompat:
+ 7659:7660:void <init>() -> <init>
+ 7224:7225:androidx.core.app.NotificationCompat$Action getAction(android.app.Notification,int) -> getAction
+ 7263:7314:androidx.core.app.NotificationCompat$Action getActionCompatFromAction(android.app.Notification$Action) -> getActionCompatFromAction
+ 7207:7208:int getActionCount(android.app.Notification) -> getActionCount
+ 7649:7652:boolean getAllowSystemGeneratedContextualActions(android.app.Notification) -> getAllowSystemGeneratedContextualActions
+ 7468:7468:boolean getAutoCancel(android.app.Notification) -> getAutoCancel
+ 7582:7585:int getBadgeIconType(android.app.Notification) -> getBadgeIconType
+ 7252:7255:androidx.core.app.NotificationCompat$BubbleMetadata getBubbleMetadata(android.app.Notification) -> getBubbleMetadata
+ 7402:7403:java.lang.String getCategory(android.app.Notification) -> getCategory
+ 7557:7560:java.lang.String getChannelId(android.app.Notification) -> getChannelId
+ 7478:7479:int getColor(android.app.Notification) -> getColor
+ 7387:7387:java.lang.CharSequence getContentInfo(android.app.Notification) -> getContentInfo
+ 7381:7381:java.lang.CharSequence getContentText(android.app.Notification) -> getContentText
+ 7375:7375:java.lang.CharSequence getContentTitle(android.app.Notification) -> getContentTitle
+ 7193:7194:android.os.Bundle getExtras(android.app.Notification) -> getExtras
+ 7433:7434:java.lang.String getGroup(android.app.Notification) -> getGroup
+ 7636:7639:int getGroupAlertBehavior(android.app.Notification) -> getGroupAlertBehavior
+ 7506:7506:boolean getHighPriority(android.app.Notification) -> getHighPriority
+ 7327:7343:java.util.List getInvisibleActions(android.app.Notification) -> getInvisibleActions
+ 7416:7417:boolean getLocalOnly(android.app.Notification) -> getLocalOnly
+ 7621:7625:androidx.core.content.LocusIdCompat getLocusId(android.app.Notification) -> getLocusId
+ 7174:7183:android.app.Notification[] getNotificationArrayFromBundle(android.os.Bundle,java.lang.String) -> getNotificationArrayFromBundle
+ 7473:7473:boolean getOngoing(android.app.Notification) -> getOngoing
+ 7463:7463:boolean getOnlyAlertOnce(android.app.Notification) -> getOnlyAlertOnce
+ 7352:7369:java.util.List getPeople(android.app.Notification) -> getPeople
+ 7496:7497:android.app.Notification getPublicVersion(android.app.Notification) -> getPublicVersion
+ 7605:7608:java.lang.CharSequence getSettingsText(android.app.Notification) -> getSettingsText
+ 7594:7597:java.lang.String getShortcutId(android.app.Notification) -> getShortcutId
+ 7450:7450:boolean getShowWhen(android.app.Notification) -> getShowWhen
+ 7541:7542:java.lang.String getSortKey(android.app.Notification) -> getSortKey
+ 7393:7393:java.lang.CharSequence getSubText(android.app.Notification) -> getSubText
+ 7569:7572:long getTimeoutAfter(android.app.Notification) -> getTimeoutAfter
+ 7458:7458:boolean getUsesChronometer(android.app.Notification) -> getUsesChronometer
+ 7487:7488:int getVisibility(android.app.Notification) -> getVisibility
+ 7516:7517:boolean isGroupSummary(android.app.Notification) -> isGroupSummary
+androidx.core.app.NotificationCompat$Action -> androidx.core.app.NotificationCompat$Action:
+ 4440:4441:void <init>(int,java.lang.CharSequence,android.app.PendingIntent) -> <init>
+ 4449:4451:void <init>(androidx.core.graphics.drawable.IconCompat,java.lang.CharSequence,android.app.PendingIntent) -> <init>
+ 4458:4461:void <init>(int,java.lang.CharSequence,android.app.PendingIntent,android.os.Bundle,androidx.core.app.RemoteInput[],androidx.core.app.RemoteInput[],boolean,int,boolean,boolean) -> <init>
+ 4417:4483:void <init>(androidx.core.graphics.drawable.IconCompat,java.lang.CharSequence,android.app.PendingIntent,android.os.Bundle,androidx.core.app.RemoteInput[],androidx.core.app.RemoteInput[],boolean,int,boolean,boolean) -> <init>
+ 4510:4510:android.app.PendingIntent getActionIntent() -> getActionIntent
+ 4525:4525:boolean getAllowGeneratedReplies() -> getAllowGeneratedReplies
+ 4568:4568:androidx.core.app.RemoteInput[] getDataOnlyRemoteInputs() -> getDataOnlyRemoteInputs
+ 4517:4517:android.os.Bundle getExtras() -> getExtras
+ 4491:4491:int getIcon() -> getIcon
+ 4499:4502:androidx.core.graphics.drawable.IconCompat getIconCompat() -> getIconCompat
+ 4534:4534:androidx.core.app.RemoteInput[] getRemoteInputs() -> getRemoteInputs
+ 4545:4545:int getSemanticAction() -> getSemanticAction
+ 4576:4576:boolean getShowsUserInterface() -> getShowsUserInterface
+ 4506:4506:java.lang.CharSequence getTitle() -> getTitle
+ 4554:4554:boolean isContextual() -> isContextual
+androidx.core.app.NotificationCompat$Action$Builder -> androidx.core.app.NotificationCompat$Action$Builder:
+ 4642:4644:void <init>(androidx.core.graphics.drawable.IconCompat,java.lang.CharSequence,android.app.PendingIntent) -> <init>
+ 4653:4661:void <init>(int,java.lang.CharSequence,android.app.PendingIntent) -> <init>
+ 4669:4674:void <init>(androidx.core.app.NotificationCompat$Action) -> <init>
+ 4586:4691:void <init>(androidx.core.graphics.drawable.IconCompat,java.lang.CharSequence,android.app.PendingIntent,android.os.Bundle,androidx.core.app.RemoteInput[],boolean,int,boolean,boolean) -> <init>
+ 4701:4704:androidx.core.app.NotificationCompat$Action$Builder addExtras(android.os.Bundle) -> addExtras
+ 4724:4730:androidx.core.app.NotificationCompat$Action$Builder addRemoteInput(androidx.core.app.RemoteInput) -> addRemoteInput
+ 4813:4830:androidx.core.app.NotificationCompat$Action build() -> build
+ 4797:4803:void checkContextualActionNullFields() -> checkContextualActionNullFields
+ 4788:4789:androidx.core.app.NotificationCompat$Action$Builder extend(androidx.core.app.NotificationCompat$Action$Extender) -> extend
+ 4603:4628:androidx.core.app.NotificationCompat$Action$Builder fromAndroidAction(android.app.Notification$Action) -> fromAndroidAction
+ 4713:4713:android.os.Bundle getExtras() -> getExtras
+ 4743:4744:androidx.core.app.NotificationCompat$Action$Builder setAllowGeneratedReplies(boolean) -> setAllowGeneratedReplies
+ 4766:4767:androidx.core.app.NotificationCompat$Action$Builder setContextual(boolean) -> setContextual
+ 4756:4757:androidx.core.app.NotificationCompat$Action$Builder setSemanticAction(int) -> setSemanticAction
+ 4779:4780:androidx.core.app.NotificationCompat$Action$Builder setShowsUserInterface(boolean) -> setShowsUserInterface
+androidx.core.app.NotificationCompat$Action$WearableExtender -> androidx.core.app.NotificationCompat$Action$WearableExtender:
+ 4882:4893:void <init>() -> <init>
+ 4882:4908:void <init>(androidx.core.app.NotificationCompat$Action) -> <init>
+ 4864:4864:java.lang.Object clone() -> clone
+ 4938:4943:androidx.core.app.NotificationCompat$Action$WearableExtender clone() -> clone
+ 4917:4933:androidx.core.app.NotificationCompat$Action$Builder extend(androidx.core.app.NotificationCompat$Action$Builder) -> extend
+ 5057:5057:java.lang.CharSequence getCancelLabel() -> getCancelLabel
+ 5029:5029:java.lang.CharSequence getConfirmLabel() -> getConfirmLabel
+ 5108:5108:boolean getHintDisplayActionInline() -> getHintDisplayActionInline
+ 5081:5081:boolean getHintLaunchesActivity() -> getHintLaunchesActivity
+ 5000:5000:java.lang.CharSequence getInProgressLabel() -> getInProgressLabel
+ 4964:4964:boolean isAvailableOffline() -> isAvailableOffline
+ 4953:4954:androidx.core.app.NotificationCompat$Action$WearableExtender setAvailableOffline(boolean) -> setAvailableOffline
+ 5043:5044:androidx.core.app.NotificationCompat$Action$WearableExtender setCancelLabel(java.lang.CharSequence) -> setCancelLabel
+ 5014:5015:androidx.core.app.NotificationCompat$Action$WearableExtender setConfirmLabel(java.lang.CharSequence) -> setConfirmLabel
+ 4968:4973:void setFlag(int,boolean) -> setFlag
+ 5095:5096:androidx.core.app.NotificationCompat$Action$WearableExtender setHintDisplayActionInline(boolean) -> setHintDisplayActionInline
+ 5069:5070:androidx.core.app.NotificationCompat$Action$WearableExtender setHintLaunchesActivity(boolean) -> setHintLaunchesActivity
+ 4986:4987:androidx.core.app.NotificationCompat$Action$WearableExtender setInProgressLabel(java.lang.CharSequence) -> setInProgressLabel
+androidx.core.app.NotificationCompat$BigPictureStyle -> androidx.core.app.NotificationCompat$BigPictureStyle:
+ 2942:2943:void <init>() -> <init>
+ 2945:2947:void <init>(androidx.core.app.NotificationCompat$Builder) -> <init>
+ 3000:3027:void apply(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> apply
+ 3046:3056:androidx.core.graphics.drawable.IconCompat asIconCompat(android.os.Parcelable) -> asIconCompat
+ 2979:2981:androidx.core.app.NotificationCompat$BigPictureStyle bigLargeIcon(android.graphics.Bitmap) -> bigLargeIcon
+ 2971:2972:androidx.core.app.NotificationCompat$BigPictureStyle bigPicture(android.graphics.Bitmap) -> bigPicture
+ 3065:3068:void clearCompatExtraKeys(android.os.Bundle) -> clearCompatExtraKeys
+ 2991:2991:java.lang.String getClassName() -> getClassName
+ 3035:3042:void restoreFromCompatExtras(android.os.Bundle) -> restoreFromCompatExtras
+ 2954:2955:androidx.core.app.NotificationCompat$BigPictureStyle setBigContentTitle(java.lang.CharSequence) -> setBigContentTitle
+ 2962:2964:androidx.core.app.NotificationCompat$BigPictureStyle setSummaryText(java.lang.CharSequence) -> setSummaryText
+androidx.core.app.NotificationCompat$BigPictureStyle$Api16Impl -> androidx.core.app.NotificationCompat$BigPictureStyle$Api16Impl:
+ 3077:3078:void <init>() -> <init>
+ 3085:3086:void setBigLargeIcon(android.app.Notification$BigPictureStyle,android.graphics.Bitmap) -> setBigLargeIcon
+ 3093:3094:void setSummaryText(android.app.Notification$BigPictureStyle,java.lang.CharSequence) -> setSummaryText
+androidx.core.app.NotificationCompat$BigPictureStyle$Api23Impl -> androidx.core.app.NotificationCompat$BigPictureStyle$Api23Impl:
+ 3104:3105:void <init>() -> <init>
+ 3112:3113:void setBigLargeIcon(android.app.Notification$BigPictureStyle,android.graphics.drawable.Icon) -> setBigLargeIcon
+androidx.core.app.NotificationCompat$BigTextStyle -> androidx.core.app.NotificationCompat$BigTextStyle:
+ 3145:3146:void <init>() -> <init>
+ 3148:3150:void <init>(androidx.core.app.NotificationCompat$Builder) -> <init>
+ 3223:3231:void addCompatExtras(android.os.Bundle) -> addCompatExtras
+ 3195:3204:void apply(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> apply
+ 3175:3176:androidx.core.app.NotificationCompat$BigTextStyle bigText(java.lang.CharSequence) -> bigText
+ 3239:3241:void clearCompatExtraKeys(android.os.Bundle) -> clearCompatExtraKeys
+ 3186:3186:java.lang.String getClassName() -> getClassName
+ 3212:3215:void restoreFromCompatExtras(android.os.Bundle) -> restoreFromCompatExtras
+ 3157:3158:androidx.core.app.NotificationCompat$BigTextStyle setBigContentTitle(java.lang.CharSequence) -> setBigContentTitle
+ 3165:3167:androidx.core.app.NotificationCompat$BigTextStyle setSummaryText(java.lang.CharSequence) -> setSummaryText
+androidx.core.app.NotificationCompat$BubbleMetadata -> androidx.core.app.NotificationCompat$BubbleMetadata:
+ 6582:6582:void <init>(android.app.PendingIntent,android.app.PendingIntent,androidx.core.graphics.drawable.IconCompat,int,int,int,java.lang.String,androidx.core.app.NotificationCompat$1) -> <init>
+ 6627:6635:void <init>(android.app.PendingIntent,android.app.PendingIntent,androidx.core.graphics.drawable.IconCompat,int,int,int,java.lang.String) -> <init>
+ 6750:6758:androidx.core.app.NotificationCompat$BubbleMetadata fromPlatform(android.app.Notification$BubbleMetadata) -> fromPlatform
+ 6701:6701:boolean getAutoExpandBubble() -> getAutoExpandBubble
+ 6662:6662:android.app.PendingIntent getDeleteIntent() -> getDeleteIntent
+ 6682:6682:int getDesiredHeight() -> getDesiredHeight
+ 6692:6692:int getDesiredHeightResId() -> getDesiredHeightResId
+ 6672:6672:androidx.core.graphics.drawable.IconCompat getIcon() -> getIcon
+ 6644:6644:android.app.PendingIntent getIntent() -> getIntent
+ 6654:6654:java.lang.String getShortcutId() -> getShortcutId
+ 6710:6710:boolean isNotificationSuppressed() -> isNotificationSuppressed
+ 6716:6717:void setFlags(int) -> setFlags
+ 6729:6737:android.app.Notification$BubbleMetadata toPlatform(androidx.core.app.NotificationCompat$BubbleMetadata) -> toPlatform
+androidx.core.app.NotificationCompat$BubbleMetadata$Api29Impl -> androidx.core.app.NotificationCompat$BubbleMetadata$Api29Impl:
+ 6999:7000:void <init>() -> <init>
+ 7052:7075:androidx.core.app.NotificationCompat$BubbleMetadata fromPlatform(android.app.Notification$BubbleMetadata) -> fromPlatform
+ 7013:7038:android.app.Notification$BubbleMetadata toPlatform(androidx.core.app.NotificationCompat$BubbleMetadata) -> toPlatform
+androidx.core.app.NotificationCompat$BubbleMetadata$Api30Impl -> androidx.core.app.NotificationCompat$BubbleMetadata$Api30Impl:
+ 7082:7083:void <init>() -> <init>
+ 7137:7162:androidx.core.app.NotificationCompat$BubbleMetadata fromPlatform(android.app.Notification$BubbleMetadata) -> fromPlatform
+ 7096:7123:android.app.Notification$BubbleMetadata toPlatform(androidx.core.app.NotificationCompat$BubbleMetadata) -> toPlatform
+androidx.core.app.NotificationCompat$BubbleMetadata$Builder -> androidx.core.app.NotificationCompat$BubbleMetadata$Builder:
+ 6780:6781:void <init>() -> <init>
+ 6805:6810:void <init>(java.lang.String) -> <init>
+ 6826:6835:void <init>(android.app.PendingIntent,androidx.core.graphics.drawable.IconCompat) -> <init>
+ 6971:6982:androidx.core.app.NotificationCompat$BubbleMetadata build() -> build
+ 6932:6933:androidx.core.app.NotificationCompat$BubbleMetadata$Builder setAutoExpandBubble(boolean) -> setAutoExpandBubble
+ 6959:6960:androidx.core.app.NotificationCompat$BubbleMetadata$Builder setDeleteIntent(android.app.PendingIntent) -> setDeleteIntent
+ 6898:6900:androidx.core.app.NotificationCompat$BubbleMetadata$Builder setDesiredHeight(int) -> setDesiredHeight
+ 6914:6916:androidx.core.app.NotificationCompat$BubbleMetadata$Builder setDesiredHeightResId(int) -> setDesiredHeightResId
+ 6987:6992:androidx.core.app.NotificationCompat$BubbleMetadata$Builder setFlag(int,boolean) -> setFlag
+ 6875:6884:androidx.core.app.NotificationCompat$BubbleMetadata$Builder setIcon(androidx.core.graphics.drawable.IconCompat) -> setIcon
+ 6847:6856:androidx.core.app.NotificationCompat$BubbleMetadata$Builder setIntent(android.app.PendingIntent) -> setIntent
+ 6950:6951:androidx.core.app.NotificationCompat$BubbleMetadata$Builder setSuppressNotification(boolean) -> setSuppressNotification
+androidx.core.app.NotificationCompat$Builder -> androidx.core.app.NotificationCompat$Builder:
+ 907:1010:void <init>(android.content.Context,android.app.Notification) -> <init>
+ 835:1081:void <init>(android.content.Context,java.lang.String) -> <init>
+ 1089:1090:void <init>(android.content.Context) -> <init>
+ 1879:1880:androidx.core.app.NotificationCompat$Builder addAction(int,java.lang.CharSequence,android.app.PendingIntent) -> addAction
+ 1898:1901:androidx.core.app.NotificationCompat$Builder addAction(androidx.core.app.NotificationCompat$Action) -> addAction
+ 1817:1824:androidx.core.app.NotificationCompat$Builder addExtras(android.os.Bundle) -> addExtras
+ 1926:1927:androidx.core.app.NotificationCompat$Builder addInvisibleAction(int,java.lang.CharSequence,android.app.PendingIntent) -> addInvisibleAction
+ 1940:1943:androidx.core.app.NotificationCompat$Builder addInvisibleAction(androidx.core.app.NotificationCompat$Action) -> addInvisibleAction
+ 1721:1724:androidx.core.app.NotificationCompat$Builder addPerson(java.lang.String) -> addPerson
+ 1748:1751:androidx.core.app.NotificationCompat$Builder addPerson(androidx.core.app.Person) -> addPerson
+ 2346:2346:android.app.Notification build() -> build
+ 1908:1909:androidx.core.app.NotificationCompat$Builder clearActions() -> clearActions
+ 1950:1959:androidx.core.app.NotificationCompat$Builder clearInvisibleActions() -> clearInvisibleActions
+ 1759:1761:androidx.core.app.NotificationCompat$Builder clearPeople() -> clearPeople
+ 2062:2083:android.widget.RemoteViews createBigContentView() -> createBigContentView
+ 2032:2049:android.widget.RemoteViews createContentView() -> createContentView
+ 2096:2118:android.widget.RemoteViews createHeadsUpContentView() -> createHeadsUpContentView
+ 2320:2321:androidx.core.app.NotificationCompat$Builder extend(androidx.core.app.NotificationCompat$Extender) -> extend
+ 2370:2370:android.widget.RemoteViews getBigContentView() -> getBigContentView
+ 2419:2419:androidx.core.app.NotificationCompat$BubbleMetadata getBubbleMetadata() -> getBubbleMetadata
+ 2409:2409:int getColor() -> getColor
+ 2362:2362:android.widget.RemoteViews getContentView() -> getContentView
+ 1855:1858:android.os.Bundle getExtras() -> getExtras
+ 1017:1055:android.os.Bundle getExtrasWithoutDuplicateData(android.app.Notification,androidx.core.app.NotificationCompat$Style) -> getExtrasWithoutDuplicateData
+ 2378:2378:android.widget.RemoteViews getHeadsUpContentView() -> getHeadsUpContentView
+ 2338:2338:android.app.Notification getNotification() -> getNotification
+ 2398:2398:int getPriority() -> getPriority
+ 2388:2388:long getWhenIfShowing() -> getWhenIfShowing
+ 2350:2354:java.lang.CharSequence limitCharSequenceLength(java.lang.CharSequence) -> limitCharSequenceLength
+ 1424:1443:android.graphics.Bitmap reduceLargeIconSize(android.graphics.Bitmap) -> reduceLargeIconSize
+ 2329:2330:androidx.core.app.NotificationCompat$Builder setAllowSystemGeneratedContextualActions(boolean) -> setAllowSystemGeneratedContextualActions
+ 1606:1607:androidx.core.app.NotificationCompat$Builder setAutoCancel(boolean) -> setAutoCancel
+ 2280:2281:androidx.core.app.NotificationCompat$Builder setBadgeIconType(int) -> setBadgeIconType
+ 2311:2312:androidx.core.app.NotificationCompat$Builder setBubbleMetadata(androidx.core.app.NotificationCompat$BubbleMetadata) -> setBubbleMetadata
+ 1629:1630:androidx.core.app.NotificationCompat$Builder setCategory(java.lang.String) -> setCategory
+ 2168:2169:androidx.core.app.NotificationCompat$Builder setChannelId(java.lang.String) -> setChannelId
+ 1155:1157:androidx.core.app.NotificationCompat$Builder setChronometerCountDown(boolean) -> setChronometerCountDown
+ 1988:1989:androidx.core.app.NotificationCompat$Builder setColor(int) -> setColor
+ 1585:1587:androidx.core.app.NotificationCompat$Builder setColorized(boolean) -> setColorized
+ 1329:1330:androidx.core.app.NotificationCompat$Builder setContent(android.widget.RemoteViews) -> setContent
+ 1310:1311:androidx.core.app.NotificationCompat$Builder setContentInfo(java.lang.CharSequence) -> setContentInfo
+ 1342:1343:androidx.core.app.NotificationCompat$Builder setContentIntent(android.app.PendingIntent) -> setContentIntent
+ 1222:1223:androidx.core.app.NotificationCompat$Builder setContentText(java.lang.CharSequence) -> setContentText
+ 1214:1215:androidx.core.app.NotificationCompat$Builder setContentTitle(java.lang.CharSequence) -> setContentTitle
+ 2145:2146:androidx.core.app.NotificationCompat$Builder setCustomBigContentView(android.widget.RemoteViews) -> setCustomBigContentView
+ 2132:2133:androidx.core.app.NotificationCompat$Builder setCustomContentView(android.widget.RemoteViews) -> setCustomContentView
+ 2158:2159:androidx.core.app.NotificationCompat$Builder setCustomHeadsUpContentView(android.widget.RemoteViews) -> setCustomHeadsUpContentView
+ 1654:1658:androidx.core.app.NotificationCompat$Builder setDefaults(int) -> setDefaults
+ 1354:1355:androidx.core.app.NotificationCompat$Builder setDeleteIntent(android.app.PendingIntent) -> setDeleteIntent
+ 1840:1841:androidx.core.app.NotificationCompat$Builder setExtras(android.os.Bundle) -> setExtras
+ 1662:1667:void setFlag(int,boolean) -> setFlag
+ 1380:1382:androidx.core.app.NotificationCompat$Builder setFullScreenIntent(android.app.PendingIntent,boolean) -> setFullScreenIntent
+ 1776:1777:androidx.core.app.NotificationCompat$Builder setGroup(java.lang.String) -> setGroup
+ 2295:2296:androidx.core.app.NotificationCompat$Builder setGroupAlertBehavior(int) -> setGroupAlertBehavior
+ 1788:1789:androidx.core.app.NotificationCompat$Builder setGroupSummary(boolean) -> setGroupSummary
+ 1415:1416:androidx.core.app.NotificationCompat$Builder setLargeIcon(android.graphics.Bitmap) -> setLargeIcon
+ 1540:1546:androidx.core.app.NotificationCompat$Builder setLights(int,int,int) -> setLights
+ 1617:1618:androidx.core.app.NotificationCompat$Builder setLocalOnly(boolean) -> setLocalOnly
+ 2266:2267:androidx.core.app.NotificationCompat$Builder setLocusId(androidx.core.content.LocusIdCompat) -> setLocusId
+ 1196:1197:androidx.core.app.NotificationCompat$Builder setNotificationSilent() -> setNotificationSilent
+ 1296:1297:androidx.core.app.NotificationCompat$Builder setNumber(int) -> setNumber
+ 1562:1563:androidx.core.app.NotificationCompat$Builder setOngoing(boolean) -> setOngoing
+ 1595:1596:androidx.core.app.NotificationCompat$Builder setOnlyAlertOnce(boolean) -> setOnlyAlertOnce
+ 1692:1693:androidx.core.app.NotificationCompat$Builder setPriority(int) -> setPriority
+ 1319:1322:androidx.core.app.NotificationCompat$Builder setProgress(int,int,boolean) -> setProgress
+ 2013:2014:androidx.core.app.NotificationCompat$Builder setPublicVersion(android.app.Notification) -> setPublicVersion
+ 1283:1284:androidx.core.app.NotificationCompat$Builder setRemoteInputHistory(java.lang.CharSequence[]) -> setRemoteInputHistory
+ 1264:1265:androidx.core.app.NotificationCompat$Builder setSettingsText(java.lang.CharSequence) -> setSettingsText
+ 2225:2226:androidx.core.app.NotificationCompat$Builder setShortcutId(java.lang.String) -> setShortcutId
+ 2239:2254:androidx.core.app.NotificationCompat$Builder setShortcutInfo(androidx.core.content.pm.ShortcutInfoCompat) -> setShortcutInfo
+ 1112:1113:androidx.core.app.NotificationCompat$Builder setShowWhen(boolean) -> setShowWhen
+ 1206:1207:androidx.core.app.NotificationCompat$Builder setSilent(boolean) -> setSilent
+ 1125:1126:androidx.core.app.NotificationCompat$Builder setSmallIcon(androidx.core.graphics.drawable.IconCompat) -> setSmallIcon
+ 1168:1169:androidx.core.app.NotificationCompat$Builder setSmallIcon(int) -> setSmallIcon
+ 1183:1185:androidx.core.app.NotificationCompat$Builder setSmallIcon(int,int) -> setSmallIcon
+ 1805:1806:androidx.core.app.NotificationCompat$Builder setSortKey(java.lang.String) -> setSortKey
+ 1463:1471:androidx.core.app.NotificationCompat$Builder setSound(android.net.Uri) -> setSound
+ 1492:1500:androidx.core.app.NotificationCompat$Builder setSound(android.net.Uri,int) -> setSound
+ 1971:1977:androidx.core.app.NotificationCompat$Builder setStyle(androidx.core.app.NotificationCompat$Style) -> setStyle
+ 1245:1246:androidx.core.app.NotificationCompat$Builder setSubText(java.lang.CharSequence) -> setSubText
+ 1391:1392:androidx.core.app.NotificationCompat$Builder setTicker(java.lang.CharSequence) -> setTicker
+ 1406:1408:androidx.core.app.NotificationCompat$Builder setTicker(java.lang.CharSequence,android.widget.RemoteViews) -> setTicker
+ 2179:2180:androidx.core.app.NotificationCompat$Builder setTimeoutAfter(long) -> setTimeoutAfter
+ 1141:1142:androidx.core.app.NotificationCompat$Builder setUsesChronometer(boolean) -> setUsesChronometer
+ 1522:1523:androidx.core.app.NotificationCompat$Builder setVibrate(long[]) -> setVibrate
+ 2000:2001:androidx.core.app.NotificationCompat$Builder setVisibility(int) -> setVisibility
+ 1100:1101:androidx.core.app.NotificationCompat$Builder setWhen(long) -> setWhen
+ 2023:2023:boolean useExistingRemoteView() -> useExistingRemoteView
+androidx.core.app.NotificationCompat$CarExtender -> androidx.core.app.NotificationCompat$CarExtender:
+ 6170:6176:void <init>() -> <init>
+ 6170:6197:void <init>(android.app.Notification) -> <init>
+ 6294:6313:androidx.core.app.NotificationCompat$Builder extend(androidx.core.app.NotificationCompat$Builder) -> extend
+ 6255:6283:android.os.Bundle getBundleForUnreadConversation(androidx.core.app.NotificationCompat$CarExtender$UnreadConversation) -> getBundleForUnreadConversation
+ 6336:6336:int getColor() -> getColor
+ 6360:6360:android.graphics.Bitmap getLargeIcon() -> getLargeIcon
+ 6388:6388:androidx.core.app.NotificationCompat$CarExtender$UnreadConversation getUnreadConversation() -> getUnreadConversation
+ 6201:6250:androidx.core.app.NotificationCompat$CarExtender$UnreadConversation getUnreadConversationFromBundle(android.os.Bundle) -> getUnreadConversationFromBundle
+ 6325:6326:androidx.core.app.NotificationCompat$CarExtender setColor(int) -> setColor
+ 6349:6350:androidx.core.app.NotificationCompat$CarExtender setLargeIcon(android.graphics.Bitmap) -> setLargeIcon
+ 6375:6376:androidx.core.app.NotificationCompat$CarExtender setUnreadConversation(androidx.core.app.NotificationCompat$CarExtender$UnreadConversation) -> setUnreadConversation
+androidx.core.app.NotificationCompat$CarExtender$UnreadConversation -> androidx.core.app.NotificationCompat$CarExtender$UnreadConversation:
+ 6409:6416:void <init>(java.lang.String[],androidx.core.app.RemoteInput,android.app.PendingIntent,android.app.PendingIntent,java.lang.String[],long) -> <init>
+ 6467:6467:long getLatestTimestamp() -> getLatestTimestamp
+ 6422:6422:java.lang.String[] getMessages() -> getMessages
+ 6460:6460:java.lang.String getParticipant() -> getParticipant
+ 6453:6453:java.lang.String[] getParticipants() -> getParticipants
+ 6446:6446:android.app.PendingIntent getReadPendingIntent() -> getReadPendingIntent
+ 6430:6430:androidx.core.app.RemoteInput getRemoteInput() -> getRemoteInput
+ 6438:6438:android.app.PendingIntent getReplyPendingIntent() -> getReplyPendingIntent
+androidx.core.app.NotificationCompat$CarExtender$UnreadConversation$Builder -> androidx.core.app.NotificationCompat$CarExtender$UnreadConversation$Builder:
+ 6474:6488:void <init>(java.lang.String) -> <init>
+ 6499:6502:androidx.core.app.NotificationCompat$CarExtender$UnreadConversation$Builder addMessage(java.lang.String) -> addMessage
+ 6559:6561:androidx.core.app.NotificationCompat$CarExtender$UnreadConversation build() -> build
+ 6549:6550:androidx.core.app.NotificationCompat$CarExtender$UnreadConversation$Builder setLatestTimestamp(long) -> setLatestTimestamp
+ 6533:6534:androidx.core.app.NotificationCompat$CarExtender$UnreadConversation$Builder setReadPendingIntent(android.app.PendingIntent) -> setReadPendingIntent
+ 6518:6521:androidx.core.app.NotificationCompat$CarExtender$UnreadConversation$Builder setReplyAction(android.app.PendingIntent,androidx.core.app.RemoteInput) -> setReplyAction
+androidx.core.app.NotificationCompat$DecoratedCustomViewStyle -> androidx.core.app.NotificationCompat$DecoratedCustomViewStyle:
+ 4172:4173:void <init>() -> <init>
+ 4200:4203:void apply(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> apply
+ 4263:4288:android.widget.RemoteViews createRemoteViews(android.widget.RemoteViews,boolean) -> createRemoteViews
+ 4191:4191:boolean displayCustomViewInline() -> displayCustomViewInline
+ 4304:4321:android.widget.RemoteViews generateActionButton(androidx.core.app.NotificationCompat$Action) -> generateActionButton
+ 4182:4182:java.lang.String getClassName() -> getClassName
+ 4293:4300:java.util.List getNonContextualActions(java.util.List) -> getNonContextualActions
+ 4228:4230:android.widget.RemoteViews makeBigContentView(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> makeBigContentView
+ 4211:4213:android.widget.RemoteViews makeContentView(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> makeContentView
+ 4249:4251:android.widget.RemoteViews makeHeadsUpContentView(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> makeHeadsUpContentView
+androidx.core.app.NotificationCompat$InboxStyle -> androidx.core.app.NotificationCompat$InboxStyle:
+ 4046:4049:void <init>() -> <init>
+ 4046:4053:void <init>(androidx.core.app.NotificationCompat$Builder) -> <init>
+ 4077:4080:androidx.core.app.NotificationCompat$InboxStyle addLine(java.lang.CharSequence) -> addLine
+ 4099:4110:void apply(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> apply
+ 4132:4134:void clearCompatExtraKeys(android.os.Bundle) -> clearCompatExtraKeys
+ 4090:4090:java.lang.String getClassName() -> getClassName
+ 4118:4124:void restoreFromCompatExtras(android.os.Bundle) -> restoreFromCompatExtras
+ 4060:4061:androidx.core.app.NotificationCompat$InboxStyle setBigContentTitle(java.lang.CharSequence) -> setBigContentTitle
+ 4068:4070:androidx.core.app.NotificationCompat$InboxStyle setSummaryText(java.lang.CharSequence) -> setSummaryText
+androidx.core.app.NotificationCompat$MessagingStyle -> androidx.core.app.NotificationCompat$MessagingStyle:
+ 3287:3294:void <init>() -> <init>
+ 3287:3306:void <init>(java.lang.CharSequence) -> <init>
+ 3287:3321:void <init>(androidx.core.app.Person) -> <init>
+ 3677:3696:void addCompatExtras(android.os.Bundle) -> addCompatExtras
+ 3441:3447:androidx.core.app.NotificationCompat$MessagingStyle addHistoricMessage(androidx.core.app.NotificationCompat$MessagingStyle$Message) -> addHistoricMessage
+ 3388:3393:androidx.core.app.NotificationCompat$MessagingStyle addMessage(java.lang.CharSequence,long,java.lang.CharSequence) -> addMessage
+ 3406:3407:androidx.core.app.NotificationCompat$MessagingStyle addMessage(java.lang.CharSequence,long,androidx.core.app.Person) -> addMessage
+ 3418:3424:androidx.core.app.NotificationCompat$MessagingStyle addMessage(androidx.core.app.NotificationCompat$MessagingStyle$Message) -> addMessage
+ 3543:3617:void apply(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> apply
+ 3740:3748:void clearCompatExtraKeys(android.os.Bundle) -> clearCompatExtraKeys
+ 3516:3520:androidx.core.app.NotificationCompat$MessagingStyle extractMessagingStyleFromNotification(android.app.Notification) -> extractMessagingStyleFromNotification
+ 3621:3633:androidx.core.app.NotificationCompat$MessagingStyle$Message findLatestIncomingMessage() -> findLatestIncomingMessage
+ 3530:3530:java.lang.String getClassName() -> getClassName
+ 3363:3363:java.lang.CharSequence getConversationTitle() -> getConversationTitle
+ 3461:3461:java.util.List getHistoricMessages() -> getHistoricMessages
+ 3454:3454:java.util.List getMessages() -> getMessages
+ 3336:3336:androidx.core.app.Person getUser() -> getUser
+ 3331:3331:java.lang.CharSequence getUserDisplayName() -> getUserDisplayName
+ 3637:3643:boolean hasMessagesWithoutSender() -> hasMessagesWithoutSender
+ 3493:3501:boolean isGroupConversation() -> isGroupConversation
+ 3672:3672:android.text.style.TextAppearanceSpan makeFontColorSpan(int) -> makeFontColorSpan
+ 3647:3667:java.lang.CharSequence makeMessageLine(androidx.core.app.NotificationCompat$MessagingStyle$Message) -> makeMessageLine
+ 3704:3732:void restoreFromCompatExtras(android.os.Bundle) -> restoreFromCompatExtras
+ 3354:3355:androidx.core.app.NotificationCompat$MessagingStyle setConversationTitle(java.lang.CharSequence) -> setConversationTitle
+ 3471:3472:androidx.core.app.NotificationCompat$MessagingStyle setGroupConversation(boolean) -> setGroupConversation
+androidx.core.app.NotificationCompat$MessagingStyle$Message -> androidx.core.app.NotificationCompat$MessagingStyle$Message:
+ 3764:3783:void <init>(java.lang.CharSequence,long,androidx.core.app.Person) -> <init>
+ 3801:3802:void <init>(java.lang.CharSequence,long,java.lang.CharSequence) -> <init>
+ 3923:3928:android.os.Bundle[] getBundleArrayForMessages(java.util.List) -> getBundleArrayForMessages
+ 3879:3879:java.lang.String getDataMimeType() -> getDataMimeType
+ 3888:3888:android.net.Uri getDataUri() -> getDataUri
+ 3856:3856:android.os.Bundle getExtras() -> getExtras
+ 3948:3983:androidx.core.app.NotificationCompat$MessagingStyle$Message getMessageFromBundle(android.os.Bundle) -> getMessageFromBundle
+ 3933:3942:java.util.List getMessagesFromBundleArray(android.os.Parcelable[]) -> getMessagesFromBundleArray
+ 3873:3873:androidx.core.app.Person getPerson() -> getPerson
+ 3867:3867:java.lang.CharSequence getSender() -> getSender
+ 3845:3845:java.lang.CharSequence getText() -> getText
+ 3850:3850:long getTimestamp() -> getTimestamp
+ 3834:3836:androidx.core.app.NotificationCompat$MessagingStyle$Message setData(java.lang.String,android.net.Uri) -> setData
+ 3997:4012:android.app.Notification$MessagingStyle$Message toAndroidMessage() -> toAndroidMessage
+ 3892:3918:android.os.Bundle toBundle() -> toBundle
+androidx.core.app.NotificationCompat$Style -> androidx.core.app.NotificationCompat$Style:
+ 2430:2438:void <init>() -> <init>
+ 2530:2540:void addCompatExtras(android.os.Bundle) -> addCompatExtras
+ 2482:2482:void apply(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> apply
+ 2671:2814:android.widget.RemoteViews applyStandardTemplate(boolean,int,boolean) -> applyStandardTemplate
+ 2457:2461:android.app.Notification build() -> build
+ 2878:2887:void buildIntoRemoteViews(android.widget.RemoteViews,android.widget.RemoteViews) -> buildIntoRemoteViews
+ 2896:2905:int calculateTopPadding() -> calculateTopPadding
+ 2559:2562:void clearCompatExtraKeys(android.os.Bundle) -> clearCompatExtraKeys
+ 2909:2909:float constrain(float,float,float) -> constrain
+ 2608:2622:androidx.core.app.NotificationCompat$Style constructCompatStyleByName(java.lang.String) -> constructCompatStyleByName
+ 2580:2603:androidx.core.app.NotificationCompat$Style constructCompatStyleByPlatformName(java.lang.String) -> constructCompatStyleByPlatformName
+ 2629:2647:androidx.core.app.NotificationCompat$Style constructCompatStyleForBundle(android.os.Bundle) -> constructCompatStyleForBundle
+ 2652:2660:androidx.core.app.NotificationCompat$Style constructStyleForExtras(android.os.Bundle) -> constructStyleForExtras
+ 2825:2825:android.graphics.Bitmap createColoredBitmap(int,int) -> createColoredBitmap
+ 2833:2833:android.graphics.Bitmap createColoredBitmap(androidx.core.graphics.drawable.IconCompat,int) -> createColoredBitmap
+ 2837:2837:android.graphics.Bitmap createColoredBitmap(int,int,int) -> createColoredBitmap
+ 2842:2853:android.graphics.Bitmap createColoredBitmap(androidx.core.graphics.drawable.IconCompat,int,int) -> createColoredBitmap
+ 2858:2867:android.graphics.Bitmap createIconWithBackground(int,int,int,int) -> createIconWithBackground
+ 2490:2490:boolean displayCustomViewInline() -> displayCustomViewInline
+ 2570:2574:androidx.core.app.NotificationCompat$Style extractStyleFromNotification(android.app.Notification) -> extractStyleFromNotification
+ 2471:2471:java.lang.String getClassName() -> getClassName
+ 2890:2893:void hideNormalContent(android.widget.RemoteViews) -> hideNormalContent
+ 2506:2506:android.widget.RemoteViews makeBigContentView(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> makeBigContentView
+ 2498:2498:android.widget.RemoteViews makeContentView(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> makeContentView
+ 2514:2514:android.widget.RemoteViews makeHeadsUpContentView(androidx.core.app.NotificationBuilderWithBuilderAccessor) -> makeHeadsUpContentView
+ 2547:2552:void restoreFromCompatExtras(android.os.Bundle) -> restoreFromCompatExtras
+ 2444:2450:void setBuilder(androidx.core.app.NotificationCompat$Builder) -> setBuilder
+androidx.core.app.NotificationCompat$WearableExtender -> androidx.core.app.NotificationCompat$WearableExtender:
+ 5313:5334:void <init>() -> <init>
+ 5313:5381:void <init>(android.app.Notification) -> <init>
+ 5529:5530:androidx.core.app.NotificationCompat$WearableExtender addAction(androidx.core.app.NotificationCompat$Action) -> addAction
+ 5546:5547:androidx.core.app.NotificationCompat$WearableExtender addActions(java.util.List) -> addActions
+ 5628:5629:androidx.core.app.NotificationCompat$WearableExtender addPage(android.app.Notification) -> addPage
+ 5645:5646:androidx.core.app.NotificationCompat$WearableExtender addPages(java.util.List) -> addPages
+ 5556:5557:androidx.core.app.NotificationCompat$WearableExtender clearActions() -> clearActions
+ 5657:5658:androidx.core.app.NotificationCompat$WearableExtender clearPages() -> clearPages
+ 5188:5188:java.lang.Object clone() -> clone
+ 5498:5513:androidx.core.app.NotificationCompat$WearableExtender clone() -> clone
+ 5392:5453:androidx.core.app.NotificationCompat$Builder extend(androidx.core.app.NotificationCompat$Builder) -> extend
+ 5459:5492:android.app.Notification$Action getActionFromActionCompat(androidx.core.app.NotificationCompat$Action) -> getActionFromActionCompat
+ 5564:5564:java.util.List getActions() -> getActions
+ 5701:5701:android.graphics.Bitmap getBackground() -> getBackground
+ 6107:6107:java.lang.String getBridgeTag() -> getBridgeTag
+ 5777:5777:int getContentAction() -> getContentAction
+ 5722:5722:int getContentIcon() -> getContentIcon
+ 5749:5749:int getContentIconGravity() -> getContentIconGravity
+ 5905:5905:boolean getContentIntentAvailableOffline() -> getContentIntentAvailableOffline
+ 5864:5864:int getCustomContentHeight() -> getCustomContentHeight
+ 5836:5836:int getCustomSizePreset() -> getCustomSizePreset
+ 6086:6086:java.lang.String getDismissalId() -> getDismissalId
+ 5612:5612:android.app.PendingIntent getDisplayIntent() -> getDisplayIntent
+ 5804:5804:int getGravity() -> getGravity
+ 6041:6041:boolean getHintAmbientBigPicture() -> getHintAmbientBigPicture
+ 5986:5986:boolean getHintAvoidBackgroundClipping() -> getHintAvoidBackgroundClipping
+ 6064:6064:boolean getHintContentIntentLaunchesActivity() -> getHintContentIntentLaunchesActivity
+ 5930:5930:boolean getHintHideIcon() -> getHintHideIcon
+ 6014:6014:int getHintScreenTimeout() -> getHintScreenTimeout
+ 5955:5955:boolean getHintShowBackgroundOnly() -> getHintShowBackgroundOnly
+ 5671:5671:java.util.List getPages() -> getPages
+ 5883:5883:boolean getStartScrollBottom() -> getStartScrollBottom
+ 5686:5687:androidx.core.app.NotificationCompat$WearableExtender setBackground(android.graphics.Bitmap) -> setBackground
+ 6098:6099:androidx.core.app.NotificationCompat$WearableExtender setBridgeTag(java.lang.String) -> setBridgeTag
+ 5763:5764:androidx.core.app.NotificationCompat$WearableExtender setContentAction(int) -> setContentAction
+ 5711:5712:androidx.core.app.NotificationCompat$WearableExtender setContentIcon(int) -> setContentIcon
+ 5735:5736:androidx.core.app.NotificationCompat$WearableExtender setContentIconGravity(int) -> setContentIconGravity
+ 5894:5895:androidx.core.app.NotificationCompat$WearableExtender setContentIntentAvailableOffline(boolean) -> setContentIntentAvailableOffline
+ 5850:5851:androidx.core.app.NotificationCompat$WearableExtender setCustomContentHeight(int) -> setCustomContentHeight
+ 5820:5821:androidx.core.app.NotificationCompat$WearableExtender setCustomSizePreset(int) -> setCustomSizePreset
+ 6077:6078:androidx.core.app.NotificationCompat$WearableExtender setDismissalId(java.lang.String) -> setDismissalId
+ 5600:5601:androidx.core.app.NotificationCompat$WearableExtender setDisplayIntent(android.app.PendingIntent) -> setDisplayIntent
+ 6111:6116:void setFlag(int,boolean) -> setFlag
+ 5790:5791:androidx.core.app.NotificationCompat$WearableExtender setGravity(int) -> setGravity
+ 6027:6028:androidx.core.app.NotificationCompat$WearableExtender setHintAmbientBigPicture(boolean) -> setHintAmbientBigPicture
+ 5971:5972:androidx.core.app.NotificationCompat$WearableExtender setHintAvoidBackgroundClipping(boolean) -> setHintAvoidBackgroundClipping
+ 6053:6054:androidx.core.app.NotificationCompat$WearableExtender setHintContentIntentLaunchesActivity(boolean) -> setHintContentIntentLaunchesActivity
+ 5917:5918:androidx.core.app.NotificationCompat$WearableExtender setHintHideIcon(boolean) -> setHintHideIcon
+ 6000:6001:androidx.core.app.NotificationCompat$WearableExtender setHintScreenTimeout(int) -> setHintScreenTimeout
+ 5942:5943:androidx.core.app.NotificationCompat$WearableExtender setHintShowBackgroundOnly(boolean) -> setHintShowBackgroundOnly
+ 5873:5874:androidx.core.app.NotificationCompat$WearableExtender setStartScrollBottom(boolean) -> setStartScrollBottom
+androidx.core.app.NotificationCompatBuilder -> androidx.core.app.NotificationCompatBuilder:
+ 59:271:void <init>(androidx.core.app.NotificationCompat$Builder) -> <init>
+ 349:399:void addAction(androidx.core.app.NotificationCompat$Action) -> addAction
+ 310:345:android.app.Notification build() -> build
+ 403:423:android.app.Notification buildInternal() -> buildInternal
+ 276:285:java.util.List combineLists(java.util.List,java.util.List) -> combineLists
+ 302:302:android.app.Notification$Builder getBuilder() -> getBuilder
+ 306:306:android.content.Context getContext() -> getContext
+ 290:297:java.util.List getPeople(java.util.List) -> getPeople
+ 527:531:void removeSoundAndVibration(android.app.Notification) -> removeSoundAndVibration
+androidx.core.app.NotificationCompatExtras -> androidx.core.app.NotificationCompatExtras:
+ 66:66:void <init>() -> <init>
+androidx.core.app.NotificationCompatJellybean -> androidx.core.app.NotificationCompatJellybean:
+ 59:63:void <clinit>() -> <clinit>
+ 349:350:void <init>() -> <init>
+ 72:82:android.util.SparseArray buildActionExtrasMap(java.util.List) -> buildActionExtrasMap
+ 212:231:boolean ensureActionReflectionReadyLocked() -> ensureActionReflectionReadyLocked
+ 276:288:androidx.core.app.RemoteInput fromBundle(android.os.Bundle) -> fromBundle
+ 312:319:androidx.core.app.RemoteInput[] fromBundleArray(android.os.Bundle[]) -> fromBundleArray
+ 168:192:androidx.core.app.NotificationCompat$Action getAction(android.app.Notification,int) -> getAction
+ 161:164:int getActionCount(android.app.Notification) -> getActionCount
+ 235:249:androidx.core.app.NotificationCompat$Action getActionFromBundle(android.os.Bundle) -> getActionFromBundle
+ 196:207:java.lang.Object[] getActionObjectsLocked(android.app.Notification) -> getActionObjectsLocked
+ 339:346:android.os.Bundle[] getBundleArrayFromBundle(android.os.Bundle,java.lang.String) -> getBundleArrayFromBundle
+ 254:271:android.os.Bundle getBundleForAction(androidx.core.app.NotificationCompat$Action) -> getBundleForAction
+ 90:118:android.os.Bundle getExtras(android.app.Notification) -> getExtras
+ 123:134:androidx.core.app.NotificationCompat$Action readAction(int,java.lang.CharSequence,android.app.PendingIntent,android.os.Bundle) -> readAction
+ 293:308:android.os.Bundle toBundle(androidx.core.app.RemoteInput) -> toBundle
+ 323:330:android.os.Bundle[] toBundleArray(androidx.core.app.RemoteInput[]) -> toBundleArray
+ 141:157:android.os.Bundle writeActionAndGetExtras(android.app.Notification$Builder,androidx.core.app.NotificationCompat$Action) -> writeActionAndGetExtras
+androidx.core.app.NotificationCompatSideChannelService -> androidx.core.app.NotificationCompatSideChannelService:
+ 45:45:void <init>() -> <init>
+ 114:119:void checkPermission(int,java.lang.String) -> checkPermission
+ 48:52:android.os.IBinder onBind(android.content.Intent) -> onBind
+androidx.core.app.NotificationCompatSideChannelService$NotificationSideChannelStub -> androidx.core.app.NotificationCompatSideChannelService$NotificationSideChannelStub:
+ 75:76:void <init>(androidx.core.app.NotificationCompatSideChannelService) -> <init>
+ 92:99:void cancel(java.lang.String,int,java.lang.String) -> cancel
+ 103:110:void cancelAll(java.lang.String) -> cancelAll
+ 81:88:void notify(java.lang.String,int,java.lang.String,android.app.Notification) -> notify
+androidx.core.app.NotificationManagerCompat -> androidx.core.app.NotificationManagerCompat:
+ 103:112:void <clinit>() -> <clinit>
+ 162:166:void <init>(android.content.Context) -> <init>
+ 231:232:boolean areNotificationsEnabled() -> areNotificationsEnabled
+ 174:175:void cancel(int) -> cancel
+ 184:188:void cancel(java.lang.String,int) -> cancel
+ 192:196:void cancelAll() -> cancelAll
+ 290:293:void createNotificationChannel(android.app.NotificationChannel) -> createNotificationChannel
+ 316:317:void createNotificationChannel(androidx.core.app.NotificationChannelCompat) -> createNotificationChannel
+ 329:332:void createNotificationChannelGroup(android.app.NotificationChannelGroup) -> createNotificationChannelGroup
+ 344:345:void createNotificationChannelGroup(androidx.core.app.NotificationChannelGroupCompat) -> createNotificationChannelGroup
+ 389:392:void createNotificationChannelGroups(java.util.List) -> createNotificationChannelGroups
+ 404:411:void createNotificationChannelGroupsCompat(java.util.List) -> createNotificationChannelGroupsCompat
+ 356:359:void createNotificationChannels(java.util.List) -> createNotificationChannels
+ 371:378:void createNotificationChannelsCompat(java.util.List) -> createNotificationChannelsCompat
+ 423:426:void deleteNotificationChannel(java.lang.String) -> deleteNotificationChannel
+ 435:438:void deleteNotificationChannelGroup(java.lang.String) -> deleteNotificationChannelGroup
+ 450:462:void deleteUnlistedNotificationChannels(java.util.Collection) -> deleteUnlistedNotificationChannels
+ 159:159:androidx.core.app.NotificationManagerCompat from(android.content.Context) -> from
+ 650:669:java.util.Set getEnabledListenerPackages(android.content.Context) -> getEnabledListenerPackages
+ 262:263:int getImportance() -> getImportance
+ 471:474:android.app.NotificationChannel getNotificationChannel(java.lang.String) -> getNotificationChannel
+ 504:507:android.app.NotificationChannel getNotificationChannel(java.lang.String,java.lang.String) -> getNotificationChannel
+ 484:490:androidx.core.app.NotificationChannelCompat getNotificationChannelCompat(java.lang.String) -> getNotificationChannelCompat
+ 521:527:androidx.core.app.NotificationChannelCompat getNotificationChannelCompat(java.lang.String,java.lang.String) -> getNotificationChannelCompat
+ 537:547:android.app.NotificationChannelGroup getNotificationChannelGroup(java.lang.String) -> getNotificationChannelGroup
+ 559:570:androidx.core.app.NotificationChannelGroupCompat getNotificationChannelGroupCompat(java.lang.String) -> getNotificationChannelGroupCompat
+ 611:614:java.util.List getNotificationChannelGroups() -> getNotificationChannelGroups
+ 624:642:java.util.List getNotificationChannelGroupsCompat() -> getNotificationChannelGroupsCompat
+ 579:582:java.util.List getNotificationChannels() -> getNotificationChannels
+ 592:602:java.util.List getNotificationChannelsCompat() -> getNotificationChannelsCompat
+ 205:206:void notify(int,android.app.Notification) -> notify
+ 217:225:void notify(java.lang.String,int,android.app.Notification) -> notify
+ 684:690:void pushSideChannelQueue(androidx.core.app.NotificationManagerCompat$Task) -> pushSideChannelQueue
+ 676:677:boolean useSideChannelForNotification(android.app.Notification) -> useSideChannelForNotification
+androidx.core.app.NotificationManagerCompat$CancelTask -> androidx.core.app.NotificationManagerCompat$CancelTask:
+ 1014:1019:void <init>(java.lang.String) -> <init>
+ 1021:1026:void <init>(java.lang.String,int,java.lang.String) -> <init>
+ 1030:1035:void send(android.support.v4.app.INotificationSideChannel) -> send
+ 1040:1046:java.lang.String toString() -> toString
+androidx.core.app.NotificationManagerCompat$NotifyTask -> androidx.core.app.NotificationManagerCompat$NotifyTask:
+ 984:989:void <init>(java.lang.String,int,java.lang.String,android.app.Notification) -> <init>
+ 993:994:void send(android.support.v4.app.INotificationSideChannel) -> send
+ 999:1004:java.lang.String toString() -> toString
+androidx.core.app.NotificationManagerCompat$ServiceConnectedEvent -> androidx.core.app.NotificationManagerCompat$ServiceConnectedEvent:
+ 968:971:void <init>(android.content.ComponentName,android.os.IBinder) -> <init>
+androidx.core.app.NotificationManagerCompat$SideChannelManager -> androidx.core.app.NotificationManagerCompat$SideChannelManager:
+ 705:714:void <init>(android.content.Context) -> <init>
+ 850:862:boolean ensureServiceBound(androidx.core.app.NotificationManagerCompat$SideChannelManager$ListenerRecord) -> ensureServiceBound
+ 869:874:void ensureServiceUnbound(androidx.core.app.NotificationManagerCompat$SideChannelManager$ListenerRecord) -> ensureServiceUnbound
+ 726:741:boolean handleMessage(android.os.Message) -> handleMessage
+ 745:750:void handleQueueTask(androidx.core.app.NotificationManagerCompat$Task) -> handleQueueTask
+ 769:773:void handleRetryListenerQueue(android.content.ComponentName) -> handleRetryListenerQueue
+ 753:759:void handleServiceConnected(android.content.ComponentName,android.os.IBinder) -> handleServiceConnected
+ 762:766:void handleServiceDisconnected(android.content.ComponentName) -> handleServiceDisconnected
+ 777:783:void onServiceConnected(android.content.ComponentName,android.os.IBinder) -> onServiceConnected
+ 787:791:void onServiceDisconnected(android.content.ComponentName) -> onServiceDisconnected
+ 905:943:void processListenerQueue(androidx.core.app.NotificationManagerCompat$SideChannelManager$ListenerRecord) -> processListenerQueue
+ 721:722:void queueTask(androidx.core.app.NotificationManagerCompat$Task) -> queueTask
+ 882:898:void scheduleListenerRetry(androidx.core.app.NotificationManagerCompat$SideChannelManager$ListenerRecord) -> scheduleListenerRetry
+ 798:842:void updateListenerMap() -> updateListenerMap
+androidx.core.app.NotificationManagerCompat$SideChannelManager$ListenerRecord -> androidx.core.app.NotificationManagerCompat$SideChannelManager$ListenerRecord:
+ 949:959:void <init>(android.content.ComponentName) -> <init>
+androidx.core.app.Person -> androidx.core.app.Person:
+ 115:122:void <init>(androidx.core.app.Person$Builder) -> <init>
+ 88:98:androidx.core.app.Person fromAndroidPerson(android.app.Person) -> fromAndroidPerson
+ 48:56:androidx.core.app.Person fromBundle(android.os.Bundle) -> fromBundle
+ 70:76:androidx.core.app.Person fromPersistableBundle(android.os.PersistableBundle) -> fromPersistableBundle
+ 197:197:androidx.core.graphics.drawable.IconCompat getIcon() -> getIcon
+ 224:224:java.lang.String getKey() -> getKey
+ 191:191:java.lang.CharSequence getName() -> getName
+ 215:215:java.lang.String getUri() -> getUri
+ 232:232:boolean isBot() -> isBot
+ 240:240:boolean isImportant() -> isImportant
+ 250:256:java.lang.String resolveToLegacyUri() -> resolveToLegacyUri
+ 175:182:android.app.Person toAndroidPerson() -> toAndroidPerson
+ 163:163:androidx.core.app.Person$Builder toBuilder() -> toBuilder
+ 130:137:android.os.Bundle toBundle() -> toBundle
+ 151:157:android.os.PersistableBundle toPersistableBundle() -> toPersistableBundle
+androidx.core.app.Person$Builder -> androidx.core.app.Person$Builder:
+ 269:269:void <init>() -> <init>
+ 271:278:void <init>(androidx.core.app.Person) -> <init>
+ 356:356:androidx.core.app.Person build() -> build
+ 337:338:androidx.core.app.Person$Builder setBot(boolean) -> setBot
+ 298:299:androidx.core.app.Person$Builder setIcon(androidx.core.graphics.drawable.IconCompat) -> setIcon
+ 349:350:androidx.core.app.Person$Builder setImportant(boolean) -> setImportant
+ 327:328:androidx.core.app.Person$Builder setKey(java.lang.String) -> setKey
+ 286:287:androidx.core.app.Person$Builder setName(java.lang.CharSequence) -> setName
+ 316:317:androidx.core.app.Person$Builder setUri(java.lang.String) -> setUri
+androidx.core.app.RemoteActionCompat -> androidx.core.app.RemoteActionCompat:
+ 80:87:void <init>(androidx.core.graphics.drawable.IconCompat,java.lang.CharSequence,java.lang.CharSequence,android.app.PendingIntent) -> <init>
+ 94:94:void <init>() -> <init>
+ 99:107:void <init>(androidx.core.app.RemoteActionCompat) -> <init>
+ 115:123:androidx.core.app.RemoteActionCompat createFromRemoteAction(android.app.RemoteAction) -> createFromRemoteAction
+ 179:179:android.app.PendingIntent getActionIntent() -> getActionIntent
+ 172:172:java.lang.CharSequence getContentDescription() -> getContentDescription
+ 158:158:androidx.core.graphics.drawable.IconCompat getIcon() -> getIcon
+ 165:165:java.lang.CharSequence getTitle() -> getTitle
+ 137:137:boolean isEnabled() -> isEnabled
+ 130:131:void setEnabled(boolean) -> setEnabled
+ 144:145:void setShouldShowIcon(boolean) -> setShouldShowIcon
+ 151:151:boolean shouldShowIcon() -> shouldShowIcon
+ 190:196:android.app.RemoteAction toRemoteAction() -> toRemoteAction
+androidx.core.app.RemoteActionCompatParcelizer -> androidx.core.app.RemoteActionCompatParcelizer:
+ 11:11:void <init>() -> <init>
+ 14:21:androidx.core.app.RemoteActionCompat read(androidx.versionedparcelable.VersionedParcel) -> read
+ 26:33:void write(androidx.core.app.RemoteActionCompat,androidx.versionedparcelable.VersionedParcel) -> write
+androidx.core.app.RemoteInput -> androidx.core.app.RemoteInput:
+ 96:109:void <init>(java.lang.String,java.lang.CharSequence,java.lang.CharSequence[],boolean,int,android.os.Bundle,java.util.Set) -> <init>
+ 466:489:void addDataResultToIntent(androidx.core.app.RemoteInput,android.content.Intent,java.util.Map) -> addDataResultToIntent
+ 402:454:void addResultsToIntent(androidx.core.app.RemoteInput[],android.content.Intent,android.os.Bundle) -> addResultsToIntent
+ 549:556:android.app.RemoteInput[] fromCompat(androidx.core.app.RemoteInput[]) -> fromCompat
+ 561:570:android.app.RemoteInput fromCompat(androidx.core.app.RemoteInput) -> fromCompat
+ 575:584:androidx.core.app.RemoteInput fromPlatform(android.app.RemoteInput) -> fromPlatform
+ 156:156:boolean getAllowFreeFormInput() -> getAllowFreeFormInput
+ 134:134:java.util.Set getAllowedDataTypes() -> getAllowedDataTypes
+ 130:130:java.lang.CharSequence[] getChoices() -> getChoices
+ 589:600:android.content.Intent getClipDataIntentFromIntent(android.content.Intent) -> getClipDataIntentFromIntent
+ 338:361:java.util.Map getDataResultsFromIntent(android.content.Intent,java.lang.String) -> getDataResultsFromIntent
+ 164:164:int getEditChoicesBeforeSending() -> getEditChoicesBeforeSending
+ 544:544:java.lang.String getExtraResultsKeyForData(java.lang.String) -> getExtraResultsKeyForData
+ 171:171:android.os.Bundle getExtras() -> getExtras
+ 123:123:java.lang.CharSequence getLabel() -> getLabel
+ 116:116:java.lang.String getResultKey() -> getResultKey
+ 376:377:android.os.Bundle getResultsFromIntent(android.content.Intent) -> getResultsFromIntent
+ 530:537:int getResultsSource(android.content.Intent) -> getResultsSource
+ 143:146:boolean isDataOnly() -> isDataOnly
+ 505:515:void setResultsSource(android.content.Intent,int) -> setResultsSource
+androidx.core.app.RemoteInput$Builder -> androidx.core.app.RemoteInput$Builder:
+ 179:197:void <init>(java.lang.String) -> <init>
+ 287:290:androidx.core.app.RemoteInput$Builder addExtras(android.os.Bundle) -> addExtras
+ 309:309:androidx.core.app.RemoteInput build() -> build
+ 300:300:android.os.Bundle getExtras() -> getExtras
+ 241:246:androidx.core.app.RemoteInput$Builder setAllowDataType(java.lang.String,boolean) -> setAllowDataType
+ 261:262:androidx.core.app.RemoteInput$Builder setAllowFreeFormInput(boolean) -> setAllowFreeFormInput
+ 225:226:androidx.core.app.RemoteInput$Builder setChoices(java.lang.CharSequence[]) -> setChoices
+ 274:275:androidx.core.app.RemoteInput$Builder setEditChoicesBeforeSending(int) -> setEditChoicesBeforeSending
+ 207:208:androidx.core.app.RemoteInput$Builder setLabel(java.lang.CharSequence) -> setLabel
+androidx.core.app.ServiceCompat -> androidx.core.app.ServiceCompat:
+ 37:39:void <init>() -> <init>
+ 98:103:void stopForeground(android.app.Service,int) -> stopForeground
+androidx.core.app.ShareCompat -> androidx.core.app.ShareCompat:
+ 118:118:void <init>() -> <init>
+ 239:256:void configureMenuItem(android.view.MenuItem,androidx.core.app.ShareCompat$IntentBuilder) -> configureMenuItem
+ 271:277:void configureMenuItem(android.view.Menu,int,androidx.core.app.ShareCompat$IntentBuilder) -> configureMenuItem
+ 178:183:android.content.ComponentName getCallingActivity(android.app.Activity) -> getCallingActivity
+ 201:205:android.content.ComponentName getCallingActivity(android.content.Intent) -> getCallingActivity
+ 134:139:java.lang.String getCallingPackage(android.app.Activity) -> getCallingPackage
+ 157:161:java.lang.String getCallingPackage(android.content.Intent) -> getCallingPackage
+androidx.core.app.ShareCompat$Api16Impl -> androidx.core.app.ShareCompat$Api16Impl:
+ 1084:1084:void <init>() -> <init>
+ 1088:1102:void migrateExtraStreamToClipData(android.content.Intent,java.util.ArrayList) -> migrateExtraStreamToClipData
+ 1105:1107:void removeClipData(android.content.Intent) -> removeClipData
+androidx.core.app.ShareCompat$IntentBuilder -> androidx.core.app.ShareCompat$IntentBuilder:
+ 317:339:void <init>(android.content.Context) -> <init>
+ 659:663:androidx.core.app.ShareCompat$IntentBuilder addEmailBcc(java.lang.String) -> addEmailBcc
+ 675:676:androidx.core.app.ShareCompat$IntentBuilder addEmailBcc(java.lang.String[]) -> addEmailBcc
+ 616:620:androidx.core.app.ShareCompat$IntentBuilder addEmailCc(java.lang.String) -> addEmailCc
+ 632:633:androidx.core.app.ShareCompat$IntentBuilder addEmailCc(java.lang.String[]) -> addEmailCc
+ 573:577:androidx.core.app.ShareCompat$IntentBuilder addEmailTo(java.lang.String) -> addEmailTo
+ 589:590:androidx.core.app.ShareCompat$IntentBuilder addEmailTo(java.lang.String[]) -> addEmailTo
+ 540:544:androidx.core.app.ShareCompat$IntentBuilder addStream(android.net.Uri) -> addStream
+ 397:405:void combineArrayExtra(java.lang.String,java.util.ArrayList) -> combineArrayExtra
+ 409:416:void combineArrayExtra(java.lang.String,java.lang.String[]) -> combineArrayExtra
+ 427:427:android.content.Intent createChooserIntent() -> createChooserIntent
+ 305:305:androidx.core.app.ShareCompat$IntentBuilder from(android.app.Activity) -> from
+ 393:393:android.content.Context getContext() -> getContext
+ 352:388:android.content.Intent getIntent() -> getIntent
+ 445:446:androidx.core.app.ShareCompat$IntentBuilder setChooserTitle(java.lang.CharSequence) -> setChooserTitle
+ 457:457:androidx.core.app.ShareCompat$IntentBuilder setChooserTitle(int) -> setChooserTitle
+ 646:647:androidx.core.app.ShareCompat$IntentBuilder setEmailBcc(java.lang.String[]) -> setEmailBcc
+ 603:604:androidx.core.app.ShareCompat$IntentBuilder setEmailCc(java.lang.String[]) -> setEmailCc
+ 557:561:androidx.core.app.ShareCompat$IntentBuilder setEmailTo(java.lang.String[]) -> setEmailTo
+ 500:505:androidx.core.app.ShareCompat$IntentBuilder setHtmlText(java.lang.String) -> setHtmlText
+ 520:524:androidx.core.app.ShareCompat$IntentBuilder setStream(android.net.Uri) -> setStream
+ 688:689:androidx.core.app.ShareCompat$IntentBuilder setSubject(java.lang.String) -> setSubject
+ 483:484:androidx.core.app.ShareCompat$IntentBuilder setText(java.lang.CharSequence) -> setText
+ 469:470:androidx.core.app.ShareCompat$IntentBuilder setType(java.lang.String) -> setType
+ 434:435:void startChooser() -> startChooser
+androidx.core.app.ShareCompat$IntentReader -> androidx.core.app.ShareCompat$IntentReader:
+ 741:742:void <init>(android.app.Activity) -> <init>
+ 751:756:void <init>(android.content.Context,android.content.Intent) -> <init>
+ 731:731:androidx.core.app.ShareCompat$IntentReader from(android.app.Activity) -> from
+ 1008:1008:android.content.ComponentName getCallingActivity() -> getCallingActivity
+ 1023:1031:android.graphics.drawable.Drawable getCallingActivityIcon() -> getCallingActivityIcon
+ 1046:1054:android.graphics.drawable.Drawable getCallingApplicationIcon() -> getCallingApplicationIcon
+ 1069:1077:java.lang.CharSequence getCallingApplicationLabel() -> getCallingApplicationLabel
+ 989:989:java.lang.String getCallingPackage() -> getCallingPackage
+ 959:959:java.lang.String[] getEmailBcc() -> getEmailBcc
+ 948:948:java.lang.String[] getEmailCc() -> getEmailCc
+ 937:937:java.lang.String[] getEmailTo() -> getEmailTo
+ 828:843:java.lang.String getHtmlText() -> getHtmlText
+ 885:885:android.net.Uri getStream() -> getStream
+ 899:908:android.net.Uri getStream(int) -> getStream
+ 920:926:int getStreamCount() -> getStreamCount
+ 970:970:java.lang.String getSubject() -> getSubject
+ 813:813:java.lang.CharSequence getText() -> getText
+ 802:802:java.lang.String getType() -> getType
+ 791:791:boolean isMultipleShare() -> isMultipleShare
+ 767:768:boolean isShareIntent() -> isShareIntent
+ 780:780:boolean isSingleShare() -> isSingleShare
+ 848:870:void withinStyle(java.lang.StringBuilder,java.lang.CharSequence,int,int) -> withinStyle
+androidx.core.app.SharedElementCallback -> androidx.core.app.SharedElementCallback:
+ 42:42:void <init>() -> <init>
+ 214:236:android.graphics.Bitmap createDrawableBitmap(android.graphics.drawable.Drawable) -> createDrawableBitmap
+ 168:207:android.os.Parcelable onCaptureSharedElementSnapshot(android.view.View,android.graphics.Matrix,android.graphics.RectF) -> onCaptureSharedElementSnapshot
+ 257:280:android.view.View onCreateSnapshotView(android.content.Context,android.os.Parcelable) -> onCreateSnapshotView
+ 144:144:void onMapSharedElements(java.util.List,java.util.Map) -> onMapSharedElements
+ 133:133:void onRejectSharedElements(java.util.List) -> onRejectSharedElements
+ 109:109:void onSharedElementEnd(java.util.List,java.util.List,java.util.List) -> onSharedElementEnd
+ 78:78:void onSharedElementStart(java.util.List,java.util.List,java.util.List) -> onSharedElementStart
+ 301:302:void onSharedElementsArrived(java.util.List,java.util.List,androidx.core.app.SharedElementCallback$OnSharedElementsReadyListener) -> onSharedElementsArrived
+androidx.core.app.TaskStackBuilder -> androidx.core.app.TaskStackBuilder:
+ 79:84:void <init>(android.content.Context) -> <init>
+ 121:122:androidx.core.app.TaskStackBuilder addNextIntent(android.content.Intent) -> addNextIntent
+ 139:147:androidx.core.app.TaskStackBuilder addNextIntentWithParentStack(android.content.Intent) -> addNextIntentWithParentStack
+ 159:177:androidx.core.app.TaskStackBuilder addParentStack(android.app.Activity) -> addParentStack
+ 189:189:androidx.core.app.TaskStackBuilder addParentStack(java.lang.Class) -> addParentStack
+ 201:212:androidx.core.app.TaskStackBuilder addParentStack(android.content.ComponentName) -> addParentStack
+ 95:95:androidx.core.app.TaskStackBuilder create(android.content.Context) -> create
+ 247:247:android.content.Intent editIntentAt(int) -> editIntentAt
+ 109:109:androidx.core.app.TaskStackBuilder from(android.content.Context) -> from
+ 234:234:android.content.Intent getIntent(int) -> getIntent
+ 219:219:int getIntentCount() -> getIntentCount
+ 357:365:android.content.Intent[] getIntents() -> getIntents
+ 312:312:android.app.PendingIntent getPendingIntent(int,int) -> getPendingIntent
+ 331:341:android.app.PendingIntent getPendingIntent(int,int,android.os.Bundle) -> getPendingIntent
+ 256:256:java.util.Iterator iterator() -> iterator
+ 268:269:void startActivities() -> startActivities
+ 283:296:void startActivities(android.os.Bundle) -> startActivities
+androidx.core.content.ContentProviderCompat -> androidx.core.content.ContentProviderCompat:
+ 29:31:void <init>() -> <init>
+ 45:49:android.content.Context requireContext(android.content.ContentProvider) -> requireContext
+androidx.core.content.ContentResolverCompat -> androidx.core.content.ContentResolverCompat:
+ 33:35:void <init>() -> <init>
+ 74:90:android.database.Cursor query(android.content.ContentResolver,android.net.Uri,java.lang.String[],java.lang.String,java.lang.String[],java.lang.String,androidx.core.os.CancellationSignal) -> query
+androidx.core.content.ContextCompat -> androidx.core.content.ContextCompat:
+ 153:153:void <clinit>() -> <clinit>
+ 161:163:void <init>() -> <init>
+ 534:538:int checkSelfPermission(android.content.Context,java.lang.String) -> checkSelfPermission
+ 636:637:android.content.Context createDeviceProtectedStorageContext(android.content.Context) -> createDeviceProtectedStorageContext
+ 589:600:java.io.File createFilesDir(java.io.File) -> createFilesDir
+ 581:582:java.io.File getCodeCacheDir(android.content.Context) -> getCodeCacheDir
+ 516:517:int getColor(android.content.Context,int) -> getColor
+ 493:494:android.content.res.ColorStateList getColorStateList(android.content.Context,int) -> getColorStateList
+ 274:275:java.io.File getDataDir(android.content.Context) -> getDataDir
+ 454:455:android.graphics.drawable.Drawable getDrawable(android.content.Context,int) -> getDrawable
+ 433:434:java.io.File[] getExternalCacheDirs(android.content.Context) -> getExternalCacheDirs
+ 380:381:java.io.File[] getExternalFilesDirs(android.content.Context,java.lang.String) -> getExternalFilesDirs
+ 663:666:java.util.concurrent.Executor getMainExecutor(android.content.Context) -> getMainExecutor
+ 557:558:java.io.File getNoBackupFilesDir(android.content.Context) -> getNoBackupFilesDir
+ 327:328:java.io.File[] getObbDirs(android.content.Context) -> getObbDirs
+ 715:716:java.lang.Object getSystemService(android.content.Context,java.lang.Class) -> getSystemService
+ 735:736:java.lang.String getSystemServiceName(android.content.Context,java.lang.Class) -> getSystemServiceName
+ 650:651:boolean isDeviceProtectedStorage(android.content.Context) -> isDeviceProtectedStorage
+ 191:191:boolean startActivities(android.content.Context,android.content.Intent[]) -> startActivities
+ 223:228:boolean startActivities(android.content.Context,android.content.Intent[],android.os.Bundle) -> startActivities
+ 250:255:void startActivity(android.content.Context,android.content.Intent,android.os.Bundle) -> startActivity
+ 695:701:void startForegroundService(android.content.Context,android.content.Intent) -> startForegroundService
+androidx.core.content.ContextCompat$LegacyServiceMapHolder -> androidx.core.content.ContextCompat$LegacyServiceMapHolder:
+ 743:809:void <clinit>() -> <clinit>
+ 742:742:void <init>() -> <init>
+androidx.core.content.ContextCompat$MainHandlerExecutor -> androidx.core.content.ContextCompat$MainHandlerExecutor:
+ 672:674:void <init>(android.os.Handler) -> <init>
+ 678:681:void execute(java.lang.Runnable) -> execute
+androidx.core.content.FileProvider -> androidx.core.content.FileProvider:
+ 361:383:void <clinit>() -> <clinit>
+ 360:360:void <init>() -> <init>
+ 406:417:void attachInfo(android.content.Context,android.content.pm.ProviderInfo) -> attachInfo
+ 875:881:java.io.File buildPath(java.io.File,java.lang.String[]) -> buildPath
+ 885:887:java.lang.String[] copyOf(java.lang.String[],int) -> copyOf
+ 891:893:java.lang.Object[] copyOf(java.lang.Object[],int) -> copyOf
+ 596:597:int delete(android.net.Uri,java.lang.String,java.lang.String[]) -> delete
+ 631:646:androidx.core.content.FileProvider$PathStrategy getPathStrategy(android.content.Context,java.lang.String) -> getPathStrategy
+ 548:559:java.lang.String getType(android.net.Uri) -> getType
+ 441:442:android.net.Uri getUriForFile(android.content.Context,java.lang.String,java.io.File) -> getUriForFile
+ 471:472:android.net.Uri getUriForFile(android.content.Context,java.lang.String,java.io.File,java.lang.String) -> getUriForFile
+ 568:568:android.net.Uri insert(android.net.Uri,android.content.ContentValues) -> insert
+ 851:871:int modeToMode(java.lang.String) -> modeToMode
+ 393:393:boolean onCreate() -> onCreate
+ 620:622:android.os.ParcelFileDescriptor openFile(android.net.Uri,java.lang.String) -> openFile
+ 657:714:androidx.core.content.FileProvider$PathStrategy parsePathStrategy(android.content.Context,java.lang.String) -> parsePathStrategy
+ 508:533:android.database.Cursor query(android.net.Uri,java.lang.String[],java.lang.String,java.lang.String[],java.lang.String) -> query
+ 578:578:int update(android.net.Uri,android.content.ContentValues,java.lang.String,java.lang.String[]) -> update
+androidx.core.content.FileProvider$SimplePathStrategy -> androidx.core.content.FileProvider$SimplePathStrategy:
+ 754:758:void <init>(java.lang.String) -> <init>
+ 765:778:void addRoot(java.lang.String,java.io.File) -> addRoot
+ 820:842:java.io.File getFileForUri(android.net.Uri) -> getFileForUri
+ 784:815:android.net.Uri getUriForFile(java.io.File) -> getUriForFile
+androidx.core.content.IntentCompat -> androidx.core.content.IntentCompat:
+ 29:31:void <init>() -> <init>
+ 107:108:android.content.Intent makeMainSelectorActivity(java.lang.String,java.lang.String) -> makeMainSelectorActivity
+androidx.core.content.LocusIdCompat -> androidx.core.content.LocusIdCompat:
+ 76:83:void <init>(java.lang.String) -> <init>
+ 103:110:boolean equals(java.lang.Object) -> equals
+ 90:90:java.lang.String getId() -> getId
+ 142:143:java.lang.String getSanitizedId() -> getSanitizedId
+ 95:98:int hashCode() -> hashCode
+ 126:126:android.content.LocusId toLocusId() -> toLocusId
+ 135:136:androidx.core.content.LocusIdCompat toLocusIdCompat(android.content.LocusId) -> toLocusIdCompat
+ 117:117:java.lang.String toString() -> toString
+androidx.core.content.LocusIdCompat$Api29Impl -> androidx.core.content.LocusIdCompat$Api29Impl:
+ 148:148:void <init>() -> <init>
+ 155:155:android.content.LocusId create(java.lang.String) -> create
+ 163:163:java.lang.String getId(android.content.LocusId) -> getId
+androidx.core.content.MimeTypeFilter -> androidx.core.content.MimeTypeFilter:
+ 43:44:void <init>() -> <init>
+ 76:83:boolean matches(java.lang.String,java.lang.String) -> matches
+ 93:105:java.lang.String matches(java.lang.String,java.lang.String[]) -> matches
+ 115:127:java.lang.String matches(java.lang.String[],java.lang.String) -> matches
+ 137:150:java.lang.String[] matchesMany(java.lang.String[],java.lang.String) -> matchesMany
+ 48:68:boolean mimeTypeAgainstFilter(java.lang.String[],java.lang.String[]) -> mimeTypeAgainstFilter
+androidx.core.content.PermissionChecker -> androidx.core.content.PermissionChecker:
+ 77:79:void <init>() -> <init>
+ 171:174:int checkCallingOrSelfPermission(android.content.Context,java.lang.String) -> checkCallingOrSelfPermission
+ 152:156:int checkCallingPermission(android.content.Context,java.lang.String,java.lang.String) -> checkCallingPermission
+ 97:119:int checkPermission(android.content.Context,java.lang.String,int,int,java.lang.String) -> checkPermission
+ 134:135:int checkSelfPermission(android.content.Context,java.lang.String) -> checkSelfPermission
+androidx.core.content.SharedPreferencesCompat -> androidx.core.content.SharedPreferencesCompat:
+ 84:84:void <init>() -> <init>
+androidx.core.content.SharedPreferencesCompat$EditorCompat -> androidx.core.content.SharedPreferencesCompat$EditorCompat:
+ 57:59:void <init>() -> <init>
+ 80:81:void apply(android.content.SharedPreferences$Editor) -> apply
+ 66:69:androidx.core.content.SharedPreferencesCompat$EditorCompat getInstance() -> getInstance
+androidx.core.content.SharedPreferencesCompat$EditorCompat$Helper -> androidx.core.content.SharedPreferencesCompat$EditorCompat$Helper:
+ 40:41:void <init>() -> <init>
+ 45:52:void apply(android.content.SharedPreferences$Editor) -> apply
+androidx.core.content.pm.ActivityInfoCompat -> androidx.core.content.pm.ActivityInfoCompat:
+ 27:29:void <init>() -> <init>
+androidx.core.content.pm.PackageInfoCompat -> androidx.core.content.pm.PackageInfoCompat:
+ 261:262:void <init>() -> <init>
+ 244:249:boolean byteArrayContains(byte[][],byte[]) -> byteArrayContains
+ 254:257:byte[] computeSHA256Digest(byte[]) -> computeSHA256Digest
+ 50:53:long getLongVersionCode(android.content.pm.PackageInfo) -> getLongVersionCode
+ 86:107:java.util.List getSignatures(android.content.pm.PackageManager,java.lang.String) -> getSignatures
+ 140:240:boolean hasSignatures(android.content.pm.PackageManager,java.lang.String,java.util.Map,boolean) -> hasSignatures
+androidx.core.content.pm.PackageInfoCompat$Api28Impl -> androidx.core.content.pm.PackageInfoCompat$Api28Impl:
+ 266:267:void <init>() -> <init>
+ 280:280:android.content.pm.Signature[] getApkContentsSigners(android.content.pm.SigningInfo) -> getApkContentsSigners
+ 285:285:android.content.pm.Signature[] getSigningCertificateHistory(android.content.pm.SigningInfo) -> getSigningCertificateHistory
+ 275:275:boolean hasMultipleSigners(android.content.pm.SigningInfo) -> hasMultipleSigners
+ 271:271:boolean hasSigningCertificate(android.content.pm.PackageManager,java.lang.String,byte[],int) -> hasSigningCertificate
+androidx.core.content.pm.PermissionInfoCompat -> androidx.core.content.pm.PermissionInfoCompat:
+ 34:35:void <init>() -> <init>
+ 74:77:int getProtection(android.content.pm.PermissionInfo) -> getProtection
+ 88:91:int getProtectionFlags(android.content.pm.PermissionInfo) -> getProtectionFlags
+androidx.core.content.pm.ShortcutInfoCompat -> androidx.core.content.pm.ShortcutInfoCompat:
+ 90:94:void <init>() -> <init>
+ 168:187:android.content.Intent addToIntent(android.content.Intent) -> addToIntent
+ 150:164:android.os.PersistableBundle buildLegacyExtrasBundle() -> buildLegacyExtrasBundle
+ 363:367:java.util.List fromShortcuts(android.content.Context,java.util.List) -> fromShortcuts
+ 221:221:android.content.ComponentName getActivity() -> getActivity
+ 290:290:java.util.Set getCategories() -> getCategories
+ 252:252:java.lang.CharSequence getDisabledMessage() -> getDisabledMessage
+ 259:259:int getDisabledReason() -> getDisabledReason
+ 372:372:android.os.PersistableBundle getExtras() -> getExtras
+ 319:319:androidx.core.graphics.drawable.IconCompat getIcon() -> getIcon
+ 199:199:java.lang.String getId() -> getId
+ 270:270:android.content.Intent getIntent() -> getIntent
+ 280:280:android.content.Intent[] getIntents() -> getIntents
+ 387:387:long getLastChangedTimestamp() -> getLastChangedTimestamp
+ 302:302:androidx.core.content.LocusIdCompat getLocusId() -> getLocusId
+ 466:470:androidx.core.content.LocusIdCompat getLocusId(android.content.pm.ShortcutInfo) -> getLocusId
+ 481:483:androidx.core.content.LocusIdCompat getLocusIdFromExtra(android.os.PersistableBundle) -> getLocusIdFromExtra
+ 241:241:java.lang.CharSequence getLongLabel() -> getLongLabel
+ 350:353:boolean getLongLivedFromExtra(android.os.PersistableBundle) -> getLongLivedFromExtra
+ 207:207:java.lang.String getPackage() -> getPackage
+ 330:340:androidx.core.app.Person[] getPersonsFromExtra(android.os.PersistableBundle) -> getPersonsFromExtra
+ 311:311:int getRank() -> getRank
+ 231:231:java.lang.CharSequence getShortLabel() -> getShortLabel
+ 380:380:android.os.UserHandle getUserHandle() -> getUserHandle
+ 460:460:boolean hasKeyFieldsOnly() -> hasKeyFieldsOnly
+ 392:392:boolean isCached() -> isCached
+ 416:416:boolean isDeclaredInManifest() -> isDeclaredInManifest
+ 397:397:boolean isDynamic() -> isDynamic
+ 440:440:boolean isEnabled() -> isEnabled
+ 432:432:boolean isImmutable() -> isImmutable
+ 402:402:boolean isPinned() -> isPinned
+ 101:141:android.content.pm.ShortcutInfo toShortcutInfo() -> toShortcutInfo
+androidx.core.content.pm.ShortcutInfoCompat$Builder -> androidx.core.content.pm.ShortcutInfoCompat$Builder:
+ 494:498:void <init>(android.content.Context,java.lang.String) -> <init>
+ 504:538:void <init>(androidx.core.content.pm.ShortcutInfoCompat) -> <init>
+ 545:579:void <init>(android.content.Context,android.content.pm.ShortcutInfo) -> <init>
+ 810:822:androidx.core.content.pm.ShortcutInfoCompat build() -> build
+ 696:697:androidx.core.content.pm.ShortcutInfoCompat$Builder setActivity(android.content.ComponentName) -> setActivity
+ 714:715:androidx.core.content.pm.ShortcutInfoCompat$Builder setAlwaysBadged() -> setAlwaysBadged
+ 753:754:androidx.core.content.pm.ShortcutInfoCompat$Builder setCategories(java.util.Set) -> setCategories
+ 618:619:androidx.core.content.pm.ShortcutInfoCompat$Builder setDisabledMessage(java.lang.CharSequence) -> setDisabledMessage
+ 800:801:androidx.core.content.pm.ShortcutInfoCompat$Builder setExtras(android.os.PersistableBundle) -> setExtras
+ 653:654:androidx.core.content.pm.ShortcutInfoCompat$Builder setIcon(androidx.core.graphics.drawable.IconCompat) -> setIcon
+ 633:633:androidx.core.content.pm.ShortcutInfoCompat$Builder setIntent(android.content.Intent) -> setIntent
+ 644:645:androidx.core.content.pm.ShortcutInfoCompat$Builder setIntents(android.content.Intent[]) -> setIntents
+ 683:684:androidx.core.content.pm.ShortcutInfoCompat$Builder setIsConversation() -> setIsConversation
+ 667:668:androidx.core.content.pm.ShortcutInfoCompat$Builder setLocusId(androidx.core.content.LocusIdCompat) -> setLocusId
+ 606:607:androidx.core.content.pm.ShortcutInfoCompat$Builder setLongLabel(java.lang.CharSequence) -> setLongLabel
+ 763:764:androidx.core.content.pm.ShortcutInfoCompat$Builder setLongLived() -> setLongLived
+ 774:775:androidx.core.content.pm.ShortcutInfoCompat$Builder setLongLived(boolean) -> setLongLived
+ 728:728:androidx.core.content.pm.ShortcutInfoCompat$Builder setPerson(androidx.core.app.Person) -> setPerson
+ 736:737:androidx.core.content.pm.ShortcutInfoCompat$Builder setPersons(androidx.core.app.Person[]) -> setPersons
+ 786:787:androidx.core.content.pm.ShortcutInfoCompat$Builder setRank(int) -> setRank
+ 592:593:androidx.core.content.pm.ShortcutInfoCompat$Builder setShortLabel(java.lang.CharSequence) -> setShortLabel
+androidx.core.content.pm.ShortcutInfoCompatSaver -> androidx.core.content.pm.ShortcutInfoCompatSaver:
+ 36:36:void <init>() -> <init>
+ 48:48:java.util.List getShortcuts() -> getShortcuts
+androidx.core.content.pm.ShortcutInfoCompatSaver$NoopImpl -> androidx.core.content.pm.ShortcutInfoCompatSaver$NoopImpl:
+ 57:57:void <init>() -> <init>
+ 56:56:java.lang.Object addShortcuts(java.util.List) -> addShortcuts
+ 60:60:java.lang.Void addShortcuts(java.util.List) -> addShortcuts
+ 56:56:java.lang.Object removeAllShortcuts() -> removeAllShortcuts
+ 70:70:java.lang.Void removeAllShortcuts() -> removeAllShortcuts
+ 56:56:java.lang.Object removeShortcuts(java.util.List) -> removeShortcuts
+ 65:65:java.lang.Void removeShortcuts(java.util.List) -> removeShortcuts
+androidx.core.content.pm.ShortcutManagerCompat -> androidx.core.content.pm.ShortcutManagerCompat:
+ 125:125:void <clinit>() -> <clinit>
+ 127:129:void <init>() -> <init>
+ 299:313:boolean addDynamicShortcuts(android.content.Context,java.util.List) -> addDynamicShortcuts
+ 502:520:boolean convertUriIconToBitmapIcon(android.content.Context,androidx.core.content.pm.ShortcutInfoCompat) -> convertUriIconToBitmapIcon
+ 526:532:void convertUriIconsToBitmapIcons(android.content.Context,java.util.List) -> convertUriIconsToBitmapIcons
+ 216:224:android.content.Intent createShortcutResultIntent(android.content.Context,androidx.core.content.pm.ShortcutInfoCompat) -> createShortcutResultIntent
+ 553:559:void disableShortcuts(android.content.Context,java.util.List,java.lang.CharSequence) -> disableShortcuts
+ 577:586:void enableShortcuts(android.content.Context,java.util.List) -> enableShortcuts
+ 450:466:java.util.List getDynamicShortcuts(android.content.Context) -> getDynamicShortcuts
+ 736:745:int getIconDimensionInternal(android.content.Context,boolean) -> getIconDimensionInternal
+ 369:373:int getIconMaxHeight(android.content.Context) -> getIconMaxHeight
+ 358:362:int getIconMaxWidth(android.content.Context) -> getIconMaxWidth
+ 321:326:int getMaxShortcutCountPerActivity(android.content.Context) -> getMaxShortcutCountPerActivity
+ 718:726:java.lang.String getShortcutInfoCompatWithLowestRank(java.util.List) -> getShortcutInfoCompatWithLowestRank
+ 749:766:androidx.core.content.pm.ShortcutInfoCompatSaver getShortcutInfoSaverInstance(android.content.Context) -> getShortcutInfoSaverInstance
+ 257:282:java.util.List getShortcuts(android.content.Context,int) -> getShortcuts
+ 338:344:boolean isRateLimitingActive(android.content.Context) -> isRateLimitingActive
+ 136:151:boolean isRequestPinShortcutSupported(android.content.Context) -> isRequestPinShortcutSupported
+ 676:713:boolean pushDynamicShortcut(android.content.Context,androidx.core.content.pm.ShortcutInfoCompat) -> pushDynamicShortcut
+ 612:617:void removeAllDynamicShortcuts(android.content.Context) -> removeAllDynamicShortcuts
+ 597:602:void removeDynamicShortcuts(android.content.Context,java.util.List) -> removeDynamicShortcuts
+ 632:639:void removeLongLivedShortcuts(android.content.Context,java.util.List) -> removeLongLivedShortcuts
+ 395:400:void reportShortcutUsed(android.content.Context,java.lang.String) -> reportShortcutUsed
+ 173:200:boolean requestPinShortcut(android.content.Context,androidx.core.content.pm.ShortcutInfoCompat,android.content.IntentSender) -> requestPinShortcut
+ 425:438:boolean setDynamicShortcuts(android.content.Context,java.util.List) -> setDynamicShortcuts
+ 731:732:void setShortcutInfoCompatSaver(androidx.core.content.pm.ShortcutInfoCompatSaver) -> setShortcutInfoCompatSaver
+ 482:496:boolean updateShortcuts(android.content.Context,java.util.List) -> updateShortcuts
+androidx.core.content.pm.ShortcutManagerCompat$1 -> androidx.core.content.pm.ShortcutManagerCompat$1:
+ 190:190:void <init>(android.content.IntentSender) -> <init>
+ 194:198:void onReceive(android.content.Context,android.content.Intent) -> onReceive
+androidx.core.content.pm.ShortcutManagerCompat$Api25Impl -> androidx.core.content.pm.ShortcutManagerCompat$Api25Impl:
+ 770:770:void <init>() -> <init>
+ 772:780:java.lang.String getShortcutInfoWithLowestRank(java.util.List) -> getShortcutInfoWithLowestRank
+androidx.core.content.res.ColorStateListInflaterCompat -> androidx.core.content.res.ColorStateListInflaterCompat:
+ 49:50:void <init>() -> <init>
+ 86:98:android.content.res.ColorStateList createFromXml(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.content.res.Resources$Theme) -> createFromXml
+ 113:119:android.content.res.ColorStateList createFromXmlInner(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> createFromXmlInner
+ 65:70:android.content.res.ColorStateList inflate(android.content.res.Resources,int,android.content.res.Resources$Theme) -> inflate
+ 128:186:android.content.res.ColorStateList inflate(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflate
+ 198:199:int modulateColorAlpha(int,float) -> modulateColorAlpha
+ 191:192:android.content.res.TypedArray obtainAttributes(android.content.res.Resources,android.content.res.Resources$Theme,android.util.AttributeSet,int[]) -> obtainAttributes
+androidx.core.content.res.ComplexColorCompat -> androidx.core.content.res.ComplexColorCompat:
+ 61:65:void <init>(android.graphics.Shader,android.content.res.ColorStateList,int) -> <init>
+ 152:171:androidx.core.content.res.ComplexColorCompat createFromXml(android.content.res.Resources,int,android.content.res.Resources$Theme) -> createFromXml
+ 68:68:androidx.core.content.res.ComplexColorCompat from(android.graphics.Shader) -> from
+ 72:72:androidx.core.content.res.ComplexColorCompat from(android.content.res.ColorStateList) -> from
+ 76:76:androidx.core.content.res.ComplexColorCompat from(int) -> from
+ 86:86:int getColor() -> getColor
+ 81:81:android.graphics.Shader getShader() -> getShader
+ 140:144:androidx.core.content.res.ComplexColorCompat inflate(android.content.res.Resources,int,android.content.res.Resources$Theme) -> inflate
+ 94:94:boolean isGradient() -> isGradient
+ 98:98:boolean isStateful() -> isStateful
+ 108:117:boolean onStateChanged(int[]) -> onStateChanged
+ 90:91:void setColor(int) -> setColor
+ 124:124:boolean willDraw() -> willDraw
+androidx.core.content.res.ConfigurationHelper -> androidx.core.content.res.ConfigurationHelper:
+ 31:32:void <init>() -> <init>
+ 41:42:int getDensityDpi(android.content.res.Resources) -> getDensityDpi
+androidx.core.content.res.FontResourcesParserCompat -> androidx.core.content.res.FontResourcesParserCompat:
+ 355:356:void <init>() -> <init>
+ 253:254:int getType(android.content.res.TypedArray,int) -> getType
+ 184:192:androidx.core.content.res.FontResourcesParserCompat$FamilyResourceEntry parse(org.xmlpull.v1.XmlPullParser,android.content.res.Resources) -> parse
+ 270:295:java.util.List readCerts(android.content.res.Resources,int) -> readCerts
+ 197:203:androidx.core.content.res.FontResourcesParserCompat$FamilyResourceEntry readFamilies(org.xmlpull.v1.XmlPullParser,android.content.res.Resources) -> readFamilies
+ 209:249:androidx.core.content.res.FontResourcesParserCompat$FamilyResourceEntry readFamily(org.xmlpull.v1.XmlPullParser,android.content.res.Resources) -> readFamily
+ 309:337:androidx.core.content.res.FontResourcesParserCompat$FontFileResourceEntry readFont(org.xmlpull.v1.XmlPullParser,android.content.res.Resources) -> readFont
+ 342:353:void skip(org.xmlpull.v1.XmlPullParser) -> skip
+ 300:304:java.util.List toByteArrayList(java.lang.String[]) -> toByteArrayList
+androidx.core.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry -> androidx.core.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry:
+ 169:171:void <init>(androidx.core.content.res.FontResourcesParserCompat$FontFileResourceEntry[]) -> <init>
+ 174:174:androidx.core.content.res.FontResourcesParserCompat$FontFileResourceEntry[] getEntries() -> getEntries
+androidx.core.content.res.FontResourcesParserCompat$FontFileResourceEntry -> androidx.core.content.res.FontResourcesParserCompat$FontFileResourceEntry:
+ 129:136:void <init>(java.lang.String,int,boolean,java.lang.String,int,int) -> <init>
+ 139:139:java.lang.String getFileName() -> getFileName
+ 159:159:int getResourceId() -> getResourceId
+ 155:155:int getTtcIndex() -> getTtcIndex
+ 151:151:java.lang.String getVariationSettings() -> getVariationSettings
+ 143:143:int getWeight() -> getWeight
+ 147:147:boolean isItalic() -> isItalic
+androidx.core.content.res.FontResourcesParserCompat$ProviderResourceEntry -> androidx.core.content.res.FontResourcesParserCompat$ProviderResourceEntry:
+ 86:91:void <init>(androidx.core.provider.FontRequest,int,int,java.lang.String) -> <init>
+ 95:96:void <init>(androidx.core.provider.FontRequest,int,int) -> <init>
+ 103:103:int getFetchStrategy() -> getFetchStrategy
+ 99:99:androidx.core.provider.FontRequest getRequest() -> getRequest
+ 113:113:java.lang.String getSystemFontFamilyName() -> getSystemFontFamilyName
+ 107:107:int getTimeout() -> getTimeout
+androidx.core.content.res.GradientColorInflaterCompat -> androidx.core.content.res.GradientColorInflaterCompat:
+ 66:67:void <init>() -> <init>
+ 192:197:androidx.core.content.res.GradientColorInflaterCompat$ColorStops checkColors(androidx.core.content.res.GradientColorInflaterCompat$ColorStops,int,int,boolean,int) -> checkColors
+ 71:83:android.graphics.Shader createFromXml(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.content.res.Resources$Theme) -> createFromXml
+ 90:142:android.graphics.Shader createFromXmlInner(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> createFromXmlInner
+ 150:186:androidx.core.content.res.GradientColorInflaterCompat$ColorStops inflateChildElements(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflateChildElements
+ 202:209:android.graphics.Shader$TileMode parseTileMode(int) -> parseTileMode
+androidx.core.content.res.GradientColorInflaterCompat$ColorStops -> androidx.core.content.res.GradientColorInflaterCompat$ColorStops:
+ 217:225:void <init>(java.util.List,java.util.List) -> <init>
+ 227:230:void <init>(int,int) -> <init>
+ 232:235:void <init>(int,int,int) -> <init>
+androidx.core.content.res.GrowingArrayUtils -> androidx.core.content.res.GrowingArrayUtils:
+ 179:179:void <init>() -> <init>
+ 42:49:java.lang.Object[] append(java.lang.Object[],int,java.lang.Object) -> append
+ 56:62:int[] append(int[],int,int) -> append
+ 69:75:long[] append(long[],int,long) -> append
+ 82:88:boolean[] append(boolean[],int,boolean) -> append
+ 175:175:int growSize(int) -> growSize
+ 104:115:java.lang.Object[] insert(java.lang.Object[],int,int,java.lang.Object) -> insert
+ 122:132:int[] insert(int[],int,int,int) -> insert
+ 139:149:long[] insert(long[],int,int,long) -> insert
+ 156:166:boolean[] insert(boolean[],int,int,boolean) -> insert
+androidx.core.content.res.ResourcesCompat -> androidx.core.content.res.ResourcesCompat:
+ 495:495:void <init>() -> <init>
+ 268:271:android.graphics.Typeface getCachedFont(android.content.Context,int) -> getCachedFont
+ 157:158:int getColor(android.content.res.Resources,int,android.content.res.Resources$Theme) -> getColor
+ 187:188:android.content.res.ColorStateList getColorStateList(android.content.res.Resources,int,android.content.res.Resources$Theme) -> getColorStateList
+ 94:95:android.graphics.drawable.Drawable getDrawable(android.content.res.Resources,int,android.content.res.Resources$Theme) -> getDrawable
+ 127:128:android.graphics.drawable.Drawable getDrawableForDensity(android.content.res.Resources,int,int,android.content.res.Resources$Theme) -> getDrawableForDensity
+ 207:213:float getFloat(android.content.res.Resources,int) -> getFloat
+ 239:242:android.graphics.Typeface getFont(android.content.Context,int) -> getFont
+ 360:368:void getFont(android.content.Context,int,androidx.core.content.res.ResourcesCompat$FontCallback,android.os.Handler) -> getFont
+ 378:381:android.graphics.Typeface getFont(android.content.Context,int,android.util.TypedValue,int,androidx.core.content.res.ResourcesCompat$FontCallback) -> getFont
+ 401:409:android.graphics.Typeface loadFont(android.content.Context,int,android.util.TypedValue,int,androidx.core.content.res.ResourcesCompat$FontCallback,android.os.Handler,boolean,boolean) -> loadFont
+ 431:492:android.graphics.Typeface loadFont(android.content.Context,android.content.res.Resources,android.util.TypedValue,int,int,androidx.core.content.res.ResourcesCompat$FontCallback,android.os.Handler,boolean,boolean) -> loadFont
+androidx.core.content.res.ResourcesCompat$FontCallback -> androidx.core.content.res.ResourcesCompat$FontCallback:
+ 278:278:void <init>() -> <init>
+ 324:330:void callbackFailAsync(int,android.os.Handler) -> callbackFailAsync
+ 308:314:void callbackSuccessAsync(android.graphics.Typeface,android.os.Handler) -> callbackSuccessAsync
+ 336:336:android.os.Handler getHandler(android.os.Handler) -> getHandler
+androidx.core.content.res.ResourcesCompat$FontCallback$1 -> androidx.core.content.res.ResourcesCompat$FontCallback$1:
+ 308:308:void <init>(androidx.core.content.res.ResourcesCompat$FontCallback,android.graphics.Typeface) -> <init>
+ 311:312:void run() -> run
+androidx.core.content.res.ResourcesCompat$FontCallback$2 -> androidx.core.content.res.ResourcesCompat$FontCallback$2:
+ 324:324:void <init>(androidx.core.content.res.ResourcesCompat$FontCallback,int) -> <init>
+ 327:328:void run() -> run
+androidx.core.content.res.ResourcesCompat$ThemeCompat -> androidx.core.content.res.ResourcesCompat$ThemeCompat:
+ 501:501:void <init>() -> <init>
+ 517:522:void rebase(android.content.res.Resources$Theme) -> rebase
+androidx.core.content.res.ResourcesCompat$ThemeCompat$ImplApi23 -> androidx.core.content.res.ResourcesCompat$ThemeCompat$ImplApi23:
+ 535:535:void <clinit>() -> <clinit>
+ 534:534:void <init>() -> <init>
+ 541:560:void rebase(android.content.res.Resources$Theme) -> rebase
+androidx.core.content.res.ResourcesCompat$ThemeCompat$ImplApi29 -> androidx.core.content.res.ResourcesCompat$ThemeCompat$ImplApi29:
+ 526:526:void <init>() -> <init>
+ 528:529:void rebase(android.content.res.Resources$Theme) -> rebase
+androidx.core.content.res.TypedArrayUtils -> androidx.core.content.res.TypedArrayUtils:
+ 362:363:void <init>() -> <init>
+ 354:359:int getAttr(android.content.Context,int,int) -> getAttr
+ 264:265:boolean getBoolean(android.content.res.TypedArray,int,int,boolean) -> getBoolean
+ 275:279:android.graphics.drawable.Drawable getDrawable(android.content.res.TypedArray,int,int) -> getDrawable
+ 288:289:int getInt(android.content.res.TypedArray,int,int,int) -> getInt
+ 87:91:boolean getNamedBoolean(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int,boolean) -> getNamedBoolean
+ 122:126:int getNamedColor(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int,int) -> getNamedColor
+ 168:182:android.content.res.ColorStateList getNamedColorStateList(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,android.content.res.Resources$Theme,java.lang.String,int) -> getNamedColorStateList
+ 190:190:android.content.res.ColorStateList getNamedColorStateListFromInt(android.util.TypedValue) -> getNamedColorStateListFromInt
+ 140:154:androidx.core.content.res.ComplexColorCompat getNamedComplexColor(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,android.content.res.Resources$Theme,java.lang.String,int,int) -> getNamedComplexColor
+ 70:74:float getNamedFloat(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int,float) -> getNamedFloat
+ 104:108:int getNamedInt(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int,int) -> getNamedInt
+ 203:207:int getNamedResourceId(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int,int) -> getNamedResourceId
+ 221:225:java.lang.String getNamedString(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int) -> getNamedString
+ 299:300:int getResourceId(android.content.res.TypedArray,int,int,int) -> getResourceId
+ 310:314:java.lang.String getString(android.content.res.TypedArray,int,int) -> getString
+ 326:330:java.lang.CharSequence getText(android.content.res.TypedArray,int,int) -> getText
+ 342:346:java.lang.CharSequence[] getTextArray(android.content.res.TypedArray,int,int) -> getTextArray
+ 58:58:boolean hasAttribute(org.xmlpull.v1.XmlPullParser,java.lang.String) -> hasAttribute
+ 252:255:android.content.res.TypedArray obtainAttributes(android.content.res.Resources,android.content.res.Resources$Theme,android.util.AttributeSet,int[]) -> obtainAttributes
+ 237:241:android.util.TypedValue peekNamedValue(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int) -> peekNamedValue
+androidx.core.database.CursorWindowCompat -> androidx.core.database.CursorWindowCompat:
+ 30:32:void <init>() -> <init>
+ 42:45:android.database.CursorWindow create(java.lang.String,long) -> create
+androidx.core.database.DatabaseUtilsCompat -> androidx.core.database.DatabaseUtilsCompat:
+ 29:31:void <init>() -> <init>
+ 60:66:java.lang.String[] appendSelectionArgs(java.lang.String[],java.lang.String[]) -> appendSelectionArgs
+ 41:48:java.lang.String concatenateWhere(java.lang.String,java.lang.String) -> concatenateWhere
+androidx.core.database.sqlite.SQLiteCursorCompat -> androidx.core.database.sqlite.SQLiteCursorCompat:
+ 29:31:void <init>() -> <init>
+ 45:48:void setFillWindowForwardOnly(android.database.sqlite.SQLiteCursor,boolean) -> setFillWindowForwardOnly
+androidx.core.graphics.BitmapCompat -> androidx.core.graphics.BitmapCompat:
+ 54:54:void <init>() -> <init>
+ 48:49:int getAllocationByteCount(android.graphics.Bitmap) -> getAllocationByteCount
+ 28:29:boolean hasMipMap(android.graphics.Bitmap) -> hasMipMap
+ 35:38:void setHasMipMap(android.graphics.Bitmap,boolean) -> setHasMipMap
+androidx.core.graphics.BlendModeColorFilterCompat -> androidx.core.graphics.BlendModeColorFilterCompat:
+ 54:54:void <init>() -> <init>
+ 42:50:android.graphics.ColorFilter createBlendModeColorFilterCompat(int,androidx.core.graphics.BlendModeCompat) -> createBlendModeColorFilterCompat
+androidx.core.graphics.BlendModeCompat -> androidx.core.graphics.BlendModeCompat:
+ 27:419:void <clinit>() -> <clinit>
+ 27:27:void <init>(java.lang.String,int) -> <init>
+ 27:27:androidx.core.graphics.BlendModeCompat valueOf(java.lang.String) -> valueOf
+ 27:27:androidx.core.graphics.BlendModeCompat[] values() -> values
+androidx.core.graphics.BlendModeUtils -> androidx.core.graphics.BlendModeUtils:
+ 148:148:void <init>() -> <init>
+ 35:95:android.graphics.BlendMode obtainBlendModeFromCompat(androidx.core.graphics.BlendModeCompat) -> obtainBlendModeFromCompat
+ 101:144:android.graphics.PorterDuff$Mode obtainPorterDuffFromCompat(androidx.core.graphics.BlendModeCompat) -> obtainPorterDuffFromCompat
+androidx.core.graphics.BlendModeUtils$1 -> androidx.core.graphics.BlendModeUtils$1:
+ 35:35:void <clinit>() -> <clinit>
+androidx.core.graphics.ColorUtils -> androidx.core.graphics.ColorUtils:
+ 45:45:void <clinit>() -> <clinit>
+ 47:47:void <init>() -> <init>
+ 306:356:int HSLToColor(float[]) -> HSLToColor
+ 570:572:int LABToColor(double,double,double) -> LABToColor
+ 513:527:void LABToXYZ(double,double,double,double[]) -> LABToXYZ
+ 241:275:void RGBToHSL(int,int,int,float[]) -> RGBToHSL
+ 399:403:void RGBToLAB(int,int,int,double[]) -> RGBToLAB
+ 444:458:void RGBToXYZ(int,int,int,double[]) -> RGBToXYZ
+ 544:555:int XYZToColor(double,double,double) -> XYZToColor
+ 481:490:void XYZToLAB(double,double,double,double[]) -> XYZToLAB
+ 611:616:int blendARGB(int,int,float) -> blendARGB
+ 633:641:void blendHSL(float[],float[],float,float[]) -> blendHSL
+ 656:663:void blendLAB(double[],double[],double,double[]) -> blendLAB
+ 159:172:double calculateContrast(int,int) -> calculateContrast
+ 145:148:double calculateLuminance(int) -> calculateLuminance
+ 187:222:int calculateMinimumAlpha(int,int,float) -> calculateMinimumAlpha
+ 667:674:float circularInterpolate(float,float,float) -> circularInterpolate
+ 289:290:void colorToHSL(int,float[]) -> colorToHSL
+ 378:379:void colorToLAB(int,double[]) -> colorToLAB
+ 421:422:void colorToXYZ(int,double[]) -> colorToXYZ
+ 131:131:int compositeAlpha(int,int) -> compositeAlpha
+ 53:64:int compositeColors(int,int) -> compositeColors
+ 92:127:android.graphics.Color compositeColors(android.graphics.Color,android.graphics.Color) -> compositeColors
+ 135:136:int compositeComponent(int,int,int,int,int) -> compositeComponent
+ 585:585:float constrain(float,float,float) -> constrain
+ 589:589:int constrain(int,int,int) -> constrain
+ 579:581:double distanceEuclidean(double[],double[]) -> distanceEuclidean
+ 678:683:double[] getTempDouble3Array() -> getTempDouble3Array
+ 593:595:double pivotXyzComponent(double) -> pivotXyzComponent
+ 365:368:int setAlphaComponent(int,int) -> setAlphaComponent
+androidx.core.graphics.Insets -> androidx.core.graphics.Insets:
+ 36:36:void <clinit>() -> <clinit>
+ 43:48:void <init>(int,int,int,int) -> <init>
+ 89:89:androidx.core.graphics.Insets add(androidx.core.graphics.Insets,androidx.core.graphics.Insets) -> add
+ 141:151:boolean equals(java.lang.Object) -> equals
+ 156:160:int hashCode() -> hashCode
+ 114:115:androidx.core.graphics.Insets max(androidx.core.graphics.Insets,androidx.core.graphics.Insets) -> max
+ 128:129:androidx.core.graphics.Insets min(androidx.core.graphics.Insets,androidx.core.graphics.Insets) -> min
+ 63:66:androidx.core.graphics.Insets of(int,int,int,int) -> of
+ 77:77:androidx.core.graphics.Insets of(android.graphics.Rect) -> of
+ 101:101:androidx.core.graphics.Insets subtract(androidx.core.graphics.Insets,androidx.core.graphics.Insets) -> subtract
+ 188:188:androidx.core.graphics.Insets toCompatInsets(android.graphics.Insets) -> toCompatInsets
+ 198:198:android.graphics.Insets toPlatformInsets() -> toPlatformInsets
+ 165:165:java.lang.String toString() -> toString
+ 178:178:androidx.core.graphics.Insets wrap(android.graphics.Insets) -> wrap
+androidx.core.graphics.PaintCompat -> androidx.core.graphics.PaintCompat:
+ 40:40:void <clinit>() -> <clinit>
+ 156:156:void <init>() -> <init>
+ 51:52:boolean hasGlyph(android.graphics.Paint,java.lang.String) -> hasGlyph
+ 145:153:androidx.core.util.Pair obtainEmptyRects() -> obtainEmptyRects
+ 126:140:boolean setBlendMode(android.graphics.Paint,androidx.core.graphics.BlendModeCompat) -> setBlendMode
+androidx.core.graphics.PathParser -> androidx.core.graphics.PathParser:
+ 795:796:void <init>() -> <init>
+ 190:191:void addNode(java.util.ArrayList,char,float[]) -> addNode
+ 137:151:boolean canMorph(androidx.core.graphics.PathParser$PathDataNode[],androidx.core.graphics.PathParser$PathDataNode[]) -> canMorph
+ 54:65:float[] copyOfRange(float[],int,int) -> copyOfRange
+ 91:112:androidx.core.graphics.PathParser$PathDataNode[] createNodesFromPathData(java.lang.String) -> createNodesFromPathData
+ 73:83:android.graphics.Path createPathFromPathData(java.lang.String) -> createPathFromPathData
+ 120:127:androidx.core.graphics.PathParser$PathDataNode[] deepCopyNodes(androidx.core.graphics.PathParser$PathDataNode[]) -> deepCopyNodes
+ 258:300:void extract(java.lang.String,int,androidx.core.graphics.PathParser$ExtractFloatResult) -> extract
+ 211:244:float[] getFloats(java.lang.String) -> getFloats
+ 315:332:boolean interpolatePathDataNodes(androidx.core.graphics.PathParser$PathDataNode[],androidx.core.graphics.PathParser$PathDataNode[],androidx.core.graphics.PathParser$PathDataNode[],float) -> interpolatePathDataNodes
+ 174:186:int nextStart(java.lang.String,int) -> nextStart
+ 163:169:void updateNodes(androidx.core.graphics.PathParser$PathDataNode[],androidx.core.graphics.PathParser$PathDataNode[]) -> updateNodes
+androidx.core.graphics.PathParser$ExtractFloatResult -> androidx.core.graphics.PathParser$ExtractFloatResult:
+ 199:200:void <init>() -> <init>
+androidx.core.graphics.PathParser$PathDataNode -> androidx.core.graphics.PathParser$PathDataNode:
+ 352:355:void <init>(char,float[]) -> <init>
+ 357:360:void <init>(androidx.core.graphics.PathParser$PathDataNode) -> <init>
+ 398:643:void addCommand(android.graphics.Path,float[],char,char,float[]) -> addCommand
+ 750:792:void arcToBezier(android.graphics.Path,double,double,double,double,double,double,double,double,double) -> arcToBezier
+ 657:720:void drawArc(android.graphics.Path,float,float,float,float,float,float,float,boolean,boolean) -> drawArc
+ 388:393:void interpolatePathDataNode(androidx.core.graphics.PathParser$PathDataNode,androidx.core.graphics.PathParser$PathDataNode,float) -> interpolatePathDataNode
+ 369:375:void nodesToPath(androidx.core.graphics.PathParser$PathDataNode[],android.graphics.Path) -> nodesToPath
+androidx.core.graphics.PathSegment -> androidx.core.graphics.PathSegment:
+ 37:42:void <init>(android.graphics.PointF,float,android.graphics.PointF,float) -> <init>
+ 72:78:boolean equals(java.lang.Object) -> equals
+ 60:60:android.graphics.PointF getEnd() -> getEnd
+ 67:67:float getEndFraction() -> getEndFraction
+ 47:47:android.graphics.PointF getStart() -> getStart
+ 54:54:float getStartFraction() -> getStartFraction
+ 83:87:int hashCode() -> hashCode
+ 92:92:java.lang.String toString() -> toString
+androidx.core.graphics.PathUtils -> androidx.core.graphics.PathUtils:
+ 82:83:void <init>() -> <init>
+ 43:43:java.util.Collection flatten(android.graphics.Path) -> flatten
+ 60:79:java.util.Collection flatten(android.graphics.Path,float) -> flatten
+androidx.core.graphics.TypefaceCompat -> androidx.core.graphics.TypefaceCompat:
+ 50:69:void <clinit>() -> <clinit>
+ 71:71:void <init>() -> <init>
+ 244:245:void clearCache() -> clearCache
+ 223:235:android.graphics.Typeface create(android.content.Context,android.graphics.Typeface,int) -> create
+ 193:193:android.graphics.Typeface createFromFontInfo(android.content.Context,android.os.CancellationSignal,androidx.core.provider.FontsContractCompat$FontInfo[],int) -> createFromFontInfo
+ 125:164: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) -> createFromResourcesFamilyXml
+ 176:182:android.graphics.Typeface createFromResourcesFontFile(android.content.Context,android.content.res.Resources,int,java.lang.String,int) -> createFromResourcesFontFile
+ 94:94:java.lang.String createResourceUid(android.content.res.Resources,int,int) -> createResourceUid
+ 82:82:android.graphics.Typeface findFromCache(android.content.res.Resources,int,int) -> findFromCache
+ 202:208:android.graphics.Typeface getBestFontFromFamily(android.content.Context,android.graphics.Typeface,int) -> getBestFontFromFamily
+ 105:108:android.graphics.Typeface getSystemFontFamily(java.lang.String) -> getSystemFontFamily
+androidx.core.graphics.TypefaceCompat$ResourcesCallbackAdapter -> androidx.core.graphics.TypefaceCompat$ResourcesCallbackAdapter:
+ 261:263:void <init>(androidx.core.content.res.ResourcesCompat$FontCallback) -> <init>
+ 274:277:void onTypefaceRequestFailed(int) -> onTypefaceRequestFailed
+ 267:270:void onTypefaceRetrieved(android.graphics.Typeface) -> onTypefaceRetrieved
+androidx.core.graphics.TypefaceCompatApi21Impl -> androidx.core.graphics.TypefaceCompatApi21Impl:
+ 65:65:void <clinit>() -> <clinit>
+ 54:54:void <init>() -> <init>
+ 136:142:boolean addFontWeightStyle(java.lang.Object,java.lang.String,int,boolean) -> addFontWeightStyle
+ 123:130:android.graphics.Typeface createFromFamiliesWithDefault(java.lang.Object) -> createFromFamiliesWithDefault
+ 176:199:android.graphics.Typeface createFromFontFamilyFilesResourceEntry(android.content.Context,androidx.core.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry,android.content.res.Resources,int) -> createFromFontFamilyFilesResourceEntry
+ 149:169:android.graphics.Typeface createFromFontInfo(android.content.Context,android.os.CancellationSignal,androidx.core.provider.FontsContractCompat$FontInfo[],int) -> createFromFontInfo
+ 101:109:java.io.File getFile(android.os.ParcelFileDescriptor) -> getFile
+ 68:97:void init() -> init
+ 114:118:java.lang.Object newFamily() -> newFamily
+androidx.core.graphics.TypefaceCompatApi24Impl -> androidx.core.graphics.TypefaceCompatApi24Impl:
+ 69:88:void <clinit>() -> <clinit>
+ 51:51:void <init>() -> <init>
+ 112:116:boolean addFontWeightStyle(java.lang.Object,java.nio.ByteBuffer,int,int,boolean) -> addFontWeightStyle
+ 122:127:android.graphics.Typeface createFromFamiliesWithDefault(java.lang.Object) -> createFromFamiliesWithDefault
+ 167:181:android.graphics.Typeface createFromFontFamilyFilesResourceEntry(android.content.Context,androidx.core.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry,android.content.res.Resources,int) -> createFromFontFamilyFilesResourceEntry
+ 135:160:android.graphics.Typeface createFromFontInfo(android.content.Context,android.os.CancellationSignal,androidx.core.provider.FontsContractCompat$FontInfo[],int) -> createFromFontInfo
+ 94:98:boolean isUsable() -> isUsable
+ 103:105:java.lang.Object newFamily() -> newFamily
+androidx.core.graphics.TypefaceCompatApi26Impl -> androidx.core.graphics.TypefaceCompatApi26Impl:
+ 74:108:void <init>() -> <init>
+ 194:196:void abortCreation(java.lang.Object) -> abortCreation
+ 140:144:boolean addFontFromAssetManager(android.content.Context,java.lang.Object,java.lang.String,int,int,int,android.graphics.fonts.FontVariationAxis[]) -> addFontFromAssetManager
+ 155:158:boolean addFontFromBuffer(java.lang.Object,java.nio.ByteBuffer,int,int,int) -> addFontFromBuffer
+ 169:174:android.graphics.Typeface createFromFamiliesWithDefault(java.lang.Object) -> createFromFamiliesWithDefault
+ 203:221:android.graphics.Typeface createFromFontFamilyFilesResourceEntry(android.content.Context,androidx.core.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry,android.content.res.Resources,int) -> createFromFontFamilyFilesResourceEntry
+ 229:281:android.graphics.Typeface createFromFontInfo(android.content.Context,android.os.CancellationSignal,androidx.core.provider.FontsContractCompat$FontInfo[],int) -> createFromFontInfo
+ 291:307:android.graphics.Typeface createFromResourcesFontFile(android.content.Context,android.content.res.Resources,int,java.lang.String,int) -> createFromResourcesFontFile
+ 183:185:boolean freeze(java.lang.Object) -> freeze
+ 114:118:boolean isFontFamilyPrivateAPIAvailable() -> isFontFamilyPrivateAPIAvailable
+ 127:129:java.lang.Object newFamily() -> newFamily
+ 343:343:java.lang.reflect.Method obtainAbortCreationMethod(java.lang.Class) -> obtainAbortCreationMethod
+ 326:326:java.lang.reflect.Method obtainAddFontFromAssetManagerMethod(java.lang.Class) -> obtainAddFontFromAssetManagerMethod
+ 333:333:java.lang.reflect.Method obtainAddFontFromBufferMethod(java.lang.Class) -> obtainAddFontFromBufferMethod
+ 348:352:java.lang.reflect.Method obtainCreateFromFamiliesWithDefaultMethod(java.lang.Class) -> obtainCreateFromFamiliesWithDefaultMethod
+ 316:316:java.lang.Class obtainFontFamily() -> obtainFontFamily
+ 321:321:java.lang.reflect.Constructor obtainFontFamilyCtor(java.lang.Class) -> obtainFontFamilyCtor
+ 339:339:java.lang.reflect.Method obtainFreezeMethod(java.lang.Class) -> obtainFreezeMethod
+androidx.core.graphics.TypefaceCompatApi28Impl -> androidx.core.graphics.TypefaceCompatApi28Impl:
+ 36:36:void <init>() -> <init>
+ 49:54:android.graphics.Typeface createFromFamiliesWithDefault(java.lang.Object) -> createFromFamiliesWithDefault
+ 61:65:java.lang.reflect.Method obtainCreateFromFamiliesWithDefaultMethod(java.lang.Class) -> obtainCreateFromFamiliesWithDefaultMethod
+androidx.core.graphics.TypefaceCompatApi29Impl -> androidx.core.graphics.TypefaceCompatApi29Impl:
+ 44:44:void <init>() -> <init>
+ 109:141:android.graphics.Typeface createFromFontFamilyFilesResourceEntry(android.content.Context,androidx.core.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry,android.content.res.Resources,int) -> createFromFontFamilyFilesResourceEntry
+ 62:99:android.graphics.Typeface createFromFontInfo(android.content.Context,android.os.CancellationSignal,androidx.core.provider.FontsContractCompat$FontInfo[],int) -> createFromFontInfo
+ 54:54:android.graphics.Typeface createFromInputStream(android.content.Context,java.io.InputStream) -> createFromInputStream
+ 152:162:android.graphics.Typeface createFromResourcesFontFile(android.content.Context,android.content.res.Resources,int,java.lang.String,int) -> createFromResourcesFontFile
+ 48:48:androidx.core.provider.FontsContractCompat$FontInfo findBestInfo(androidx.core.provider.FontsContractCompat$FontInfo[],int) -> findBestInfo
+androidx.core.graphics.TypefaceCompatBaseImpl -> androidx.core.graphics.TypefaceCompatBaseImpl:
+ 45:52:void <init>() -> <init>
+ 220:224:void addFontFamily(android.graphics.Typeface,androidx.core.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry) -> addFontFamily
+ 170:179:android.graphics.Typeface createFromFontFamilyFilesResourceEntry(android.content.Context,androidx.core.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry,android.content.res.Resources,int) -> createFromFontFamilyFilesResourceEntry
+ 138:150:android.graphics.Typeface createFromFontInfo(android.content.Context,android.os.CancellationSignal,androidx.core.provider.FontsContractCompat$FontInfo[],int) -> createFromFontInfo
+ 115:131:android.graphics.Typeface createFromInputStream(android.content.Context,java.io.InputStream) -> createFromInputStream
+ 188:204:android.graphics.Typeface createFromResourcesFontFile(android.content.Context,android.content.res.Resources,int,java.lang.String,int) -> createFromResourcesFontFile
+ 154:154:androidx.core.content.res.FontResourcesParserCompat$FontFileResourceEntry findBestEntry(androidx.core.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry,int) -> findBestEntry
+ 62:77:java.lang.Object findBestFont(java.lang.Object[],int,androidx.core.graphics.TypefaceCompatBaseImpl$StyleExtractor) -> findBestFont
+ 100:100:androidx.core.provider.FontsContractCompat$FontInfo findBestInfo(androidx.core.provider.FontsContractCompat$FontInfo[],int) -> findBestInfo
+ 212:216:androidx.core.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry getFontFamily(android.graphics.Typeface) -> getFontFamily
+ 81:95:long getUniqueKey(android.graphics.Typeface) -> getUniqueKey
+androidx.core.graphics.TypefaceCompatBaseImpl$1 -> androidx.core.graphics.TypefaceCompatBaseImpl$1:
+ 100:100:void <init>(androidx.core.graphics.TypefaceCompatBaseImpl) -> <init>
+ 100:100:int getWeight(java.lang.Object) -> getWeight
+ 103:103:int getWeight(androidx.core.provider.FontsContractCompat$FontInfo) -> getWeight
+ 100:100:boolean isItalic(java.lang.Object) -> isItalic
+ 108:108:boolean isItalic(androidx.core.provider.FontsContractCompat$FontInfo) -> isItalic
+androidx.core.graphics.TypefaceCompatBaseImpl$2 -> androidx.core.graphics.TypefaceCompatBaseImpl$2:
+ 154:154:void <init>(androidx.core.graphics.TypefaceCompatBaseImpl) -> <init>
+ 154:154:int getWeight(java.lang.Object) -> getWeight
+ 157:157:int getWeight(androidx.core.content.res.FontResourcesParserCompat$FontFileResourceEntry) -> getWeight
+ 154:154:boolean isItalic(java.lang.Object) -> isItalic
+ 162:162:boolean isItalic(androidx.core.content.res.FontResourcesParserCompat$FontFileResourceEntry) -> isItalic
+androidx.core.graphics.TypefaceCompatUtil -> androidx.core.graphics.TypefaceCompatUtil:
+ 58:58:void <init>() -> <init>
+ 181:187:void closeQuietly(java.io.Closeable) -> closeQuietly
+ 130:141:java.nio.ByteBuffer copyToDirectBuffer(android.content.Context,android.content.res.Resources,int) -> copyToDirectBuffer
+ 148:164:boolean copyToFile(java.io.File,java.io.InputStream) -> copyToFile
+ 171:177:boolean copyToFile(java.io.File,android.content.res.Resources,int) -> copyToFile
+ 69:85:java.io.File getTempFile(android.content.Context) -> getTempFile
+ 94:99:java.nio.ByteBuffer mmap(java.io.File) -> mmap
+ 109:120:java.nio.ByteBuffer mmap(android.content.Context,android.os.CancellationSignal,android.net.Uri) -> mmap
+ 208:223:java.util.Map readFontInfoIntoByteBuffer(android.content.Context,androidx.core.provider.FontsContractCompat$FontInfo[],android.os.CancellationSignal) -> readFontInfoIntoByteBuffer
+androidx.core.graphics.drawable.DrawableCompat -> androidx.core.graphics.drawable.DrawableCompat:
+ 419:419:void <init>() -> <init>
+ 188:191:void applyTheme(android.graphics.drawable.Drawable,android.content.res.Resources$Theme) -> applyTheme
+ 197:198:boolean canApplyTheme(android.graphics.drawable.Drawable) -> canApplyTheme
+ 221:252:void clearColorFilter(android.graphics.drawable.Drawable) -> clearColorFilter
+ 177:178:int getAlpha(android.graphics.drawable.Drawable) -> getAlpha
+ 210:211:android.graphics.ColorFilter getColorFilter(android.graphics.drawable.Drawable) -> getColorFilter
+ 391:392:int getLayoutDirection(android.graphics.drawable.Drawable) -> getLayoutDirection
+ 268:273:void inflate(android.graphics.drawable.Drawable,android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflate
+ 95:96:boolean isAutoMirrored(android.graphics.drawable.Drawable) -> isAutoMirrored
+ 62:63:void jumpToCurrentState(android.graphics.drawable.Drawable) -> jumpToCurrentState
+ 78:81:void setAutoMirrored(android.graphics.drawable.Drawable,boolean) -> setAutoMirrored
+ 110:113:void setHotspot(android.graphics.drawable.Drawable,float,float) -> setHotspot
+ 123:126:void setHotspotBounds(android.graphics.drawable.Drawable,int,int,int,int) -> setHotspotBounds
+ 354:355:boolean setLayoutDirection(android.graphics.drawable.Drawable,int) -> setLayoutDirection
+ 135:140:void setTint(android.graphics.drawable.Drawable,int) -> setTint
+ 149:154:void setTintList(android.graphics.drawable.Drawable,android.content.res.ColorStateList) -> setTintList
+ 163:168:void setTintMode(android.graphics.drawable.Drawable,android.graphics.PorterDuff$Mode) -> setTintMode
+ 334:337:android.graphics.drawable.Drawable unwrap(android.graphics.drawable.Drawable) -> unwrap
+ 307:308:android.graphics.drawable.Drawable wrap(android.graphics.drawable.Drawable) -> wrap
+androidx.core.graphics.drawable.IconCompat -> androidx.core.graphics.drawable.IconCompat:
+ 208:208:void <clinit>() -> <clinit>
+ 155:380:void <init>() -> <init>
+ 155:384:void <init>(int) -> <init>
+ 764:813:void addToShortcutIntent(android.content.Intent,android.graphics.drawable.Drawable,android.content.Context) -> addToShortcutIntent
+ 603:627:void checkResource(android.content.Context) -> checkResource
+ 994:1024:androidx.core.graphics.drawable.IconCompat createFromBundle(android.os.Bundle) -> createFromBundle
+ 1033:1050:androidx.core.graphics.drawable.IconCompat createFromIcon(android.content.Context,android.graphics.drawable.Icon) -> createFromIcon
+ 1061:1072:androidx.core.graphics.drawable.IconCompat createFromIcon(android.graphics.drawable.Icon) -> createFromIcon
+ 1084:1087:androidx.core.graphics.drawable.IconCompat createFromIconOrNullIfZeroResId(android.graphics.drawable.Icon) -> createFromIconOrNullIfZeroResId
+ 1211:1246:android.graphics.Bitmap createLegacyIconFromAdaptiveIcon(android.graphics.Bitmap,boolean) -> createLegacyIconFromAdaptiveIcon
+ 286:291:androidx.core.graphics.drawable.IconCompat createWithAdaptiveBitmap(android.graphics.Bitmap) -> createWithAdaptiveBitmap
+ 351:356:androidx.core.graphics.drawable.IconCompat createWithAdaptiveBitmapContentUri(java.lang.String) -> createWithAdaptiveBitmapContentUri
+ 368:371:androidx.core.graphics.drawable.IconCompat createWithAdaptiveBitmapContentUri(android.net.Uri) -> createWithAdaptiveBitmapContentUri
+ 271:276:androidx.core.graphics.drawable.IconCompat createWithBitmap(android.graphics.Bitmap) -> createWithBitmap
+ 321:326:androidx.core.graphics.drawable.IconCompat createWithContentUri(java.lang.String) -> createWithContentUri
+ 336:339:androidx.core.graphics.drawable.IconCompat createWithContentUri(android.net.Uri) -> createWithContentUri
+ 304:311:androidx.core.graphics.drawable.IconCompat createWithData(byte[],int,int) -> createWithData
+ 233:236:androidx.core.graphics.drawable.IconCompat createWithResource(android.content.Context,int) -> createWithResource
+ 244:262:androidx.core.graphics.drawable.IconCompat createWithResource(android.content.res.Resources,java.lang.String,int) -> createWithResource
+ 457:468:android.graphics.Bitmap getBitmap() -> getBitmap
+ 436:442:int getResId() -> getResId
+ 1157:1170:int getResId(android.graphics.drawable.Icon) -> getResId
+ 410:424:java.lang.String getResPackage() -> getResPackage
+ 1128:1141:java.lang.String getResPackage(android.graphics.drawable.Icon) -> getResPackage
+ 736:751:android.content.res.Resources getResources(android.content.Context,java.lang.String) -> getResources
+ 395:398:int getType() -> getType
+ 1100:1113:int getType(android.graphics.drawable.Icon) -> getType
+ 481:487:android.net.Uri getUri() -> getUri
+ 1185:1198:android.net.Uri getUri(android.graphics.drawable.Icon) -> getUri
+ 716:732:java.io.InputStream getUriInputStream(android.content.Context) -> getUriInputStream
+ 639:641:android.graphics.drawable.Drawable loadDrawable(android.content.Context) -> loadDrawable
+ 656:705:android.graphics.drawable.Drawable loadDrawableInner(android.content.Context) -> loadDrawableInner
+ 937:976:void onPostParceling() -> onPostParceling
+ 900:933:void onPreParceling(boolean) -> onPreParceling
+ 497:497:androidx.core.graphics.drawable.IconCompat setTint(int) -> setTint
+ 507:508:androidx.core.graphics.drawable.IconCompat setTintList(android.content.res.ColorStateList) -> setTintList
+ 518:519:androidx.core.graphics.drawable.IconCompat setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 821:852:android.os.Bundle toBundle() -> toBundle
+ 529:529:android.graphics.drawable.Icon toIcon() -> toIcon
+ 541:595:android.graphics.drawable.Icon toIcon(android.content.Context) -> toIcon
+ 858:895:java.lang.String toString() -> toString
+ 979:986:java.lang.String typeToString(int) -> typeToString
+androidx.core.graphics.drawable.IconCompatParcelizer -> androidx.core.graphics.drawable.IconCompatParcelizer:
+ 11:11:void <init>() -> <init>
+ 14:24:androidx.core.graphics.drawable.IconCompat read(androidx.versionedparcelable.VersionedParcel) -> read
+ 29:55:void write(androidx.core.graphics.drawable.IconCompat,androidx.versionedparcelable.VersionedParcel) -> write
+androidx.core.graphics.drawable.RoundedBitmapDrawable -> androidx.core.graphics.drawable.RoundedBitmapDrawable:
+ 50:395:void <init>(android.content.res.Resources,android.graphics.Bitmap) -> <init>
+ 84:86:void computeBitmapSize() -> computeBitmapSize
+ 260:271:void draw(android.graphics.Canvas) -> draw
+ 284:284:int getAlpha() -> getAlpha
+ 80:80:android.graphics.Bitmap getBitmap() -> getBitmap
+ 295:295:android.graphics.ColorFilter getColorFilter() -> getColorFilter
+ 356:356:float getCornerRadius() -> getCornerRadius
+ 140:140:int getGravity() -> getGravity
+ 366:366:int getIntrinsicHeight() -> getIntrinsicHeight
+ 361:361:int getIntrinsicWidth() -> getIntrinsicWidth
+ 371:379:int getOpacity() -> getOpacity
+ 72:72:android.graphics.Paint getPaint() -> getPaint
+ 223:223:void gravityCompatApply(int,int,int,android.graphics.Rect,android.graphics.Rect) -> gravityCompatApply
+ 206:206:boolean hasAntiAlias() -> hasAntiAlias
+ 182:182:boolean hasMipMap() -> hasMipMap
+ 323:323:boolean isCircular() -> isCircular
+ 398:398:boolean isGreaterThanZero(float) -> isGreaterThanZero
+ 345:350:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 275:280:void setAlpha(int) -> setAlpha
+ 194:196:void setAntiAlias(boolean) -> setAntiAlias
+ 303:312:void setCircular(boolean) -> setCircular
+ 289:291:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 330:341:void setCornerRadius(float) -> setCornerRadius
+ 217:219:void setDither(boolean) -> setDither
+ 211:213:void setFilterBitmap(boolean) -> setFilterBitmap
+ 151:156:void setGravity(int) -> setGravity
+ 170:170:void setMipMap(boolean) -> setMipMap
+ 99:100:void setTargetDensity(android.graphics.Canvas) -> setTargetDensity
+ 111:112:void setTargetDensity(android.util.DisplayMetrics) -> setTargetDensity
+ 123:130:void setTargetDensity(int) -> setTargetDensity
+ 315:317:void updateCircularCornerRadius() -> updateCircularCornerRadius
+ 227:256:void updateDstRect() -> updateDstRect
+androidx.core.graphics.drawable.RoundedBitmapDrawable21 -> androidx.core.graphics.drawable.RoundedBitmapDrawable21:
+ 32:33:void <init>(android.content.res.Resources,android.graphics.Bitmap) -> <init>
+ 37:39:void getOutline(android.graphics.Outline) -> getOutline
+ 57:59:void gravityCompatApply(int,int,int,android.graphics.Rect,android.graphics.Rect) -> gravityCompatApply
+ 51:51:boolean hasMipMap() -> hasMipMap
+ 43:47:void setMipMap(boolean) -> setMipMap
+androidx.core.graphics.drawable.RoundedBitmapDrawableFactory -> androidx.core.graphics.drawable.RoundedBitmapDrawableFactory:
+ 104:104:void <init>() -> <init>
+ 73:74:androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources,android.graphics.Bitmap) -> create
+ 84:88:androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources,java.lang.String) -> create
+ 97:101:androidx.core.graphics.drawable.RoundedBitmapDrawable create(android.content.res.Resources,java.io.InputStream) -> create
+androidx.core.graphics.drawable.RoundedBitmapDrawableFactory$DefaultRoundedBitmapDrawable -> androidx.core.graphics.drawable.RoundedBitmapDrawableFactory$DefaultRoundedBitmapDrawable:
+ 43:44:void <init>(android.content.res.Resources,android.graphics.Bitmap) -> <init>
+ 62:64:void gravityCompatApply(int,int,int,android.graphics.Rect,android.graphics.Rect) -> gravityCompatApply
+ 56:56:boolean hasMipMap() -> hasMipMap
+ 48:52:void setMipMap(boolean) -> setMipMap
+androidx.core.graphics.drawable.WrappedDrawableApi14 -> androidx.core.graphics.drawable.WrappedDrawableApi14:
+ 41:41:void <clinit>() -> <clinit>
+ 52:55:void <init>(androidx.core.graphics.drawable.WrappedDrawableState,android.content.res.Resources) -> <init>
+ 62:66:void <init>(android.graphics.drawable.Drawable) -> <init>
+ 86:87:void draw(android.graphics.Canvas) -> draw
+ 103:105:int getChangingConfigurations() -> getChangingConfigurations
+ 222:226:android.graphics.drawable.Drawable$ConstantState getConstantState() -> getConstantState
+ 152:152:android.graphics.drawable.Drawable getCurrent() -> getCurrent
+ 177:177:int getIntrinsicHeight() -> getIntrinsicHeight
+ 172:172:int getIntrinsicWidth() -> getIntrinsicWidth
+ 216:216:int getLayoutDirection() -> getLayoutDirection
+ 187:187:int getMinimumHeight() -> getMinimumHeight
+ 182:182:int getMinimumWidth() -> getMinimumWidth
+ 162:162:int getOpacity() -> getOpacity
+ 192:192:boolean getPadding(android.graphics.Rect) -> getPadding
+ 146:146:int[] getState() -> getState
+ 167:167:android.graphics.Region getTransparentRegion() -> getTransparentRegion
+ 334:334:android.graphics.drawable.Drawable getWrappedDrawable() -> getWrappedDrawable
+ 263:264:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 204:204:boolean isAutoMirrored() -> isAutoMirrored
+ 365:365:boolean isCompatTintEnabled() -> isCompatTintEnabled
+ 130:133:boolean isStateful() -> isStateful
+ 81:82:void jumpToCurrentState() -> jumpToCurrentState
+ 232:242:android.graphics.drawable.Drawable mutate() -> mutate
+ 255:255:androidx.core.graphics.drawable.WrappedDrawableState mutateConstantState() -> mutateConstantState
+ 91:94:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 210:210:boolean onLayoutDirectionChanged(int) -> onLayoutDirectionChanged
+ 284:284:boolean onLevelChange(int) -> onLevelChange
+ 271:272:void scheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable,long) -> scheduleDrawable
+ 120:121:void setAlpha(int) -> setAlpha
+ 198:199:void setAutoMirrored(boolean) -> setAutoMirrored
+ 98:99:void setChangingConfigurations(int) -> setChangingConfigurations
+ 125:126:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 110:111:void setDither(boolean) -> setDither
+ 115:116:void setFilterBitmap(boolean) -> setFilterBitmap
+ 138:140:boolean setState(int[]) -> setState
+ 289:290:void setTint(int) -> setTint
+ 294:296:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 300:302:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 157:157:boolean setVisible(boolean,boolean) -> setVisible
+ 342:361:void setWrappedDrawable(android.graphics.drawable.Drawable) -> setWrappedDrawable
+ 279:280:void unscheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable) -> unscheduleDrawable
+ 74:77:void updateLocalState(android.content.res.Resources) -> updateLocalState
+ 305:326:boolean updateTint(int[]) -> updateTint
+androidx.core.graphics.drawable.WrappedDrawableApi21 -> androidx.core.graphics.drawable.WrappedDrawableApi21:
+ 43:45:void <init>(android.graphics.drawable.Drawable) -> <init>
+ 48:50:void <init>(androidx.core.graphics.drawable.WrappedDrawableState,android.content.res.Resources) -> <init>
+ 141:148:void findAndCacheIsProjectedDrawableMethod() -> findAndCacheIsProjectedDrawableMethod
+ 70:70:android.graphics.Rect getDirtyBounds() -> getDirtyBounds
+ 64:65:void getOutline(android.graphics.Outline) -> getOutline
+ 113:120:boolean isCompatTintEnabled() -> isCompatTintEnabled
+ 129:137:boolean isProjected() -> isProjected
+ 54:55:void setHotspot(float,float) -> setHotspot
+ 59:60:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 102:108:boolean setState(int[]) -> setState
+ 84:89:void setTint(int) -> setTint
+ 75:80:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 93:98:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+androidx.core.graphics.drawable.WrappedDrawableState -> androidx.core.graphics.drawable.WrappedDrawableState:
+ 32:42:void <init>(androidx.core.graphics.drawable.WrappedDrawableState) -> <init>
+ 66:66:boolean canConstantState() -> canConstantState
+ 61:62:int getChangingConfigurations() -> getChangingConfigurations
+ 47:47:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 53:54:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+androidx.core.hardware.display.DisplayManagerCompat -> androidx.core.hardware.display.DisplayManagerCompat:
+ 34:34:void <clinit>() -> <clinit>
+ 53:55:void <init>(android.content.Context) -> <init>
+ 84:86:android.view.Display getDisplay(int) -> getDisplay
+ 104:106:android.view.Display[] getDisplays() -> getDisplays
+ 133:135:android.view.Display[] getDisplays(java.lang.String) -> getDisplays
+ 62:69:androidx.core.hardware.display.DisplayManagerCompat getInstance(android.content.Context) -> getInstance
+androidx.core.hardware.fingerprint.FingerprintManagerCompat -> androidx.core.hardware.fingerprint.FingerprintManagerCompat:
+ 55:57:void <init>(android.content.Context) -> <init>
+ 107:121:void authenticate(androidx.core.hardware.fingerprint.FingerprintManagerCompat$CryptoObject,int,androidx.core.os.CancellationSignal,androidx.core.hardware.fingerprint.FingerprintManagerCompat$AuthenticationCallback,android.os.Handler) -> authenticate
+ 52:52:androidx.core.hardware.fingerprint.FingerprintManagerCompat from(android.content.Context) -> from
+ 126:132:android.hardware.fingerprint.FingerprintManager getFingerprintManagerOrNull(android.content.Context) -> getFingerprintManagerOrNull
+ 66:68:boolean hasEnrolledFingerprints() -> hasEnrolledFingerprints
+ 81:83:boolean isHardwareDetected() -> isHardwareDetected
+ 153:162:androidx.core.hardware.fingerprint.FingerprintManagerCompat$CryptoObject unwrapCryptoObject(android.hardware.fingerprint.FingerprintManager$CryptoObject) -> unwrapCryptoObject
+ 169:169:android.hardware.fingerprint.FingerprintManager$AuthenticationCallback wrapCallback(androidx.core.hardware.fingerprint.FingerprintManagerCompat$AuthenticationCallback) -> wrapCallback
+ 138:147:android.hardware.fingerprint.FingerprintManager$CryptoObject wrapCryptoObject(androidx.core.hardware.fingerprint.FingerprintManagerCompat$CryptoObject) -> wrapCryptoObject
+androidx.core.hardware.fingerprint.FingerprintManagerCompat$1 -> androidx.core.hardware.fingerprint.FingerprintManagerCompat$1:
+ 169:169:void <init>(androidx.core.hardware.fingerprint.FingerprintManagerCompat$AuthenticationCallback) -> <init>
+ 172:173:void onAuthenticationError(int,java.lang.CharSequence) -> onAuthenticationError
+ 188:189:void onAuthenticationFailed() -> onAuthenticationFailed
+ 177:178:void onAuthenticationHelp(int,java.lang.CharSequence) -> onAuthenticationHelp
+ 182:184:void onAuthenticationSucceeded(android.hardware.fingerprint.FingerprintManager$AuthenticationResult) -> onAuthenticationSucceeded
+androidx.core.hardware.fingerprint.FingerprintManagerCompat$AuthenticationCallback -> androidx.core.hardware.fingerprint.FingerprintManagerCompat$AuthenticationCallback:
+ 270:270:void <init>() -> <init>
+ 277:277:void onAuthenticationError(int,java.lang.CharSequence) -> onAuthenticationError
+ 297:297:void onAuthenticationFailed() -> onAuthenticationFailed
+ 286:286:void onAuthenticationHelp(int,java.lang.CharSequence) -> onAuthenticationHelp
+ 292:292:void onAuthenticationSucceeded(androidx.core.hardware.fingerprint.FingerprintManagerCompat$AuthenticationResult) -> onAuthenticationSucceeded
+androidx.core.hardware.fingerprint.FingerprintManagerCompat$AuthenticationResult -> androidx.core.hardware.fingerprint.FingerprintManagerCompat$AuthenticationResult:
+ 251:253:void <init>(androidx.core.hardware.fingerprint.FingerprintManagerCompat$CryptoObject) -> <init>
+ 260:260:androidx.core.hardware.fingerprint.FingerprintManagerCompat$CryptoObject getCryptoObject() -> getCryptoObject
+androidx.core.hardware.fingerprint.FingerprintManagerCompat$CryptoObject -> androidx.core.hardware.fingerprint.FingerprintManagerCompat$CryptoObject:
+ 203:208:void <init>(java.security.Signature) -> <init>
+ 210:214:void <init>(javax.crypto.Cipher) -> <init>
+ 216:220:void <init>(javax.crypto.Mac) -> <init>
+ 234:234:javax.crypto.Cipher getCipher() -> getCipher
+ 241:241:javax.crypto.Mac getMac() -> getMac
+ 227:227:java.security.Signature getSignature() -> getSignature
+androidx.core.location.GnssStatusCompat -> androidx.core.location.GnssStatusCompat:
+ 130:130:void <init>() -> <init>
+ 117:117:androidx.core.location.GnssStatusCompat wrap(android.location.GnssStatus) -> wrap
+ 126:126:androidx.core.location.GnssStatusCompat wrap(android.location.GpsStatus) -> wrap
+androidx.core.location.GnssStatusCompat$Callback -> androidx.core.location.GnssStatusCompat$Callback:
+ 88:88:void <init>() -> <init>
+ 103:103:void onFirstFix(int) -> onFirstFix
+ 108:108:void onSatelliteStatusChanged(androidx.core.location.GnssStatusCompat) -> onSatelliteStatusChanged
+ 93:93:void onStarted() -> onStarted
+ 98:98:void onStopped() -> onStopped
+androidx.core.location.GnssStatusWrapper -> androidx.core.location.GnssStatusWrapper:
+ 37:39:void <init>(android.location.GnssStatus) -> <init>
+ 124:131:boolean equals(java.lang.Object) -> equals
+ 68:68:float getAzimuthDegrees(int) -> getAzimuthDegrees
+ 115:118:float getBasebandCn0DbHz(int) -> getBasebandCn0DbHz
+ 97:100:float getCarrierFrequencyHz(int) -> getCarrierFrequencyHz
+ 58:58:float getCn0DbHz(int) -> getCn0DbHz
+ 48:48:int getConstellationType(int) -> getConstellationType
+ 63:63:float getElevationDegrees(int) -> getElevationDegrees
+ 43:43:int getSatelliteCount() -> getSatelliteCount
+ 53:53:int getSvid(int) -> getSvid
+ 78:78:boolean hasAlmanacData(int) -> hasAlmanacData
+ 106:109:boolean hasBasebandCn0DbHz(int) -> hasBasebandCn0DbHz
+ 88:91:boolean hasCarrierFrequencyHz(int) -> hasCarrierFrequencyHz
+ 73:73:boolean hasEphemerisData(int) -> hasEphemerisData
+ 136:136:int hashCode() -> hashCode
+ 83:83:boolean usedInFix(int) -> usedInFix
+androidx.core.location.GpsStatusWrapper -> androidx.core.location.GpsStatusWrapper:
+ 60:66:void <init>(android.location.GpsStatus) -> <init>
+ 173:180:boolean equals(java.lang.Object) -> equals
+ 112:112:float getAzimuthDegrees(int) -> getAzimuthDegrees
+ 147:147:float getBasebandCn0DbHz(int) -> getBasebandCn0DbHz
+ 137:137:float getCarrierFrequencyHz(int) -> getCarrierFrequencyHz
+ 102:102:float getCn0DbHz(int) -> getCn0DbHz
+ 189:200:int getConstellationFromPrn(int) -> getConstellationFromPrn
+ 84:87:int getConstellationType(int) -> getConstellationType
+ 107:107:float getElevationDegrees(int) -> getElevationDegrees
+ 152:168:android.location.GpsSatellite getSatellite(int) -> getSatellite
+ 70:79:int getSatelliteCount() -> getSatelliteCount
+ 93:96:int getSvid(int) -> getSvid
+ 205:216:int getSvidFromPrn(int) -> getSvidFromPrn
+ 122:122:boolean hasAlmanacData(int) -> hasAlmanacData
+ 142:142:boolean hasBasebandCn0DbHz(int) -> hasBasebandCn0DbHz
+ 132:132:boolean hasCarrierFrequencyHz(int) -> hasCarrierFrequencyHz
+ 117:117:boolean hasEphemerisData(int) -> hasEphemerisData
+ 185:185:int hashCode() -> hashCode
+ 127:127:boolean usedInFix(int) -> usedInFix
+androidx.core.location.LocationManagerCompat -> androidx.core.location.LocationManagerCompat:
+ 112:112:void <clinit>() -> <clinit>
+ 305:305:void <init>() -> <init>
+ 76:108:boolean isLocationEnabled(android.location.LocationManager) -> isLocationEnabled
+ 125:129:boolean registerGnssStatusCallback(android.location.LocationManager,androidx.core.location.GnssStatusCompat$Callback,android.os.Handler) -> registerGnssStatusCallback
+ 155:162:boolean registerGnssStatusCallback(android.location.LocationManager,java.util.concurrent.Executor,androidx.core.location.GnssStatusCompat$Callback) -> registerGnssStatusCallback
+ 170:202:boolean registerGnssStatusCallback(android.location.LocationManager,android.os.Handler,java.util.concurrent.Executor,androidx.core.location.GnssStatusCompat$Callback) -> registerGnssStatusCallback
+ 276:303:void unregisterGnssStatusCallback(android.location.LocationManager,androidx.core.location.GnssStatusCompat$Callback) -> unregisterGnssStatusCallback
+androidx.core.location.LocationManagerCompat$1 -> androidx.core.location.LocationManagerCompat$1:
+ 216:216:void <init>(android.location.LocationManager,androidx.core.location.LocationManagerCompat$GpsStatusTransport) -> <init>
+ 216:216:java.lang.Object call() -> call
+ 220:220:java.lang.Boolean call() -> call
+androidx.core.location.LocationManagerCompat$Api28Impl -> androidx.core.location.LocationManagerCompat$Api28Impl:
+ 544:546:void <init>() -> <init>
+ 549:549:boolean isLocationEnabled(android.location.LocationManager) -> isLocationEnabled
+androidx.core.location.LocationManagerCompat$GnssStatusTransport -> androidx.core.location.LocationManagerCompat$GnssStatusTransport:
+ 312:315:void <init>(androidx.core.location.GnssStatusCompat$Callback) -> <init>
+ 329:330:void onFirstFix(int) -> onFirstFix
+ 334:335:void onSatelliteStatusChanged(android.location.GnssStatus) -> onSatelliteStatusChanged
+ 319:320:void onStarted() -> onStarted
+ 324:325:void onStopped() -> onStopped
+androidx.core.location.LocationManagerCompat$GpsStatusTransport -> androidx.core.location.LocationManagerCompat$GpsStatusTransport:
+ 441:445:void <init>(android.location.LocationManager,androidx.core.location.GnssStatusCompat$Callback) -> <init>
+ 459:520:void onGpsStatusChanged(int) -> onGpsStatusChanged
+ 448:450:void register(java.util.concurrent.Executor) -> register
+ 453:454:void unregister() -> unregister
+androidx.core.location.LocationManagerCompat$GpsStatusTransport$1 -> androidx.core.location.LocationManagerCompat$GpsStatusTransport$1:
+ 468:468:void <init>(androidx.core.location.LocationManagerCompat$GpsStatusTransport,java.util.concurrent.Executor) -> <init>
+ 471:475:void run() -> run
+androidx.core.location.LocationManagerCompat$GpsStatusTransport$2 -> androidx.core.location.LocationManagerCompat$GpsStatusTransport$2:
+ 479:479:void <init>(androidx.core.location.LocationManagerCompat$GpsStatusTransport,java.util.concurrent.Executor) -> <init>
+ 482:486:void run() -> run
+androidx.core.location.LocationManagerCompat$GpsStatusTransport$3 -> androidx.core.location.LocationManagerCompat$GpsStatusTransport$3:
+ 493:493:void <init>(androidx.core.location.LocationManagerCompat$GpsStatusTransport,java.util.concurrent.Executor,int) -> <init>
+ 496:500:void run() -> run
+androidx.core.location.LocationManagerCompat$GpsStatusTransport$4 -> androidx.core.location.LocationManagerCompat$GpsStatusTransport$4:
+ 508:508:void <init>(androidx.core.location.LocationManagerCompat$GpsStatusTransport,java.util.concurrent.Executor,androidx.core.location.GnssStatusCompat) -> <init>
+ 511:515:void run() -> run
+androidx.core.location.LocationManagerCompat$InlineHandlerExecutor -> androidx.core.location.LocationManagerCompat$InlineHandlerExecutor:
+ 528:530:void <init>(android.os.Handler) -> <init>
+ 534:539:void execute(java.lang.Runnable) -> execute
+androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport -> androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport:
+ 345:348:void <init>(androidx.core.location.GnssStatusCompat$Callback) -> <init>
+ 398:412:void onFirstFix(int) -> onFirstFix
+ 416:430:void onSatelliteStatusChanged(android.location.GnssStatus) -> onSatelliteStatusChanged
+ 362:376:void onStarted() -> onStarted
+ 380:394:void onStopped() -> onStopped
+ 351:354:void register(java.util.concurrent.Executor) -> register
+ 357:358:void unregister() -> unregister
+androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport$1 -> androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport$1:
+ 367:367:void <init>(androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport,java.util.concurrent.Executor) -> <init>
+ 370:374:void run() -> run
+androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport$2 -> androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport$2:
+ 385:385:void <init>(androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport,java.util.concurrent.Executor) -> <init>
+ 388:392:void run() -> run
+androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport$3 -> androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport$3:
+ 403:403:void <init>(androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport,java.util.concurrent.Executor,int) -> <init>
+ 406:410:void run() -> run
+androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport$4 -> androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport$4:
+ 421:421:void <init>(androidx.core.location.LocationManagerCompat$PreRGnssStatusTransport,java.util.concurrent.Executor,android.location.GnssStatus) -> <init>
+ 424:428:void run() -> run
+androidx.core.math.MathUtils -> androidx.core.math.MathUtils:
+ 24:24:void <init>() -> <init>
+ 39:44:float clamp(float,float,float) -> clamp
+ 60:65:double clamp(double,double,double) -> clamp
+ 81:86:int clamp(int,int,int) -> clamp
+ 102:107:long clamp(long,long,long) -> clamp
+androidx.core.net.ConnectivityManagerCompat -> androidx.core.net.ConnectivityManagerCompat:
+ 166:166:void <init>() -> <init>
+ 141:145:android.net.NetworkInfo getNetworkInfoFromBroadcast(android.net.ConnectivityManager,android.content.Intent) -> getNetworkInfoFromBroadcast
+ 159:160:int getRestrictBackgroundStatus(android.net.ConnectivityManager) -> getRestrictBackgroundStatus
+ 100:101:boolean isActiveNetworkMetered(android.net.ConnectivityManager) -> isActiveNetworkMetered
+androidx.core.net.DatagramSocketWrapper -> androidx.core.net.DatagramSocketWrapper:
+ 32:33:void <init>(java.net.DatagramSocket,java.io.FileDescriptor) -> <init>
+androidx.core.net.DatagramSocketWrapper$DatagramSocketImplWrapper -> androidx.core.net.DatagramSocketWrapper$DatagramSocketImplWrapper:
+ 40:43:void <init>(java.net.DatagramSocket,java.io.FileDescriptor) -> <init>
+ 47:47:void accept(java.net.SocketImpl) -> accept
+ 52:52:int available() -> available
+ 57:57:void bind(java.net.InetAddress,int) -> bind
+ 62:62:void close() -> close
+ 67:67:void connect(java.lang.String,int) -> connect
+ 72:72:void connect(java.net.InetAddress,int) -> connect
+ 97:97:void connect(java.net.SocketAddress,int) -> connect
+ 77:77:void create(boolean) -> create
+ 82:82:java.io.InputStream getInputStream() -> getInputStream
+ 107:107:java.lang.Object getOption(int) -> getOption
+ 87:87:java.io.OutputStream getOutputStream() -> getOutputStream
+ 92:92:void listen(int) -> listen
+ 102:102:void sendUrgentData(int) -> sendUrgentData
+ 112:112:void setOption(int,java.lang.Object) -> setOption
+androidx.core.net.MailTo -> androidx.core.net.MailTo:
+ 58:60:void <init>() -> <init>
+ 211:211:java.lang.String getBcc() -> getBcc
+ 231:231:java.lang.String getBody() -> getBody
+ 200:200:java.lang.String getCc() -> getCc
+ 240:240:java.util.Map getHeaders() -> getHeaders
+ 221:221:java.lang.String getSubject() -> getSubject
+ 189:189:java.lang.String getTo() -> getTo
+ 74:74:boolean isMailTo(java.lang.String) -> isMailTo
+ 89:89:boolean isMailTo(android.net.Uri) -> isMailTo
+ 107:160:androidx.core.net.MailTo parse(java.lang.String) -> parse
+ 178:178:androidx.core.net.MailTo parse(android.net.Uri) -> parse
+ 246:254:java.lang.String toString() -> toString
+androidx.core.net.ParseException -> androidx.core.net.ParseException:
+ 29:31:void <init>(java.lang.String) -> <init>
+androidx.core.net.TrafficStatsCompat -> androidx.core.net.TrafficStatsCompat:
+ 167:167:void <init>() -> <init>
+ 41:42:void clearThreadStatsTag() -> clearThreadStatsTag
+ 53:53:int getThreadStatsTag() -> getThreadStatsTag
+ 67:68:void incrementOperationCount(int) -> incrementOperationCount
+ 81:82:void incrementOperationCount(int,int) -> incrementOperationCount
+ 99:100:void setThreadStatsTag(int) -> setThreadStatsTag
+ 137:148:void tagDatagramSocket(java.net.DatagramSocket) -> tagDatagramSocket
+ 114:115:void tagSocket(java.net.Socket) -> tagSocket
+ 154:165:void untagDatagramSocket(java.net.DatagramSocket) -> untagDatagramSocket
+ 124:125:void untagSocket(java.net.Socket) -> untagSocket
+androidx.core.net.UriCompat -> androidx.core.net.UriCompat:
+ 28:28:void <init>() -> <init>
+ 40:78:java.lang.String toSafeString(android.net.Uri) -> toSafeString
+androidx.core.os.BuildCompat -> androidx.core.os.BuildCompat:
+ 29:30:void <init>() -> <init>
+ 43:43:boolean isAtLeastN() -> isAtLeastN
+ 57:57:boolean isAtLeastNMR1() -> isAtLeastNMR1
+ 71:71:boolean isAtLeastO() -> isAtLeastO
+ 85:85:boolean isAtLeastOMR1() -> isAtLeastOMR1
+ 99:99:boolean isAtLeastP() -> isAtLeastP
+ 113:113:boolean isAtLeastQ() -> isAtLeastQ
+ 127:127:boolean isAtLeastR() -> isAtLeastR
+ 142:142:boolean isAtLeastS() -> isAtLeastS
+androidx.core.os.CancellationSignal -> androidx.core.os.CancellationSignal:
+ 37:38:void <init>() -> <init>
+ 69:92:void cancel() -> cancel
+ 138:149:java.lang.Object getCancellationSignalObject() -> getCancellationSignalObject
+ 46:48:boolean isCanceled() -> isCanceled
+ 111:123:void setOnCancelListener(androidx.core.os.CancellationSignal$OnCancelListener) -> setOnCancelListener
+ 57:60:void throwIfCanceled() -> throwIfCanceled
+ 153:159:void waitForCancelFinishedLocked() -> waitForCancelFinishedLocked
+androidx.core.os.ConfigurationCompat -> androidx.core.os.ConfigurationCompat:
+ 30:31:void <init>() -> <init>
+ 41:42:androidx.core.os.LocaleListCompat getLocales(android.content.res.Configuration) -> getLocales
+androidx.core.os.EnvironmentCompat -> androidx.core.os.EnvironmentCompat:
+ 81:81:void <init>() -> <init>
+ 59:60:java.lang.String getStorageState(java.io.File) -> getStorageState
+androidx.core.os.ExecutorCompat -> androidx.core.os.ExecutorCompat:
+ 39:40:void <init>() -> <init>
+ 36:36:java.util.concurrent.Executor create(android.os.Handler) -> create
+androidx.core.os.ExecutorCompat$HandlerExecutor -> androidx.core.os.ExecutorCompat$HandlerExecutor:
+ 45:47:void <init>(android.os.Handler) -> <init>
+ 51:54:void execute(java.lang.Runnable) -> execute
+androidx.core.os.HandlerCompat -> androidx.core.os.HandlerCompat:
+ 152:153:void <init>() -> <init>
+ 51:74:android.os.Handler createAsync(android.os.Looper) -> createAsync
+ 92:115:android.os.Handler createAsync(android.os.Looper,android.os.Handler$Callback) -> createAsync
+ 143:149:boolean postDelayed(android.os.Handler,java.lang.Runnable,java.lang.Object,long) -> postDelayed
+androidx.core.os.LocaleListCompat -> androidx.core.os.LocaleListCompat:
+ 34:34:void <clinit>() -> <clinit>
+ 38:40:void <init>(androidx.core.os.LocaleListInterface) -> <init>
+ 73:74:androidx.core.os.LocaleListCompat create(java.util.Locale[]) -> create
+ 234:234:boolean equals(java.lang.Object) -> equals
+ 174:196:java.util.Locale forLanguageTagCompat(java.lang.String) -> forLanguageTagCompat
+ 158:168:androidx.core.os.LocaleListCompat forLanguageTags(java.lang.String) -> forLanguageTags
+ 86:86:java.util.Locale get(int) -> get
+ 205:206:androidx.core.os.LocaleListCompat getAdjustedDefault() -> getAdjustedDefault
+ 225:226:androidx.core.os.LocaleListCompat getDefault() -> getDefault
+ 145:145:androidx.core.os.LocaleListCompat getEmptyLocaleList() -> getEmptyLocaleList
+ 137:137:java.util.Locale getFirstMatch(java.lang.String[]) -> getFirstMatch
+ 239:239:int hashCode() -> hashCode
+ 117:117:int indexOf(java.util.Locale) -> indexOf
+ 96:96:boolean isEmpty() -> isEmpty
+ 104:104:int size() -> size
+ 125:125:java.lang.String toLanguageTags() -> toLanguageTags
+ 244:244:java.lang.String toString() -> toString
+ 65:65:java.lang.Object unwrap() -> unwrap
+ 46:46:androidx.core.os.LocaleListCompat wrap(java.lang.Object) -> wrap
+ 55:55:androidx.core.os.LocaleListCompat wrap(android.os.LocaleList) -> wrap
+androidx.core.os.LocaleListCompatWrapper -> androidx.core.os.LocaleListCompatWrapper:
+ 41:219:void <clinit>() -> <clinit>
+ 122:149:void <init>(java.util.Locale[]) -> <init>
+ 261:262:java.util.Locale computeFirstMatch(java.util.Collection,boolean) -> computeFirstMatch
+ 223:255:int computeFirstMatchIndex(java.util.Collection,boolean) -> computeFirstMatchIndex
+ 76:91:boolean equals(java.lang.Object) -> equals
+ 210:216:int findFirstMatchIndex(java.util.Locale) -> findFirstMatchIndex
+ 51:51:java.util.Locale get(int) -> get
+ 267:267:java.util.Locale getFirstMatch(java.lang.String[]) -> getFirstMatch
+ 162:167:java.lang.String getLikelyScript(java.util.Locale) -> getLikelyScript
+ 46:46:java.lang.Object getLocaleList() -> getLocaleList
+ 96:100:int hashCode() -> hashCode
+ 66:71:int indexOf(java.util.Locale) -> indexOf
+ 56:56:boolean isEmpty() -> isEmpty
+ 177:177:boolean isPseudoLocale(java.util.Locale) -> isPseudoLocale
+ 182:206:int matchScore(java.util.Locale,java.util.Locale) -> matchScore
+ 61:61:int size() -> size
+ 153:159:void toLanguageTag(java.lang.StringBuilder,java.util.Locale) -> toLanguageTag
+ 119:119:java.lang.String toLanguageTags() -> toLanguageTags
+ 105:114:java.lang.String toString() -> toString
+androidx.core.os.LocaleListPlatformWrapper -> androidx.core.os.LocaleListPlatformWrapper:
+ 31:33:void <init>(android.os.LocaleList) -> <init>
+ 62:62:boolean equals(java.lang.Object) -> equals
+ 42:42:java.util.Locale get(int) -> get
+ 83:83:java.util.Locale getFirstMatch(java.lang.String[]) -> getFirstMatch
+ 37:37:java.lang.Object getLocaleList() -> getLocaleList
+ 67:67:int hashCode() -> hashCode
+ 57:57:int indexOf(java.util.Locale) -> indexOf
+ 47:47:boolean isEmpty() -> isEmpty
+ 52:52:int size() -> size
+ 77:77:java.lang.String toLanguageTags() -> toLanguageTags
+ 72:72:java.lang.String toString() -> toString
+androidx.core.os.MessageCompat -> androidx.core.os.MessageCompat:
+ 34:39:void <clinit>() -> <clinit>
+ 112:113:void <init>() -> <init>
+ 97:98:boolean isAsynchronous(android.os.Message) -> isAsynchronous
+ 71:73:void setAsynchronous(android.os.Message,boolean) -> setAsynchronous
+androidx.core.os.OperationCanceledException -> androidx.core.os.OperationCanceledException:
+ 28:29:void <init>() -> <init>
+ 33:34:void <init>(java.lang.String) -> <init>
+androidx.core.os.ParcelCompat -> androidx.core.os.ParcelCompat:
+ 46:46:void <init>() -> <init>
+ 32:32:boolean readBoolean(android.os.Parcel) -> readBoolean
+ 43:44:void writeBoolean(android.os.Parcel,boolean) -> writeBoolean
+androidx.core.os.ParcelableCompat -> androidx.core.os.ParcelableCompat:
+ 68:68:void <init>() -> <init>
+ 41:41:android.os.Parcelable$Creator newCreator(androidx.core.os.ParcelableCompatCreatorCallbacks) -> newCreator
+androidx.core.os.ParcelableCompat$ParcelableCompatCreatorHoneycombMR2 -> androidx.core.os.ParcelableCompat$ParcelableCompatCreatorHoneycombMR2:
+ 48:50:void <init>(androidx.core.os.ParcelableCompatCreatorCallbacks) -> <init>
+ 54:54:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 59:59:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 64:64:java.lang.Object[] newArray(int) -> newArray
+androidx.core.os.ProcessCompat -> androidx.core.os.ProcessCompat:
+ 32:34:void <init>() -> <init>
+ 55:56:boolean isApplicationUid(int) -> isApplicationUid
+androidx.core.os.ProcessCompat$Api16Impl -> androidx.core.os.ProcessCompat$Api16Impl:
+ 119:119:void <clinit>() -> <clinit>
+ 124:126:void <init>() -> <init>
+ 134:152:boolean isApplicationUid(int) -> isApplicationUid
+androidx.core.os.ProcessCompat$Api17Impl -> androidx.core.os.ProcessCompat$Api17Impl:
+ 81:81:void <clinit>() -> <clinit>
+ 86:88:void <init>() -> <init>
+ 96:113:boolean isApplicationUid(int) -> isApplicationUid
+androidx.core.os.ProcessCompat$Api24Impl -> androidx.core.os.ProcessCompat$Api24Impl:
+ 69:71:void <init>() -> <init>
+ 75:75:boolean isApplicationUid(int) -> isApplicationUid
+androidx.core.os.TraceCompat -> androidx.core.os.TraceCompat:
+ 50:66:void <clinit>() -> <clinit>
+ 183:183:void <init>() -> <init>
+ 133:142:void beginAsyncSection(java.lang.String,int) -> beginAsyncSection
+ 104:107:void beginSection(java.lang.String) -> beginSection
+ 153:162:void endAsyncSection(java.lang.String,int) -> endAsyncSection
+ 117:120:void endSection() -> endSection
+ 78:89:boolean isEnabled() -> isEnabled
+ 172:181:void setCounter(java.lang.String,int) -> setCounter
+androidx.core.os.UserManagerCompat -> androidx.core.os.UserManagerCompat:
+ 31:32:void <init>() -> <init>
+ 41:42:boolean isUserUnlocked(android.content.Context) -> isUserUnlocked
+androidx.core.provider.CallbackWithHandler -> androidx.core.provider.CallbackWithHandler:
+ 40:43:void <init>(androidx.core.provider.FontsContractCompat$FontRequestCallback,android.os.Handler) -> <init>
+ 45:48:void <init>(androidx.core.provider.FontsContractCompat$FontRequestCallback) -> <init>
+ 67:74:void onTypefaceRequestFailed(int) -> onTypefaceRequestFailed
+ 80:85:void onTypefaceResult(androidx.core.provider.FontRequestWorker$TypefaceResult) -> onTypefaceResult
+ 54:61:void onTypefaceRetrieved(android.graphics.Typeface) -> onTypefaceRetrieved
+androidx.core.provider.CallbackWithHandler$1 -> androidx.core.provider.CallbackWithHandler$1:
+ 55:55:void <init>(androidx.core.provider.CallbackWithHandler,androidx.core.provider.FontsContractCompat$FontRequestCallback,android.graphics.Typeface) -> <init>
+ 58:59:void run() -> run
+androidx.core.provider.CallbackWithHandler$2 -> androidx.core.provider.CallbackWithHandler$2:
+ 68:68:void <init>(androidx.core.provider.CallbackWithHandler,androidx.core.provider.FontsContractCompat$FontRequestCallback,int) -> <init>
+ 71:72:void run() -> run
+androidx.core.provider.CalleeHandler -> androidx.core.provider.CalleeHandler:
+ 26:26:void <init>() -> <init>
+ 36:41:android.os.Handler create() -> create
+androidx.core.provider.FontProvider -> androidx.core.provider.FontProvider:
+ 197:197:void <clinit>() -> <clinit>
+ 47:47:void <init>() -> <init>
+ 226:230:java.util.List convertToByteArrayList(android.content.pm.Signature[]) -> convertToByteArrayList
+ 214:222:boolean equalsByteArrayList(java.util.List,java.util.List) -> equalsByteArrayList
+ 190:194:java.util.List getCertificates(androidx.core.provider.FontRequest,android.content.res.Resources) -> getCertificates
+ 53:61:androidx.core.provider.FontsContractCompat$FontFamilyResult getFontFamilyResult(android.content.Context,androidx.core.provider.FontRequest,android.os.CancellationSignal) -> getFontFamilyResult
+ 76:105:android.content.pm.ProviderInfo getProvider(android.content.pm.PackageManager,androidx.core.provider.FontRequest,android.content.res.Resources) -> getProvider
+ 121:186:androidx.core.provider.FontsContractCompat$FontInfo[] query(android.content.Context,androidx.core.provider.FontRequest,java.lang.String,android.os.CancellationSignal) -> query
+androidx.core.provider.FontProvider$1 -> androidx.core.provider.FontProvider$1:
+ 197:197:void <init>() -> <init>
+ 197:197:int compare(java.lang.Object,java.lang.Object) -> compare
+ 200:208:int compare(byte[],byte[]) -> compare
+androidx.core.provider.FontRequest -> androidx.core.provider.FontRequest:
+ 57:64:void <init>(java.lang.String,java.lang.String,java.lang.String,java.util.List) -> <init>
+ 78:86:void <init>(java.lang.String,java.lang.String,java.lang.String,int) -> <init>
+ 93:94:java.lang.String createIdentifier(java.lang.String,java.lang.String,java.lang.String) -> createIdentifier
+ 133:133:java.util.List getCertificates() -> getCertificates
+ 145:145:int getCertificatesArrayResId() -> getCertificatesArrayResId
+ 164:164:java.lang.String getId() -> getId
+ 157:157:java.lang.String getIdentifier() -> getIdentifier
+ 103:103:java.lang.String getProviderAuthority() -> getProviderAuthority
+ 112:112:java.lang.String getProviderPackage() -> getProviderPackage
+ 121:121:java.lang.String getQuery() -> getQuery
+ 169:188:java.lang.String toString() -> toString
+androidx.core.provider.FontRequestWorker -> androidx.core.provider.FontRequestWorker:
+ 58:72:void <clinit>() -> <clinit>
+ 56:56:void <init>() -> <init>
+ 221:221:java.lang.String createCacheId(androidx.core.provider.FontRequest,int) -> createCacheId
+ 263:287:int getFontFamilyResultStatus(androidx.core.provider.FontsContractCompat$FontFamilyResult) -> getFontFamilyResultStatus
+ 232:256:androidx.core.provider.FontRequestWorker$TypefaceResult getFontSync(java.lang.String,android.content.Context,androidx.core.provider.FontRequest,int) -> getFontSync
+ 164:217:android.graphics.Typeface requestFontAsync(android.content.Context,androidx.core.provider.FontRequest,int,java.util.concurrent.Executor,androidx.core.provider.CallbackWithHandler) -> requestFontAsync
+ 102:134:android.graphics.Typeface requestFontSync(android.content.Context,androidx.core.provider.FontRequest,androidx.core.provider.CallbackWithHandler,int,int) -> requestFontSync
+ 76:77:void resetTypefaceCache() -> resetTypefaceCache
+androidx.core.provider.FontRequestWorker$1 -> androidx.core.provider.FontRequestWorker$1:
+ 117:117:void <init>(java.lang.String,android.content.Context,androidx.core.provider.FontRequest,int) -> <init>
+ 117:117:java.lang.Object call() -> call
+ 120:120:androidx.core.provider.FontRequestWorker$TypefaceResult call() -> call
+androidx.core.provider.FontRequestWorker$2 -> androidx.core.provider.FontRequestWorker$2:
+ 171:171:void <init>(androidx.core.provider.CallbackWithHandler) -> <init>
+ 171:171:void accept(java.lang.Object) -> accept
+ 174:175:void accept(androidx.core.provider.FontRequestWorker$TypefaceResult) -> accept
+androidx.core.provider.FontRequestWorker$3 -> androidx.core.provider.FontRequestWorker$3:
+ 191:191:void <init>(java.lang.String,android.content.Context,androidx.core.provider.FontRequest,int) -> <init>
+ 191:191:java.lang.Object call() -> call
+ 194:195:androidx.core.provider.FontRequestWorker$TypefaceResult call() -> call
+androidx.core.provider.FontRequestWorker$4 -> androidx.core.provider.FontRequestWorker$4:
+ 200:200:void <init>(java.lang.String) -> <init>
+ 200:200:void accept(java.lang.Object) -> accept
+ 204:214:void accept(androidx.core.provider.FontRequestWorker$TypefaceResult) -> accept
+androidx.core.provider.FontRequestWorker$TypefaceResult -> androidx.core.provider.FontRequestWorker$TypefaceResult:
+ 295:298:void <init>(int) -> <init>
+ 301:304:void <init>(android.graphics.Typeface) -> <init>
+ 308:308:boolean isSuccess() -> isSuccess
+androidx.core.provider.FontsContractCompat -> androidx.core.provider.FontsContractCompat:
+ 56:56:void <init>() -> <init>
+ 76:76:android.graphics.Typeface buildTypeface(android.content.Context,android.os.CancellationSignal,androidx.core.provider.FontsContractCompat$FontInfo[]) -> buildTypeface
+ 102:102:androidx.core.provider.FontsContractCompat$FontFamilyResult fetchFonts(android.content.Context,android.os.CancellationSignal,androidx.core.provider.FontRequest) -> fetchFonts
+ 552:554:android.graphics.Typeface getFontSync(android.content.Context,androidx.core.provider.FontRequest,androidx.core.content.res.ResourcesCompat$FontCallback,android.os.Handler,boolean,int,int) -> getFontSync
+ 610:610:android.content.pm.ProviderInfo getProvider(android.content.pm.PackageManager,androidx.core.provider.FontRequest,android.content.res.Resources) -> getProvider
+ 593:593:java.util.Map prepareFontData(android.content.Context,androidx.core.provider.FontsContractCompat$FontInfo[],android.os.CancellationSignal) -> prepareFontData
+ 122:126:void requestFont(android.content.Context,androidx.core.provider.FontRequest,androidx.core.provider.FontsContractCompat$FontRequestCallback,android.os.Handler) -> requestFont
+ 163:169:android.graphics.Typeface requestFont(android.content.Context,androidx.core.provider.FontRequest,int,boolean,int,android.os.Handler,androidx.core.provider.FontsContractCompat$FontRequestCallback) -> requestFont
+ 567:568:void resetCache() -> resetCache
+ 178:179:void resetTypefaceCache() -> resetTypefaceCache
+androidx.core.provider.FontsContractCompat$Columns -> androidx.core.provider.FontsContractCompat$Columns:
+ 188:188:void <init>() -> <init>
+androidx.core.provider.FontsContractCompat$FontFamilyResult -> androidx.core.provider.FontsContractCompat$FontFamilyResult:
+ 390:393:void <init>(int,androidx.core.provider.FontsContractCompat$FontInfo[]) -> <init>
+ 407:407:androidx.core.provider.FontsContractCompat$FontFamilyResult create(int,androidx.core.provider.FontsContractCompat$FontInfo[]) -> create
+ 400:400:androidx.core.provider.FontsContractCompat$FontInfo[] getFonts() -> getFonts
+ 396:396:int getStatusCode() -> getStatusCode
+androidx.core.provider.FontsContractCompat$FontInfo -> androidx.core.provider.FontsContractCompat$FontInfo:
+ 292:298:void <init>(android.net.Uri,int,int,boolean,int) -> <init>
+ 308:308:androidx.core.provider.FontsContractCompat$FontInfo create(android.net.Uri,int,int,boolean,int) -> create
+ 345:345:int getResultCode() -> getResultCode
+ 322:322:int getTtcIndex() -> getTtcIndex
+ 315:315:android.net.Uri getUri() -> getUri
+ 329:329:int getWeight() -> getWeight
+ 336:336:boolean isItalic() -> isItalic
+androidx.core.provider.FontsContractCompat$FontRequestCallback -> androidx.core.provider.FontsContractCompat$FontRequestCallback:
+ 478:478:void <init>() -> <init>
+ 499:499:void onTypefaceRequestFailed(int) -> onTypefaceRequestFailed
+ 486:486:void onTypefaceRetrieved(android.graphics.Typeface) -> onTypefaceRetrieved
+androidx.core.provider.RequestExecutor -> androidx.core.provider.RequestExecutor:
+ 44:44:void <init>() -> <init>
+ 82:94:java.util.concurrent.ThreadPoolExecutor createDefaultExecutor(java.lang.String,int,int) -> createDefaultExecutor
+ 98:98:java.util.concurrent.Executor createHandlerExecutor(android.os.Handler) -> createHandlerExecutor
+ 56:58:void execute(java.util.concurrent.Executor,java.util.concurrent.Callable,androidx.core.util.Consumer) -> execute
+ 65:73:java.lang.Object submit(java.util.concurrent.ExecutorService,java.util.concurrent.Callable,int) -> submit
+androidx.core.provider.RequestExecutor$DefaultThreadFactory -> androidx.core.provider.RequestExecutor$DefaultThreadFactory:
+ 164:167:void <init>(java.lang.String,int) -> <init>
+ 171:171:java.lang.Thread newThread(java.lang.Runnable) -> newThread
+androidx.core.provider.RequestExecutor$DefaultThreadFactory$ProcessPriorityThread -> androidx.core.provider.RequestExecutor$DefaultThreadFactory$ProcessPriorityThread:
+ 178:180:void <init>(java.lang.Runnable,java.lang.String,int) -> <init>
+ 184:186:void run() -> run
+androidx.core.provider.RequestExecutor$HandlerExecutor -> androidx.core.provider.RequestExecutor$HandlerExecutor:
+ 110:112:void <init>(android.os.Handler) -> <init>
+ 116:119:void execute(java.lang.Runnable) -> execute
+androidx.core.provider.RequestExecutor$ReplyRunnable -> androidx.core.provider.RequestExecutor$ReplyRunnable:
+ 135:139:void <init>(android.os.Handler,java.util.concurrent.Callable,androidx.core.util.Consumer) -> <init>
+ 145:157:void run() -> run
+androidx.core.provider.RequestExecutor$ReplyRunnable$1 -> androidx.core.provider.RequestExecutor$ReplyRunnable$1:
+ 151:151:void <init>(androidx.core.provider.RequestExecutor$ReplyRunnable,androidx.core.util.Consumer,java.lang.Object) -> <init>
+ 154:155:void run() -> run
+androidx.core.provider.SelfDestructiveThread -> androidx.core.provider.SelfDestructiveThread:
+ 48:88:void <init>(java.lang.String,int,int) -> <init>
+ 105:107:int getGeneration() -> getGeneration
+ 95:97:boolean isRunning() -> isRunning
+ 228:238:void onDestruction() -> onDestruction
+ 219:225:void onInvokeRunnable(java.lang.Runnable) -> onInvokeRunnable
+ 111:121:void post(java.lang.Runnable) -> post
+ 141:160:void postAndReply(java.util.concurrent.Callable,androidx.core.provider.SelfDestructiveThread$ReplyCallback) -> postAndReply
+ 171:215:java.lang.Object postAndWait(java.util.concurrent.Callable,int) -> postAndWait
+androidx.core.provider.SelfDestructiveThread$1 -> androidx.core.provider.SelfDestructiveThread$1:
+ 62:62:void <init>(androidx.core.provider.SelfDestructiveThread) -> <init>
+ 65:73:boolean handleMessage(android.os.Message) -> handleMessage
+androidx.core.provider.SelfDestructiveThread$2 -> androidx.core.provider.SelfDestructiveThread$2:
+ 142:142:void <init>(androidx.core.provider.SelfDestructiveThread,java.util.concurrent.Callable,android.os.Handler,androidx.core.provider.SelfDestructiveThread$ReplyCallback) -> <init>
+ 147:158:void run() -> run
+androidx.core.provider.SelfDestructiveThread$2$1 -> androidx.core.provider.SelfDestructiveThread$2$1:
+ 152:152:void <init>(androidx.core.provider.SelfDestructiveThread$2,java.lang.Object) -> <init>
+ 155:156:void run() -> run
+androidx.core.provider.SelfDestructiveThread$3 -> androidx.core.provider.SelfDestructiveThread$3:
+ 176:176:void <init>(androidx.core.provider.SelfDestructiveThread,java.util.concurrent.atomic.AtomicReference,java.util.concurrent.Callable,java.util.concurrent.locks.ReentrantLock,java.util.concurrent.atomic.AtomicBoolean,java.util.concurrent.locks.Condition) -> <init>
+ 180:191:void run() -> run
+androidx.core.telephony.mbms.MbmsHelper -> androidx.core.telephony.mbms.MbmsHelper:
+ 36:36:void <init>() -> <init>
+ 57:75:java.lang.CharSequence getBestNameForService(android.content.Context,android.telephony.mbms.ServiceInfo) -> getBestNameForService
+androidx.core.text.BidiFormatter -> androidx.core.text.BidiFormatter:
+ 85:222:void <clinit>() -> <clinit>
+ 262:266:void <init>(boolean,int,androidx.core.text.TextDirectionHeuristicCompat) -> <init>
+ 558:558:int getEntryDir(java.lang.CharSequence) -> getEntryDir
+ 541:541:int getExitDir(java.lang.CharSequence) -> getExitDir
+ 236:236:androidx.core.text.BidiFormatter getInstance() -> getInstance
+ 245:245:androidx.core.text.BidiFormatter getInstance(boolean) -> getInstance
+ 254:254:androidx.core.text.BidiFormatter getInstance(java.util.Locale) -> getInstance
+ 280:280:boolean getStereoReset() -> getStereoReset
+ 347:347:boolean isRtl(java.lang.String) -> isRtl
+ 358:358:boolean isRtl(java.lang.CharSequence) -> isRtl
+ 272:272:boolean isRtlContext() -> isRtlContext
+ 516:516:boolean isRtlLocale(java.util.Locale) -> isRtlLocale
+ 300:308:java.lang.String markAfter(java.lang.CharSequence,androidx.core.text.TextDirectionHeuristicCompat) -> markAfter
+ 328:336:java.lang.String markBefore(java.lang.CharSequence,androidx.core.text.TextDirectionHeuristicCompat) -> markBefore
+ 391:392:java.lang.String unicodeWrap(java.lang.String,androidx.core.text.TextDirectionHeuristicCompat,boolean) -> unicodeWrap
+ 411:429:java.lang.CharSequence unicodeWrap(java.lang.CharSequence,androidx.core.text.TextDirectionHeuristicCompat,boolean) -> unicodeWrap
+ 441:441:java.lang.String unicodeWrap(java.lang.String,androidx.core.text.TextDirectionHeuristicCompat) -> unicodeWrap
+ 456:456:java.lang.CharSequence unicodeWrap(java.lang.CharSequence,androidx.core.text.TextDirectionHeuristicCompat) -> unicodeWrap
+ 469:469:java.lang.String unicodeWrap(java.lang.String,boolean) -> unicodeWrap
+ 483:483:java.lang.CharSequence unicodeWrap(java.lang.CharSequence,boolean) -> unicodeWrap
+ 494:494:java.lang.String unicodeWrap(java.lang.String) -> unicodeWrap
+ 506:506:java.lang.CharSequence unicodeWrap(java.lang.CharSequence) -> unicodeWrap
+androidx.core.text.BidiFormatter$Builder -> androidx.core.text.BidiFormatter$Builder:
+ 139:141:void <init>() -> <init>
+ 148:150:void <init>(boolean) -> <init>
+ 157:159:void <init>(java.util.Locale) -> <init>
+ 205:209:androidx.core.text.BidiFormatter build() -> build
+ 198:198:androidx.core.text.BidiFormatter getDefaultInstanceFromContext(boolean) -> getDefaultInstanceFromContext
+ 167:170:void initialize(boolean) -> initialize
+ 193:194:androidx.core.text.BidiFormatter$Builder setTextDirectionHeuristic(androidx.core.text.TextDirectionHeuristicCompat) -> setTextDirectionHeuristic
+ 177:182:androidx.core.text.BidiFormatter$Builder stereoReset(boolean) -> stereoReset
+androidx.core.text.BidiFormatter$DirectionalityEstimator -> androidx.core.text.BidiFormatter$DirectionalityEstimator:
+ 584:588:void <clinit>() -> <clinit>
+ 628:632:void <init>(java.lang.CharSequence,boolean) -> <init>
+ 846:862:byte dirTypeBackward() -> dirTypeBackward
+ 816:832:byte dirTypeForward() -> dirTypeForward
+ 803:803:byte getCachedDirectionality(char) -> getCachedDirectionality
+ 646:728:int getEntryDir() -> getEntryDir
+ 744:792:int getExitDir() -> getExitDir
+ 944:956:byte skipEntityBackward() -> skipEntityBackward
+ 929:930:byte skipEntityForward() -> skipEntityForward
+ 901:920:byte skipTagBackward() -> skipTagBackward
+ 872:888:byte skipTagForward() -> skipTagForward
+androidx.core.text.HtmlCompat -> androidx.core.text.HtmlCompat:
+ 181:182:void <init>() -> <init>
+ 147:148:android.text.Spanned fromHtml(java.lang.String,int) -> fromHtml
+ 162:163:android.text.Spanned fromHtml(java.lang.String,int,android.text.Html$ImageGetter,android.text.Html$TagHandler) -> fromHtml
+ 175:176:java.lang.String toHtml(android.text.Spanned,int) -> toHtml
+androidx.core.text.ICUCompat -> androidx.core.text.ICUCompat:
+ 36:62:void <clinit>() -> <clinit>
+ 146:146:void <init>() -> <init>
+ 129:143:java.lang.String addLikelySubtags(java.util.Locale) -> addLikelySubtags
+ 114:125:java.lang.String getScript(java.lang.String) -> getScript
+ 89:91:java.lang.String maximizeAndGetScript(java.util.Locale) -> maximizeAndGetScript
+androidx.core.text.PrecomputedTextCompat -> androidx.core.text.PrecomputedTextCompat:
+ 73:74:void <clinit>() -> <clinit>
+ 490:495:void <init>(java.lang.CharSequence,androidx.core.text.PrecomputedTextCompat$Params,int[]) -> <init>
+ 498:503:void <init>(android.text.PrecomputedText,androidx.core.text.PrecomputedTextCompat$Params) -> <init>
+ 754:754:char charAt(int) -> charAt
+ 432:485:androidx.core.text.PrecomputedTextCompat create(java.lang.CharSequence,androidx.core.text.PrecomputedTextCompat$Params) -> create
+ 531:534:int getParagraphCount() -> getParagraphCount
+ 556:560:int getParagraphEnd(int) -> getParagraphEnd
+ 543:547:int getParagraphStart(int) -> getParagraphStart
+ 523:523:androidx.core.text.PrecomputedTextCompat$Params getParams() -> getParams
+ 512:515:android.text.PrecomputedText getPrecomputedText() -> getPrecomputedText
+ 729:729:int getSpanEnd(java.lang.Object) -> getSpanEnd
+ 734:734:int getSpanFlags(java.lang.Object) -> getSpanFlags
+ 724:724:int getSpanStart(java.lang.Object) -> getSpanStart
+ 714:717:java.lang.Object[] getSpans(int,int,java.lang.Class) -> getSpans
+ 653:663:java.util.concurrent.Future getTextFuture(java.lang.CharSequence,androidx.core.text.PrecomputedTextCompat$Params,java.util.concurrent.Executor) -> getTextFuture
+ 749:749:int length() -> length
+ 739:739:int nextSpanTransition(int,int,java.lang.Class) -> nextSpanTransition
+ 695:704:void removeSpan(java.lang.Object) -> removeSpan
+ 678:687:void setSpan(java.lang.Object,int,int,int) -> setSpan
+ 759:759:java.lang.CharSequence subSequence(int,int) -> subSequence
+ 765:765:java.lang.String toString() -> toString
+androidx.core.text.PrecomputedTextCompat$Params -> androidx.core.text.PrecomputedTextCompat$Params:
+ 197:211:void <init>(android.text.TextPaint,android.text.TextDirectionHeuristic,int,int) -> <init>
+ 214:220:void <init>(android.text.PrecomputedText$Params) -> <init>
+ 332:347:boolean equals(java.lang.Object) -> equals
+ 275:322:boolean equalsWithoutTextDirection(androidx.core.text.PrecomputedTextCompat$Params) -> equalsWithoutTextDirection
+ 253:253:int getBreakStrategy() -> getBreakStrategy
+ 265:265:int getHyphenationFrequency() -> getHyphenationFrequency
+ 241:241:android.text.TextDirectionHeuristic getTextDirection() -> getTextDirection
+ 228:228:android.text.TextPaint getTextPaint() -> getTextPaint
+ 352:356:int hashCode() -> hashCode
+ 379:400:java.lang.String toString() -> toString
+androidx.core.text.PrecomputedTextCompat$Params$Builder -> androidx.core.text.PrecomputedTextCompat$Params$Builder:
+ 116:129:void <init>(android.text.TextPaint) -> <init>
+ 191:191:androidx.core.text.PrecomputedTextCompat$Params build() -> build
+ 145:146:androidx.core.text.PrecomputedTextCompat$Params$Builder setBreakStrategy(int) -> setBreakStrategy
+ 163:164:androidx.core.text.PrecomputedTextCompat$Params$Builder setHyphenationFrequency(int) -> setHyphenationFrequency
+ 181:182:androidx.core.text.PrecomputedTextCompat$Params$Builder setTextDirection(android.text.TextDirectionHeuristic) -> setTextDirection
+androidx.core.text.PrecomputedTextCompat$PrecomputedTextFutureTask -> androidx.core.text.PrecomputedTextCompat$PrecomputedTextFutureTask:
+ 586:587:void <init>(androidx.core.text.PrecomputedTextCompat$Params,java.lang.CharSequence) -> <init>
+androidx.core.text.PrecomputedTextCompat$PrecomputedTextFutureTask$PrecomputedTextCallback -> androidx.core.text.PrecomputedTextCompat$PrecomputedTextFutureTask$PrecomputedTextCallback:
+ 573:576:void <init>(androidx.core.text.PrecomputedTextCompat$Params,java.lang.CharSequence) -> <init>
+ 568:568:java.lang.Object call() -> call
+ 580:580:androidx.core.text.PrecomputedTextCompat call() -> call
+androidx.core.text.TextDirectionHeuristicsCompat -> androidx.core.text.TextDirectionHeuristicsCompat:
+ 33:68:void <clinit>() -> <clinit>
+ 257:257:void <init>() -> <init>
+ 79:86:int isRtlText(int) -> isRtlText
+ 91:102:int isRtlTextOrFormat(int) -> isRtlTextOrFormat
+androidx.core.text.TextDirectionHeuristicsCompat$AnyStrong -> androidx.core.text.TextDirectionHeuristicsCompat$AnyStrong:
+ 235:235:void <clinit>() -> <clinit>
+ 231:233:void <init>(boolean) -> <init>
+ 206:228:int checkRtl(java.lang.CharSequence,int,int) -> checkRtl
+androidx.core.text.TextDirectionHeuristicsCompat$FirstStrong -> androidx.core.text.TextDirectionHeuristicsCompat$FirstStrong:
+ 193:193:void <clinit>() -> <clinit>
+ 190:191:void <init>() -> <init>
+ 183:187:int checkRtl(java.lang.CharSequence,int,int) -> checkRtl
+androidx.core.text.TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl -> androidx.core.text.TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl:
+ 114:116:void <init>(androidx.core.text.TextDirectionHeuristicsCompat$TextDirectionAlgorithm) -> <init>
+ 140:146:boolean doCheck(java.lang.CharSequence,int,int) -> doCheck
+ 125:125:boolean isRtl(char[],int,int) -> isRtl
+ 130:136:boolean isRtl(java.lang.CharSequence,int,int) -> isRtl
+androidx.core.text.TextDirectionHeuristicsCompat$TextDirectionHeuristicInternal -> androidx.core.text.TextDirectionHeuristicsCompat$TextDirectionHeuristicInternal:
+ 156:158:void <init>(androidx.core.text.TextDirectionHeuristicsCompat$TextDirectionAlgorithm,boolean) -> <init>
+ 162:162:boolean defaultIsRtl() -> defaultIsRtl
+androidx.core.text.TextDirectionHeuristicsCompat$TextDirectionHeuristicLocale -> androidx.core.text.TextDirectionHeuristicsCompat$TextDirectionHeuristicLocale:
+ 253:253:void <clinit>() -> <clinit>
+ 244:245:void <init>() -> <init>
+ 249:250:boolean defaultIsRtl() -> defaultIsRtl
+androidx.core.text.TextUtilsCompat -> androidx.core.text.TextUtilsCompat:
+ 33:33:void <clinit>() -> <clinit>
+ 130:130:void <init>() -> <init>
+ 119:126:int getLayoutDirectionFromFirstChar(java.util.Locale) -> getLayoutDirectionFromFirstChar
+ 90:91:int getLayoutDirectionFromLocale(java.util.Locale) -> getLayoutDirectionFromLocale
+ 45:46:java.lang.String htmlEncode(java.lang.String) -> htmlEncode
+androidx.core.text.util.FindAddress -> androidx.core.text.util.FindAddress:
+ 72:268:void <clinit>() -> <clinit>
+ 517:518:void <init>() -> <init>
+ 401:490:int attemptMatch(java.lang.String,java.util.regex.MatchResult) -> attemptMatch
+ 272:297:boolean checkHouseNumber(java.lang.String) -> checkHouseNumber
+ 500:514:java.lang.String findAddress(java.lang.String) -> findAddress
+ 388:388:boolean isValidLocationName(java.lang.String) -> isValidLocationName
+ 345:352:boolean isValidZipCode(java.lang.String,java.util.regex.MatchResult) -> isValidZipCode
+ 366:366:boolean isValidZipCode(java.lang.String,java.lang.String) -> isValidZipCode
+ 377:377:boolean isValidZipCode(java.lang.String) -> isValidZipCode
+ 310:316:java.util.regex.MatchResult matchHouseNumber(java.lang.String,int) -> matchHouseNumber
+ 330:332:java.util.regex.MatchResult matchState(java.lang.String,int) -> matchState
+androidx.core.text.util.FindAddress$ZipRange -> androidx.core.text.util.FindAddress$ZipRange:
+ 43:48:void <init>(int,int,int,int) -> <init>
+ 51:52:boolean matches(java.lang.String) -> matches
+androidx.core.text.util.LinkifyCompat -> androidx.core.text.util.LinkifyCompat:
+ 57:59:void <clinit>() -> <clinit>
+ 542:542:void <init>() -> <init>
+ 380:387:void addLinkMovementMethod(android.widget.TextView) -> addLinkMovementMethod
+ 102:149:boolean addLinks(android.text.Spannable,int) -> addLinks
+ 164:190:boolean addLinks(android.widget.TextView,int) -> addLinks
+ 207:212:void addLinks(android.widget.TextView,java.util.regex.Pattern,java.lang.String) -> addLinks
+ 231:236:void addLinks(android.widget.TextView,java.util.regex.Pattern,java.lang.String,android.text.util.Linkify$MatchFilter,android.text.util.Linkify$TransformFilter) -> addLinks
+ 259:271:void addLinks(android.widget.TextView,java.util.regex.Pattern,java.lang.String,java.lang.String[],android.text.util.Linkify$MatchFilter,android.text.util.Linkify$TransformFilter) -> addLinks
+ 284:287:boolean addLinks(android.text.Spannable,java.util.regex.Pattern,java.lang.String) -> addLinks
+ 308:311:boolean addLinks(android.text.Spannable,java.util.regex.Pattern,java.lang.String,android.text.util.Linkify$MatchFilter,android.text.util.Linkify$TransformFilter) -> addLinks
+ 335:372:boolean addLinks(android.text.Spannable,java.util.regex.Pattern,java.lang.String,java.lang.String[],android.text.util.Linkify$MatchFilter,android.text.util.Linkify$TransformFilter) -> addLinks
+ 440:443:void applyLink(java.lang.String,int,int,android.text.Spannable) -> applyLink
+ 487:490:java.lang.String findAddress(java.lang.String) -> findAddress
+ 420:437:void gatherLinks(java.util.ArrayList,android.text.Spannable,java.util.regex.Pattern,java.lang.String[],android.text.util.Linkify$MatchFilter,android.text.util.Linkify$TransformFilter) -> gatherLinks
+ 446:484:void gatherMapLinks(java.util.ArrayList,android.text.Spannable) -> gatherMapLinks
+ 391:414:java.lang.String makeUrl(java.lang.String,java.lang.String[],java.util.regex.Matcher,android.text.util.Linkify$TransformFilter) -> makeUrl
+ 495:537:void pruneOverlaps(java.util.ArrayList,android.text.Spannable) -> pruneOverlaps
+ 376:376:boolean shouldAddLinksFallbackToFramework() -> shouldAddLinksFallbackToFramework
+androidx.core.text.util.LinkifyCompat$1 -> androidx.core.text.util.LinkifyCompat$1:
+ 59:59:void <init>() -> <init>
+ 59:59:int compare(java.lang.Object,java.lang.Object) -> compare
+ 62:78:int compare(androidx.core.text.util.LinkifyCompat$LinkSpec,androidx.core.text.util.LinkifyCompat$LinkSpec) -> compare
+androidx.core.text.util.LinkifyCompat$LinkSpec -> androidx.core.text.util.LinkifyCompat$LinkSpec:
+ 550:551:void <init>() -> <init>
+androidx.core.util.AtomicFile -> androidx.core.util.AtomicFile:
+ 56:60:void <init>(java.io.File) -> <init>
+ 75:78:void delete() -> delete
+ 142:156:void failWrite(java.io.FileOutputStream) -> failWrite
+ 122:134:void finishWrite(java.io.FileOutputStream) -> finishWrite
+ 68:68:java.io.File getBaseFile() -> getBaseFile
+ 166:182:java.io.FileInputStream openRead() -> openRead
+ 191:215:byte[] readFully() -> readFully
+ 234:242:void rename(java.io.File,java.io.File) -> rename
+ 96:110:java.io.FileOutputStream startWrite() -> startWrite
+ 220:224:boolean sync(java.io.FileOutputStream) -> sync
+androidx.core.util.DebugUtils -> androidx.core.util.DebugUtils:
+ 49:50:void <init>() -> <init>
+ 32:47:void buildShortClassTag(java.lang.Object,java.lang.StringBuilder) -> buildShortClassTag
+androidx.core.util.LogWriter -> androidx.core.util.LogWriter:
+ 35:45:void <init>(java.lang.String) -> <init>
+ 48:49:void close() -> close
+ 52:53:void flush() -> flush
+ 68:72:void flushBuilder() -> flushBuilder
+ 56:65:void write(char[],int,int) -> write
+androidx.core.util.ObjectsCompat -> androidx.core.util.ObjectsCompat:
+ 29:31:void <init>() -> <init>
+ 50:51:boolean equals(java.lang.Object,java.lang.Object) -> equals
+ 92:93:int hash(java.lang.Object[]) -> hash
+ 65:65:int hashCode(java.lang.Object) -> hashCode
+ 110:110:java.lang.String toString(java.lang.Object,java.lang.String) -> toString
+androidx.core.util.Pair -> androidx.core.util.Pair:
+ 37:40:void <init>(java.lang.Object,java.lang.Object) -> <init>
+ 84:84:androidx.core.util.Pair create(java.lang.Object,java.lang.Object) -> create
+ 52:56:boolean equals(java.lang.Object) -> equals
+ 66:66:int hashCode() -> hashCode
+ 72:72:java.lang.String toString() -> toString
+androidx.core.util.PatternsCompat -> androidx.core.util.PatternsCompat:
+ 153:338:void <clinit>() -> <clinit>
+ 351:351:void <init>() -> <init>
+androidx.core.util.Pools -> androidx.core.util.Pools:
+ 73:75:void <init>() -> <init>
+androidx.core.util.Pools$SimplePool -> androidx.core.util.Pools$SimplePool:
+ 94:99:void <init>(int) -> <init>
+ 104:111:java.lang.Object acquire() -> acquire
+ 128:133:boolean isInPool(java.lang.Object) -> isInPool
+ 116:124:boolean release(java.lang.Object) -> release
+androidx.core.util.Pools$SynchronizedPool -> androidx.core.util.Pools$SynchronizedPool:
+ 143:154:void <init>(int) -> <init>
+ 158:160:java.lang.Object acquire() -> acquire
+ 165:167:boolean release(java.lang.Object) -> release
+androidx.core.util.Preconditions -> androidx.core.util.Preconditions:
+ 240:241:void <init>() -> <init>
+ 37:40:void checkArgument(boolean) -> checkArgument
+ 51:54:void checkArgument(boolean,java.lang.Object) -> checkArgument
+ 227:237:int checkArgumentInRange(int,int,int,java.lang.String) -> checkArgumentInRange
+ 190:194:int checkArgumentNonnegative(int,java.lang.String) -> checkArgumentNonnegative
+ 206:210:int checkArgumentNonnegative(int) -> checkArgumentNonnegative
+ 172:177:int checkFlagsArgument(int,int) -> checkFlagsArgument
+ 118:121:java.lang.Object checkNotNull(java.lang.Object) -> checkNotNull
+ 135:138:java.lang.Object checkNotNull(java.lang.Object,java.lang.Object) -> checkNotNull
+ 150:153:void checkState(boolean,java.lang.String) -> checkState
+ 163:164:void checkState(boolean) -> checkState
+ 66:69:java.lang.CharSequence checkStringNotEmpty(java.lang.CharSequence) -> checkStringNotEmpty
+ 84:87:java.lang.CharSequence checkStringNotEmpty(java.lang.CharSequence,java.lang.Object) -> checkStringNotEmpty
+ 103:106:java.lang.CharSequence checkStringNotEmpty(java.lang.CharSequence,java.lang.String,java.lang.Object[]) -> checkStringNotEmpty
+androidx.core.util.TimeUtils -> androidx.core.util.TimeUtils:
+ 40:41:void <clinit>() -> <clinit>
+ 185:185:void <init>() -> <init>
+ 44:53:int accumField(int,int,boolean,int) -> accumField
+ 154:158:void formatDuration(long,java.lang.StringBuilder) -> formatDuration
+ 163:167:void formatDuration(long,java.io.PrintWriter,int) -> formatDuration
+ 172:173:void formatDuration(long,java.io.PrintWriter) -> formatDuration
+ 178:183:void formatDuration(long,long,java.io.PrintWriter) -> formatDuration
+ 81:148:int formatDurationLocked(long,int) -> formatDurationLocked
+ 58:77:int printField(char[],int,char,int,boolean,int) -> printField
+androidx.core.view.AccessibilityDelegateCompat -> androidx.core.view.AccessibilityDelegateCompat:
+ 131:131:void <clinit>() -> <clinit>
+ 140:141:void <init>() -> <init>
+ 147:150:void <init>(android.view.View$AccessibilityDelegate) -> <init>
+ 217:217:boolean dispatchPopulateAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> dispatchPopulateAccessibilityEvent
+ 319:325:androidx.core.view.accessibility.AccessibilityNodeProviderCompat getAccessibilityNodeProvider(android.view.View) -> getAccessibilityNodeProvider
+ 397:399:java.util.List getActionList(android.view.View) -> getActionList
+ 156:156:android.view.View$AccessibilityDelegate getBridge() -> getBridge
+ 383:392:boolean isSpanStillValid(android.text.style.ClickableSpan,android.view.View) -> isSpanStillValid
+ 257:258:void onInitializeAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 276:278:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 237:238:void onPopulateAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onPopulateAccessibilityEvent
+ 301:301:boolean onRequestSendAccessibilityEvent(android.view.ViewGroup,android.view.View,android.view.accessibility.AccessibilityEvent) -> onRequestSendAccessibilityEvent
+ 345:361:boolean performAccessibilityAction(android.view.View,int,android.os.Bundle) -> performAccessibilityAction
+ 366:379:boolean performClickableSpanAction(int,android.view.View) -> performClickableSpanAction
+ 174:175:void sendAccessibilityEvent(android.view.View,int) -> sendAccessibilityEvent
+ 196:197:void sendAccessibilityEventUnchecked(android.view.View,android.view.accessibility.AccessibilityEvent) -> sendAccessibilityEventUnchecked
+androidx.core.view.AccessibilityDelegateCompat$AccessibilityDelegateAdapter -> androidx.core.view.AccessibilityDelegateCompat$AccessibilityDelegateAdapter:
+ 64:66:void <init>(androidx.core.view.AccessibilityDelegateCompat) -> <init>
+ 71:71:boolean dispatchPopulateAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> dispatchPopulateAccessibilityEvent
+ 119:122:android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider(android.view.View) -> getAccessibilityNodeProvider
+ 76:77:void onInitializeAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 82:93:void onInitializeAccessibilityNodeInfo(android.view.View,android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 97:98:void onPopulateAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onPopulateAccessibilityEvent
+ 103:103:boolean onRequestSendAccessibilityEvent(android.view.ViewGroup,android.view.View,android.view.accessibility.AccessibilityEvent) -> onRequestSendAccessibilityEvent
+ 127:127:boolean performAccessibilityAction(android.view.View,int,android.os.Bundle) -> performAccessibilityAction
+ 108:109:void sendAccessibilityEvent(android.view.View,int) -> sendAccessibilityEvent
+ 113:114:void sendAccessibilityEventUnchecked(android.view.View,android.view.accessibility.AccessibilityEvent) -> sendAccessibilityEventUnchecked
+androidx.core.view.ActionProvider -> androidx.core.view.ActionProvider:
+ 133:135:void <init>(android.content.Context) -> <init>
+ 141:141:android.content.Context getContext() -> getContext
+ 250:250:boolean hasSubMenu() -> hasSubMenu
+ 190:190:boolean isVisible() -> isVisible
+ 164:164:android.view.View onCreateActionView(android.view.MenuItem) -> onCreateActionView
+ 237:237:boolean onPerformDefaultAction() -> onPerformDefaultAction
+ 263:263:void onPrepareSubMenu(android.view.SubMenu) -> onPrepareSubMenu
+ 176:176:boolean overridesItemVisibility() -> overridesItemVisibility
+ 200:203:void refreshVisibility() -> refreshVisibility
+ 306:308:void reset() -> reset
+ 283:284:void setSubUiVisibilityListener(androidx.core.view.ActionProvider$SubUiVisibilityListener) -> setSubUiVisibilityListener
+ 293:299:void setVisibilityListener(androidx.core.view.ActionProvider$VisibilityListener) -> setVisibilityListener
+ 273:276:void subUiVisibilityChanged(boolean) -> subUiVisibilityChanged
+androidx.core.view.ContentInfoCompat -> androidx.core.view.ContentInfoCompat:
+ 137:144:void <init>(androidx.core.view.ContentInfoCompat$Builder) -> <init>
+ 254:258:android.content.ClipData buildClipData(android.content.ClipDescription,java.util.List) -> buildClipData
+ 120:123:java.lang.String flagsToString(int) -> flagsToString
+ 163:163:android.content.ClipData getClip() -> getClip
+ 201:201:android.os.Bundle getExtras() -> getExtras
+ 180:180:int getFlags() -> getFlags
+ 191:191:android.net.Uri getLinkUri() -> getLinkUri
+ 172:172:int getSource() -> getSource
+ 223:249:android.util.Pair partition(androidx.core.util.Predicate) -> partition
+ 87:93:java.lang.String sourceToString(int) -> sourceToString
+ 149:152:java.lang.String toString() -> toString
+androidx.core.view.ContentInfoCompat$Builder -> androidx.core.view.ContentInfoCompat$Builder:
+ 279:285:void <init>(androidx.core.view.ContentInfoCompat) -> <init>
+ 293:296:void <init>(android.content.ClipData,int) -> <init>
+ 365:365:androidx.core.view.ContentInfoCompat build() -> build
+ 306:307:androidx.core.view.ContentInfoCompat$Builder setClip(android.content.ClipData) -> setClip
+ 356:357:androidx.core.view.ContentInfoCompat$Builder setExtras(android.os.Bundle) -> setExtras
+ 331:332:androidx.core.view.ContentInfoCompat$Builder setFlags(int) -> setFlags
+ 344:345:androidx.core.view.ContentInfoCompat$Builder setLinkUri(android.net.Uri) -> setLinkUri
+ 318:319:androidx.core.view.ContentInfoCompat$Builder setSource(int) -> setSource
+androidx.core.view.DisplayCompat -> androidx.core.view.DisplayCompat:
+ 51:53:void <init>() -> <init>
+ 193:207:android.graphics.Point getCurrentDisplaySizeFromWorkarounds(android.content.Context,android.view.Display) -> getCurrentDisplaySizeFromWorkarounds
+ 73:84:android.graphics.Point getDisplaySize(android.content.Context,android.view.Display) -> getDisplaySize
+ 62:63:androidx.core.view.DisplayCompat$ModeCompat getMode(android.content.Context,android.view.Display) -> getMode
+ 95:96:androidx.core.view.DisplayCompat$ModeCompat[] getSupportedModes(android.content.Context,android.view.Display) -> getSupportedModes
+ 135:139:java.lang.String getSystemProperty(java.lang.String) -> getSystemProperty
+ 225:226:boolean isCurrentModeTheLargestMode(android.view.Display) -> isCurrentModeTheLargestMode
+ 214:217:boolean isSonyBravia4kTv(android.content.Context) -> isSonyBravia4kTv
+ 148:150:boolean isTv(android.content.Context) -> isTv
+ 114:122:android.graphics.Point parseDisplaySize(java.lang.String) -> parseDisplaySize
+ 166:180:android.graphics.Point parsePhysicalDisplaySizeFromSystemProperties(java.lang.String,android.view.Display) -> parsePhysicalDisplaySizeFromSystemProperties
+androidx.core.view.DisplayCompat$Api17Impl -> androidx.core.view.DisplayCompat$Api17Impl:
+ 310:310:void <init>() -> <init>
+ 313:314:void getRealSize(android.view.Display,android.graphics.Point) -> getRealSize
+androidx.core.view.DisplayCompat$Api23Impl -> androidx.core.view.DisplayCompat$Api23Impl:
+ 235:235:void <init>() -> <init>
+ 239:245:androidx.core.view.DisplayCompat$ModeCompat getMode(android.content.Context,android.view.Display) -> getMode
+ 252:274:androidx.core.view.DisplayCompat$ModeCompat[] getSupportedModes(android.content.Context,android.view.Display) -> getSupportedModes
+ 278:286:boolean isCurrentModeTheLargestMode(android.view.Display) -> isCurrentModeTheLargestMode
+ 294:295:boolean physicalSizeEquals(android.view.Display$Mode,android.graphics.Point) -> physicalSizeEquals
+ 303:304:boolean physicalSizeEquals(android.view.Display$Mode,android.view.Display$Mode) -> physicalSizeEquals
+androidx.core.view.DisplayCompat$ModeCompat -> androidx.core.view.DisplayCompat$ModeCompat:
+ 332:337:void <init>(android.graphics.Point) -> <init>
+ 345:351:void <init>(android.view.Display$Mode,boolean) -> <init>
+ 362:368:void <init>(android.view.Display$Mode,android.graphics.Point) -> <init>
+ 381:381:int getPhysicalHeight() -> getPhysicalHeight
+ 374:374:int getPhysicalWidth() -> getPhysicalWidth
+ 392:392:boolean isNative() -> isNative
+ 401:401:android.view.Display$Mode toMode() -> toMode
+androidx.core.view.DisplayCutoutCompat -> androidx.core.view.DisplayCutoutCompat:
+ 56:57:void <init>(android.graphics.Rect,java.util.List) -> <init>
+ 77:79:void <init>(androidx.core.graphics.Insets,android.graphics.Rect,android.graphics.Rect,android.graphics.Rect,android.graphics.Rect,androidx.core.graphics.Insets) -> <init>
+ 112:114:void <init>(java.lang.Object) -> <init>
+ 84:108:android.view.DisplayCutout constructDisplayCutout(androidx.core.graphics.Insets,android.graphics.Rect,android.graphics.Rect,android.graphics.Rect,android.graphics.Rect,androidx.core.graphics.Insets) -> constructDisplayCutout
+ 191:198:boolean equals(java.lang.Object) -> equals
+ 163:166:java.util.List getBoundingRects() -> getBoundingRects
+ 127:130:int getSafeInsetBottom() -> getSafeInsetBottom
+ 136:139:int getSafeInsetLeft() -> getSafeInsetLeft
+ 145:148:int getSafeInsetRight() -> getSafeInsetRight
+ 118:121:int getSafeInsetTop() -> getSafeInsetTop
+ 182:185:androidx.core.graphics.Insets getWaterfallInsets() -> getWaterfallInsets
+ 203:203:int hashCode() -> hashCode
+ 208:208:java.lang.String toString() -> toString
+ 217:217:android.view.DisplayCutout unwrap() -> unwrap
+ 212:212:androidx.core.view.DisplayCutoutCompat wrap(java.lang.Object) -> wrap
+androidx.core.view.DragAndDropPermissionsCompat -> androidx.core.view.DragAndDropPermissionsCompat:
+ 42:44:void <init>(java.lang.Object) -> <init>
+ 64:67:void release() -> release
+ 50:57:androidx.core.view.DragAndDropPermissionsCompat request(android.app.Activity,android.view.DragEvent) -> request
+androidx.core.view.DragStartHelper -> androidx.core.view.DragStartHelper:
+ 96:188:void <init>(android.view.View,androidx.core.view.DragStartHelper$OnDragStartListener) -> <init>
+ 107:109:void attach() -> attach
+ 117:119:void detach() -> detach
+ 178:179:void getTouchPosition(android.graphics.Point) -> getTouchPosition
+ 170:170:boolean onLongClick(android.view.View) -> onLongClick
+ 129:161:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+androidx.core.view.DragStartHelper$1 -> androidx.core.view.DragStartHelper$1:
+ 181:181:void <init>(androidx.core.view.DragStartHelper) -> <init>
+ 184:184:boolean onLongClick(android.view.View) -> onLongClick
+androidx.core.view.DragStartHelper$2 -> androidx.core.view.DragStartHelper$2:
+ 188:188:void <init>(androidx.core.view.DragStartHelper) -> <init>
+ 191:191:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+androidx.core.view.GestureDetectorCompat -> androidx.core.view.GestureDetectorCompat:
+ 507:508:void <init>(android.content.Context,android.view.GestureDetector$OnGestureListener) -> <init>
+ 520:526:void <init>(android.content.Context,android.view.GestureDetector$OnGestureListener,android.os.Handler) -> <init>
+ 532:532:boolean isLongpressEnabled() -> isLongpressEnabled
+ 544:544:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 557:558:void setIsLongpressEnabled(boolean) -> setIsLongpressEnabled
+ 568:569:void setOnDoubleTapListener(android.view.GestureDetector$OnDoubleTapListener) -> setOnDoubleTapListener
+androidx.core.view.GestureDetectorCompat$GestureDetectorCompatImplBase -> androidx.core.view.GestureDetectorCompat$GestureDetectorCompatImplBase:
+ 62:64:void <clinit>() -> <clinit>
+ 153:164:void <init>(android.content.Context,android.view.GestureDetector$OnGestureListener,android.os.Handler) -> <init>
+ 415:428:void cancel() -> cancel
+ 431:441:void cancelTaps() -> cancelTaps
+ 459:463:void dispatchLongPress() -> dispatchLongPress
+ 167:183:void init(android.content.Context) -> init
+ 445:455:boolean isConsideredDoubleTap(android.view.MotionEvent,android.view.MotionEvent,android.view.MotionEvent) -> isConsideredDoubleTap
+ 216:216:boolean isLongpressEnabled() -> isLongpressEnabled
+ 229:411:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 208:209:void setIsLongpressEnabled(boolean) -> setIsLongpressEnabled
+ 194:195:void setOnDoubleTapListener(android.view.GestureDetector$OnDoubleTapListener) -> setOnDoubleTapListener
+androidx.core.view.GestureDetectorCompat$GestureDetectorCompatImplBase$GestureHandler -> androidx.core.view.GestureDetectorCompat$GestureDetectorCompatImplBase$GestureHandler:
+ 104:106:void <init>(androidx.core.view.GestureDetectorCompat$GestureDetectorCompatImplBase) -> <init>
+ 108:110:void <init>(androidx.core.view.GestureDetectorCompat$GestureDetectorCompatImplBase,android.os.Handler) -> <init>
+ 114:137:void handleMessage(android.os.Message) -> handleMessage
+androidx.core.view.GestureDetectorCompat$GestureDetectorCompatImplJellybeanMr2 -> androidx.core.view.GestureDetectorCompat$GestureDetectorCompatImplJellybeanMr2:
+ 470:472:void <init>(android.content.Context,android.view.GestureDetector$OnGestureListener,android.os.Handler) -> <init>
+ 476:476:boolean isLongpressEnabled() -> isLongpressEnabled
+ 481:481:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 486:487:void setIsLongpressEnabled(boolean) -> setIsLongpressEnabled
+ 491:492:void setOnDoubleTapListener(android.view.GestureDetector$OnDoubleTapListener) -> setOnDoubleTapListener
+androidx.core.view.GravityCompat -> androidx.core.view.GravityCompat:
+ 153:153:void <init>() -> <init>
+ 64:69:void apply(int,int,int,android.graphics.Rect,android.graphics.Rect,int) -> apply
+ 98:103:void apply(int,int,int,android.graphics.Rect,int,int,android.graphics.Rect,int) -> apply
+ 126:131:void applyDisplay(int,android.graphics.Rect,android.graphics.Rect,int) -> applyDisplay
+ 145:146:int getAbsoluteGravity(int,int) -> getAbsoluteGravity
+androidx.core.view.InputDeviceCompat -> androidx.core.view.InputDeviceCompat:
+ 220:220:void <init>() -> <init>
+androidx.core.view.KeyEventDispatcher -> androidx.core.view.KeyEventDispatcher:
+ 46:49:void <clinit>() -> <clinit>
+ 51:53:void <init>() -> <init>
+ 96:111:boolean actionBarOnMenuKeyEventPre28(android.app.ActionBar,android.view.KeyEvent) -> actionBarOnMenuKeyEventPre28
+ 115:138:boolean activitySuperDispatchKeyEventPre28(android.app.Activity,android.view.KeyEvent) -> activitySuperDispatchKeyEventPre28
+ 161:174:boolean dialogSuperDispatchKeyEventPre28(android.app.Dialog,android.view.KeyEvent) -> dialogSuperDispatchKeyEventPre28
+ 63:63:boolean dispatchBeforeHierarchy(android.view.View,android.view.KeyEvent) -> dispatchBeforeHierarchy
+ 80:92:boolean dispatchKeyEvent(androidx.core.view.KeyEventDispatcher$Component,android.view.View,android.view.Window$Callback,android.view.KeyEvent) -> dispatchKeyEvent
+ 142:157:android.content.DialogInterface$OnKeyListener getDialogKeyListenerPre28(android.app.Dialog) -> getDialogKeyListenerPre28
+androidx.core.view.LayoutInflaterCompat -> androidx.core.view.LayoutInflaterCompat:
+ 96:97:void <init>() -> <init>
+ 72:91:void forceSetFactory2(android.view.LayoutInflater,android.view.LayoutInflater$Factory2) -> forceSetFactory2
+ 170:174:androidx.core.view.LayoutInflaterFactory getFactory(android.view.LayoutInflater) -> getFactory
+ 112:129:void setFactory(android.view.LayoutInflater,androidx.core.view.LayoutInflaterFactory) -> setFactory
+ 140:153:void setFactory2(android.view.LayoutInflater,android.view.LayoutInflater$Factory2) -> setFactory2
+androidx.core.view.LayoutInflaterCompat$Factory2Wrapper -> androidx.core.view.LayoutInflaterCompat$Factory2Wrapper:
+ 43:45:void <init>(androidx.core.view.LayoutInflaterFactory) -> <init>
+ 49:49:android.view.View onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 55:55:android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 61:61:java.lang.String toString() -> toString
+androidx.core.view.MarginLayoutParamsCompat -> androidx.core.view.MarginLayoutParamsCompat:
+ 166:166:void <init>() -> <init>
+ 127:139:int getLayoutDirection(android.view.ViewGroup$MarginLayoutParams) -> getLayoutDirection
+ 61:62:int getMarginEnd(android.view.ViewGroup$MarginLayoutParams) -> getMarginEnd
+ 42:43:int getMarginStart(android.view.ViewGroup$MarginLayoutParams) -> getMarginStart
+ 112:113:boolean isMarginRelative(android.view.ViewGroup$MarginLayoutParams) -> isMarginRelative
+ 161:164:void resolveLayoutDirection(android.view.ViewGroup$MarginLayoutParams,int) -> resolveLayoutDirection
+ 150:153:void setLayoutDirection(android.view.ViewGroup$MarginLayoutParams,int) -> setLayoutDirection
+ 99:104:void setMarginEnd(android.view.ViewGroup$MarginLayoutParams,int) -> setMarginEnd
+ 80:85:void setMarginStart(android.view.ViewGroup$MarginLayoutParams,int) -> setMarginStart
+androidx.core.view.MenuCompat -> androidx.core.view.MenuCompat:
+ 55:55:void <init>() -> <init>
+ 48:53:void setGroupDividerEnabled(android.view.Menu,boolean) -> setGroupDividerEnabled
+ 37:38:void setShowAsAction(android.view.MenuItem,int) -> setShowAsAction
+androidx.core.view.MenuItemCompat -> androidx.core.view.MenuItemCompat:
+ 557:557:void <init>() -> <init>
+ 268:268:boolean collapseActionView(android.view.MenuItem) -> collapseActionView
+ 249:249:boolean expandActionView(android.view.MenuItem) -> expandActionView
+ 224:230:androidx.core.view.ActionProvider getActionProvider(android.view.MenuItem) -> getActionProvider
+ 188:188:android.view.View getActionView(android.view.MenuItem) -> getActionView
+ 481:487:int getAlphabeticModifiers(android.view.MenuItem) -> getAlphabeticModifiers
+ 335:341:java.lang.CharSequence getContentDescription(android.view.MenuItem) -> getContentDescription
+ 515:521:android.content.res.ColorStateList getIconTintList(android.view.MenuItem) -> getIconTintList
+ 548:554:android.graphics.PorterDuff$Mode getIconTintMode(android.view.MenuItem) -> getIconTintMode
+ 436:442:int getNumericModifiers(android.view.MenuItem) -> getNumericModifiers
+ 364:370:java.lang.CharSequence getTooltipText(android.view.MenuItem) -> getTooltipText
+ 284:284:boolean isActionViewExpanded(android.view.MenuItem) -> isActionViewExpanded
+ 207:212:android.view.MenuItem setActionProvider(android.view.MenuItem,androidx.core.view.ActionProvider) -> setActionProvider
+ 153:153:android.view.MenuItem setActionView(android.view.MenuItem,android.view.View) -> setActionView
+ 175:175:android.view.MenuItem setActionView(android.view.MenuItem,int) -> setActionView
+ 463:468:void setAlphabeticShortcut(android.view.MenuItem,char,int) -> setAlphabeticShortcut
+ 322:327:void setContentDescription(android.view.MenuItem,java.lang.CharSequence) -> setContentDescription
+ 503:508:void setIconTintList(android.view.MenuItem,android.content.res.ColorStateList) -> setIconTintList
+ 534:539:void setIconTintMode(android.view.MenuItem,android.graphics.PorterDuff$Mode) -> setIconTintMode
+ 418:423:void setNumericShortcut(android.view.MenuItem,char,int) -> setNumericShortcut
+ 302:302:android.view.MenuItem setOnActionExpandListener(android.view.MenuItem,androidx.core.view.MenuItemCompat$OnActionExpandListener) -> setOnActionExpandListener
+ 397:403:void setShortcut(android.view.MenuItem,char,char,int,int) -> setShortcut
+ 135:136:void setShowAsAction(android.view.MenuItem,int) -> setShowAsAction
+ 351:356:void setTooltipText(android.view.MenuItem,java.lang.CharSequence) -> setTooltipText
+androidx.core.view.MenuItemCompat$1 -> androidx.core.view.MenuItemCompat$1:
+ 302:302:void <init>(androidx.core.view.MenuItemCompat$OnActionExpandListener) -> <init>
+ 310:310:boolean onMenuItemActionCollapse(android.view.MenuItem) -> onMenuItemActionCollapse
+ 305:305:boolean onMenuItemActionExpand(android.view.MenuItem) -> onMenuItemActionExpand
+androidx.core.view.MotionEventCompat -> androidx.core.view.MotionEventCompat:
+ 602:602:void <init>() -> <init>
+ 488:488:int findPointerIndex(android.view.MotionEvent,int) -> findPointerIndex
+ 477:477:int getActionIndex(android.view.MotionEvent) -> getActionIndex
+ 465:465:int getActionMasked(android.view.MotionEvent) -> getActionMasked
+ 570:570:float getAxisValue(android.view.MotionEvent,int) -> getAxisValue
+ 590:590:float getAxisValue(android.view.MotionEvent,int,int) -> getAxisValue
+ 599:599:int getButtonState(android.view.MotionEvent) -> getButtonState
+ 532:532:int getPointerCount(android.view.MotionEvent) -> getPointerCount
+ 499:499:int getPointerId(android.view.MotionEvent,int) -> getPointerId
+ 544:544:int getSource(android.view.MotionEvent) -> getSource
+ 510:510:float getX(android.view.MotionEvent,int) -> getX
+ 521:521:float getY(android.view.MotionEvent,int) -> getY
+ 553:553:boolean isFromSource(android.view.MotionEvent,int) -> isFromSource
+androidx.core.view.NestedScrollingChildHelper -> androidx.core.view.NestedScrollingChildHelper:
+ 56:58:void <init>(android.view.View) -> <init>
+ 348:355:boolean dispatchNestedFling(float,float,boolean) -> dispatchNestedFling
+ 368:375:boolean dispatchNestedPreFling(float,float) -> dispatchNestedPreFling
+ 288:288:boolean dispatchNestedPreScroll(int,int,int[],int[]) -> dispatchNestedPreScroll
+ 302:335:boolean dispatchNestedPreScroll(int,int,int[],int[],int) -> dispatchNestedPreScroll
+ 204:204:boolean dispatchNestedScroll(int,int,int,int,int[]) -> dispatchNestedScroll
+ 218:218:boolean dispatchNestedScroll(int,int,int,int,int[],int) -> dispatchNestedScroll
+ 231:233:void dispatchNestedScroll(int,int,int,int,int[],int,int[]) -> dispatchNestedScroll
+ 238:274:boolean dispatchNestedScrollInternal(int,int,int,int,int[],int,int[]) -> dispatchNestedScrollInternal
+ 404:410:android.view.ViewParent getNestedScrollingParentForType(int) -> getNestedScrollingParentForType
+ 425:428:int[] getTempNestedScrollConsumed() -> getTempNestedScrollConsumed
+ 100:100:boolean hasNestedScrollingParent() -> hasNestedScrollingParent
+ 114:114:boolean hasNestedScrollingParent(int) -> hasNestedScrollingParent
+ 86:86:boolean isNestedScrollingEnabled() -> isNestedScrollingEnabled
+ 387:388:void onDetachedFromWindow() -> onDetachedFromWindow
+ 400:401:void onStopNestedScroll(android.view.View) -> onStopNestedScroll
+ 70:74:void setNestedScrollingEnabled(boolean) -> setNestedScrollingEnabled
+ 414:422:void setNestedScrollingParentForType(int,android.view.ViewParent) -> setNestedScrollingParentForType
+ 129:129:boolean startNestedScroll(int) -> startNestedScroll
+ 145:164:boolean startNestedScroll(int,int) -> startNestedScroll
+ 175:176:void stopNestedScroll() -> stopNestedScroll
+ 186:191:void stopNestedScroll(int) -> stopNestedScroll
+androidx.core.view.NestedScrollingParentHelper -> androidx.core.view.NestedScrollingParentHelper:
+ 50:51:void <init>(android.view.ViewGroup) -> <init>
+ 92:92:int getNestedScrollAxes() -> getNestedScrollAxes
+ 63:64:void onNestedScrollAccepted(android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 76:81:void onNestedScrollAccepted(android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 103:104:void onStopNestedScroll(android.view.View) -> onStopNestedScroll
+ 114:119:void onStopNestedScroll(android.view.View,int) -> onStopNestedScroll
+androidx.core.view.OneShotPreDrawListener -> androidx.core.view.OneShotPreDrawListener:
+ 43:47:void <init>(android.view.View,java.lang.Runnable) -> <init>
+ 59:65:androidx.core.view.OneShotPreDrawListener add(android.view.View,java.lang.Runnable) -> add
+ 70:72:boolean onPreDraw() -> onPreDraw
+ 90:91:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 95:96:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+ 80:86:void removeListener() -> removeListener
+androidx.core.view.PointerIconCompat -> androidx.core.view.PointerIconCompat:
+ 107:109:void <init>(java.lang.Object) -> <init>
+ 151:152:androidx.core.view.PointerIconCompat create(android.graphics.Bitmap,float,float) -> create
+ 116:116:java.lang.Object getPointerIcon() -> getPointerIcon
+ 130:131:androidx.core.view.PointerIconCompat getSystemIcon(android.content.Context,int) -> getSystemIcon
+ 180:181:androidx.core.view.PointerIconCompat load(android.content.res.Resources,int) -> load
+androidx.core.view.ScaleGestureDetectorCompat -> androidx.core.view.ScaleGestureDetectorCompat:
+ 26:26:void <init>() -> <init>
+ 68:68:boolean isQuickScaleEnabled(java.lang.Object) -> isQuickScaleEnabled
+ 78:79:boolean isQuickScaleEnabled(android.view.ScaleGestureDetector) -> isQuickScaleEnabled
+ 40:42:void setQuickScaleEnabled(java.lang.Object,boolean) -> setQuickScaleEnabled
+ 53:56:void setQuickScaleEnabled(android.view.ScaleGestureDetector,boolean) -> setQuickScaleEnabled
+androidx.core.view.VelocityTrackerCompat -> androidx.core.view.VelocityTrackerCompat:
+ 52:52:void <init>() -> <init>
+ 37:37:float getXVelocity(android.view.VelocityTracker,int) -> getXVelocity
+ 49:49:float getYVelocity(android.view.VelocityTracker,int) -> getYVelocity
+androidx.core.view.ViewCompat -> androidx.core.view.ViewCompat:
+ 470:4467:void <clinit>() -> <clinit>
+ 4087:4088:void <init>() -> <init>
+ 4316:4316:androidx.core.view.ViewCompat$AccessibilityViewProperty accessibilityHeadingProperty() -> accessibilityHeadingProperty
+ 1227:1233:int addAccessibilityAction(android.view.View,java.lang.CharSequence,androidx.core.view.accessibility.AccessibilityViewCommand) -> addAccessibilityAction
+ 1314:1321:void addAccessibilityAction(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat) -> addAccessibilityAction
+ 3923:3926:void addKeyboardNavigationClusters(android.view.View,java.util.Collection,int) -> addKeyboardNavigationClusters
+ 4041:4056:void addOnUnhandledKeyEventListener(android.view.View,androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerCompat) -> addOnUnhandledKeyEventListener
+ 2061:2069:androidx.core.view.ViewPropertyAnimatorCompat animate(android.view.View) -> animate
+ 1879:1887:void bindTempDetach() -> bindTempDetach
+ 539:539:boolean canScrollHorizontally(android.view.View,int) -> canScrollHorizontally
+ 553:553:boolean canScrollVertically(android.view.View,int) -> canScrollVertically
+ 3794:3797:void cancelDragAndDrop(android.view.View) -> cancelDragAndDrop
+ 1769:1769:int combineMeasuredStates(int,int) -> combineMeasuredStates
+ 3587:3596:void compatOffsetLeftAndRight(android.view.View,int) -> compatOffsetLeftAndRight
+ 3539:3548:void compatOffsetTopAndBottom(android.view.View,int) -> compatOffsetTopAndBottom
+ 2637:2638:androidx.core.view.WindowInsetsCompat computeSystemWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat,android.graphics.Rect) -> computeSystemWindowInsets
+ 2558:2568:androidx.core.view.WindowInsetsCompat dispatchApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> dispatchApplyWindowInsets
+ 1916:1933:void dispatchFinishTemporaryDetach(android.view.View) -> dispatchFinishTemporaryDetach
+ 3371:3372:boolean dispatchNestedFling(android.view.View,float,float,boolean) -> dispatchNestedFling
+ 3414:3415:boolean dispatchNestedPreFling(android.view.View,float,float) -> dispatchNestedPreFling
+ 3147:3148:boolean dispatchNestedPreScroll(android.view.View,int,int,int[],int[]) -> dispatchNestedPreScroll
+ 3341:3347:boolean dispatchNestedPreScroll(android.view.View,int,int,int[],int[],int) -> dispatchNestedPreScroll
+ 3116:3117:boolean dispatchNestedScroll(android.view.View,int,int,int,int,int[]) -> dispatchNestedScroll
+ 3273:3280:void dispatchNestedScroll(android.view.View,int,int,int,int,int[],int,int[]) -> dispatchNestedScroll
+ 3309:3316:boolean dispatchNestedScroll(android.view.View,int,int,int,int,int[],int) -> dispatchNestedScroll
+ 1893:1910:void dispatchStartTemporaryDetach(android.view.View) -> dispatchStartTemporaryDetach
+ 4116:4119:boolean dispatchUnhandledKeyEventBeforeCallback(android.view.View,android.view.KeyEvent) -> dispatchUnhandledKeyEventBeforeCallback
+ 4108:4111:boolean dispatchUnhandledKeyEventBeforeHierarchy(android.view.View,android.view.KeyEvent) -> dispatchUnhandledKeyEventBeforeHierarchy
+ 1407:1410:void enableAccessibleClickableSpanSupport(android.view.View) -> enableAccessibleClickableSpanSupport
+ 3972:3973:int generateViewId() -> generateViewId
+ 922:929:androidx.core.view.AccessibilityDelegateCompat getAccessibilityDelegate(android.view.View) -> getAccessibilityDelegate
+ 945:948:android.view.View$AccessibilityDelegate getAccessibilityDelegateInternal(android.view.View) -> getAccessibilityDelegateInternal
+ 954:975:android.view.View$AccessibilityDelegate getAccessibilityDelegateThroughReflection(android.view.View) -> getAccessibilityDelegateThroughReflection
+ 1782:1783:int getAccessibilityLiveRegion(android.view.View) -> getAccessibilityLiveRegion
+ 1436:1442:androidx.core.view.accessibility.AccessibilityNodeProviderCompat getAccessibilityNodeProvider(android.view.View) -> getAccessibilityNodeProvider
+ 4232:4232:java.lang.CharSequence getAccessibilityPaneTitle(android.view.View) -> getAccessibilityPaneTitle
+ 1350:1356:java.util.List getActionList(android.view.View) -> getActionList
+ 1456:1456:float getAlpha(android.view.View) -> getAlpha
+ 1271:1284:int getAvailableActionIdFromResources(android.view.View) -> getAvailableActionIdFromResources
+ 2905:2906:android.content.res.ColorStateList getBackgroundTintList(android.view.View) -> getBackgroundTintList
+ 2950:2951:android.graphics.PorterDuff$Mode getBackgroundTintMode(android.view.View) -> getBackgroundTintMode
+ 3631:3632:android.graphics.Rect getClipBounds(android.view.View) -> getClipBounds
+ 3753:3754:android.view.Display getDisplay(android.view.View) -> getDisplay
+ 2345:2346:float getElevation(android.view.View) -> getElevation
+ 491:500:android.graphics.Rect getEmptyTempRect() -> getEmptyTempRect
+ 2806:2809:androidx.core.view.OnReceiveContentViewBehavior getFallback(android.view.View) -> getFallback
+ 2471:2472:boolean getFitsSystemWindows(android.view.View) -> getFitsSystemWindows
+ 1101:1102:int getImportantForAccessibility(android.view.View) -> getImportantForAccessibility
+ 782:785:int getImportantForAutofill(android.view.View) -> getImportantForAutofill
+ 1531:1532:int getLabelFor(android.view.View) -> getLabelFor
+ 1520:1520:int getLayerType(android.view.View) -> getLayerType
+ 1604:1605:int getLayoutDirection(android.view.View) -> getLayoutDirection
+ 1982:1982:android.graphics.Matrix getMatrix(android.view.View) -> getMatrix
+ 1740:1740:int getMeasuredHeightAndState(android.view.View) -> getMeasuredHeightAndState
+ 1754:1754:int getMeasuredState(android.view.View) -> getMeasuredState
+ 1723:1723:int getMeasuredWidthAndState(android.view.View) -> getMeasuredWidthAndState
+ 2027:2028:int getMinimumHeight(android.view.View) -> getMinimumHeight
+ 1993:1994:int getMinimumWidth(android.view.View) -> getMinimumWidth
+ 3815:3818:int getNextClusterForwardId(android.view.View) -> getNextClusterForwardId
+ 2769:2769:java.lang.String[] getOnReceiveContentMimeTypes(android.view.View) -> getOnReceiveContentMimeTypes
+ 934:939:androidx.core.view.AccessibilityDelegateCompat getOrCreateAccessibilityDelegateCompat(android.view.View) -> getOrCreateAccessibilityDelegateCompat
+ 571:571:int getOverScrollMode(android.view.View) -> getOverScrollMode
+ 1849:1850:int getPaddingEnd(android.view.View) -> getPaddingEnd
+ 1833:1834:int getPaddingStart(android.view.View) -> getPaddingStart
+ 1642:1643:android.view.ViewParent getParentForAccessibility(android.view.View) -> getParentForAccessibility
+ 2226:2226:float getPivotX(android.view.View) -> getPivotX
+ 2255:2255:float getPivotY(android.view.View) -> getPivotY
+ 2615:2616:androidx.core.view.WindowInsetsCompat getRootWindowInsets(android.view.View) -> getRootWindowInsets
+ 2279:2279:float getRotation(android.view.View) -> getRotation
+ 2287:2287:float getRotationX(android.view.View) -> getRotationX
+ 2295:2295:float getRotationY(android.view.View) -> getRotationY
+ 2303:2303:float getScaleX(android.view.View) -> getScaleX
+ 2311:2311:float getScaleY(android.view.View) -> getScaleY
+ 3723:3724:int getScrollIndicators(android.view.View) -> getScrollIndicators
+ 1392:1392:java.lang.CharSequence getStateDescription(android.view.View) -> getStateDescription
+ 2599:2602:java.util.List getSystemGestureExclusionRects(android.view.View) -> getSystemGestureExclusionRects
+ 2402:2403:java.lang.String getTransitionName(android.view.View) -> getTransitionName
+ 1946:1946:float getTranslationX(android.view.View) -> getTranslationX
+ 1960:1960:float getTranslationY(android.view.View) -> getTranslationY
+ 2366:2367:float getTranslationZ(android.view.View) -> getTranslationZ
+ 2652:2663:androidx.core.view.WindowInsetsControllerCompat getWindowInsetsController(android.view.View) -> getWindowInsetsController
+ 2415:2416:int getWindowSystemUiVisibility(android.view.View) -> getWindowSystemUiVisibility
+ 2319:2319:float getX(android.view.View) -> getX
+ 2327:2327:float getY(android.view.View) -> getY
+ 3478:3479:float getZ(android.view.View) -> getZ
+ 908:908:boolean hasAccessibilityDelegate(android.view.View) -> hasAccessibilityDelegate
+ 3959:3962:boolean hasExplicitFocusable(android.view.View) -> hasExplicitFocusable
+ 3087:3088:boolean hasNestedScrollingParent(android.view.View) -> hasNestedScrollingParent
+ 3232:3237:boolean hasNestedScrollingParent(android.view.View,int) -> hasNestedScrollingParent
+ 3653:3654:boolean hasOnClickListeners(android.view.View) -> hasOnClickListeners
+ 2865:2866:boolean hasOverlappingRendering(android.view.View) -> hasOverlappingRendering
+ 988:989:boolean hasTransientState(android.view.View) -> hasTransientState
+ 4295:4296:boolean isAccessibilityHeading(android.view.View) -> isAccessibilityHeading
+ 3641:3642:boolean isAttachedToWindow(android.view.View) -> isAttachedToWindow
+ 3870:3873:boolean isFocusedByDefault(android.view.View) -> isFocusedByDefault
+ 1179:1180:boolean isImportantForAccessibility(android.view.View) -> isImportantForAccessibility
+ 895:898:boolean isImportantForAutofill(android.view.View) -> isImportantForAutofill
+ 3436:3437:boolean isInLayout(android.view.View) -> isInLayout
+ 3841:3844:boolean isKeyboardNavigationCluster(android.view.View) -> isKeyboardNavigationCluster
+ 3447:3448:boolean isLaidOut(android.view.View) -> isLaidOut
+ 3464:3465:boolean isLayoutDirectionResolved(android.view.View) -> isLayoutDirectionResolved
+ 3029:3030:boolean isNestedScrollingEnabled(android.view.View) -> isNestedScrollingEnabled
+ 1686:1686:boolean isOpaque(android.view.View) -> isOpaque
+ 2878:2879:boolean isPaddingRelative(android.view.View) -> isPaddingRelative
+ 4159:4160:boolean isScreenReaderFocusable(android.view.View) -> isScreenReaderFocusable
+ 2501:2502:void jumpDrawablesToCurrentState(android.view.View) -> jumpDrawablesToCurrentState
+ 3907:3910:android.view.View keyboardNavigationClusterSearch(android.view.View,android.view.View,int) -> keyboardNavigationClusterSearch
+ 4408:4446:void notifyViewAccessibilityStateChangedIfNeeded(android.view.View,int) -> notifyViewAccessibilityStateChangedIfNeeded
+ 3556:3584:void offsetLeftAndRight(android.view.View,int) -> offsetLeftAndRight
+ 3508:3536:void offsetTopAndBottom(android.view.View,int) -> offsetTopAndBottom
+ 2530:2540:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+ 662:663:void onInitializeAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 694:695:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 630:631:void onPopulateAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onPopulateAccessibilityEvent
+ 4236:4236:androidx.core.view.ViewCompat$AccessibilityViewProperty paneTitleProperty() -> paneTitleProperty
+ 1201:1202:boolean performAccessibilityAction(android.view.View,int,android.os.Bundle) -> performAccessibilityAction
+ 2792:2802:androidx.core.view.ContentInfoCompat performReceiveContent(android.view.View,androidx.core.view.ContentInfoCompat) -> performReceiveContent
+ 1017:1022:void postInvalidateOnAnimation(android.view.View) -> postInvalidateOnAnimation
+ 1039:1044:void postInvalidateOnAnimation(android.view.View,int,int,int,int) -> postInvalidateOnAnimation
+ 1057:1062:void postOnAnimation(android.view.View,java.lang.Runnable) -> postOnAnimation
+ 1079:1084:void postOnAnimationDelayed(android.view.View,java.lang.Runnable,long) -> postOnAnimationDelayed
+ 1331:1336:void removeAccessibilityAction(android.view.View,int) -> removeAccessibilityAction
+ 1339:1346:void removeActionWithId(int,android.view.View) -> removeActionWithId
+ 4068:4081:void removeOnUnhandledKeyEventListener(android.view.View,androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerCompat) -> removeOnUnhandledKeyEventListener
+ 1305:1310:void replaceAccessibilityAction(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat,java.lang.CharSequence,androidx.core.view.accessibility.AccessibilityViewCommand) -> replaceAccessibilityAction
+ 2426:2431:void requestApplyInsets(android.view.View) -> requestApplyInsets
+ 1665:1673:android.view.View requireViewById(android.view.View,int) -> requireViewById
+ 1706:1706:int resolveSizeAndState(int,int,int) -> resolveSizeAndState
+ 3937:3940:boolean restoreDefaultFocus(android.view.View) -> restoreDefaultFocus
+ 522:526:void saveAttributeDataForStyleable(android.view.View,android.content.Context,int[],android.util.AttributeSet,android.content.res.TypedArray,int,int) -> saveAttributeDataForStyleable
+ 4164:4164:androidx.core.view.ViewCompat$AccessibilityViewProperty screenReaderFocusableProperty() -> screenReaderFocusableProperty
+ 724:729:void setAccessibilityDelegate(android.view.View,androidx.core.view.AccessibilityDelegateCompat) -> setAccessibilityDelegate
+ 4312:4313:void setAccessibilityHeading(android.view.View,boolean) -> setAccessibilityHeading
+ 1818:1821:void setAccessibilityLiveRegion(android.view.View,int) -> setAccessibilityLiveRegion
+ 4206:4214:void setAccessibilityPaneTitle(android.view.View,java.lang.CharSequence) -> setAccessibilityPaneTitle
+ 2847:2848:void setActivated(android.view.View,boolean) -> setActivated
+ 2118:2119:void setAlpha(android.view.View,float) -> setAlpha
+ 761:764:void setAutofillHints(android.view.View,java.lang.String[]) -> setAutofillHints
+ 2891:2896:void setBackground(android.view.View,android.graphics.drawable.Drawable) -> setBackground
+ 2921:2940:void setBackgroundTintList(android.view.View,android.content.res.ColorStateList) -> setBackgroundTintList
+ 2968:2987:void setBackgroundTintMode(android.view.View,android.graphics.PorterDuff$Mode) -> setBackgroundTintMode
+ 2446:2464:void setChildrenDrawingOrderEnabled(android.view.ViewGroup,boolean) -> setChildrenDrawingOrderEnabled
+ 3616:3619:void setClipBounds(android.view.View,android.graphics.Rect) -> setClipBounds
+ 2334:2337:void setElevation(android.view.View,float) -> setElevation
+ 2487:2488:void setFitsSystemWindows(android.view.View,boolean) -> setFitsSystemWindows
+ 3889:3892:void setFocusedByDefault(android.view.View,boolean) -> setFocusedByDefault
+ 1002:1005:void setHasTransientState(android.view.View,boolean) -> setHasTransientState
+ 1128:1140:void setImportantForAccessibility(android.view.View,int) -> setImportantForAccessibility
+ 826:829:void setImportantForAutofill(android.view.View,int) -> setImportantForAutofill
+ 3855:3858:void setKeyboardNavigationCluster(android.view.View,boolean) -> setKeyboardNavigationCluster
+ 1545:1548:void setLabelFor(android.view.View,int) -> setLabelFor
+ 1581:1590:void setLayerPaint(android.view.View,android.graphics.Paint) -> setLayerPaint
+ 1495:1496:void setLayerType(android.view.View,int,android.graphics.Paint) -> setLayerType
+ 1628:1631:void setLayoutDirection(android.view.View,int) -> setLayoutDirection
+ 3006:3013:void setNestedScrollingEnabled(android.view.View,boolean) -> setNestedScrollingEnabled
+ 3829:3832:void setNextClusterForwardId(android.view.View,int) -> setNextClusterForwardId
+ 2510:2513:void setOnApplyWindowInsetsListener(android.view.View,androidx.core.view.OnApplyWindowInsetsListener) -> setOnApplyWindowInsetsListener
+ 2724:2742:void setOnReceiveContentListener(android.view.View,java.lang.String[],androidx.core.view.OnReceiveContentListener) -> setOnReceiveContentListener
+ 590:591:void setOverScrollMode(android.view.View,int) -> setOverScrollMode
+ 1870:1875:void setPaddingRelative(android.view.View,int,int,int,int) -> setPaddingRelative
+ 2242:2243:void setPivotX(android.view.View,float) -> setPivotX
+ 2271:2272:void setPivotY(android.view.View,float) -> setPivotY
+ 3734:3738:void setPointerIcon(android.view.View,androidx.core.view.PointerIconCompat) -> setPointerIcon
+ 2161:2162:void setRotation(android.view.View,float) -> setRotation
+ 2175:2176:void setRotationX(android.view.View,float) -> setRotationX
+ 2189:2190:void setRotationY(android.view.View,float) -> setRotationY
+ 2831:2832:void setSaveFromParentEnabled(android.view.View,boolean) -> setSaveFromParentEnabled
+ 2202:2203:void setScaleX(android.view.View,float) -> setScaleX
+ 2215:2216:void setScaleY(android.view.View,float) -> setScaleY
+ 4140:4141:void setScreenReaderFocusable(android.view.View,boolean) -> setScreenReaderFocusable
+ 3671:3674:void setScrollIndicators(android.view.View,int) -> setScrollIndicators
+ 3705:3708:void setScrollIndicators(android.view.View,int,int) -> setScrollIndicators
+ 1374:1377:void setStateDescription(android.view.View,java.lang.CharSequence) -> setStateDescription
+ 2584:2587:void setSystemGestureExclusionRects(android.view.View,java.util.List) -> setSystemGestureExclusionRects
+ 3773:3776:void setTooltipText(android.view.View,java.lang.CharSequence) -> setTooltipText
+ 2380:2388:void setTransitionName(android.view.View,java.lang.String) -> setTransitionName
+ 2084:2085:void setTranslationX(android.view.View,float) -> setTranslationX
+ 2101:2102:void setTranslationY(android.view.View,float) -> setTranslationY
+ 2355:2358:void setTranslationZ(android.view.View,float) -> setTranslationZ
+ 4449:4465:void setViewImportanceForAccessibilityIfNeeded(android.view.View) -> setViewImportanceForAccessibilityIfNeeded
+ 2690:2691:void setWindowInsetsAnimationCallback(android.view.View,androidx.core.view.WindowInsetsAnimationCompat$Callback) -> setWindowInsetsAnimationCallback
+ 2133:2134:void setX(android.view.View,float) -> setX
+ 2148:2149:void setY(android.view.View,float) -> setY
+ 3497:3500:void setZ(android.view.View,float) -> setZ
+ 3783:3784:boolean startDragAndDrop(android.view.View,android.content.ClipData,android.view.View$DragShadowBuilder,java.lang.Object,int) -> startDragAndDrop
+ 3051:3052:boolean startNestedScroll(android.view.View,int) -> startNestedScroll
+ 3198:3203:boolean startNestedScroll(android.view.View,int,int) -> startNestedScroll
+ 4259:4259:androidx.core.view.ViewCompat$AccessibilityViewProperty stateDescriptionProperty() -> stateDescriptionProperty
+ 3070:3075:void stopNestedScroll(android.view.View) -> stopNestedScroll
+ 3215:3220:void stopNestedScroll(android.view.View,int) -> stopNestedScroll
+ 3599:3602:void tickleInvalidationFlag(android.view.View) -> tickleInvalidationFlag
+ 3803:3806:void updateDragShadow(android.view.View,android.view.View$DragShadowBuilder) -> updateDragShadow
+androidx.core.view.ViewCompat$1 -> androidx.core.view.ViewCompat$1:
+ 2813:2813:void <init>() -> <init>
+ 2816:2816:androidx.core.view.ContentInfoCompat onReceiveContent(androidx.core.view.ContentInfoCompat) -> onReceiveContent
+androidx.core.view.ViewCompat$2 -> androidx.core.view.ViewCompat$2:
+ 4165:4165:void <init>(int,java.lang.Class,int) -> <init>
+ 4165:4165:java.lang.Object frameworkGet(android.view.View) -> frameworkGet
+ 4170:4170:java.lang.Boolean frameworkGet(android.view.View) -> frameworkGet
+ 4165:4165:void frameworkSet(android.view.View,java.lang.Object) -> frameworkSet
+ 4176:4177:void frameworkSet(android.view.View,java.lang.Boolean) -> frameworkSet
+ 4165:4165:boolean shouldUpdate(java.lang.Object,java.lang.Object) -> shouldUpdate
+ 4181:4181:boolean shouldUpdate(java.lang.Boolean,java.lang.Boolean) -> shouldUpdate
+androidx.core.view.ViewCompat$3 -> androidx.core.view.ViewCompat$3:
+ 4237:4237:void <init>(int,java.lang.Class,int,int) -> <init>
+ 4237:4237:java.lang.Object frameworkGet(android.view.View) -> frameworkGet
+ 4242:4242:java.lang.CharSequence frameworkGet(android.view.View) -> frameworkGet
+ 4237:4237:void frameworkSet(android.view.View,java.lang.Object) -> frameworkSet
+ 4248:4249:void frameworkSet(android.view.View,java.lang.CharSequence) -> frameworkSet
+ 4237:4237:boolean shouldUpdate(java.lang.Object,java.lang.Object) -> shouldUpdate
+ 4253:4253:boolean shouldUpdate(java.lang.CharSequence,java.lang.CharSequence) -> shouldUpdate
+androidx.core.view.ViewCompat$4 -> androidx.core.view.ViewCompat$4:
+ 4260:4260:void <init>(int,java.lang.Class,int,int) -> <init>
+ 4260:4260:java.lang.Object frameworkGet(android.view.View) -> frameworkGet
+ 4265:4265:java.lang.CharSequence frameworkGet(android.view.View) -> frameworkGet
+ 4260:4260:void frameworkSet(android.view.View,java.lang.Object) -> frameworkSet
+ 4271:4272:void frameworkSet(android.view.View,java.lang.CharSequence) -> frameworkSet
+ 4260:4260:boolean shouldUpdate(java.lang.Object,java.lang.Object) -> shouldUpdate
+ 4276:4276:boolean shouldUpdate(java.lang.CharSequence,java.lang.CharSequence) -> shouldUpdate
+androidx.core.view.ViewCompat$5 -> androidx.core.view.ViewCompat$5:
+ 4317:4317:void <init>(int,java.lang.Class,int) -> <init>
+ 4317:4317:java.lang.Object frameworkGet(android.view.View) -> frameworkGet
+ 4322:4322:java.lang.Boolean frameworkGet(android.view.View) -> frameworkGet
+ 4317:4317:void frameworkSet(android.view.View,java.lang.Object) -> frameworkSet
+ 4328:4329:void frameworkSet(android.view.View,java.lang.Boolean) -> frameworkSet
+ 4317:4317:boolean shouldUpdate(java.lang.Object,java.lang.Object) -> shouldUpdate
+ 4333:4333:boolean shouldUpdate(java.lang.Boolean,java.lang.Boolean) -> shouldUpdate
+androidx.core.view.ViewCompat$AccessibilityPaneVisibilityManager -> androidx.core.view.ViewCompat$AccessibilityPaneVisibilityManager:
+ 4470:4472:void <init>() -> <init>
+ 4498:4503:void addAccessibilityPane(android.view.View) -> addAccessibilityPane
+ 4514:4522:void checkPaneVisibility(android.view.View,boolean) -> checkPaneVisibility
+ 4477:4482:void onGlobalLayout() -> onGlobalLayout
+ 4488:4489:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 4494:4494:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+ 4526:4527:void registerForLayoutCallback(android.view.View) -> registerForLayoutCallback
+ 4507:4510:void removeAccessibilityPane(android.view.View) -> removeAccessibilityPane
+ 4531:4532:void unregisterForLayoutCallback(android.view.View) -> unregisterForLayoutCallback
+androidx.core.view.ViewCompat$AccessibilityViewProperty -> androidx.core.view.ViewCompat$AccessibilityViewProperty:
+ 4346:4348:void <init>(int,java.lang.Class,int) -> <init>
+ 4351:4357:void <init>(int,java.lang.Class,int,int) -> <init>
+ 4400:4402:boolean booleanNullToFalseEquals(java.lang.Boolean,java.lang.Boolean) -> booleanNullToFalseEquals
+ 4389:4389:boolean extrasAvailable() -> extrasAvailable
+ 4385:4385:boolean frameworkAvailable() -> frameworkAvailable
+ 4374:4382:java.lang.Object get(android.view.View) -> get
+ 4360:4370:void set(android.view.View,java.lang.Object) -> set
+ 4393:4393:boolean shouldUpdate(java.lang.Object,java.lang.Object) -> shouldUpdate
+androidx.core.view.ViewCompat$Api21Impl -> androidx.core.view.ViewCompat$Api21Impl:
+ 4722:4724:void <init>() -> <init>
+ 4806:4812:void callCompatInsetAnimationCallback(android.view.WindowInsets,android.view.View) -> callCompatInsetAnimationCallback
+ 4733:4739:androidx.core.view.WindowInsetsCompat computeSystemWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat,android.graphics.Rect) -> computeSystemWindowInsets
+ 4728:4728:androidx.core.view.WindowInsetsCompat getRootWindowInsets(android.view.View) -> getRootWindowInsets
+ 4747:4796:void setOnApplyWindowInsetsListener(android.view.View,androidx.core.view.OnApplyWindowInsetsListener) -> setOnApplyWindowInsetsListener
+androidx.core.view.ViewCompat$Api21Impl$1 -> androidx.core.view.ViewCompat$Api21Impl$1:
+ 4761:4762:void <init>(android.view.View,androidx.core.view.OnApplyWindowInsetsListener) -> <init>
+ 4767:4793:android.view.WindowInsets onApplyWindowInsets(android.view.View,android.view.WindowInsets) -> onApplyWindowInsets
+androidx.core.view.ViewCompat$Api23Impl -> androidx.core.view.ViewCompat$Api23Impl:
+ 4817:4819:void <init>() -> <init>
+ 4823:4831:androidx.core.view.WindowInsetsCompat getRootWindowInsets(android.view.View) -> getRootWindowInsets
+androidx.core.view.ViewCompat$Api29Impl -> androidx.core.view.ViewCompat$Api29Impl:
+ 4837:4839:void <init>() -> <init>
+ 4844:4846:void saveAttributeDataForStyleable(android.view.View,android.content.Context,int[],android.util.AttributeSet,android.content.res.TypedArray,int,int) -> saveAttributeDataForStyleable
+androidx.core.view.ViewCompat$Api30Impl -> androidx.core.view.ViewCompat$Api30Impl:
+ 4851:4853:void <init>() -> <init>
+ 4857:4860:androidx.core.view.WindowInsetsControllerCompat getWindowInsetsController(android.view.View) -> getWindowInsetsController
+androidx.core.view.ViewCompat$CompatImplApi28 -> androidx.core.view.ViewCompat$CompatImplApi28:
+ 3988:3989:void <init>() -> <init>
+ 3995:4012:void addOnUnhandledKeyEventListener(android.view.View,androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerCompat) -> addOnUnhandledKeyEventListener
+ 4018:4028:void removeOnUnhandledKeyEventListener(android.view.View,androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerCompat) -> removeOnUnhandledKeyEventListener
+androidx.core.view.ViewCompat$CompatImplApi28$1 -> androidx.core.view.ViewCompat$CompatImplApi28$1:
+ 4003:4003:void <init>(androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerCompat) -> <init>
+ 4006:4006:boolean onUnhandledKeyEvent(android.view.View,android.view.KeyEvent) -> onUnhandledKeyEvent
+androidx.core.view.ViewCompat$UnhandledKeyEventManager -> androidx.core.view.ViewCompat$UnhandledKeyEventManager:
+ 4539:4539:void <clinit>() -> <clinit>
+ 4535:4554:void <init>() -> <init>
+ 4564:4570:androidx.core.view.ViewCompat$UnhandledKeyEventManager at(android.view.View) -> at
+ 4574:4588:boolean dispatch(android.view.View,android.view.KeyEvent) -> dispatch
+ 4593:4610:android.view.View dispatchInOrder(android.view.View,android.view.KeyEvent) -> dispatchInOrder
+ 4557:4560:android.util.SparseArray getCapturedKeys() -> getCapturedKeys
+ 4652:4662:boolean onUnhandledKeyEvent(android.view.View,android.view.KeyEvent) -> onUnhandledKeyEvent
+ 4619:4647:boolean preDispatch(android.view.KeyEvent) -> preDispatch
+ 4692:4717:void recalcViewsWithUnhandled() -> recalcViewsWithUnhandled
+ 4670:4678:void registerListeningView(android.view.View) -> registerListeningView
+ 4681:4689:void unregisterListeningView(android.view.View) -> unregisterListeningView
+androidx.core.view.ViewConfigurationCompat -> androidx.core.view.ViewConfigurationCompat:
+ 39:47:void <clinit>() -> <clinit>
+ 150:150:void <init>() -> <init>
+ 106:119:float getLegacyScrollFactor(android.view.ViewConfiguration,android.content.Context) -> getLegacyScrollFactor
+ 81:84:float getScaledHorizontalScrollFactor(android.view.ViewConfiguration,android.content.Context) -> getScaledHorizontalScrollFactor
+ 128:131:int getScaledHoverSlop(android.view.ViewConfiguration) -> getScaledHoverSlop
+ 57:57:int getScaledPagingTouchSlop(android.view.ViewConfiguration) -> getScaledPagingTouchSlop
+ 98:101:float getScaledVerticalScrollFactor(android.view.ViewConfiguration,android.content.Context) -> getScaledVerticalScrollFactor
+ 68:68:boolean hasPermanentMenuKey(android.view.ViewConfiguration) -> hasPermanentMenuKey
+ 141:147:boolean shouldShowMenuShortcutsWhenKeyboardPresent(android.view.ViewConfiguration,android.content.Context) -> shouldShowMenuShortcutsWhenKeyboardPresent
+androidx.core.view.ViewGroupCompat -> androidx.core.view.ViewGroupCompat:
+ 52:52:void <init>() -> <init>
+ 114:115:int getLayoutMode(android.view.ViewGroup) -> getLayoutMode
+ 181:182:int getNestedScrollAxes(android.view.ViewGroup) -> getNestedScrollAxes
+ 157:158:boolean isTransitionGroup(android.view.ViewGroup) -> isTransitionGroup
+ 75:75:boolean onRequestSendAccessibilityEvent(android.view.ViewGroup,android.view.View,android.view.accessibility.AccessibilityEvent) -> onRequestSendAccessibilityEvent
+ 130:133:void setLayoutMode(android.view.ViewGroup,int) -> setLayoutMode
+ 98:99:void setMotionEventSplittingEnabled(android.view.ViewGroup,boolean) -> setMotionEventSplittingEnabled
+ 144:149:void setTransitionGroup(android.view.ViewGroup,boolean) -> setTransitionGroup
+androidx.core.view.ViewParentCompat -> androidx.core.view.ViewParentCompat:
+ 41:41:void <init>() -> <init>
+ 498:504:int[] getTempNestedScrollConsumed() -> getTempNestedScrollConsumed
+ 492:495:void notifySubtreeAccessibilityStateChanged(android.view.ViewParent,android.view.View,android.view.View,int) -> notifySubtreeAccessibilityStateChanged
+ 424:435:boolean onNestedFling(android.view.ViewParent,android.view.View,float,float,boolean) -> onNestedFling
+ 461:472:boolean onNestedPreFling(android.view.ViewParent,android.view.View,float,float) -> onNestedPreFling
+ 178:179:void onNestedPreScroll(android.view.ViewParent,android.view.View,int,int,int[]) -> onNestedPreScroll
+ 384:400:void onNestedPreScroll(android.view.ViewParent,android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 132:134:void onNestedScroll(android.view.ViewParent,android.view.View,int,int,int,int) -> onNestedScroll
+ 160:162:void onNestedScroll(android.view.ViewParent,android.view.View,int,int,int,int,int) -> onNestedScroll
+ 329:358:void onNestedScroll(android.view.ViewParent,android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 102:103:void onNestedScrollAccepted(android.view.ViewParent,android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 248:266:void onNestedScrollAccepted(android.view.ViewParent,android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 85:85:boolean onStartNestedScroll(android.view.ViewParent,android.view.View,android.view.View,int) -> onStartNestedScroll
+ 207:225:boolean onStartNestedScroll(android.view.ViewParent,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 114:115:void onStopNestedScroll(android.view.ViewParent,android.view.View) -> onStopNestedScroll
+ 282:298:void onStopNestedScroll(android.view.ViewParent,android.view.View,int) -> onStopNestedScroll
+ 66:66:boolean requestSendAccessibilityEvent(android.view.ViewParent,android.view.View,android.view.accessibility.AccessibilityEvent) -> requestSendAccessibilityEvent
+androidx.core.view.ViewPropertyAnimatorCompat -> androidx.core.view.ViewPropertyAnimatorCompat:
+ 30:39:void <init>(android.view.View) -> <init>
+ 138:141:androidx.core.view.ViewPropertyAnimatorCompat alpha(float) -> alpha
+ 153:156:androidx.core.view.ViewPropertyAnimatorCompat alphaBy(float) -> alphaBy
+ 464:467:void cancel() -> cancel
+ 237:240:long getDuration() -> getDuration
+ 267:272:android.view.animation.Interpolator getInterpolator() -> getInterpolator
+ 302:305:long getStartDelay() -> getStartDelay
+ 318:321:androidx.core.view.ViewPropertyAnimatorCompat rotation(float) -> rotation
+ 333:336:androidx.core.view.ViewPropertyAnimatorCompat rotationBy(float) -> rotationBy
+ 348:351:androidx.core.view.ViewPropertyAnimatorCompat rotationX(float) -> rotationX
+ 363:366:androidx.core.view.ViewPropertyAnimatorCompat rotationXBy(float) -> rotationXBy
+ 378:381:androidx.core.view.ViewPropertyAnimatorCompat rotationY(float) -> rotationY
+ 393:396:androidx.core.view.ViewPropertyAnimatorCompat rotationYBy(float) -> rotationYBy
+ 408:411:androidx.core.view.ViewPropertyAnimatorCompat scaleX(float) -> scaleX
+ 423:426:androidx.core.view.ViewPropertyAnimatorCompat scaleXBy(float) -> scaleXBy
+ 438:441:androidx.core.view.ViewPropertyAnimatorCompat scaleY(float) -> scaleY
+ 453:456:androidx.core.view.ViewPropertyAnimatorCompat scaleYBy(float) -> scaleYBy
+ 123:126:androidx.core.view.ViewPropertyAnimatorCompat setDuration(long) -> setDuration
+ 254:257:androidx.core.view.ViewPropertyAnimatorCompat setInterpolator(android.view.animation.Interpolator) -> setInterpolator
+ 729:737:androidx.core.view.ViewPropertyAnimatorCompat setListener(androidx.core.view.ViewPropertyAnimatorListener) -> setListener
+ 741:761:void setListenerInternal(android.view.View,androidx.core.view.ViewPropertyAnimatorListener) -> setListenerInternal
+ 286:289:androidx.core.view.ViewPropertyAnimatorCompat setStartDelay(long) -> setStartDelay
+ 776:790:androidx.core.view.ViewPropertyAnimatorCompat setUpdateListener(androidx.core.view.ViewPropertyAnimatorUpdateListener) -> setUpdateListener
+ 644:647:void start() -> start
+ 168:171:androidx.core.view.ViewPropertyAnimatorCompat translationX(float) -> translationX
+ 538:541:androidx.core.view.ViewPropertyAnimatorCompat translationXBy(float) -> translationXBy
+ 183:186:androidx.core.view.ViewPropertyAnimatorCompat translationY(float) -> translationY
+ 553:556:androidx.core.view.ViewPropertyAnimatorCompat translationYBy(float) -> translationYBy
+ 589:594:androidx.core.view.ViewPropertyAnimatorCompat translationZ(float) -> translationZ
+ 570:575:androidx.core.view.ViewPropertyAnimatorCompat translationZBy(float) -> translationZBy
+ 216:224:androidx.core.view.ViewPropertyAnimatorCompat withEndAction(java.lang.Runnable) -> withEndAction
+ 680:688:androidx.core.view.ViewPropertyAnimatorCompat withLayer() -> withLayer
+ 708:716:androidx.core.view.ViewPropertyAnimatorCompat withStartAction(java.lang.Runnable) -> withStartAction
+ 478:481:androidx.core.view.ViewPropertyAnimatorCompat x(float) -> x
+ 493:496:androidx.core.view.ViewPropertyAnimatorCompat xBy(float) -> xBy
+ 508:511:androidx.core.view.ViewPropertyAnimatorCompat y(float) -> y
+ 523:526:androidx.core.view.ViewPropertyAnimatorCompat yBy(float) -> yBy
+ 608:613:androidx.core.view.ViewPropertyAnimatorCompat z(float) -> z
+ 627:632:androidx.core.view.ViewPropertyAnimatorCompat zBy(float) -> zBy
+androidx.core.view.ViewPropertyAnimatorCompat$1 -> androidx.core.view.ViewPropertyAnimatorCompat$1:
+ 742:742:void <init>(androidx.core.view.ViewPropertyAnimatorCompat,androidx.core.view.ViewPropertyAnimatorListener,android.view.View) -> <init>
+ 745:746:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 750:751:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 755:756:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+androidx.core.view.ViewPropertyAnimatorCompat$2 -> androidx.core.view.ViewPropertyAnimatorCompat$2:
+ 780:780:void <init>(androidx.core.view.ViewPropertyAnimatorCompat,androidx.core.view.ViewPropertyAnimatorUpdateListener,android.view.View) -> <init>
+ 783:784:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+androidx.core.view.ViewPropertyAnimatorCompat$ViewPropertyAnimatorListenerApi14 -> androidx.core.view.ViewPropertyAnimatorCompat$ViewPropertyAnimatorListenerApi14:
+ 45:47:void <init>(androidx.core.view.ViewPropertyAnimatorCompat) -> <init>
+ 101:109:void onAnimationCancel(android.view.View) -> onAnimationCancel
+ 75:97:void onAnimationEnd(android.view.View) -> onAnimationEnd
+ 52:70:void onAnimationStart(android.view.View) -> onAnimationStart
+androidx.core.view.ViewPropertyAnimatorListenerAdapter -> androidx.core.view.ViewPropertyAnimatorListenerAdapter:
+ 27:27:void <init>() -> <init>
+ 48:48:void onAnimationCancel(android.view.View) -> onAnimationCancel
+ 41:41:void onAnimationEnd(android.view.View) -> onAnimationEnd
+ 34:34:void onAnimationStart(android.view.View) -> onAnimationStart
+androidx.core.view.WindowCompat -> androidx.core.view.WindowCompat:
+ 68:68:void <init>() -> <init>
+ 135:138:androidx.core.view.WindowInsetsControllerCompat getInsetsController(android.view.Window,android.view.View) -> getInsetsController
+ 88:96:android.view.View requireViewById(android.view.Window,int) -> requireViewById
+ 117:122:void setDecorFitsSystemWindows(android.view.Window,boolean) -> setDecorFitsSystemWindows
+androidx.core.view.WindowCompat$Impl16 -> androidx.core.view.WindowCompat$Impl16:
+ 143:143:void <init>() -> <init>
+ 146:155:void setDecorFitsSystemWindows(android.view.Window,boolean) -> setDecorFitsSystemWindows
+androidx.core.view.WindowCompat$Impl30 -> androidx.core.view.WindowCompat$Impl30:
+ 159:159:void <init>() -> <init>
+ 166:171:androidx.core.view.WindowInsetsControllerCompat getInsetsController(android.view.Window) -> getInsetsController
+ 162:163:void setDecorFitsSystemWindows(android.view.Window,boolean) -> setDecorFitsSystemWindows
+androidx.core.view.WindowInsetsAnimationCompat -> androidx.core.view.WindowInsetsAnimationCompat:
+ 74:82:void <init>(int,android.view.animation.Interpolator,long) -> <init>
+ 86:90:void <init>(android.view.WindowInsetsAnimation) -> <init>
+ 194:194:float getAlpha() -> getAlpha
+ 168:168:long getDurationMillis() -> getDurationMillis
+ 121:121:float getFraction() -> getFraction
+ 148:148:float getInterpolatedFraction() -> getInterpolatedFraction
+ 160:160:android.view.animation.Interpolator getInterpolator() -> getInterpolator
+ 97:97:int getTypeMask() -> getTypeMask
+ 209:210:void setAlpha(float) -> setAlpha
+ 524:530:void setCallback(android.view.View,androidx.core.view.WindowInsetsAnimationCompat$Callback) -> setCallback
+ 184:185:void setFraction(float) -> setFraction
+ 329:329:androidx.core.view.WindowInsetsAnimationCompat toWindowInsetsAnimationCompat(android.view.WindowInsetsAnimation) -> toWindowInsetsAnimationCompat
+androidx.core.view.WindowInsetsAnimationCompat$BoundsCompat -> androidx.core.view.WindowInsetsAnimationCompat$BoundsCompat:
+ 220:223:void <init>(androidx.core.graphics.Insets,androidx.core.graphics.Insets) -> <init>
+ 226:229:void <init>(android.view.WindowInsetsAnimation$Bounds) -> <init>
+ 252:252:androidx.core.graphics.Insets getLowerBound() -> getLowerBound
+ 276:276:androidx.core.graphics.Insets getUpperBound() -> getUpperBound
+ 292:297:androidx.core.view.WindowInsetsAnimationCompat$BoundsCompat inset(androidx.core.graphics.Insets) -> inset
+ 312:312:android.view.WindowInsetsAnimation$Bounds toBounds() -> toBounds
+ 322:322:androidx.core.view.WindowInsetsAnimationCompat$BoundsCompat toBoundsCompat(android.view.WindowInsetsAnimation$Bounds) -> toBoundsCompat
+ 303:303:java.lang.String toString() -> toString
+androidx.core.view.WindowInsetsAnimationCompat$Callback -> androidx.core.view.WindowInsetsAnimationCompat$Callback:
+ 371:373:void <init>(int) -> <init>
+ 396:396:int getDispatchMode() -> getDispatchMode
+ 520:520:void onEnd(androidx.core.view.WindowInsetsAnimationCompat) -> onEnd
+ 441:441:void onPrepare(androidx.core.view.WindowInsetsAnimationCompat) -> onPrepare
+ 488:488:androidx.core.view.WindowInsetsAnimationCompat$BoundsCompat onStart(androidx.core.view.WindowInsetsAnimationCompat,androidx.core.view.WindowInsetsAnimationCompat$BoundsCompat) -> onStart
+androidx.core.view.WindowInsetsAnimationCompat$Impl -> androidx.core.view.WindowInsetsAnimationCompat$Impl:
+ 541:545:void <init>(int,android.view.animation.Interpolator,long) -> <init>
+ 572:572:float getAlpha() -> getAlpha
+ 568:568:long getDurationMillis() -> getDurationMillis
+ 552:552:float getFraction() -> getFraction
+ 556:559:float getInterpolatedFraction() -> getInterpolatedFraction
+ 564:564:android.view.animation.Interpolator getInterpolator() -> getInterpolator
+ 548:548:int getTypeMask() -> getTypeMask
+ 580:581:void setAlpha(float) -> setAlpha
+ 576:577:void setFraction(float) -> setFraction
+androidx.core.view.WindowInsetsAnimationCompat$Impl21 -> androidx.core.view.WindowInsetsAnimationCompat$Impl21:
+ 589:590:void <init>(int,android.view.animation.Interpolator,long) -> <init>
+ 648:655:int buildAnimationMask(androidx.core.view.WindowInsetsCompat,androidx.core.view.WindowInsetsCompat) -> buildAnimationMask
+ 628:642:androidx.core.view.WindowInsetsAnimationCompat$BoundsCompat computeAnimationBounds(androidx.core.view.WindowInsetsCompat,androidx.core.view.WindowInsetsCompat,int) -> computeAnimationBounds
+ 621:621:android.view.View$OnApplyWindowInsetsListener createProxyListener(android.view.View,androidx.core.view.WindowInsetsAnimationCompat$Callback) -> createProxyListener
+ 888:902:void dispatchOnEnd(android.view.View,androidx.core.view.WindowInsetsAnimationCompat) -> dispatchOnEnd
+ 827:845:void dispatchOnPrepare(android.view.View,androidx.core.view.WindowInsetsAnimationCompat,android.view.WindowInsets,boolean) -> dispatchOnPrepare
+ 869:884:void dispatchOnProgress(android.view.View,androidx.core.view.WindowInsetsCompat,java.util.List) -> dispatchOnProgress
+ 850:864:void dispatchOnStart(android.view.View,androidx.core.view.WindowInsetsAnimationCompat,androidx.core.view.WindowInsetsAnimationCompat$BoundsCompat) -> dispatchOnStart
+ 819:822:android.view.WindowInsets forwardToViewIfNeeded(android.view.View,android.view.WindowInsets) -> forwardToViewIfNeeded
+ 906:912:androidx.core.view.WindowInsetsAnimationCompat$Callback getCallback(android.view.View) -> getCallback
+ 662:682:androidx.core.view.WindowInsetsCompat interpolateInsets(androidx.core.view.WindowInsetsCompat,androidx.core.view.WindowInsetsCompat,float,int) -> interpolateInsets
+ 595:616:void setCallback(android.view.View,androidx.core.view.WindowInsetsAnimationCompat$Callback) -> setCallback
+androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener -> androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener:
+ 699:707:void <init>(android.view.View,androidx.core.view.WindowInsetsAnimationCompat$Callback) -> <init>
+ 712:807:android.view.WindowInsets onApplyWindowInsets(android.view.View,android.view.WindowInsets) -> onApplyWindowInsets
+androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener$1 -> androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener$1:
+ 772:772:void <init>(androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener,androidx.core.view.WindowInsetsAnimationCompat,androidx.core.view.WindowInsetsCompat,androidx.core.view.WindowInsetsCompat,int,android.view.View) -> <init>
+ 775:783:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener$2 -> androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener$2:
+ 786:786:void <init>(androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener,androidx.core.view.WindowInsetsAnimationCompat,android.view.View) -> <init>
+ 790:792:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener$3 -> androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener$3:
+ 798:798:void <init>(androidx.core.view.WindowInsetsAnimationCompat$Impl21$Impl21OnApplyWindowInsetsListener,android.view.View,androidx.core.view.WindowInsetsAnimationCompat,androidx.core.view.WindowInsetsAnimationCompat$BoundsCompat,android.animation.ValueAnimator) -> <init>
+ 801:803:void run() -> run
+androidx.core.view.WindowInsetsAnimationCompat$Impl30 -> androidx.core.view.WindowInsetsAnimationCompat$Impl30:
+ 923:925:void <init>(android.view.WindowInsetsAnimation) -> <init>
+ 928:929:void <init>(int,android.view.animation.Interpolator,long) -> <init>
+ 1043:1044:android.view.WindowInsetsAnimation$Bounds createPlatformBounds(androidx.core.view.WindowInsetsAnimationCompat$BoundsCompat) -> createPlatformBounds
+ 944:944:long getDurationMillis() -> getDurationMillis
+ 949:949:float getFraction() -> getFraction
+ 1054:1054:androidx.core.graphics.Insets getHigherBounds(android.view.WindowInsetsAnimation$Bounds) -> getHigherBounds
+ 959:959:float getInterpolatedFraction() -> getInterpolatedFraction
+ 939:939:android.view.animation.Interpolator getInterpolator() -> getInterpolator
+ 1049:1049:androidx.core.graphics.Insets getLowerBounds(android.view.WindowInsetsAnimation$Bounds) -> getLowerBounds
+ 933:933:int getTypeMask() -> getTypeMask
+ 1036:1038:void setCallback(android.view.View,androidx.core.view.WindowInsetsAnimationCompat$Callback) -> setCallback
+ 954:955:void setFraction(float) -> setFraction
+androidx.core.view.WindowInsetsAnimationCompat$Impl30$ProxyCallback -> androidx.core.view.WindowInsetsAnimationCompat$Impl30$ProxyCallback:
+ 968:974:void <init>(androidx.core.view.WindowInsetsAnimationCompat$Callback) -> <init>
+ 980:986:androidx.core.view.WindowInsetsAnimationCompat getWindowInsetsAnimationCompat(android.view.WindowInsetsAnimation) -> getWindowInsetsAnimationCompat
+ 1029:1031:void onEnd(android.view.WindowInsetsAnimation) -> onEnd
+ 991:992:void onPrepare(android.view.WindowInsetsAnimation) -> onPrepare
+ 1008:1024:android.view.WindowInsets onProgress(android.view.WindowInsets,java.util.List) -> onProgress
+ 999:1001:android.view.WindowInsetsAnimation$Bounds onStart(android.view.WindowInsetsAnimation,android.view.WindowInsetsAnimation$Bounds) -> onStart
+androidx.core.view.WindowInsetsAnimationControllerCompat -> androidx.core.view.WindowInsetsAnimationControllerCompat:
+ 46:53:void <init>() -> <init>
+ 57:59:void <init>(android.view.WindowInsetsAnimationController) -> <init>
+ 199:200:void finish(boolean) -> finish
+ 134:134:float getCurrentAlpha() -> getCurrentAlpha
+ 125:125:float getCurrentFraction() -> getCurrentFraction
+ 110:110:androidx.core.graphics.Insets getCurrentInsets() -> getCurrentInsets
+ 76:76:androidx.core.graphics.Insets getHiddenStateInsets() -> getHiddenStateInsets
+ 95:95:androidx.core.graphics.Insets getShownStateInsets() -> getShownStateInsets
+ 142:142:int getTypes() -> getTypes
+ 235:235:boolean isCancelled() -> isCancelled
+ 223:223:boolean isFinished() -> isFinished
+ 213:213:boolean isReady() -> isReady
+ 184:185:void setInsetsAndAlpha(androidx.core.graphics.Insets,float,float) -> setInsetsAndAlpha
+androidx.core.view.WindowInsetsAnimationControllerCompat$Impl -> androidx.core.view.WindowInsetsAnimationControllerCompat$Impl:
+ 239:241:void <init>() -> <init>
+ 278:278:void finish(boolean) -> finish
+ 264:264:float getCurrentAlpha() -> getCurrentAlpha
+ 260:260:float getCurrentFraction() -> getCurrentFraction
+ 255:255:androidx.core.graphics.Insets getCurrentInsets() -> getCurrentInsets
+ 245:245:androidx.core.graphics.Insets getHiddenStateInsets() -> getHiddenStateInsets
+ 250:250:androidx.core.graphics.Insets getShownStateInsets() -> getShownStateInsets
+ 269:269:int getTypes() -> getTypes
+ 289:289:boolean isCancelled() -> isCancelled
+ 285:285:boolean isFinished() -> isFinished
+ 281:281:boolean isReady() -> isReady
+ 275:275:void setInsetsAndAlpha(androidx.core.graphics.Insets,float,float) -> setInsetsAndAlpha
+androidx.core.view.WindowInsetsAnimationControllerCompat$Impl30 -> androidx.core.view.WindowInsetsAnimationControllerCompat$Impl30:
+ 298:300:void <init>(android.view.WindowInsetsAnimationController) -> <init>
+ 345:346:void finish(boolean) -> finish
+ 327:327:float getCurrentAlpha() -> getCurrentAlpha
+ 322:322:float getCurrentFraction() -> getCurrentFraction
+ 317:317:androidx.core.graphics.Insets getCurrentInsets() -> getCurrentInsets
+ 305:305:androidx.core.graphics.Insets getHiddenStateInsets() -> getHiddenStateInsets
+ 311:311:androidx.core.graphics.Insets getShownStateInsets() -> getShownStateInsets
+ 332:332:int getTypes() -> getTypes
+ 360:360:boolean isCancelled() -> isCancelled
+ 355:355:boolean isFinished() -> isFinished
+ 350:350:boolean isReady() -> isReady
+ 337:341:void setInsetsAndAlpha(androidx.core.graphics.Insets,float,float) -> setInsetsAndAlpha
+androidx.core.view.WindowInsetsCompat -> androidx.core.view.WindowInsetsCompat:
+ 78:83:void <clinit>() -> <clinit>
+ 88:102:void <init>(android.view.WindowInsets) -> <init>
+ 109:131:void <init>(androidx.core.view.WindowInsetsCompat) -> <init>
+ 506:506:androidx.core.view.WindowInsetsCompat consumeDisplayCutout() -> consumeDisplayCutout
+ 477:477:androidx.core.view.WindowInsetsCompat consumeStableInsets() -> consumeStableInsets
+ 319:319:androidx.core.view.WindowInsetsCompat consumeSystemWindowInsets() -> consumeSystemWindowInsets
+ 2104:2105:void copyRootViewBounds(android.view.View) -> copyRootViewBounds
+ 718:725:boolean equals(java.lang.Object) -> equals
+ 490:490:androidx.core.view.DisplayCutoutCompat getDisplayCutout() -> getDisplayCutout
+ 668:668:androidx.core.graphics.Insets getInsets(int) -> getInsets
+ 696:696:androidx.core.graphics.Insets getInsetsIgnoringVisibility(int) -> getInsetsIgnoringVisibility
+ 566:566:androidx.core.graphics.Insets getMandatorySystemGestureInsets() -> getMandatorySystemGestureInsets
+ 441:441:int getStableInsetBottom() -> getStableInsetBottom
+ 401:401:int getStableInsetLeft() -> getStableInsetLeft
+ 421:421:int getStableInsetRight() -> getStableInsetRight
+ 381:381:int getStableInsetTop() -> getStableInsetTop
+ 549:549:androidx.core.graphics.Insets getStableInsets() -> getStableInsets
+ 606:606:androidx.core.graphics.Insets getSystemGestureInsets() -> getSystemGestureInsets
+ 239:239:int getSystemWindowInsetBottom() -> getSystemWindowInsetBottom
+ 191:191:int getSystemWindowInsetLeft() -> getSystemWindowInsetLeft
+ 223:223:int getSystemWindowInsetRight() -> getSystemWindowInsetRight
+ 207:207:int getSystemWindowInsetTop() -> getSystemWindowInsetTop
+ 526:526:androidx.core.graphics.Insets getSystemWindowInsets() -> getSystemWindowInsets
+ 585:585:androidx.core.graphics.Insets getTappableElementInsets() -> getTappableElementInsets
+ 267:269:boolean hasInsets() -> hasInsets
+ 461:461:boolean hasStableInsets() -> hasStableInsets
+ 256:256:boolean hasSystemWindowInsets() -> hasSystemWindowInsets
+ 730:730:int hashCode() -> hashCode
+ 626:626:androidx.core.view.WindowInsetsCompat inset(androidx.core.graphics.Insets) -> inset
+ 651:651:androidx.core.view.WindowInsetsCompat inset(int,int,int,int) -> inset
+ 1334:1341:androidx.core.graphics.Insets insetInsets(androidx.core.graphics.Insets,int,int,int,int) -> insetInsets
+ 286:286:boolean isConsumed() -> isConsumed
+ 302:302:boolean isRound() -> isRound
+ 713:713:boolean isVisible(int) -> isVisible
+ 340:342:androidx.core.view.WindowInsetsCompat replaceSystemWindowInsets(int,int,int,int) -> replaceSystemWindowInsets
+ 360:362:androidx.core.view.WindowInsetsCompat replaceSystemWindowInsets(android.graphics.Rect) -> replaceSystemWindowInsets
+ 1699:1700:void setOverriddenInsets(androidx.core.graphics.Insets[]) -> setOverriddenInsets
+ 2100:2101:void setRootViewData(androidx.core.graphics.Insets) -> setRootViewData
+ 2096:2097:void setRootWindowInsets(androidx.core.view.WindowInsetsCompat) -> setRootWindowInsets
+ 1796:1797:void setStableInsets(androidx.core.graphics.Insets) -> setStableInsets
+ 741:741:android.view.WindowInsets toWindowInsets() -> toWindowInsets
+ 148:148:androidx.core.view.WindowInsetsCompat toWindowInsetsCompat(android.view.WindowInsets) -> toWindowInsetsCompat
+ 168:175:androidx.core.view.WindowInsetsCompat toWindowInsetsCompat(android.view.WindowInsets,android.view.View) -> toWindowInsetsCompat
+androidx.core.view.WindowInsetsCompat$Api21ReflectionHolder -> androidx.core.view.WindowInsetsCompat$Api21ReflectionHolder:
+ 2121:2132:void <clinit>() -> <clinit>
+ 2110:2112:void <init>() -> <init>
+ 2137:2163:androidx.core.view.WindowInsetsCompat getRootWindowInsets(android.view.View) -> getRootWindowInsets
+androidx.core.view.WindowInsetsCompat$Builder -> androidx.core.view.WindowInsetsCompat$Builder:
+ 1396:1406:void <init>() -> <init>
+ 1413:1423:void <init>(androidx.core.view.WindowInsetsCompat) -> <init>
+ 1610:1610:androidx.core.view.WindowInsetsCompat build() -> build
+ 1599:1600:androidx.core.view.WindowInsetsCompat$Builder setDisplayCutout(androidx.core.view.DisplayCutoutCompat) -> setDisplayCutout
+ 1521:1522:androidx.core.view.WindowInsetsCompat$Builder setInsets(int,androidx.core.graphics.Insets) -> setInsets
+ 1547:1548:androidx.core.view.WindowInsetsCompat$Builder setInsetsIgnoringVisibility(int,androidx.core.graphics.Insets) -> setInsetsIgnoringVisibility
+ 1484:1485:androidx.core.view.WindowInsetsCompat$Builder setMandatorySystemGestureInsets(androidx.core.graphics.Insets) -> setMandatorySystemGestureInsets
+ 1584:1585:androidx.core.view.WindowInsetsCompat$Builder setStableInsets(androidx.core.graphics.Insets) -> setStableInsets
+ 1459:1460:androidx.core.view.WindowInsetsCompat$Builder setSystemGestureInsets(androidx.core.graphics.Insets) -> setSystemGestureInsets
+ 1439:1440:androidx.core.view.WindowInsetsCompat$Builder setSystemWindowInsets(androidx.core.graphics.Insets) -> setSystemWindowInsets
+ 1503:1504:androidx.core.view.WindowInsetsCompat$Builder setTappableElementInsets(androidx.core.graphics.Insets) -> setTappableElementInsets
+ 1561:1562:androidx.core.view.WindowInsetsCompat$Builder setVisible(int,boolean) -> setVisible
+androidx.core.view.WindowInsetsCompat$BuilderImpl -> androidx.core.view.WindowInsetsCompat$BuilderImpl:
+ 1620:1621:void <init>() -> <init>
+ 1623:1625:void <init>(androidx.core.view.WindowInsetsCompat) -> <init>
+ 1669:1689:void applyInsetTypes() -> applyInsetTypes
+ 1693:1694:androidx.core.view.WindowInsetsCompat build() -> build
+ 1637:1637:void setDisplayCutout(androidx.core.view.DisplayCutoutCompat) -> setDisplayCutout
+ 1641:1650:void setInsets(int,androidx.core.graphics.Insets) -> setInsets
+ 1653:1659:void setInsetsIgnoringVisibility(int,androidx.core.graphics.Insets) -> setInsetsIgnoringVisibility
+ 1631:1631:void setMandatorySystemGestureInsets(androidx.core.graphics.Insets) -> setMandatorySystemGestureInsets
+ 1635:1635:void setStableInsets(androidx.core.graphics.Insets) -> setStableInsets
+ 1629:1629:void setSystemGestureInsets(androidx.core.graphics.Insets) -> setSystemGestureInsets
+ 1627:1627:void setSystemWindowInsets(androidx.core.graphics.Insets) -> setSystemWindowInsets
+ 1633:1633:void setTappableElementInsets(androidx.core.graphics.Insets) -> setTappableElementInsets
+ 1661:1661:void setVisible(int,boolean) -> setVisible
+androidx.core.view.WindowInsetsCompat$BuilderImpl20 -> androidx.core.view.WindowInsetsCompat$BuilderImpl20:
+ 1705:1708:void <clinit>() -> <clinit>
+ 1713:1715:void <init>() -> <init>
+ 1717:1719:void <init>(androidx.core.view.WindowInsetsCompat) -> <init>
+ 1737:1742:androidx.core.view.WindowInsetsCompat build() -> build
+ 1753:1791:android.view.WindowInsets createWindowInsetsInstance() -> createWindowInsetsInstance
+ 1731:1732:void setStableInsets(androidx.core.graphics.Insets) -> setStableInsets
+ 1723:1727:void setSystemWindowInsets(androidx.core.graphics.Insets) -> setSystemWindowInsets
+androidx.core.view.WindowInsetsCompat$BuilderImpl29 -> androidx.core.view.WindowInsetsCompat$BuilderImpl29:
+ 1803:1805:void <init>() -> <init>
+ 1807:1812:void <init>(androidx.core.view.WindowInsetsCompat) -> <init>
+ 1847:1851:androidx.core.view.WindowInsetsCompat build() -> build
+ 1841:1842:void setDisplayCutout(androidx.core.view.DisplayCutoutCompat) -> setDisplayCutout
+ 1826:1827:void setMandatorySystemGestureInsets(androidx.core.graphics.Insets) -> setMandatorySystemGestureInsets
+ 1836:1837:void setStableInsets(androidx.core.graphics.Insets) -> setStableInsets
+ 1821:1822:void setSystemGestureInsets(androidx.core.graphics.Insets) -> setSystemGestureInsets
+ 1816:1817:void setSystemWindowInsets(androidx.core.graphics.Insets) -> setSystemWindowInsets
+ 1831:1832:void setTappableElementInsets(androidx.core.graphics.Insets) -> setTappableElementInsets
+androidx.core.view.WindowInsetsCompat$BuilderImpl30 -> androidx.core.view.WindowInsetsCompat$BuilderImpl30:
+ 1858:1859:void <init>() -> <init>
+ 1862:1863:void <init>(androidx.core.view.WindowInsetsCompat) -> <init>
+ 1867:1871:void setInsets(int,androidx.core.graphics.Insets) -> setInsets
+ 1875:1879:void setInsetsIgnoringVisibility(int,androidx.core.graphics.Insets) -> setInsetsIgnoringVisibility
+ 1883:1884:void setVisible(int,boolean) -> setVisible
+androidx.core.view.WindowInsetsCompat$Impl -> androidx.core.view.WindowInsetsCompat$Impl:
+ 746:750:void <clinit>() -> <clinit>
+ 754:756:void <init>(androidx.core.view.WindowInsetsCompat) -> <init>
+ 783:783:androidx.core.view.WindowInsetsCompat consumeDisplayCutout() -> consumeDisplayCutout
+ 773:773:androidx.core.view.WindowInsetsCompat consumeStableInsets() -> consumeStableInsets
+ 768:768:androidx.core.view.WindowInsetsCompat consumeSystemWindowInsets() -> consumeSystemWindowInsets
+ 863:863:void copyRootViewBounds(android.view.View) -> copyRootViewBounds
+ 866:866:void copyWindowDataInto(androidx.core.view.WindowInsetsCompat) -> copyWindowDataInto
+ 839:846:boolean equals(java.lang.Object) -> equals
+ 778:778:androidx.core.view.DisplayCutoutCompat getDisplayCutout() -> getDisplayCutout
+ 821:821:androidx.core.graphics.Insets getInsets(int) -> getInsets
+ 826:829:androidx.core.graphics.Insets getInsetsIgnoringVisibility(int) -> getInsetsIgnoringVisibility
+ 805:805:androidx.core.graphics.Insets getMandatorySystemGestureInsets() -> getMandatorySystemGestureInsets
+ 793:793:androidx.core.graphics.Insets getStableInsets() -> getStableInsets
+ 799:799:androidx.core.graphics.Insets getSystemGestureInsets() -> getSystemGestureInsets
+ 788:788:androidx.core.graphics.Insets getSystemWindowInsets() -> getSystemWindowInsets
+ 811:811:androidx.core.graphics.Insets getTappableElementInsets() -> getTappableElementInsets
+ 852:853:int hashCode() -> hashCode
+ 816:816:androidx.core.view.WindowInsetsCompat inset(int,int,int,int) -> inset
+ 763:763:boolean isConsumed() -> isConsumed
+ 759:759:boolean isRound() -> isRound
+ 833:833:boolean isVisible(int) -> isVisible
+ 869:869:void setOverriddenInsets(androidx.core.graphics.Insets[]) -> setOverriddenInsets
+ 860:860:void setRootViewData(androidx.core.graphics.Insets) -> setRootViewData
+ 857:857:void setRootWindowInsets(androidx.core.view.WindowInsetsCompat) -> setRootWindowInsets
+ 872:872:void setStableInsets(androidx.core.graphics.Insets) -> setStableInsets
+androidx.core.view.WindowInsetsCompat$Impl20 -> androidx.core.view.WindowInsetsCompat$Impl20:
+ 878:878:void <clinit>() -> <clinit>
+ 892:900:void <init>(androidx.core.view.WindowInsetsCompat,android.view.WindowInsets) -> <init>
+ 903:904:void <init>(androidx.core.view.WindowInsetsCompat,androidx.core.view.WindowInsetsCompat$Impl20) -> <init>
+ 1110:1115:void copyRootViewBounds(android.view.View) -> copyRootViewBounds
+ 1085:1087:void copyWindowDataInto(androidx.core.view.WindowInsetsCompat) -> copyWindowDataInto
+ 1184:1186:boolean equals(java.lang.Object) -> equals
+ 914:914:androidx.core.graphics.Insets getInsets(int) -> getInsets
+ 940:947:androidx.core.graphics.Insets getInsets(int,boolean) -> getInsets
+ 952:1041:androidx.core.graphics.Insets getInsetsForType(int,boolean) -> getInsetsForType
+ 920:920:androidx.core.graphics.Insets getInsetsIgnoringVisibility(int) -> getInsetsIgnoringVisibility
+ 1101:1104:androidx.core.graphics.Insets getRootStableInsets() -> getRootStableInsets
+ 1063:1070:androidx.core.graphics.Insets getSystemWindowInsets() -> getSystemWindowInsets
+ 1125:1157:androidx.core.graphics.Insets getVisibleInsets(android.view.View) -> getVisibleInsets
+ 1077:1080:androidx.core.view.WindowInsetsCompat inset(int,int,int,int) -> inset
+ 908:908:boolean isRound() -> isRound
+ 1046:1056:boolean isTypeVisible(int) -> isTypeVisible
+ 926:934:boolean isVisible(int) -> isVisible
+ 1168:1180:void loadReflectionField() -> loadReflectionField
+ 1162:1163:void setOverriddenInsets(androidx.core.graphics.Insets[]) -> setOverriddenInsets
+ 1096:1097:void setRootViewData(androidx.core.graphics.Insets) -> setRootViewData
+ 1091:1092:void setRootWindowInsets(androidx.core.view.WindowInsetsCompat) -> setRootWindowInsets
+androidx.core.view.WindowInsetsCompat$Impl21 -> androidx.core.view.WindowInsetsCompat$Impl21:
+ 1192:1196:void <init>(androidx.core.view.WindowInsetsCompat,android.view.WindowInsets) -> <init>
+ 1192:1201:void <init>(androidx.core.view.WindowInsetsCompat,androidx.core.view.WindowInsetsCompat$Impl21) -> <init>
+ 1211:1211:androidx.core.view.WindowInsetsCompat consumeStableInsets() -> consumeStableInsets
+ 1217:1217:androidx.core.view.WindowInsetsCompat consumeSystemWindowInsets() -> consumeSystemWindowInsets
+ 1223:1230:androidx.core.graphics.Insets getStableInsets() -> getStableInsets
+ 1205:1205:boolean isConsumed() -> isConsumed
+ 1235:1236:void setStableInsets(androidx.core.graphics.Insets) -> setStableInsets
+androidx.core.view.WindowInsetsCompat$Impl28 -> androidx.core.view.WindowInsetsCompat$Impl28:
+ 1243:1244:void <init>(androidx.core.view.WindowInsetsCompat,android.view.WindowInsets) -> <init>
+ 1247:1248:void <init>(androidx.core.view.WindowInsetsCompat,androidx.core.view.WindowInsetsCompat$Impl28) -> <init>
+ 1259:1259:androidx.core.view.WindowInsetsCompat consumeDisplayCutout() -> consumeDisplayCutout
+ 1264:1269:boolean equals(java.lang.Object) -> equals
+ 1253:1253:androidx.core.view.DisplayCutoutCompat getDisplayCutout() -> getDisplayCutout
+ 1274:1274:int hashCode() -> hashCode
+androidx.core.view.WindowInsetsCompat$Impl29 -> androidx.core.view.WindowInsetsCompat$Impl29:
+ 1281:1287:void <init>(androidx.core.view.WindowInsetsCompat,android.view.WindowInsets) -> <init>
+ 1281:1291:void <init>(androidx.core.view.WindowInsetsCompat,androidx.core.view.WindowInsetsCompat$Impl29) -> <init>
+ 1305:1309:androidx.core.graphics.Insets getMandatorySystemGestureInsets() -> getMandatorySystemGestureInsets
+ 1296:1299:androidx.core.graphics.Insets getSystemGestureInsets() -> getSystemGestureInsets
+ 1315:1318:androidx.core.graphics.Insets getTappableElementInsets() -> getTappableElementInsets
+ 1324:1324:androidx.core.view.WindowInsetsCompat inset(int,int,int,int) -> inset
+ 1330:1330:void setStableInsets(androidx.core.graphics.Insets) -> setStableInsets
+androidx.core.view.WindowInsetsCompat$Impl30 -> androidx.core.view.WindowInsetsCompat$Impl30:
+ 1347:1347:void <clinit>() -> <clinit>
+ 1350:1351:void <init>(androidx.core.view.WindowInsetsCompat,android.view.WindowInsets) -> <init>
+ 1354:1355:void <init>(androidx.core.view.WindowInsetsCompat,androidx.core.view.WindowInsetsCompat$Impl30) -> <init>
+ 1384:1384:void copyRootViewBounds(android.view.View) -> copyRootViewBounds
+ 1360:1361:androidx.core.graphics.Insets getInsets(int) -> getInsets
+ 1368:1369:androidx.core.graphics.Insets getInsetsIgnoringVisibility(int) -> getInsetsIgnoringVisibility
+ 1375:1375:boolean isVisible(int) -> isVisible
+androidx.core.view.WindowInsetsCompat$Type -> androidx.core.view.WindowInsetsCompat$Type:
+ 1908:1908:void <init>() -> <init>
+ 2012:2012:int all() -> all
+ 1931:1931:int captionBar() -> captionBar
+ 1992:1992:int displayCutout() -> displayCutout
+ 1939:1939:int ime() -> ime
+ 2016:2036:int indexOf(int) -> indexOf
+ 1969:1969:int mandatorySystemGestures() -> mandatorySystemGestures
+ 1923:1923:int navigationBars() -> navigationBars
+ 1915:1915:int statusBars() -> statusBars
+ 2001:2001:int systemBars() -> systemBars
+ 1961:1961:int systemGestures() -> systemGestures
+ 1977:1977:int tappableElement() -> tappableElement
+androidx.core.view.WindowInsetsCompat$TypeImpl30 -> androidx.core.view.WindowInsetsCompat$TypeImpl30:
+ 2052:2052:void <init>() -> <init>
+ 2060:2091:int toPlatformType(int) -> toPlatformType
+androidx.core.view.WindowInsetsControllerCompat -> androidx.core.view.WindowInsetsControllerCompat:
+ 88:94:void <init>(android.view.WindowInsetsController) -> <init>
+ 96:108:void <init>(android.view.Window,android.view.View) -> <init>
+ 289:290:void addOnControllableInsetsChangedListener(androidx.core.view.WindowInsetsControllerCompat$OnControllableInsetsChangedListener) -> addOnControllableInsetsChangedListener
+ 250:255:void controlWindowInsetsAnimation(int,long,android.view.animation.Interpolator,android.os.CancellationSignal,androidx.core.view.WindowInsetsAnimationControlListenerCompat) -> controlWindowInsetsAnimation
+ 275:275:int getSystemBarsBehavior() -> getSystemBarsBehavior
+ 162:163:void hide(int) -> hide
+ 199:199:boolean isAppearanceLightNavigationBars() -> isAppearanceLightNavigationBars
+ 175:175:boolean isAppearanceLightStatusBars() -> isAppearanceLightStatusBars
+ 304:305:void removeOnControllableInsetsChangedListener(androidx.core.view.WindowInsetsControllerCompat$OnControllableInsetsChangedListener) -> removeOnControllableInsetsChangedListener
+ 211:212:void setAppearanceLightNavigationBars(boolean) -> setAppearanceLightNavigationBars
+ 187:188:void setAppearanceLightStatusBars(boolean) -> setAppearanceLightStatusBars
+ 264:265:void setSystemBarsBehavior(int) -> setSystemBarsBehavior
+ 148:149:void show(int) -> show
+ 122:122:androidx.core.view.WindowInsetsControllerCompat toWindowInsetsControllerCompat(android.view.WindowInsetsController) -> toWindowInsetsControllerCompat
+androidx.core.view.WindowInsetsControllerCompat$Impl -> androidx.core.view.WindowInsetsControllerCompat$Impl:
+ 341:343:void <init>() -> <init>
+ 379:379:void addOnControllableInsetsChangedListener(androidx.core.view.WindowInsetsControllerCompat$OnControllableInsetsChangedListener) -> addOnControllableInsetsChangedListener
+ 354:354:void controlWindowInsetsAnimation(int,long,android.view.animation.Interpolator,android.os.CancellationSignal,androidx.core.view.WindowInsetsAnimationControlListenerCompat) -> controlWindowInsetsAnimation
+ 360:360:int getSystemBarsBehavior() -> getSystemBarsBehavior
+ 349:349:void hide(int) -> hide
+ 371:371:boolean isAppearanceLightNavigationBars() -> isAppearanceLightNavigationBars
+ 364:364:boolean isAppearanceLightStatusBars() -> isAppearanceLightStatusBars
+ 384:384:void removeOnControllableInsetsChangedListener(androidx.core.view.WindowInsetsControllerCompat$OnControllableInsetsChangedListener) -> removeOnControllableInsetsChangedListener
+ 375:375:void setAppearanceLightNavigationBars(boolean) -> setAppearanceLightNavigationBars
+ 368:368:void setAppearanceLightStatusBars(boolean) -> setAppearanceLightStatusBars
+ 357:357:void setSystemBarsBehavior(int) -> setSystemBarsBehavior
+ 346:346:void show(int) -> show
+androidx.core.view.WindowInsetsControllerCompat$Impl20 -> androidx.core.view.WindowInsetsControllerCompat$Impl20:
+ 396:399:void <init>(android.view.Window,android.view.View) -> <init>
+ 537:537:void addOnControllableInsetsChangedListener(androidx.core.view.WindowInsetsControllerCompat$OnControllableInsetsChangedListener) -> addOnControllableInsetsChangedListener
+ 509:509:void controlWindowInsetsAnimation(int,long,android.view.animation.Interpolator,android.os.CancellationSignal,androidx.core.view.WindowInsetsAnimationControlListenerCompat) -> controlWindowInsetsAnimation
+ 531:531:int getSystemBarsBehavior() -> getSystemBarsBehavior
+ 458:465:void hide(int) -> hide
+ 468:481:void hideForType(int) -> hideForType
+ 543:543:void removeOnControllableInsetsChangedListener(androidx.core.view.WindowInsetsControllerCompat$OnControllableInsetsChangedListener) -> removeOnControllableInsetsChangedListener
+ 513:527:void setSystemBarsBehavior(int) -> setSystemBarsBehavior
+ 484:488:void setSystemUiFlag(int) -> setSystemUiFlag
+ 498:499:void setWindowFlag(int) -> setWindowFlag
+ 403:410:void show(int) -> show
+ 413:454:void showForType(int) -> showForType
+ 491:495:void unsetSystemUiFlag(int) -> unsetSystemUiFlag
+ 502:503:void unsetWindowFlag(int) -> unsetWindowFlag
+androidx.core.view.WindowInsetsControllerCompat$Impl20$1 -> androidx.core.view.WindowInsetsControllerCompat$Impl20$1:
+ 442:442:void <init>(androidx.core.view.WindowInsetsControllerCompat$Impl20,android.view.View) -> <init>
+ 445:450:void run() -> run
+androidx.core.view.WindowInsetsControllerCompat$Impl23 -> androidx.core.view.WindowInsetsControllerCompat$Impl23:
+ 550:551:void <init>(android.view.Window,android.view.View) -> <init>
+ 555:555:boolean isAppearanceLightStatusBars() -> isAppearanceLightStatusBars
+ 561:568:void setAppearanceLightStatusBars(boolean) -> setAppearanceLightStatusBars
+androidx.core.view.WindowInsetsControllerCompat$Impl26 -> androidx.core.view.WindowInsetsControllerCompat$Impl26:
+ 575:576:void <init>(android.view.Window,android.view.View) -> <init>
+ 580:580:boolean isAppearanceLightNavigationBars() -> isAppearanceLightNavigationBars
+ 586:593:void setAppearanceLightNavigationBars(boolean) -> setAppearanceLightNavigationBars
+androidx.core.view.WindowInsetsControllerCompat$Impl30 -> androidx.core.view.WindowInsetsControllerCompat$Impl30:
+ 607:608:void <init>(android.view.Window,androidx.core.view.WindowInsetsControllerCompat) -> <init>
+ 601:614:void <init>(android.view.WindowInsetsController,androidx.core.view.WindowInsetsControllerCompat) -> <init>
+ 731:751:void addOnControllableInsetsChangedListener(androidx.core.view.WindowInsetsControllerCompat$OnControllableInsetsChangedListener) -> addOnControllableInsetsChangedListener
+ 670:701:void controlWindowInsetsAnimation(int,long,android.view.animation.Interpolator,android.os.CancellationSignal,androidx.core.view.WindowInsetsAnimationControlListenerCompat) -> controlWindowInsetsAnimation
+ 723:723:int getSystemBarsBehavior() -> getSystemBarsBehavior
+ 623:624:void hide(int) -> hide
+ 647:647:boolean isAppearanceLightNavigationBars() -> isAppearanceLightNavigationBars
+ 628:628:boolean isAppearanceLightStatusBars() -> isAppearanceLightStatusBars
+ 758:762:void removeOnControllableInsetsChangedListener(androidx.core.view.WindowInsetsControllerCompat$OnControllableInsetsChangedListener) -> removeOnControllableInsetsChangedListener
+ 653:662:void setAppearanceLightNavigationBars(boolean) -> setAppearanceLightNavigationBars
+ 634:643:void setAppearanceLightStatusBars(boolean) -> setAppearanceLightStatusBars
+ 711:712:void setSystemBarsBehavior(int) -> setSystemBarsBehavior
+ 618:619:void show(int) -> show
+androidx.core.view.WindowInsetsControllerCompat$Impl30$1 -> androidx.core.view.WindowInsetsControllerCompat$Impl30$1:
+ 671:673:void <init>(androidx.core.view.WindowInsetsControllerCompat$Impl30,androidx.core.view.WindowInsetsAnimationControlListenerCompat) -> <init>
+ 692:693:void onCancelled(android.view.WindowInsetsAnimationController) -> onCancelled
+ 686:687:void onFinished(android.view.WindowInsetsAnimationController) -> onFinished
+ 678:681:void onReady(android.view.WindowInsetsAnimationController,int) -> onReady
+androidx.core.view.WindowInsetsControllerCompat$Impl30$2 -> androidx.core.view.WindowInsetsControllerCompat$Impl30$2:
+ 737:737:void <init>(androidx.core.view.WindowInsetsControllerCompat$Impl30,androidx.core.view.WindowInsetsControllerCompat$OnControllableInsetsChangedListener) -> <init>
+ 743:747:void onControllableInsetsChanged(android.view.WindowInsetsController,int) -> onControllableInsetsChanged
+androidx.core.view.accessibility.AccessibilityClickableSpanCompat -> androidx.core.view.accessibility.AccessibilityClickableSpanCompat:
+ 55:59:void <init>(int,androidx.core.view.accessibility.AccessibilityNodeInfoCompat,int) -> <init>
+ 69:72:void onClick(android.view.View) -> onClick
+androidx.core.view.accessibility.AccessibilityEventCompat -> androidx.core.view.accessibility.AccessibilityEventCompat:
+ 245:247:void <init>() -> <init>
+ 274:275:void appendRecord(android.view.accessibility.AccessibilityEvent,androidx.core.view.accessibility.AccessibilityRecordCompat) -> appendRecord
+ 309:309:androidx.core.view.accessibility.AccessibilityRecordCompat asRecord(android.view.accessibility.AccessibilityEvent) -> asRecord
+ 405:406:int getAction(android.view.accessibility.AccessibilityEvent) -> getAction
+ 343:344:int getContentChangeTypes(android.view.accessibility.AccessibilityEvent) -> getContentChangeTypes
+ 369:370:int getMovementGranularity(android.view.accessibility.AccessibilityEvent) -> getMovementGranularity
+ 288:288:androidx.core.view.accessibility.AccessibilityRecordCompat getRecord(android.view.accessibility.AccessibilityEvent,int) -> getRecord
+ 258:258:int getRecordCount(android.view.accessibility.AccessibilityEvent) -> getRecordCount
+ 394:397:void setAction(android.view.accessibility.AccessibilityEvent,int) -> setAction
+ 322:325:void setContentChangeTypes(android.view.accessibility.AccessibilityEvent,int) -> setContentChangeTypes
+ 358:361:void setMovementGranularity(android.view.accessibility.AccessibilityEvent,int) -> setMovementGranularity
+androidx.core.view.accessibility.AccessibilityManagerCompat -> androidx.core.view.accessibility.AccessibilityManagerCompat:
+ 278:278:void <init>() -> <init>
+ 47:50:boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat$AccessibilityStateChangeListener) -> addAccessibilityStateChangeListener
+ 168:172:boolean addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat$TouchExplorationStateChangeListener) -> addTouchExplorationStateChangeListener
+ 143:143:java.util.List getEnabledAccessibilityServiceList(android.view.accessibility.AccessibilityManager,int) -> getEnabledAccessibilityServiceList
+ 120:120:java.util.List getInstalledAccessibilityServiceList(android.view.accessibility.AccessibilityManager) -> getInstalledAccessibilityServiceList
+ 156:156:boolean isTouchExplorationEnabled(android.view.accessibility.AccessibilityManager) -> isTouchExplorationEnabled
+ 68:71:boolean removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat$AccessibilityStateChangeListener) -> removeAccessibilityStateChangeListener
+ 187:191:boolean removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat$TouchExplorationStateChangeListener) -> removeTouchExplorationStateChangeListener
+androidx.core.view.accessibility.AccessibilityManagerCompat$AccessibilityStateChangeListenerCompat -> androidx.core.view.accessibility.AccessibilityManagerCompat$AccessibilityStateChangeListenerCompat:
+ 240:240:void <init>() -> <init>
+androidx.core.view.accessibility.AccessibilityManagerCompat$AccessibilityStateChangeListenerWrapper -> androidx.core.view.accessibility.AccessibilityManagerCompat$AccessibilityStateChangeListenerWrapper:
+ 81:83:void <init>(androidx.core.view.accessibility.AccessibilityManagerCompat$AccessibilityStateChangeListener) -> <init>
+ 92:100:boolean equals(java.lang.Object) -> equals
+ 87:87:int hashCode() -> hashCode
+ 105:106:void onAccessibilityStateChanged(boolean) -> onAccessibilityStateChanged
+androidx.core.view.accessibility.AccessibilityManagerCompat$TouchExplorationStateChangeListenerWrapper -> androidx.core.view.accessibility.AccessibilityManagerCompat$TouchExplorationStateChangeListenerWrapper:
+ 204:206:void <init>(androidx.core.view.accessibility.AccessibilityManagerCompat$TouchExplorationStateChangeListener) -> <init>
+ 215:223:boolean equals(java.lang.Object) -> equals
+ 210:210:int hashCode() -> hashCode
+ 228:229:void onTouchExplorationStateChanged(boolean) -> onTouchExplorationStateChanged
+androidx.core.view.accessibility.AccessibilityNodeInfoCompat -> androidx.core.view.accessibility.AccessibilityNodeInfoCompat:
+ 1671:1671:void <clinit>() -> <clinit>
+ 1250:1698:void <init>(java.lang.Object) -> <init>
+ 1250:1702:void <init>(android.view.accessibility.AccessibilityNodeInfo) -> <init>
+ 1997:1998:void addAction(int) -> addAction
+ 2030:2033:void addAction(androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat) -> addAction
+ 1909:1910:void addChild(android.view.View) -> addChild
+ 1927:1930:void addChild(android.view.View,int) -> addChild
+ 2775:2779:void addSpanLocationToExtras(android.text.style.ClickableSpan,android.text.Spanned,int) -> addSpanLocationToExtras
+ 2704:2719:void addSpansToExtras(java.lang.CharSequence,android.view.View) -> addSpansToExtras
+ 3332:3333:boolean canOpenPopup() -> canOpenPopup
+ 2766:2772:void clearExtrasSpans() -> clearExtrasSpans
+ 4082:4105:boolean equals(java.lang.Object) -> equals
+ 2001:2010:java.util.List extrasIntList(java.lang.String) -> extrasIntList
+ 2144:2151:java.util.List findAccessibilityNodeInfosByText(java.lang.String) -> findAccessibilityNodeInfosByText
+ 3379:3385:java.util.List findAccessibilityNodeInfosByViewId(java.lang.String) -> findAccessibilityNodeInfosByViewId
+ 1833:1834:androidx.core.view.accessibility.AccessibilityNodeInfoCompat findFocus(int) -> findFocus
+ 1855:1856:androidx.core.view.accessibility.AccessibilityNodeInfoCompat focusSearch(int) -> focusSearch
+ 3074:3087:java.util.List getActionList() -> getActionList
+ 4186:4264:java.lang.String getActionSymbolicName(int) -> getActionSymbolicName
+ 1982:1982:int getActions() -> getActions
+ 4180:4182:boolean getBooleanProperty(int) -> getBooleanProperty
+ 2227:2228:void getBoundsInParent(android.graphics.Rect) -> getBoundsInParent
+ 2259:2260:void getBoundsInScreen(android.graphics.Rect) -> getBoundsInScreen
+ 1894:1894:androidx.core.view.accessibility.AccessibilityNodeInfoCompat getChild(int) -> getChild
+ 1877:1877:int getChildCount() -> getChildCount
+ 2642:2642:java.lang.CharSequence getClassName() -> getClassName
+ 2741:2745:android.text.style.ClickableSpan[] getClickableSpans(java.lang.CharSequence) -> getClickableSpans
+ 2989:2995:androidx.core.view.accessibility.AccessibilityNodeInfoCompat$CollectionInfoCompat getCollectionInfo() -> getCollectionInfo
+ 3022:3028:androidx.core.view.accessibility.AccessibilityNodeInfoCompat$CollectionItemInfoCompat getCollectionItemInfo() -> getCollectionItemInfo
+ 2802:2802:java.lang.CharSequence getContentDescription() -> getContentDescription
+ 2958:2959:int getDrawingOrder() -> getDrawingOrder
+ 3212:3213:java.lang.CharSequence getError() -> getError
+ 3405:3406:android.os.Bundle getExtras() -> getExtras
+ 3158:3161:java.lang.CharSequence getHintText() -> getHintText
+ 1728:1728:java.lang.Object getInfo() -> getInfo
+ 3418:3419:int getInputType() -> getInputType
+ 3263:3264:androidx.core.view.accessibility.AccessibilityNodeInfoCompat getLabelFor() -> getLabelFor
+ 3319:3320:androidx.core.view.accessibility.AccessibilityNodeInfoCompat getLabeledBy() -> getLabeledBy
+ 2921:2922:int getLiveRegion() -> getLiveRegion
+ 3472:3473:int getMaxTextLength() -> getMaxTextLength
+ 2123:2124:int getMovementGranularities() -> getMovementGranularities
+ 2722:2727:android.util.SparseArray getOrCreateSpansFromViewTags(android.view.View) -> getOrCreateSpansFromViewTags
+ 2618:2618:java.lang.CharSequence getPackageName() -> getPackageName
+ 3819:3822:java.lang.CharSequence getPaneTitle() -> getPaneTitle
+ 2165:2165:androidx.core.view.accessibility.AccessibilityNodeInfoCompat getParent() -> getParent
+ 3037:3043:androidx.core.view.accessibility.AccessibilityNodeInfoCompat$RangeInfoCompat getRangeInfo() -> getRangeInfo
+ 3989:3990:java.lang.CharSequence getRoleDescription() -> getRoleDescription
+ 2732:2732:android.util.SparseArray getSpansFromViewTags(android.view.View) -> getSpansFromViewTags
+ 2812:2815:java.lang.CharSequence getStateDescription() -> getStateDescription
+ 2666:2680:java.lang.CharSequence getText() -> getText
+ 3517:3518:int getTextSelectionEnd() -> getTextSelectionEnd
+ 3504:3505:int getTextSelectionStart() -> getTextSelectionStart
+ 3763:3766:java.lang.CharSequence getTooltipText() -> getTooltipText
+ 4043:4049:androidx.core.view.accessibility.AccessibilityNodeInfoCompat$TouchDelegateInfoCompat getTouchDelegateInfo() -> getTouchDelegateInfo
+ 3599:3600:androidx.core.view.accessibility.AccessibilityNodeInfoCompat getTraversalAfter() -> getTraversalAfter
+ 3534:3535:androidx.core.view.accessibility.AccessibilityNodeInfoCompat getTraversalBefore() -> getTraversalBefore
+ 2895:2896:java.lang.String getViewIdResourceName() -> getViewIdResourceName
+ 3660:3661:androidx.core.view.accessibility.AccessibilityWindowInfoCompat getWindow() -> getWindow
+ 1868:1868:int getWindowId() -> getWindowId
+ 2762:2762:boolean hasSpans() -> hasSpans
+ 4077:4077:int hashCode() -> hashCode
+ 2750:2758:int idForClickableSpan(android.text.style.ClickableSpan,android.util.SparseArray) -> idForClickableSpan
+ 2410:2411:boolean isAccessibilityFocused() -> isAccessibilityFocused
+ 2283:2283:boolean isCheckable() -> isCheckable
+ 2307:2307:boolean isChecked() -> isChecked
+ 2465:2465:boolean isClickable() -> isClickable
+ 3115:3116:boolean isContentInvalid() -> isContentInvalid
+ 3128:3129:boolean isContextClickable() -> isContextClickable
+ 3673:3674:boolean isDismissable() -> isDismissable
+ 3702:3703:boolean isEditable() -> isEditable
+ 2513:2513:boolean isEnabled() -> isEnabled
+ 2331:2331:boolean isFocusable() -> isFocusable
+ 2355:2355:boolean isFocused() -> isFocused
+ 3909:3914:boolean isHeading() -> isHeading
+ 2588:2589:boolean isImportantForAccessibility() -> isImportantForAccessibility
+ 2489:2489:boolean isLongClickable() -> isLongClickable
+ 3733:3734:boolean isMultiLine() -> isMultiLine
+ 2537:2537:boolean isPassword() -> isPassword
+ 3838:3841:boolean isScreenReaderFocusable() -> isScreenReaderFocusable
+ 2561:2561:boolean isScrollable() -> isScrollable
+ 2441:2441:boolean isSelected() -> isSelected
+ 3872:3875:boolean isShowingHintText() -> isShowingHintText
+ 3942:3945:boolean isTextEntryKey() -> isTextEntryKey
+ 2379:2380:boolean isVisibleToUser() -> isVisibleToUser
+ 1739:1739:androidx.core.view.accessibility.AccessibilityNodeInfoCompat obtain(android.view.View) -> obtain
+ 1753:1755:androidx.core.view.accessibility.AccessibilityNodeInfoCompat obtain(android.view.View,int) -> obtain
+ 1767:1767:androidx.core.view.accessibility.AccessibilityNodeInfoCompat obtain() -> obtain
+ 1778:1778:androidx.core.view.accessibility.AccessibilityNodeInfoCompat obtain(androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> obtain
+ 2075:2075:boolean performAction(int) -> performAction
+ 2092:2093:boolean performAction(int,android.os.Bundle) -> performAction
+ 2862:2863:void recycle() -> recycle
+ 3977:3978:boolean refresh() -> refresh
+ 2055:2056:boolean removeAction(androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat) -> removeAction
+ 1947:1948:boolean removeChild(android.view.View) -> removeChild
+ 1965:1966:boolean removeChild(android.view.View,int) -> removeChild
+ 2782:2794:void removeCollectedSpans(android.view.View) -> removeCollectedSpans
+ 2430:2433:void setAccessibilityFocused(boolean) -> setAccessibilityFocused
+ 4170:4177:void setBooleanProperty(int,boolean) -> setBooleanProperty
+ 2250:2251:void setBoundsInParent(android.graphics.Rect) -> setBoundsInParent
+ 2274:2275:void setBoundsInScreen(android.graphics.Rect) -> setBoundsInScreen
+ 3350:3353:void setCanOpenPopup(boolean) -> setCanOpenPopup
+ 2298:2299:void setCheckable(boolean) -> setCheckable
+ 2322:2323:void setChecked(boolean) -> setChecked
+ 2657:2658:void setClassName(java.lang.CharSequence) -> setClassName
+ 2480:2481:void setClickable(boolean) -> setClickable
+ 2999:3005:void setCollectionInfo(java.lang.Object) -> setCollectionInfo
+ 3008:3013:void setCollectionItemInfo(java.lang.Object) -> setCollectionItemInfo
+ 2832:2833:void setContentDescription(java.lang.CharSequence) -> setContentDescription
+ 3103:3106:void setContentInvalid(boolean) -> setContentInvalid
+ 3147:3150:void setContextClickable(boolean) -> setContextClickable
+ 3691:3694:void setDismissable(boolean) -> setDismissable
+ 2977:2980:void setDrawingOrder(int) -> setDrawingOrder
+ 3722:3725:void setEditable(boolean) -> setEditable
+ 2528:2529:void setEnabled(boolean) -> setEnabled
+ 3201:3204:void setError(java.lang.CharSequence) -> setError
+ 2346:2347:void setFocusable(boolean) -> setFocusable
+ 2370:2371:void setFocused(boolean) -> setFocused
+ 3929:3934:void setHeading(boolean) -> setHeading
+ 3180:3185:void setHintText(java.lang.CharSequence) -> setHintText
+ 2607:2610:void setImportantForAccessibility(boolean) -> setImportantForAccessibility
+ 3439:3442:void setInputType(int) -> setInputType
+ 3226:3229:void setLabelFor(android.view.View) -> setLabelFor
+ 3246:3249:void setLabelFor(android.view.View,int) -> setLabelFor
+ 3277:3280:void setLabeledBy(android.view.View) -> setLabeledBy
+ 3302:3305:void setLabeledBy(android.view.View,int) -> setLabeledBy
+ 2941:2944:void setLiveRegion(int) -> setLiveRegion
+ 2504:2505:void setLongClickable(boolean) -> setLongClickable
+ 3460:3463:void setMaxTextLength(int) -> setMaxTextLength
+ 2112:2115:void setMovementGranularities(int) -> setMovementGranularities
+ 3751:3754:void setMultiLine(boolean) -> setMultiLine
+ 2633:2634:void setPackageName(java.lang.CharSequence) -> setPackageName
+ 3805:3810:void setPaneTitle(java.lang.CharSequence) -> setPaneTitle
+ 2180:2183:void setParent(android.view.View) -> setParent
+ 2207:2212:void setParent(android.view.View,int) -> setParent
+ 2552:2553:void setPassword(boolean) -> setPassword
+ 3057:3060:void setRangeInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat$RangeInfoCompat) -> setRangeInfo
+ 4021:4024:void setRoleDescription(java.lang.CharSequence) -> setRoleDescription
+ 3857:3862:void setScreenReaderFocusable(boolean) -> setScreenReaderFocusable
+ 2576:2577:void setScrollable(boolean) -> setScrollable
+ 2456:2457:void setSelected(boolean) -> setSelected
+ 3892:3897:void setShowingHintText(boolean) -> setShowingHintText
+ 1787:1790:void setSource(android.view.View) -> setSource
+ 1814:1819:void setSource(android.view.View,int) -> setSource
+ 2847:2852:void setStateDescription(java.lang.CharSequence) -> setStateDescription
+ 2696:2697:void setText(java.lang.CharSequence) -> setText
+ 3960:3965:void setTextEntryKey(boolean) -> setTextEntryKey
+ 3493:3496:void setTextSelection(int,int) -> setTextSelection
+ 3785:3790:void setTooltipText(java.lang.CharSequence) -> setTooltipText
+ 4070:4073:void setTouchDelegateInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat$TouchDelegateInfoCompat) -> setTouchDelegateInfo
+ 3621:3624:void setTraversalAfter(android.view.View) -> setTraversalAfter
+ 3647:3650:void setTraversalAfter(android.view.View,int) -> setTraversalAfter
+ 3556:3559:void setTraversalBefore(android.view.View) -> setTraversalBefore
+ 3583:3586:void setTraversalBefore(android.view.View,int) -> setTraversalBefore
+ 2877:2880:void setViewIdResourceName(java.lang.String) -> setViewIdResourceName
+ 2399:2402:void setVisibleToUser(boolean) -> setVisibleToUser
+ 4112:4166:java.lang.String toString() -> toString
+ 1718:1718:android.view.accessibility.AccessibilityNodeInfo unwrap() -> unwrap
+ 1711:1711:androidx.core.view.accessibility.AccessibilityNodeInfoCompat wrap(android.view.accessibility.AccessibilityNodeInfo) -> wrap
+ 1681:1684:androidx.core.view.accessibility.AccessibilityNodeInfoCompat wrapNonNullInstance(java.lang.Object) -> wrapNonNullInstance
+androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat -> androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat:
+ 105:589:void <clinit>() -> <clinit>
+ 609:610:void <init>(int,java.lang.CharSequence) -> <init>
+ 623:624:void <init>(int,java.lang.CharSequence,androidx.core.view.accessibility.AccessibilityViewCommand) -> <init>
+ 627:628:void <init>(java.lang.Object) -> <init>
+ 632:633:void <init>(int,java.lang.CharSequence,java.lang.Class) -> <init>
+ 637:646:void <init>(java.lang.Object,int,java.lang.CharSequence,androidx.core.view.accessibility.AccessibilityViewCommand,java.lang.Class) -> <init>
+ 709:709:androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat createReplacementAction(java.lang.CharSequence,androidx.core.view.accessibility.AccessibilityViewCommand) -> createReplacementAction
+ 720:735:boolean equals(java.lang.Object) -> equals
+ 654:655:int getId() -> getId
+ 668:669:java.lang.CharSequence getLabel() -> getLabel
+ 715:715:int hashCode() -> hashCode
+ 684:700:boolean perform(android.view.View,android.os.Bundle) -> perform
+androidx.core.view.accessibility.AccessibilityNodeInfoCompat$CollectionInfoCompat -> androidx.core.view.accessibility.AccessibilityNodeInfoCompat$CollectionInfoCompat:
+ 809:811:void <init>(java.lang.Object) -> <init>
+ 819:820:int getColumnCount() -> getColumnCount
+ 832:833:int getRowCount() -> getRowCount
+ 863:864:int getSelectionMode() -> getSelectionMode
+ 845:846:boolean isHierarchical() -> isHierarchical
+ 779:780:androidx.core.view.accessibility.AccessibilityNodeInfoCompat$CollectionInfoCompat obtain(int,int,boolean,int) -> obtain
+ 801:802:androidx.core.view.accessibility.AccessibilityNodeInfoCompat$CollectionInfoCompat obtain(int,int,boolean) -> obtain
+androidx.core.view.accessibility.AccessibilityNodeInfoCompat$CollectionItemInfoCompat -> androidx.core.view.accessibility.AccessibilityNodeInfoCompat$CollectionItemInfoCompat:
+ 933:935:void <init>(java.lang.Object) -> <init>
+ 943:944:int getColumnIndex() -> getColumnIndex
+ 956:957:int getColumnSpan() -> getColumnSpan
+ 969:970:int getRowIndex() -> getRowIndex
+ 982:983:int getRowSpan() -> getRowSpan
+ 999:1000:boolean isHeading() -> isHeading
+ 1012:1013:boolean isSelected() -> isSelected
+ 900:901:androidx.core.view.accessibility.AccessibilityNodeInfoCompat$CollectionItemInfoCompat obtain(int,int,int,int,boolean,boolean) -> obtain
+ 925:926:androidx.core.view.accessibility.AccessibilityNodeInfoCompat$CollectionItemInfoCompat obtain(int,int,int,int,boolean) -> obtain
+androidx.core.view.accessibility.AccessibilityNodeInfoCompat$RangeInfoCompat -> androidx.core.view.accessibility.AccessibilityNodeInfoCompat$RangeInfoCompat:
+ 1051:1053:void <init>(java.lang.Object) -> <init>
+ 1061:1062:float getCurrent() -> getCurrent
+ 1074:1075:float getMax() -> getMax
+ 1087:1088:float getMin() -> getMin
+ 1104:1105:int getType() -> getType
+ 1041:1043:androidx.core.view.accessibility.AccessibilityNodeInfoCompat$RangeInfoCompat obtain(int,float,float,float) -> obtain
+androidx.core.view.accessibility.AccessibilityNodeInfoCompat$TouchDelegateInfoCompat -> androidx.core.view.accessibility.AccessibilityNodeInfoCompat$TouchDelegateInfoCompat:
+ 1123:1129:void <init>(java.util.Map) -> <init>
+ 1131:1133:void <init>(android.view.accessibility.AccessibilityNodeInfo$TouchDelegateInfo) -> <init>
+ 1165:1168:android.graphics.Region getRegionAt(int) -> getRegionAt
+ 1146:1149:int getRegionCount() -> getRegionCount
+ 1193:1199:androidx.core.view.accessibility.AccessibilityNodeInfoCompat getTargetForRegion(android.graphics.Region) -> getTargetForRegion
+androidx.core.view.accessibility.AccessibilityNodeProviderCompat -> androidx.core.view.accessibility.AccessibilityNodeProviderCompat:
+ 119:129:void <init>() -> <init>
+ 137:139:void <init>(java.lang.Object) -> <init>
+ 248:248:void addExtraDataToAccessibilityNodeInfo(int,androidx.core.view.accessibility.AccessibilityNodeInfoCompat,java.lang.String,android.os.Bundle) -> addExtraDataToAccessibilityNodeInfo
+ 172:172:androidx.core.view.accessibility.AccessibilityNodeInfoCompat createAccessibilityNodeInfo(int) -> createAccessibilityNodeInfo
+ 209:209:java.util.List findAccessibilityNodeInfosByText(java.lang.String,int) -> findAccessibilityNodeInfosByText
+ 225:225:androidx.core.view.accessibility.AccessibilityNodeInfoCompat findFocus(int) -> findFocus
+ 145:145:java.lang.Object getProvider() -> getProvider
+ 189:189:boolean performAction(int,int,android.os.Bundle) -> performAction
+androidx.core.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderApi16 -> androidx.core.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderApi16:
+ 39:41:void <init>(androidx.core.view.accessibility.AccessibilityNodeProviderCompat) -> <init>
+ 45:50:android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(int) -> createAccessibilityNodeInfo
+ 57:68:java.util.List findAccessibilityNodeInfosByText(java.lang.String,int) -> findAccessibilityNodeInfosByText
+ 74:74:boolean performAction(int,int,android.os.Bundle) -> performAction
+androidx.core.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderApi19 -> androidx.core.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderApi19:
+ 81:82:void <init>(androidx.core.view.accessibility.AccessibilityNodeProviderCompat) -> <init>
+ 86:90:android.view.accessibility.AccessibilityNodeInfo findFocus(int) -> findFocus
+androidx.core.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderApi26 -> androidx.core.view.accessibility.AccessibilityNodeProviderCompat$AccessibilityNodeProviderApi26:
+ 98:99:void <init>(androidx.core.view.accessibility.AccessibilityNodeProviderCompat) -> <init>
+ 104:106:void addExtraDataToAccessibilityNodeInfo(int,android.view.accessibility.AccessibilityNodeInfo,java.lang.String,android.os.Bundle) -> addExtraDataToAccessibilityNodeInfo
+androidx.core.view.accessibility.AccessibilityRecordCompat -> androidx.core.view.accessibility.AccessibilityRecordCompat:
+ 43:45:void <init>(java.lang.Object) -> <init>
+ 763:777:boolean equals(java.lang.Object) -> equals
+ 572:572:int getAddedCount() -> getAddedCount
+ 663:663:java.lang.CharSequence getBeforeText() -> getBeforeText
+ 624:624:java.lang.CharSequence getClassName() -> getClassName
+ 689:689:java.lang.CharSequence getContentDescription() -> getContentDescription
+ 340:340:int getCurrentItemIndex() -> getCurrentItemIndex
+ 369:369:int getFromIndex() -> getFromIndex
+ 55:55:java.lang.Object getImpl() -> getImpl
+ 314:314:int getItemCount() -> getItemCount
+ 472:472:int getMaxScrollX() -> getMaxScrollX
+ 482:483:int getMaxScrollX(android.view.accessibility.AccessibilityRecord) -> getMaxScrollX
+ 522:522:int getMaxScrollY() -> getMaxScrollY
+ 532:533:int getMaxScrollY(android.view.accessibility.AccessibilityRecord) -> getMaxScrollY
+ 715:715:android.os.Parcelable getParcelableData() -> getParcelableData
+ 598:598:int getRemovedCount() -> getRemovedCount
+ 424:424:int getScrollX() -> getScrollX
+ 448:448:int getScrollY() -> getScrollY
+ 160:160:androidx.core.view.accessibility.AccessibilityNodeInfoCompat getSource() -> getSource
+ 651:651:java.util.List getText() -> getText
+ 399:399:int getToIndex() -> getToIndex
+ 172:172:int getWindowId() -> getWindowId
+ 754:754:int hashCode() -> hashCode
+ 184:184:boolean isChecked() -> isChecked
+ 210:210:boolean isEnabled() -> isEnabled
+ 262:262:boolean isFullScreen() -> isFullScreen
+ 236:236:boolean isPassword() -> isPassword
+ 288:288:boolean isScrollable() -> isScrollable
+ 70:70:androidx.core.view.accessibility.AccessibilityRecordCompat obtain(androidx.core.view.accessibility.AccessibilityRecordCompat) -> obtain
+ 84:84:androidx.core.view.accessibility.AccessibilityRecordCompat obtain() -> obtain
+ 745:746:void recycle() -> recycle
+ 586:587:void setAddedCount(int) -> setAddedCount
+ 677:678:void setBeforeText(java.lang.CharSequence) -> setBeforeText
+ 198:199:void setChecked(boolean) -> setChecked
+ 638:639:void setClassName(java.lang.CharSequence) -> setClassName
+ 703:704:void setContentDescription(java.lang.CharSequence) -> setContentDescription
+ 354:355:void setCurrentItemIndex(int) -> setCurrentItemIndex
+ 224:225:void setEnabled(boolean) -> setEnabled
+ 386:387:void setFromIndex(int) -> setFromIndex
+ 276:277:void setFullScreen(boolean) -> setFullScreen
+ 328:329:void setItemCount(int) -> setItemCount
+ 498:499:void setMaxScrollX(int) -> setMaxScrollX
+ 508:511:void setMaxScrollX(android.view.accessibility.AccessibilityRecord,int) -> setMaxScrollX
+ 548:549:void setMaxScrollY(int) -> setMaxScrollY
+ 558:561:void setMaxScrollY(android.view.accessibility.AccessibilityRecord,int) -> setMaxScrollY
+ 729:730:void setParcelableData(android.os.Parcelable) -> setParcelableData
+ 250:251:void setPassword(boolean) -> setPassword
+ 612:613:void setRemovedCount(int) -> setRemovedCount
+ 436:437:void setScrollX(int) -> setScrollX
+ 460:461:void setScrollY(int) -> setScrollY
+ 302:303:void setScrollable(boolean) -> setScrollable
+ 98:99:void setSource(android.view.View) -> setSource
+ 119:120:void setSource(android.view.View,int) -> setSource
+ 139:142:void setSource(android.view.accessibility.AccessibilityRecord,android.view.View,int) -> setSource
+ 412:413:void setToIndex(int) -> setToIndex
+androidx.core.view.accessibility.AccessibilityViewCommand$CommandArguments -> androidx.core.view.accessibility.AccessibilityViewCommand$CommandArguments:
+ 46:46:void <init>() -> <init>
+ 54:55:void setBundle(android.os.Bundle) -> setBundle
+androidx.core.view.accessibility.AccessibilityViewCommand$MoveAtGranularityArguments -> androidx.core.view.accessibility.AccessibilityViewCommand$MoveAtGranularityArguments:
+ 64:64:void <init>() -> <init>
+ 88:88:boolean getExtendSelection() -> getExtendSelection
+ 80:80:int getGranularity() -> getGranularity
+androidx.core.view.accessibility.AccessibilityViewCommand$MoveHtmlArguments -> androidx.core.view.accessibility.AccessibilityViewCommand$MoveHtmlArguments:
+ 98:98:void <init>() -> <init>
+ 104:104:java.lang.String getHTMLElement() -> getHTMLElement
+androidx.core.view.accessibility.AccessibilityViewCommand$MoveWindowArguments -> androidx.core.view.accessibility.AccessibilityViewCommand$MoveWindowArguments:
+ 183:183:void <init>() -> <init>
+ 189:189:int getX() -> getX
+ 196:196:int getY() -> getY
+androidx.core.view.accessibility.AccessibilityViewCommand$ScrollToPositionArguments -> androidx.core.view.accessibility.AccessibilityViewCommand$ScrollToPositionArguments:
+ 148:148:void <init>() -> <init>
+ 161:161:int getColumn() -> getColumn
+ 154:154:int getRow() -> getRow
+androidx.core.view.accessibility.AccessibilityViewCommand$SetProgressArguments -> androidx.core.view.accessibility.AccessibilityViewCommand$SetProgressArguments:
+ 169:169:void <init>() -> <init>
+ 175:175:float getProgress() -> getProgress
+androidx.core.view.accessibility.AccessibilityViewCommand$SetSelectionArguments -> androidx.core.view.accessibility.AccessibilityViewCommand$SetSelectionArguments:
+ 113:113:void <init>() -> <init>
+ 126:126:int getEnd() -> getEnd
+ 119:119:int getStart() -> getStart
+androidx.core.view.accessibility.AccessibilityViewCommand$SetTextArguments -> androidx.core.view.accessibility.AccessibilityViewCommand$SetTextArguments:
+ 133:133:void <init>() -> <init>
+ 139:139:java.lang.CharSequence getText() -> getText
+androidx.core.view.accessibility.AccessibilityWindowInfoCompat -> androidx.core.view.accessibility.AccessibilityWindowInfoCompat:
+ 84:86:void <init>(java.lang.Object) -> <init>
+ 321:338:boolean equals(java.lang.Object) -> equals
+ 259:261:androidx.core.view.accessibility.AccessibilityNodeInfoCompat getAnchor() -> getAnchor
+ 166:169:void getBoundsInScreen(android.graphics.Rect) -> getBoundsInScreen
+ 232:233:androidx.core.view.accessibility.AccessibilityWindowInfoCompat getChild(int) -> getChild
+ 218:219:int getChildCount() -> getChildCount
+ 153:154:int getId() -> getId
+ 113:114:int getLayer() -> getLayer
+ 140:141:androidx.core.view.accessibility.AccessibilityWindowInfoCompat getParent() -> getParent
+ 126:128:androidx.core.view.accessibility.AccessibilityNodeInfoCompat getRoot() -> getRoot
+ 246:247:java.lang.CharSequence getTitle() -> getTitle
+ 99:100:int getType() -> getType
+ 316:316:int hashCode() -> hashCode
+ 205:206:boolean isAccessibilityFocused() -> isAccessibilityFocused
+ 179:180:boolean isActive() -> isActive
+ 192:193:boolean isFocused() -> isFocused
+ 274:275:androidx.core.view.accessibility.AccessibilityWindowInfoCompat obtain() -> obtain
+ 290:294:androidx.core.view.accessibility.AccessibilityWindowInfoCompat obtain(androidx.core.view.accessibility.AccessibilityWindowInfoCompat) -> obtain
+ 309:312:void recycle() -> recycle
+ 344:357:java.lang.String toString() -> toString
+ 361:375:java.lang.String typeToString(int) -> typeToString
+ 78:81:androidx.core.view.accessibility.AccessibilityWindowInfoCompat wrapNonNullInstance(java.lang.Object) -> wrapNonNullInstance
+androidx.core.view.animation.PathInterpolatorApi14 -> androidx.core.view.animation.PathInterpolatorApi14:
+ 36:53:void <init>(android.graphics.Path) -> <init>
+ 56:57:void <init>(float,float) -> <init>
+ 61:62:void <init>(float,float,float,float) -> <init>
+ 107:110:android.graphics.Path createCubic(float,float,float,float) -> createCubic
+ 99:102:android.graphics.Path createQuad(float,float) -> createQuad
+ 66:95:float getInterpolation(float) -> getInterpolation
+androidx.core.view.animation.PathInterpolatorCompat -> androidx.core.view.animation.PathInterpolatorCompat:
+ 31:33:void <init>() -> <init>
+ 48:49:android.view.animation.Interpolator create(android.graphics.Path) -> create
+ 63:64:android.view.animation.Interpolator create(float,float) -> create
+ 81:82:android.view.animation.Interpolator create(float,float,float,float) -> create
+androidx.core.view.inputmethod.EditorInfoCompat -> androidx.core.view.inputmethod.EditorInfoCompat:
+ 91:91:void <clinit>() -> <clinit>
+ 527:528:void <init>() -> <init>
+ 181:192:java.lang.String[] getContentMimeTypes(android.view.inputmethod.EditorInfo) -> getContentMimeTypes
+ 391:420:java.lang.CharSequence getInitialSelectedText(android.view.inputmethod.EditorInfo,int) -> getInitialSelectedText
+ 437:455:java.lang.CharSequence getInitialTextAfterCursor(android.view.inputmethod.EditorInfo,int,int) -> getInitialTextAfterCursor
+ 356:375:java.lang.CharSequence getInitialTextBeforeCursor(android.view.inputmethod.EditorInfo,int,int) -> getInitialTextBeforeCursor
+ 504:521:int getProtocol(android.view.inputmethod.EditorInfo) -> getProtocol
+ 460:466:boolean isCutOnSurrogate(java.lang.CharSequence,int,int) -> isCutOnSurrogate
+ 471:473:boolean isPasswordInputType(int) -> isPasswordInputType
+ 158:167:void setContentMimeTypes(android.view.inputmethod.EditorInfo,java.lang.String[]) -> setContentMimeTypes
+ 235:268:void setInitialSurroundingSubText(android.view.inputmethod.EditorInfo,java.lang.CharSequence,int) -> setInitialSurroundingSubText
+ 212:217:void setInitialSurroundingText(android.view.inputmethod.EditorInfo,java.lang.CharSequence) -> setInitialSurroundingText
+ 484:493:void setSurroundingText(android.view.inputmethod.EditorInfo,java.lang.CharSequence,int,int) -> setSurroundingText
+ 289:340:void trimLongSurroundingText(android.view.inputmethod.EditorInfo,java.lang.CharSequence,int,int) -> trimLongSurroundingText
+androidx.core.view.inputmethod.EditorInfoCompat$Impl30 -> androidx.core.view.inputmethod.EditorInfoCompat$Impl30:
+ 532:532:void <init>() -> <init>
+ 545:545:java.lang.CharSequence getInitialSelectedText(android.view.inputmethod.EditorInfo,int) -> getInitialSelectedText
+ 550:550:java.lang.CharSequence getInitialTextAfterCursor(android.view.inputmethod.EditorInfo,int,int) -> getInitialTextAfterCursor
+ 541:541:java.lang.CharSequence getInitialTextBeforeCursor(android.view.inputmethod.EditorInfo,int,int) -> getInitialTextBeforeCursor
+ 536:537:void setInitialSurroundingSubText(android.view.inputmethod.EditorInfo,java.lang.CharSequence,int) -> setInitialSurroundingSubText
+androidx.core.view.inputmethod.InputConnectionCompat -> androidx.core.view.inputmethod.InputConnectionCompat:
+ 303:304:void <init>() -> <init>
+ 132:187:boolean commitContent(android.view.inputmethod.InputConnection,android.view.inputmethod.EditorInfo,androidx.core.view.inputmethod.InputContentInfoCompat,int,android.os.Bundle) -> commitContent
+ 260:288:android.view.inputmethod.InputConnection createWrapper(android.view.inputmethod.InputConnection,android.view.inputmethod.EditorInfo,androidx.core.view.inputmethod.InputConnectionCompat$OnCommitContentListener) -> createWrapper
+ 72:115:boolean handlePerformPrivateCommand(java.lang.String,android.os.Bundle,androidx.core.view.inputmethod.InputConnectionCompat$OnCommitContentListener) -> handlePerformPrivateCommand
+androidx.core.view.inputmethod.InputConnectionCompat$1 -> androidx.core.view.inputmethod.InputConnectionCompat$1:
+ 271:271:void <init>(android.view.inputmethod.InputConnection,boolean,androidx.core.view.inputmethod.InputConnectionCompat$OnCommitContentListener) -> <init>
+ 275:279:boolean commitContent(android.view.inputmethod.InputContentInfo,int,android.os.Bundle) -> commitContent
+androidx.core.view.inputmethod.InputConnectionCompat$2 -> androidx.core.view.inputmethod.InputConnectionCompat$2:
+ 288:288:void <init>(android.view.inputmethod.InputConnection,boolean,androidx.core.view.inputmethod.InputConnectionCompat$OnCommitContentListener) -> <init>
+ 291:294:boolean performPrivateCommand(java.lang.String,android.os.Bundle) -> performPrivateCommand
+androidx.core.view.inputmethod.InputContentInfoCompat -> androidx.core.view.inputmethod.InputContentInfoCompat:
+ 169:175:void <init>(android.net.Uri,android.content.ClipDescription,android.net.Uri) -> <init>
+ 177:179:void <init>(androidx.core.view.inputmethod.InputContentInfoCompat$InputContentInfoCompatImpl) -> <init>
+ 186:186:android.net.Uri getContentUri() -> getContentUri
+ 196:196:android.content.ClipDescription getDescription() -> getDescription
+ 204:204:android.net.Uri getLinkUri() -> getLinkUri
+ 256:257:void releasePermission() -> releasePermission
+ 247:248:void requestPermission() -> requestPermission
+ 238:238:java.lang.Object unwrap() -> unwrap
+ 219:225:androidx.core.view.inputmethod.InputContentInfoCompat wrap(java.lang.Object) -> wrap
+androidx.core.view.inputmethod.InputContentInfoCompat$InputContentInfoCompatApi25Impl -> androidx.core.view.inputmethod.InputContentInfoCompat$InputContentInfoCompatApi25Impl:
+ 109:111:void <init>(java.lang.Object) -> <init>
+ 114:116:void <init>(android.net.Uri,android.content.ClipDescription,android.net.Uri) -> <init>
+ 121:121:android.net.Uri getContentUri() -> getContentUri
+ 127:127:android.content.ClipDescription getDescription() -> getDescription
+ 139:139:java.lang.Object getInputContentInfo() -> getInputContentInfo
+ 133:133:android.net.Uri getLinkUri() -> getLinkUri
+ 149:150:void releasePermission() -> releasePermission
+ 144:145:void requestPermission() -> requestPermission
+androidx.core.view.inputmethod.InputContentInfoCompat$InputContentInfoCompatBaseImpl -> androidx.core.view.inputmethod.InputContentInfoCompat$InputContentInfoCompatBaseImpl:
+ 62:66:void <init>(android.net.Uri,android.content.ClipDescription,android.net.Uri) -> <init>
+ 71:71:android.net.Uri getContentUri() -> getContentUri
+ 77:77:android.content.ClipDescription getDescription() -> getDescription
+ 89:89:java.lang.Object getInputContentInfo() -> getInputContentInfo
+ 83:83:android.net.Uri getLinkUri() -> getLinkUri
+ 99:99:void releasePermission() -> releasePermission
+ 94:94:void requestPermission() -> requestPermission
+androidx.core.widget.AutoScrollHelper -> androidx.core.widget.AutoScrollHelper:
+ 195:195:void <clinit>() -> <clinit>
+ 138:226:void <init>(android.view.View) -> <init>
+ 687:692:void cancelTargetTouch() -> cancelTargetTouch
+ 549:568:float computeTargetVelocity(int,float,float,float) -> computeTargetVelocity
+ 663:668:int constrain(int,int,int) -> constrain
+ 673:678:float constrain(float,float,float) -> constrain
+ 634:659:float constrainEdgeValue(float,float) -> constrainEdgeValue
+ 617:630:float getEdgeValue(float,float,float,float) -> getEdgeValue
+ 248:248:boolean isEnabled() -> isEnabled
+ 277:277:boolean isExclusive() -> isExclusive
+ 466:495:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+ 538:545:void requestStop() -> requestStop
+ 420:421:androidx.core.widget.AutoScrollHelper setActivationDelay(int) -> setActivationDelay
+ 359:360:androidx.core.widget.AutoScrollHelper setEdgeType(int) -> setEdgeType
+ 236:241:androidx.core.widget.AutoScrollHelper setEnabled(boolean) -> setEnabled
+ 264:265:androidx.core.widget.AutoScrollHelper setExclusive(boolean) -> setExclusive
+ 402:404:androidx.core.widget.AutoScrollHelper setMaximumEdges(float,float) -> setMaximumEdges
+ 296:298:androidx.core.widget.AutoScrollHelper setMaximumVelocity(float,float) -> setMaximumVelocity
+ 315:317:androidx.core.widget.AutoScrollHelper setMinimumVelocity(float,float) -> setMinimumVelocity
+ 452:453:androidx.core.widget.AutoScrollHelper setRampDownDuration(int) -> setRampDownDuration
+ 436:437:androidx.core.widget.AutoScrollHelper setRampUpDuration(int) -> setRampUpDuration
+ 379:381:androidx.core.widget.AutoScrollHelper setRelativeEdges(float,float) -> setRelativeEdges
+ 337:339:androidx.core.widget.AutoScrollHelper setRelativeVelocity(float,float) -> setRelativeVelocity
+ 502:507:boolean shouldAnimate() -> shouldAnimate
+ 514:530:void startAnimating() -> startAnimating
+androidx.core.widget.AutoScrollHelper$ClampedScroller -> androidx.core.widget.AutoScrollHelper$ClampedScroller:
+ 756:762:void <init>() -> <init>
+ 831:843:void computeScrollDelta() -> computeScrollDelta
+ 869:869:int getDeltaX() -> getDeltaX
+ 877:877:int getDeltaY() -> getDeltaY
+ 857:857:int getHorizontalDirection() -> getHorizontalDirection
+ 800:808:float getValueAt(long) -> getValueAt
+ 861:861:int getVerticalDirection() -> getVerticalDirection
+ 820:820:float interpolateValue(float) -> interpolateValue
+ 795:796:boolean isFinished() -> isFinished
+ 788:792:void requestStop() -> requestStop
+ 769:770:void setRampDownDuration(int) -> setRampDownDuration
+ 765:766:void setRampUpDuration(int) -> setRampUpDuration
+ 852:854:void setTargetVelocity(float,float) -> setTargetVelocity
+ 776:782:void start() -> start
+androidx.core.widget.AutoScrollHelper$ScrollAnimationRunnable -> androidx.core.widget.AutoScrollHelper$ScrollAnimationRunnable:
+ 695:696:void <init>(androidx.core.widget.AutoScrollHelper) -> <init>
+ 700:728:void run() -> run
+androidx.core.widget.AutoSizeableTextView -> androidx.core.widget.AutoSizeableTextView:
+ 39:39:void <clinit>() -> <clinit>
+androidx.core.widget.CompoundButtonCompat -> androidx.core.widget.CompoundButtonCompat:
+ 41:41:void <init>() -> <init>
+ 123:124:android.graphics.drawable.Drawable getButtonDrawable(android.widget.CompoundButton) -> getButtonDrawable
+ 71:72:android.content.res.ColorStateList getButtonTintList(android.widget.CompoundButton) -> getButtonTintList
+ 107:108:android.graphics.PorterDuff$Mode getButtonTintMode(android.widget.CompoundButton) -> getButtonTintMode
+ 57:62:void setButtonTintList(android.widget.CompoundButton,android.content.res.ColorStateList) -> setButtonTintList
+ 93:98:void setButtonTintMode(android.widget.CompoundButton,android.graphics.PorterDuff$Mode) -> setButtonTintMode
+androidx.core.widget.ContentLoadingProgressBar -> androidx.core.widget.ContentLoadingProgressBar:
+ 68:69:void <init>(android.content.Context) -> <init>
+ 37:73:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 97:116:void hide() -> hide
+ 77:79:void onAttachedToWindow() -> onAttachedToWindow
+ 83:85:void onDetachedFromWindow() -> onDetachedFromWindow
+ 88:90:void removeCallbacks() -> removeCallbacks
+ 123:132:void show() -> show
+androidx.core.widget.ContentLoadingProgressBar$1 -> androidx.core.widget.ContentLoadingProgressBar$1:
+ 45:45:void <init>(androidx.core.widget.ContentLoadingProgressBar) -> <init>
+ 49:52:void run() -> run
+androidx.core.widget.ContentLoadingProgressBar$2 -> androidx.core.widget.ContentLoadingProgressBar$2:
+ 55:55:void <init>(androidx.core.widget.ContentLoadingProgressBar) -> <init>
+ 59:64:void run() -> run
+androidx.core.widget.EdgeEffectCompat -> androidx.core.widget.EdgeEffectCompat:
+ 47:49:void <init>(android.content.Context) -> <init>
+ 208:208:boolean draw(android.graphics.Canvas) -> draw
+ 86:87:void finish() -> finish
+ 75:75:boolean isFinished() -> isFinished
+ 190:191:boolean onAbsorb(int) -> onAbsorb
+ 104:105:boolean onPull(float) -> onPull
+ 129:130:boolean onPull(float,float) -> onPull
+ 152:157:void onPull(android.widget.EdgeEffect,float,float) -> onPull
+ 171:172:boolean onRelease() -> onRelease
+ 61:62:void setSize(int,int) -> setSize
+androidx.core.widget.ImageViewCompat -> androidx.core.widget.ImageViewCompat:
+ 107:107:void <init>() -> <init>
+ 37:38:android.content.res.ColorStateList getImageTintList(android.widget.ImageView) -> getImageTintList
+ 74:75:android.graphics.PorterDuff$Mode getImageTintMode(android.widget.ImageView) -> getImageTintMode
+ 50:67:void setImageTintList(android.widget.ImageView,android.content.res.ColorStateList) -> setImageTintList
+ 88:105:void setImageTintMode(android.widget.ImageView,android.graphics.PorterDuff$Mode) -> setImageTintMode
+androidx.core.widget.ListPopupWindowCompat -> androidx.core.widget.ListPopupWindowCompat:
+ 31:33:void <init>() -> <init>
+ 65:65:android.view.View$OnTouchListener createDragToOpenListener(java.lang.Object,android.view.View) -> createDragToOpenListener
+ 97:98:android.view.View$OnTouchListener createDragToOpenListener(android.widget.ListPopupWindow,android.view.View) -> createDragToOpenListener
+androidx.core.widget.ListViewAutoScrollHelper -> androidx.core.widget.ListViewAutoScrollHelper:
+ 33:36:void <init>(android.widget.ListView) -> <init>
+ 46:46:boolean canTargetScrollHorizontally(int) -> canTargetScrollHorizontally
+ 51:83:boolean canTargetScrollVertically(int) -> canTargetScrollVertically
+ 40:41:void scrollTargetBy(int,int) -> scrollTargetBy
+androidx.core.widget.ListViewCompat -> androidx.core.widget.ListViewCompat:
+ 90:90:void <init>() -> <init>
+ 67:69:boolean canScrollList(android.widget.ListView,int) -> canScrollList
+ 37:55:void scrollListBy(android.widget.ListView,int) -> scrollListBy
+androidx.core.widget.NestedScrollView -> androidx.core.widget.NestedScrollView:
+ 176:178:void <clinit>() -> <clinit>
+ 190:191:void <init>(android.content.Context) -> <init>
+ 194:195:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 102:216:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 1673:1675:void abortAnimatedScroll() -> abortAnimatedScroll
+ 472:477:void addView(android.view.View) -> addView
+ 481:486:void addView(android.view.View,int) -> addView
+ 490:495:void addView(android.view.View,android.view.ViewGroup$LayoutParams) -> addView
+ 499:504:void addView(android.view.View,int,android.view.ViewGroup$LayoutParams) -> addView
+ 1325:1371:boolean arrowScroll(int) -> arrowScroll
+ 523:530:boolean canScroll() -> canScroll
+ 2048:2074:int clamp(int,int,int) -> clamp
+ 1569:1569:int computeHorizontalScrollExtent() -> computeHorizontalScrollExtent
+ 1562:1562:int computeHorizontalScrollOffset() -> computeHorizontalScrollOffset
+ 1555:1555:int computeHorizontalScrollRange() -> computeHorizontalScrollRange
+ 1605:1660:void computeScroll() -> computeScroll
+ 1725:1786:int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect) -> computeScrollDeltaToGetChildRectOnScreen
+ 1548:1548:int computeVerticalScrollExtent() -> computeVerticalScrollExtent
+ 1541:1541:int computeVerticalScrollOffset() -> computeVerticalScrollOffset
+ 1517:1534:int computeVerticalScrollRange() -> computeVerticalScrollRange
+ 621:621:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 298:298:boolean dispatchNestedFling(float,float,boolean) -> dispatchNestedFling
+ 303:303:boolean dispatchNestedPreFling(float,float) -> dispatchNestedPreFling
+ 254:254:boolean dispatchNestedPreScroll(int,int,int[],int[],int) -> dispatchNestedPreScroll
+ 293:293:boolean dispatchNestedPreScroll(int,int,int[],int[]) -> dispatchNestedPreScroll
+ 223:225:void dispatchNestedScroll(int,int,int,int,int[],int,int[]) -> dispatchNestedScroll
+ 247:247:boolean dispatchNestedScroll(int,int,int,int,int[],int) -> dispatchNestedScroll
+ 287:287:boolean dispatchNestedScroll(int,int,int,int,int[]) -> dispatchNestedScroll
+ 1400:1407:void doScrollY(int) -> doScrollY
+ 1998:2045:void draw(android.graphics.Canvas) -> draw
+ 1949:1958:void endDrag() -> endDrag
+ 1984:1994:void ensureGlows() -> ensureGlows
+ 633:671:boolean executeKeyEvent(android.view.KeyEvent) -> executeKeyEvent
+ 1146:1207:android.view.View findFocusableViewInBounds(boolean,int,int) -> findFocusableViewInBounds
+ 1937:1946:void fling(int) -> fling
+ 1261:1277:boolean fullScroll(int) -> fullScroll
+ 435:448:float getBottomFadingEdgeStrength() -> getBottomFadingEdgeStrength
+ 456:456:int getMaxScrollAmount() -> getMaxScrollAmount
+ 408:408:int getNestedScrollAxes() -> getNestedScrollAxes
+ 1118:1126:int getScrollRange() -> getScrollRange
+ 420:430:float getTopFadingEdgeStrength() -> getTopFadingEdgeStrength
+ 1039:1050:float getVerticalScrollFactorCompat() -> getVerticalScrollFactorCompat
+ 241:241:boolean hasNestedScrollingParent(int) -> hasNestedScrollingParent
+ 281:281:boolean hasNestedScrollingParent() -> hasNestedScrollingParent
+ 675:683:boolean inChild(int,int) -> inChild
+ 687:692:void initOrResetVelocityTracker() -> initOrResetVelocityTracker
+ 460:468:void initScrollView() -> initScrollView
+ 695:698:void initVelocityTrackerIfNotExists() -> initVelocityTrackerIfNotExists
+ 541:541:boolean isFillViewport() -> isFillViewport
+ 266:266:boolean isNestedScrollingEnabled() -> isNestedScrollingEnabled
+ 1379:1379:boolean isOffScreen(android.view.View) -> isOffScreen
+ 563:563:boolean isSmoothScrollingEnabled() -> isSmoothScrollingEnabled
+ 1921:1926:boolean isViewDescendantOf(android.view.View,android.view.View) -> isViewDescendantOf
+ 1387:1391:boolean isWithinDeltaOfScreen(android.view.View,int,int) -> isWithinDeltaOfScreen
+ 1575:1586:void measureChild(android.view.View,int,int) -> measureChild
+ 1591:1600:void measureChildWithMargins(android.view.View,int,int,int,int) -> measureChildWithMargins
+ 1892:1895:void onAttachedToWindow() -> onAttachedToWindow
+ 1011:1035:boolean onGenericMotionEvent(android.view.MotionEvent) -> onGenericMotionEvent
+ 728:823:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 1854:1888:void onLayout(boolean,int,int,int,int) -> onLayout
+ 585:616:void onMeasure(int,int) -> onMeasure
+ 393:398:boolean onNestedFling(android.view.View,float,float,boolean) -> onNestedFling
+ 403:403:boolean onNestedPreFling(android.view.View,float,float) -> onNestedPreFling
+ 357:358:void onNestedPreScroll(android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 387:388:void onNestedPreScroll(android.view.View,int,int,int[]) -> onNestedPreScroll
+ 311:312:void onNestedScroll(android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 351:352:void onNestedScroll(android.view.View,int,int,int,int,int) -> onNestedScroll
+ 382:383:void onNestedScroll(android.view.View,int,int,int,int) -> onNestedScroll
+ 338:340:void onNestedScrollAccepted(android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 371:372:void onNestedScrollAccepted(android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 315:325:void onNestedScrollInternal(int,int,int[]) -> onNestedScrollInternal
+ 1056:1057:void onOverScrolled(int,int,boolean,boolean) -> onOverScrolled
+ 1814:1833:boolean onRequestFocusInDescendants(int,android.graphics.Rect) -> onRequestFocusInDescendants
+ 2079:2088:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 2092:2095:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 576:581:void onScrollChanged(int,int,int,int) -> onScrollChanged
+ 994:1007:void onSecondaryPointerUp(android.view.MotionEvent) -> onSecondaryPointerUp
+ 1899:1915:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 332:332:boolean onStartNestedScroll(android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 365:365:boolean onStartNestedScroll(android.view.View,android.view.View,int) -> onStartNestedScroll
+ 344:346:void onStopNestedScroll(android.view.View,int) -> onStopNestedScroll
+ 376:377:void onStopNestedScroll(android.view.View) -> onStopNestedScroll
+ 828:990:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 1064:1114:boolean overScrollByCompat(int,int,int,int,int,int,int,int,boolean) -> overScrollByCompat
+ 1223:1245:boolean pageScroll(int) -> pageScroll
+ 701:705:void recycleVelocityTracker() -> recycleVelocityTracker
+ 1791:1798:void requestChildFocus(android.view.View,android.view.View) -> requestChildFocus
+ 1840:1843:boolean requestChildRectangleOnScreen(android.view.View,android.graphics.Rect,boolean) -> requestChildRectangleOnScreen
+ 709:713:void requestDisallowInterceptTouchEvent(boolean) -> requestDisallowInterceptTouchEvent
+ 1848:1850:void requestLayout() -> requestLayout
+ 1663:1670:void runAnimatedScroll(boolean) -> runAnimatedScroll
+ 1293:1314:boolean scrollAndFocus(int,int,int) -> scrollAndFocus
+ 1968:1981:void scrollTo(int,int) -> scrollTo
+ 1683:1693:void scrollToChild(android.view.View) -> scrollToChild
+ 1704:1713:boolean scrollToChildRect(android.graphics.Rect,boolean) -> scrollToChildRect
+ 553:557:void setFillViewport(boolean) -> setFillViewport
+ 261:262:void setNestedScrollingEnabled(boolean) -> setNestedScrollingEnabled
+ 516:517:void setOnScrollChangeListener(androidx.core.widget.NestedScrollView$OnScrollChangeListener) -> setOnScrollChangeListener
+ 571:572:void setSmoothScrollingEnabled(boolean) -> setSmoothScrollingEnabled
+ 415:415:boolean shouldDelayChildPressedState() -> shouldDelayChildPressedState
+ 1416:1417:void smoothScrollBy(int,int) -> smoothScrollBy
+ 1427:1428:void smoothScrollBy(int,int,int) -> smoothScrollBy
+ 1439:1461:void smoothScrollBy(int,int,int,boolean) -> smoothScrollBy
+ 1470:1471:void smoothScrollTo(int,int) -> smoothScrollTo
+ 1481:1482:void smoothScrollTo(int,int,int) -> smoothScrollTo
+ 1493:1494:void smoothScrollTo(int,int,boolean) -> smoothScrollTo
+ 1506:1507:void smoothScrollTo(int,int,int,boolean) -> smoothScrollTo
+ 231:231:boolean startNestedScroll(int,int) -> startNestedScroll
+ 271:271:boolean startNestedScroll(int) -> startNestedScroll
+ 236:237:void stopNestedScroll(int) -> stopNestedScroll
+ 276:277:void stopNestedScroll() -> stopNestedScroll
+androidx.core.widget.NestedScrollView$AccessibilityDelegate -> androidx.core.widget.NestedScrollView$AccessibilityDelegate:
+ 2138:2138:void <init>() -> <init>
+ 2203:2212:void onInitializeAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 2178:2199:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 2141:2173:boolean performAccessibilityAction(android.view.View,int,android.os.Bundle) -> performAccessibilityAction
+androidx.core.widget.NestedScrollView$SavedState -> androidx.core.widget.NestedScrollView$SavedState:
+ 2124:2124:void <clinit>() -> <clinit>
+ 2102:2103:void <init>(android.os.Parcelable) -> <init>
+ 2106:2108:void <init>(android.os.Parcel) -> <init>
+ 2119:2120:java.lang.String toString() -> toString
+ 2112:2114:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.core.widget.NestedScrollView$SavedState$1 -> androidx.core.widget.NestedScrollView$SavedState$1:
+ 2125:2125:void <init>() -> <init>
+ 2125:2125:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 2128:2128:androidx.core.widget.NestedScrollView$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 2125:2125:java.lang.Object[] newArray(int) -> newArray
+ 2133:2133:androidx.core.widget.NestedScrollView$SavedState[] newArray(int) -> newArray
+androidx.core.widget.PopupMenuCompat -> androidx.core.widget.PopupMenuCompat:
+ 30:32:void <init>() -> <init>
+ 55:56:android.view.View$OnTouchListener getDragToOpenListener(java.lang.Object) -> getDragToOpenListener
+androidx.core.widget.PopupWindowCompat -> androidx.core.widget.PopupWindowCompat:
+ 46:48:void <init>() -> <init>
+ 119:120:boolean getOverlapAnchor(android.widget.PopupWindow) -> getOverlapAnchor
+ 183:184:int getWindowLayoutType(android.widget.PopupWindow) -> getWindowLayoutType
+ 90:110:void setOverlapAnchor(android.widget.PopupWindow,boolean) -> setOverlapAnchor
+ 153:155:void setWindowLayoutType(android.widget.PopupWindow,int) -> setWindowLayoutType
+ 68:81:void showAsDropDown(android.widget.PopupWindow,android.view.View,int,int,int) -> showAsDropDown
+androidx.core.widget.ScrollerCompat -> androidx.core.widget.ScrollerCompat:
+ 56:59:void <init>(android.content.Context,android.view.animation.Interpolator) -> <init>
+ 273:274:void abortAnimation() -> abortAnimation
+ 142:142:boolean computeScrollOffset() -> computeScrollOffset
+ 41:41:androidx.core.widget.ScrollerCompat create(android.content.Context) -> create
+ 49:49:androidx.core.widget.ScrollerCompat create(android.content.Context,android.view.animation.Interpolator) -> create
+ 210:211:void fling(int,int,int,int,int,int,int,int) -> fling
+ 242:244:void fling(int,int,int,int,int,int,int,int,int,int) -> fling
+ 130:130:float getCurrVelocity() -> getCurrVelocity
+ 82:82:int getCurrX() -> getCurrX
+ 94:94:int getCurrY() -> getCurrY
+ 104:104:int getFinalX() -> getFinalX
+ 114:114:int getFinalY() -> getFinalY
+ 70:70:boolean isFinished() -> isFinished
+ 334:334:boolean isOverScrolled() -> isOverScrolled
+ 294:295:void notifyHorizontalEdgeReached(int,int,int) -> notifyHorizontalEdgeReached
+ 314:315:void notifyVerticalEdgeReached(int,int,int) -> notifyVerticalEdgeReached
+ 262:262:boolean springBack(int,int,int,int,int,int) -> springBack
+ 163:164:void startScroll(int,int,int,int) -> startScroll
+ 183:184:void startScroll(int,int,int,int,int) -> startScroll
+androidx.core.widget.TextViewCompat -> androidx.core.widget.TextViewCompat:
+ 111:111:void <init>() -> <init>
+ 456:462:int getAutoSizeMaxTextSize(android.widget.TextView) -> getAutoSizeMaxTextSize
+ 439:445:int getAutoSizeMinTextSize(android.widget.TextView) -> getAutoSizeMinTextSize
+ 422:428:int getAutoSizeStepGranularity(android.widget.TextView) -> getAutoSizeStepGranularity
+ 473:479:int[] getAutoSizeTextAvailableSizes(android.widget.TextView) -> getAutoSizeTextAvailableSizes
+ 406:412:int getAutoSizeTextType(android.widget.TextView) -> getAutoSizeTextType
+ 1009:1011:android.content.res.ColorStateList getCompoundDrawableTintList(android.widget.TextView) -> getCompoundDrawableTintList
+ 1044:1046:android.graphics.PorterDuff$Mode getCompoundDrawableTintMode(android.widget.TextView) -> getCompoundDrawableTintMode
+ 295:296:android.graphics.drawable.Drawable[] getCompoundDrawablesRelative(android.widget.TextView) -> getCompoundDrawablesRelative
+ 768:768:int getFirstBaselineToTopHeight(android.widget.TextView) -> getFirstBaselineToTopHeight
+ 778:778:int getLastBaselineToBottomHeight(android.widget.TextView) -> getLastBaselineToBottomHeight
+ 226:227:int getMaxLines(android.widget.TextView) -> getMaxLines
+ 252:253:int getMinLines(android.widget.TextView) -> getMinLines
+ 963:980:int getTextDirection(android.text.TextDirectionHeuristic) -> getTextDirection
+ 907:954:android.text.TextDirectionHeuristic getTextDirectionHeuristic(android.widget.TextView) -> getTextDirectionHeuristic
+ 815:827:androidx.core.text.PrecomputedTextCompat$Params getTextMetricsParams(android.widget.TextView) -> getTextMetricsParams
+ 114:121:java.lang.reflect.Field retrieveField(java.lang.String) -> retrieveField
+ 126:130:int retrieveIntFromField(java.lang.reflect.Field,android.widget.TextView) -> retrieveIntFromField
+ 361:368:void setAutoSizeTextTypeUniformWithConfiguration(android.widget.TextView,int,int,int,int) -> setAutoSizeTextTypeUniformWithConfiguration
+ 387:393:void setAutoSizeTextTypeUniformWithPresetSizes(android.widget.TextView,int[],int) -> setAutoSizeTextTypeUniformWithPresetSizes
+ 326:331:void setAutoSizeTextTypeWithDefaults(android.widget.TextView,int) -> setAutoSizeTextTypeWithDefaults
+ 993:999:void setCompoundDrawableTintList(android.widget.TextView,android.content.res.ColorStateList) -> setCompoundDrawableTintList
+ 1027:1034:void setCompoundDrawableTintMode(android.widget.TextView,android.graphics.PorterDuff$Mode) -> setCompoundDrawableTintMode
+ 151:159:void setCompoundDrawablesRelative(android.widget.TextView,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawablesRelative
+ 178:187:void setCompoundDrawablesRelativeWithIntrinsicBounds(android.widget.TextView,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawablesRelativeWithIntrinsicBounds
+ 210:219:void setCompoundDrawablesRelativeWithIntrinsicBounds(android.widget.TextView,int,int,int,int) -> setCompoundDrawablesRelativeWithIntrinsicBounds
+ 506:508:void setCustomSelectionActionModeCallback(android.widget.TextView,android.view.ActionMode$Callback) -> setCustomSelectionActionModeCallback
+ 693:718:void setFirstBaselineToTopHeight(android.widget.TextView,int) -> setFirstBaselineToTopHeight
+ 738:759:void setLastBaselineToBottomHeight(android.widget.TextView,int) -> setLastBaselineToBottomHeight
+ 796:804:void setLineHeight(android.widget.TextView,int) -> setLineHeight
+ 884:895:void setPrecomputedText(android.widget.TextView,androidx.core.text.PrecomputedTextCompat) -> setPrecomputedText
+ 283:288:void setTextAppearance(android.widget.TextView,int) -> setTextAppearance
+ 842:869:void setTextMetricsParams(android.widget.TextView,androidx.core.text.PrecomputedTextCompat$Params) -> setTextMetricsParams
+ 519:529:android.view.ActionMode$Callback wrapCustomSelectionActionModeCallback(android.widget.TextView,android.view.ActionMode$Callback) -> wrapCustomSelectionActionModeCallback
+androidx.core.widget.TextViewCompat$OreoCallback -> androidx.core.widget.TextViewCompat$OreoCallback:
+ 549:553:void <init>(android.view.ActionMode$Callback,android.widget.TextView) -> <init>
+ 671:671:android.content.Intent createProcessTextIntent() -> createProcessTextIntent
+ 659:661:android.content.Intent createProcessTextIntentForResolveInfo(android.content.pm.ResolveInfo,android.widget.TextView) -> createProcessTextIntentForResolveInfo
+ 630:642:java.util.List getSupportedActivities(android.content.Context,android.content.pm.PackageManager) -> getSupportedActivities
+ 665:667:boolean isEditable(android.widget.TextView) -> isEditable
+ 646:653:boolean isSupportedActivity(android.content.pm.ResolveInfo,android.content.Context) -> isSupportedActivity
+ 568:568:boolean onActionItemClicked(android.view.ActionMode,android.view.MenuItem) -> onActionItemClicked
+ 557:557:boolean onCreateActionMode(android.view.ActionMode,android.view.Menu) -> onCreateActionMode
+ 573:574:void onDestroyActionMode(android.view.ActionMode) -> onDestroyActionMode
+ 562:563:boolean onPrepareActionMode(android.view.ActionMode,android.view.Menu) -> onPrepareActionMode
+ 577:626:void recomputeProcessTextMenuItems(android.view.Menu) -> recomputeProcessTextMenuItems
+androidx.core.widget.TextViewOnReceiveContentListener -> androidx.core.widget.TextViewOnReceiveContentListener:
+ 51:51:void <init>() -> <init>
+ 108:115:java.lang.CharSequence coerceToText(android.content.ClipData,android.content.Context,int) -> coerceToText
+ 120:121:java.lang.CharSequence coerceToText(android.content.Context,android.content.ClipData$Item,int) -> coerceToText
+ 58:95:androidx.core.view.ContentInfoCompat onReceiveContent(android.view.View,androidx.core.view.ContentInfoCompat) -> onReceiveContent
+ 100:103:void onReceiveForDragAndDrop(android.widget.TextView,androidx.core.view.ContentInfoCompat) -> onReceiveForDragAndDrop
+ 129:135:void replaceSelection(android.text.Editable,java.lang.CharSequence) -> replaceSelection
+androidx.core.widget.TextViewOnReceiveContentListener$Api16Impl -> androidx.core.widget.TextViewOnReceiveContentListener$Api16Impl:
+ 139:139:void <init>() -> <init>
+ 143:147:java.lang.CharSequence coerce(android.content.Context,android.content.ClipData$Item,int) -> coerce
+androidx.core.widget.TextViewOnReceiveContentListener$ApiImpl -> androidx.core.widget.TextViewOnReceiveContentListener$ApiImpl:
+ 153:153:void <init>() -> <init>
+ 157:161:java.lang.CharSequence coerce(android.content.Context,android.content.ClipData$Item,int) -> coerce
+androidx.cursoradapter.widget.CursorAdapter -> androidx.cursoradapter.widget.CursorAdapter:
+ 134:136:void <init>(android.content.Context,android.database.Cursor) -> <init>
+ 150:152:void <init>(android.content.Context,android.database.Cursor,boolean) -> <init>
+ 163:165:void <init>(android.content.Context,android.database.Cursor,int) -> <init>
+ 334:338:void changeCursor(android.database.Cursor) -> changeCursor
+ 387:387:java.lang.CharSequence convertToString(android.database.Cursor) -> convertToString
+ 216:219:int getCount() -> getCount
+ 208:208:android.database.Cursor getCursor() -> getCursor
+ 280:291:android.view.View getDropDownView(int,android.view.View,android.view.ViewGroup) -> getDropDownView
+ 426:429:android.widget.Filter getFilter() -> getFilter
+ 442:442:android.widget.FilterQueryProvider getFilterQueryProvider() -> getFilterQueryProvider
+ 228:232:java.lang.Object getItem(int) -> getItem
+ 241:248:long getItemId(int) -> getItemId
+ 262:275:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 254:254:boolean hasStableIds() -> hasStableIds
+ 173:174:void init(android.content.Context,android.database.Cursor,boolean) -> init
+ 177:200:void init(android.content.Context,android.database.Cursor,int) -> init
+ 314:314:android.view.View newDropDownView(android.content.Context,android.database.Cursor,android.view.ViewGroup) -> newDropDownView
+ 469:473:void onContentChanged() -> onContentChanged
+ 417:421:android.database.Cursor runQueryOnBackgroundThread(java.lang.CharSequence) -> runQueryOnBackgroundThread
+ 458:459:void setFilterQueryProvider(android.widget.FilterQueryProvider) -> setFilterQueryProvider
+ 351:373:android.database.Cursor swapCursor(android.database.Cursor) -> swapCursor
+androidx.cursoradapter.widget.CursorAdapter$ChangeObserver -> androidx.cursoradapter.widget.CursorAdapter$ChangeObserver:
+ 476:478:void <init>(androidx.cursoradapter.widget.CursorAdapter) -> <init>
+ 482:482:boolean deliverSelfNotifications() -> deliverSelfNotifications
+ 487:488:void onChange(boolean) -> onChange
+androidx.cursoradapter.widget.CursorAdapter$MyDataSetObserver -> androidx.cursoradapter.widget.CursorAdapter$MyDataSetObserver:
+ 492:493:void <init>(androidx.cursoradapter.widget.CursorAdapter) -> <init>
+ 497:499:void onChanged() -> onChanged
+ 503:505:void onInvalidated() -> onInvalidated
+androidx.cursoradapter.widget.CursorFilter -> androidx.cursoradapter.widget.CursorFilter:
+ 39:41:void <init>(androidx.cursoradapter.widget.CursorFilter$CursorFilterClient) -> <init>
+ 45:45:java.lang.CharSequence convertResultToString(java.lang.Object) -> convertResultToString
+ 50:60:android.widget.Filter$FilterResults performFiltering(java.lang.CharSequence) -> performFiltering
+ 65:70:void publishResults(java.lang.CharSequence,android.widget.Filter$FilterResults) -> publishResults
+androidx.cursoradapter.widget.ResourceCursorAdapter -> androidx.cursoradapter.widget.ResourceCursorAdapter:
+ 54:57:void <init>(android.content.Context,int,android.database.Cursor) -> <init>
+ 82:85:void <init>(android.content.Context,int,android.database.Cursor,boolean) -> <init>
+ 99:102:void <init>(android.content.Context,int,android.database.Cursor,int) -> <init>
+ 117:117:android.view.View newDropDownView(android.content.Context,android.database.Cursor,android.view.ViewGroup) -> newDropDownView
+ 112:112:android.view.View newView(android.content.Context,android.database.Cursor,android.view.ViewGroup) -> newView
+ 135:136:void setDropDownViewResource(int) -> setDropDownViewResource
+ 126:127:void setViewResource(int) -> setViewResource
+androidx.cursoradapter.widget.SimpleCursorAdapter -> androidx.cursoradapter.widget.SimpleCursorAdapter:
+ 53:73:void <init>(android.content.Context,int,android.database.Cursor,java.lang.String[],int[]) -> <init>
+ 53:99:void <init>(android.content.Context,int,android.database.Cursor,java.lang.String[],int[],int) -> <init>
+ 126:156:void bindView(android.view.View,android.content.Context,android.database.Cursor) -> bindView
+ 351:358:void changeCursorAndColumns(android.database.Cursor,java.lang.String[],int[]) -> changeCursorAndColumns
+ 299:305:java.lang.CharSequence convertToString(android.database.Cursor) -> convertToString
+ 316:328:void findColumns(android.database.Cursor,java.lang.String[]) -> findColumns
+ 267:267:androidx.cursoradapter.widget.SimpleCursorAdapter$CursorToStringConverter getCursorToStringConverter() -> getCursorToStringConverter
+ 233:233:int getStringConversionColumn() -> getStringConversionColumn
+ 167:167:androidx.cursoradapter.widget.SimpleCursorAdapter$ViewBinder getViewBinder() -> getViewBinder
+ 283:284:void setCursorToStringConverter(androidx.cursoradapter.widget.SimpleCursorAdapter$CursorToStringConverter) -> setCursorToStringConverter
+ 251:252:void setStringConversionColumn(int) -> setStringConversionColumn
+ 180:181:void setViewBinder(androidx.cursoradapter.widget.SimpleCursorAdapter$ViewBinder) -> setViewBinder
+ 200:204:void setViewImage(android.widget.ImageView,java.lang.String) -> setViewImage
+ 218:219:void setViewText(android.widget.TextView,java.lang.String) -> setViewText
+ 335:336:android.database.Cursor swapCursor(android.database.Cursor) -> swapCursor
+androidx.customview.view.AbsSavedState -> androidx.customview.view.AbsSavedState:
+ 30:88:void <clinit>() -> <clinit>
+ 29:29:void <init>(androidx.customview.view.AbsSavedState$1) -> <init>
+ 37:39:void <init>() -> <init>
+ 46:51:void <init>(android.os.Parcelable) -> <init>
+ 59:60:void <init>(android.os.Parcel) -> <init>
+ 68:71:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 80:80:int describeContents() -> describeContents
+ 75:75:android.os.Parcelable getSuperState() -> getSuperState
+ 85:86:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.customview.view.AbsSavedState$1 -> androidx.customview.view.AbsSavedState$1:
+ 30:30:void <init>() -> <init>
+androidx.customview.view.AbsSavedState$2 -> androidx.customview.view.AbsSavedState$2:
+ 88:88:void <init>() -> <init>
+ 88:88:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 88:88:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 91:95:androidx.customview.view.AbsSavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 100:100:androidx.customview.view.AbsSavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 88:88:java.lang.Object[] newArray(int) -> newArray
+ 105:105:androidx.customview.view.AbsSavedState[] newArray(int) -> newArray
+androidx.customview.widget.ExploreByTouchHelper -> androidx.customview.widget.ExploreByTouchHelper:
+ 100:347:void <clinit>() -> <clinit>
+ 104:153:void <init>(android.view.View) -> <init>
+ 998:1005:boolean clearAccessibilityFocus(int) -> clearAccessibilityFocus
+ 1046:1056:boolean clearKeyboardFocusForVirtualView(int) -> clearKeyboardFocusForVirtualView
+ 481:481:boolean clickKeyboardFocusedVirtualView() -> clickKeyboardFocusedVirtualView
+ 637:641:android.view.accessibility.AccessibilityEvent createEvent(int,int) -> createEvent
+ 677:702:android.view.accessibility.AccessibilityEvent createEventForChild(int,int) -> createEventForChild
+ 653:655:android.view.accessibility.AccessibilityEvent createEventForHost(int) -> createEventForHost
+ 791:891:androidx.core.view.accessibility.AccessibilityNodeInfoCompat createNodeForChild(int) -> createNodeForChild
+ 734:750:androidx.core.view.accessibility.AccessibilityNodeInfoCompat createNodeForHost() -> createNodeForHost
+ 182:199:boolean dispatchHoverEvent(android.view.MotionEvent) -> dispatchHoverEvent
+ 216:257:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 290:290:int getAccessibilityFocusedVirtualViewId() -> getAccessibilityFocusedVirtualViewId
+ 157:160:androidx.core.view.accessibility.AccessibilityNodeProviderCompat getAccessibilityNodeProvider(android.view.View) -> getAccessibilityNodeProvider
+ 427:436:androidx.collection.SparseArrayCompat getAllNodes() -> getAllNodes
+ 328:330:void getBoundsInParent(int,android.graphics.Rect) -> getBoundsInParent
+ 589:589:int getFocusedVirtualView() -> getFocusedVirtualView
+ 298:298:int getKeyboardFocusedVirtualViewId() -> getKeyboardFocusedVirtualViewId
+ 450:471:android.graphics.Rect guessPreviouslyFocusedRect(android.view.View,int,android.graphics.Rect) -> guessPreviouslyFocusedRect
+ 526:527:void invalidateRoot() -> invalidateRoot
+ 542:544:void invalidateVirtualView(int) -> invalidateVirtualView
+ 566:576:void invalidateVirtualView(int,int) -> invalidateVirtualView
+ 932:952:boolean isVisibleToUser(android.graphics.Rect) -> isVisibleToUser
+ 309:317:int keyToDirection(int) -> keyToDirection
+ 372:423:boolean moveFocus(int,android.graphics.Rect) -> moveFocus
+ 719:723:androidx.core.view.accessibility.AccessibilityNodeInfoCompat obtainAccessibilityNodeInfo(int) -> obtainAccessibilityNodeInfo
+ 275:282:void onFocusChanged(boolean,int,android.graphics.Rect) -> onFocusChanged
+ 660:664:void onInitializeAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 755:759:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 1128:1128:void onPopulateEventForHost(android.view.accessibility.AccessibilityEvent) -> onPopulateEventForHost
+ 1116:1116:void onPopulateEventForVirtualView(int,android.view.accessibility.AccessibilityEvent) -> onPopulateEventForVirtualView
+ 1206:1206:void onPopulateNodeForHost(androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onPopulateNodeForHost
+ 601:601:void onVirtualViewKeyboardFocusChanged(int,boolean) -> onVirtualViewKeyboardFocusChanged
+ 895:899:boolean performAction(int,int,android.os.Bundle) -> performAction
+ 908:918:boolean performActionForChild(int,int,android.os.Bundle) -> performActionForChild
+ 904:904:boolean performActionForHost(int,android.os.Bundle) -> performActionForHost
+ 968:987:boolean requestAccessibilityFocus(int) -> requestAccessibilityFocus
+ 1016:1035:boolean requestKeyboardFocusForVirtualView(int) -> requestKeyboardFocusForVirtualView
+ 505:515:boolean sendEventForVirtualView(int,int) -> sendEventForVirtualView
+ 612:624:void updateHoveredVirtualView(int) -> updateHoveredVirtualView
+androidx.customview.widget.ExploreByTouchHelper$1 -> androidx.customview.widget.ExploreByTouchHelper$1:
+ 336:336:void <init>() -> <init>
+ 336:336:void obtainBounds(java.lang.Object,android.graphics.Rect) -> obtainBounds
+ 339:340:void obtainBounds(androidx.core.view.accessibility.AccessibilityNodeInfoCompat,android.graphics.Rect) -> obtainBounds
+androidx.customview.widget.ExploreByTouchHelper$2 -> androidx.customview.widget.ExploreByTouchHelper$2:
+ 349:349:void <init>() -> <init>
+ 349:349:java.lang.Object get(java.lang.Object,int) -> get
+ 353:353:androidx.core.view.accessibility.AccessibilityNodeInfoCompat get(androidx.collection.SparseArrayCompat,int) -> get
+ 349:349:int size(java.lang.Object) -> size
+ 358:358:int size(androidx.collection.SparseArrayCompat) -> size
+androidx.customview.widget.ExploreByTouchHelper$MyNodeProvider -> androidx.customview.widget.ExploreByTouchHelper$MyNodeProvider:
+ 1238:1239:void <init>(androidx.customview.widget.ExploreByTouchHelper) -> <init>
+ 1245:1247:androidx.core.view.accessibility.AccessibilityNodeInfoCompat createAccessibilityNodeInfo(int) -> createAccessibilityNodeInfo
+ 1257:1262:androidx.core.view.accessibility.AccessibilityNodeInfoCompat findFocus(int) -> findFocus
+ 1252:1252:boolean performAction(int,int,android.os.Bundle) -> performAction
+androidx.customview.widget.FocusStrategy -> androidx.customview.widget.FocusStrategy:
+ 454:455:void <init>() -> <init>
+ 243:272:boolean beamBeats(int,android.graphics.Rect,android.graphics.Rect,android.graphics.Rect) -> beamBeats
+ 326:334:boolean beamsOverlap(int,android.graphics.Rect,android.graphics.Rect) -> beamsOverlap
+ 145:183:java.lang.Object findNextFocusInAbsoluteDirection(java.lang.Object,androidx.customview.widget.FocusStrategy$CollectionAdapter,androidx.customview.widget.FocusStrategy$BoundsAdapter,java.lang.Object,android.graphics.Rect,int) -> findNextFocusInAbsoluteDirection
+ 40:55:java.lang.Object findNextFocusInRelativeDirection(java.lang.Object,androidx.customview.widget.FocusStrategy$CollectionAdapter,androidx.customview.widget.FocusStrategy$BoundsAdapter,java.lang.Object,int,boolean,boolean) -> findNextFocusInRelativeDirection
+ 61:71:java.lang.Object getNextFocusable(java.lang.Object,java.util.ArrayList,boolean) -> getNextFocusable
+ 76:86:java.lang.Object getPreviousFocusable(java.lang.Object,java.util.ArrayList,boolean) -> getPreviousFocusable
+ 283:283:int getWeightedDistanceFor(int,int) -> getWeightedDistanceFor
+ 203:231:boolean isBetterCandidate(int,android.graphics.Rect,android.graphics.Rect,android.graphics.Rect) -> isBetterCandidate
+ 297:311:boolean isCandidate(android.graphics.Rect,android.graphics.Rect,int) -> isCandidate
+ 343:353:boolean isToDirectionOf(int,android.graphics.Rect,android.graphics.Rect) -> isToDirectionOf
+ 365:365:int majorAxisDistance(int,android.graphics.Rect,android.graphics.Rect) -> majorAxisDistance
+ 370:380:int majorAxisDistanceRaw(int,android.graphics.Rect,android.graphics.Rect) -> majorAxisDistanceRaw
+ 392:392:int majorAxisDistanceToFarEdge(int,android.graphics.Rect,android.graphics.Rect) -> majorAxisDistanceToFarEdge
+ 398:408:int majorAxisDistanceToFarEdgeRaw(int,android.graphics.Rect,android.graphics.Rect) -> majorAxisDistanceToFarEdgeRaw
+ 423:435:int minorAxisDistance(int,android.graphics.Rect,android.graphics.Rect) -> minorAxisDistance
+androidx.customview.widget.FocusStrategy$SequentialComparator -> androidx.customview.widget.FocusStrategy$SequentialComparator:
+ 95:104:void <init>(boolean,androidx.customview.widget.FocusStrategy$BoundsAdapter) -> <init>
+ 108:135:int compare(java.lang.Object,java.lang.Object) -> compare
+androidx.customview.widget.ViewDragHelper -> androidx.customview.widget.ViewDragHelper:
+ 332:332:void <clinit>() -> <clinit>
+ 119:402:void <init>(android.content.Context,android.view.ViewGroup,androidx.customview.widget.ViewDragHelper$Callback) -> <init>
+ 525:535:void abort() -> abort
+ 933:952:boolean canScroll(android.view.View,boolean,int,int,int,int) -> canScroll
+ 511:518:void cancel() -> cancel
+ 471:480:void captureChildView(android.view.View,int) -> captureChildView
+ 1276:1289:boolean checkNewEdgeDrag(float,float,int,int) -> checkNewEdgeDrag
+ 1303:1316:boolean checkTouchSlop(android.view.View,float,float) -> checkTouchSlop
+ 1334:1340:boolean checkTouchSlop(int) -> checkTouchSlop
+ 1359:1376:boolean checkTouchSlop(int,int) -> checkTouchSlop
+ 670:673:int clampMag(int,int,int) -> clampMag
+ 687:690:float clampMag(float,float,float) -> clampMag
+ 790:801:void clearMotionHistory() -> clearMotionHistory
+ 804:815:void clearMotionHistory(int) -> clearMotionHistory
+ 638:656:int computeAxisDuration(int,int,int) -> computeAxisDuration
+ 617:634:int computeSettleDuration(android.view.View,int,int,int,int) -> computeSettleDuration
+ 735:769:boolean continueSettling(boolean) -> continueSettling
+ 355:355:androidx.customview.widget.ViewDragHelper create(android.view.ViewGroup,androidx.customview.widget.ViewDragHelper$Callback) -> create
+ 369:371:androidx.customview.widget.ViewDragHelper create(android.view.ViewGroup,float,androidx.customview.widget.ViewDragHelper$Callback) -> create
+ 779:787:void dispatchViewReleased(float,float) -> dispatchViewReleased
+ 694:696:float distanceInfluenceForSnapDuration(float) -> distanceInfluenceForSnapDuration
+ 1424:1443:void dragTo(int,int,int,int) -> dragTo
+ 818:845:void ensureMotionHistorySizeForId(int) -> ensureMotionHistorySizeForId
+ 1487:1495:android.view.View findTopChildUnder(int,int) -> findTopChildUnder
+ 710:721:void flingCapturedView(int,int,int,int) -> flingCapturedView
+ 597:613:boolean forceSettleCapturedViewAt(int,int,int,int) -> forceSettleCapturedViewAt
+ 495:495:int getActivePointerId() -> getActivePointerId
+ 487:487:android.view.View getCapturedView() -> getCapturedView
+ 459:459:int getEdgeSize() -> getEdgeSize
+ 1499:1506:int getEdgesTouched(int,int) -> getEdgesTouched
+ 422:422:float getMinVelocity() -> getMinVelocity
+ 503:503:int getTouchSlop() -> getTouchSlop
+ 431:431:int getViewDragState() -> getViewDragState
+ 1455:1455:boolean isCapturedViewUnder(int,int) -> isCapturedViewUnder
+ 1389:1395:boolean isEdgeTouched(int) -> isEdgeTouched
+ 1409:1409:boolean isEdgeTouched(int,int) -> isEdgeTouched
+ 884:884:boolean isPointerDown(int) -> isPointerDown
+ 1510:1516:boolean isValidPointerForActionMove(int) -> isValidPointerForActionMove
+ 1468:1474:boolean isViewUnder(android.view.View,int,int) -> isViewUnder
+ 1097:1252:void processTouchEvent(android.view.MotionEvent) -> processTouchEvent
+ 1413:1421:void releaseViewForPointerUp() -> releaseViewForPointerUp
+ 1255:1273:void reportNewEdgeDrags(float,float,int) -> reportNewEdgeDrags
+ 848:853:void saveInitialMotion(float,float,int) -> saveInitialMotion
+ 856:868:void saveLastMotion(android.view.MotionEvent) -> saveLastMotion
+ 888:896:void setDragState(int) -> setDragState
+ 447:448:void setEdgeTrackingEnabled(int) -> setEdgeTrackingEnabled
+ 411:412:void setMinVelocity(float) -> setMinVelocity
+ 577:584:boolean settleCapturedViewAt(int,int) -> settleCapturedViewAt
+ 963:1087:boolean shouldInterceptTouchEvent(android.view.MotionEvent) -> shouldInterceptTouchEvent
+ 552:562:boolean smoothSlideViewTo(android.view.View,int,int) -> smoothSlideViewTo
+ 908:917:boolean tryCaptureViewForDrag(android.view.View,int) -> tryCaptureViewForDrag
+androidx.customview.widget.ViewDragHelper$1 -> androidx.customview.widget.ViewDragHelper$1:
+ 332:332:void <init>() -> <init>
+ 335:336:float getInterpolation(float) -> getInterpolation
+androidx.customview.widget.ViewDragHelper$2 -> androidx.customview.widget.ViewDragHelper$2:
+ 340:340:void <init>(androidx.customview.widget.ViewDragHelper) -> <init>
+ 343:344:void run() -> run
+androidx.customview.widget.ViewDragHelper$Callback -> androidx.customview.widget.ViewDragHelper$Callback:
+ 152:152:void <init>() -> <init>
+ 310:310:int clampViewPositionHorizontal(android.view.View,int,int) -> clampViewPositionHorizontal
+ 325:325:int clampViewPositionVertical(android.view.View,int,int) -> clampViewPositionVertical
+ 255:255:int getOrderedChildIndex(int) -> getOrderedChildIndex
+ 266:266:int getViewHorizontalDragRange(android.view.View) -> getViewHorizontalDragRange
+ 277:277:int getViewVerticalDragRange(android.view.View) -> getViewVerticalDragRange
+ 246:246:void onEdgeDragStarted(int,int) -> onEdgeDragStarted
+ 232:232:boolean onEdgeLock(int) -> onEdgeLock
+ 220:220:void onEdgeTouched(int,int) -> onEdgeTouched
+ 187:187:void onViewCaptured(android.view.View,int) -> onViewCaptured
+ 163:163:void onViewDragStateChanged(int) -> onViewDragStateChanged
+ 176:176:void onViewPositionChanged(android.view.View,int,int,int,int) -> onViewPositionChanged
+ 207:207:void onViewReleased(android.view.View,float,float) -> onViewReleased
+androidx.databinding.BaseObservable -> androidx.databinding.BaseObservable:
+ 28:29:void <init>() -> <init>
+ 33:39:void addOnPropertyChangedCallback(androidx.databinding.Observable$OnPropertyChangedCallback) -> addOnPropertyChangedCallback
+ 55:61:void notifyChange() -> notifyChange
+ 71:77:void notifyPropertyChanged(int) -> notifyPropertyChanged
+ 43:49:void removeOnPropertyChangedCallback(androidx.databinding.Observable$OnPropertyChangedCallback) -> removeOnPropertyChangedCallback
+androidx.databinding.BaseObservableField -> androidx.databinding.BaseObservableField:
+ 8:9:void <init>() -> <init>
+ 11:19:void <init>(androidx.databinding.Observable[]) -> <init>
+androidx.databinding.BaseObservableField$DependencyCallback -> androidx.databinding.BaseObservableField$DependencyCallback:
+ 21:21:void <init>(androidx.databinding.BaseObservableField) -> <init>
+ 24:25:void onPropertyChanged(androidx.databinding.Observable,int) -> onPropertyChanged
+androidx.databinding.CallbackRegistry -> androidx.databinding.CallbackRegistry:
+ 48:77:void <init>(androidx.databinding.CallbackRegistry$NotifierCallback) -> <init>
+ 212:220:void add(java.lang.Object) -> add
+ 362:370:void clear() -> clear
+ 44:44:java.lang.Object clone() -> clone
+ 377:394:androidx.databinding.CallbackRegistry clone() -> clone
+ 312:320:java.util.ArrayList copyCallbacks() -> copyCallbacks
+ 328:336:void copyCallbacks(java.util.List) -> copyCallbacks
+ 343:355:boolean isEmpty() -> isEmpty
+ 229:245:boolean isRemoved(int) -> isRemoved
+ 89:108:void notifyCallbacks(java.lang.Object,int,java.lang.Object) -> notifyCallbacks
+ 198:205:void notifyCallbacks(java.lang.Object,int,java.lang.Object,int,int,long) -> notifyCallbacks
+ 121:123:void notifyFirst64(java.lang.Object,int,java.lang.Object) -> notifyFirst64
+ 140:153:void notifyRecurse(java.lang.Object,int,java.lang.Object) -> notifyRecurse
+ 168:177:void notifyRemainder(java.lang.Object,int,java.lang.Object,int) -> notifyRemainder
+ 276:285:void remove(java.lang.Object) -> remove
+ 260:269:void removeRemovedCallbacks(int,long) -> removeRemovedCallbacks
+ 288:305:void setRemovalBit(int) -> setRemovalBit
+androidx.databinding.CallbackRegistry$NotifierCallback -> androidx.databinding.CallbackRegistry$NotifierCallback:
+ 404:404:void <init>() -> <init>
+androidx.databinding.DataBinderMapper -> androidx.databinding.DataBinderMapper:
+ 32:32:void <init>() -> <init>
+ 42:42:java.util.List collectDependencies() -> collectDependencies
+androidx.databinding.DataBindingUtil -> androidx.databinding.DataBindingUtil:
+ 32:33:void <clinit>() -> <clinit>
+ 38:38:void <init>() -> <init>
+ 152:152:androidx.databinding.ViewDataBinding bind(android.view.View) -> bind
+ 174:187:androidx.databinding.ViewDataBinding bind(android.view.View,androidx.databinding.DataBindingComponent) -> bind
+ 194:194:androidx.databinding.ViewDataBinding bind(androidx.databinding.DataBindingComponent,android.view.View[],int) -> bind
+ 199:199:androidx.databinding.ViewDataBinding bind(androidx.databinding.DataBindingComponent,android.view.View,int) -> bind
+ 323:333:androidx.databinding.ViewDataBinding bindToAddedViews(androidx.databinding.DataBindingComponent,android.view.ViewGroup,int,int) -> bindToAddedViews
+ 318:318:java.lang.String convertBrIdToString(int) -> convertBrIdToString
+ 218:251:androidx.databinding.ViewDataBinding findBinding(android.view.View) -> findBinding
+ 266:266:androidx.databinding.ViewDataBinding getBinding(android.view.View) -> getBinding
+ 65:65:androidx.databinding.DataBindingComponent getDefaultComponent() -> getDefaultComponent
+ 95:95:androidx.databinding.ViewDataBinding inflate(android.view.LayoutInflater,int,android.view.ViewGroup,boolean) -> inflate
+ 124:130:androidx.databinding.ViewDataBinding inflate(android.view.LayoutInflater,int,android.view.ViewGroup,boolean,androidx.databinding.DataBindingComponent) -> inflate
+ 284:284:androidx.databinding.ViewDataBinding setContentView(android.app.Activity,int) -> setContentView
+ 303:306:androidx.databinding.ViewDataBinding setContentView(android.app.Activity,int,androidx.databinding.DataBindingComponent) -> setContentView
+ 51:52:void setDefaultComponent(androidx.databinding.DataBindingComponent) -> setDefaultComponent
+androidx.databinding.ListChangeRegistry -> androidx.databinding.ListChangeRegistry:
+ 28:38:void <clinit>() -> <clinit>
+ 143:144:void <init>() -> <init>
+ 123:130:androidx.databinding.ListChangeRegistry$ListChanges acquire(int,int,int) -> acquire
+ 24:24:void notifyCallbacks(java.lang.Object,int,java.lang.Object) -> notifyCallbacks
+ 135:140:void notifyCallbacks(androidx.databinding.ObservableList,int,androidx.databinding.ListChangeRegistry$ListChanges) -> notifyCallbacks
+ 70:71:void notifyChanged(androidx.databinding.ObservableList) -> notifyChanged
+ 81:83:void notifyChanged(androidx.databinding.ObservableList,int,int) -> notifyChanged
+ 93:95:void notifyInserted(androidx.databinding.ObservableList,int,int) -> notifyInserted
+ 106:108:void notifyMoved(androidx.databinding.ObservableList,int,int,int) -> notifyMoved
+ 118:120:void notifyRemoved(androidx.databinding.ObservableList,int,int) -> notifyRemoved
+androidx.databinding.ListChangeRegistry$1 -> androidx.databinding.ListChangeRegistry$1:
+ 39:39:void <init>() -> <init>
+ 39:39:void onNotifyCallback(java.lang.Object,java.lang.Object,int,java.lang.Object) -> onNotifyCallback
+ 43:61:void onNotifyCallback(androidx.databinding.ObservableList$OnListChangedCallback,androidx.databinding.ObservableList,int,androidx.databinding.ListChangeRegistry$ListChanges) -> onNotifyCallback
+androidx.databinding.ListChangeRegistry$ListChanges -> androidx.databinding.ListChangeRegistry$ListChanges:
+ 146:146:void <init>() -> <init>
+androidx.databinding.MapChangeRegistry -> androidx.databinding.MapChangeRegistry:
+ 27:27:void <clinit>() -> <clinit>
+ 37:38:void <init>() -> <init>
+ 47:48:void notifyChange(androidx.databinding.ObservableMap,java.lang.Object) -> notifyChange
+androidx.databinding.MapChangeRegistry$1 -> androidx.databinding.MapChangeRegistry$1:
+ 28:28:void <init>() -> <init>
+ 28:28:void onNotifyCallback(java.lang.Object,java.lang.Object,int,java.lang.Object) -> onNotifyCallback
+ 32:33:void onNotifyCallback(androidx.databinding.ObservableMap$OnMapChangedCallback,androidx.databinding.ObservableMap,int,java.lang.Object) -> onNotifyCallback
+androidx.databinding.MergedDataBinderMapper -> androidx.databinding.MergedDataBinderMapper:
+ 32:43:void <init>() -> <init>
+ 55:63:void addMapper(androidx.databinding.DataBinderMapper) -> addMapper
+ 67:68:void addMapper(java.lang.String) -> addMapper
+ 116:125:java.lang.String convertBrIdToString(int) -> convertBrIdToString
+ 73:82:androidx.databinding.ViewDataBinding getDataBinder(androidx.databinding.DataBindingComponent,android.view.View,int) -> getDataBinder
+ 88:97:androidx.databinding.ViewDataBinding getDataBinder(androidx.databinding.DataBindingComponent,android.view.View[],int) -> getDataBinder
+ 102:111:int getLayoutId(java.lang.String) -> getLayoutId
+ 132:148:boolean loadFeatures() -> loadFeatures
+androidx.databinding.Observable$OnPropertyChangedCallback -> androidx.databinding.Observable$OnPropertyChangedCallback:
+ 51:51:void <init>() -> <init>
+androidx.databinding.ObservableArrayList -> androidx.databinding.ObservableArrayList:
+ 24:25:void <init>() -> <init>
+ 44:46:boolean add(java.lang.Object) -> add
+ 51:53:void add(int,java.lang.Object) -> add
+ 57:62:boolean addAll(java.util.Collection) -> addAll
+ 67:71:boolean addAll(int,java.util.Collection) -> addAll
+ 29:33:void addOnListChangedCallback(androidx.databinding.ObservableList$OnListChangedCallback) -> addOnListChangedCallback
+ 76:81:void clear() -> clear
+ 117:120:void notifyAdd(int,int) -> notifyAdd
+ 123:126:void notifyRemove(int,int) -> notifyRemove
+ 85:87:java.lang.Object remove(int) -> remove
+ 92:97:boolean remove(java.lang.Object) -> remove
+ 37:40:void removeOnListChangedCallback(androidx.databinding.ObservableList$OnListChangedCallback) -> removeOnListChangedCallback
+ 112:114:void removeRange(int,int) -> removeRange
+ 103:107:java.lang.Object set(int,java.lang.Object) -> set
+androidx.databinding.ObservableArrayMap -> androidx.databinding.ObservableArrayMap:
+ 22:22:void <init>() -> <init>
+ 29:33:void addOnMapChangedCallback(androidx.databinding.ObservableMap$OnMapChangedCallback) -> addOnMapChangedCallback
+ 45:50:void clear() -> clear
+ 103:106:void notifyChange(java.lang.Object) -> notifyChange
+ 53:55:java.lang.Object put(java.lang.Object,java.lang.Object) -> put
+ 60:68:boolean removeAll(java.util.Collection) -> removeAll
+ 86:91:java.lang.Object removeAt(int) -> removeAt
+ 38:41:void removeOnMapChangedCallback(androidx.databinding.ObservableMap$OnMapChangedCallback) -> removeOnMapChangedCallback
+ 73:81:boolean retainAll(java.util.Collection) -> retainAll
+ 96:99:java.lang.Object setValueAt(int,java.lang.Object) -> setValueAt
+androidx.databinding.ObservableBoolean -> androidx.databinding.ObservableBoolean:
+ 101:101:void <clinit>() -> <clinit>
+ 52:54:void <init>(boolean) -> <init>
+ 59:60:void <init>() -> <init>
+ 70:71:void <init>(androidx.databinding.Observable[]) -> <init>
+ 93:93:int describeContents() -> describeContents
+ 77:77:boolean get() -> get
+ 85:89:void set(boolean) -> set
+ 98:99:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.databinding.ObservableBoolean$1 -> androidx.databinding.ObservableBoolean$1:
+ 102:102:void <init>() -> <init>
+ 102:102:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 106:106:androidx.databinding.ObservableBoolean createFromParcel(android.os.Parcel) -> createFromParcel
+ 102:102:java.lang.Object[] newArray(int) -> newArray
+ 111:111:androidx.databinding.ObservableBoolean[] newArray(int) -> newArray
+androidx.databinding.ObservableByte -> androidx.databinding.ObservableByte:
+ 103:103:void <clinit>() -> <clinit>
+ 53:55:void <init>(byte) -> <init>
+ 60:61:void <init>() -> <init>
+ 71:72:void <init>(androidx.databinding.Observable[]) -> <init>
+ 95:95:int describeContents() -> describeContents
+ 78:78:byte get() -> get
+ 87:91:void set(byte) -> set
+ 100:101:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.databinding.ObservableByte$1 -> androidx.databinding.ObservableByte$1:
+ 104:104:void <init>() -> <init>
+ 104:104:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 108:108:androidx.databinding.ObservableByte createFromParcel(android.os.Parcel) -> createFromParcel
+ 104:104:java.lang.Object[] newArray(int) -> newArray
+ 113:113:androidx.databinding.ObservableByte[] newArray(int) -> newArray
+androidx.databinding.ObservableChar -> androidx.databinding.ObservableChar:
+ 102:102:void <clinit>() -> <clinit>
+ 52:54:void <init>(char) -> <init>
+ 59:60:void <init>() -> <init>
+ 70:71:void <init>(androidx.databinding.Observable[]) -> <init>
+ 94:94:int describeContents() -> describeContents
+ 77:77:char get() -> get
+ 86:90:void set(char) -> set
+ 99:100:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.databinding.ObservableChar$1 -> androidx.databinding.ObservableChar$1:
+ 103:103:void <init>() -> <init>
+ 103:103:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 107:107:androidx.databinding.ObservableChar createFromParcel(android.os.Parcel) -> createFromParcel
+ 103:103:java.lang.Object[] newArray(int) -> newArray
+ 112:112:androidx.databinding.ObservableChar[] newArray(int) -> newArray
+androidx.databinding.ObservableDouble -> androidx.databinding.ObservableDouble:
+ 102:102:void <clinit>() -> <clinit>
+ 52:54:void <init>(double) -> <init>
+ 59:60:void <init>() -> <init>
+ 70:71:void <init>(androidx.databinding.Observable[]) -> <init>
+ 94:94:int describeContents() -> describeContents
+ 77:77:double get() -> get
+ 86:90:void set(double) -> set
+ 99:100:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.databinding.ObservableDouble$1 -> androidx.databinding.ObservableDouble$1:
+ 103:103:void <init>() -> <init>
+ 103:103:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 107:107:androidx.databinding.ObservableDouble createFromParcel(android.os.Parcel) -> createFromParcel
+ 103:103:java.lang.Object[] newArray(int) -> newArray
+ 112:112:androidx.databinding.ObservableDouble[] newArray(int) -> newArray
+androidx.databinding.ObservableField -> androidx.databinding.ObservableField:
+ 55:57:void <init>(java.lang.Object) -> <init>
+ 62:63:void <init>() -> <init>
+ 73:74:void <init>(androidx.databinding.Observable[]) -> <init>
+ 81:81:java.lang.Object get() -> get
+ 90:94:void set(java.lang.Object) -> set
+androidx.databinding.ObservableFloat -> androidx.databinding.ObservableFloat:
+ 102:102:void <clinit>() -> <clinit>
+ 52:54:void <init>(float) -> <init>
+ 59:60:void <init>() -> <init>
+ 70:71:void <init>(androidx.databinding.Observable[]) -> <init>
+ 94:94:int describeContents() -> describeContents
+ 77:77:float get() -> get
+ 86:90:void set(float) -> set
+ 99:100:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.databinding.ObservableFloat$1 -> androidx.databinding.ObservableFloat$1:
+ 103:103:void <init>() -> <init>
+ 103:103:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 107:107:androidx.databinding.ObservableFloat createFromParcel(android.os.Parcel) -> createFromParcel
+ 103:103:java.lang.Object[] newArray(int) -> newArray
+ 112:112:androidx.databinding.ObservableFloat[] newArray(int) -> newArray
+androidx.databinding.ObservableInt -> androidx.databinding.ObservableInt:
+ 103:103:void <clinit>() -> <clinit>
+ 53:55:void <init>(int) -> <init>
+ 60:61:void <init>() -> <init>
+ 71:72:void <init>(androidx.databinding.Observable[]) -> <init>
+ 95:95:int describeContents() -> describeContents
+ 78:78:int get() -> get
+ 87:91:void set(int) -> set
+ 100:101:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.databinding.ObservableInt$1 -> androidx.databinding.ObservableInt$1:
+ 104:104:void <init>() -> <init>
+ 104:104:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 108:108:androidx.databinding.ObservableInt createFromParcel(android.os.Parcel) -> createFromParcel
+ 104:104:java.lang.Object[] newArray(int) -> newArray
+ 113:113:androidx.databinding.ObservableInt[] newArray(int) -> newArray
+androidx.databinding.ObservableList$OnListChangedCallback -> androidx.databinding.ObservableList$OnListChangedCallback:
+ 50:50:void <init>() -> <init>
+androidx.databinding.ObservableLong -> androidx.databinding.ObservableLong:
+ 103:103:void <clinit>() -> <clinit>
+ 53:55:void <init>(long) -> <init>
+ 60:61:void <init>() -> <init>
+ 71:72:void <init>(androidx.databinding.Observable[]) -> <init>
+ 95:95:int describeContents() -> describeContents
+ 78:78:long get() -> get
+ 87:91:void set(long) -> set
+ 100:101:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.databinding.ObservableLong$1 -> androidx.databinding.ObservableLong$1:
+ 104:104:void <init>() -> <init>
+ 104:104:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 108:108:androidx.databinding.ObservableLong createFromParcel(android.os.Parcel) -> createFromParcel
+ 104:104:java.lang.Object[] newArray(int) -> newArray
+ 113:113:androidx.databinding.ObservableLong[] newArray(int) -> newArray
+androidx.databinding.ObservableMap$OnMapChangedCallback -> androidx.databinding.ObservableMap$OnMapChangedCallback:
+ 51:51:void <init>() -> <init>
+androidx.databinding.ObservableParcelable -> androidx.databinding.ObservableParcelable:
+ 68:68:void <clinit>() -> <clinit>
+ 48:49:void <init>(android.os.Parcelable) -> <init>
+ 55:56:void <init>() -> <init>
+ 60:60:int describeContents() -> describeContents
+ 65:66:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.databinding.ObservableParcelable$1 -> androidx.databinding.ObservableParcelable$1:
+ 69:69:void <init>() -> <init>
+ 69:69:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 74:74:androidx.databinding.ObservableParcelable createFromParcel(android.os.Parcel) -> createFromParcel
+ 69:69:java.lang.Object[] newArray(int) -> newArray
+ 79:79:androidx.databinding.ObservableParcelable[] newArray(int) -> newArray
+androidx.databinding.ObservableShort -> androidx.databinding.ObservableShort:
+ 102:102:void <clinit>() -> <clinit>
+ 52:54:void <init>(short) -> <init>
+ 59:60:void <init>() -> <init>
+ 70:71:void <init>(androidx.databinding.Observable[]) -> <init>
+ 94:94:int describeContents() -> describeContents
+ 77:77:short get() -> get
+ 86:90:void set(short) -> set
+ 99:100:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.databinding.ObservableShort$1 -> androidx.databinding.ObservableShort$1:
+ 103:103:void <init>() -> <init>
+ 103:103:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 107:107:androidx.databinding.ObservableShort createFromParcel(android.os.Parcel) -> createFromParcel
+ 103:103:java.lang.Object[] newArray(int) -> newArray
+ 112:112:androidx.databinding.ObservableShort[] newArray(int) -> newArray
+androidx.databinding.OnRebindCallback -> androidx.databinding.OnRebindCallback:
+ 23:23:void <init>() -> <init>
+ 66:66:void onBound(androidx.databinding.ViewDataBinding) -> onBound
+ 54:54:void onCanceled(androidx.databinding.ViewDataBinding) -> onCanceled
+ 42:42:boolean onPreBind(androidx.databinding.ViewDataBinding) -> onPreBind
+androidx.databinding.PropertyChangeRegistry -> androidx.databinding.PropertyChangeRegistry:
+ 26:26:void <clinit>() -> <clinit>
+ 35:36:void <init>() -> <init>
+ 46:47:void notifyChange(androidx.databinding.Observable,int) -> notifyChange
+androidx.databinding.PropertyChangeRegistry$1 -> androidx.databinding.PropertyChangeRegistry$1:
+ 26:26:void <init>() -> <init>
+ 26:26:void onNotifyCallback(java.lang.Object,java.lang.Object,int,java.lang.Object) -> onNotifyCallback
+ 30:31:void onNotifyCallback(androidx.databinding.Observable$OnPropertyChangedCallback,androidx.databinding.Observable,int,java.lang.Void) -> onNotifyCallback
+androidx.databinding.ViewDataBinding -> androidx.databinding.ViewDataBinding:
+ 71:174:void <clinit>() -> <clinit>
+ 179:298:void <init>(androidx.databinding.DataBindingComponent,android.view.View,int) -> <init>
+ 304:305:void <init>(java.lang.Object,android.view.View,int) -> <init>
+ 65:65:boolean access$002(androidx.databinding.ViewDataBinding,boolean) -> access$002
+ 65:65:java.lang.Runnable access$100(androidx.databinding.ViewDataBinding) -> access$100
+ 65:65:boolean access$202(androidx.databinding.ViewDataBinding,boolean) -> access$202
+ 65:65:void access$300() -> access$300
+ 65:65:android.view.View access$400(androidx.databinding.ViewDataBinding) -> access$400
+ 65:65:android.view.View$OnAttachStateChangeListener access$500() -> access$500
+ 65:65:java.lang.ref.ReferenceQueue access$700() -> access$700
+ 65:65:void access$800(androidx.databinding.ViewDataBinding,int,java.lang.Object,int) -> access$800
+ 422:426:void addOnRebindCallback(androidx.databinding.OnRebindCallback) -> addOnRebindCallback
+ 695:696:androidx.databinding.ViewDataBinding bind(java.lang.Object,android.view.View,int) -> bind
+ 308:317:androidx.databinding.DataBindingComponent checkAndCastToBindingComponent(java.lang.Object) -> checkAndCastToBindingComponent
+ 660:670:void ensureBindingComponentIsNotNull(java.lang.Class) -> ensureBindingComponentIsNotNull
+ 455:479:void executeBindingsInternal() -> executeBindingsInternal
+ 487:488:void executeBindingsOn(androidx.databinding.ViewDataBinding) -> executeBindingsOn
+ 444:449:void executePendingBindings() -> executePendingBindings
+ 1276:1287:int findIncludeIndex(java.lang.String,int,androidx.databinding.ViewDataBinding$IncludedLayouts,int) -> findIncludeIndex
+ 1291:1311:int findLastMatching(android.view.ViewGroup,int) -> findLastMatching
+ 492:493:void forceExecuteBindings() -> forceExecuteBindings
+ 524:527:androidx.databinding.ViewDataBinding getBinding(android.view.View) -> getBinding
+ 342:342:int getBuildSdkInt() -> getBuildSdkInt
+ 795:796:int getColorFromResource(android.view.View,int) -> getColorFromResource
+ 804:805:android.content.res.ColorStateList getColorStateListFromResource(android.view.View,int) -> getColorStateListFromResource
+ 813:814:android.graphics.drawable.Drawable getDrawableFromResource(android.view.View,int) -> getDrawableFromResource
+ 1083:1086:java.lang.Object getFrom(java.util.Map,java.lang.Object) -> getFrom
+ 822:825:java.lang.Object getFromArray(java.lang.Object[],int) -> getFromArray
+ 838:841:boolean getFromArray(boolean[],int) -> getFromArray
+ 854:857:byte getFromArray(byte[],int) -> getFromArray
+ 870:873:short getFromArray(short[],int) -> getFromArray
+ 886:889:char getFromArray(char[],int) -> getFromArray
+ 902:905:int getFromArray(int[],int) -> getFromArray
+ 918:921:long getFromArray(long[],int) -> getFromArray
+ 934:937:float getFromArray(float[],int) -> getFromArray
+ 950:953:double getFromArray(double[],int) -> getFromArray
+ 966:969:java.lang.Object getFromList(java.util.List,int) -> getFromList
+ 982:985:java.lang.Object getFromList(android.util.SparseArray,int) -> getFromList
+ 999:1002:java.lang.Object getFromList(android.util.LongSparseArray,int) -> getFromList
+ 1016:1019:java.lang.Object getFromList(androidx.collection.LongSparseArray,int) -> getFromList
+ 1033:1036:boolean getFromList(android.util.SparseBooleanArray,int) -> getFromList
+ 1049:1052:int getFromList(android.util.SparseIntArray,int) -> getFromList
+ 1066:1069:long getFromList(android.util.SparseLongArray,int) -> getFromList
+ 412:412:androidx.lifecycle.LifecycleOwner getLifecycleOwner() -> getLifecycleOwner
+ 598:602:java.lang.Object getObservedField(int) -> getObservedField
+ 539:539:android.view.View getRoot() -> getRoot
+ 543:553:void handleFieldChange(int,java.lang.Object,int) -> handleFieldChange
+ 1368:1373:androidx.databinding.ViewDataBinding inflateInternal(android.view.LayoutInflater,int,android.view.ViewGroup,boolean,java.lang.Object) -> inflateInternal
+ 1315:1324:boolean isNumeric(java.lang.String,int) -> isNumeric
+ 718:720:java.lang.Object[] mapBindings(androidx.databinding.DataBindingComponent,android.view.View,int,androidx.databinding.ViewDataBinding$IncludedLayouts,android.util.SparseIntArray) -> mapBindings
+ 1179:1183:java.lang.Object[] mapBindings(androidx.databinding.DataBindingComponent,android.view.View[],int,androidx.databinding.ViewDataBinding$IncludedLayouts,android.util.SparseIntArray) -> mapBindings
+ 1190:1272:void mapBindings(androidx.databinding.DataBindingComponent,android.view.View,java.lang.Object[],androidx.databinding.ViewDataBinding$IncludedLayouts,android.util.SparseIntArray,boolean) -> mapBindings
+ 725:728:boolean parse(java.lang.String,boolean) -> parse
+ 734:736:byte parse(java.lang.String,byte) -> parse
+ 743:745:short parse(java.lang.String,short) -> parse
+ 752:754:int parse(java.lang.String,int) -> parse
+ 761:763:long parse(java.lang.String,long) -> parse
+ 770:772:float parse(java.lang.String,float) -> parse
+ 779:781:double parse(java.lang.String,double) -> parse
+ 787:790:char parse(java.lang.String,char) -> parse
+ 1334:1341:int parseTagInt(java.lang.String,int) -> parseTagInt
+ 1349:1355:void processReferenceQueue() -> processReferenceQueue
+ 677:689:void registerTo(int,java.lang.Object,androidx.databinding.ViewDataBinding$CreateWeakListener) -> registerTo
+ 434:437:void removeOnRebindCallback(androidx.databinding.OnRebindCallback) -> removeOnRebindCallback
+ 570:592:void requestRebind() -> requestRebind
+ 1113:1113:int safeUnbox(java.lang.Integer) -> safeUnbox
+ 1118:1118:long safeUnbox(java.lang.Long) -> safeUnbox
+ 1123:1123:short safeUnbox(java.lang.Short) -> safeUnbox
+ 1128:1128:byte safeUnbox(java.lang.Byte) -> safeUnbox
+ 1133:1133:char safeUnbox(java.lang.Character) -> safeUnbox
+ 1138:1138:double safeUnbox(java.lang.Double) -> safeUnbox
+ 1143:1143:float safeUnbox(java.lang.Float) -> safeUnbox
+ 1148:1148:boolean safeUnbox(java.lang.Boolean) -> safeUnbox
+ 1100:1109:void setBindingInverseListener(androidx.databinding.ViewDataBinding,androidx.databinding.InverseBindingListener,androidx.databinding.ViewDataBinding$PropertyChangedInverseListener) -> setBindingInverseListener
+ 1157:1160:void setContainedBinding(androidx.databinding.ViewDataBinding) -> setContainedBinding
+ 384:402:void setLifecycleOwner(androidx.lifecycle.LifecycleOwner) -> setLifecycleOwner
+ 324:325:void setRootTag(android.view.View) -> setRootTag
+ 331:334:void setRootTag(android.view.View[]) -> setRootTag
+ 830:834:void setTo(java.lang.Object[],int,java.lang.Object) -> setTo
+ 846:850:void setTo(boolean[],int,boolean) -> setTo
+ 862:866:void setTo(byte[],int,byte) -> setTo
+ 878:882:void setTo(short[],int,short) -> setTo
+ 894:898:void setTo(char[],int,char) -> setTo
+ 910:914:void setTo(int[],int,int) -> setTo
+ 926:930:void setTo(long[],int,long) -> setTo
+ 942:946:void setTo(float[],int,float) -> setTo
+ 958:962:void setTo(double[],int,double) -> setTo
+ 974:978:void setTo(java.util.List,int,java.lang.Object) -> setTo
+ 990:994:void setTo(android.util.SparseArray,int,java.lang.Object) -> setTo
+ 1008:1012:void setTo(android.util.LongSparseArray,int,java.lang.Object) -> setTo
+ 1025:1029:void setTo(androidx.collection.LongSparseArray,int,java.lang.Object) -> setTo
+ 1041:1045:void setTo(android.util.SparseBooleanArray,int,boolean) -> setTo
+ 1057:1061:void setTo(android.util.SparseIntArray,int,int) -> setTo
+ 1075:1079:void setTo(android.util.SparseLongArray,int,long) -> setTo
+ 1091:1095:void setTo(java.util.Map,java.lang.Object,java.lang.Object) -> setTo
+ 516:521:void unbind() -> unbind
+ 559:563:boolean unregisterFrom(int) -> unregisterFrom
+ 648:653:boolean updateLiveDataRegistration(int,androidx.lifecycle.LiveData) -> updateLiveDataRegistration
+ 607:620:boolean updateRegistration(int,java.lang.Object,androidx.databinding.ViewDataBinding$CreateWeakListener) -> updateRegistration
+ 627:627:boolean updateRegistration(int,androidx.databinding.Observable) -> updateRegistration
+ 634:634:boolean updateRegistration(int,androidx.databinding.ObservableList) -> updateRegistration
+ 641:641:boolean updateRegistration(int,androidx.databinding.ObservableMap) -> updateRegistration
+androidx.databinding.ViewDataBinding$1 -> androidx.databinding.ViewDataBinding$1:
+ 93:93:void <init>() -> <init>
+ 96:96:androidx.databinding.ViewDataBinding$WeakListener create(androidx.databinding.ViewDataBinding,int) -> create
+androidx.databinding.ViewDataBinding$2 -> androidx.databinding.ViewDataBinding$2:
+ 103:103:void <init>() -> <init>
+ 106:106:androidx.databinding.ViewDataBinding$WeakListener create(androidx.databinding.ViewDataBinding,int) -> create
+androidx.databinding.ViewDataBinding$3 -> androidx.databinding.ViewDataBinding$3:
+ 113:113:void <init>() -> <init>
+ 116:116:androidx.databinding.ViewDataBinding$WeakListener create(androidx.databinding.ViewDataBinding,int) -> create
+androidx.databinding.ViewDataBinding$4 -> androidx.databinding.ViewDataBinding$4:
+ 123:123:void <init>() -> <init>
+ 126:126:androidx.databinding.ViewDataBinding$WeakListener create(androidx.databinding.ViewDataBinding,int) -> create
+androidx.databinding.ViewDataBinding$5 -> androidx.databinding.ViewDataBinding$5:
+ 131:131:void <init>() -> <init>
+ 131:131:void onNotifyCallback(java.lang.Object,java.lang.Object,int,java.lang.Object) -> onNotifyCallback
+ 135:148:void onNotifyCallback(androidx.databinding.OnRebindCallback,androidx.databinding.ViewDataBinding,int,java.lang.Void) -> onNotifyCallback
+androidx.databinding.ViewDataBinding$6 -> androidx.databinding.ViewDataBinding$6:
+ 159:159:void <init>() -> <init>
+ 164:167:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 171:171:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+androidx.databinding.ViewDataBinding$7 -> androidx.databinding.ViewDataBinding$7:
+ 179:179:void <init>(androidx.databinding.ViewDataBinding) -> <init>
+ 182:198:void run() -> run
+androidx.databinding.ViewDataBinding$8 -> androidx.databinding.ViewDataBinding$8:
+ 288:288:void <init>(androidx.databinding.ViewDataBinding) -> <init>
+ 291:292:void doFrame(long) -> doFrame
+androidx.databinding.ViewDataBinding$IncludedLayouts -> androidx.databinding.ViewDataBinding$IncludedLayouts:
+ 1636:1640:void <init>(int) -> <init>
+ 1643:1646:void setIncludes(int,java.lang.String[],int[],int[]) -> setIncludes
+androidx.databinding.ViewDataBinding$LiveDataListener -> androidx.databinding.ViewDataBinding$LiveDataListener:
+ 1576:1578:void <init>(androidx.databinding.ViewDataBinding,int) -> <init>
+ 1571:1571:void addListener(java.lang.Object) -> addListener
+ 1602:1605:void addListener(androidx.lifecycle.LiveData) -> addListener
+ 1597:1597:androidx.databinding.ViewDataBinding$WeakListener getListener() -> getListener
+ 1614:1618:void onChanged(java.lang.Object) -> onChanged
+ 1571:1571:void removeListener(java.lang.Object) -> removeListener
+ 1609:1610:void removeListener(androidx.lifecycle.LiveData) -> removeListener
+ 1582:1593:void setLifecycleOwner(androidx.lifecycle.LifecycleOwner) -> setLifecycleOwner
+androidx.databinding.ViewDataBinding$OnStartListener -> androidx.databinding.ViewDataBinding$OnStartListener:
+ 1677:1677:void <init>(androidx.databinding.ViewDataBinding,androidx.databinding.ViewDataBinding$1) -> <init>
+ 1679:1681:void <init>(androidx.databinding.ViewDataBinding) -> <init>
+ 1685:1689:void onStart() -> onStart
+androidx.databinding.ViewDataBinding$PropertyChangedInverseListener -> androidx.databinding.ViewDataBinding$PropertyChangedInverseListener:
+ 1659:1661:void <init>(int) -> <init>
+ 1665:1668:void onPropertyChanged(androidx.databinding.Observable,int) -> onPropertyChanged
+androidx.databinding.ViewDataBinding$WeakListListener -> androidx.databinding.ViewDataBinding$WeakListListener:
+ 1476:1478:void <init>(androidx.databinding.ViewDataBinding,int) -> <init>
+ 1472:1472:void addListener(java.lang.Object) -> addListener
+ 1491:1492:void addListener(androidx.databinding.ObservableList) -> addListener
+ 1486:1486:androidx.databinding.ViewDataBinding$WeakListener getListener() -> getListener
+ 1501:1510:void onChanged(androidx.databinding.ObservableList) -> onChanged
+ 1514:1515:void onItemRangeChanged(androidx.databinding.ObservableList,int,int) -> onItemRangeChanged
+ 1519:1520:void onItemRangeInserted(androidx.databinding.ObservableList,int,int) -> onItemRangeInserted
+ 1525:1526:void onItemRangeMoved(androidx.databinding.ObservableList,int,int,int) -> onItemRangeMoved
+ 1530:1531:void onItemRangeRemoved(androidx.databinding.ObservableList,int,int) -> onItemRangeRemoved
+ 1472:1472:void removeListener(java.lang.Object) -> removeListener
+ 1496:1497:void removeListener(androidx.databinding.ObservableList) -> removeListener
+ 1482:1482:void setLifecycleOwner(androidx.lifecycle.LifecycleOwner) -> setLifecycleOwner
+androidx.databinding.ViewDataBinding$WeakListener -> androidx.databinding.ViewDataBinding$WeakListener:
+ 1391:1394:void <init>(androidx.databinding.ViewDataBinding,int,androidx.databinding.ViewDataBinding$ObservableReference) -> <init>
+ 1423:1427:androidx.databinding.ViewDataBinding getBinder() -> getBinder
+ 1419:1419:java.lang.Object getTarget() -> getTarget
+ 1397:1398:void setLifecycleOwner(androidx.lifecycle.LifecycleOwner) -> setLifecycleOwner
+ 1401:1406:void setTarget(java.lang.Object) -> setTarget
+ 1409:1415:boolean unregister() -> unregister
+androidx.databinding.ViewDataBinding$WeakMapListener -> androidx.databinding.ViewDataBinding$WeakMapListener:
+ 1538:1540:void <init>(androidx.databinding.ViewDataBinding,int) -> <init>
+ 1534:1534:void addListener(java.lang.Object) -> addListener
+ 1553:1554:void addListener(androidx.databinding.ObservableMap) -> addListener
+ 1548:1548:androidx.databinding.ViewDataBinding$WeakListener getListener() -> getListener
+ 1563:1568:void onMapChanged(androidx.databinding.ObservableMap,java.lang.Object) -> onMapChanged
+ 1534:1534:void removeListener(java.lang.Object) -> removeListener
+ 1558:1559:void removeListener(androidx.databinding.ObservableMap) -> removeListener
+ 1544:1544:void setLifecycleOwner(androidx.lifecycle.LifecycleOwner) -> setLifecycleOwner
+androidx.databinding.ViewDataBinding$WeakPropertyListener -> androidx.databinding.ViewDataBinding$WeakPropertyListener:
+ 1435:1437:void <init>(androidx.databinding.ViewDataBinding,int) -> <init>
+ 1431:1431:void addListener(java.lang.Object) -> addListener
+ 1446:1447:void addListener(androidx.databinding.Observable) -> addListener
+ 1441:1441:androidx.databinding.ViewDataBinding$WeakListener getListener() -> getListener
+ 1460:1469:void onPropertyChanged(androidx.databinding.Observable,int) -> onPropertyChanged
+ 1431:1431:void removeListener(java.lang.Object) -> removeListener
+ 1451:1452:void removeListener(androidx.databinding.Observable) -> removeListener
+ 1456:1456:void setLifecycleOwner(androidx.lifecycle.LifecycleOwner) -> setLifecycleOwner
+androidx.databinding.ViewStubProxy -> androidx.databinding.ViewStubProxy:
+ 37:57:void <init>(android.view.ViewStub) -> <init>
+ 30:30:android.view.View access$002(androidx.databinding.ViewStubProxy,android.view.View) -> access$002
+ 30:30:androidx.databinding.ViewDataBinding access$102(androidx.databinding.ViewStubProxy,androidx.databinding.ViewDataBinding) -> access$102
+ 30:30:androidx.databinding.ViewDataBinding access$200(androidx.databinding.ViewStubProxy) -> access$200
+ 30:30:android.view.ViewStub access$302(androidx.databinding.ViewStubProxy,android.view.ViewStub) -> access$302
+ 30:30:android.view.ViewStub$OnInflateListener access$400(androidx.databinding.ViewStubProxy) -> access$400
+ 30:30:android.view.ViewStub$OnInflateListener access$402(androidx.databinding.ViewStubProxy,android.view.ViewStub$OnInflateListener) -> access$402
+ 94:94:androidx.databinding.ViewDataBinding getBinding() -> getBinding
+ 82:82:android.view.View getRoot() -> getRoot
+ 104:104:android.view.ViewStub getViewStub() -> getViewStub
+ 71:71:boolean isInflated() -> isInflated
+ 60:61:void setContainingBinding(androidx.databinding.ViewDataBinding) -> setContainingBinding
+ 115:118:void setOnInflateListener(android.view.ViewStub$OnInflateListener) -> setOnInflateListener
+androidx.databinding.ViewStubProxy$1 -> androidx.databinding.ViewStubProxy$1:
+ 37:37:void <init>(androidx.databinding.ViewStubProxy) -> <init>
+ 40:51:void onInflate(android.view.ViewStub,android.view.View) -> onInflate
+androidx.databinding.adapters.AbsListViewBindingAdapter -> androidx.databinding.adapters.AbsListViewBindingAdapter:
+ 35:35:void <init>() -> <init>
+ 41:58:void setOnScroll(android.widget.AbsListView,androidx.databinding.adapters.AbsListViewBindingAdapter$OnScroll,androidx.databinding.adapters.AbsListViewBindingAdapter$OnScrollStateChanged) -> setOnScroll
+androidx.databinding.adapters.AbsListViewBindingAdapter$1 -> androidx.databinding.adapters.AbsListViewBindingAdapter$1:
+ 41:41:void <init>(androidx.databinding.adapters.AbsListViewBindingAdapter$OnScrollStateChanged,androidx.databinding.adapters.AbsListViewBindingAdapter$OnScroll) -> <init>
+ 52:56:void onScroll(android.widget.AbsListView,int,int,int) -> onScroll
+ 44:47:void onScrollStateChanged(android.widget.AbsListView,int) -> onScrollStateChanged
+androidx.databinding.adapters.AbsSeekBarBindingAdapter -> androidx.databinding.adapters.AbsSeekBarBindingAdapter:
+ 30:30:void <init>() -> <init>
+androidx.databinding.adapters.AbsSpinnerBindingAdapter -> androidx.databinding.adapters.AbsSpinnerBindingAdapter:
+ 31:31:void <init>() -> <init>
+ 35:57:void setEntries(android.widget.AbsSpinner,java.lang.CharSequence[]) -> setEntries
+ 62:75:void setEntries(android.widget.AbsSpinner,java.util.List) -> setEntries
+androidx.databinding.adapters.ActionMenuViewBindingAdapter -> androidx.databinding.adapters.ActionMenuViewBindingAdapter:
+ 30:30:void <init>() -> <init>
+androidx.databinding.adapters.AdapterViewBindingAdapter -> androidx.databinding.adapters.AdapterViewBindingAdapter:
+ 45:45:void <init>() -> <init>
+ 79:85:void setOnItemSelectedListener(android.widget.AdapterView,androidx.databinding.adapters.AdapterViewBindingAdapter$OnItemSelected,androidx.databinding.adapters.AdapterViewBindingAdapter$OnNothingSelected,androidx.databinding.InverseBindingListener) -> setOnItemSelectedListener
+ 49:52:void setSelectedItemPosition(android.widget.AdapterView,int) -> setSelectedItemPosition
+ 61:68:void setSelectedItemPosition(android.widget.AdapterView,int,android.widget.Adapter) -> setSelectedItemPosition
+ 56:57:void setSelection(android.widget.AdapterView,int) -> setSelection
+ 72:73:void setSelection(android.widget.AdapterView,int,android.widget.Adapter) -> setSelection
+androidx.databinding.adapters.AdapterViewBindingAdapter$OnItemSelectedComponentListener -> androidx.databinding.adapters.AdapterViewBindingAdapter$OnItemSelectedComponentListener:
+ 93:97:void <init>(androidx.databinding.adapters.AdapterViewBindingAdapter$OnItemSelected,androidx.databinding.adapters.AdapterViewBindingAdapter$OnNothingSelected,androidx.databinding.InverseBindingListener) -> <init>
+ 101:107:void onItemSelected(android.widget.AdapterView,android.view.View,int,long) -> onItemSelected
+ 111:117:void onNothingSelected(android.widget.AdapterView) -> onNothingSelected
+androidx.databinding.adapters.AutoCompleteTextViewBindingAdapter -> androidx.databinding.adapters.AutoCompleteTextViewBindingAdapter:
+ 38:38:void <init>() -> <init>
+ 72:78:void setOnItemSelectedListener(android.widget.AutoCompleteTextView,androidx.databinding.adapters.AdapterViewBindingAdapter$OnItemSelected,androidx.databinding.adapters.AdapterViewBindingAdapter$OnNothingSelected) -> setOnItemSelectedListener
+ 43:66:void setValidator(android.widget.AutoCompleteTextView,androidx.databinding.adapters.AutoCompleteTextViewBindingAdapter$FixText,androidx.databinding.adapters.AutoCompleteTextViewBindingAdapter$IsValid) -> setValidator
+androidx.databinding.adapters.AutoCompleteTextViewBindingAdapter$1 -> androidx.databinding.adapters.AutoCompleteTextViewBindingAdapter$1:
+ 46:46:void <init>(androidx.databinding.adapters.AutoCompleteTextViewBindingAdapter$IsValid,androidx.databinding.adapters.AutoCompleteTextViewBindingAdapter$FixText) -> <init>
+ 58:61:java.lang.CharSequence fixText(java.lang.CharSequence) -> fixText
+ 49:52:boolean isValid(java.lang.CharSequence) -> isValid
+androidx.databinding.adapters.CalendarViewBindingAdapter -> androidx.databinding.adapters.CalendarViewBindingAdapter:
+ 33:33:void <init>() -> <init>
+ 36:39:void setDate(android.widget.CalendarView,long) -> setDate
+ 45:59:void setListeners(android.widget.CalendarView,android.widget.CalendarView$OnDateChangeListener,androidx.databinding.InverseBindingListener) -> setListeners
+androidx.databinding.adapters.CalendarViewBindingAdapter$1 -> androidx.databinding.adapters.CalendarViewBindingAdapter$1:
+ 48:48:void <init>(android.widget.CalendarView$OnDateChangeListener,androidx.databinding.InverseBindingListener) -> <init>
+ 52:56:void onSelectedDayChange(android.widget.CalendarView,int,int,int) -> onSelectedDayChange
+androidx.databinding.adapters.CardViewBindingAdapter -> androidx.databinding.adapters.CardViewBindingAdapter:
+ 34:34:void <init>() -> <init>
+ 38:39:void setContentPadding(androidx.cardview.widget.CardView,int) -> setContentPadding
+ 67:71:void setContentPaddingBottom(androidx.cardview.widget.CardView,int) -> setContentPaddingBottom
+ 43:47:void setContentPaddingLeft(androidx.cardview.widget.CardView,int) -> setContentPaddingLeft
+ 59:63:void setContentPaddingRight(androidx.cardview.widget.CardView,int) -> setContentPaddingRight
+ 51:55:void setContentPaddingTop(androidx.cardview.widget.CardView,int) -> setContentPaddingTop
+androidx.databinding.adapters.CheckedTextViewBindingAdapter -> androidx.databinding.adapters.CheckedTextViewBindingAdapter:
+ 30:30:void <init>() -> <init>
+androidx.databinding.adapters.ChronometerBindingAdapter -> androidx.databinding.adapters.ChronometerBindingAdapter:
+ 30:30:void <init>() -> <init>
+androidx.databinding.adapters.CompoundButtonBindingAdapter -> androidx.databinding.adapters.CompoundButtonBindingAdapter:
+ 39:39:void <init>() -> <init>
+ 43:46:void setChecked(android.widget.CompoundButton,boolean) -> setChecked
+ 52:65:void setListeners(android.widget.CompoundButton,android.widget.CompoundButton$OnCheckedChangeListener,androidx.databinding.InverseBindingListener) -> setListeners
+androidx.databinding.adapters.CompoundButtonBindingAdapter$1 -> androidx.databinding.adapters.CompoundButtonBindingAdapter$1:
+ 55:55:void <init>(android.widget.CompoundButton$OnCheckedChangeListener,androidx.databinding.InverseBindingListener) -> <init>
+ 58:62:void onCheckedChanged(android.widget.CompoundButton,boolean) -> onCheckedChanged
+androidx.databinding.adapters.Converters -> androidx.databinding.adapters.Converters:
+ 25:25:void <init>() -> <init>
+ 47:47:android.content.res.ColorStateList convertColorToColorStateList(int) -> convertColorToColorStateList
+ 35:35:android.graphics.drawable.ColorDrawable convertColorToDrawable(int) -> convertColorToDrawable
+androidx.databinding.adapters.DatePickerBindingAdapter -> androidx.databinding.adapters.DatePickerBindingAdapter:
+ 36:36:void <init>() -> <init>
+ 43:60:void setListeners(android.widget.DatePicker,int,int,int,android.widget.DatePicker$OnDateChangedListener,androidx.databinding.InverseBindingListener,androidx.databinding.InverseBindingListener,androidx.databinding.InverseBindingListener) -> setListeners
+androidx.databinding.adapters.DatePickerBindingAdapter$DateChangedListener -> androidx.databinding.adapters.DatePickerBindingAdapter$DateChangedListener:
+ 62:62:void <init>() -> <init>
+ 62:62:void <init>(androidx.databinding.adapters.DatePickerBindingAdapter$1) -> <init>
+ 78:90:void onDateChanged(android.widget.DatePicker,int,int,int) -> onDateChanged
+ 70:74:void setListeners(android.widget.DatePicker$OnDateChangedListener,androidx.databinding.InverseBindingListener,androidx.databinding.InverseBindingListener,androidx.databinding.InverseBindingListener) -> setListeners
+androidx.databinding.adapters.ExpandableListViewBindingAdapter -> androidx.databinding.adapters.ExpandableListViewBindingAdapter:
+ 33:33:void <init>() -> <init>
+androidx.databinding.adapters.FrameLayoutBindingAdapter -> androidx.databinding.adapters.FrameLayoutBindingAdapter:
+ 29:29:void <init>() -> <init>
+androidx.databinding.adapters.ImageViewBindingAdapter -> androidx.databinding.adapters.ImageViewBindingAdapter:
+ 34:34:void <init>() -> <init>
+ 51:52:void setImageDrawable(android.widget.ImageView,android.graphics.drawable.Drawable) -> setImageDrawable
+ 37:42:void setImageUri(android.widget.ImageView,java.lang.String) -> setImageUri
+ 46:47:void setImageUri(android.widget.ImageView,android.net.Uri) -> setImageUri
+androidx.databinding.adapters.LinearLayoutBindingAdapter -> androidx.databinding.adapters.LinearLayoutBindingAdapter:
+ 30:30:void <init>() -> <init>
+androidx.databinding.adapters.ListenerUtil -> androidx.databinding.adapters.ListenerUtil:
+ 31:31:void <clinit>() -> <clinit>
+ 30:30:void <init>() -> <init>
+ 99:101:java.lang.Object getListener(android.view.View,int) -> getListener
+ 61:64:java.lang.Object trackListener(android.view.View,java.lang.Object,int) -> trackListener
+androidx.databinding.adapters.NumberPickerBindingAdapter -> androidx.databinding.adapters.NumberPickerBindingAdapter:
+ 40:40:void <init>() -> <init>
+ 53:66:void setListeners(android.widget.NumberPicker,android.widget.NumberPicker$OnValueChangeListener,androidx.databinding.InverseBindingListener) -> setListeners
+ 44:47:void setValue(android.widget.NumberPicker,int) -> setValue
+androidx.databinding.adapters.NumberPickerBindingAdapter$1 -> androidx.databinding.adapters.NumberPickerBindingAdapter$1:
+ 56:56:void <init>(android.widget.NumberPicker$OnValueChangeListener,androidx.databinding.InverseBindingListener) -> <init>
+ 59:63:void onValueChange(android.widget.NumberPicker,int,int) -> onValueChange
+androidx.databinding.adapters.ObservableListAdapter -> androidx.databinding.adapters.ObservableListAdapter:
+ 45:53:void <init>(android.content.Context,java.util.List,int,int,int) -> <init>
+ 105:105:int getCount() -> getCount
+ 125:125:android.view.View getDropDownView(int,android.view.View,android.view.ViewGroup) -> getDropDownView
+ 110:110:java.lang.Object getItem(int) -> getItem
+ 115:115:long getItemId(int) -> getItemId
+ 120:120:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 130:147:android.view.View getViewForResource(int,int,android.view.View,android.view.ViewGroup) -> getViewForResource
+ 56:101:void setList(java.util.List) -> setList
+androidx.databinding.adapters.ObservableListAdapter$1 -> androidx.databinding.adapters.ObservableListAdapter$1:
+ 66:66:void <init>(androidx.databinding.adapters.ObservableListAdapter) -> <init>
+ 69:70:void onChanged(androidx.databinding.ObservableList) -> onChanged
+ 75:76:void onItemRangeChanged(androidx.databinding.ObservableList,int,int) -> onItemRangeChanged
+ 81:82:void onItemRangeInserted(androidx.databinding.ObservableList,int,int) -> onItemRangeInserted
+ 87:88:void onItemRangeMoved(androidx.databinding.ObservableList,int,int,int) -> onItemRangeMoved
+ 93:94:void onItemRangeRemoved(androidx.databinding.ObservableList,int,int) -> onItemRangeRemoved
+androidx.databinding.adapters.ProgressBarBindingAdapter -> androidx.databinding.adapters.ProgressBarBindingAdapter:
+ 31:31:void <init>() -> <init>
+androidx.databinding.adapters.RadioGroupBindingAdapter -> androidx.databinding.adapters.RadioGroupBindingAdapter:
+ 33:33:void <init>() -> <init>
+ 36:39:void setCheckedButton(android.widget.RadioGroup,int) -> setCheckedButton
+ 45:59:void setListeners(android.widget.RadioGroup,android.widget.RadioGroup$OnCheckedChangeListener,androidx.databinding.InverseBindingListener) -> setListeners
+androidx.databinding.adapters.RadioGroupBindingAdapter$1 -> androidx.databinding.adapters.RadioGroupBindingAdapter$1:
+ 48:48:void <init>(android.widget.RadioGroup$OnCheckedChangeListener,androidx.databinding.InverseBindingListener) -> <init>
+ 51:56:void onCheckedChanged(android.widget.RadioGroup,int) -> onCheckedChanged
+androidx.databinding.adapters.RatingBarBindingAdapter -> androidx.databinding.adapters.RatingBarBindingAdapter:
+ 33:33:void <init>() -> <init>
+ 45:58:void setListeners(android.widget.RatingBar,android.widget.RatingBar$OnRatingBarChangeListener,androidx.databinding.InverseBindingListener) -> setListeners
+ 36:39:void setRating(android.widget.RatingBar,float) -> setRating
+androidx.databinding.adapters.RatingBarBindingAdapter$1 -> androidx.databinding.adapters.RatingBarBindingAdapter$1:
+ 48:48:void <init>(android.widget.RatingBar$OnRatingBarChangeListener,androidx.databinding.InverseBindingListener) -> <init>
+ 51:55:void onRatingChanged(android.widget.RatingBar,float,boolean) -> onRatingChanged
+androidx.databinding.adapters.SearchViewBindingAdapter -> androidx.databinding.adapters.SearchViewBindingAdapter:
+ 38:38:void <init>() -> <init>
+ 43:68:void setOnQueryTextListener(android.widget.SearchView,androidx.databinding.adapters.SearchViewBindingAdapter$OnQueryTextSubmit,androidx.databinding.adapters.SearchViewBindingAdapter$OnQueryTextChange) -> setOnQueryTextListener
+ 74:99:void setOnSuggestListener(android.widget.SearchView,androidx.databinding.adapters.SearchViewBindingAdapter$OnSuggestionSelect,androidx.databinding.adapters.SearchViewBindingAdapter$OnSuggestionClick) -> setOnSuggestListener
+androidx.databinding.adapters.SearchViewBindingAdapter$1 -> androidx.databinding.adapters.SearchViewBindingAdapter$1:
+ 47:47:void <init>(androidx.databinding.adapters.SearchViewBindingAdapter$OnQueryTextSubmit,androidx.databinding.adapters.SearchViewBindingAdapter$OnQueryTextChange) -> <init>
+ 59:62:boolean onQueryTextChange(java.lang.String) -> onQueryTextChange
+ 50:53:boolean onQueryTextSubmit(java.lang.String) -> onQueryTextSubmit
+androidx.databinding.adapters.SearchViewBindingAdapter$2 -> androidx.databinding.adapters.SearchViewBindingAdapter$2:
+ 78:78:void <init>(androidx.databinding.adapters.SearchViewBindingAdapter$OnSuggestionSelect,androidx.databinding.adapters.SearchViewBindingAdapter$OnSuggestionClick) -> <init>
+ 90:93:boolean onSuggestionClick(int) -> onSuggestionClick
+ 81:84:boolean onSuggestionSelect(int) -> onSuggestionSelect
+androidx.databinding.adapters.SeekBarBindingAdapter -> androidx.databinding.adapters.SeekBarBindingAdapter:
+ 33:33:void <init>() -> <init>
+ 47:76:void setOnSeekBarChangeListener(android.widget.SeekBar,androidx.databinding.adapters.SeekBarBindingAdapter$OnStartTrackingTouch,androidx.databinding.adapters.SeekBarBindingAdapter$OnStopTrackingTouch,androidx.databinding.adapters.SeekBarBindingAdapter$OnProgressChanged,androidx.databinding.InverseBindingListener) -> setOnSeekBarChangeListener
+ 37:40:void setProgress(android.widget.SeekBar,int) -> setProgress
+androidx.databinding.adapters.SeekBarBindingAdapter$1 -> androidx.databinding.adapters.SeekBarBindingAdapter$1:
+ 50:50:void <init>(androidx.databinding.adapters.SeekBarBindingAdapter$OnProgressChanged,androidx.databinding.InverseBindingListener,androidx.databinding.adapters.SeekBarBindingAdapter$OnStartTrackingTouch,androidx.databinding.adapters.SeekBarBindingAdapter$OnStopTrackingTouch) -> <init>
+ 53:59:void onProgressChanged(android.widget.SeekBar,int,boolean) -> onProgressChanged
+ 63:66:void onStartTrackingTouch(android.widget.SeekBar) -> onStartTrackingTouch
+ 70:73:void onStopTrackingTouch(android.widget.SeekBar) -> onStopTrackingTouch
+androidx.databinding.adapters.SpinnerBindingAdapter -> androidx.databinding.adapters.SpinnerBindingAdapter:
+ 29:29:void <init>() -> <init>
+androidx.databinding.adapters.SwitchBindingAdapter -> androidx.databinding.adapters.SwitchBindingAdapter:
+ 35:35:void <init>() -> <init>
+ 39:40:void setSwitchTextAppearance(android.widget.Switch,int) -> setSwitchTextAppearance
+androidx.databinding.adapters.SwitchCompatBindingAdapter -> androidx.databinding.adapters.SwitchCompatBindingAdapter:
+ 32:32:void <init>() -> <init>
+ 36:37:void setSwitchTextAppearance(androidx.appcompat.widget.SwitchCompat,int) -> setSwitchTextAppearance
+androidx.databinding.adapters.TabHostBindingAdapter -> androidx.databinding.adapters.TabHostBindingAdapter:
+ 30:30:void <init>() -> <init>
+ 34:34:int getCurrentTab(android.widget.TabHost) -> getCurrentTab
+ 39:39:java.lang.String getCurrentTabTag(android.widget.TabHost) -> getCurrentTabTag
+ 44:47:void setCurrentTab(android.widget.TabHost,int) -> setCurrentTab
+ 53:56:void setCurrentTabTag(android.widget.TabHost,java.lang.String) -> setCurrentTabTag
+ 62:75:void setListeners(android.widget.TabHost,android.widget.TabHost$OnTabChangeListener,androidx.databinding.InverseBindingListener) -> setListeners
+androidx.databinding.adapters.TabHostBindingAdapter$1 -> androidx.databinding.adapters.TabHostBindingAdapter$1:
+ 65:65:void <init>(android.widget.TabHost$OnTabChangeListener,androidx.databinding.InverseBindingListener) -> <init>
+ 68:72:void onTabChanged(java.lang.String) -> onTabChanged
+androidx.databinding.adapters.TabWidgetBindingAdapter -> androidx.databinding.adapters.TabWidgetBindingAdapter:
+ 32:32:void <init>() -> <init>
+androidx.databinding.adapters.TableLayoutBindingAdapter -> androidx.databinding.adapters.TableLayoutBindingAdapter:
+ 31:31:void <clinit>() -> <clinit>
+ 29:29:void <init>() -> <init>
+ 83:103:android.util.SparseBooleanArray parseColumns(java.lang.CharSequence) -> parseColumns
+ 37:44:void setCollapseColumns(android.widget.TableLayout,java.lang.CharSequence) -> setCollapseColumns
+ 48:62:void setShrinkColumns(android.widget.TableLayout,java.lang.CharSequence) -> setShrinkColumns
+ 66:80:void setStretchColumns(android.widget.TableLayout,java.lang.CharSequence) -> setStretchColumns
+androidx.databinding.adapters.TextViewBindingAdapter -> androidx.databinding.adapters.TextViewBindingAdapter:
+ 59:59:void <init>() -> <init>
+ 85:85:java.lang.String getTextString(android.widget.TextView) -> getTextString
+ 333:347:boolean haveContentsChanged(java.lang.CharSequence,java.lang.CharSequence) -> haveContentsChanged
+ 90:103:void setAutoText(android.widget.TextView,boolean) -> setAutoText
+ 116:117:void setBufferType(android.widget.TextView,android.widget.TextView$BufferType) -> setBufferType
+ 107:112:void setCapitalize(android.widget.TextView,android.text.method.TextKeyListener$Capitalize) -> setCapitalize
+ 121:126:void setDigits(android.widget.TextView,java.lang.CharSequence) -> setDigits
+ 151:154:void setDrawableBottom(android.widget.TextView,android.graphics.drawable.Drawable) -> setDrawableBottom
+ 192:199:void setDrawableEnd(android.widget.TextView,android.graphics.drawable.Drawable) -> setDrawableEnd
+ 158:161:void setDrawableLeft(android.widget.TextView,android.graphics.drawable.Drawable) -> setDrawableLeft
+ 165:169:void setDrawableRight(android.widget.TextView,android.graphics.drawable.Drawable) -> setDrawableRight
+ 181:188:void setDrawableStart(android.widget.TextView,android.graphics.drawable.Drawable) -> setDrawableStart
+ 173:177:void setDrawableTop(android.widget.TextView,android.graphics.drawable.Drawable) -> setDrawableTop
+ 203:204:void setImeActionLabel(android.widget.TextView,java.lang.CharSequence) -> setImeActionLabel
+ 208:209:void setImeActionLabel(android.widget.TextView,int) -> setImeActionLabel
+ 215:224:void setInputMethod(android.widget.TextView,java.lang.CharSequence) -> setInputMethod
+ 144:147:void setIntrinsicBounds(android.graphics.drawable.Drawable) -> setIntrinsicBounds
+ 228:233:void setLineSpacingExtra(android.widget.TextView,float) -> setLineSpacingExtra
+ 237:242:void setLineSpacingMultiplier(android.widget.TextView,float) -> setLineSpacingMultiplier
+ 246:276:void setMaxLength(android.widget.TextView,int) -> setMaxLength
+ 130:132:void setNumeric(android.widget.TextView,int) -> setNumeric
+ 280:285:void setPassword(android.widget.TextView,boolean) -> setPassword
+ 136:141:void setPhoneNumber(android.widget.TextView,boolean) -> setPhoneNumber
+ 289:295:void setShadowColor(android.widget.TextView,int) -> setShadowColor
+ 299:305:void setShadowDx(android.widget.TextView,float) -> setShadowDx
+ 309:315:void setShadowDy(android.widget.TextView,float) -> setShadowDy
+ 319:325:void setShadowRadius(android.widget.TextView,float) -> setShadowRadius
+ 69:81:void setText(android.widget.TextView,java.lang.CharSequence) -> setText
+ 329:330:void setTextSize(android.widget.TextView,float) -> setTextSize
+ 356:392:void setTextWatcher(android.widget.TextView,androidx.databinding.adapters.TextViewBindingAdapter$BeforeTextChanged,androidx.databinding.adapters.TextViewBindingAdapter$OnTextChanged,androidx.databinding.adapters.TextViewBindingAdapter$AfterTextChanged,androidx.databinding.InverseBindingListener) -> setTextWatcher
+androidx.databinding.adapters.TextViewBindingAdapter$1 -> androidx.databinding.adapters.TextViewBindingAdapter$1:
+ 359:359:void <init>(androidx.databinding.adapters.TextViewBindingAdapter$BeforeTextChanged,androidx.databinding.adapters.TextViewBindingAdapter$OnTextChanged,androidx.databinding.InverseBindingListener,androidx.databinding.adapters.TextViewBindingAdapter$AfterTextChanged) -> <init>
+ 379:382:void afterTextChanged(android.text.Editable) -> afterTextChanged
+ 362:365:void beforeTextChanged(java.lang.CharSequence,int,int,int) -> beforeTextChanged
+ 369:375:void onTextChanged(java.lang.CharSequence,int,int,int) -> onTextChanged
+androidx.databinding.adapters.TimePickerBindingAdapter -> androidx.databinding.adapters.TimePickerBindingAdapter:
+ 31:31:void <init>() -> <init>
+ 63:64:int getHour(android.widget.TimePicker) -> getHour
+ 78:79:int getMinute(android.widget.TimePicker) -> getMinute
+ 36:45:void setHour(android.widget.TimePicker,int) -> setHour
+ 95:113:void setListeners(android.widget.TimePicker,android.widget.TimePicker$OnTimeChangedListener,androidx.databinding.InverseBindingListener,androidx.databinding.InverseBindingListener) -> setListeners
+ 50:59:void setMinute(android.widget.TimePicker,int) -> setMinute
+androidx.databinding.adapters.TimePickerBindingAdapter$1 -> androidx.databinding.adapters.TimePickerBindingAdapter$1:
+ 98:98:void <init>(android.widget.TimePicker$OnTimeChangedListener,androidx.databinding.InverseBindingListener,androidx.databinding.InverseBindingListener) -> <init>
+ 101:110:void onTimeChanged(android.widget.TimePicker,int,int) -> onTimeChanged
+androidx.databinding.adapters.ToolbarBindingAdapter -> androidx.databinding.adapters.ToolbarBindingAdapter:
+ 31:31:void <init>() -> <init>
+androidx.databinding.adapters.VideoViewBindingAdapter -> androidx.databinding.adapters.VideoViewBindingAdapter:
+ 34:34:void <init>() -> <init>
+androidx.databinding.adapters.ViewBindingAdapter -> androidx.databinding.adapters.ViewBindingAdapter:
+ 64:64:void <init>() -> <init>
+ 222:230:int pixelsToDimensionPixelSize(float) -> pixelsToDimensionPixelSize
+ 211:216:void setBackground(android.view.View,android.graphics.drawable.Drawable) -> setBackground
+ 138:140:void setClickListener(android.view.View,android.view.View$OnClickListener,boolean) -> setClickListener
+ 168:195:void setOnAttachStateChangeListener(android.view.View,androidx.databinding.adapters.ViewBindingAdapter$OnViewDetachedFromWindow,androidx.databinding.adapters.ViewBindingAdapter$OnViewAttachedToWindow) -> setOnAttachStateChangeListener
+ 145:147:void setOnClick(android.view.View,android.view.View$OnClickListener,boolean) -> setOnClick
+ 200:206:void setOnLayoutChangeListener(android.view.View,android.view.View$OnLayoutChangeListener,android.view.View$OnLayoutChangeListener) -> setOnLayoutChangeListener
+ 159:161:void setOnLongClick(android.view.View,android.view.View$OnLongClickListener,boolean) -> setOnLongClick
+ 152:154:void setOnLongClickListener(android.view.View,android.view.View$OnLongClickListener,boolean) -> setOnLongClickListener
+ 71:73:void setPadding(android.view.View,float) -> setPadding
+ 77:80:void setPaddingBottom(android.view.View,float) -> setPaddingBottom
+ 84:92:void setPaddingEnd(android.view.View,float) -> setPaddingEnd
+ 96:99:void setPaddingLeft(android.view.View,float) -> setPaddingLeft
+ 103:106:void setPaddingRight(android.view.View,float) -> setPaddingRight
+ 110:118:void setPaddingStart(android.view.View,float) -> setPaddingStart
+ 122:125:void setPaddingTop(android.view.View,float) -> setPaddingTop
+ 129:133:void setRequiresFadingEdge(android.view.View,int) -> setRequiresFadingEdge
+androidx.databinding.adapters.ViewBindingAdapter$1 -> androidx.databinding.adapters.ViewBindingAdapter$1:
+ 171:171:void <init>(androidx.databinding.adapters.ViewBindingAdapter$OnViewAttachedToWindow,androidx.databinding.adapters.ViewBindingAdapter$OnViewDetachedFromWindow) -> <init>
+ 174:177:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 181:184:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+androidx.databinding.adapters.ViewGroupBindingAdapter -> androidx.databinding.adapters.ViewGroupBindingAdapter:
+ 40:40:void <init>() -> <init>
+ 45:50:void setAnimateLayoutChanges(android.view.ViewGroup,boolean) -> setAnimateLayoutChanges
+ 56:75:void setListener(android.view.ViewGroup,androidx.databinding.adapters.ViewGroupBindingAdapter$OnChildViewAdded,androidx.databinding.adapters.ViewGroupBindingAdapter$OnChildViewRemoved) -> setListener
+ 81:107:void setListener(android.view.ViewGroup,androidx.databinding.adapters.ViewGroupBindingAdapter$OnAnimationStart,androidx.databinding.adapters.ViewGroupBindingAdapter$OnAnimationEnd,androidx.databinding.adapters.ViewGroupBindingAdapter$OnAnimationRepeat) -> setListener
+androidx.databinding.adapters.ViewGroupBindingAdapter$1 -> androidx.databinding.adapters.ViewGroupBindingAdapter$1:
+ 59:59:void <init>(androidx.databinding.adapters.ViewGroupBindingAdapter$OnChildViewAdded,androidx.databinding.adapters.ViewGroupBindingAdapter$OnChildViewRemoved) -> <init>
+ 62:65:void onChildViewAdded(android.view.View,android.view.View) -> onChildViewAdded
+ 69:72:void onChildViewRemoved(android.view.View,android.view.View) -> onChildViewRemoved
+androidx.databinding.adapters.ViewGroupBindingAdapter$2 -> androidx.databinding.adapters.ViewGroupBindingAdapter$2:
+ 84:84:void <init>(androidx.databinding.adapters.ViewGroupBindingAdapter$OnAnimationStart,androidx.databinding.adapters.ViewGroupBindingAdapter$OnAnimationEnd,androidx.databinding.adapters.ViewGroupBindingAdapter$OnAnimationRepeat) -> <init>
+ 94:97:void onAnimationEnd(android.view.animation.Animation) -> onAnimationEnd
+ 101:104:void onAnimationRepeat(android.view.animation.Animation) -> onAnimationRepeat
+ 87:90:void onAnimationStart(android.view.animation.Animation) -> onAnimationStart
+androidx.databinding.adapters.ViewStubBindingAdapter -> androidx.databinding.adapters.ViewStubBindingAdapter:
+ 34:34:void <init>() -> <init>
+ 38:39:void setOnInflateListener(androidx.databinding.ViewStubProxy,android.view.ViewStub$OnInflateListener) -> setOnInflateListener
+androidx.databinding.adapters.ZoomControlsBindingAdapter -> androidx.databinding.adapters.ZoomControlsBindingAdapter:
+ 31:31:void <init>() -> <init>
+androidx.databinding.library.BuildConfig -> androidx.databinding.library.BuildConfig:
+ 6:6:void <init>() -> <init>
+androidx.databinding.library.baseAdapters.BuildConfig -> androidx.databinding.library.baseAdapters.BuildConfig:
+ 6:6:void <init>() -> <init>
+androidx.databinding.library.baseAdapters.DataBinderMapperImpl -> androidx.databinding.library.baseAdapters.DataBinderMapperImpl:
+ 19:22:void <clinit>() -> <clinit>
+ 18:18:void <init>() -> <init>
+ 70:71:java.util.List collectDependencies() -> collectDependencies
+ 64:65:java.lang.String convertBrIdToString(int) -> convertBrIdToString
+ 26:33:androidx.databinding.ViewDataBinding getDataBinder(androidx.databinding.DataBindingComponent,android.view.View,int) -> getDataBinder
+ 38:50:androidx.databinding.ViewDataBinding getDataBinder(androidx.databinding.DataBindingComponent,android.view.View[],int) -> getDataBinder
+ 55:59:int getLayoutId(java.lang.String) -> getLayoutId
+androidx.databinding.library.baseAdapters.DataBinderMapperImpl$InnerBrLookup -> androidx.databinding.library.baseAdapters.DataBinderMapperImpl$InnerBrLookup:
+ 75:79:void <clinit>() -> <clinit>
+ 74:74:void <init>() -> <init>
+androidx.databinding.library.baseAdapters.DataBinderMapperImpl$InnerLayoutIdLookup -> androidx.databinding.library.baseAdapters.DataBinderMapperImpl$InnerLayoutIdLookup:
+ 83:86:void <clinit>() -> <clinit>
+ 82:82:void <init>() -> <init>
+androidx.documentfile.provider.DocumentFile -> androidx.documentfile.provider.DocumentFile:
+ 88:90:void <init>(androidx.documentfile.provider.DocumentFile) -> <init>
+ 338:343:androidx.documentfile.provider.DocumentFile findFile(java.lang.String) -> findFile
+ 102:102:androidx.documentfile.provider.DocumentFile fromFile(java.io.File) -> fromFile
+ 117:118:androidx.documentfile.provider.DocumentFile fromSingleUri(android.content.Context,android.net.Uri) -> fromSingleUri
+ 135:138:androidx.documentfile.provider.DocumentFile fromTreeUri(android.content.Context,android.net.Uri) -> fromTreeUri
+ 229:229:androidx.documentfile.provider.DocumentFile getParentFile() -> getParentFile
+ 149:150:boolean isDocumentUri(android.content.Context,android.net.Uri) -> isDocumentUri
+androidx.documentfile.provider.DocumentsContractApi19 -> androidx.documentfile.provider.DocumentsContractApi19:
+ 213:214:void <init>() -> <init>
+ 94:104:boolean canRead(android.content.Context,android.net.Uri) -> canRead
+ 109:137:boolean canWrite(android.content.Context,android.net.Uri) -> canWrite
+ 203:211:void closeQuietly(java.lang.AutoCloseable) -> closeQuietly
+ 141:152:boolean exists(android.content.Context,android.net.Uri) -> exists
+ 68:68:long getFlags(android.content.Context,android.net.Uri) -> getFlags
+ 49:49:java.lang.String getName(android.content.Context,android.net.Uri) -> getName
+ 54:54:java.lang.String getRawType(android.content.Context,android.net.Uri) -> getRawType
+ 59:63:java.lang.String getType(android.content.Context,android.net.Uri) -> getType
+ 72:72:boolean isDirectory(android.content.Context,android.net.Uri) -> isDirectory
+ 76:80:boolean isFile(android.content.Context,android.net.Uri) -> isFile
+ 40:44:boolean isVirtual(android.content.Context,android.net.Uri) -> isVirtual
+ 85:85:long lastModified(android.content.Context,android.net.Uri) -> lastModified
+ 89:89:long length(android.content.Context,android.net.Uri) -> length
+ 179:179:int queryForInt(android.content.Context,android.net.Uri,java.lang.String,int) -> queryForInt
+ 184:198:long queryForLong(android.content.Context,android.net.Uri,java.lang.String,long) -> queryForLong
+ 159:173:java.lang.String queryForString(android.content.Context,android.net.Uri,java.lang.String,java.lang.String) -> queryForString
+androidx.documentfile.provider.RawDocumentFile -> androidx.documentfile.provider.RawDocumentFile:
+ 33:35:void <init>(androidx.documentfile.provider.DocumentFile,java.io.File) -> <init>
+ 113:113:boolean canRead() -> canRead
+ 118:118:boolean canWrite() -> canWrite
+ 58:62:androidx.documentfile.provider.DocumentFile createDirectory(java.lang.String) -> createDirectory
+ 41:51:androidx.documentfile.provider.DocumentFile createFile(java.lang.String,java.lang.String) -> createFile
+ 123:124:boolean delete() -> delete
+ 169:182:boolean deleteContents(java.io.File) -> deleteContents
+ 129:129:boolean exists() -> exists
+ 73:73:java.lang.String getName() -> getName
+ 79:82:java.lang.String getType() -> getType
+ 156:165:java.lang.String getTypeForName(java.lang.String) -> getTypeForName
+ 68:68:android.net.Uri getUri() -> getUri
+ 88:88:boolean isDirectory() -> isDirectory
+ 93:93:boolean isFile() -> isFile
+ 98:98:boolean isVirtual() -> isVirtual
+ 103:103:long lastModified() -> lastModified
+ 108:108:long length() -> length
+ 134:141:androidx.documentfile.provider.DocumentFile[] listFiles() -> listFiles
+ 146:151:boolean renameTo(java.lang.String) -> renameTo
+androidx.documentfile.provider.SingleDocumentFile -> androidx.documentfile.provider.SingleDocumentFile:
+ 32:35:void <init>(androidx.documentfile.provider.DocumentFile,android.content.Context,android.net.Uri) -> <init>
+ 91:91:boolean canRead() -> canRead
+ 96:96:boolean canWrite() -> canWrite
+ 44:44:androidx.documentfile.provider.DocumentFile createDirectory(java.lang.String) -> createDirectory
+ 39:39:androidx.documentfile.provider.DocumentFile createFile(java.lang.String,java.lang.String) -> createFile
+ 102:104:boolean delete() -> delete
+ 110:110:boolean exists() -> exists
+ 55:55:java.lang.String getName() -> getName
+ 61:61:java.lang.String getType() -> getType
+ 49:49:android.net.Uri getUri() -> getUri
+ 66:66:boolean isDirectory() -> isDirectory
+ 71:71:boolean isFile() -> isFile
+ 76:76:boolean isVirtual() -> isVirtual
+ 81:81:long lastModified() -> lastModified
+ 86:86:long length() -> length
+ 115:115:androidx.documentfile.provider.DocumentFile[] listFiles() -> listFiles
+ 120:120:boolean renameTo(java.lang.String) -> renameTo
+androidx.documentfile.provider.TreeDocumentFile -> androidx.documentfile.provider.TreeDocumentFile:
+ 37:40:void <init>(androidx.documentfile.provider.DocumentFile,android.content.Context,android.net.Uri) -> <init>
+ 112:112:boolean canRead() -> canRead
+ 117:117:boolean canWrite() -> canWrite
+ 166:174:void closeQuietly(java.lang.AutoCloseable) -> closeQuietly
+ 63:65:androidx.documentfile.provider.DocumentFile createDirectory(java.lang.String) -> createDirectory
+ 45:46:androidx.documentfile.provider.DocumentFile createFile(java.lang.String,java.lang.String) -> createFile
+ 53:56:android.net.Uri createFile(android.content.Context,android.net.Uri,java.lang.String,java.lang.String) -> createFile
+ 123:125:boolean delete() -> delete
+ 131:131:boolean exists() -> exists
+ 76:76:java.lang.String getName() -> getName
+ 82:82:java.lang.String getType() -> getType
+ 70:70:android.net.Uri getUri() -> getUri
+ 87:87:boolean isDirectory() -> isDirectory
+ 92:92:boolean isFile() -> isFile
+ 97:97:boolean isVirtual() -> isVirtual
+ 102:102:long lastModified() -> lastModified
+ 107:107:long length() -> length
+ 136:162:androidx.documentfile.provider.DocumentFile[] listFiles() -> listFiles
+ 179:188:boolean renameTo(java.lang.String) -> renameTo
+androidx.drawerlayout.widget.DrawerLayout -> androidx.drawerlayout.widget.DrawerLayout:
+ 104:192:void <clinit>() -> <clinit>
+ 306:307:void <init>(android.content.Context) -> <init>
+ 310:311:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 195:367:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 511:518:void addDrawerListener(androidx.drawerlayout.widget.DrawerLayout$DrawerListener) -> addDrawerListener
+ 1911:1942:void addFocusables(java.util.ArrayList,int,int) -> addFocusables
+ 2057:2077:void addView(android.view.View,int,android.view.ViewGroup$LayoutParams) -> addView
+ 1961:1972:void cancelChildViewTouch() -> cancelChildViewTouch
+ 950:951:boolean checkDrawerViewAbsoluteGravity(android.view.View,int) -> checkDrawerViewAbsoluteGravity
+ 1901:1901:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 1747:1748:void closeDrawer(android.view.View) -> closeDrawer
+ 1757:1780:void closeDrawer(android.view.View,boolean) -> closeDrawer
+ 1789:1790:void closeDrawer(int) -> closeDrawer
+ 1800:1806:void closeDrawer(int,boolean) -> closeDrawer
+ 1637:1638:void closeDrawers() -> closeDrawers
+ 1641:1670:void closeDrawers(boolean) -> closeDrawers
+ 1309:1322:void computeScroll() -> computeScroll
+ 1536:1564:boolean dispatchGenericMotionEvent(android.view.MotionEvent) -> dispatchGenericMotionEvent
+ 850:875:void dispatchOnDrawerClosed(android.view.View) -> dispatchOnDrawerClosed
+ 878:897:void dispatchOnDrawerOpened(android.view.View) -> dispatchOnDrawerOpened
+ 916:924:void dispatchOnDrawerSlide(android.view.View,float) -> dispatchOnDrawerSlide
+ 774:786:boolean dispatchTransformedGenericPointerEvent(android.view.MotionEvent,android.view.View) -> dispatchTransformedGenericPointerEvent
+ 1401:1460:boolean drawChild(android.graphics.Canvas,android.view.View,long) -> drawChild
+ 985:995:android.view.View findDrawerWithGravity(int) -> findDrawerWithGravity
+ 955:963:android.view.View findOpenDrawer() -> findOpenDrawer
+ 1949:1956:android.view.View findVisibleDrawer() -> findVisibleDrawer
+ 1887:1887:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 1892:1892:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 1906:1906:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 393:396:float getDrawerElevation() -> getDrawerElevation
+ 652:697:int getDrawerLockMode(int) -> getDrawerLockMode
+ 709:713:int getDrawerLockMode(android.view.View) -> getDrawerLockMode
+ 746:753:java.lang.CharSequence getDrawerTitle(int) -> getDrawerTitle
+ 945:946:int getDrawerViewAbsoluteGravity(android.view.View) -> getDrawerViewAbsoluteGravity
+ 937:937:float getDrawerViewOffset(android.view.View) -> getDrawerViewOffset
+ 1350:1350:android.graphics.drawable.Drawable getStatusBarBackgroundDrawable() -> getStatusBarBackgroundDrawable
+ 794:806:android.view.MotionEvent getTransformedMotionEvent(android.view.MotionEvent,android.view.View) -> getTransformedMotionEvent
+ 1005:1011:java.lang.String gravityToString(int) -> gravityToString
+ 1325:1329:boolean hasOpaqueBackground(android.view.View) -> hasOpaqueBackground
+ 1875:1882:boolean hasPeekingDrawer() -> hasPeekingDrawer
+ 1945:1945:boolean hasVisibleDrawer() -> hasVisibleDrawer
+ 2085:2087:boolean includeChildForAccessibility(android.view.View) -> includeChildForAccessibility
+ 1464:1464:boolean isContentView(android.view.View) -> isContentView
+ 1819:1823:boolean isDrawerOpen(android.view.View) -> isDrawerOpen
+ 1836:1840:boolean isDrawerOpen(int) -> isDrawerOpen
+ 1468:1479:boolean isDrawerView(android.view.View) -> isDrawerView
+ 1852:1855:boolean isDrawerVisible(android.view.View) -> isDrawerVisible
+ 1867:1871:boolean isDrawerVisible(int) -> isDrawerVisible
+ 761:765:boolean isInBoundsOfChild(float,float,android.view.View) -> isInBoundsOfChild
+ 1208:1213:boolean mirror(android.graphics.drawable.Drawable,int) -> mirror
+ 967:976:void moveDrawerToOffset(android.view.View,float) -> moveDrawerToOffset
+ 1022:1024:void onAttachedToWindow() -> onAttachedToWindow
+ 1016:1018:void onDetachedFromWindow() -> onDetachedFromWindow
+ 1383:1397:void onDraw(android.graphics.Canvas) -> onDraw
+ 1485:1527:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 1976:1980:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 1985:1992:boolean onKeyUp(int,android.view.KeyEvent) -> onKeyUp
+ 1218:1298:void onLayout(boolean,int,int,int,int) -> onLayout
+ 1029:1155:void onMeasure(int,int) -> onMeasure
+ 1997:2024:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 1378:1379:void onRtlPropertiesChanged(int) -> onRtlPropertiesChanged
+ 2028:2052:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 1569:1616:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 1678:1679:void openDrawer(android.view.View) -> openDrawer
+ 1688:1713:void openDrawer(android.view.View,boolean) -> openDrawer
+ 1722:1723:void openDrawer(int) -> openDrawer
+ 1733:1739:void openDrawer(int,boolean) -> openDrawer
+ 528:536:void removeDrawerListener(androidx.drawerlayout.widget.DrawerLayout$DrawerListener) -> removeDrawerListener
+ 1625:1631:void requestDisallowInterceptTouchEvent(boolean) -> requestDisallowInterceptTouchEvent
+ 1302:1305:void requestLayout() -> requestLayout
+ 1166:1181:android.graphics.drawable.Drawable resolveLeftShadow() -> resolveLeftShadow
+ 1185:1199:android.graphics.drawable.Drawable resolveRightShadow() -> resolveRightShadow
+ 1158:1163:void resolveShadowDrawables() -> resolveShadowDrawables
+ 405:409:void setChildInsets(java.lang.Object,boolean) -> setChildInsets
+ 376:383:void setDrawerElevation(float) -> setDrawerElevation
+ 493:502:void setDrawerListener(androidx.drawerlayout.widget.DrawerLayout$DrawerListener) -> setDrawerListener
+ 552:554:void setDrawerLockMode(int) -> setDrawerLockMode
+ 576:614:void setDrawerLockMode(int,int) -> setDrawerLockMode
+ 635:641:void setDrawerLockMode(int,android.view.View) -> setDrawerLockMode
+ 431:448:void setDrawerShadow(android.graphics.drawable.Drawable,int) -> setDrawerShadow
+ 465:466:void setDrawerShadow(int,int) -> setDrawerShadow
+ 727:734:void setDrawerTitle(int,java.lang.CharSequence) -> setDrawerTitle
+ 927:934:void setDrawerViewOffset(android.view.View,float) -> setDrawerViewOffset
+ 474:476:void setScrimColor(int) -> setScrimColor
+ 1339:1341:void setStatusBarBackground(android.graphics.drawable.Drawable) -> setStatusBarBackground
+ 1360:1362:void setStatusBarBackground(int) -> setStatusBarBackground
+ 1372:1374:void setStatusBarBackgroundColor(int) -> setStatusBarBackgroundColor
+ 900:913:void updateChildrenImportantForAccessibility(android.view.View,boolean) -> updateChildrenImportantForAccessibility
+ 814:847:void updateDrawerState(int,int,android.view.View) -> updateDrawerState
+androidx.drawerlayout.widget.DrawerLayout$1 -> androidx.drawerlayout.widget.DrawerLayout$1:
+ 343:343:void <init>(androidx.drawerlayout.widget.DrawerLayout) -> <init>
+ 346:348:android.view.WindowInsets onApplyWindowInsets(android.view.View,android.view.WindowInsets) -> onApplyWindowInsets
+androidx.drawerlayout.widget.DrawerLayout$AccessibilityDelegate -> androidx.drawerlayout.widget.DrawerLayout$AccessibilityDelegate:
+ 2349:2350:void <init>(androidx.drawerlayout.widget.DrawerLayout) -> <init>
+ 2426:2433:void addChildrenForAccessibility(androidx.core.view.accessibility.AccessibilityNodeInfoCompat,android.view.ViewGroup) -> addChildrenForAccessibility
+ 2442:2464:void copyNodeInfoNoChildren(androidx.core.view.accessibility.AccessibilityNodeInfoCompat,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> copyNodeInfoNoChildren
+ 2399:2413:boolean dispatchPopulateAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> dispatchPopulateAccessibilityEvent
+ 2387:2390:void onInitializeAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 2354:2383:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 2419:2422:boolean onRequestSendAccessibilityEvent(android.view.ViewGroup,android.view.View,android.view.accessibility.AccessibilityEvent) -> onRequestSendAccessibilityEvent
+androidx.drawerlayout.widget.DrawerLayout$ChildAccessibilityDelegate -> androidx.drawerlayout.widget.DrawerLayout$ChildAccessibilityDelegate:
+ 2467:2467:void <init>() -> <init>
+ 2471:2479:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+androidx.drawerlayout.widget.DrawerLayout$LayoutParams -> androidx.drawerlayout.widget.DrawerLayout$LayoutParams:
+ 2313:2324:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 2313:2328:void <init>(int,int) -> <init>
+ 2331:2333:void <init>(int,int,int) -> <init>
+ 2313:2338:void <init>(androidx.drawerlayout.widget.DrawerLayout$LayoutParams) -> <init>
+ 2313:2342:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 2313:2346:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+androidx.drawerlayout.widget.DrawerLayout$SavedState -> androidx.drawerlayout.widget.DrawerLayout$SavedState:
+ 2124:2124:void <clinit>() -> <clinit>
+ 2095:2108:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 2095:2112:void <init>(android.os.Parcelable) -> <init>
+ 2116:2122:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.drawerlayout.widget.DrawerLayout$SavedState$1 -> androidx.drawerlayout.widget.DrawerLayout$SavedState$1:
+ 2124:2124:void <init>() -> <init>
+ 2124:2124:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 2124:2124:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 2127:2127:androidx.drawerlayout.widget.DrawerLayout$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 2132:2132:androidx.drawerlayout.widget.DrawerLayout$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 2124:2124:java.lang.Object[] newArray(int) -> newArray
+ 2137:2137:androidx.drawerlayout.widget.DrawerLayout$SavedState[] newArray(int) -> newArray
+androidx.drawerlayout.widget.DrawerLayout$SimpleDrawerListener -> androidx.drawerlayout.widget.DrawerLayout$SimpleDrawerListener:
+ 287:287:void <init>() -> <init>
+ 298:298:void onDrawerClosed(android.view.View) -> onDrawerClosed
+ 294:294:void onDrawerOpened(android.view.View) -> onDrawerOpened
+ 290:290:void onDrawerSlide(android.view.View,float) -> onDrawerSlide
+ 302:302:void onDrawerStateChanged(int) -> onDrawerStateChanged
+androidx.drawerlayout.widget.DrawerLayout$ViewDragCallback -> androidx.drawerlayout.widget.DrawerLayout$ViewDragCallback:
+ 2146:2154:void <init>(androidx.drawerlayout.widget.DrawerLayout,int) -> <init>
+ 2294:2298:int clampViewPositionHorizontal(android.view.View,int,int) -> clampViewPositionHorizontal
+ 2304:2304:int clampViewPositionVertical(android.view.View,int,int) -> clampViewPositionVertical
+ 2203:2208:void closeOtherDrawer() -> closeOtherDrawer
+ 2289:2289:int getViewHorizontalDragRange(android.view.View) -> getViewHorizontalDragRange
+ 2276:2285:void onEdgeDragStarted(int,int) -> onEdgeDragStarted
+ 2270:2270:boolean onEdgeLock(int) -> onEdgeLock
+ 2231:2232:void onEdgeTouched(int,int) -> onEdgeTouched
+ 2196:2200:void onViewCaptured(android.view.View,int) -> onViewCaptured
+ 2174:2175:void onViewDragStateChanged(int) -> onViewDragStateChanged
+ 2180:2192:void onViewPositionChanged(android.view.View,int,int,int,int) -> onViewPositionChanged
+ 2214:2227:void onViewReleased(android.view.View,float,float) -> onViewReleased
+ 2237:2259:void peekDrawer() -> peekDrawer
+ 2161:2162:void removeCallbacks() -> removeCallbacks
+ 2157:2158:void setDragger(androidx.customview.widget.ViewDragHelper) -> setDragger
+ 2168:2169:boolean tryCaptureView(android.view.View,int) -> tryCaptureView
+androidx.drawerlayout.widget.DrawerLayout$ViewDragCallback$1 -> androidx.drawerlayout.widget.DrawerLayout$ViewDragCallback$1:
+ 2146:2146:void <init>(androidx.drawerlayout.widget.DrawerLayout$ViewDragCallback) -> <init>
+ 2148:2149:void run() -> run
+androidx.dynamicanimation.animation.AnimationHandler -> androidx.dynamicanimation.animation.AnimationHandler:
+ 69:69:void <clinit>() -> <clinit>
+ 40:254:void <init>() -> <init>
+ 125:135:void addAnimationFrameCallback(androidx.dynamicanimation.animation.AnimationHandler$AnimationFrameCallback,long) -> addAnimationFrameCallback
+ 183:191:void cleanUpList() -> cleanUpList
+ 151:162:void doAnimationFrame(long) -> doAnimationFrame
+ 95:98:long getFrameTime() -> getFrameTime
+ 88:91:androidx.dynamicanimation.animation.AnimationHandler getInstance() -> getInstance
+ 111:118:androidx.dynamicanimation.animation.AnimationHandler$AnimationFrameCallbackProvider getProvider() -> getProvider
+ 171:179:boolean isCallbackDue(androidx.dynamicanimation.animation.AnimationHandler$AnimationFrameCallback,long) -> isCallbackDue
+ 141:147:void removeCallback(androidx.dynamicanimation.animation.AnimationHandler$AnimationFrameCallback) -> removeCallback
+ 106:107:void setProvider(androidx.dynamicanimation.animation.AnimationHandler$AnimationFrameCallbackProvider) -> setProvider
+androidx.dynamicanimation.animation.AnimationHandler$AnimationCallbackDispatcher -> androidx.dynamicanimation.animation.AnimationHandler$AnimationCallbackDispatcher:
+ 58:58:void <init>(androidx.dynamicanimation.animation.AnimationHandler) -> <init>
+ 60:65:void dispatchAnimationFrame() -> dispatchAnimationFrame
+androidx.dynamicanimation.animation.AnimationHandler$AnimationFrameCallbackProvider -> androidx.dynamicanimation.animation.AnimationHandler$AnimationFrameCallbackProvider:
+ 256:258:void <init>(androidx.dynamicanimation.animation.AnimationHandler$AnimationCallbackDispatcher) -> <init>
+androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackProvider14 -> androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackProvider14:
+ 226:238:void <init>(androidx.dynamicanimation.animation.AnimationHandler$AnimationCallbackDispatcher) -> <init>
+ 242:245:void postFrameCallback() -> postFrameCallback
+androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackProvider14$1 -> androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackProvider14$1:
+ 230:230:void <init>(androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackProvider14) -> <init>
+ 233:235:void run() -> run
+androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackProvider16 -> androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackProvider16:
+ 199:210:void <init>(androidx.dynamicanimation.animation.AnimationHandler$AnimationCallbackDispatcher) -> <init>
+ 214:215:void postFrameCallback() -> postFrameCallback
+androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackProvider16$1 -> androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackProvider16$1:
+ 204:204:void <init>(androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackProvider16) -> <init>
+ 207:208:void doFrame(long) -> doFrame
+androidx.dynamicanimation.animation.DynamicAnimation -> androidx.dynamicanimation.animation.DynamicAnimation:
+ 57:253:void <clinit>() -> <clinit>
+ 289:347:void <init>(androidx.dynamicanimation.animation.FloatValueHolder) -> <init>
+ 289:369:void <init>(java.lang.Object,androidx.dynamicanimation.animation.FloatPropertyCompat) -> <init>
+ 445:448:androidx.dynamicanimation.animation.DynamicAnimation addEndListener(androidx.dynamicanimation.animation.DynamicAnimation$OnAnimationEndListener) -> addEndListener
+ 473:482:androidx.dynamicanimation.animation.DynamicAnimation addUpdateListener(androidx.dynamicanimation.animation.DynamicAnimation$OnAnimationUpdateListener) -> addUpdateListener
+ 591:597:void cancel() -> cancel
+ 639:657:boolean doAnimationFrame(long) -> doAnimationFrame
+ 674:684:void endAnimationInternal(boolean) -> endAnimationInternal
+ 539:539:float getMinimumVisibleChange() -> getMinimumVisibleChange
+ 710:710:float getPropertyValue() -> getPropertyValue
+ 703:703:float getValueThreshold() -> getValueThreshold
+ 605:605:boolean isRunning() -> isRunning
+ 457:458:void removeEndListener(androidx.dynamicanimation.animation.DynamicAnimation$OnAnimationEndListener) -> removeEndListener
+ 558:562:void removeEntry(java.util.ArrayList,java.lang.Object) -> removeEntry
+ 547:552:void removeNullEntries(java.util.ArrayList) -> removeNullEntries
+ 492:493:void removeUpdateListener(androidx.dynamicanimation.animation.DynamicAnimation$OnAnimationUpdateListener) -> removeUpdateListener
+ 420:421:androidx.dynamicanimation.animation.DynamicAnimation setMaxValue(float) -> setMaxValue
+ 433:434:androidx.dynamicanimation.animation.DynamicAnimation setMinValue(float) -> setMinValue
+ 524:529:androidx.dynamicanimation.animation.DynamicAnimation setMinimumVisibleChange(float) -> setMinimumVisibleChange
+ 690:697:void setPropertyValue(float) -> setPropertyValue
+ 379:381:androidx.dynamicanimation.animation.DynamicAnimation setStartValue(float) -> setStartValue
+ 403:404:androidx.dynamicanimation.animation.DynamicAnimation setStartVelocity(float) -> setStartVelocity
+ 576:582:void start() -> start
+ 613:625:void startAnimationInternal() -> startAnimationInternal
+androidx.dynamicanimation.animation.DynamicAnimation$1 -> androidx.dynamicanimation.animation.DynamicAnimation$1:
+ 57:57:void <init>(java.lang.String) -> <init>
+ 57:57:float getValue(java.lang.Object) -> getValue
+ 65:65:float getValue(android.view.View) -> getValue
+ 57:57:void setValue(java.lang.Object,float) -> setValue
+ 60:61:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$10 -> androidx.dynamicanimation.animation.DynamicAnimation$10:
+ 192:192:void <init>(java.lang.String) -> <init>
+ 192:192:float getValue(java.lang.Object) -> getValue
+ 200:200:float getValue(android.view.View) -> getValue
+ 192:192:void setValue(java.lang.Object,float) -> setValue
+ 195:196:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$11 -> androidx.dynamicanimation.animation.DynamicAnimation$11:
+ 207:207:void <init>(java.lang.String) -> <init>
+ 207:207:float getValue(java.lang.Object) -> getValue
+ 215:215:float getValue(android.view.View) -> getValue
+ 207:207:void setValue(java.lang.Object,float) -> setValue
+ 210:211:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$12 -> androidx.dynamicanimation.animation.DynamicAnimation$12:
+ 222:222:void <init>(java.lang.String) -> <init>
+ 222:222:float getValue(java.lang.Object) -> getValue
+ 230:230:float getValue(android.view.View) -> getValue
+ 222:222:void setValue(java.lang.Object,float) -> setValue
+ 225:226:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$13 -> androidx.dynamicanimation.animation.DynamicAnimation$13:
+ 238:238:void <init>(java.lang.String) -> <init>
+ 238:238:float getValue(java.lang.Object) -> getValue
+ 246:246:float getValue(android.view.View) -> getValue
+ 238:238:void setValue(java.lang.Object,float) -> setValue
+ 241:242:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$14 -> androidx.dynamicanimation.animation.DynamicAnimation$14:
+ 253:253:void <init>(java.lang.String) -> <init>
+ 253:253:float getValue(java.lang.Object) -> getValue
+ 261:261:float getValue(android.view.View) -> getValue
+ 253:253:void setValue(java.lang.Object,float) -> setValue
+ 256:257:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$15 -> androidx.dynamicanimation.animation.DynamicAnimation$15:
+ 335:335:void <init>(androidx.dynamicanimation.animation.DynamicAnimation,java.lang.String,androidx.dynamicanimation.animation.FloatValueHolder) -> <init>
+ 338:338:float getValue(java.lang.Object) -> getValue
+ 343:344:void setValue(java.lang.Object,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$2 -> androidx.dynamicanimation.animation.DynamicAnimation$2:
+ 72:72:void <init>(java.lang.String) -> <init>
+ 72:72:float getValue(java.lang.Object) -> getValue
+ 80:80:float getValue(android.view.View) -> getValue
+ 72:72:void setValue(java.lang.Object,float) -> setValue
+ 75:76:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$3 -> androidx.dynamicanimation.animation.DynamicAnimation$3:
+ 87:87:void <init>(java.lang.String) -> <init>
+ 87:87:float getValue(java.lang.Object) -> getValue
+ 95:95:float getValue(android.view.View) -> getValue
+ 87:87:void setValue(java.lang.Object,float) -> setValue
+ 90:91:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$4 -> androidx.dynamicanimation.animation.DynamicAnimation$4:
+ 102:102:void <init>(java.lang.String) -> <init>
+ 102:102:float getValue(java.lang.Object) -> getValue
+ 110:110:float getValue(android.view.View) -> getValue
+ 102:102:void setValue(java.lang.Object,float) -> setValue
+ 105:106:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$5 -> androidx.dynamicanimation.animation.DynamicAnimation$5:
+ 117:117:void <init>(java.lang.String) -> <init>
+ 117:117:float getValue(java.lang.Object) -> getValue
+ 125:125:float getValue(android.view.View) -> getValue
+ 117:117:void setValue(java.lang.Object,float) -> setValue
+ 120:121:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$6 -> androidx.dynamicanimation.animation.DynamicAnimation$6:
+ 132:132:void <init>(java.lang.String) -> <init>
+ 132:132:float getValue(java.lang.Object) -> getValue
+ 140:140:float getValue(android.view.View) -> getValue
+ 132:132:void setValue(java.lang.Object,float) -> setValue
+ 135:136:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$7 -> androidx.dynamicanimation.animation.DynamicAnimation$7:
+ 147:147:void <init>(java.lang.String) -> <init>
+ 147:147:float getValue(java.lang.Object) -> getValue
+ 155:155:float getValue(android.view.View) -> getValue
+ 147:147:void setValue(java.lang.Object,float) -> setValue
+ 150:151:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$8 -> androidx.dynamicanimation.animation.DynamicAnimation$8:
+ 162:162:void <init>(java.lang.String) -> <init>
+ 162:162:float getValue(java.lang.Object) -> getValue
+ 170:170:float getValue(android.view.View) -> getValue
+ 162:162:void setValue(java.lang.Object,float) -> setValue
+ 165:166:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$9 -> androidx.dynamicanimation.animation.DynamicAnimation$9:
+ 177:177:void <init>(java.lang.String) -> <init>
+ 177:177:float getValue(java.lang.Object) -> getValue
+ 185:185:float getValue(android.view.View) -> getValue
+ 177:177:void setValue(java.lang.Object,float) -> setValue
+ 180:181:void setValue(android.view.View,float) -> setValue
+androidx.dynamicanimation.animation.DynamicAnimation$MassState -> androidx.dynamicanimation.animation.DynamicAnimation$MassState:
+ 323:323:void <init>() -> <init>
+androidx.dynamicanimation.animation.DynamicAnimation$ViewProperty -> androidx.dynamicanimation.animation.DynamicAnimation$ViewProperty:
+ 48:48:void <init>(java.lang.String,androidx.dynamicanimation.animation.DynamicAnimation$1) -> <init>
+ 50:51:void <init>(java.lang.String) -> <init>
+androidx.dynamicanimation.animation.FlingAnimation -> androidx.dynamicanimation.animation.FlingAnimation:
+ 43:60:void <init>(androidx.dynamicanimation.animation.FloatValueHolder) -> <init>
+ 43:72:void <init>(java.lang.Object,androidx.dynamicanimation.animation.FloatPropertyCompat) -> <init>
+ 179:179:float getAcceleration(float,float) -> getAcceleration
+ 98:98:float getFriction() -> getFriction
+ 184:186:boolean isAtEquilibrium(float,float) -> isAtEquilibrium
+ 84:88:androidx.dynamicanimation.animation.FlingAnimation setFriction(float) -> setFriction
+ 41:41:androidx.dynamicanimation.animation.DynamicAnimation setMaxValue(float) -> setMaxValue
+ 123:124:androidx.dynamicanimation.animation.FlingAnimation setMaxValue(float) -> setMaxValue
+ 41:41:androidx.dynamicanimation.animation.DynamicAnimation setMinValue(float) -> setMinValue
+ 110:111:androidx.dynamicanimation.animation.FlingAnimation setMinValue(float) -> setMinValue
+ 41:41:androidx.dynamicanimation.animation.DynamicAnimation setStartVelocity(float) -> setStartVelocity
+ 150:151:androidx.dynamicanimation.animation.FlingAnimation setStartVelocity(float) -> setStartVelocity
+ 191:192:void setValueThreshold(float) -> setValueThreshold
+ 157:174:boolean updateValueAndVelocity(long) -> updateValueAndVelocity
+androidx.dynamicanimation.animation.FlingAnimation$DragForce -> androidx.dynamicanimation.animation.FlingAnimation$DragForce:
+ 194:206:void <init>() -> <init>
+ 228:228:float getAcceleration(float,float) -> getAcceleration
+ 213:213:float getFrictionScalar() -> getFrictionScalar
+ 233:233:boolean isAtEquilibrium(float,float) -> isAtEquilibrium
+ 209:210:void setFrictionScalar(float) -> setFrictionScalar
+ 237:238:void setValueThreshold(float) -> setValueThreshold
+ 217:223:androidx.dynamicanimation.animation.DynamicAnimation$MassState updateValueAndVelocity(float,float,long) -> updateValueAndVelocity
+androidx.dynamicanimation.animation.FloatPropertyCompat -> androidx.dynamicanimation.animation.FloatPropertyCompat:
+ 42:44:void <init>(java.lang.String) -> <init>
+ 58:58:androidx.dynamicanimation.animation.FloatPropertyCompat createFloatPropertyCompat(android.util.FloatProperty) -> createFloatPropertyCompat
+androidx.dynamicanimation.animation.FloatPropertyCompat$1 -> androidx.dynamicanimation.animation.FloatPropertyCompat$1:
+ 58:58:void <init>(java.lang.String,android.util.FloatProperty) -> <init>
+ 61:61:float getValue(java.lang.Object) -> getValue
+ 66:67:void setValue(java.lang.Object,float) -> setValue
+androidx.dynamicanimation.animation.FloatValueHolder -> androidx.dynamicanimation.animation.FloatValueHolder:
+ 40:46:void <init>() -> <init>
+ 40:55:void <init>(float) -> <init>
+ 72:72:float getValue() -> getValue
+ 63:64:void setValue(float) -> setValue
+androidx.dynamicanimation.animation.SpringAnimation -> androidx.dynamicanimation.animation.SpringAnimation:
+ 60:79:void <init>(androidx.dynamicanimation.animation.FloatValueHolder) -> <init>
+ 60:92:void <init>(java.lang.Object,androidx.dynamicanimation.animation.FloatPropertyCompat) -> <init>
+ 60:108:void <init>(java.lang.Object,androidx.dynamicanimation.animation.FloatPropertyCompat,float) -> <init>
+ 152:161:void animateToFinalPosition(float) -> animateToFinalPosition
+ 191:191:boolean canSkipToEnd() -> canSkipToEnd
+ 257:257:float getAcceleration(float,float) -> getAcceleration
+ 116:116:androidx.dynamicanimation.animation.SpringForce getSpring() -> getSpring
+ 262:262:boolean isAtEquilibrium(float,float) -> isAtEquilibrium
+ 197:209:void sanityCheck() -> sanityCheck
+ 128:129:androidx.dynamicanimation.animation.SpringAnimation setSpring(androidx.dynamicanimation.animation.SpringForce) -> setSpring
+ 267:267:void setValueThreshold(float) -> setValueThreshold
+ 173:183:void skipToEnd() -> skipToEnd
+ 134:137:void start() -> start
+ 215:252:boolean updateValueAndVelocity(long) -> updateValueAndVelocity
+androidx.dynamicanimation.animation.SpringForce -> androidx.dynamicanimation.animation.SpringForce:
+ 83:115:void <init>() -> <init>
+ 83:124:void <init>(float) -> <init>
+ 218:223:float getAcceleration(float,float) -> getAcceleration
+ 186:186:float getDampingRatio() -> getDampingRatio
+ 206:206:float getFinalPosition() -> getFinalPosition
+ 152:152:float getStiffness() -> getStiffness
+ 247:268:void init() -> init
+ 232:236:boolean isAtEquilibrium(float,float) -> isAtEquilibrium
+ 171:177:androidx.dynamicanimation.animation.SpringForce setDampingRatio(float) -> setDampingRatio
+ 196:197:androidx.dynamicanimation.animation.SpringForce setFinalPosition(float) -> setFinalPosition
+ 137:143:androidx.dynamicanimation.animation.SpringForce setStiffness(float) -> setStiffness
+ 329:331:void setValueThreshold(double) -> setValueThreshold
+ 276:315:androidx.dynamicanimation.animation.DynamicAnimation$MassState updateValues(double,double,long) -> updateValues
+androidx.fragment.app.BackStackRecord -> androidx.fragment.app.BackStackRecord:
+ 38:142:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 264:281:void bumpBackStackNesting(int) -> bumpBackStackNesting
+ 294:294:int commit() -> commit
+ 299:299:int commitAllowingStateLoss() -> commitAllowingStateLoss
+ 315:330:int commitInternal(boolean) -> commitInternal
+ 304:306:void commitNow() -> commitNow
+ 310:312:void commitNowAllowingStateLoss() -> commitNowAllowingStateLoss
+ 223:228:androidx.fragment.app.FragmentTransaction detach(androidx.fragment.app.Fragment) -> detach
+ 183:185:void doAddOp(int,androidx.fragment.app.Fragment,java.lang.String,int) -> doAddOp
+ 58:59:void dump(java.lang.String,java.io.PrintWriter) -> dump
+ 62:135:void dump(java.lang.String,java.io.PrintWriter,boolean) -> dump
+ 402:461:void executeOps() -> executeOps
+ 471:529:void executePopOps(boolean) -> executePopOps
+ 555:620:androidx.fragment.app.Fragment expandOps(java.util.ArrayList,androidx.fragment.app.Fragment) -> expandOps
+ 345:354:boolean generateOps(java.util.ArrayList,java.util.ArrayList) -> generateOps
+ 175:178:java.lang.CharSequence getBreadCrumbShortTitle() -> getBreadCrumbShortTitle
+ 158:158:int getBreadCrumbShortTitleRes() -> getBreadCrumbShortTitleRes
+ 165:168:java.lang.CharSequence getBreadCrumbTitle() -> getBreadCrumbTitle
+ 152:152:int getBreadCrumbTitleRes() -> getBreadCrumbTitleRes
+ 146:146:int getId() -> getId
+ 687:687:java.lang.String getName() -> getName
+ 201:206:androidx.fragment.app.FragmentTransaction hide(androidx.fragment.app.Fragment) -> hide
+ 358:366:boolean interactsWith(int) -> interactsWith
+ 370:394:boolean interactsWith(java.util.ArrayList,int,int) -> interactsWith
+ 692:692:boolean isEmpty() -> isEmpty
+ 679:681:boolean isFragmentPostponed(androidx.fragment.app.FragmentTransaction$Op) -> isFragmentPostponed
+ 660:666:boolean isPostponed() -> isPostponed
+ 190:195:androidx.fragment.app.FragmentTransaction remove(androidx.fragment.app.Fragment) -> remove
+ 284:290:void runOnCommitRunnables() -> runOnCommitRunnables
+ 247:260:androidx.fragment.app.FragmentTransaction setMaxLifecycle(androidx.fragment.app.Fragment,androidx.lifecycle.Lifecycle$State) -> setMaxLifecycle
+ 670:676:void setOnStartPostponedListener(androidx.fragment.app.Fragment$OnStartEnterTransitionListener) -> setOnStartPostponedListener
+ 234:240:androidx.fragment.app.FragmentTransaction setPrimaryNavigationFragment(androidx.fragment.app.Fragment) -> setPrimaryNavigationFragment
+ 212:217:androidx.fragment.app.FragmentTransaction show(androidx.fragment.app.Fragment) -> show
+ 42:54:java.lang.String toString() -> toString
+ 634:656:androidx.fragment.app.Fragment trackAddedFragmentsInPop(java.util.ArrayList,androidx.fragment.app.Fragment) -> trackAddedFragmentsInPop
+androidx.fragment.app.BackStackState -> androidx.fragment.app.BackStackState:
+ 169:169:void <clinit>() -> <clinit>
+ 48:81:void <init>(androidx.fragment.app.BackStackRecord) -> <init>
+ 83:98:void <init>(android.os.Parcel) -> <init>
+ 148:148:int describeContents() -> describeContents
+ 101:143:androidx.fragment.app.BackStackRecord instantiate(androidx.fragment.app.FragmentManager) -> instantiate
+ 153:167:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.fragment.app.BackStackState$1 -> androidx.fragment.app.BackStackState$1:
+ 170:170:void <init>() -> <init>
+ 170:170:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 173:173:androidx.fragment.app.BackStackState createFromParcel(android.os.Parcel) -> createFromParcel
+ 170:170:java.lang.Object[] newArray(int) -> newArray
+ 178:178:androidx.fragment.app.BackStackState[] newArray(int) -> newArray
+androidx.fragment.app.DefaultSpecialEffectsController -> androidx.fragment.app.DefaultSpecialEffectsController:
+ 52:53:void <init>(android.view.ViewGroup) -> <init>
+ 742:744:void applyContainerChanges(androidx.fragment.app.SpecialEffectsController$Operation) -> applyContainerChanges
+ 697:717:void captureTransitioningViews(java.util.ArrayList,android.view.View) -> captureTransitioningViews
+ 59:127:void executeOperations(java.util.List,boolean) -> executeOperations
+ 724:738:void findNamedViews(java.util.Map,android.view.View) -> findNamedViews
+ 679:686:void retainMatchingViews(androidx.collection.ArrayMap,java.util.Collection) -> retainMatchingViews
+ 132:281:void startAnimations(java.util.List,java.util.List,boolean,java.util.Map) -> startAnimations
+ 288:667:java.util.Map startTransitions(java.util.List,java.util.List,boolean,androidx.fragment.app.SpecialEffectsController$Operation,androidx.fragment.app.SpecialEffectsController$Operation) -> startTransitions
+androidx.fragment.app.DefaultSpecialEffectsController$1 -> androidx.fragment.app.DefaultSpecialEffectsController$1:
+ 103:103:void <init>(androidx.fragment.app.DefaultSpecialEffectsController,java.util.List,androidx.fragment.app.SpecialEffectsController$Operation) -> <init>
+ 106:110:void run() -> run
+androidx.fragment.app.DefaultSpecialEffectsController$10 -> androidx.fragment.app.DefaultSpecialEffectsController$10:
+ 63:63:void <clinit>() -> <clinit>
+androidx.fragment.app.DefaultSpecialEffectsController$2 -> androidx.fragment.app.DefaultSpecialEffectsController$2:
+ 181:181:void <init>(androidx.fragment.app.DefaultSpecialEffectsController,android.view.ViewGroup,android.view.View,boolean,androidx.fragment.app.SpecialEffectsController$Operation,androidx.fragment.app.DefaultSpecialEffectsController$AnimationInfo) -> <init>
+ 184:191:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.fragment.app.DefaultSpecialEffectsController$3 -> androidx.fragment.app.DefaultSpecialEffectsController$3:
+ 197:197:void <init>(androidx.fragment.app.DefaultSpecialEffectsController,android.animation.Animator) -> <init>
+ 200:201:void onCancel() -> onCancel
+androidx.fragment.app.DefaultSpecialEffectsController$4 -> androidx.fragment.app.DefaultSpecialEffectsController$4:
+ 245:245:void <init>(androidx.fragment.app.DefaultSpecialEffectsController,android.view.ViewGroup,android.view.View,androidx.fragment.app.DefaultSpecialEffectsController$AnimationInfo) -> <init>
+ 255:262:void onAnimationEnd(android.view.animation.Animation) -> onAnimationEnd
+ 266:266:void onAnimationRepeat(android.view.animation.Animation) -> onAnimationRepeat
+ 248:248:void onAnimationStart(android.view.animation.Animation) -> onAnimationStart
+androidx.fragment.app.DefaultSpecialEffectsController$4$1 -> androidx.fragment.app.DefaultSpecialEffectsController$4$1:
+ 255:255:void <init>(androidx.fragment.app.DefaultSpecialEffectsController$4) -> <init>
+ 258:260:void run() -> run
+androidx.fragment.app.DefaultSpecialEffectsController$5 -> androidx.fragment.app.DefaultSpecialEffectsController$5:
+ 272:272:void <init>(androidx.fragment.app.DefaultSpecialEffectsController,android.view.View,android.view.ViewGroup,androidx.fragment.app.DefaultSpecialEffectsController$AnimationInfo) -> <init>
+ 275:278:void onCancel() -> onCancel
+androidx.fragment.app.DefaultSpecialEffectsController$6 -> androidx.fragment.app.DefaultSpecialEffectsController$6:
+ 454:454:void <init>(androidx.fragment.app.DefaultSpecialEffectsController,androidx.fragment.app.SpecialEffectsController$Operation,androidx.fragment.app.SpecialEffectsController$Operation,boolean,androidx.collection.ArrayMap) -> <init>
+ 457:460:void run() -> run
+androidx.fragment.app.DefaultSpecialEffectsController$7 -> androidx.fragment.app.DefaultSpecialEffectsController$7:
+ 485:485:void <init>(androidx.fragment.app.DefaultSpecialEffectsController,androidx.fragment.app.FragmentTransitionImpl,android.view.View,android.graphics.Rect) -> <init>
+ 488:490:void run() -> run
+androidx.fragment.app.DefaultSpecialEffectsController$8 -> androidx.fragment.app.DefaultSpecialEffectsController$8:
+ 577:577:void <init>(androidx.fragment.app.DefaultSpecialEffectsController,java.util.ArrayList) -> <init>
+ 580:582:void run() -> run
+androidx.fragment.app.DefaultSpecialEffectsController$9 -> androidx.fragment.app.DefaultSpecialEffectsController$9:
+ 639:639:void <init>(androidx.fragment.app.DefaultSpecialEffectsController,androidx.fragment.app.DefaultSpecialEffectsController$TransitionInfo) -> <init>
+ 642:643:void run() -> run
+androidx.fragment.app.DefaultSpecialEffectsController$AnimationInfo -> androidx.fragment.app.DefaultSpecialEffectsController$AnimationInfo:
+ 783:791:void <init>(androidx.fragment.app.SpecialEffectsController$Operation,androidx.core.os.CancellationSignal,boolean) -> <init>
+ 795:803:androidx.fragment.app.FragmentAnim$AnimationOrAnimator getAnimation(android.content.Context) -> getAnimation
+androidx.fragment.app.DefaultSpecialEffectsController$SpecialEffectsInfo -> androidx.fragment.app.DefaultSpecialEffectsController$SpecialEffectsInfo:
+ 752:755:void <init>(androidx.fragment.app.SpecialEffectsController$Operation,androidx.core.os.CancellationSignal) -> <init>
+ 776:777:void completeSpecialEffect() -> completeSpecialEffect
+ 759:759:androidx.fragment.app.SpecialEffectsController$Operation getOperation() -> getOperation
+ 764:764:androidx.core.os.CancellationSignal getSignal() -> getSignal
+ 768:771:boolean isVisibilityUnchanged() -> isVisibilityUnchanged
+androidx.fragment.app.DefaultSpecialEffectsController$TransitionInfo -> androidx.fragment.app.DefaultSpecialEffectsController$TransitionInfo:
+ 817:845:void <init>(androidx.fragment.app.SpecialEffectsController$Operation,androidx.core.os.CancellationSignal,boolean,boolean) -> <init>
+ 867:879:androidx.fragment.app.FragmentTransitionImpl getHandlingImpl() -> getHandlingImpl
+ 884:896:androidx.fragment.app.FragmentTransitionImpl getHandlingImpl(java.lang.Object) -> getHandlingImpl
+ 862:862:java.lang.Object getSharedElementTransition() -> getSharedElementTransition
+ 849:849:java.lang.Object getTransition() -> getTransition
+ 857:857:boolean hasSharedElementTransition() -> hasSharedElementTransition
+ 853:853:boolean isOverlapAllowed() -> isOverlapAllowed
+androidx.fragment.app.DialogFragment -> androidx.fragment.app.DialogFragment:
+ 107:189:void <init>() -> <init>
+ 107:214:void <init>(int) -> <init>
+ 60:60:android.app.Dialog access$000(androidx.fragment.app.DialogFragment) -> access$000
+ 60:60:android.content.DialogInterface$OnDismissListener access$100(androidx.fragment.app.DialogFragment) -> access$100
+ 60:60:boolean access$200(androidx.fragment.app.DialogFragment) -> access$200
+ 505:506:androidx.fragment.app.FragmentContainer createFragmentContainer() -> createFragmentContainer
+ 307:308:void dismiss() -> dismiss
+ 317:318:void dismissAllowingStateLoss() -> dismissAllowingStateLoss
+ 321:358:void dismissInternal(boolean,boolean) -> dismissInternal
+ 367:367:android.app.Dialog getDialog() -> getDialog
+ 439:439:boolean getShowsDialog() -> getShowsDialog
+ 388:388:int getTheme() -> getTheme
+ 409:409:boolean isCancelable() -> isCancelable
+ 445:452:void onAttach(android.content.Context) -> onAttach
+ 620:620:void onCancel(android.content.DialogInterface) -> onCancel
+ 471:484:void onCreate(android.os.Bundle) -> onCreate
+ 612:615:android.app.Dialog onCreateDialog(android.os.Bundle) -> onCreateDialog
+ 737:756:void onDestroyView() -> onDestroyView
+ 457:465:void onDetach() -> onDetach
+ 624:634:void onDismiss(android.content.DialogInterface) -> onDismiss
+ 525:528:android.view.View onFindViewById(int) -> onFindViewById
+ 545:567:android.view.LayoutInflater onGetLayoutInflater(android.os.Bundle) -> onGetLayoutInflater
+ 532:532:boolean onHasView() -> onHasView
+ 699:720:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 683:694:void onStart() -> onStart
+ 725:729:void onStop() -> onStop
+ 671:678:void onViewStateRestored(android.os.Bundle) -> onViewStateRestored
+ 489:500:void performCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle) -> performCreateView
+ 637:666:void prepareDialog(android.os.Bundle) -> prepareDialog
+ 379:383:android.app.Dialog requireDialog() -> requireDialog
+ 401:403:void setCancelable(boolean) -> setCancelable
+ 432:433:void setShowsDialog(boolean) -> setShowsDialog
+ 231:242:void setStyle(int,int) -> setStyle
+ 573:585:void setupDialog(android.app.Dialog,int) -> setupDialog
+ 256:261:void show(androidx.fragment.app.FragmentManager,java.lang.String) -> show
+ 273:278:int show(androidx.fragment.app.FragmentTransaction,java.lang.String) -> show
+ 293:298:void showNow(androidx.fragment.app.FragmentManager,java.lang.String) -> showNow
+androidx.fragment.app.DialogFragment$1 -> androidx.fragment.app.DialogFragment$1:
+ 107:107:void <init>(androidx.fragment.app.DialogFragment) -> <init>
+ 111:112:void run() -> run
+androidx.fragment.app.DialogFragment$2 -> androidx.fragment.app.DialogFragment$2:
+ 116:116:void <init>(androidx.fragment.app.DialogFragment) -> <init>
+ 120:123:void onCancel(android.content.DialogInterface) -> onCancel
+androidx.fragment.app.DialogFragment$3 -> androidx.fragment.app.DialogFragment$3:
+ 127:127:void <init>(androidx.fragment.app.DialogFragment) -> <init>
+ 131:134:void onDismiss(android.content.DialogInterface) -> onDismiss
+androidx.fragment.app.DialogFragment$4 -> androidx.fragment.app.DialogFragment$4:
+ 143:143:void <init>(androidx.fragment.app.DialogFragment) -> <init>
+ 143:143:void onChanged(java.lang.Object) -> onChanged
+ 147:161:void onChanged(androidx.lifecycle.LifecycleOwner) -> onChanged
+androidx.fragment.app.DialogFragment$5 -> androidx.fragment.app.DialogFragment$5:
+ 506:506:void <init>(androidx.fragment.app.DialogFragment,androidx.fragment.app.FragmentContainer) -> <init>
+ 510:513:android.view.View onFindViewById(int) -> onFindViewById
+ 518:518:boolean onHasView() -> onHasView
+androidx.fragment.app.Fragment -> androidx.fragment.app.Fragment:
+ 122:122:void <clinit>() -> <clinit>
+ 134:538:void <init>() -> <init>
+ 563:565:void <init>(int) -> <init>
+ 2758:2788:void callStartTransitionListener(boolean) -> callStartTransitionListener
+ 2896:2896:androidx.fragment.app.FragmentContainer createFragmentContainer() -> createFragmentContainer
+ 2802:2884:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 3263:3266:androidx.fragment.app.Fragment$AnimationInfo ensureAnimationInfo() -> ensureAnimationInfo
+ 665:665:boolean equals(java.lang.Object) -> equals
+ 2888:2891:androidx.fragment.app.Fragment findFragmentByWho(java.lang.String) -> findFragmentByWho
+ 3541:3541:java.lang.String generateActivityResultKey() -> generateActivityResultKey
+ 914:914:androidx.fragment.app.FragmentActivity getActivity() -> getActivity
+ 2613:2614:boolean getAllowEnterTransitionOverlap() -> getAllowEnterTransitionOverlap
+ 2638:2639:boolean getAllowReturnTransitionOverlap() -> getAllowReturnTransitionOverlap
+ 3374:3377:android.view.View getAnimatingAway() -> getAnimatingAway
+ 3389:3392:android.animation.Animator getAnimator() -> getAnimator
+ 735:735:android.os.Bundle getArguments() -> getArguments
+ 1074:1077:androidx.fragment.app.FragmentManager getChildFragmentManager() -> getChildFragmentManager
+ 887:887:android.content.Context getContext() -> getContext
+ 426:450:androidx.lifecycle.ViewModelProvider$Factory getDefaultViewModelProviderFactory() -> getDefaultViewModelProviderFactory
+ 3280:3283:int getEnterAnim() -> getEnterAnim
+ 2396:2399:java.lang.Object getEnterTransition() -> getEnterTransition
+ 3360:3363:androidx.core.app.SharedElementCallback getEnterTransitionCallback() -> getEnterTransitionCallback
+ 3287:3290:int getExitAnim() -> getExitAnim
+ 2475:2478:java.lang.Object getExitTransition() -> getExitTransition
+ 3367:3370:androidx.core.app.SharedElementCallback getExitTransitionCallback() -> getExitTransitionCallback
+ 3411:3414:android.view.View getFocusedView() -> getFocusedView
+ 1021:1021:androidx.fragment.app.FragmentManager getFragmentManager() -> getFragmentManager
+ 941:941:java.lang.Object getHost() -> getHost
+ 704:704:int getId() -> getId
+ 1638:1641:android.view.LayoutInflater getLayoutInflater() -> getLayoutInflater
+ 1672:1678:android.view.LayoutInflater getLayoutInflater(android.os.Bundle) -> getLayoutInflater
+ 319:319:androidx.lifecycle.Lifecycle getLifecycle() -> getLifecycle
+ 1357:1357:androidx.loader.app.LoaderManager getLoaderManager() -> getLoaderManager
+ 410:413:int getMinimumMaxLifecycleState() -> getMinimumMaxLifecycleState
+ 3322:3325:int getNextTransition() -> getNextTransition
+ 1086:1086:androidx.fragment.app.Fragment getParentFragment() -> getParentFragment
+ 1038:1043:androidx.fragment.app.FragmentManager getParentFragmentManager() -> getParentFragmentManager
+ 3308:3311:boolean getPopDirection() -> getPopDirection
+ 3294:3297:int getPopEnterAnim() -> getPopEnterAnim
+ 3301:3304:int getPopExitAnim() -> getPopExitAnim
+ 3400:3403:float getPostOnViewCreatedAlpha() -> getPostOnViewCreatedAlpha
+ 2513:2517:java.lang.Object getReenterTransition() -> getReenterTransition
+ 964:964:android.content.res.Resources getResources() -> getResources
+ 1261:1261:boolean getRetainInstance() -> getRetainInstance
+ 2435:2439:java.lang.Object getReturnTransition() -> getReturnTransition
+ 456:456:androidx.savedstate.SavedStateRegistry getSavedStateRegistry() -> getSavedStateRegistry
+ 2546:2549:java.lang.Object getSharedElementEnterTransition() -> getSharedElementEnterTransition
+ 2584:2589:java.lang.Object getSharedElementReturnTransition() -> getSharedElementReturnTransition
+ 3338:3341:java.util.ArrayList getSharedElementSourceNames() -> getSharedElementSourceNames
+ 3346:3349:java.util.ArrayList getSharedElementTargetNames() -> getSharedElementTargetNames
+ 986:986:java.lang.String getString(int) -> getString
+ 999:999:java.lang.String getString(int,java.lang.Object[]) -> getString
+ 712:712:java.lang.String getTag() -> getTag
+ 855:863:androidx.fragment.app.Fragment getTargetFragment() -> getTargetFragment
+ 877:877:int getTargetRequestCode() -> getTargetRequestCode
+ 975:975:java.lang.CharSequence getText(int) -> getText
+ 1345:1345:boolean getUserVisibleHint() -> getUserVisibleHint
+ 1951:1951:android.view.View getView() -> getView
+ 360:364:androidx.lifecycle.LifecycleOwner getViewLifecycleOwner() -> getViewLifecycleOwner
+ 381:381:androidx.lifecycle.LiveData getViewLifecycleOwnerLiveData() -> getViewLifecycleOwnerLiveData
+ 397:405:androidx.lifecycle.ViewModelStore getViewModelStore() -> getViewModelStore
+ 1191:1191:boolean hasOptionsMenu() -> hasOptionsMenu
+ 672:672:int hashCode() -> hashCode
+ 568:573:void initLifecycle() -> initLifecycle
+ 2164:2180:void initState() -> initState
+ 585:585:androidx.fragment.app.Fragment instantiate(android.content.Context,java.lang.String) -> instantiate
+ 611:631:androidx.fragment.app.Fragment instantiate(android.content.Context,java.lang.String,android.os.Bundle) -> instantiate
+ 1116:1116:boolean isAdded() -> isAdded
+ 1125:1125:boolean isDetached() -> isDetached
+ 1184:1184:boolean isHidden() -> isHidden
+ 3425:3428:boolean isHideReplaced() -> isHideReplaced
+ 658:658:boolean isInBackStack() -> isInBackStack
+ 1155:1155:boolean isInLayout() -> isInLayout
+ 1197:1198:boolean isMenuVisible() -> isMenuVisible
+ 3418:3421:boolean isPostponed() -> isPostponed
+ 1134:1134:boolean isRemoving() -> isRemoving
+ 1143:1144:boolean isRemovingParent() -> isRemovingParent
+ 1163:1163:boolean isResumed() -> isResumed
+ 762:765:boolean isStateSaved() -> isStateSaved
+ 1172:1173:boolean isVisible() -> isVisible
+ 3052:3053:void noteStateNotSaved() -> noteStateNotSaved
+ 1996:1997:void onActivityCreated(android.os.Bundle) -> onActivityCreated
+ 1489:1494:void onActivityResult(int,int,android.content.Intent) -> onActivityResult
+ 1779:1785:void onAttach(android.content.Context) -> onAttach
+ 1798:1799:void onAttach(android.app.Activity) -> onAttach
+ 1769:1769:void onAttachFragment(androidx.fragment.app.Fragment) -> onAttachFragment
+ 2085:2086:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 2343:2343:boolean onContextItemSelected(android.view.MenuItem) -> onContextItemSelected
+ 1866:1871:void onCreate(android.os.Bundle) -> onCreate
+ 1819:1819:android.view.animation.Animation onCreateAnimation(int,boolean,int) -> onCreateAnimation
+ 1841:1841:android.animation.Animator onCreateAnimator(int,boolean,int) -> onCreateAnimator
+ 2295:2296:void onCreateContextMenu(android.view.ContextMenu,android.view.View,android.view.ContextMenu$ContextMenuInfo) -> onCreateContextMenu
+ 2207:2207:void onCreateOptionsMenu(android.view.Menu,android.view.MenuInflater) -> onCreateOptionsMenu
+ 1923:1926:android.view.View onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle) -> onCreateView
+ 2154:2155:void onDestroy() -> onDestroy
+ 2236:2236:void onDestroyOptionsMenu() -> onDestroyOptionsMenu
+ 2144:2145:void onDestroyView() -> onDestroyView
+ 2189:2190:void onDetach() -> onDetach
+ 1622:1622:android.view.LayoutInflater onGetLayoutInflater(android.os.Bundle) -> onGetLayoutInflater
+ 1209:1209:void onHiddenChanged(boolean) -> onHiddenChanged
+ 1727:1733:void onInflate(android.content.Context,android.util.AttributeSet,android.os.Bundle) -> onInflate
+ 1747:1748:void onInflate(android.app.Activity,android.util.AttributeSet,android.os.Bundle) -> onInflate
+ 2129:2130:void onLowMemory() -> onLowMemory
+ 2070:2070:void onMultiWindowModeChanged(boolean) -> onMultiWindowModeChanged
+ 2259:2259:boolean onOptionsItemSelected(android.view.MenuItem) -> onOptionsItemSelected
+ 2272:2272:void onOptionsMenuClosed(android.view.Menu) -> onOptionsMenuClosed
+ 2111:2112:void onPause() -> onPause
+ 2080:2080:void onPictureInPictureModeChanged(boolean) -> onPictureInPictureModeChanged
+ 2225:2225:void onPrepareOptionsMenu(android.view.Menu) -> onPrepareOptionsMenu
+ 2101:2101:void onPrimaryNavigationFragmentChanged(boolean) -> onPrimaryNavigationFragmentChanged
+ 1591:1591:void onRequestPermissionsResult(int,java.lang.String[],int[]) -> onRequestPermissionsResult
+ 2035:2036:void onResume() -> onResume
+ 2059:2059:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 2023:2024:void onStart() -> onStart
+ 2122:2123:void onStop() -> onStop
+ 1941:1941:void onViewCreated(android.view.View,android.os.Bundle) -> onViewCreated
+ 2012:2013:void onViewStateRestored(android.os.Bundle) -> onViewStateRestored
+ 2993:3003:void performActivityCreated(android.os.Bundle) -> performActivityCreated
+ 2915:2929:void performAttach() -> performAttach
+ 3077:3079:void performConfigurationChanged(android.content.res.Configuration) -> performConfigurationChanged
+ 3132:3138:boolean performContextItemSelected(android.view.MenuItem) -> performContextItemSelected
+ 2932:2956:void performCreate(android.os.Bundle) -> performCreate
+ 3096:3104:boolean performCreateOptionsMenu(android.view.Menu,android.view.MenuInflater) -> performCreateOptionsMenu
+ 2960:2982:void performCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle) -> performCreateView
+ 3214:3224:void performDestroy() -> performDestroy
+ 3193:3211:void performDestroyView() -> performDestroyView
+ 3227:3243:void performDetach() -> performDetach
+ 1654:1655:android.view.LayoutInflater performGetLayoutInflater(android.os.Bundle) -> performGetLayoutInflater
+ 3082:3084:void performLowMemory() -> performLowMemory
+ 3067:3069:void performMultiWindowModeChanged(boolean) -> performMultiWindowModeChanged
+ 3120:3128:boolean performOptionsItemSelected(android.view.MenuItem) -> performOptionsItemSelected
+ 3142:3148:void performOptionsMenuClosed(android.view.Menu) -> performOptionsMenuClosed
+ 3161:3173:void performPause() -> performPause
+ 3072:3074:void performPictureInPictureModeChanged(boolean) -> performPictureInPictureModeChanged
+ 3108:3116:boolean performPrepareOptionsMenu(android.view.Menu) -> performPrepareOptionsMenu
+ 3056:3064:void performPrimaryNavigationFragmentChanged() -> performPrimaryNavigationFragmentChanged
+ 3035:3049:void performResume() -> performResume
+ 3151:3157:void performSaveInstanceState(android.os.Bundle) -> performSaveInstanceState
+ 3017:3031:void performStart() -> performStart
+ 3177:3189:void performStop() -> performStop
+ 2987:2989:void performViewCreated() -> performViewCreated
+ 2674:2675:void postponeEnterTransition() -> postponeEnterTransition
+ 2709:2718:void postponeEnterTransition(long,java.util.concurrent.TimeUnit) -> postponeEnterTransition
+ 3481:3502:androidx.activity.result.ActivityResultLauncher prepareCallInternal(androidx.activity.result.contract.ActivityResultContract,androidx.arch.core.util.Function,androidx.activity.result.ActivityResultCallback) -> prepareCallInternal
+ 3449:3449:androidx.activity.result.ActivityResultLauncher registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback) -> registerForActivityResult
+ 3467:3467:androidx.activity.result.ActivityResultLauncher registerForActivityResult(androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultRegistry,androidx.activity.result.ActivityResultCallback) -> registerForActivityResult
+ 2309:2310:void registerForContextMenu(android.view.View) -> registerForContextMenu
+ 3531:3537:void registerOnPreAttachListener(androidx.fragment.app.Fragment$OnPreAttachedListener) -> registerOnPreAttachListener
+ 1558:1562:void requestPermissions(java.lang.String[],int) -> requestPermissions
+ 926:930:androidx.fragment.app.FragmentActivity requireActivity() -> requireActivity
+ 746:750:android.os.Bundle requireArguments() -> requireArguments
+ 898:902:android.content.Context requireContext() -> requireContext
+ 1065:1065:androidx.fragment.app.FragmentManager requireFragmentManager() -> requireFragmentManager
+ 952:956:java.lang.Object requireHost() -> requireHost
+ 1098:1109:androidx.fragment.app.Fragment requireParentFragment() -> requireParentFragment
+ 1962:1967:android.view.View requireView() -> requireView
+ 1886:1894:void restoreChildFragmentState(android.os.Bundle) -> restoreChildFragmentState
+ 638:655:void restoreViewState(android.os.Bundle) -> restoreViewState
+ 3006:3013:void restoreViewState() -> restoreViewState
+ 2601:2602:void setAllowEnterTransitionOverlap(boolean) -> setAllowEnterTransitionOverlap
+ 2626:2627:void setAllowReturnTransitionOverlap(boolean) -> setAllowReturnTransitionOverlap
+ 3381:3382:void setAnimatingAway(android.view.View) -> setAnimatingAway
+ 3270:3277:void setAnimations(int,int,int,int) -> setAnimations
+ 3385:3386:void setAnimator(android.animation.Animator) -> setAnimator
+ 723:727:void setArguments(android.os.Bundle) -> setArguments
+ 2354:2355:void setEnterSharedElementCallback(androidx.core.app.SharedElementCallback) -> setEnterSharedElementCallback
+ 2382:2383:void setEnterTransition(java.lang.Object) -> setEnterTransition
+ 2365:2366:void setExitSharedElementCallback(androidx.core.app.SharedElementCallback) -> setExitSharedElementCallback
+ 2458:2459:void setExitTransition(java.lang.Object) -> setExitTransition
+ 3407:3408:void setFocusedView(android.view.View) -> setFocusedView
+ 1272:1278:void setHasOptionsMenu(boolean) -> setHasOptionsMenu
+ 3432:3433:void setHideReplaced(boolean) -> setHideReplaced
+ 777:782:void setInitialSavedState(androidx.fragment.app.Fragment$SavedState) -> setInitialSavedState
+ 1290:1296:void setMenuVisibility(boolean) -> setMenuVisibility
+ 3329:3334:void setNextTransition(int) -> setNextTransition
+ 3246:3260:void setOnStartEnterTransitionListener(androidx.fragment.app.Fragment$OnStartEnterTransitionListener) -> setOnStartEnterTransitionListener
+ 3315:3319:void setPopDirection(boolean) -> setPopDirection
+ 3396:3397:void setPostOnViewCreatedAlpha(float) -> setPostOnViewCreatedAlpha
+ 2497:2498:void setReenterTransition(java.lang.Object) -> setReenterTransition
+ 1235:1245:void setRetainInstance(boolean) -> setRetainInstance
+ 2418:2419:void setReturnTransition(java.lang.Object) -> setReturnTransition
+ 2532:2533:void setSharedElementEnterTransition(java.lang.Object) -> setSharedElementEnterTransition
+ 3354:3357:void setSharedElementNames(java.util.ArrayList,java.util.ArrayList) -> setSharedElementNames
+ 2567:2568:void setSharedElementReturnTransition(java.lang.Object) -> setSharedElementReturnTransition
+ 812:840:void setTargetFragment(androidx.fragment.app.Fragment,int) -> setTargetFragment
+ 1322:1334:void setUserVisibleHint(boolean) -> setUserVisibleHint
+ 1604:1607:boolean shouldShowRequestPermissionRationale(java.lang.String) -> shouldShowRequestPermissionRationale
+ 1365:1366:void startActivity(android.content.Intent) -> startActivity
+ 1374:1378:void startActivity(android.content.Intent,android.os.Bundle) -> startActivity
+ 1398:1399:void startActivityForResult(android.content.Intent,int) -> startActivityForResult
+ 1421:1426:void startActivityForResult(android.content.Intent,int,android.os.Bundle) -> startActivityForResult
+ 1455:1465:void startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle) -> startIntentSenderForResult
+ 2731:2747:void startPostponedEnterTransition() -> startPostponedEnterTransition
+ 678:695:java.lang.String toString() -> toString
+ 2320:2321:void unregisterForContextMenu(android.view.View) -> unregisterForContextMenu
+androidx.fragment.app.Fragment$1 -> androidx.fragment.app.Fragment$1:
+ 256:256:void <init>(androidx.fragment.app.Fragment) -> <init>
+ 259:260:void run() -> run
+androidx.fragment.app.Fragment$2 -> androidx.fragment.app.Fragment$2:
+ 2738:2738:void <init>(androidx.fragment.app.Fragment) -> <init>
+ 2741:2742:void run() -> run
+androidx.fragment.app.Fragment$3 -> androidx.fragment.app.Fragment$3:
+ 2777:2777:void <init>(androidx.fragment.app.Fragment,androidx.fragment.app.SpecialEffectsController) -> <init>
+ 2780:2781:void run() -> run
+androidx.fragment.app.Fragment$4 -> androidx.fragment.app.Fragment$4:
+ 2896:2896:void <init>(androidx.fragment.app.Fragment) -> <init>
+ 2900:2904:android.view.View onFindViewById(int) -> onFindViewById
+ 2909:2909:boolean onHasView() -> onHasView
+androidx.fragment.app.Fragment$5 -> androidx.fragment.app.Fragment$5:
+ 2936:2936:void <init>(androidx.fragment.app.Fragment) -> <init>
+ 2940:2945:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.fragment.app.Fragment$6 -> androidx.fragment.app.Fragment$6:
+ 3449:3449:void <init>(androidx.fragment.app.Fragment) -> <init>
+ 3449:3449:java.lang.Object apply(java.lang.Object) -> apply
+ 3452:3455:androidx.activity.result.ActivityResultRegistry apply(java.lang.Void) -> apply
+androidx.fragment.app.Fragment$7 -> androidx.fragment.app.Fragment$7:
+ 3467:3467:void <init>(androidx.fragment.app.Fragment,androidx.activity.result.ActivityResultRegistry) -> <init>
+ 3467:3467:java.lang.Object apply(java.lang.Object) -> apply
+ 3470:3470:androidx.activity.result.ActivityResultRegistry apply(java.lang.Void) -> apply
+androidx.fragment.app.Fragment$8 -> androidx.fragment.app.Fragment$8:
+ 3493:3493:void <init>(androidx.fragment.app.Fragment,androidx.arch.core.util.Function,java.util.concurrent.atomic.AtomicReference,androidx.activity.result.contract.ActivityResultContract,androidx.activity.result.ActivityResultCallback) -> <init>
+ 3496:3499:void onPreAttached() -> onPreAttached
+androidx.fragment.app.Fragment$9 -> androidx.fragment.app.Fragment$9:
+ 3502:3502:void <init>(androidx.fragment.app.Fragment,java.util.concurrent.atomic.AtomicReference,androidx.activity.result.contract.ActivityResultContract) -> <init>
+ 3524:3524:androidx.activity.result.contract.ActivityResultContract getContract() -> getContract
+ 3505:3511:void launch(java.lang.Object,androidx.core.app.ActivityOptionsCompat) -> launch
+ 3515:3519:void unregister() -> unregister
+androidx.fragment.app.Fragment$AnimationInfo -> androidx.fragment.app.Fragment$AnimationInfo:
+ 3558:3597:void <init>() -> <init>
+androidx.fragment.app.Fragment$InstantiationException -> androidx.fragment.app.Fragment$InstantiationException:
+ 516:517:void <init>(java.lang.String,java.lang.Exception) -> <init>
+androidx.fragment.app.Fragment$OnPreAttachedListener -> androidx.fragment.app.Fragment$OnPreAttachedListener:
+ 306:306:void <init>() -> <init>
+ 306:306:void <init>(androidx.fragment.app.Fragment$1) -> <init>
+androidx.fragment.app.Fragment$SavedState -> androidx.fragment.app.Fragment$SavedState:
+ 490:490:void <clinit>() -> <clinit>
+ 468:470:void <init>(android.os.Bundle) -> <init>
+ 472:477:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 481:481:int describeContents() -> describeContents
+ 486:487:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.fragment.app.Fragment$SavedState$1 -> androidx.fragment.app.Fragment$SavedState$1:
+ 491:491:void <init>() -> <init>
+ 491:491:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 491:491:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 494:494:androidx.fragment.app.Fragment$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 499:499:androidx.fragment.app.Fragment$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 491:491:java.lang.Object[] newArray(int) -> newArray
+ 504:504:androidx.fragment.app.Fragment$SavedState[] newArray(int) -> newArray
+androidx.fragment.app.FragmentActivity -> androidx.fragment.app.FragmentActivity:
+ 84:105:void <init>() -> <init>
+ 84:121:void <init>(int) -> <init>
+ 319:319:android.view.View dispatchFragmentsOnCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> dispatchFragmentsOnCreateView
+ 562:576:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 608:608:androidx.fragment.app.FragmentManager getSupportFragmentManager() -> getSupportFragmentManager
+ 618:618:androidx.loader.app.LoaderManager getSupportLoaderManager() -> getSupportLoaderManager
+ 125:153:void init() -> init
+ 823:825:void markFragmentsCreated() -> markFragmentsCreated
+ 828:848:boolean markState(androidx.fragment.app.FragmentManager,androidx.lifecycle.Lifecycle$State) -> markState
+ 163:165:void onActivityResult(int,int,android.content.Intent) -> onActivityResult
+ 600:600:void onAttachFragment(androidx.fragment.app.Fragment) -> onAttachFragment
+ 261:264:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 273:277:void onCreate(android.os.Bundle) -> onCreate
+ 286:291:boolean onCreatePanelMenu(int,android.view.Menu) -> onCreatePanelMenu
+ 298:302:android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 309:313:android.view.View onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 329:332:void onDestroy() -> onDestroy
+ 341:343:void onLowMemory() -> onLowMemory
+ 352:364:boolean onMenuItemSelected(int,android.view.MenuItem) -> onMenuItemSelected
+ 235:236:void onMultiWindowModeChanged(boolean) -> onMultiWindowModeChanged
+ 409:411:void onNewIntent(android.content.Intent) -> onNewIntent
+ 375:379:void onPanelClosed(int,android.view.Menu) -> onPanelClosed
+ 388:392:void onPause() -> onPause
+ 251:252:void onPictureInPictureModeChanged(boolean) -> onPictureInPictureModeChanged
+ 446:448:void onPostResume() -> onPostResume
+ 485:485:boolean onPrepareOptionsPanel(android.view.View,android.view.Menu) -> onPrepareOptionsPanel
+ 469:474:boolean onPreparePanel(int,android.view.View,android.view.Menu) -> onPreparePanel
+ 635:637:void onRequestPermissionsResult(int,java.lang.String[],int[]) -> onRequestPermissionsResult
+ 433:437:void onResume() -> onResume
+ 457:459:void onResumeFragments() -> onResumeFragments
+ 495:511:void onStart() -> onStart
+ 421:422:void onStateNotSaved() -> onStateNotSaved
+ 520:527:void onStop() -> onStop
+ 190:191:void setEnterSharedElementCallback(androidx.core.app.SharedElementCallback) -> setEnterSharedElementCallback
+ 203:204:void setExitSharedElementCallback(androidx.core.app.SharedElementCallback) -> setExitSharedElementCallback
+ 651:652:void startActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int) -> startActivityFromFragment
+ 671:678:void startActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int,android.os.Bundle) -> startActivityFromFragment
+ 710:717:void startIntentSenderFromFragment(androidx.fragment.app.Fragment,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle) -> startIntentSenderFromFragment
+ 178:179:void supportFinishAfterTransition() -> supportFinishAfterTransition
+ 545:546:void supportInvalidateOptionsMenu() -> supportInvalidateOptionsMenu
+ 211:212:void supportPostponeEnterTransition() -> supportPostponeEnterTransition
+ 219:220:void supportStartPostponedEnterTransition() -> supportStartPostponedEnterTransition
+ 628:628:void validateRequestPermissionsRequestCode(int) -> validateRequestPermissionsRequestCode
+androidx.fragment.app.FragmentActivity$1 -> androidx.fragment.app.FragmentActivity$1:
+ 126:126:void <init>(androidx.fragment.app.FragmentActivity) -> <init>
+ 130:137:android.os.Bundle saveState() -> saveState
+androidx.fragment.app.FragmentActivity$2 -> androidx.fragment.app.FragmentActivity$2:
+ 140:140:void <init>(androidx.fragment.app.FragmentActivity) -> <init>
+ 143:151:void onContextAvailable(android.content.Context) -> onContextAvailable
+androidx.fragment.app.FragmentActivity$HostCallbacks -> androidx.fragment.app.FragmentActivity$HostCallbacks:
+ 724:726:void <init>(androidx.fragment.app.FragmentActivity) -> <init>
+ 816:816:androidx.activity.result.ActivityResultRegistry getActivityResultRegistry() -> getActivityResultRegistry
+ 735:735:androidx.lifecycle.Lifecycle getLifecycle() -> getLifecycle
+ 747:747:androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher() -> getOnBackPressedDispatcher
+ 741:741:androidx.lifecycle.ViewModelStore getViewModelStore() -> getViewModelStore
+ 798:799:void onAttachFragment(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment) -> onAttachFragment
+ 753:754:void onDump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> onDump
+ 804:804:android.view.View onFindViewById(int) -> onFindViewById
+ 719:719:java.lang.Object onGetHost() -> onGetHost
+ 769:769:androidx.fragment.app.FragmentActivity onGetHost() -> onGetHost
+ 764:764:android.view.LayoutInflater onGetLayoutInflater() -> onGetLayoutInflater
+ 790:791:int onGetWindowAnimations() -> onGetWindowAnimations
+ 809:810:boolean onHasView() -> onHasView
+ 785:785:boolean onHasWindowAnimations() -> onHasWindowAnimations
+ 758:758:boolean onShouldSaveFragmentState(androidx.fragment.app.Fragment) -> onShouldSaveFragmentState
+ 779:779:boolean onShouldShowRequestPermissionRationale(java.lang.String) -> onShouldShowRequestPermissionRationale
+ 774:775:void onSupportInvalidateOptionsMenu() -> onSupportInvalidateOptionsMenu
+androidx.fragment.app.FragmentAnim -> androidx.fragment.app.FragmentAnim:
+ 41:42:void <init>() -> <init>
+ 146:211:void animateRemoveFragment(androidx.fragment.app.Fragment,androidx.fragment.app.FragmentAnim$AnimationOrAnimator,androidx.fragment.app.FragmentTransition$Callback) -> animateRemoveFragment
+ 121:131:int getNextAnim(androidx.fragment.app.Fragment,boolean,boolean) -> getNextAnim
+ 46:117:androidx.fragment.app.FragmentAnim$AnimationOrAnimator loadAnimation(android.content.Context,androidx.fragment.app.Fragment,boolean,boolean) -> loadAnimation
+ 215:227:int transitToAnimResourceId(int,boolean) -> transitToAnimResourceId
+androidx.fragment.app.FragmentAnim$1 -> androidx.fragment.app.FragmentAnim$1:
+ 150:150:void <init>(androidx.fragment.app.Fragment) -> <init>
+ 153:159:void onCancel() -> onCancel
+androidx.fragment.app.FragmentAnim$2 -> androidx.fragment.app.FragmentAnim$2:
+ 166:166:void <init>(android.view.ViewGroup,androidx.fragment.app.Fragment,androidx.fragment.app.FragmentTransition$Callback,androidx.core.os.CancellationSignal) -> <init>
+ 176:185:void onAnimationEnd(android.view.animation.Animation) -> onAnimationEnd
+ 189:189:void onAnimationRepeat(android.view.animation.Animation) -> onAnimationRepeat
+ 169:169:void onAnimationStart(android.view.animation.Animation) -> onAnimationStart
+androidx.fragment.app.FragmentAnim$2$1 -> androidx.fragment.app.FragmentAnim$2$1:
+ 176:176:void <init>(androidx.fragment.app.FragmentAnim$2) -> <init>
+ 179:183:void run() -> run
+androidx.fragment.app.FragmentAnim$3 -> androidx.fragment.app.FragmentAnim$3:
+ 195:195:void <init>(android.view.ViewGroup,android.view.View,androidx.fragment.app.Fragment,androidx.fragment.app.FragmentTransition$Callback,androidx.core.os.CancellationSignal) -> <init>
+ 198:206:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.fragment.app.FragmentAnim$AnimationOrAnimator -> androidx.fragment.app.FragmentAnim$AnimationOrAnimator:
+ 237:243:void <init>(android.view.animation.Animation) -> <init>
+ 245:251:void <init>(android.animation.Animator) -> <init>
+androidx.fragment.app.FragmentAnim$EndViewTransitionAnimation -> androidx.fragment.app.FragmentAnim$EndViewTransitionAnimation:
+ 265:276:void <init>(android.view.animation.Animation,android.view.ViewGroup,android.view.View) -> <init>
+ 280:289:boolean getTransformation(long,android.view.animation.Transformation) -> getTransformation
+ 295:304:boolean getTransformation(long,android.view.animation.Transformation,float) -> getTransformation
+ 309:317:void run() -> run
+androidx.fragment.app.FragmentContainer -> androidx.fragment.app.FragmentContainer:
+ 31:31:void <init>() -> <init>
+ 57:57:androidx.fragment.app.Fragment instantiate(android.content.Context,java.lang.String,android.os.Bundle) -> instantiate
+androidx.fragment.app.FragmentContainerView -> androidx.fragment.app.FragmentContainerView:
+ 109:113:void <init>(android.content.Context) -> <init>
+ 120:121:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 109:146:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 109:183:void <init>(android.content.Context,android.util.AttributeSet,androidx.fragment.app.FragmentManager) -> <init>
+ 395:401:void addDisappearingFragmentView(android.view.View) -> addDisappearingFragmentView
+ 308:314:void addView(android.view.View,int,android.view.ViewGroup$LayoutParams) -> addView
+ 326:331:boolean addViewInLayout(android.view.View,int,android.view.ViewGroup$LayoutParams,boolean) -> addViewInLayout
+ 235:246:android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets) -> dispatchApplyWindowInsets
+ 251:257:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 261:268:boolean drawChild(android.graphics.Canvas,android.view.View,long) -> drawChild
+ 284:292:void endViewTransition(android.view.View) -> endViewTransition
+ 223:223:android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets) -> onApplyWindowInsets
+ 373:378:void removeAllViewsInLayout() -> removeAllViewsInLayout
+ 382:386:void removeDetachedView(android.view.View,boolean) -> removeDetachedView
+ 349:351:void removeView(android.view.View) -> removeView
+ 336:339:void removeViewAt(int) -> removeViewAt
+ 343:345:void removeViewInLayout(android.view.View) -> removeViewInLayout
+ 355:360:void removeViews(int,int) -> removeViews
+ 364:369:void removeViewsInLayout(int,int) -> removeViewsInLayout
+ 296:297:void setDrawDisappearingViewsLast(boolean) -> setDrawDisappearingViewsLast
+ 201:209:void setLayoutTransition(android.animation.LayoutTransition) -> setLayoutTransition
+ 216:217:void setOnApplyWindowInsetsListener(android.view.View$OnApplyWindowInsetsListener) -> setOnApplyWindowInsetsListener
+ 273:280:void startViewTransition(android.view.View) -> startViewTransition
+androidx.fragment.app.FragmentController -> androidx.fragment.app.FragmentController:
+ 60:62:void <init>(androidx.fragment.app.FragmentHostCallback) -> <init>
+ 116:118:void attachHost(androidx.fragment.app.Fragment) -> attachHost
+ 57:57:androidx.fragment.app.FragmentController createController(androidx.fragment.app.FragmentHostCallback) -> createController
+ 251:252:void dispatchActivityCreated() -> dispatchActivityCreated
+ 367:368:void dispatchConfigurationChanged(android.content.res.Configuration) -> dispatchConfigurationChanged
+ 429:429:boolean dispatchContextItemSelected(android.view.MenuItem) -> dispatchContextItemSelected
+ 240:241:void dispatchCreate() -> dispatchCreate
+ 391:391:boolean dispatchCreateOptionsMenu(android.view.Menu,android.view.MenuInflater) -> dispatchCreateOptionsMenu
+ 334:335:void dispatchDestroy() -> dispatchDestroy
+ 313:314:void dispatchDestroyView() -> dispatchDestroyView
+ 379:380:void dispatchLowMemory() -> dispatchLowMemory
+ 345:346:void dispatchMultiWindowModeChanged(boolean) -> dispatchMultiWindowModeChanged
+ 416:416:boolean dispatchOptionsItemSelected(android.view.MenuItem) -> dispatchOptionsItemSelected
+ 440:441:void dispatchOptionsMenuClosed(android.view.Menu) -> dispatchOptionsMenuClosed
+ 284:285:void dispatchPause() -> dispatchPause
+ 356:357:void dispatchPictureInPictureModeChanged(boolean) -> dispatchPictureInPictureModeChanged
+ 403:403:boolean dispatchPrepareOptionsMenu(android.view.Menu) -> dispatchPrepareOptionsMenu
+ 303:303:void dispatchReallyStop() -> dispatchReallyStop
+ 273:274:void dispatchResume() -> dispatchResume
+ 262:263:void dispatchStart() -> dispatchStart
+ 295:296:void dispatchStop() -> dispatchStop
+ 492:492:void doLoaderDestroy() -> doLoaderDestroy
+ 483:483:void doLoaderRetain() -> doLoaderRetain
+ 461:461:void doLoaderStart() -> doLoaderStart
+ 474:474:void doLoaderStop(boolean) -> doLoaderStop
+ 536:536:void dumpLoaders(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dumpLoaders
+ 451:451:boolean execPendingActions() -> execPendingActions
+ 92:92:androidx.fragment.app.Fragment findFragmentByWho(java.lang.String) -> findFragmentByWho
+ 108:108:java.util.List getActiveFragments(java.util.List) -> getActiveFragments
+ 99:99:int getActiveFragmentsCount() -> getActiveFragmentsCount
+ 69:69:androidx.fragment.app.FragmentManager getSupportFragmentManager() -> getSupportFragmentManager
+ 83:83:androidx.loader.app.LoaderManager getSupportLoaderManager() -> getSupportLoaderManager
+ 142:143:void noteStateNotSaved() -> noteStateNotSaved
+ 134:135:android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 501:501:void reportLoaderStart() -> reportLoaderStart
+ 167:169:void restoreAllState(android.os.Parcelable,java.util.List) -> restoreAllState
+ 183:184:void restoreAllState(android.os.Parcelable,androidx.fragment.app.FragmentManagerNonConfig) -> restoreAllState
+ 526:526:void restoreLoaderNonConfig(androidx.collection.SimpleArrayMap) -> restoreLoaderNonConfig
+ 193:199:void restoreSaveState(android.os.Parcelable) -> restoreSaveState
+ 512:512:androidx.collection.SimpleArrayMap retainLoaderNonConfig() -> retainLoaderNonConfig
+ 229:229:androidx.fragment.app.FragmentManagerNonConfig retainNestedNonConfig() -> retainNestedNonConfig
+ 212:215:java.util.List retainNonConfig() -> retainNonConfig
+ 152:152:android.os.Parcelable saveAllState() -> saveAllState
+androidx.fragment.app.FragmentFactory -> androidx.fragment.app.FragmentFactory:
+ 33:33:void <clinit>() -> <clinit>
+ 31:31:void <init>() -> <init>
+ 120:134:androidx.fragment.app.Fragment instantiate(java.lang.ClassLoader,java.lang.String) -> instantiate
+ 70:73:boolean isFragmentClass(java.lang.ClassLoader,java.lang.String) -> isFragmentClass
+ 45:56:java.lang.Class loadClass(java.lang.ClassLoader,java.lang.String) -> loadClass
+ 94:100:java.lang.Class loadFragmentClass(java.lang.ClassLoader,java.lang.String) -> loadFragmentClass
+androidx.fragment.app.FragmentHostCallback -> androidx.fragment.app.FragmentHostCallback:
+ 85:87:void <init>(android.content.Context,android.os.Handler,int) -> <init>
+ 91:92:void <init>(androidx.fragment.app.FragmentActivity) -> <init>
+ 81:100:void <init>(android.app.Activity,android.content.Context,android.os.Handler,int) -> <init>
+ 242:242:android.app.Activity getActivity() -> getActivity
+ 247:247:android.content.Context getContext() -> getContext
+ 252:252:android.os.Handler getHandler() -> getHandler
+ 113:113:void onDump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> onDump
+ 232:232:android.view.View onFindViewById(int) -> onFindViewById
+ 128:128:android.view.LayoutInflater onGetLayoutInflater() -> onGetLayoutInflater
+ 226:226:int onGetWindowAnimations() -> onGetWindowAnimations
+ 237:237:boolean onHasView() -> onHasView
+ 219:219:boolean onHasWindowAnimations() -> onHasWindowAnimations
+ 205:205:void onRequestPermissionsFromFragment(androidx.fragment.app.Fragment,java.lang.String[],int) -> onRequestPermissionsFromFragment
+ 119:119:boolean onShouldSaveFragmentState(androidx.fragment.app.Fragment) -> onShouldSaveFragmentState
+ 212:212:boolean onShouldShowRequestPermissionRationale(java.lang.String) -> onShouldShowRequestPermissionRationale
+ 152:153:void onStartActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int) -> onStartActivityFromFragment
+ 162:167:void onStartActivityFromFragment(androidx.fragment.app.Fragment,android.content.Intent,int,android.os.Bundle) -> onStartActivityFromFragment
+ 184:190:void onStartIntentSenderFromFragment(androidx.fragment.app.Fragment,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle) -> onStartIntentSenderFromFragment
+ 144:144:void onSupportInvalidateOptionsMenu() -> onSupportInvalidateOptionsMenu
+androidx.fragment.app.FragmentLayoutInflaterFactory -> androidx.fragment.app.FragmentLayoutInflaterFactory:
+ 36:38:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 44:44:android.view.View onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 51:173:android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+androidx.fragment.app.FragmentLayoutInflaterFactory$1 -> androidx.fragment.app.FragmentLayoutInflaterFactory$1:
+ 158:158:void <init>(androidx.fragment.app.FragmentLayoutInflaterFactory,androidx.fragment.app.FragmentStateManager) -> <init>
+ 161:167:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 170:170:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+androidx.fragment.app.FragmentLifecycleCallbacksDispatcher -> androidx.fragment.app.FragmentLifecycleCallbacksDispatcher:
+ 46:55:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 155:167:void dispatchOnFragmentActivityCreated(androidx.fragment.app.Fragment,android.os.Bundle,boolean) -> dispatchOnFragmentActivityCreated
+ 106:118:void dispatchOnFragmentAttached(androidx.fragment.app.Fragment,boolean) -> dispatchOnFragmentAttached
+ 138:150:void dispatchOnFragmentCreated(androidx.fragment.app.Fragment,android.os.Bundle,boolean) -> dispatchOnFragmentCreated
+ 272:283:void dispatchOnFragmentDestroyed(androidx.fragment.app.Fragment,boolean) -> dispatchOnFragmentDestroyed
+ 286:297:void dispatchOnFragmentDetached(androidx.fragment.app.Fragment,boolean) -> dispatchOnFragmentDetached
+ 214:225:void dispatchOnFragmentPaused(androidx.fragment.app.Fragment,boolean) -> dispatchOnFragmentPaused
+ 91:103:void dispatchOnFragmentPreAttached(androidx.fragment.app.Fragment,boolean) -> dispatchOnFragmentPreAttached
+ 122:134:void dispatchOnFragmentPreCreated(androidx.fragment.app.Fragment,android.os.Bundle,boolean) -> dispatchOnFragmentPreCreated
+ 200:211:void dispatchOnFragmentResumed(androidx.fragment.app.Fragment,boolean) -> dispatchOnFragmentResumed
+ 243:255:void dispatchOnFragmentSaveInstanceState(androidx.fragment.app.Fragment,android.os.Bundle,boolean) -> dispatchOnFragmentSaveInstanceState
+ 186:197:void dispatchOnFragmentStarted(androidx.fragment.app.Fragment,boolean) -> dispatchOnFragmentStarted
+ 228:239:void dispatchOnFragmentStopped(androidx.fragment.app.Fragment,boolean) -> dispatchOnFragmentStopped
+ 171:183:void dispatchOnFragmentViewCreated(androidx.fragment.app.Fragment,android.view.View,android.os.Bundle,boolean) -> dispatchOnFragmentViewCreated
+ 258:269:void dispatchOnFragmentViewDestroyed(androidx.fragment.app.Fragment,boolean) -> dispatchOnFragmentViewDestroyed
+ 68:69:void registerFragmentLifecycleCallbacks(androidx.fragment.app.FragmentManager$FragmentLifecycleCallbacks,boolean) -> registerFragmentLifecycleCallbacks
+ 80:88:void unregisterFragmentLifecycleCallbacks(androidx.fragment.app.FragmentManager$FragmentLifecycleCallbacks) -> unregisterFragmentLifecycleCallbacks
+androidx.fragment.app.FragmentLifecycleCallbacksDispatcher$FragmentLifecycleCallbacksHolder -> androidx.fragment.app.FragmentLifecycleCallbacksDispatcher$FragmentLifecycleCallbacksHolder:
+ 40:43:void <init>(androidx.fragment.app.FragmentManager$FragmentLifecycleCallbacks,boolean) -> <init>
+androidx.fragment.app.FragmentManager -> androidx.fragment.app.FragmentManager:
+ 97:99:void <clinit>() -> <clinit>
+ 96:521:void <init>() -> <init>
+ 96:96:java.util.Map access$000(androidx.fragment.app.FragmentManager) -> access$000
+ 96:96:java.util.Map access$100(androidx.fragment.app.FragmentManager) -> access$100
+ 96:96:androidx.fragment.app.FragmentStore access$200(androidx.fragment.app.FragmentManager) -> access$200
+ 2458:2471:void addAddedFragments(androidx.collection.ArraySet) -> addAddedFragments
+ 2568:2572:void addBackStackState(androidx.fragment.app.BackStackRecord) -> addBackStackState
+ 833:837:void addCancellationSignal(androidx.fragment.app.Fragment,androidx.core.os.CancellationSignal) -> addCancellationSignal
+ 1708:1722:androidx.fragment.app.FragmentStateManager addFragment(androidx.fragment.app.Fragment) -> addFragment
+ 3417:3418:void addFragmentOnAttachListener(androidx.fragment.app.FragmentOnAttachListener) -> addFragmentOnAttachListener
+ 813:817:void addOnBackStackChangedListener(androidx.fragment.app.FragmentManager$OnBackStackChangedListener) -> addOnBackStackChangedListener
+ 1104:1105:void addRetainedFragment(androidx.fragment.app.Fragment) -> addRetainedFragment
+ 1920:1920:int allocBackStackIndex() -> allocBackStackIndex
+ 2829:2972:void attachController(androidx.fragment.app.FragmentHostCallback,androidx.fragment.app.FragmentContainer,androidx.fragment.app.Fragment) -> attachController
+ 1790:1801:void attachFragment(androidx.fragment.app.Fragment) -> attachFragment
+ 575:575:androidx.fragment.app.FragmentTransaction beginTransaction() -> beginTransaction
+ 1485:1494:void cancelExitAnimation(androidx.fragment.app.Fragment) -> cancelExitAnimation
+ 3446:3455:boolean checkForMenus() -> checkForMenus
+ 1843:1847:void checkStateLoss() -> checkStateLoss
+ 1987:1990:void cleanupExec() -> cleanupExec
+ 874:875:void clearFragmentResult(java.lang.String) -> clearFragmentResult
+ 918:922:void clearFragmentResultListener(java.lang.String) -> clearFragmentResultListener
+ 2512:2521:java.util.Set collectAllSpecialEffectsController() -> collectAllSpecialEffectsController
+ 2240:2254:java.util.Set collectChangedControllers(java.util.ArrayList,int,int) -> collectChangedControllers
+ 2345:2381:void completeExecute(androidx.fragment.app.BackStackRecord,boolean,boolean,boolean) -> completeExecute
+ 1536:1582:void completeShowHideFragment(androidx.fragment.app.Fragment) -> completeShowHideFragment
+ 1694:1704:androidx.fragment.app.FragmentStateManager createOrGetFragmentStateManager(androidx.fragment.app.Fragment) -> createOrGetFragmentStateManager
+ 1510:1519:void destroyFragmentView(androidx.fragment.app.Fragment) -> destroyFragmentView
+ 1774:1787:void detachFragment(androidx.fragment.app.Fragment) -> detachFragment
+ 3069:3073:void dispatchActivityCreated() -> dispatchActivityCreated
+ 3051:3055:void dispatchAttach() -> dispatchAttach
+ 3158:3163:void dispatchConfigurationChanged(android.content.res.Configuration) -> dispatchConfigurationChanged
+ 3235:3245:boolean dispatchContextItemSelected(android.view.MenuItem) -> dispatchContextItemSelected
+ 3058:3062:void dispatchCreate() -> dispatchCreate
+ 3174:3202:boolean dispatchCreateOptionsMenu(android.view.Menu,android.view.MenuInflater) -> dispatchCreateOptionsMenu
+ 3104:3122:void dispatchDestroy() -> dispatchDestroy
+ 3100:3101:void dispatchDestroyView() -> dispatchDestroyView
+ 3166:3171:void dispatchLowMemory() -> dispatchLowMemory
+ 3142:3147:void dispatchMultiWindowModeChanged(boolean) -> dispatchMultiWindowModeChanged
+ 3427:3430:void dispatchOnAttachFragment(androidx.fragment.app.Fragment) -> dispatchOnAttachFragment
+ 3221:3231:boolean dispatchOptionsItemSelected(android.view.MenuItem) -> dispatchOptionsItemSelected
+ 3249:3257:void dispatchOptionsMenuClosed(android.view.Menu) -> dispatchOptionsMenuClosed
+ 3272:3275:void dispatchParentPrimaryNavigationFragmentChanged(androidx.fragment.app.Fragment) -> dispatchParentPrimaryNavigationFragmentChanged
+ 3090:3091:void dispatchPause() -> dispatchPause
+ 3150:3155:void dispatchPictureInPictureModeChanged(boolean) -> dispatchPictureInPictureModeChanged
+ 3206:3217:boolean dispatchPrepareOptionsMenu(android.view.Menu) -> dispatchPrepareOptionsMenu
+ 3278:3281:void dispatchPrimaryNavigationFragmentChanged() -> dispatchPrimaryNavigationFragmentChanged
+ 3083:3087:void dispatchResume() -> dispatchResume
+ 3076:3080:void dispatchStart() -> dispatchStart
+ 3126:3139:void dispatchStateChange(int) -> dispatchStateChange
+ 3094:3097:void dispatchStop() -> dispatchStop
+ 3065:3066:void dispatchViewCreated() -> dispatchViewCreated
+ 2553:2557:void doPendingDeferredStart() -> doPendingDeferredStart
+ 1208:1289:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 137:138:void enableDebugLogging(boolean) -> enableDebugLogging
+ 124:125:void enableNewStateManager(boolean) -> enableNewStateManager
+ 2496:2509:void endAnimatingAwayFragments() -> endAnimatingAwayFragments
+ 1875:1897:void enqueueAction(androidx.fragment.app.FragmentManager$OpGenerator,boolean) -> enqueueAction
+ 1930:1960:void ensureExecReady(boolean) -> ensureExecReady
+ 1996:2013:boolean execPendingActions(boolean) -> execPendingActions
+ 1963:1980:void execSingleAction(androidx.fragment.app.FragmentManager$OpGenerator,boolean) -> execSingleAction
+ 2393:2407:void executeOps(java.util.ArrayList,java.util.ArrayList,int,int) -> executeOps
+ 2120:2236:void executeOpsTogether(java.util.ArrayList,java.util.ArrayList,int,int) -> executeOpsTogether
+ 600:602:boolean executePendingTransactions() -> executePendingTransactions
+ 2022:2052:void executePostponedTransaction(java.util.ArrayList,java.util.ArrayList) -> executePostponedTransaction
+ 1839:1839:androidx.fragment.app.Fragment findActiveFragment(java.lang.String) -> findActiveFragment
+ 981:985:androidx.fragment.app.Fragment findFragment(android.view.View) -> findFragment
+ 1813:1813:androidx.fragment.app.Fragment findFragmentById(int) -> findFragmentById
+ 1830:1830:androidx.fragment.app.Fragment findFragmentByTag(java.lang.String) -> findFragmentByTag
+ 1834:1834:androidx.fragment.app.Fragment findFragmentByWho(java.lang.String) -> findFragmentByWho
+ 1044:1073:androidx.fragment.app.FragmentManager findFragmentManager(android.view.View) -> findFragmentManager
+ 995:1003:androidx.fragment.app.Fragment findViewFragment(android.view.View) -> findViewFragment
+ 2477:2489:void forcePostponedTransactions() -> forcePostponedTransactions
+ 2536:2549:boolean generateOpsForPendingActions(java.util.ArrayList,java.util.ArrayList) -> generateOpsForPendingActions
+ 1128:1128:int getActiveFragmentCount() -> getActiveFragmentCount
+ 1119:1119:java.util.List getActiveFragments() -> getActiveFragments
+ 806:806:androidx.fragment.app.FragmentManager$BackStackEntry getBackStackEntryAt(int) -> getBackStackEntryAt
+ 797:797:int getBackStackEntryCount() -> getBackStackEntryCount
+ 1100:1100:androidx.fragment.app.FragmentManagerViewModel getChildNonConfig(androidx.fragment.app.Fragment) -> getChildNonConfig
+ 2817:2817:androidx.fragment.app.FragmentContainer getContainer() -> getContainer
+ 954:963:androidx.fragment.app.Fragment getFragment(android.os.Bundle,java.lang.String) -> getFragment
+ 2430:2448:android.view.ViewGroup getFragmentContainer(androidx.fragment.app.Fragment) -> getFragmentContainer
+ 3334:3344:androidx.fragment.app.FragmentFactory getFragmentFactory() -> getFragmentFactory
+ 2822:2822:androidx.fragment.app.FragmentStore getFragmentStore() -> getFragmentStore
+ 1090:1090:java.util.List getFragments() -> getFragments
+ 2807:2807:androidx.fragment.app.FragmentHostCallback getHost() -> getHost
+ 3487:3487:android.view.LayoutInflater$Factory2 getLayoutInflaterFactory() -> getLayoutInflaterFactory
+ 3382:3382:androidx.fragment.app.FragmentLifecycleCallbacksDispatcher getLifecycleCallbacksDispatcher() -> getLifecycleCallbacksDispatcher
+ 2812:2812:androidx.fragment.app.Fragment getParent() -> getParent
+ 3297:3297:androidx.fragment.app.Fragment getPrimaryNavigationFragment() -> getPrimaryNavigationFragment
+ 3367:3377:androidx.fragment.app.SpecialEffectsControllerFactory getSpecialEffectsControllerFactory() -> getSpecialEffectsControllerFactory
+ 1013:1017:androidx.fragment.app.Fragment getViewFragment(android.view.View) -> getViewFragment
+ 1095:1095:androidx.lifecycle.ViewModelStore getViewModelStore(androidx.fragment.app.Fragment) -> getViewModelStore
+ 661:674:void handleOnBackPressed() -> handleOnBackPressed
+ 1747:1755:void hideFragment(androidx.fragment.app.Fragment) -> hideFragment
+ 3463:3466:void invalidateMenuForFragment(androidx.fragment.app.Fragment) -> invalidateMenuForFragment
+ 1169:1169:boolean isDestroyed() -> isDestroyed
+ 141:141:boolean isLoggingEnabled(int) -> isLoggingEnabled
+ 3459:3459:boolean isMenuAvailable(androidx.fragment.app.Fragment) -> isMenuAvailable
+ 648:652:boolean isParentMenuVisible(androidx.fragment.app.Fragment) -> isParentMenuVisible
+ 630:640:boolean isPrimaryNavigation(androidx.fragment.app.Fragment) -> isPrimaryNavigation
+ 1309:1309:boolean isStateAtLeast(int) -> isStateAtLeast
+ 1864:1864:boolean isStateSaved() -> isStateSaved
+ 3041:3048:void launchRequestPermissions(androidx.fragment.app.Fragment,java.lang.String[],int) -> launchRequestPermissions
+ 2994:3004:void launchStartActivityForResult(androidx.fragment.app.Fragment,android.content.Intent,int,android.os.Bundle) -> launchStartActivityForResult
+ 3011:3036:void launchStartIntentSenderForResult(androidx.fragment.app.Fragment,android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle) -> launchStartIntentSenderForResult
+ 2265:2274:void makeRemovedFragmentsInvisible(androidx.collection.ArraySet) -> makeRemovedFragmentsInvisible
+ 1591:1624:void moveFragmentToExpectedState(androidx.fragment.app.Fragment) -> moveFragmentToExpectedState
+ 1314:1480:void moveToState(androidx.fragment.app.Fragment,int) -> moveToState
+ 1522:1523:void moveToState(androidx.fragment.app.Fragment) -> moveToState
+ 1636:1675:void moveToState(int,boolean) -> moveToState
+ 2978:2989:void noteStateNotSaved() -> noteStateNotSaved
+ 1022:1031:void onContainerAvailable(androidx.fragment.app.FragmentContainerView) -> onContainerAvailable
+ 557:557:androidx.fragment.app.FragmentTransaction openTransaction() -> openTransaction
+ 1292:1306:void performPendingDeferredStart(androidx.fragment.app.FragmentStateManager) -> performPendingDeferredStart
+ 682:683:void popBackStack() -> popBackStack
+ 709:710:void popBackStack(java.lang.String,int) -> popBackStack
+ 737:741:void popBackStack(int,int) -> popBackStack
+ 692:692:boolean popBackStackImmediate() -> popBackStackImmediate
+ 719:719:boolean popBackStackImmediate(java.lang.String,int) -> popBackStackImmediate
+ 750:753:boolean popBackStackImmediate(int,int) -> popBackStackImmediate
+ 764:790:boolean popBackStackImmediate(java.lang.String,int,int) -> popBackStackImmediate
+ 2577:2628:boolean popBackStackState(java.util.ArrayList,java.util.ArrayList,java.lang.String,int,int) -> popBackStackState
+ 2291:2324:int postponePostponableTransactions(java.util.ArrayList,java.util.ArrayList,int,int,androidx.collection.ArraySet) -> postponePostponableTransactions
+ 936:941:void putFragment(android.os.Bundle,java.lang.String,androidx.fragment.app.Fragment) -> putFragment
+ 3395:3396:void registerFragmentLifecycleCallbacks(androidx.fragment.app.FragmentManager$FragmentLifecycleCallbacks,boolean) -> registerFragmentLifecycleCallbacks
+ 847:857:void removeCancellationSignal(androidx.fragment.app.Fragment,androidx.core.os.CancellationSignal) -> removeCancellationSignal
+ 1726:1738:void removeFragment(androidx.fragment.app.Fragment) -> removeFragment
+ 3440:3441:void removeFragmentOnAttachListener(androidx.fragment.app.FragmentOnAttachListener) -> removeFragmentOnAttachListener
+ 824:827:void removeOnBackStackChangedListener(androidx.fragment.app.FragmentManager$OnBackStackChangedListener) -> removeOnBackStackChangedListener
+ 2070:2108:void removeRedundantOperationsAndExecute(java.util.ArrayList,java.util.ArrayList) -> removeRedundantOperationsAndExecute
+ 1108:1109:void removeRetainedFragment(androidx.fragment.app.Fragment) -> removeRetainedFragment
+ 2560:2565:void reportBackStackChanged() -> reportBackStackChanged
+ 2697:2703:void restoreAllState(android.os.Parcelable,androidx.fragment.app.FragmentManagerNonConfig) -> restoreAllState
+ 2707:2803:void restoreSaveState(android.os.Parcelable) -> restoreSaveState
+ 2637:2641:androidx.fragment.app.FragmentManagerNonConfig retainNonConfig() -> retainNonConfig
+ 3469:3481:int reverseTransit(int) -> reverseTransit
+ 2647:2692:android.os.Parcelable saveAllState() -> saveAllState
+ 1155:1161:androidx.fragment.app.Fragment$SavedState saveFragmentInstanceState(androidx.fragment.app.Fragment) -> saveFragmentInstanceState
+ 1907:1917:void scheduleCommit() -> scheduleCommit
+ 1501:1507:void setExitAnimationOrder(androidx.fragment.app.Fragment,boolean) -> setExitAnimationOrder
+ 3320:3321:void setFragmentFactory(androidx.fragment.app.FragmentFactory) -> setFragmentFactory
+ 862:870:void setFragmentResult(java.lang.String,android.os.Bundle) -> setFragmentResult
+ 882:914:void setFragmentResultListener(java.lang.String,androidx.lifecycle.LifecycleOwner,androidx.fragment.app.FragmentResultListener) -> setFragmentResultListener
+ 3301:3307:void setMaxLifecycle(androidx.fragment.app.Fragment,androidx.lifecycle.Lifecycle$State) -> setMaxLifecycle
+ 3260:3269:void setPrimaryNavigationFragment(androidx.fragment.app.Fragment) -> setPrimaryNavigationFragment
+ 3356:3357:void setSpecialEffectsControllerFactory(androidx.fragment.app.SpecialEffectsControllerFactory) -> setSpecialEffectsControllerFactory
+ 2416:2426:void setVisibleRemovingFragment(androidx.fragment.app.Fragment) -> setVisibleRemovingFragment
+ 1764:1771:void showFragment(androidx.fragment.app.Fragment) -> showFragment
+ 1679:1682:void startPendingDeferredFragments() -> startPendingDeferredFragments
+ 529:546:void throwException(java.lang.RuntimeException) -> throwException
+ 1175:1195:java.lang.String toString() -> toString
+ 3406:3407:void unregisterFragmentLifecycleCallbacks(androidx.fragment.app.FragmentManager$FragmentLifecycleCallbacks) -> unregisterFragmentLifecycleCallbacks
+ 609:620:void updateOnBackPressedCallbackEnabled() -> updateOnBackPressedCallbackEnabled
+androidx.fragment.app.FragmentManager$1 -> androidx.fragment.app.FragmentManager$1:
+ 433:433:void <init>(androidx.fragment.app.FragmentManager,boolean) -> <init>
+ 436:437:void handleOnBackPressed() -> handleOnBackPressed
+androidx.fragment.app.FragmentManager$10 -> androidx.fragment.app.FragmentManager$10:
+ 2913:2913:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 2913:2913:void onActivityResult(java.lang.Object) -> onActivityResult
+ 2916:2934:void onActivityResult(androidx.activity.result.ActivityResult) -> onActivityResult
+androidx.fragment.app.FragmentManager$11 -> androidx.fragment.app.FragmentManager$11:
+ 2939:2939:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 2939:2939:void onActivityResult(java.lang.Object) -> onActivityResult
+ 2943:2969:void onActivityResult(java.util.Map) -> onActivityResult
+androidx.fragment.app.FragmentManager$2 -> androidx.fragment.app.FragmentManager$2:
+ 451:451:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 460:463:void onComplete(androidx.fragment.app.Fragment,androidx.core.os.CancellationSignal) -> onComplete
+ 455:456:void onStart(androidx.fragment.app.Fragment,androidx.core.os.CancellationSignal) -> onStart
+androidx.fragment.app.FragmentManager$3 -> androidx.fragment.app.FragmentManager$3:
+ 478:478:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 483:483:androidx.fragment.app.Fragment instantiate(java.lang.ClassLoader,java.lang.String) -> instantiate
+androidx.fragment.app.FragmentManager$4 -> androidx.fragment.app.FragmentManager$4:
+ 488:488:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 492:492:androidx.fragment.app.SpecialEffectsController createController(android.view.ViewGroup) -> createController
+androidx.fragment.app.FragmentManager$5 -> androidx.fragment.app.FragmentManager$5:
+ 521:521:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 524:525:void run() -> run
+androidx.fragment.app.FragmentManager$6 -> androidx.fragment.app.FragmentManager$6:
+ 887:887:void <init>(androidx.fragment.app.FragmentManager,java.lang.String,androidx.fragment.app.FragmentResultListener,androidx.lifecycle.Lifecycle) -> <init>
+ 891:906:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.fragment.app.FragmentManager$7 -> androidx.fragment.app.FragmentManager$7:
+ 1550:1550:void <init>(androidx.fragment.app.FragmentManager,android.view.ViewGroup,android.view.View,androidx.fragment.app.Fragment) -> <init>
+ 1553:1558:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.fragment.app.FragmentManager$8 -> androidx.fragment.app.FragmentManager$8:
+ 2837:2837:void <init>(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment) -> <init>
+ 2842:2843:void onAttachFragment(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment) -> onAttachFragment
+androidx.fragment.app.FragmentManager$9 -> androidx.fragment.app.FragmentManager$9:
+ 2885:2885:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 2885:2885:void onActivityResult(java.lang.Object) -> onActivityResult
+ 2888:2907:void onActivityResult(androidx.activity.result.ActivityResult) -> onActivityResult
+androidx.fragment.app.FragmentManager$FragmentIntentSenderContract -> androidx.fragment.app.FragmentManager$FragmentIntentSenderContract:
+ 3656:3656:void <init>() -> <init>
+ 3656:3656:android.content.Intent createIntent(android.content.Context,java.lang.Object) -> createIntent
+ 3662:3681:android.content.Intent createIntent(android.content.Context,androidx.activity.result.IntentSenderRequest) -> createIntent
+ 3656:3656:java.lang.Object parseResult(int,android.content.Intent) -> parseResult
+ 3687:3687:androidx.activity.result.ActivityResult parseResult(int,android.content.Intent) -> parseResult
+androidx.fragment.app.FragmentManager$FragmentLifecycleCallbacks -> androidx.fragment.app.FragmentManager$FragmentLifecycleCallbacks:
+ 269:269:void <init>() -> <init>
+ 334:334:void onFragmentActivityCreated(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment,android.os.Bundle) -> onFragmentActivityCreated
+ 291:291:void onFragmentAttached(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment,android.content.Context) -> onFragmentAttached
+ 315:315:void onFragmentCreated(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment,android.os.Bundle) -> onFragmentCreated
+ 411:411:void onFragmentDestroyed(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment) -> onFragmentDestroyed
+ 420:420:void onFragmentDetached(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment) -> onFragmentDetached
+ 373:373:void onFragmentPaused(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment) -> onFragmentPaused
+ 280:280:void onFragmentPreAttached(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment,android.content.Context) -> onFragmentPreAttached
+ 303:303:void onFragmentPreCreated(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment,android.os.Bundle) -> onFragmentPreCreated
+ 364:364:void onFragmentResumed(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment) -> onFragmentResumed
+ 393:393:void onFragmentSaveInstanceState(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment,android.os.Bundle) -> onFragmentSaveInstanceState
+ 355:355:void onFragmentStarted(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment) -> onFragmentStarted
+ 382:382:void onFragmentStopped(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment) -> onFragmentStopped
+ 346:346:void onFragmentViewCreated(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment,android.view.View,android.os.Bundle) -> onFragmentViewCreated
+ 402:402:void onFragmentViewDestroyed(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment) -> onFragmentViewDestroyed
+androidx.fragment.app.FragmentManager$LaunchedFragmentInfo -> androidx.fragment.app.FragmentManager$LaunchedFragmentInfo:
+ 3642:3642:void <clinit>() -> <clinit>
+ 3621:3624:void <init>(java.lang.String,int) -> <init>
+ 3626:3629:void <init>(android.os.Parcel) -> <init>
+ 3633:3633:int describeContents() -> describeContents
+ 3638:3640:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.fragment.app.FragmentManager$LaunchedFragmentInfo$1 -> androidx.fragment.app.FragmentManager$LaunchedFragmentInfo$1:
+ 3643:3643:void <init>() -> <init>
+ 3643:3643:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 3646:3646:androidx.fragment.app.FragmentManager$LaunchedFragmentInfo createFromParcel(android.os.Parcel) -> createFromParcel
+ 3643:3643:java.lang.Object[] newArray(int) -> newArray
+ 3651:3651:androidx.fragment.app.FragmentManager$LaunchedFragmentInfo[] newArray(int) -> newArray
+androidx.fragment.app.FragmentManager$LifecycleAwareResultListener -> androidx.fragment.app.FragmentManager$LifecycleAwareResultListener:
+ 244:248:void <init>(androidx.lifecycle.Lifecycle,androidx.fragment.app.FragmentResultListener,androidx.lifecycle.LifecycleEventObserver) -> <init>
+ 251:251:boolean isAtLeast(androidx.lifecycle.Lifecycle$State) -> isAtLeast
+ 256:257:void onFragmentResult(java.lang.String,android.os.Bundle) -> onFragmentResult
+ 260:261:void removeObserver() -> removeObserver
+androidx.fragment.app.FragmentManager$PopBackStackState -> androidx.fragment.app.FragmentManager$PopBackStackState:
+ 3519:3523:void <init>(androidx.fragment.app.FragmentManager,java.lang.String,int,int) -> <init>
+ 3528:3538:boolean generateOps(java.util.ArrayList,java.util.ArrayList) -> generateOps
+androidx.fragment.app.FragmentManager$StartEnterTransitionListener -> androidx.fragment.app.FragmentManager$StartEnterTransitionListener:
+ 3553:3556:void <init>(androidx.fragment.app.BackStackRecord,boolean) -> <init>
+ 3612:3613:void cancelTransaction() -> cancelTransaction
+ 3596:3605:void completeTransaction() -> completeTransaction
+ 3586:3586:boolean isReady() -> isReady
+ 3565:3570:void onStartEnterTransition() -> onStartEnterTransition
+ 3579:3580:void startListening() -> startListening
+androidx.fragment.app.FragmentManagerImpl -> androidx.fragment.app.FragmentManagerImpl:
+ 30:30:void <init>() -> <init>
+androidx.fragment.app.FragmentManagerNonConfig -> androidx.fragment.app.FragmentManagerNonConfig:
+ 49:53:void <init>(java.util.Collection,java.util.Map,java.util.Map) -> <init>
+ 76:76:java.util.Map getChildNonConfigs() -> getChildNonConfigs
+ 68:68:java.util.Collection getFragments() -> getFragments
+ 84:84:java.util.Map getViewModelStores() -> getViewModelStores
+ 57:60:boolean isRetaining(androidx.fragment.app.Fragment) -> isRetaining
+androidx.fragment.app.FragmentManagerState -> androidx.fragment.app.FragmentManagerState:
+ 68:68:void <clinit>() -> <clinit>
+ 32:38:void <init>() -> <init>
+ 32:49:void <init>(android.os.Parcel) -> <init>
+ 53:53:int describeContents() -> describeContents
+ 58:66:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.fragment.app.FragmentManagerState$1 -> androidx.fragment.app.FragmentManagerState$1:
+ 69:69:void <init>() -> <init>
+ 69:69:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 72:72:androidx.fragment.app.FragmentManagerState createFromParcel(android.os.Parcel) -> createFromParcel
+ 69:69:java.lang.Object[] newArray(int) -> newArray
+ 77:77:androidx.fragment.app.FragmentManagerState[] newArray(int) -> newArray
+androidx.fragment.app.FragmentManagerViewModel -> androidx.fragment.app.FragmentManagerViewModel:
+ 40:40:void <clinit>() -> <clinit>
+ 57:88:void <init>(boolean) -> <init>
+ 112:125:void addRetainedFragment(androidx.fragment.app.Fragment) -> addRetainedFragment
+ 187:202:void clearNonConfigState(androidx.fragment.app.Fragment) -> clearNonConfigState
+ 274:281:boolean equals(java.lang.Object) -> equals
+ 129:129:androidx.fragment.app.Fragment findRetainedFragmentByWho(java.lang.String) -> findRetainedFragmentByWho
+ 168:173:androidx.fragment.app.FragmentManagerViewModel getChildNonConfig(androidx.fragment.app.Fragment) -> getChildNonConfig
+ 52:54:androidx.fragment.app.FragmentManagerViewModel getInstance(androidx.lifecycle.ViewModelStore) -> getInstance
+ 134:134:java.util.Collection getRetainedFragments() -> getRetainedFragments
+ 249:267:androidx.fragment.app.FragmentManagerNonConfig getSnapshot() -> getSnapshot
+ 178:183:androidx.lifecycle.ViewModelStore getViewModelStore(androidx.fragment.app.Fragment) -> getViewModelStore
+ 286:289:int hashCode() -> hashCode
+ 108:108:boolean isCleared() -> isCleared
+ 101:105:void onCleared() -> onCleared
+ 154:164:void removeRetainedFragment(androidx.fragment.app.Fragment) -> removeRetainedFragment
+ 212:240:void restoreFromSnapshot(androidx.fragment.app.FragmentManagerNonConfig) -> restoreFromSnapshot
+ 96:97:void setIsStateSaved(boolean) -> setIsStateSaved
+ 138:149:boolean shouldDestroy(androidx.fragment.app.Fragment) -> shouldDestroy
+ 295:322:java.lang.String toString() -> toString
+androidx.fragment.app.FragmentManagerViewModel$1 -> androidx.fragment.app.FragmentManagerViewModel$1:
+ 40:40:void <init>() -> <init>
+ 45:46:androidx.lifecycle.ViewModel create(java.lang.Class) -> create
+androidx.fragment.app.FragmentPagerAdapter -> androidx.fragment.app.FragmentPagerAdapter:
+ 122:123:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 104:141:void <init>(androidx.fragment.app.FragmentManager,int) -> <init>
+ 195:206:void destroyItem(android.view.ViewGroup,int,java.lang.Object) -> destroyItem
+ 240:256:void finishUpdate(android.view.ViewGroup) -> finishUpdate
+ 283:283:long getItemId(int) -> getItemId
+ 161:188:java.lang.Object instantiateItem(android.view.ViewGroup,int) -> instantiateItem
+ 260:260:boolean isViewFromObject(android.view.View,java.lang.Object) -> isViewFromObject
+ 287:287:java.lang.String makeFragmentName(int,long) -> makeFragmentName
+ 271:271:void restoreState(android.os.Parcelable,java.lang.ClassLoader) -> restoreState
+ 266:266:android.os.Parcelable saveState() -> saveState
+ 211:236:void setPrimaryItem(android.view.ViewGroup,int,java.lang.Object) -> setPrimaryItem
+ 151:155:void startUpdate(android.view.ViewGroup) -> startUpdate
+androidx.fragment.app.FragmentState -> androidx.fragment.app.FragmentState:
+ 131:131:void <clinit>() -> <clinit>
+ 43:56:void <init>(androidx.fragment.app.Fragment) -> <init>
+ 58:72:void <init>(android.os.Parcel) -> <init>
+ 111:111:int describeContents() -> describeContents
+ 77:106:java.lang.String toString() -> toString
+ 116:129:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.fragment.app.FragmentState$1 -> androidx.fragment.app.FragmentState$1:
+ 132:132:void <init>() -> <init>
+ 132:132:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 135:135:androidx.fragment.app.FragmentState createFromParcel(android.os.Parcel) -> createFromParcel
+ 132:132:java.lang.Object[] newArray(int) -> newArray
+ 140:140:androidx.fragment.app.FragmentState[] newArray(int) -> newArray
+androidx.fragment.app.FragmentStateManager -> androidx.fragment.app.FragmentStateManager:
+ 51:66:void <init>(androidx.fragment.app.FragmentLifecycleCallbacksDispatcher,androidx.fragment.app.FragmentStore,androidx.fragment.app.Fragment) -> <init>
+ 51:112:void <init>(androidx.fragment.app.FragmentLifecycleCallbacksDispatcher,androidx.fragment.app.FragmentStore,java.lang.ClassLoader,androidx.fragment.app.FragmentFactory,androidx.fragment.app.FragmentState) -> <init>
+ 51:145:void <init>(androidx.fragment.app.FragmentLifecycleCallbacksDispatcher,androidx.fragment.app.FragmentStore,androidx.fragment.app.Fragment,androidx.fragment.app.FragmentState) -> <init>
+ 577:583:void activityCreated() -> activityCreated
+ 832:834:void addViewToContainer() -> addViewToContainer
+ 428:466:void attach() -> attach
+ 170:254:int computeExpectedState() -> computeExpectedState
+ 469:482:void create() -> create
+ 485:574:void createView() -> createView
+ 754:806:void destroy() -> destroy
+ 733:751:void destroyFragmentView() -> destroyFragmentView
+ 809:826:void detach() -> detach
+ 382:398:void ensureInflatedView() -> ensureInflatedView
+ 149:149:androidx.fragment.app.Fragment getFragment() -> getFragment
+ 615:625:boolean isFragmentViewChild(android.view.View) -> isFragmentViewChild
+ 258:379:void moveToExpectedState() -> moveToExpectedState
+ 629:634:void pause() -> pause
+ 401:425:void restoreState(java.lang.ClassLoader) -> restoreState
+ 594:612:void resume() -> resume
+ 681:713:android.os.Bundle saveBasicState() -> saveBasicState
+ 673:677:androidx.fragment.app.Fragment$SavedState saveInstanceState() -> saveInstanceState
+ 646:668:androidx.fragment.app.FragmentState saveState() -> saveState
+ 717:730:void saveViewState() -> saveViewState
+ 159:160:void setFragmentManagerState(int) -> setFragmentManagerState
+ 586:591:void start() -> start
+ 637:642:void stop() -> stop
+androidx.fragment.app.FragmentStateManager$1 -> androidx.fragment.app.FragmentStateManager$1:
+ 534:534:void <init>(androidx.fragment.app.FragmentStateManager,android.view.View) -> <init>
+ 537:539:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 543:543:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+androidx.fragment.app.FragmentStateManager$2 -> androidx.fragment.app.FragmentStateManager$2:
+ 177:177:void <clinit>() -> <clinit>
+androidx.fragment.app.FragmentStatePagerAdapter -> androidx.fragment.app.FragmentStatePagerAdapter:
+ 129:130:void <init>(androidx.fragment.app.FragmentManager) -> <init>
+ 107:148:void <init>(androidx.fragment.app.FragmentManager,int) -> <init>
+ 213:231:void destroyItem(android.view.ViewGroup,int,java.lang.Object) -> destroyItem
+ 265:281:void finishUpdate(android.view.ViewGroup) -> finishUpdate
+ 172:206:java.lang.Object instantiateItem(android.view.ViewGroup,int) -> instantiateItem
+ 285:285:boolean isViewFromObject(android.view.View,java.lang.Object) -> isViewFromObject
+ 313:341:void restoreState(android.os.Parcelable,java.lang.ClassLoader) -> restoreState
+ 291:308:android.os.Parcelable saveState() -> saveState
+ 236:261:void setPrimaryItem(android.view.ViewGroup,int,java.lang.Object) -> setPrimaryItem
+ 158:162:void startUpdate(android.view.ViewGroup) -> startUpdate
+androidx.fragment.app.FragmentStore -> androidx.fragment.app.FragmentStore:
+ 34:38:void <init>() -> <init>
+ 90:97:void addFragment(androidx.fragment.app.Fragment) -> addFragment
+ 164:168:void burpActive() -> burpActive
+ 291:291:boolean containsActiveFragment(java.lang.String) -> containsActiveFragment
+ 100:105:void dispatchStateChange(int) -> dispatchStateChange
+ 371:400:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 314:318:androidx.fragment.app.Fragment findActiveFragment(java.lang.String) -> findActiveFragment
+ 247:262:androidx.fragment.app.Fragment findFragmentById(int) -> findFragmentById
+ 267:287:androidx.fragment.app.Fragment findFragmentByTag(java.lang.String) -> findFragmentByTag
+ 301:309:androidx.fragment.app.Fragment findFragmentByWho(java.lang.String) -> findFragmentByWho
+ 339:366:int findFragmentIndexInContainer(androidx.fragment.app.Fragment) -> findFragmentIndexInContainer
+ 241:241:int getActiveFragmentCount() -> getActiveFragmentCount
+ 208:214:java.util.List getActiveFragmentStateManagers() -> getActiveFragmentStateManagers
+ 229:237:java.util.List getActiveFragments() -> getActiveFragments
+ 296:296:androidx.fragment.app.FragmentStateManager getFragmentStateManager(java.lang.String) -> getFragmentStateManager
+ 219:224:java.util.List getFragments() -> getFragments
+ 47:47:androidx.fragment.app.FragmentManagerViewModel getNonConfig() -> getNonConfig
+ 71:87:void makeActive(androidx.fragment.app.FragmentStateManager) -> makeActive
+ 139:156:void makeInactive(androidx.fragment.app.FragmentStateManager) -> makeInactive
+ 109:129:void moveToExpectedState() -> moveToExpectedState
+ 132:136:void removeFragment(androidx.fragment.app.Fragment) -> removeFragment
+ 51:52:void resetActiveFragments() -> resetActiveFragments
+ 55:68:void restoreAddedFragments(java.util.List) -> restoreAddedFragments
+ 172:185:java.util.ArrayList saveActiveFragments() -> saveActiveFragments
+ 190:203:java.util.ArrayList saveAddedFragments() -> saveAddedFragments
+ 43:44:void setNonConfig(androidx.fragment.app.FragmentManagerViewModel) -> setNonConfig
+androidx.fragment.app.FragmentTabHost -> androidx.fragment.app.FragmentTabHost:
+ 49:139:void <init>(android.content.Context) -> <init>
+ 49:150:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 270:289:void addTab(android.widget.TabHost$TabSpec,java.lang.Class,android.os.Bundle) -> addTab
+ 402:428:androidx.fragment.app.FragmentTransaction doTabChanged(java.lang.String,androidx.fragment.app.FragmentTransaction) -> doTabChanged
+ 242:249:void ensureContent() -> ensureContent
+ 164:187:void ensureHierarchy(android.content.Context) -> ensureHierarchy
+ 433:439:androidx.fragment.app.FragmentTabHost$TabInfo getTabInfoForTag(java.lang.String) -> getTabInfoForTag
+ 153:159:void initFragmentTabHost(android.content.Context,android.util.AttributeSet) -> initFragmentTabHost
+ 299:334:void onAttachedToWindow() -> onAttachedToWindow
+ 344:346:void onDetachedFromWindow() -> onDetachedFromWindow
+ 371:378:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 357:360:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 388:397:void onTabChanged(java.lang.String) -> onTabChanged
+ 259:260:void setOnTabChangedListener(android.widget.TabHost$OnTabChangeListener) -> setOnTabChangedListener
+ 196:196:void setup() -> setup
+ 209:214:void setup(android.content.Context,androidx.fragment.app.FragmentManager) -> setup
+ 226:239:void setup(android.content.Context,androidx.fragment.app.FragmentManager,int) -> setup
+androidx.fragment.app.FragmentTabHost$DummyTabFactory -> androidx.fragment.app.FragmentTabHost$DummyTabFactory:
+ 75:77:void <init>(android.content.Context) -> <init>
+ 81:84:android.view.View createTabContent(java.lang.String) -> createTabContent
+androidx.fragment.app.FragmentTabHost$SavedState -> androidx.fragment.app.FragmentTabHost$SavedState:
+ 114:114:void <clinit>() -> <clinit>
+ 92:93:void <init>(android.os.Parcelable) -> <init>
+ 96:98:void <init>(android.os.Parcel) -> <init>
+ 109:110:java.lang.String toString() -> toString
+ 102:104:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.fragment.app.FragmentTabHost$SavedState$1 -> androidx.fragment.app.FragmentTabHost$SavedState$1:
+ 115:115:void <init>() -> <init>
+ 115:115:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 118:118:androidx.fragment.app.FragmentTabHost$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 115:115:java.lang.Object[] newArray(int) -> newArray
+ 123:123:androidx.fragment.app.FragmentTabHost$SavedState[] newArray(int) -> newArray
+androidx.fragment.app.FragmentTabHost$TabInfo -> androidx.fragment.app.FragmentTabHost$TabInfo:
+ 65:69:void <init>(java.lang.String,java.lang.Class,android.os.Bundle) -> <init>
+androidx.fragment.app.FragmentTransaction -> androidx.fragment.app.FragmentTransaction:
+ 94:123:void <init>() -> <init>
+ 94:129:void <init>(androidx.fragment.app.FragmentFactory,java.lang.ClassLoader) -> <init>
+ 163:163:androidx.fragment.app.FragmentTransaction add(java.lang.Class,android.os.Bundle,java.lang.String) -> add
+ 171:172:androidx.fragment.app.FragmentTransaction add(androidx.fragment.app.Fragment,java.lang.String) -> add
+ 181:181:androidx.fragment.app.FragmentTransaction add(int,java.lang.Class,android.os.Bundle) -> add
+ 189:190:androidx.fragment.app.FragmentTransaction add(int,androidx.fragment.app.Fragment) -> add
+ 213:213:androidx.fragment.app.FragmentTransaction add(int,java.lang.Class,android.os.Bundle,java.lang.String) -> add
+ 234:235:androidx.fragment.app.FragmentTransaction add(int,androidx.fragment.app.Fragment,java.lang.String) -> add
+ 240:241:androidx.fragment.app.FragmentTransaction add(android.view.ViewGroup,androidx.fragment.app.Fragment,java.lang.String) -> add
+ 132:137:void addOp(androidx.fragment.app.FragmentTransaction$Op) -> addOp
+ 596:616:androidx.fragment.app.FragmentTransaction addSharedElement(android.view.View,java.lang.String) -> addSharedElement
+ 655:661:androidx.fragment.app.FragmentTransaction addToBackStack(java.lang.String) -> addToBackStack
+ 424:426:androidx.fragment.app.FragmentTransaction attach(androidx.fragment.app.Fragment) -> attach
+ 142:154:androidx.fragment.app.Fragment createFragment(java.lang.Class,android.os.Bundle) -> createFragment
+ 407:409:androidx.fragment.app.FragmentTransaction detach(androidx.fragment.app.Fragment) -> detach
+ 682:687:androidx.fragment.app.FragmentTransaction disallowAddToBackStack() -> disallowAddToBackStack
+ 245:277:void doAddOp(int,androidx.fragment.app.Fragment,java.lang.String,int) -> doAddOp
+ 373:375:androidx.fragment.app.FragmentTransaction hide(androidx.fragment.app.Fragment) -> hide
+ 672:672:boolean isAddToBackStackAllowed() -> isAddToBackStackAllowed
+ 481:481:boolean isEmpty() -> isEmpty
+ 357:359:androidx.fragment.app.FragmentTransaction remove(androidx.fragment.app.Fragment) -> remove
+ 285:285:androidx.fragment.app.FragmentTransaction replace(int,java.lang.Class,android.os.Bundle) -> replace
+ 293:293:androidx.fragment.app.FragmentTransaction replace(int,androidx.fragment.app.Fragment) -> replace
+ 318:318:androidx.fragment.app.FragmentTransaction replace(int,java.lang.Class,android.os.Bundle,java.lang.String) -> replace
+ 340:344:androidx.fragment.app.FragmentTransaction replace(int,androidx.fragment.app.Fragment,java.lang.String) -> replace
+ 818:823:androidx.fragment.app.FragmentTransaction runOnCommit(java.lang.Runnable) -> runOnCommit
+ 792:792:androidx.fragment.app.FragmentTransaction setAllowOptimization(boolean) -> setAllowOptimization
+ 732:734:androidx.fragment.app.FragmentTransaction setBreadCrumbShortTitle(int) -> setBreadCrumbShortTitle
+ 747:749:androidx.fragment.app.FragmentTransaction setBreadCrumbShortTitle(java.lang.CharSequence) -> setBreadCrumbShortTitle
+ 701:703:androidx.fragment.app.FragmentTransaction setBreadCrumbTitle(int) -> setBreadCrumbTitle
+ 716:718:androidx.fragment.app.FragmentTransaction setBreadCrumbTitle(java.lang.CharSequence) -> setBreadCrumbTitle
+ 538:538:androidx.fragment.app.FragmentTransaction setCustomAnimations(int,int) -> setCustomAnimations
+ 575:579:androidx.fragment.app.FragmentTransaction setCustomAnimations(int,int,int,int) -> setCustomAnimations
+ 472:473:androidx.fragment.app.FragmentTransaction setMaxLifecycle(androidx.fragment.app.Fragment,androidx.lifecycle.Lifecycle$State) -> setMaxLifecycle
+ 447:449:androidx.fragment.app.FragmentTransaction setPrimaryNavigationFragment(androidx.fragment.app.Fragment) -> setPrimaryNavigationFragment
+ 782:783:androidx.fragment.app.FragmentTransaction setReorderingAllowed(boolean) -> setReorderingAllowed
+ 626:627:androidx.fragment.app.FragmentTransaction setTransition(int) -> setTransition
+ 639:639:androidx.fragment.app.FragmentTransaction setTransitionStyle(int) -> setTransitionStyle
+ 389:391:androidx.fragment.app.FragmentTransaction show(androidx.fragment.app.Fragment) -> show
+androidx.fragment.app.FragmentTransaction$Op -> androidx.fragment.app.FragmentTransaction$Op:
+ 73:74:void <init>() -> <init>
+ 76:81:void <init>(int,androidx.fragment.app.Fragment) -> <init>
+ 83:88:void <init>(int,androidx.fragment.app.Fragment,androidx.lifecycle.Lifecycle$State) -> <init>
+androidx.fragment.app.FragmentTransition -> androidx.fragment.app.FragmentTransition:
+ 48:81:void <clinit>() -> <clinit>
+ 1314:1315:void <init>() -> <init>
+ 695:701:void addSharedElementsWithMatchingNames(java.util.ArrayList,androidx.collection.ArrayMap,java.util.Collection) -> addSharedElementsWithMatchingNames
+ 1173:1261:void addToFirstInLastOut(androidx.fragment.app.BackStackRecord,androidx.fragment.app.FragmentTransaction$Op,android.util.SparseArray,boolean,boolean) -> addToFirstInLastOut
+ 1125:1130:void calculateFragments(androidx.fragment.app.BackStackRecord,android.util.SparseArray,boolean) -> calculateFragments
+ 187:217:androidx.collection.ArrayMap calculateNameOverrides(int,java.util.ArrayList,java.util.ArrayList,int,int) -> calculateNameOverrides
+ 1142:1150:void calculatePopFragments(androidx.fragment.app.BackStackRecord,android.util.SparseArray,boolean) -> calculatePopFragments
+ 1029:1046:void callSharedElementStartEnd(androidx.fragment.app.Fragment,androidx.fragment.app.Fragment,boolean,androidx.collection.ArrayMap,boolean) -> callSharedElementStartEnd
+ 518:523:boolean canHandleAll(androidx.fragment.app.FragmentTransitionImpl,java.util.List) -> canHandleAll
+ 889:933:androidx.collection.ArrayMap captureInSharedElements(androidx.fragment.app.FragmentTransitionImpl,androidx.collection.ArrayMap,java.lang.Object,androidx.fragment.app.FragmentTransition$FragmentContainerTransition) -> captureInSharedElements
+ 831:868:androidx.collection.ArrayMap captureOutSharedElements(androidx.fragment.app.FragmentTransitionImpl,androidx.collection.ArrayMap,java.lang.Object,androidx.fragment.app.FragmentTransition$FragmentContainerTransition) -> captureOutSharedElements
+ 472:514:androidx.fragment.app.FragmentTransitionImpl chooseImpl(androidx.fragment.app.Fragment,androidx.fragment.app.Fragment) -> chooseImpl
+ 1052:1067:java.util.ArrayList configureEnteringExitingViews(androidx.fragment.app.FragmentTransitionImpl,java.lang.Object,androidx.fragment.app.Fragment,java.util.ArrayList,android.view.View) -> configureEnteringExitingViews
+ 738:811:java.lang.Object configureSharedElementsOrdered(androidx.fragment.app.FragmentTransitionImpl,android.view.ViewGroup,android.view.View,androidx.collection.ArrayMap,androidx.fragment.app.FragmentTransition$FragmentContainerTransition,java.util.ArrayList,java.util.ArrayList,java.lang.Object,java.lang.Object) -> configureSharedElementsOrdered
+ 609:681:java.lang.Object configureSharedElementsReordered(androidx.fragment.app.FragmentTransitionImpl,android.view.ViewGroup,android.view.View,androidx.collection.ArrayMap,androidx.fragment.app.FragmentTransition$FragmentContainerTransition,java.util.ArrayList,java.util.ArrayList,java.lang.Object,java.lang.Object) -> configureSharedElementsReordered
+ 354:416:void configureTransitionsOrdered(android.view.ViewGroup,androidx.fragment.app.FragmentTransition$FragmentContainerTransition,android.view.View,androidx.collection.ArrayMap,androidx.fragment.app.FragmentTransition$Callback) -> configureTransitionsOrdered
+ 237:297:void configureTransitionsReordered(android.view.ViewGroup,androidx.fragment.app.FragmentTransition$FragmentContainerTransition,android.view.View,androidx.collection.ArrayMap,androidx.fragment.app.FragmentTransition$Callback) -> configureTransitionsReordered
+ 1271:1275:androidx.fragment.app.FragmentTransition$FragmentContainerTransition ensureContainer(androidx.fragment.app.FragmentTransition$FragmentContainerTransition,android.util.SparseArray,int) -> ensureContainer
+ 940:946:java.lang.String findKeyForValue(androidx.collection.ArrayMap,java.lang.String) -> findKeyForValue
+ 554:559:java.lang.Object getEnterTransition(androidx.fragment.app.FragmentTransitionImpl,androidx.fragment.app.Fragment,boolean) -> getEnterTransition
+ 567:572:java.lang.Object getExitTransition(androidx.fragment.app.FragmentTransitionImpl,androidx.fragment.app.Fragment,boolean) -> getExitTransition
+ 962:971:android.view.View getInEpicenterView(androidx.collection.ArrayMap,androidx.fragment.app.FragmentTransition$FragmentContainerTransition,java.lang.Object,boolean) -> getInEpicenterView
+ 540:546:java.lang.Object getSharedElementTransition(androidx.fragment.app.FragmentTransitionImpl,androidx.fragment.app.Fragment,androidx.fragment.app.Fragment,boolean) -> getSharedElementTransition
+ 1090:1111:java.lang.Object mergeTransitions(androidx.fragment.app.FragmentTransitionImpl,java.lang.Object,java.lang.Object,java.lang.Object,androidx.fragment.app.Fragment,boolean) -> mergeTransitions
+ 307:335:void replaceHide(androidx.fragment.app.FragmentTransitionImpl,java.lang.Object,androidx.fragment.app.Fragment,java.util.ArrayList) -> replaceHide
+ 86:92:androidx.fragment.app.FragmentTransitionImpl resolveSupportImpl() -> resolveSupportImpl
+ 1007:1013:void retainValues(androidx.collection.ArrayMap,androidx.collection.ArrayMap) -> retainValues
+ 441:464:void scheduleTargetChange(androidx.fragment.app.FragmentTransitionImpl,android.view.ViewGroup,androidx.fragment.app.Fragment,android.view.View,java.util.ArrayList,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList) -> scheduleTargetChange
+ 986:998:void setOutEpicenter(androidx.fragment.app.FragmentTransitionImpl,java.lang.Object,java.lang.Object,androidx.collection.ArrayMap,boolean,androidx.fragment.app.BackStackRecord) -> setOutEpicenter
+ 1074:1081:void setViewVisibility(java.util.ArrayList,int) -> setViewVisibility
+ 127:167:void startTransitions(android.content.Context,androidx.fragment.app.FragmentContainer,java.util.ArrayList,java.util.ArrayList,int,int,boolean,androidx.fragment.app.FragmentTransition$Callback) -> startTransitions
+ 1153:1153:boolean supportsTransition() -> supportsTransition
+androidx.fragment.app.FragmentTransition$1 -> androidx.fragment.app.FragmentTransition$1:
+ 275:275:void <init>(androidx.fragment.app.FragmentTransition$Callback,androidx.fragment.app.Fragment,androidx.core.os.CancellationSignal) -> <init>
+ 278:279:void run() -> run
+androidx.fragment.app.FragmentTransition$2 -> androidx.fragment.app.FragmentTransition$2:
+ 328:328:void <init>(java.util.ArrayList) -> <init>
+ 331:332:void run() -> run
+androidx.fragment.app.FragmentTransition$3 -> androidx.fragment.app.FragmentTransition$3:
+ 396:396:void <init>(androidx.fragment.app.FragmentTransition$Callback,androidx.fragment.app.Fragment,androidx.core.os.CancellationSignal) -> <init>
+ 399:400:void run() -> run
+androidx.fragment.app.FragmentTransition$4 -> androidx.fragment.app.FragmentTransition$4:
+ 441:441:void <init>(java.lang.Object,androidx.fragment.app.FragmentTransitionImpl,android.view.View,androidx.fragment.app.Fragment,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.lang.Object) -> <init>
+ 444:462:void run() -> run
+androidx.fragment.app.FragmentTransition$5 -> androidx.fragment.app.FragmentTransition$5:
+ 671:671:void <init>(androidx.fragment.app.Fragment,androidx.fragment.app.Fragment,boolean,androidx.collection.ArrayMap,android.view.View,androidx.fragment.app.FragmentTransitionImpl,android.graphics.Rect) -> <init>
+ 674:679:void run() -> run
+androidx.fragment.app.FragmentTransition$6 -> androidx.fragment.app.FragmentTransition$6:
+ 783:783:void <init>(androidx.fragment.app.FragmentTransitionImpl,androidx.collection.ArrayMap,java.lang.Object,androidx.fragment.app.FragmentTransition$FragmentContainerTransition,java.util.ArrayList,android.view.View,androidx.fragment.app.Fragment,androidx.fragment.app.Fragment,boolean,java.util.ArrayList,java.lang.Object,android.graphics.Rect) -> <init>
+ 786:808:void run() -> run
+androidx.fragment.app.FragmentTransition$FragmentContainerTransition -> androidx.fragment.app.FragmentTransition$FragmentContainerTransition:
+ 1282:1282:void <init>() -> <init>
+androidx.fragment.app.FragmentTransitionCompat21 -> androidx.fragment.app.FragmentTransitionCompat21:
+ 34:34:void <init>() -> <init>
+ 331:335:void addTarget(java.lang.Object,android.view.View) -> addTarget
+ 94:115:void addTargets(java.lang.Object,java.util.ArrayList) -> addTargets
+ 216:217:void beginDelayedTransition(android.view.ViewGroup,java.lang.Object) -> beginDelayedTransition
+ 38:38:boolean canHandle(java.lang.Object) -> canHandle
+ 43:47:java.lang.Object cloneTransition(java.lang.Object) -> cloneTransition
+ 121:123:boolean hasSimpleTarget(android.transition.Transition) -> hasSimpleTarget
+ 188:210:java.lang.Object mergeTransitionsInSequence(java.lang.Object,java.lang.Object,java.lang.Object) -> mergeTransitionsInSequence
+ 129:139:java.lang.Object mergeTransitionsTogether(java.lang.Object,java.lang.Object,java.lang.Object) -> mergeTransitionsTogether
+ 339:343:void removeTarget(java.lang.Object,android.view.View) -> removeTarget
+ 305:327:void replaceTargets(java.lang.Object,java.util.ArrayList,java.util.ArrayList) -> replaceTargets
+ 145:181:void scheduleHideFragmentView(java.lang.Object,android.view.View,java.util.ArrayList) -> scheduleHideFragmentView
+ 224:256:void scheduleRemoveTargets(java.lang.Object,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList) -> scheduleRemoveTargets
+ 78:90:void setEpicenter(java.lang.Object,android.view.View) -> setEpicenter
+ 347:359:void setEpicenter(java.lang.Object,android.graphics.Rect) -> setEpicenter
+ 271:289:void setListenerForTransitionEnd(androidx.fragment.app.Fragment,java.lang.Object,androidx.core.os.CancellationSignal,java.lang.Runnable) -> setListenerForTransitionEnd
+ 63:74:void setSharedElementTargets(java.lang.Object,android.view.View,java.util.ArrayList) -> setSharedElementTargets
+ 294:300:void swapSharedElementTargets(java.lang.Object,java.util.ArrayList,java.util.ArrayList) -> swapSharedElementTargets
+ 52:57:java.lang.Object wrapTransitionInSet(java.lang.Object) -> wrapTransitionInSet
+androidx.fragment.app.FragmentTransitionCompat21$1 -> androidx.fragment.app.FragmentTransitionCompat21$1:
+ 83:83:void <init>(androidx.fragment.app.FragmentTransitionCompat21,android.graphics.Rect) -> <init>
+ 86:86:android.graphics.Rect onGetEpicenter(android.transition.Transition) -> onGetEpicenter
+androidx.fragment.app.FragmentTransitionCompat21$2 -> androidx.fragment.app.FragmentTransitionCompat21$2:
+ 146:146:void <init>(androidx.fragment.app.FragmentTransitionCompat21,android.view.View,java.util.ArrayList) -> <init>
+ 171:171:void onTransitionCancel(android.transition.Transition) -> onTransitionCancel
+ 161:167:void onTransitionEnd(android.transition.Transition) -> onTransitionEnd
+ 175:175:void onTransitionPause(android.transition.Transition) -> onTransitionPause
+ 179:179:void onTransitionResume(android.transition.Transition) -> onTransitionResume
+ 155:157:void onTransitionStart(android.transition.Transition) -> onTransitionStart
+androidx.fragment.app.FragmentTransitionCompat21$3 -> androidx.fragment.app.FragmentTransitionCompat21$3:
+ 225:225:void <init>(androidx.fragment.app.FragmentTransitionCompat21,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList) -> <init>
+ 246:246:void onTransitionCancel(android.transition.Transition) -> onTransitionCancel
+ 241:242:void onTransitionEnd(android.transition.Transition) -> onTransitionEnd
+ 250:250:void onTransitionPause(android.transition.Transition) -> onTransitionPause
+ 254:254:void onTransitionResume(android.transition.Transition) -> onTransitionResume
+ 228:237:void onTransitionStart(android.transition.Transition) -> onTransitionStart
+androidx.fragment.app.FragmentTransitionCompat21$4 -> androidx.fragment.app.FragmentTransitionCompat21$4:
+ 271:271:void <init>(androidx.fragment.app.FragmentTransitionCompat21,java.lang.Runnable) -> <init>
+ 281:281:void onTransitionCancel(android.transition.Transition) -> onTransitionCancel
+ 277:278:void onTransitionEnd(android.transition.Transition) -> onTransitionEnd
+ 284:284:void onTransitionPause(android.transition.Transition) -> onTransitionPause
+ 287:287:void onTransitionResume(android.transition.Transition) -> onTransitionResume
+ 273:273:void onTransitionStart(android.transition.Transition) -> onTransitionStart
+androidx.fragment.app.FragmentTransitionCompat21$5 -> androidx.fragment.app.FragmentTransitionCompat21$5:
+ 349:349:void <init>(androidx.fragment.app.FragmentTransitionCompat21,android.graphics.Rect) -> <init>
+ 352:355:android.graphics.Rect onGetEpicenter(android.transition.Transition) -> onGetEpicenter
+androidx.fragment.app.FragmentTransitionImpl -> androidx.fragment.app.FragmentTransitionImpl:
+ 45:45:void <init>() -> <init>
+ 358:379:void bfsAddViewChildren(java.util.List,android.view.View) -> bfsAddViewChildren
+ 219:235:void captureTransitioningViews(java.util.ArrayList,android.view.View) -> captureTransitioningViews
+ 386:391:boolean containedBeforeIndex(java.util.List,android.view.View,int) -> containedBeforeIndex
+ 406:411:java.lang.String findKeyForValue(java.util.Map,java.lang.String) -> findKeyForValue
+ 242:256:void findNamedViews(java.util.Map,android.view.View) -> findNamedViews
+ 82:108:void getBoundsOnScreen(android.view.View,android.graphics.Rect) -> getBoundsOnScreen
+ 398:398:boolean isNullOrEmpty(java.util.List) -> isNullOrEmpty
+ 160:167:java.util.ArrayList prepareSetNameOverridesReordered(java.util.ArrayList) -> prepareSetNameOverridesReordered
+ 339:351:void scheduleNameReset(android.view.ViewGroup,java.util.ArrayList,java.util.Map) -> scheduleNameReset
+ 302:303:void setListenerForTransitionEnd(androidx.fragment.app.Fragment,java.lang.Object,androidx.core.os.CancellationSignal,java.lang.Runnable) -> setListenerForTransitionEnd
+ 263:277:void setNameOverridesOrdered(android.view.View,java.util.ArrayList,java.util.Map) -> setNameOverridesOrdered
+ 179:208:void setNameOverridesReordered(android.view.View,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.Map) -> setNameOverridesReordered
+androidx.fragment.app.FragmentTransitionImpl$1 -> androidx.fragment.app.FragmentTransitionImpl$1:
+ 199:199:void <init>(androidx.fragment.app.FragmentTransitionImpl,int,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList) -> <init>
+ 202:206:void run() -> run
+androidx.fragment.app.FragmentTransitionImpl$2 -> androidx.fragment.app.FragmentTransitionImpl$2:
+ 263:263:void <init>(androidx.fragment.app.FragmentTransitionImpl,java.util.ArrayList,java.util.Map) -> <init>
+ 266:275:void run() -> run
+androidx.fragment.app.FragmentTransitionImpl$3 -> androidx.fragment.app.FragmentTransitionImpl$3:
+ 339:339:void <init>(androidx.fragment.app.FragmentTransitionImpl,java.util.ArrayList,java.util.Map) -> <init>
+ 342:349:void run() -> run
+androidx.fragment.app.FragmentViewLifecycleOwner -> androidx.fragment.app.FragmentViewLifecycleOwner:
+ 44:50:void <init>(androidx.fragment.app.Fragment,androidx.lifecycle.ViewModelStore) -> <init>
+ 101:126:androidx.lifecycle.ViewModelProvider$Factory getDefaultViewModelProviderFactory() -> getDefaultViewModelProviderFactory
+ 79:80:androidx.lifecycle.Lifecycle getLifecycle() -> getLifecycle
+ 132:133:androidx.savedstate.SavedStateRegistry getSavedStateRegistry() -> getSavedStateRegistry
+ 55:56:androidx.lifecycle.ViewModelStore getViewModelStore() -> getViewModelStore
+ 88:89:void handleLifecycleEvent(androidx.lifecycle.Lifecycle$Event) -> handleLifecycleEvent
+ 63:67:void initialize() -> initialize
+ 73:73:boolean isInitialized() -> isInitialized
+ 137:138:void performRestore(android.os.Bundle) -> performRestore
+ 141:142:void performSave(android.os.Bundle) -> performSave
+ 84:85:void setCurrentState(androidx.lifecycle.Lifecycle$State) -> setCurrentState
+androidx.fragment.app.ListFragment -> androidx.fragment.app.ListFragment:
+ 50:78:void <init>() -> <init>
+ 350:401:void ensureList() -> ensureList
+ 330:330:android.widget.ListAdapter getListAdapter() -> getListAdapter
+ 230:231:android.widget.ListView getListView() -> getListView
+ 221:222:long getSelectedItemId() -> getSelectedItemId
+ 213:214:int getSelectedItemPosition() -> getSelectedItemPosition
+ 98:143:android.view.View onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle) -> onCreateView
+ 160:166:void onDestroyView() -> onDestroyView
+ 180:180:void onListItemClick(android.widget.ListView,android.view.View,int,long) -> onListItemClick
+ 151:153:void onViewCreated(android.view.View,android.os.Bundle) -> onViewCreated
+ 341:346:android.widget.ListAdapter requireListAdapter() -> requireListAdapter
+ 240:249:void setEmptyText(java.lang.CharSequence) -> setEmptyText
+ 186:196:void setListAdapter(android.widget.ListAdapter) -> setListAdapter
+ 266:267:void setListShown(boolean) -> setListShown
+ 288:321:void setListShown(boolean,boolean) -> setListShown
+ 274:275:void setListShownNoAnimation(boolean) -> setListShownNoAnimation
+ 205:207:void setSelection(int) -> setSelection
+androidx.fragment.app.ListFragment$1 -> androidx.fragment.app.ListFragment$1:
+ 53:53:void <init>(androidx.fragment.app.ListFragment) -> <init>
+ 56:57:void run() -> run
+androidx.fragment.app.ListFragment$2 -> androidx.fragment.app.ListFragment$2:
+ 61:61:void <init>(androidx.fragment.app.ListFragment) -> <init>
+ 64:65:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+androidx.fragment.app.LogWriter -> androidx.fragment.app.LogWriter:
+ 25:32:void <init>(java.lang.String) -> <init>
+ 35:36:void close() -> close
+ 39:40:void flush() -> flush
+ 55:59:void flushBuilder() -> flushBuilder
+ 43:52:void write(char[],int,int) -> write
+androidx.fragment.app.SpecialEffectsController -> androidx.fragment.app.SpecialEffectsController:
+ 84:94:void <init>(android.view.ViewGroup) -> <init>
+ 193:225:void enqueue(androidx.fragment.app.SpecialEffectsController$Operation$State,androidx.fragment.app.SpecialEffectsController$Operation$LifecycleImpact,androidx.fragment.app.FragmentStateManager) -> enqueue
+ 155:161:void enqueueAdd(androidx.fragment.app.SpecialEffectsController$Operation$State,androidx.fragment.app.FragmentStateManager) -> enqueueAdd
+ 173:179:void enqueueHide(androidx.fragment.app.FragmentStateManager) -> enqueueHide
+ 182:188:void enqueueRemove(androidx.fragment.app.FragmentStateManager) -> enqueueRemove
+ 164:170:void enqueueShow(androidx.fragment.app.FragmentStateManager) -> enqueueShow
+ 260:301:void executePendingOperations() -> executePendingOperations
+ 135:140:androidx.fragment.app.SpecialEffectsController$Operation findPendingOperation(androidx.fragment.app.Fragment) -> findPendingOperation
+ 145:150:androidx.fragment.app.SpecialEffectsController$Operation findRunningOperation(androidx.fragment.app.Fragment) -> findRunningOperation
+ 304:335:void forceCompleteAllOperations() -> forceCompleteAllOperations
+ 253:257:void forcePostponedExecutePendingOperations() -> forcePostponedExecutePendingOperations
+ 117:130:androidx.fragment.app.SpecialEffectsController$Operation$LifecycleImpact getAwaitingCompletionLifecycleImpact(androidx.fragment.app.FragmentStateManager) -> getAwaitingCompletionLifecycleImpact
+ 98:98:android.view.ViewGroup getContainer() -> getContainer
+ 54:56:androidx.fragment.app.SpecialEffectsController getOrCreateController(android.view.ViewGroup,androidx.fragment.app.FragmentManager) -> getOrCreateController
+ 72:79:androidx.fragment.app.SpecialEffectsController getOrCreateController(android.view.ViewGroup,androidx.fragment.app.SpecialEffectsControllerFactory) -> getOrCreateController
+ 232:250:void markPostponedState() -> markPostponedState
+ 338:347:void updateFinalState() -> updateFinalState
+ 228:229:void updateOperationDirection(boolean) -> updateOperationDirection
+androidx.fragment.app.SpecialEffectsController$1 -> androidx.fragment.app.SpecialEffectsController$1:
+ 207:207:void <init>(androidx.fragment.app.SpecialEffectsController,androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation) -> <init>
+ 210:213:void run() -> run
+androidx.fragment.app.SpecialEffectsController$2 -> androidx.fragment.app.SpecialEffectsController$2:
+ 217:217:void <init>(androidx.fragment.app.SpecialEffectsController,androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation) -> <init>
+ 220:222:void run() -> run
+androidx.fragment.app.SpecialEffectsController$3 -> androidx.fragment.app.SpecialEffectsController$3:
+ 444:607:void <clinit>() -> <clinit>
+androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation -> androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation:
+ 708:711:void <init>(androidx.fragment.app.SpecialEffectsController$Operation$State,androidx.fragment.app.SpecialEffectsController$Operation$LifecycleImpact,androidx.fragment.app.FragmentStateManager,androidx.core.os.CancellationSignal) -> <init>
+ 744:746:void complete() -> complete
+ 715:740:void onStart() -> onStart
+androidx.fragment.app.SpecialEffectsController$Operation -> androidx.fragment.app.SpecialEffectsController$Operation:
+ 505:533:void <init>(androidx.fragment.app.SpecialEffectsController$Operation$State,androidx.fragment.app.SpecialEffectsController$Operation$LifecycleImpact,androidx.fragment.app.Fragment,androidx.core.os.CancellationSignal) -> <init>
+ 645:646:void addCompletionListener(java.lang.Runnable) -> addCompletionListener
+ 592:604:void cancel() -> cancel
+ 686:697:void complete() -> complete
+ 671:674:void completeSpecialEffect(androidx.core.os.CancellationSignal) -> completeSpecialEffect
+ 542:542:androidx.fragment.app.SpecialEffectsController$Operation$State getFinalState() -> getFinalState
+ 561:561:androidx.fragment.app.Fragment getFragment() -> getFragment
+ 552:552:androidx.fragment.app.SpecialEffectsController$Operation$LifecycleImpact getLifecycleImpact() -> getLifecycleImpact
+ 565:565:boolean isCanceled() -> isCanceled
+ 677:677:boolean isComplete() -> isComplete
+ 659:661:void markStartedSpecialEffect(androidx.core.os.CancellationSignal) -> markStartedSpecialEffect
+ 607:642:void mergeWith(androidx.fragment.app.SpecialEffectsController$Operation$State,androidx.fragment.app.SpecialEffectsController$Operation$LifecycleImpact) -> mergeWith
+ 651:651:void onStart() -> onStart
+ 571:588:java.lang.String toString() -> toString
+androidx.fragment.app.SpecialEffectsController$Operation$1 -> androidx.fragment.app.SpecialEffectsController$Operation$1:
+ 527:527:void <init>(androidx.fragment.app.SpecialEffectsController$Operation) -> <init>
+ 530:531:void onCancel() -> onCancel
+androidx.fragment.app.SpecialEffectsController$Operation$LifecycleImpact -> androidx.fragment.app.SpecialEffectsController$Operation$LifecycleImpact:
+ 484:496:void <clinit>() -> <clinit>
+ 484:484:void <init>(java.lang.String,int) -> <init>
+ 484:484:androidx.fragment.app.SpecialEffectsController$Operation$LifecycleImpact valueOf(java.lang.String) -> valueOf
+ 484:484:androidx.fragment.app.SpecialEffectsController$Operation$LifecycleImpact[] values() -> values
+androidx.fragment.app.SpecialEffectsController$Operation$State -> androidx.fragment.app.SpecialEffectsController$Operation$State:
+ 385:401:void <clinit>() -> <clinit>
+ 385:385:void <init>(java.lang.String,int) -> <init>
+ 444:478:void applyState(android.view.View) -> applyState
+ 412:415:androidx.fragment.app.SpecialEffectsController$Operation$State from(android.view.View) -> from
+ 426:434:androidx.fragment.app.SpecialEffectsController$Operation$State from(int) -> from
+ 385:385:androidx.fragment.app.SpecialEffectsController$Operation$State valueOf(java.lang.String) -> valueOf
+ 385:385:androidx.fragment.app.SpecialEffectsController$Operation$State[] values() -> values
+androidx.fragment.app.SuperNotCalledException -> androidx.fragment.app.SuperNotCalledException:
+ 23:24:void <init>(java.lang.String) -> <init>
+androidx.interpolator.view.animation.FastOutLinearInInterpolator -> androidx.interpolator.view.animation.FastOutLinearInInterpolator:
+ 34:34:void <clinit>() -> <clinit>
+ 67:68:void <init>() -> <init>
+ 28:28:float getInterpolation(float) -> getInterpolation
+androidx.interpolator.view.animation.FastOutSlowInInterpolator -> androidx.interpolator.view.animation.FastOutSlowInInterpolator:
+ 34:34:void <clinit>() -> <clinit>
+ 67:68:void <init>() -> <init>
+ 28:28:float getInterpolation(float) -> getInterpolation
+androidx.interpolator.view.animation.LinearOutSlowInInterpolator -> androidx.interpolator.view.animation.LinearOutSlowInInterpolator:
+ 34:34:void <clinit>() -> <clinit>
+ 67:68:void <init>() -> <init>
+ 28:28:float getInterpolation(float) -> getInterpolation
+androidx.interpolator.view.animation.LookupTableInterpolator -> androidx.interpolator.view.animation.LookupTableInterpolator:
+ 30:33:void <init>(float[]) -> <init>
+ 37:54:float getInterpolation(float) -> getInterpolation
+androidx.legacy.content.WakefulBroadcastReceiver -> androidx.legacy.content.WakefulBroadcastReceiver:
+ 76:77:void <clinit>() -> <clinit>
+ 73:73:void <init>() -> <init>
+ 126:145:boolean completeWakefulIntent(android.content.Intent) -> completeWakefulIntent
+ 94:114:android.content.ComponentName startWakefulService(android.content.Context,android.content.Intent) -> startWakefulService
+androidx.lifecycle.AbstractSavedStateViewModelFactory -> androidx.lifecycle.AbstractSavedStateViewModelFactory:
+ 53:57:void <init>(androidx.savedstate.SavedStateRegistryOwner,android.os.Bundle) -> <init>
+ 67:71:androidx.lifecycle.ViewModel create(java.lang.String,java.lang.Class) -> create
+ 80:84:androidx.lifecycle.ViewModel create(java.lang.Class) -> create
+ 103:104:void onRequery(androidx.lifecycle.ViewModel) -> onRequery
+androidx.lifecycle.AndroidViewModel -> androidx.lifecycle.AndroidViewModel:
+ 34:36:void <init>(android.app.Application) -> <init>
+ 44:44:android.app.Application getApplication() -> getApplication
+androidx.lifecycle.ClassesInfoCache -> androidx.lifecycle.ClassesInfoCache:
+ 35:35:void <clinit>() -> <clinit>
+ 33:42:void <init>() -> <init>
+ 105:161:androidx.lifecycle.ClassesInfoCache$CallbackInfo createInfo(java.lang.Class,java.lang.reflect.Method[]) -> createInfo
+ 70:72:java.lang.reflect.Method[] getDeclaredMethods(java.lang.Class) -> getDeclaredMethods
+ 81:86:androidx.lifecycle.ClassesInfoCache$CallbackInfo getInfo(java.lang.Class) -> getInfo
+ 45:65:boolean hasLifecycleMethods(java.lang.Class) -> hasLifecycleMethods
+ 91:102:void verifyAndPutHandler(java.util.Map,androidx.lifecycle.ClassesInfoCache$MethodReference,androidx.lifecycle.Lifecycle$Event,java.lang.Class) -> verifyAndPutHandler
+androidx.lifecycle.ClassesInfoCache$CallbackInfo -> androidx.lifecycle.ClassesInfoCache$CallbackInfo:
+ 169:181:void <init>(java.util.Map) -> <init>
+ 185:188:void invokeCallbacks(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event,java.lang.Object) -> invokeCallbacks
+ 192:197:void invokeMethodsForEvent(java.util.List,androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event,java.lang.Object) -> invokeMethodsForEvent
+androidx.lifecycle.ClassesInfoCache$MethodReference -> androidx.lifecycle.ClassesInfoCache$MethodReference:
+ 205:209:void <init>(int,java.lang.reflect.Method) -> <init>
+ 234:242:boolean equals(java.lang.Object) -> equals
+ 247:247:int hashCode() -> hashCode
+ 214:230:void invokeCallback(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event,java.lang.Object) -> invokeCallback
+androidx.lifecycle.CompositeGeneratedAdaptersObserver -> androidx.lifecycle.CompositeGeneratedAdaptersObserver:
+ 26:28:void <init>(androidx.lifecycle.GeneratedAdapter[]) -> <init>
+ 32:39:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.lifecycle.ComputableLiveData -> androidx.lifecycle.ComputableLiveData:
+ 56:57:void <init>() -> <init>
+ 46:123:void <init>(java.util.concurrent.Executor) -> <init>
+ 83:83:androidx.lifecycle.LiveData getLiveData() -> getLiveData
+ 143:144:void invalidate() -> invalidate
+androidx.lifecycle.ComputableLiveData$1 -> androidx.lifecycle.ComputableLiveData$1:
+ 67:67:void <init>(androidx.lifecycle.ComputableLiveData) -> <init>
+ 70:71:void onActive() -> onActive
+androidx.lifecycle.ComputableLiveData$2 -> androidx.lifecycle.ComputableLiveData$2:
+ 87:87:void <init>(androidx.lifecycle.ComputableLiveData) -> <init>
+ 93:119:void run() -> run
+androidx.lifecycle.ComputableLiveData$3 -> androidx.lifecycle.ComputableLiveData$3:
+ 124:124:void <init>(androidx.lifecycle.ComputableLiveData) -> <init>
+ 128:134:void run() -> run
+androidx.lifecycle.FullLifecycleObserverAdapter -> androidx.lifecycle.FullLifecycleObserverAdapter:
+ 27:30:void <init>(androidx.lifecycle.FullLifecycleObserver,androidx.lifecycle.LifecycleEventObserver) -> <init>
+ 34:59:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.lifecycle.FullLifecycleObserverAdapter$1 -> androidx.lifecycle.FullLifecycleObserverAdapter$1:
+ 34:34:void <clinit>() -> <clinit>
+androidx.lifecycle.Lifecycle -> androidx.lifecycle.Lifecycle:
+ 79:86:void <init>() -> <init>
+androidx.lifecycle.Lifecycle$1 -> androidx.lifecycle.Lifecycle$1:
+ 169:258:void <clinit>() -> <clinit>
+androidx.lifecycle.Lifecycle$Event -> androidx.lifecycle.Lifecycle$Event:
+ 128:157:void <clinit>() -> <clinit>
+ 129:129:void <init>(java.lang.String,int) -> <init>
+ 169:177:androidx.lifecycle.Lifecycle$Event downFrom(androidx.lifecycle.Lifecycle$State) -> downFrom
+ 191:199:androidx.lifecycle.Lifecycle$Event downTo(androidx.lifecycle.Lifecycle$State) -> downTo
+ 258:272:androidx.lifecycle.Lifecycle$State getTargetState() -> getTargetState
+ 213:221:androidx.lifecycle.Lifecycle$Event upFrom(androidx.lifecycle.Lifecycle$State) -> upFrom
+ 235:243:androidx.lifecycle.Lifecycle$Event upTo(androidx.lifecycle.Lifecycle$State) -> upTo
+ 128:128:androidx.lifecycle.Lifecycle$Event valueOf(java.lang.String) -> valueOf
+ 128:128:androidx.lifecycle.Lifecycle$Event[] values() -> values
+androidx.lifecycle.Lifecycle$State -> androidx.lifecycle.Lifecycle$State:
+ 280:320:void <clinit>() -> <clinit>
+ 281:281:void <init>(java.lang.String,int) -> <init>
+ 329:329:boolean isAtLeast(androidx.lifecycle.Lifecycle$State) -> isAtLeast
+ 280:280:androidx.lifecycle.Lifecycle$State valueOf(java.lang.String) -> valueOf
+ 280:280:androidx.lifecycle.Lifecycle$State[] values() -> values
+androidx.lifecycle.LifecycleRegistry -> androidx.lifecycle.LifecycleRegistry:
+ 91:92:void <init>(androidx.lifecycle.LifecycleOwner) -> <init>
+ 51:98:void <init>(androidx.lifecycle.LifecycleOwner,boolean) -> <init>
+ 172:207:void addObserver(androidx.lifecycle.LifecycleObserver) -> addObserver
+ 272:288:void backwardPass(androidx.lifecycle.LifecycleOwner) -> backwardPass
+ 162:167:androidx.lifecycle.Lifecycle$State calculateTargetState(androidx.lifecycle.LifecycleObserver) -> calculateTargetState
+ 335:335:androidx.lifecycle.LifecycleRegistry createUnsafe(androidx.lifecycle.LifecycleOwner) -> createUnsafe
+ 315:321:void enforceMainThreadIfNeeded(java.lang.String) -> enforceMainThreadIfNeeded
+ 253:269:void forwardPass(androidx.lifecycle.LifecycleOwner) -> forwardPass
+ 249:249:androidx.lifecycle.Lifecycle$State getCurrentState() -> getCurrentState
+ 242:243:int getObserverCount() -> getObserverCount
+ 133:135:void handleLifecycleEvent(androidx.lifecycle.Lifecycle$Event) -> handleLifecycleEvent
+ 153:158:boolean isSynced() -> isSynced
+ 109:111:void markState(androidx.lifecycle.Lifecycle$State) -> markState
+ 339:339:androidx.lifecycle.Lifecycle$State min(androidx.lifecycle.Lifecycle$State,androidx.lifecycle.Lifecycle$State) -> min
+ 138:150:void moveToState(androidx.lifecycle.Lifecycle$State) -> moveToState
+ 210:211:void popParentState() -> popParentState
+ 214:215:void pushParentState(androidx.lifecycle.Lifecycle$State) -> pushParentState
+ 219:233:void removeObserver(androidx.lifecycle.LifecycleObserver) -> removeObserver
+ 120:122:void setCurrentState(androidx.lifecycle.Lifecycle$State) -> setCurrentState
+ 293:311:void sync() -> sync
+androidx.lifecycle.LifecycleRegistry$ObserverWithState -> androidx.lifecycle.LifecycleRegistry$ObserverWithState:
+ 346:349:void <init>(androidx.lifecycle.LifecycleObserver,androidx.lifecycle.Lifecycle$State) -> <init>
+ 352:356:void dispatchEvent(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> dispatchEvent
+androidx.lifecycle.Lifecycling -> androidx.lifecycle.Lifecycling:
+ 42:43:void <clinit>() -> <clinit>
+ 209:210:void <init>() -> <init>
+ 105:111:androidx.lifecycle.GeneratedAdapter createGeneratedAdapter(java.lang.reflect.Constructor,java.lang.Object) -> createGeneratedAdapter
+ 118:137:java.lang.reflect.Constructor generatedConstructor(java.lang.Class) -> generatedConstructor
+ 206:206:java.lang.String getAdapterName(java.lang.String) -> getAdapterName
+ 56:57:androidx.lifecycle.GenericLifecycleObserver getCallback(java.lang.Object) -> getCallback
+ 142:148:int getObserverConstructorType(java.lang.Class) -> getObserverConstructorType
+ 199:199:boolean isLifecycleParent(java.lang.Class) -> isLifecycleParent
+ 68:98:androidx.lifecycle.LifecycleEventObserver lifecycleEventObserver(java.lang.Object) -> lifecycleEventObserver
+ 153:195:int resolveObserverCallbackType(java.lang.Class) -> resolveObserverCallbackType
+androidx.lifecycle.Lifecycling$1 -> androidx.lifecycle.Lifecycling$1:
+ 57:57:void <init>(androidx.lifecycle.LifecycleEventObserver) -> <init>
+ 61:62:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.lifecycle.LiveData -> androidx.lifecycle.LiveData:
+ 64:64:void <clinit>() -> <clinit>
+ 60:105:void <init>(java.lang.Object) -> <init>
+ 60:113:void <init>() -> <init>
+ 486:490:void assertMainThread(java.lang.String) -> assertMainThread
+ 378:398:void changeActiveCounter(int) -> changeActiveCounter
+ 117:134:void considerNotify(androidx.lifecycle.LiveData$ObserverWrapper) -> considerNotify
+ 138:159:void dispatchingValue(androidx.lifecycle.LiveData$ObserverWrapper) -> dispatchingValue
+ 322:326:java.lang.Object getValue() -> getValue
+ 330:330:int getVersion() -> getVersion
+ 373:373:boolean hasActiveObservers() -> hasActiveObservers
+ 363:363:boolean hasObservers() -> hasObservers
+ 191:206:void observe(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Observer) -> observe
+ 224:235:void observeForever(androidx.lifecycle.Observer) -> observeForever
+ 341:341:void onActive() -> onActive
+ 354:354:void onInactive() -> onInactive
+ 286:294:void postValue(java.lang.Object) -> postValue
+ 244:251:void removeObserver(androidx.lifecycle.Observer) -> removeObserver
+ 261:267:void removeObservers(androidx.lifecycle.LifecycleOwner) -> removeObservers
+ 306:310:void setValue(java.lang.Object) -> setValue
+androidx.lifecycle.LiveData$1 -> androidx.lifecycle.LiveData$1:
+ 84:84:void <init>(androidx.lifecycle.LiveData) -> <init>
+ 89:94:void run() -> run
+androidx.lifecycle.LiveData$AlwaysActiveObserver -> androidx.lifecycle.LiveData$AlwaysActiveObserver:
+ 475:477:void <init>(androidx.lifecycle.LiveData,androidx.lifecycle.Observer) -> <init>
+ 481:481:boolean shouldBeActive() -> shouldBeActive
+androidx.lifecycle.LiveData$LifecycleBoundObserver -> androidx.lifecycle.LiveData$LifecycleBoundObserver:
+ 404:407:void <init>(androidx.lifecycle.LiveData,androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Observer) -> <init>
+ 437:438:void detachObserver() -> detachObserver
+ 432:432:boolean isAttachedTo(androidx.lifecycle.LifecycleOwner) -> isAttachedTo
+ 417:428:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+ 411:411:boolean shouldBeActive() -> shouldBeActive
+androidx.lifecycle.LiveData$ObserverWrapper -> androidx.lifecycle.LiveData$ObserverWrapper:
+ 444:448:void <init>(androidx.lifecycle.LiveData,androidx.lifecycle.Observer) -> <init>
+ 460:470:void activeStateChanged(boolean) -> activeStateChanged
+ 457:457:void detachObserver() -> detachObserver
+ 453:453:boolean isAttachedTo(androidx.lifecycle.LifecycleOwner) -> isAttachedTo
+androidx.lifecycle.MediatorLiveData -> androidx.lifecycle.MediatorLiveData:
+ 69:130:void <init>() -> <init>
+ 86:98:void addSource(androidx.lifecycle.LiveData,androidx.lifecycle.Observer) -> addSource
+ 117:120:void onActive() -> onActive
+ 125:128:void onInactive() -> onInactive
+ 108:112:void removeSource(androidx.lifecycle.LiveData) -> removeSource
+androidx.lifecycle.MediatorLiveData$Source -> androidx.lifecycle.MediatorLiveData$Source:
+ 133:138:void <init>(androidx.lifecycle.LiveData,androidx.lifecycle.Observer) -> <init>
+ 150:154:void onChanged(java.lang.Object) -> onChanged
+ 141:142:void plug() -> plug
+ 145:146:void unplug() -> unplug
+androidx.lifecycle.MethodCallsLogger -> androidx.lifecycle.MethodCallsLogger:
+ 28:29:void <init>() -> <init>
+ 36:40:boolean approveCall(java.lang.String,int) -> approveCall
+androidx.lifecycle.MutableLiveData -> androidx.lifecycle.MutableLiveData:
+ 33:34:void <init>(java.lang.Object) -> <init>
+ 40:41:void <init>() -> <init>
+ 45:46:void postValue(java.lang.Object) -> postValue
+ 50:51:void setValue(java.lang.Object) -> setValue
+androidx.lifecycle.ReflectiveGenericLifecycleObserver -> androidx.lifecycle.ReflectiveGenericLifecycleObserver:
+ 30:33:void <init>(java.lang.Object) -> <init>
+ 37:38:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.lifecycle.ReportFragment -> androidx.lifecycle.ReportFragment:
+ 37:37:void <init>() -> <init>
+ 60:71:void dispatch(android.app.Activity,androidx.lifecycle.Lifecycle$Event) -> dispatch
+ 140:146:void dispatch(androidx.lifecycle.Lifecycle$Event) -> dispatch
+ 81:84:void dispatchCreate(androidx.lifecycle.ReportFragment$ActivityInitializationListener) -> dispatchCreate
+ 93:96:void dispatchResume(androidx.lifecycle.ReportFragment$ActivityInitializationListener) -> dispatchResume
+ 87:90:void dispatchStart(androidx.lifecycle.ReportFragment$ActivityInitializationListener) -> dispatchStart
+ 74:74:androidx.lifecycle.ReportFragment get(android.app.Activity) -> get
+ 42:56:void injectIfNeededIn(android.app.Activity) -> injectIfNeededIn
+ 100:103:void onActivityCreated(android.os.Bundle) -> onActivityCreated
+ 133:137:void onDestroy() -> onDestroy
+ 121:123:void onPause() -> onPause
+ 114:117:void onResume() -> onResume
+ 107:110:void onStart() -> onStart
+ 127:129:void onStop() -> onStop
+ 149:150:void setProcessListener(androidx.lifecycle.ReportFragment$ActivityInitializationListener) -> setProcessListener
+androidx.lifecycle.ReportFragment$LifecycleCallbacks -> androidx.lifecycle.ReportFragment$LifecycleCallbacks:
+ 164:164:void <init>() -> <init>
+ 173:173:void onActivityCreated(android.app.Activity,android.os.Bundle) -> onActivityCreated
+ 229:229:void onActivityDestroyed(android.app.Activity) -> onActivityDestroyed
+ 206:206:void onActivityPaused(android.app.Activity) -> onActivityPaused
+ 178:179:void onActivityPostCreated(android.app.Activity,android.os.Bundle) -> onActivityPostCreated
+ 196:197:void onActivityPostResumed(android.app.Activity) -> onActivityPostResumed
+ 187:188:void onActivityPostStarted(android.app.Activity) -> onActivityPostStarted
+ 224:225:void onActivityPreDestroyed(android.app.Activity) -> onActivityPreDestroyed
+ 201:202:void onActivityPrePaused(android.app.Activity) -> onActivityPrePaused
+ 210:211:void onActivityPreStopped(android.app.Activity) -> onActivityPreStopped
+ 192:192:void onActivityResumed(android.app.Activity) -> onActivityResumed
+ 220:220:void onActivitySaveInstanceState(android.app.Activity,android.os.Bundle) -> onActivitySaveInstanceState
+ 183:183:void onActivityStarted(android.app.Activity) -> onActivityStarted
+ 215:215:void onActivityStopped(android.app.Activity) -> onActivityStopped
+ 167:168:void registerIn(android.app.Activity) -> registerIn
+androidx.lifecycle.SavedStateHandle -> androidx.lifecycle.SavedStateHandle:
+ 376:408:void <clinit>() -> <clinit>
+ 58:99:void <init>(java.util.Map) -> <init>
+ 58:106:void <init>() -> <init>
+ 343:344:void clearSavedStateProvider(java.lang.String) -> clearSavedStateProvider
+ 146:146:boolean contains(java.lang.String) -> contains
+ 110:133:androidx.lifecycle.SavedStateHandle createHandle(android.os.Bundle,android.os.Bundle) -> createHandle
+ 240:240:java.lang.Object get(java.lang.String) -> get
+ 158:158:androidx.lifecycle.MutableLiveData getLiveData(java.lang.String) -> getLiveData
+ 192:192:androidx.lifecycle.MutableLiveData getLiveData(java.lang.String,java.lang.Object) -> getLiveData
+ 201:215:androidx.lifecycle.MutableLiveData getLiveDataInternal(java.lang.String,boolean,java.lang.Object) -> getLiveDataInternal
+ 227:230:java.util.Set keys() -> keys
+ 292:297:java.lang.Object remove(java.lang.String) -> remove
+ 138:138:androidx.savedstate.SavedStateRegistry$SavedStateProvider savedStateProvider() -> savedStateProvider
+ 251:260:void set(java.lang.String,java.lang.Object) -> set
+ 329:330:void setSavedStateProvider(java.lang.String,androidx.savedstate.SavedStateRegistry$SavedStateProvider) -> setSavedStateProvider
+ 263:271:void validateValue(java.lang.Object) -> validateValue
+androidx.lifecycle.SavedStateHandle$1 -> androidx.lifecycle.SavedStateHandle$1:
+ 64:64:void <init>(androidx.lifecycle.SavedStateHandle) -> <init>
+ 71:89:android.os.Bundle saveState() -> saveState
+androidx.lifecycle.SavedStateHandle$SavingStateLiveData -> androidx.lifecycle.SavedStateHandle$SavingStateLiveData:
+ 351:354:void <init>(androidx.lifecycle.SavedStateHandle,java.lang.String,java.lang.Object) -> <init>
+ 357:360:void <init>(androidx.lifecycle.SavedStateHandle,java.lang.String) -> <init>
+ 371:372:void detach() -> detach
+ 364:368:void setValue(java.lang.Object) -> setValue
+androidx.lifecycle.SavedStateHandleController -> androidx.lifecycle.SavedStateHandleController:
+ 32:38:void <init>(java.lang.String,androidx.lifecycle.SavedStateHandle) -> <init>
+ 98:104:void attachHandleIfNeeded(androidx.lifecycle.ViewModel,androidx.savedstate.SavedStateRegistry,androidx.lifecycle.Lifecycle) -> attachHandleIfNeeded
+ 45:51:void attachToLifecycle(androidx.savedstate.SavedStateRegistry,androidx.lifecycle.Lifecycle) -> attachToLifecycle
+ 67:72:androidx.lifecycle.SavedStateHandleController create(androidx.savedstate.SavedStateRegistry,androidx.lifecycle.Lifecycle,java.lang.String,android.os.Bundle) -> create
+ 62:62:androidx.lifecycle.SavedStateHandle getHandle() -> getHandle
+ 41:41:boolean isAttached() -> isAttached
+ 55:59:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+ 107:122:void tryToAddRecreator(androidx.savedstate.SavedStateRegistry,androidx.lifecycle.Lifecycle) -> tryToAddRecreator
+androidx.lifecycle.SavedStateHandleController$1 -> androidx.lifecycle.SavedStateHandleController$1:
+ 111:111:void <init>(androidx.lifecycle.Lifecycle,androidx.savedstate.SavedStateRegistry) -> <init>
+ 115:119:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.lifecycle.SavedStateHandleController$OnRecreation -> androidx.lifecycle.SavedStateHandleController$OnRecreation:
+ 75:75:void <init>() -> <init>
+ 79:93:void onRecreated(androidx.savedstate.SavedStateRegistryOwner) -> onRecreated
+androidx.lifecycle.SavedStateViewModelFactory -> androidx.lifecycle.SavedStateViewModelFactory:
+ 149:151:void <clinit>() -> <clinit>
+ 68:69:void <init>(android.app.Application,androidx.savedstate.SavedStateRegistryOwner) -> <init>
+ 90:98:void <init>(android.app.Application,androidx.savedstate.SavedStateRegistryOwner,android.os.Bundle) -> <init>
+ 103:132:androidx.lifecycle.ViewModel create(java.lang.String,java.lang.Class) -> create
+ 142:146:androidx.lifecycle.ViewModel create(java.lang.Class) -> create
+ 156:162:java.lang.reflect.Constructor findMatchingConstructor(java.lang.Class,java.lang.Class[]) -> findMatchingConstructor
+ 167:168:void onRequery(androidx.lifecycle.ViewModel) -> onRequery
+androidx.lifecycle.SingleGeneratedAdapterObserver -> androidx.lifecycle.SingleGeneratedAdapterObserver:
+ 25:27:void <init>(androidx.lifecycle.GeneratedAdapter) -> <init>
+ 31:33:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.lifecycle.Transformations -> androidx.lifecycle.Transformations:
+ 35:36:void <init>() -> <init>
+ 71:78:androidx.lifecycle.LiveData map(androidx.lifecycle.LiveData,androidx.arch.core.util.Function) -> map
+ 135:159:androidx.lifecycle.LiveData switchMap(androidx.lifecycle.LiveData,androidx.arch.core.util.Function) -> switchMap
+androidx.lifecycle.Transformations$1 -> androidx.lifecycle.Transformations$1:
+ 72:72:void <init>(androidx.lifecycle.MediatorLiveData,androidx.arch.core.util.Function) -> <init>
+ 75:76:void onChanged(java.lang.Object) -> onChanged
+androidx.lifecycle.Transformations$2 -> androidx.lifecycle.Transformations$2:
+ 136:136:void <init>(androidx.arch.core.util.Function,androidx.lifecycle.MediatorLiveData) -> <init>
+ 141:157:void onChanged(java.lang.Object) -> onChanged
+androidx.lifecycle.Transformations$2$1 -> androidx.lifecycle.Transformations$2$1:
+ 150:150:void <init>(androidx.lifecycle.Transformations$2) -> <init>
+ 153:154:void onChanged(java.lang.Object) -> onChanged
+androidx.lifecycle.ViewModel -> androidx.lifecycle.ViewModel:
+ 107:111:void <init>() -> <init>
+ 125:139:void clear() -> clear
+ 186:193:void closeWithRuntimeException(java.lang.Object) -> closeWithRuntimeException
+ 177:182:java.lang.Object getTag(java.lang.String) -> getTag
+ 121:121:void onCleared() -> onCleared
+ 156:169:java.lang.Object setTagIfAbsent(java.lang.String,java.lang.Object) -> setTagIfAbsent
+androidx.lifecycle.ViewModelProvider -> androidx.lifecycle.ViewModelProvider:
+ 99:102:void <init>(androidx.lifecycle.ViewModelStoreOwner) -> <init>
+ 114:115:void <init>(androidx.lifecycle.ViewModelStoreOwner,androidx.lifecycle.ViewModelProvider$Factory) -> <init>
+ 125:128:void <init>(androidx.lifecycle.ViewModelStore,androidx.lifecycle.ViewModelProvider$Factory) -> <init>
+ 146:150:androidx.lifecycle.ViewModel get(java.lang.Class) -> get
+ 171:190:androidx.lifecycle.ViewModel get(java.lang.String,java.lang.Class) -> get
+androidx.lifecycle.ViewModelProvider$AndroidViewModelFactory -> androidx.lifecycle.ViewModelProvider$AndroidViewModelFactory:
+ 257:259:void <init>(android.app.Application) -> <init>
+ 264:278:androidx.lifecycle.ViewModel create(java.lang.Class) -> create
+ 244:247:androidx.lifecycle.ViewModelProvider$AndroidViewModelFactory getInstance(android.app.Application) -> getInstance
+androidx.lifecycle.ViewModelProvider$KeyedFactory -> androidx.lifecycle.ViewModelProvider$KeyedFactory:
+ 65:65:void <init>() -> <init>
+ 81:81:androidx.lifecycle.ViewModel create(java.lang.Class) -> create
+androidx.lifecycle.ViewModelProvider$NewInstanceFactory -> androidx.lifecycle.ViewModelProvider$NewInstanceFactory:
+ 196:196:void <init>() -> <init>
+ 219:223:androidx.lifecycle.ViewModel create(java.lang.Class) -> create
+ 207:210:androidx.lifecycle.ViewModelProvider$NewInstanceFactory getInstance() -> getInstance
+androidx.lifecycle.ViewModelProvider$OnRequeryFactory -> androidx.lifecycle.ViewModelProvider$OnRequeryFactory:
+ 54:54:void <init>() -> <init>
+ 56:56:void onRequery(androidx.lifecycle.ViewModel) -> onRequery
+androidx.lifecycle.ViewModelStore -> androidx.lifecycle.ViewModelStore:
+ 38:40:void <init>() -> <init>
+ 61:65:void clear() -> clear
+ 50:50:androidx.lifecycle.ViewModel get(java.lang.String) -> get
+ 54:54:java.util.Set keys() -> keys
+ 43:47:void put(java.lang.String,androidx.lifecycle.ViewModel) -> put
+androidx.lifecycle.ViewTreeLifecycleOwner -> androidx.lifecycle.ViewTreeLifecycleOwner:
+ 31:33:void <init>() -> <init>
+ 63:71:androidx.lifecycle.LifecycleOwner get(android.view.View) -> get
+ 49:50:void set(android.view.View,androidx.lifecycle.LifecycleOwner) -> set
+androidx.lifecycle.ViewTreeViewModelStoreOwner -> androidx.lifecycle.ViewTreeViewModelStoreOwner:
+ 31:33:void <init>() -> <init>
+ 63:72:androidx.lifecycle.ViewModelStoreOwner get(android.view.View) -> get
+ 50:51:void set(android.view.View,androidx.lifecycle.ViewModelStoreOwner) -> set
+androidx.loader.app.LoaderManager -> androidx.loader.app.LoaderManager:
+ 40:44:void <init>() -> <init>
+ 235:236:void enableDebugLogging(boolean) -> enableDebugLogging
+ 128:128:androidx.loader.app.LoaderManager getInstance(androidx.lifecycle.LifecycleOwner) -> getInstance
+ 242:242:boolean hasRunningLoaders() -> hasRunningLoaders
+androidx.loader.app.LoaderManagerImpl -> androidx.loader.app.LoaderManagerImpl:
+ 42:42:void <clinit>() -> <clinit>
+ 371:374:void <init>(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.ViewModelStore) -> <init>
+ 382:400:androidx.loader.content.Loader createAndInstallLoader(int,android.os.Bundle,androidx.loader.app.LoaderManager$LoaderCallbacks,androidx.loader.content.Loader) -> createAndInstallLoader
+ 453:466:void destroyLoader(int) -> destroyLoader
+ 498:499:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 471:476:androidx.loader.content.Loader getLoader(int) -> getLoader
+ 503:503:boolean hasRunningLoaders() -> hasRunningLoaders
+ 408:424:androidx.loader.content.Loader initLoader(int,android.os.Bundle,androidx.loader.app.LoaderManager$LoaderCallbacks) -> initLoader
+ 481:482:void markForRedelivery() -> markForRedelivery
+ 433:447:androidx.loader.content.Loader restartLoader(int,android.os.Bundle,androidx.loader.app.LoaderManager$LoaderCallbacks) -> restartLoader
+ 486:492:java.lang.String toString() -> toString
+androidx.loader.app.LoaderManagerImpl$LoaderInfo -> androidx.loader.app.LoaderManagerImpl$LoaderInfo:
+ 61:67:void <init>(int,android.os.Bundle,androidx.loader.content.Loader,androidx.loader.content.Loader) -> <init>
+ 149:167:androidx.loader.content.Loader destroy(boolean) -> destroy
+ 212:224:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 71:71:androidx.loader.content.Loader getLoader() -> getLoader
+ 125:129:boolean isCallbackWaitingForData() -> isCallbackWaitingForData
+ 111:121:void markForRedelivery() -> markForRedelivery
+ 76:78:void onActive() -> onActive
+ 82:84:void onInactive() -> onInactive
+ 172:185:void onLoadComplete(androidx.loader.content.Loader,java.lang.Object) -> onLoadComplete
+ 134:138:void removeObserver(androidx.lifecycle.Observer) -> removeObserver
+ 98:107:androidx.loader.content.Loader setCallback(androidx.lifecycle.LifecycleOwner,androidx.loader.app.LoaderManager$LoaderCallbacks) -> setCallback
+ 189:195:void setValue(java.lang.Object) -> setValue
+ 199:207:java.lang.String toString() -> toString
+androidx.loader.app.LoaderManagerImpl$LoaderObserver -> androidx.loader.app.LoaderManagerImpl$LoaderObserver:
+ 237:242:void <init>(androidx.loader.content.Loader,androidx.loader.app.LoaderManager$LoaderCallbacks) -> <init>
+ 272:274:void dump(java.lang.String,java.io.PrintWriter) -> dump
+ 255:255:boolean hasDeliveredData() -> hasDeliveredData
+ 246:252:void onChanged(java.lang.Object) -> onChanged
+ 260:264:void reset() -> reset
+ 268:268:java.lang.String toString() -> toString
+androidx.loader.app.LoaderManagerImpl$LoaderViewModel -> androidx.loader.app.LoaderManagerImpl$LoaderViewModel:
+ 281:281:void <clinit>() -> <clinit>
+ 280:296:void <init>() -> <init>
+ 354:364:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 307:308:void finishCreatingLoader() -> finishCreatingLoader
+ 292:292:androidx.loader.app.LoaderManagerImpl$LoaderViewModel getInstance(androidx.lifecycle.ViewModelStore) -> getInstance
+ 316:316:androidx.loader.app.LoaderManagerImpl$LoaderInfo getLoader(int) -> getLoader
+ 324:331:boolean hasRunningLoaders() -> hasRunningLoaders
+ 303:303:boolean isCreatingLoader() -> isCreatingLoader
+ 335:340:void markForRedelivery() -> markForRedelivery
+ 344:351:void onCleared() -> onCleared
+ 311:312:void putLoader(int,androidx.loader.app.LoaderManagerImpl$LoaderInfo) -> putLoader
+ 320:321:void removeLoader(int) -> removeLoader
+ 299:300:void startCreatingLoader() -> startCreatingLoader
+androidx.loader.app.LoaderManagerImpl$LoaderViewModel$1 -> androidx.loader.app.LoaderManagerImpl$LoaderViewModel$1:
+ 281:281:void <init>() -> <init>
+ 286:286:androidx.lifecycle.ViewModel create(java.lang.Class) -> create
+androidx.loader.content.AsyncTaskLoader -> androidx.loader.content.AsyncTaskLoader:
+ 128:129:void <init>(android.content.Context) -> <init>
+ 124:134:void <init>(android.content.Context,java.util.concurrent.Executor) -> <init>
+ 322:322:void cancelLoadInBackground() -> cancelLoadInBackground
+ 233:243:void dispatchOnCancelled(androidx.loader.content.AsyncTaskLoader$LoadTask,java.lang.Object) -> dispatchOnCancelled
+ 246:261:void dispatchOnLoadComplete(androidx.loader.content.AsyncTaskLoader$LoadTask,java.lang.Object) -> dispatchOnLoadComplete
+ 356:373:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 210:230:void executePendingTask() -> executePendingTask
+ 332:332:boolean isLoadInBackgroundCanceled() -> isLoadInBackgroundCanceled
+ 162:196:boolean onCancelLoad() -> onCancelLoad
+ 207:207:void onCanceled(java.lang.Object) -> onCanceled
+ 152:157:void onForceLoad() -> onForceLoad
+ 307:307:java.lang.Object onLoadInBackground() -> onLoadInBackground
+ 144:148:void setUpdateThrottle(long) -> setUpdateThrottle
+ 347:351:void waitForLoader() -> waitForLoader
+androidx.loader.content.AsyncTaskLoader$LoadTask -> androidx.loader.content.AsyncTaskLoader$LoadTask:
+ 48:49:void <init>(androidx.loader.content.AsyncTaskLoader) -> <init>
+ 48:48:java.lang.Object doInBackground(java.lang.Object[]) -> doInBackground
+ 60:74:java.lang.Object doInBackground(java.lang.Void[]) -> doInBackground
+ 94:98:void onCancelled(java.lang.Object) -> onCancelled
+ 83:87:void onPostExecute(java.lang.Object) -> onPostExecute
+ 104:106:void run() -> run
+ 111:115:void waitForLoader() -> waitForLoader
+androidx.loader.content.CursorLoader -> androidx.loader.content.CursorLoader:
+ 123:125:void <init>(android.content.Context) -> <init>
+ 136:143:void <init>(android.content.Context,android.net.Uri,java.lang.String[],java.lang.String,java.lang.String[],java.lang.String) -> <init>
+ 86:93:void cancelLoadInBackground() -> cancelLoadInBackground
+ 41:41:void deliverResult(java.lang.Object) -> deliverResult
+ 98:115:void deliverResult(android.database.Cursor) -> deliverResult
+ 239:249:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 202:202:java.lang.String[] getProjection() -> getProjection
+ 211:211:java.lang.String getSelection() -> getSelection
+ 220:220:java.lang.String[] getSelectionArgs() -> getSelectionArgs
+ 229:229:java.lang.String getSortOrder() -> getSortOrder
+ 193:193:android.net.Uri getUri() -> getUri
+ 41:41:java.lang.Object loadInBackground() -> loadInBackground
+ 56:80:android.database.Cursor loadInBackground() -> loadInBackground
+ 41:41:void onCanceled(java.lang.Object) -> onCanceled
+ 173:176:void onCanceled(android.database.Cursor) -> onCanceled
+ 180:189:void onReset() -> onReset
+ 154:160:void onStartLoading() -> onStartLoading
+ 168:169:void onStopLoading() -> onStopLoading
+ 206:207:void setProjection(java.lang.String[]) -> setProjection
+ 215:216:void setSelection(java.lang.String) -> setSelection
+ 224:225:void setSelectionArgs(java.lang.String[]) -> setSelectionArgs
+ 233:234:void setSortOrder(java.lang.String) -> setSortOrder
+ 197:198:void setUri(android.net.Uri) -> setUri
+androidx.loader.content.Loader -> androidx.loader.content.Loader:
+ 44:120:void <init>(android.content.Context) -> <init>
+ 409:411:void abandon() -> abandon
+ 318:318:boolean cancelLoad() -> cancelLoad
+ 485:486:void commitContentChanged() -> commitContentChanged
+ 527:530:java.lang.String dataToString(java.lang.Object) -> dataToString
+ 144:147:void deliverCancellation() -> deliverCancellation
+ 131:134:void deliverResult(java.lang.Object) -> deliverResult
+ 555:566:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 347:348:void forceLoad() -> forceLoad
+ 154:154:android.content.Context getContext() -> getContext
+ 161:161:int getId() -> getId
+ 247:247:boolean isAbandoned() -> isAbandoned
+ 256:256:boolean isReset() -> isReset
+ 238:238:boolean isStarted() -> isStarted
+ 425:425:void onAbandon() -> onAbandon
+ 334:334:boolean onCancelLoad() -> onCancelLoad
+ 511:519:void onContentChanged() -> onContentChanged
+ 356:356:void onForceLoad() -> onForceLoad
+ 463:463:void onReset() -> onReset
+ 296:296:void onStartLoading() -> onStartLoading
+ 392:392:void onStopLoading() -> onStopLoading
+ 173:178:void registerListener(int,androidx.loader.content.Loader$OnLoadCompleteListener) -> registerListener
+ 207:211:void registerOnLoadCanceledListener(androidx.loader.content.Loader$OnLoadCanceledListener) -> registerOnLoadCanceledListener
+ 447:453:void reset() -> reset
+ 496:499:void rollbackContentChanged() -> rollbackContentChanged
+ 282:286:void startLoading() -> startLoading
+ 380:382:void stopLoading() -> stopLoading
+ 471:474:boolean takeContentChanged() -> takeContentChanged
+ 535:540:java.lang.String toString() -> toString
+ 187:194:void unregisterListener(androidx.loader.content.Loader$OnLoadCompleteListener) -> unregisterListener
+ 223:230:void unregisterOnLoadCanceledListener(androidx.loader.content.Loader$OnLoadCanceledListener) -> unregisterOnLoadCanceledListener
+androidx.loader.content.Loader$ForceLoadContentObserver -> androidx.loader.content.Loader$ForceLoadContentObserver:
+ 58:60:void <init>(androidx.loader.content.Loader) -> <init>
+ 64:64:boolean deliverSelfNotifications() -> deliverSelfNotifications
+ 69:70:void onChange(boolean) -> onChange
+androidx.loader.content.ModernAsyncTask -> androidx.loader.content.ModernAsyncTask:
+ 60:84:void <clinit>() -> <clinit>
+ 88:173:void <init>() -> <init>
+ 332:333:boolean cancel(boolean) -> cancel
+ 398:398:androidx.loader.content.ModernAsyncTask execute(java.lang.Object[]) -> execute
+ 462:463:void execute(java.lang.Runnable) -> execute
+ 433:454:androidx.loader.content.ModernAsyncTask executeOnExecutor(java.util.concurrent.Executor,java.lang.Object[]) -> executeOnExecutor
+ 487:493:void finish(java.lang.Object) -> finish
+ 348:348:java.lang.Object get() -> get
+ 368:368:java.lang.Object get(long,java.util.concurrent.TimeUnit) -> get
+ 115:120:android.os.Handler getHandler() -> getHandler
+ 195:195:androidx.loader.content.ModernAsyncTask$Status getStatus() -> getStatus
+ 299:299:boolean isCancelled() -> isCancelled
+ 270:271:void onCancelled(java.lang.Object) -> onCancelled
+ 286:286:void onCancelled() -> onCancelled
+ 239:239:void onPostExecute(java.lang.Object) -> onPostExecute
+ 223:223:void onPreExecute() -> onPreExecute
+ 252:252:void onProgressUpdate(java.lang.Object[]) -> onProgressUpdate
+ 183:186:java.lang.Object postResult(java.lang.Object) -> postResult
+ 176:180:void postResultIfNotInvoked(java.lang.Object) -> postResultIfNotInvoked
+ 480:484:void publishProgress(java.lang.Object[]) -> publishProgress
+ 126:127:void setDefaultExecutor(java.util.concurrent.Executor) -> setDefaultExecutor
+androidx.loader.content.ModernAsyncTask$1 -> androidx.loader.content.ModernAsyncTask$1:
+ 60:61:void <init>() -> <init>
+ 65:65:java.lang.Thread newThread(java.lang.Runnable) -> newThread
+androidx.loader.content.ModernAsyncTask$2 -> androidx.loader.content.ModernAsyncTask$2:
+ 133:133:void <init>(androidx.loader.content.ModernAsyncTask) -> <init>
+ 136:149:java.lang.Object call() -> call
+androidx.loader.content.ModernAsyncTask$3 -> androidx.loader.content.ModernAsyncTask$3:
+ 153:153:void <init>(androidx.loader.content.ModernAsyncTask,java.util.concurrent.Callable) -> <init>
+ 157:171:void done() -> done
+androidx.loader.content.ModernAsyncTask$4 -> androidx.loader.content.ModernAsyncTask$4:
+ 434:434:void <clinit>() -> <clinit>
+androidx.loader.content.ModernAsyncTask$AsyncTaskResult -> androidx.loader.content.ModernAsyncTask$AsyncTaskResult:
+ 528:531:void <init>(androidx.loader.content.ModernAsyncTask,java.lang.Object[]) -> <init>
+androidx.loader.content.ModernAsyncTask$InternalHandler -> androidx.loader.content.ModernAsyncTask$InternalHandler:
+ 497:498:void <init>() -> <init>
+ 503:513:void handleMessage(android.os.Message) -> handleMessage
+androidx.loader.content.ModernAsyncTask$Status -> androidx.loader.content.ModernAsyncTask$Status:
+ 99:111:void <clinit>() -> <clinit>
+ 99:99:void <init>(java.lang.String,int) -> <init>
+ 99:99:androidx.loader.content.ModernAsyncTask$Status valueOf(java.lang.String) -> valueOf
+ 99:99:androidx.loader.content.ModernAsyncTask$Status[] values() -> values
+androidx.loader.content.ModernAsyncTask$WorkerRunnable -> androidx.loader.content.ModernAsyncTask$WorkerRunnable:
+ 519:520:void <init>() -> <init>
+androidx.localbroadcastmanager.content.LocalBroadcastManager -> androidx.localbroadcastmanager.content.LocalBroadcastManager:
+ 100:100:void <clinit>() -> <clinit>
+ 90:128:void <init>(android.content.Context) -> <init>
+ 298:317:void executePendingBroadcasts() -> executePendingBroadcasts
+ 105:110:androidx.localbroadcastmanager.content.LocalBroadcastManager getInstance(android.content.Context) -> getInstance
+ 140:158:void registerReceiver(android.content.BroadcastReceiver,android.content.IntentFilter) -> registerReceiver
+ 213:280:boolean sendBroadcast(android.content.Intent) -> sendBroadcast
+ 289:292:void sendBroadcastSync(android.content.Intent) -> sendBroadcastSync
+ 170:196:void unregisterReceiver(android.content.BroadcastReceiver) -> unregisterReceiver
+androidx.localbroadcastmanager.content.LocalBroadcastManager$1 -> androidx.localbroadcastmanager.content.LocalBroadcastManager$1:
+ 115:115:void <init>(androidx.localbroadcastmanager.content.LocalBroadcastManager,android.os.Looper) -> <init>
+ 119:126:void handleMessage(android.os.Message) -> handleMessage
+androidx.localbroadcastmanager.content.LocalBroadcastManager$BroadcastRecord -> androidx.localbroadcastmanager.content.LocalBroadcastManager$BroadcastRecord:
+ 79:82:void <init>(android.content.Intent,java.util.ArrayList) -> <init>
+androidx.localbroadcastmanager.content.LocalBroadcastManager$ReceiverRecord -> androidx.localbroadcastmanager.content.LocalBroadcastManager$ReceiverRecord:
+ 55:58:void <init>(android.content.IntentFilter,android.content.BroadcastReceiver) -> <init>
+ 62:71:java.lang.String toString() -> toString
+androidx.print.PrintHelper -> androidx.print.PrintHelper:
+ 70:78:void <clinit>() -> <clinit>
+ 139:164:void <init>(android.content.Context) -> <init>
+ 816:831:android.graphics.Bitmap convertBitmapForColorMode(android.graphics.Bitmap,int) -> convertBitmapForColorMode
+ 558:573:android.print.PrintAttributes$Builder copyAttributes(android.print.PrintAttributes) -> copyAttributes
+ 210:210:int getColorMode() -> getColorMode
+ 589:606:android.graphics.Matrix getMatrix(int,int,android.graphics.RectF,int) -> getMatrix
+ 232:235:int getOrientation() -> getOrientation
+ 187:187:int getScaleMode() -> getScaleMode
+ 546:546:boolean isPortrait(android.graphics.Bitmap) -> isPortrait
+ 796:809:android.graphics.Bitmap loadBitmap(android.net.Uri,android.graphics.BitmapFactory$Options) -> loadBitmap
+ 746:787:android.graphics.Bitmap loadConstrainedBitmap(android.net.Uri) -> loadConstrainedBitmap
+ 246:247:void printBitmap(java.lang.String,android.graphics.Bitmap) -> printBitmap
+ 258:277:void printBitmap(java.lang.String,android.graphics.Bitmap,androidx.print.PrintHelper$OnPrintFinishCallback) -> printBitmap
+ 340:341:void printBitmap(java.lang.String,android.net.Uri) -> printBitmap
+ 356:376:void printBitmap(java.lang.String,android.net.Uri,androidx.print.PrintHelper$OnPrintFinishCallback) -> printBitmap
+ 199:200:void setColorMode(int) -> setColorMode
+ 221:222:void setOrientation(int) -> setOrientation
+ 176:177:void setScaleMode(int) -> setScaleMode
+ 154:154:boolean systemSupportsPrint() -> systemSupportsPrint
+ 626:735:void writeBitmap(android.print.PrintAttributes,int,android.graphics.Bitmap,android.os.ParcelFileDescriptor,android.os.CancellationSignal,android.print.PrintDocumentAdapter$WriteResultCallback) -> writeBitmap
+androidx.print.PrintHelper$1 -> androidx.print.PrintHelper$1:
+ 635:635:void <init>(androidx.print.PrintHelper,android.os.CancellationSignal,android.print.PrintAttributes,android.graphics.Bitmap,android.print.PrintAttributes,int,android.os.ParcelFileDescriptor,android.print.PrintDocumentAdapter$WriteResultCallback) -> <init>
+ 635:635:java.lang.Object doInBackground(java.lang.Object[]) -> doInBackground
+ 639:715:java.lang.Throwable doInBackground(java.lang.Void[]) -> doInBackground
+ 635:635:void onPostExecute(java.lang.Object) -> onPostExecute
+ 721:733:void onPostExecute(java.lang.Throwable) -> onPostExecute
+androidx.print.PrintHelper$PrintBitmapAdapter -> androidx.print.PrintHelper$PrintBitmapAdapter:
+ 288:293:void <init>(androidx.print.PrintHelper,java.lang.String,int,android.graphics.Bitmap,androidx.print.PrintHelper$OnPrintFinishCallback) -> <init>
+ 323:326:void onFinish() -> onFinish
+ 302:310:void onLayout(android.print.PrintAttributes,android.print.PrintAttributes,android.os.CancellationSignal,android.print.PrintDocumentAdapter$LayoutResultCallback,android.os.Bundle) -> onLayout
+ 317:319:void onWrite(android.print.PageRange[],android.os.ParcelFileDescriptor,android.os.CancellationSignal,android.print.PrintDocumentAdapter$WriteResultCallback) -> onWrite
+androidx.print.PrintHelper$PrintUriAdapter -> androidx.print.PrintHelper$PrintUriAdapter:
+ 389:395:void <init>(androidx.print.PrintHelper,java.lang.String,android.net.Uri,androidx.print.PrintHelper$OnPrintFinishCallback,int) -> <init>
+ 502:511:void cancelLoad() -> cancelLoad
+ 515:527:void onFinish() -> onFinish
+ 404:498:void onLayout(android.print.PrintAttributes,android.print.PrintAttributes,android.os.CancellationSignal,android.print.PrintDocumentAdapter$LayoutResultCallback,android.os.Bundle) -> onLayout
+ 533:535:void onWrite(android.print.PageRange[],android.os.ParcelFileDescriptor,android.os.CancellationSignal,android.print.PrintDocumentAdapter$WriteResultCallback) -> onWrite
+androidx.print.PrintHelper$PrintUriAdapter$1 -> androidx.print.PrintHelper$PrintUriAdapter$1:
+ 424:424:void <init>(androidx.print.PrintHelper$PrintUriAdapter,android.os.CancellationSignal,android.print.PrintAttributes,android.print.PrintAttributes,android.print.PrintDocumentAdapter$LayoutResultCallback) -> <init>
+ 424:424:java.lang.Object doInBackground(java.lang.Object[]) -> doInBackground
+ 441:445:android.graphics.Bitmap doInBackground(android.net.Uri[]) -> doInBackground
+ 424:424:void onCancelled(java.lang.Object) -> onCancelled
+ 494:496:void onCancelled(android.graphics.Bitmap) -> onCancelled
+ 424:424:void onPostExecute(java.lang.Object) -> onPostExecute
+ 450:489:void onPostExecute(android.graphics.Bitmap) -> onPostExecute
+ 428:436:void onPreExecute() -> onPreExecute
+androidx.print.PrintHelper$PrintUriAdapter$1$1 -> androidx.print.PrintHelper$PrintUriAdapter$1$1:
+ 429:429:void <init>(androidx.print.PrintHelper$PrintUriAdapter$1) -> <init>
+ 432:434:void onCancel() -> onCancel
+androidx.recyclerview.widget.AdapterHelper -> androidx.recyclerview.widget.AdapterHelper:
+ 72:73:void <init>(androidx.recyclerview.widget.AdapterHelper$Callback) -> <init>
+ 55:79:void <init>(androidx.recyclerview.widget.AdapterHelper$Callback,boolean) -> <init>
+ 82:83:androidx.recyclerview.widget.AdapterHelper addUpdateOp(androidx.recyclerview.widget.AdapterHelper$UpdateOp[]) -> addUpdateOp
+ 432:433:void applyAdd(androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> applyAdd
+ 130:131:void applyMove(androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> applyMove
+ 588:620:int applyPendingUpdatesToPosition(int) -> applyPendingUpdatesToPosition
+ 134:185:void applyRemove(androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> applyRemove
+ 188:225:void applyUpdate(androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> applyUpdate
+ 411:428:boolean canFindInPreLayout(int) -> canFindInPreLayout
+ 119:125:void consumePostponedUpdates() -> consumePostponedUpdates
+ 557:585:void consumeUpdatesInOnePass() -> consumeUpdatesInOnePass
+ 231:312:void dispatchAndUpdateViewHolders(androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> dispatchAndUpdateViewHolders
+ 315:327:void dispatchFirstPassAndUpdateViewHolders(androidx.recyclerview.widget.AdapterHelper$UpdateOp,int) -> dispatchFirstPassAndUpdateViewHolders
+ 468:468:int findPositionOffset(int) -> findPositionOffset
+ 472:497:int findPositionOffset(int,int) -> findPositionOffset
+ 464:464:boolean hasAnyUpdateTypes(int) -> hasAnyUpdateTypes
+ 460:460:boolean hasPendingUpdates() -> hasPendingUpdates
+ 624:624:boolean hasUpdates() -> hasUpdates
+ 727:736:androidx.recyclerview.widget.AdapterHelper$UpdateOp obtainUpdateOp(int,int,int,java.lang.Object) -> obtainUpdateOp
+ 504:509:boolean onItemRangeChanged(int,int,java.lang.Object) -> onItemRangeChanged
+ 516:521:boolean onItemRangeInserted(int,int) -> onItemRangeInserted
+ 540:548:boolean onItemRangeMoved(int,int,int) -> onItemRangeMoved
+ 528:533:boolean onItemRangeRemoved(int,int) -> onItemRangeRemoved
+ 439:457:void postponeAndUpdateViewHolders(androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> postponeAndUpdateViewHolders
+ 93:116:void preProcess() -> preProcess
+ 741:745:void recycleUpdateOp(androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> recycleUpdateOp
+ 748:753:void recycleUpdateOpsAndClearList(java.util.List) -> recycleUpdateOpsAndClearList
+ 87:90:void reset() -> reset
+ 330:407:int updatePositionWithPostponed(int,int) -> updatePositionWithPostponed
+androidx.recyclerview.widget.AdapterHelper$UpdateOp -> androidx.recyclerview.widget.AdapterHelper$UpdateOp:
+ 651:656:void <init>(int,int,int,java.lang.Object) -> <init>
+ 659:669:java.lang.String cmdToString() -> cmdToString
+ 681:713:boolean equals(java.lang.Object) -> equals
+ 718:721:int hashCode() -> hashCode
+ 674:675:java.lang.String toString() -> toString
+androidx.recyclerview.widget.AdapterListUpdateCallback -> androidx.recyclerview.widget.AdapterListUpdateCallback:
+ 35:37:void <init>(androidx.recyclerview.widget.RecyclerView$Adapter) -> <init>
+ 60:61:void onChanged(int,int,java.lang.Object) -> onChanged
+ 42:43:void onInserted(int,int) -> onInserted
+ 54:55:void onMoved(int,int) -> onMoved
+ 48:49:void onRemoved(int,int) -> onRemoved
+androidx.recyclerview.widget.AsyncDifferConfig -> androidx.recyclerview.widget.AsyncDifferConfig:
+ 47:51:void <init>(java.util.concurrent.Executor,java.util.concurrent.Executor,androidx.recyclerview.widget.DiffUtil$ItemCallback) -> <init>
+ 64:64:java.util.concurrent.Executor getBackgroundThreadExecutor() -> getBackgroundThreadExecutor
+ 70:70:androidx.recyclerview.widget.DiffUtil$ItemCallback getDiffCallback() -> getDiffCallback
+ 58:58:java.util.concurrent.Executor getMainThreadExecutor() -> getMainThreadExecutor
+androidx.recyclerview.widget.AsyncDifferConfig$Builder -> androidx.recyclerview.widget.AsyncDifferConfig$Builder:
+ 144:145:void <clinit>() -> <clinit>
+ 84:86:void <init>(androidx.recyclerview.widget.DiffUtil$ItemCallback) -> <init>
+ 129:137:androidx.recyclerview.widget.AsyncDifferConfig build() -> build
+ 118:119:androidx.recyclerview.widget.AsyncDifferConfig$Builder setBackgroundThreadExecutor(java.util.concurrent.Executor) -> setBackgroundThreadExecutor
+ 102:103:androidx.recyclerview.widget.AsyncDifferConfig$Builder setMainThreadExecutor(java.util.concurrent.Executor) -> setMainThreadExecutor
+androidx.recyclerview.widget.AsyncListDiffer -> androidx.recyclerview.widget.AsyncListDiffer:
+ 131:131:void <clinit>() -> <clinit>
+ 162:164:void <init>(androidx.recyclerview.widget.RecyclerView$Adapter,androidx.recyclerview.widget.DiffUtil$ItemCallback) -> <init>
+ 148:197:void <init>(androidx.recyclerview.widget.ListUpdateCallback,androidx.recyclerview.widget.AsyncDifferConfig) -> <init>
+ 392:393:void addListListener(androidx.recyclerview.widget.AsyncListDiffer$ListListener) -> addListListener
+ 216:216:java.util.List getCurrentList() -> getCurrentList
+ 364:370:void latchList(java.util.List,androidx.recyclerview.widget.DiffUtil$DiffResult,java.lang.Runnable) -> latchList
+ 375:381:void onCurrentListChanged(java.util.List,java.lang.Runnable) -> onCurrentListChanged
+ 403:404:void removeListListener(androidx.recyclerview.widget.AsyncListDiffer$ListListener) -> removeListListener
+ 231:232:void submitList(java.util.List) -> submitList
+ 254:357:void submitList(java.util.List,java.lang.Runnable) -> submitList
+androidx.recyclerview.widget.AsyncListDiffer$1 -> androidx.recyclerview.widget.AsyncListDiffer$1:
+ 289:289:void <init>(androidx.recyclerview.widget.AsyncListDiffer,java.util.List,java.util.List,int,java.lang.Runnable) -> <init>
+ 292:355:void run() -> run
+androidx.recyclerview.widget.AsyncListDiffer$1$1 -> androidx.recyclerview.widget.AsyncListDiffer$1$1:
+ 292:292:void <init>(androidx.recyclerview.widget.AsyncListDiffer$1) -> <init>
+ 316:328:boolean areContentsTheSame(int,int) -> areContentsTheSame
+ 305:311:boolean areItemsTheSame(int,int) -> areItemsTheSame
+ 334:343:java.lang.Object getChangePayload(int,int) -> getChangePayload
+ 300:300:int getNewListSize() -> getNewListSize
+ 295:295:int getOldListSize() -> getOldListSize
+androidx.recyclerview.widget.AsyncListDiffer$1$2 -> androidx.recyclerview.widget.AsyncListDiffer$1$2:
+ 347:347:void <init>(androidx.recyclerview.widget.AsyncListDiffer$1,androidx.recyclerview.widget.DiffUtil$DiffResult) -> <init>
+ 350:353:void run() -> run
+androidx.recyclerview.widget.AsyncListDiffer$MainThreadExecutor -> androidx.recyclerview.widget.AsyncListDiffer$MainThreadExecutor:
+ 122:123:void <init>() -> <init>
+ 126:127:void execute(java.lang.Runnable) -> execute
+androidx.recyclerview.widget.AsyncListUtil -> androidx.recyclerview.widget.AsyncListUtil:
+ 64:293:void <init>(java.lang.Class,int,androidx.recyclerview.widget.AsyncListUtil$DataCallback,androidx.recyclerview.widget.AsyncListUtil$ViewCallback) -> <init>
+ 155:162:java.lang.Object getItem(int) -> getItem
+ 175:175:int getItemCount() -> getItemCount
+ 107:107:boolean isRefreshPending() -> isRefreshPending
+ 79:80:void log(java.lang.String,java.lang.Object[]) -> log
+ 119:124:void onRangeChanged() -> onRangeChanged
+ 133:135:void refresh() -> refresh
+ 179:209:void updateRange() -> updateRange
+androidx.recyclerview.widget.AsyncListUtil$1 -> androidx.recyclerview.widget.AsyncListUtil$1:
+ 212:212:void <init>(androidx.recyclerview.widget.AsyncListUtil) -> <init>
+ 233:260:void addTile(int,androidx.recyclerview.widget.TileList$Tile) -> addTile
+ 289:289:boolean isRequestedGeneration(int) -> isRequestedGeneration
+ 282:286:void recycleAllTiles() -> recycleAllTiles
+ 264:276:void removeTile(int,int) -> removeTile
+ 218:229:void updateItemCount(int,int) -> updateItemCount
+androidx.recyclerview.widget.AsyncListUtil$2 -> androidx.recyclerview.widget.AsyncListUtil$2:
+ 294:298:void <init>(androidx.recyclerview.widget.AsyncListUtil) -> <init>
+ 392:397:androidx.recyclerview.widget.TileList$Tile acquireTile() -> acquireTile
+ 405:410:void addTile(androidx.recyclerview.widget.TileList$Tile) -> addTile
+ 421:438:void flushTileCache(int) -> flushTileCache
+ 350:350:int getTileStart(int) -> getTileStart
+ 401:401:boolean isTileLoaded(int) -> isTileLoaded
+ 366:378:void loadTile(int,int) -> loadTile
+ 441:442:void log(java.lang.String,java.lang.Object[]) -> log
+ 385:389:void recycleTile(androidx.recyclerview.widget.TileList$Tile) -> recycleTile
+ 308:312:void refresh(int) -> refresh
+ 413:418:void removeTile(int) -> removeTile
+ 355:362:void requestTiles(int,int,int,boolean) -> requestTiles
+ 322:347:void updateRange(int,int,int,int,int) -> updateRange
+androidx.recyclerview.widget.AsyncListUtil$DataCallback -> androidx.recyclerview.widget.AsyncListUtil$DataCallback:
+ 451:451:void <init>() -> <init>
+ 511:511:int getMaxCachedTiles() -> getMaxCachedTiles
+ 489:489:void recycleData(java.lang.Object[],int) -> recycleData
+androidx.recyclerview.widget.AsyncListUtil$ViewCallback -> androidx.recyclerview.widget.AsyncListUtil$ViewCallback:
+ 521:521:void <init>() -> <init>
+ 577:581:void extendRangeInto(int[],int[],int) -> extendRangeInto
+androidx.recyclerview.widget.BatchingListUpdateCallback -> androidx.recyclerview.widget.BatchingListUpdateCallback:
+ 41:48:void <init>(androidx.recyclerview.widget.ListUpdateCallback) -> <init>
+ 56:72:void dispatchLastEvent() -> dispatchLastEvent
+ 110:124:void onChanged(int,int,java.lang.Object) -> onChanged
+ 76:86:void onInserted(int,int) -> onInserted
+ 104:106:void onMoved(int,int) -> onMoved
+ 90:100:void onRemoved(int,int) -> onRemoved
+androidx.recyclerview.widget.ChildHelper -> androidx.recyclerview.widget.ChildHelper:
+ 48:52:void <init>(androidx.recyclerview.widget.ChildHelper$Callback) -> <init>
+ 85:86:void addView(android.view.View,boolean) -> addView
+ 98:111:void addView(android.view.View,int,boolean) -> addView
+ 230:244:void attachViewToParent(android.view.View,int,android.view.ViewGroup$LayoutParams,boolean) -> attachViewToParent
+ 282:288:void detachViewFromParent(int) -> detachViewFromParent
+ 206:216:android.view.View findHiddenNonRemovedView(int) -> findHiddenNonRemovedView
+ 180:181:android.view.View getChildAt(int) -> getChildAt
+ 253:253:int getChildCount() -> getChildCount
+ 114:131:int getOffset(int) -> getOffset
+ 273:273:android.view.View getUnfilteredChildAt(int) -> getUnfilteredChildAt
+ 263:263:int getUnfilteredChildCount() -> getUnfilteredChildCount
+ 328:340:void hide(android.view.View) -> hide
+ 60:62:void hideViewInternal(android.view.View) -> hideViewInternal
+ 297:309:int indexOfChild(android.view.View) -> indexOfChild
+ 319:319:boolean isHidden(android.view.View) -> isHidden
+ 188:197:void removeAllViewsUnfiltered() -> removeAllViewsUnfiltered
+ 140:151:void removeView(android.view.View) -> removeView
+ 160:172:void removeViewAt(int) -> removeViewAt
+ 373:389:boolean removeViewIfHidden(android.view.View) -> removeViewIfHidden
+ 363:363:java.lang.String toString() -> toString
+ 350:359:void unhide(android.view.View) -> unhide
+ 70:74:boolean unhideViewInternal(android.view.View) -> unhideViewInternal
+androidx.recyclerview.widget.ChildHelper$Bucket -> androidx.recyclerview.widget.ChildHelper$Bucket:
+ 395:401:void <init>() -> <init>
+ 421:429:void clear(int) -> clear
+ 493:502:int countOnesBefore(int) -> countOnesBefore
+ 415:418:void ensureNext() -> ensureNext
+ 432:436:boolean get(int) -> get
+ 448:467:void insert(int,boolean) -> insert
+ 470:488:boolean remove(int) -> remove
+ 441:445:void reset() -> reset
+ 406:412:void set(int) -> set
+ 508:509:java.lang.String toString() -> toString
+androidx.recyclerview.widget.DefaultItemAnimator -> androidx.recyclerview.widget.DefaultItemAnimator:
+ 38:55:void <init>() -> <init>
+ 222:225:boolean animateAdd(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> animateAdd
+ 229:252:void animateAddImpl(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> animateAddImpl
+ 321:344:boolean animateChange(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ViewHolder,int,int,int,int) -> animateChange
+ 348:397:void animateChangeImpl(androidx.recyclerview.widget.DefaultItemAnimator$ChangeInfo) -> animateChangeImpl
+ 257:274:boolean animateMove(androidx.recyclerview.widget.RecyclerView$ViewHolder,int,int,int,int) -> animateMove
+ 278:316:void animateMoveImpl(androidx.recyclerview.widget.RecyclerView$ViewHolder,int,int,int,int) -> animateMoveImpl
+ 193:195:boolean animateRemove(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> animateRemove
+ 199:218:void animateRemoveImpl(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> animateRemoveImpl
+ 665:665:boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,java.util.List) -> canReuseUpdatedViewHolder
+ 641:644:void cancelAll(java.util.List) -> cancelAll
+ 550:553:void dispatchFinishedWhenDone() -> dispatchFinishedWhenDone
+ 437:519:void endAnimation(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> endAnimation
+ 557:638:void endAnimations() -> endAnimations
+ 400:408:void endChangeAnimation(java.util.List,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> endChangeAnimation
+ 411:417:void endChangeAnimationIfNecessary(androidx.recyclerview.widget.DefaultItemAnimator$ChangeInfo) -> endChangeAnimationIfNecessary
+ 419:432:boolean endChangeAnimationIfNecessary(androidx.recyclerview.widget.DefaultItemAnimator$ChangeInfo,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> endChangeAnimationIfNecessary
+ 531:541:boolean isRunning() -> isRunning
+ 522:527:void resetAnimation(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> resetAnimation
+ 102:189:void runPendingAnimations() -> runPendingAnimations
+androidx.recyclerview.widget.DefaultItemAnimator$1 -> androidx.recyclerview.widget.DefaultItemAnimator$1:
+ 121:121:void <init>(androidx.recyclerview.widget.DefaultItemAnimator,java.util.ArrayList) -> <init>
+ 124:130:void run() -> run
+androidx.recyclerview.widget.DefaultItemAnimator$2 -> androidx.recyclerview.widget.DefaultItemAnimator$2:
+ 145:145:void <init>(androidx.recyclerview.widget.DefaultItemAnimator,java.util.ArrayList) -> <init>
+ 148:153:void run() -> run
+androidx.recyclerview.widget.DefaultItemAnimator$3 -> androidx.recyclerview.widget.DefaultItemAnimator$3:
+ 168:168:void <init>(androidx.recyclerview.widget.DefaultItemAnimator,java.util.ArrayList) -> <init>
+ 171:176:void run() -> run
+androidx.recyclerview.widget.DefaultItemAnimator$4 -> androidx.recyclerview.widget.DefaultItemAnimator$4:
+ 203:203:void <init>(androidx.recyclerview.widget.DefaultItemAnimator,androidx.recyclerview.widget.RecyclerView$ViewHolder,android.view.ViewPropertyAnimator,android.view.View) -> <init>
+ 211:216:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 206:207:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+androidx.recyclerview.widget.DefaultItemAnimator$5 -> androidx.recyclerview.widget.DefaultItemAnimator$5:
+ 233:233:void <init>(androidx.recyclerview.widget.DefaultItemAnimator,androidx.recyclerview.widget.RecyclerView$ViewHolder,android.view.View,android.view.ViewPropertyAnimator) -> <init>
+ 241:242:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 246:250:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 236:237:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+androidx.recyclerview.widget.DefaultItemAnimator$6 -> androidx.recyclerview.widget.DefaultItemAnimator$6:
+ 292:292:void <init>(androidx.recyclerview.widget.DefaultItemAnimator,androidx.recyclerview.widget.RecyclerView$ViewHolder,int,android.view.View,int,android.view.ViewPropertyAnimator) -> <init>
+ 300:306:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 310:314:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 295:296:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+androidx.recyclerview.widget.DefaultItemAnimator$7 -> androidx.recyclerview.widget.DefaultItemAnimator$7:
+ 358:358:void <init>(androidx.recyclerview.widget.DefaultItemAnimator,androidx.recyclerview.widget.DefaultItemAnimator$ChangeInfo,android.view.ViewPropertyAnimator,android.view.View) -> <init>
+ 366:373:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 361:362:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+androidx.recyclerview.widget.DefaultItemAnimator$8 -> androidx.recyclerview.widget.DefaultItemAnimator$8:
+ 380:380:void <init>(androidx.recyclerview.widget.DefaultItemAnimator,androidx.recyclerview.widget.DefaultItemAnimator$ChangeInfo,android.view.ViewPropertyAnimator,android.view.View) -> <init>
+ 387:394:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 383:384:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+androidx.recyclerview.widget.DefaultItemAnimator$ChangeInfo -> androidx.recyclerview.widget.DefaultItemAnimator$ChangeInfo:
+ 73:76:void <init>(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> <init>
+ 80:85:void <init>(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ViewHolder,int,int,int,int) -> <init>
+ 89:89:java.lang.String toString() -> toString
+androidx.recyclerview.widget.DefaultItemAnimator$MoveInfo -> androidx.recyclerview.widget.DefaultItemAnimator$MoveInfo:
+ 61:67:void <init>(androidx.recyclerview.widget.RecyclerView$ViewHolder,int,int,int,int) -> <init>
+androidx.recyclerview.widget.DiffUtil -> androidx.recyclerview.widget.DiffUtil:
+ 84:84:void <clinit>() -> <clinit>
+ 80:82:void <init>() -> <init>
+ 105:105:androidx.recyclerview.widget.DiffUtil$DiffResult calculateDiff(androidx.recyclerview.widget.DiffUtil$Callback) -> calculateDiff
+ 123:198:androidx.recyclerview.widget.DiffUtil$DiffResult calculateDiff(androidx.recyclerview.widget.DiffUtil$Callback,boolean) -> calculateDiff
+ 204:287:androidx.recyclerview.widget.DiffUtil$Snake diffPartial(androidx.recyclerview.widget.DiffUtil$Callback,int,int,int,int,int[],int[],int) -> diffPartial
+androidx.recyclerview.widget.DiffUtil$1 -> androidx.recyclerview.widget.DiffUtil$1:
+ 84:84:void <init>() -> <init>
+ 84:84:int compare(java.lang.Object,java.lang.Object) -> compare
+ 87:88:int compare(androidx.recyclerview.widget.DiffUtil$Snake,androidx.recyclerview.widget.DiffUtil$Snake) -> compare
+androidx.recyclerview.widget.DiffUtil$Callback -> androidx.recyclerview.widget.DiffUtil$Callback:
+ 295:295:void <init>() -> <init>
+ 360:360:java.lang.Object getChangePayload(int,int) -> getChangePayload
+androidx.recyclerview.widget.DiffUtil$DiffResult -> androidx.recyclerview.widget.DiffUtil$DiffResult:
+ 567:579:void <init>(androidx.recyclerview.widget.DiffUtil$Callback,java.util.List,int[],int[],boolean) -> <init>
+ 586:596:void addRootSnake() -> addRootSnake
+ 695:703:int convertNewPositionToOld(int) -> convertNewPositionToOld
+ 671:679:int convertOldPositionToNew(int) -> convertOldPositionToNew
+ 873:909:void dispatchAdditions(java.util.List,androidx.recyclerview.widget.ListUpdateCallback,int,int,int) -> dispatchAdditions
+ 913:950:void dispatchRemovals(java.util.List,androidx.recyclerview.widget.ListUpdateCallback,int,int,int) -> dispatchRemovals
+ 802:803:void dispatchUpdatesTo(androidx.recyclerview.widget.RecyclerView$Adapter) -> dispatchUpdatesTo
+ 816:853:void dispatchUpdatesTo(androidx.recyclerview.widget.ListUpdateCallback) -> dispatchUpdatesTo
+ 646:650:void findAddition(int,int,int) -> findAddition
+ 723:766:boolean findMatchingItem(int,int,int,boolean) -> findMatchingItem
+ 610:643:void findMatchingItems() -> findMatchingItems
+ 653:657:void findRemoval(int,int,int) -> findRemoval
+ 954:954:java.util.List getSnakes() -> getSnakes
+ 857:868:androidx.recyclerview.widget.DiffUtil$PostponedUpdate removePostponedUpdate(java.util.List,int,boolean) -> removePostponedUpdate
+androidx.recyclerview.widget.DiffUtil$ItemCallback -> androidx.recyclerview.widget.DiffUtil$ItemCallback:
+ 373:373:void <init>() -> <init>
+ 434:434:java.lang.Object getChangePayload(java.lang.Object,java.lang.Object) -> getChangePayload
+androidx.recyclerview.widget.DiffUtil$PostponedUpdate -> androidx.recyclerview.widget.DiffUtil$PostponedUpdate:
+ 973:977:void <init>(int,int,boolean) -> <init>
+androidx.recyclerview.widget.DiffUtil$Range -> androidx.recyclerview.widget.DiffUtil$Range:
+ 482:483:void <init>() -> <init>
+ 485:490:void <init>(int,int,int,int) -> <init>
+androidx.recyclerview.widget.DiffUtil$Snake -> androidx.recyclerview.widget.DiffUtil$Snake:
+ 442:442:void <init>() -> <init>
+androidx.recyclerview.widget.DividerItemDecoration -> androidx.recyclerview.widget.DividerItemDecoration:
+ 48:48:void <clinit>() -> <clinit>
+ 57:75:void <init>(android.content.Context,int) -> <init>
+ 151:175:void drawHorizontal(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView) -> drawHorizontal
+ 124:148:void drawVertical(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView) -> drawVertical
+ 108:108:android.graphics.drawable.Drawable getDrawable() -> getDrawable
+ 180:189:void getItemOffsets(android.graphics.Rect,android.view.View,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> getItemOffsets
+ 113:121:void onDraw(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDraw
+ 97:101:void setDrawable(android.graphics.drawable.Drawable) -> setDrawable
+ 84:89:void setOrientation(int) -> setOrientation
+androidx.recyclerview.widget.FastScroller -> androidx.recyclerview.widget.FastScroller:
+ 74:75:void <clinit>() -> <clinit>
+ 104:161:void <init>(androidx.recyclerview.widget.RecyclerView,android.graphics.drawable.StateListDrawable,android.graphics.drawable.Drawable,android.graphics.drawable.StateListDrawable,android.graphics.drawable.Drawable,int,int,int) -> <init>
+ 164:174:void attachToRecyclerView(androidx.recyclerview.widget.RecyclerView) -> attachToRecyclerView
+ 258:259:void cancelHide() -> cancelHide
+ 183:187:void destroyCallbacks() -> destroyCallbacks
+ 316:329:void drawHorizontalScrollbar(android.graphics.Canvas) -> drawHorizontalScrollbar
+ 291:313:void drawVerticalScrollbar(android.graphics.Canvas) -> drawVerticalScrollbar
+ 542:544:int[] getHorizontalRange() -> getHorizontalRange
+ 516:516:android.graphics.drawable.Drawable getHorizontalThumbDrawable() -> getHorizontalThumbDrawable
+ 511:511:android.graphics.drawable.Drawable getHorizontalTrackDrawable() -> getHorizontalTrackDrawable
+ 533:535:int[] getVerticalRange() -> getVerticalRange
+ 526:526:android.graphics.drawable.Drawable getVerticalThumbDrawable() -> getVerticalThumbDrawable
+ 521:521:android.graphics.drawable.Drawable getVerticalTrackDrawable() -> getVerticalTrackDrawable
+ 244:255:void hide(int) -> hide
+ 461:475:void horizontalScrollTo(float) -> horizontalScrollTo
+ 220:220:boolean isDragging() -> isDragging
+ 216:216:boolean isLayoutRTL() -> isLayoutRTL
+ 504:504:boolean isPointInsideHorizontalThumb(float,float) -> isPointInsideHorizontalThumb
+ 496:496:boolean isPointInsideVerticalThumb(float,float) -> isPointInsideVerticalThumb
+ 224:224:boolean isVisible() -> isVisible
+ 268:288:void onDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDrawOver
+ 381:404:boolean onInterceptTouchEvent(androidx.recyclerview.widget.RecyclerView,android.view.MotionEvent) -> onInterceptTouchEvent
+ 443:443:void onRequestDisallowInterceptTouchEvent(boolean) -> onRequestDisallowInterceptTouchEvent
+ 409:440:void onTouchEvent(androidx.recyclerview.widget.RecyclerView,android.view.MotionEvent) -> onTouchEvent
+ 191:192:void requestRedraw() -> requestRedraw
+ 262:264:void resetHideDelay(int) -> resetHideDelay
+ 479:490:int scrollTo(float,float,int[],int,int,int) -> scrollTo
+ 195:213:void setState(int) -> setState
+ 177:180:void setupCallbacks() -> setupCallbacks
+ 228:240:void show() -> show
+ 339:375:void updateScrollPosition(int,int) -> updateScrollPosition
+ 446:458:void verticalScrollTo(float) -> verticalScrollTo
+androidx.recyclerview.widget.FastScroller$1 -> androidx.recyclerview.widget.FastScroller$1:
+ 123:123:void <init>(androidx.recyclerview.widget.FastScroller) -> <init>
+ 126:127:void run() -> run
+androidx.recyclerview.widget.FastScroller$2 -> androidx.recyclerview.widget.FastScroller$2:
+ 130:130:void <init>(androidx.recyclerview.widget.FastScroller) -> <init>
+ 133:135:void onScrolled(androidx.recyclerview.widget.RecyclerView,int,int) -> onScrolled
+androidx.recyclerview.widget.FastScroller$AnimatorListener -> androidx.recyclerview.widget.FastScroller$AnimatorListener:
+ 549:552:void <init>(androidx.recyclerview.widget.FastScroller) -> <init>
+ 572:573:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 557:568:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.recyclerview.widget.FastScroller$AnimatorUpdater -> androidx.recyclerview.widget.FastScroller$AnimatorUpdater:
+ 577:578:void <init>(androidx.recyclerview.widget.FastScroller) -> <init>
+ 582:586:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+androidx.recyclerview.widget.GapWorker -> androidx.recyclerview.widget.GapWorker:
+ 32:190:void <clinit>() -> <clinit>
+ 30:59:void <init>() -> <init>
+ 163:164:void add(androidx.recyclerview.widget.RecyclerView) -> add
+ 217:262:void buildTaskList() -> buildTaskList
+ 344:353:void flushTaskWithDeadline(androidx.recyclerview.widget.GapWorker$Task,long) -> flushTaskWithDeadline
+ 356:364:void flushTasksWithDeadline(long) -> flushTasksWithDeadline
+ 265:274:boolean isPrefetchPositionAttached(androidx.recyclerview.widget.RecyclerView,int) -> isPrefetchPositionAttached
+ 177:188:void postFromTraversal(androidx.recyclerview.widget.RecyclerView,int,int) -> postFromTraversal
+ 367:369:void prefetch(long) -> prefetch
+ 312:341:void prefetchInnerRecyclerViewWithDeadline(androidx.recyclerview.widget.RecyclerView,long) -> prefetchInnerRecyclerViewWithDeadline
+ 279:307:androidx.recyclerview.widget.RecyclerView$ViewHolder prefetchPositionWithDeadline(androidx.recyclerview.widget.RecyclerView,int,long) -> prefetchPositionWithDeadline
+ 167:171:void remove(androidx.recyclerview.widget.RecyclerView) -> remove
+ 374:406:void run() -> run
+androidx.recyclerview.widget.GapWorker$1 -> androidx.recyclerview.widget.GapWorker$1:
+ 190:190:void <init>() -> <init>
+ 190:190:int compare(java.lang.Object,java.lang.Object) -> compare
+ 194:211:int compare(androidx.recyclerview.widget.GapWorker$Task,androidx.recyclerview.widget.GapWorker$Task) -> compare
+androidx.recyclerview.widget.GapWorker$LayoutPrefetchRegistryImpl -> androidx.recyclerview.widget.GapWorker$LayoutPrefetchRegistryImpl:
+ 65:65:void <init>() -> <init>
+ 112:136:void addPosition(int,int) -> addPosition
+ 152:156:void clearPrefetchPositions() -> clearPrefetchPositions
+ 79:108:void collectPrefetchPositionsFromView(androidx.recyclerview.widget.RecyclerView,boolean) -> collectPrefetchPositionsFromView
+ 139:145:boolean lastPrefetchIncludedPosition(int) -> lastPrefetchIncludedPosition
+ 74:76:void setPrefetchVector(int,int) -> setPrefetchVector
+androidx.recyclerview.widget.GapWorker$Task -> androidx.recyclerview.widget.GapWorker$Task:
+ 38:38:void <init>() -> <init>
+ 46:51:void clear() -> clear
+androidx.recyclerview.widget.GridLayoutManager -> androidx.recyclerview.widget.GridLayoutManager:
+ 44:76:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 44:87:void <init>(android.content.Context,int) -> <init>
+ 44:100:void <init>(android.content.Context,int,int,boolean) -> <init>
+ 775:792:void assignSpans(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,int,boolean) -> assignSpans
+ 189:196:void cachePreLayoutSpanMapping() -> cachePreLayoutSpanMapping
+ 314:315:void calculateItemBorders(int) -> calculateItemBorders
+ 325:344:int[] calculateItemBorders(int[],int,int) -> calculateItemBorders
+ 256:256:boolean checkLayoutParams(androidx.recyclerview.widget.RecyclerView$LayoutParams) -> checkLayoutParams
+ 184:186:void clearPreLayoutSpanMappingCache() -> clearPreLayoutSpanMappingCache
+ 515:525:void collectPrefetchPositionsForLayoutState(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.LinearLayoutManager$LayoutState,androidx.recyclerview.widget.RecyclerView$LayoutManager$LayoutPrefetchRegistry) -> collectPrefetchPositionsForLayoutState
+ 1213:1216:int computeHorizontalScrollOffset(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollOffset
+ 1195:1198:int computeHorizontalScrollRange(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollRange
+ 1304:1342:int computeScrollOffsetWithSpanInfo(androidx.recyclerview.widget.RecyclerView$State) -> computeScrollOffsetWithSpanInfo
+ 1271:1300:int computeScrollRangeWithSpanInfo(androidx.recyclerview.widget.RecyclerView$State) -> computeScrollRangeWithSpanInfo
+ 1222:1225:int computeVerticalScrollOffset(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollOffset
+ 1204:1207:int computeVerticalScrollRange(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollRange
+ 391:416:void ensureAnchorIsInCorrectSpan(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.LinearLayoutManager$AnchorInfo,int) -> ensureAnchorIsInCorrectSpan
+ 368:371:void ensureViewSet() -> ensureViewSet
+ 421:450:android.view.View findReferenceChild(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,int,int,int) -> findReferenceChild
+ 231:235:androidx.recyclerview.widget.RecyclerView$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 242:242:androidx.recyclerview.widget.RecyclerView$LayoutParams generateLayoutParams(android.content.Context,android.util.AttributeSet) -> generateLayoutParams
+ 247:250:androidx.recyclerview.widget.RecyclerView$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 133:141:int getColumnCountForAccessibility(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> getColumnCountForAccessibility
+ 119:127:int getRowCountForAccessibility(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> getRowCountForAccessibility
+ 348:352:int getSpaceForSpanRange(int,int) -> getSpaceForSpanRange
+ 801:801:int getSpanCount() -> getSpanCount
+ 455:467:int getSpanGroupIndex(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,int) -> getSpanGroupIndex
+ 471:488:int getSpanIndex(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,int) -> getSpanIndex
+ 492:509:int getSpanSize(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,int) -> getSpanSize
+ 275:275:androidx.recyclerview.widget.GridLayoutManager$SpanSizeLookup getSpanSizeLookup() -> getSpanSizeLookup
+ 750:753:void guessMeasurement(float,int) -> guessMeasurement
+ 1267:1267:boolean isUsingSpansToEstimateScrollbarDimensions() -> isUsingSpansToEstimateScrollbarDimensions
+ 530:704:void layoutChunk(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.LinearLayoutManager$LayoutState,androidx.recyclerview.widget.LinearLayoutManager$LayoutChunkResult) -> layoutChunk
+ 716:737:void measureChild(android.view.View,int,boolean) -> measureChild
+ 757:767:void measureChildWithDecorationsAndMargin(android.view.View,int,int,boolean) -> measureChildWithDecorationsAndMargin
+ 359:365:void onAnchorReady(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.LinearLayoutManager$AnchorInfo,int) -> onAnchorReady
+ 1068:1185:android.view.View onFocusSearchFailed(android.view.View,int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> onFocusSearchFailed
+ 147:163:void onInitializeAccessibilityNodeInfoForItem(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfoForItem
+ 200:202:void onItemsAdded(androidx.recyclerview.widget.RecyclerView,int,int) -> onItemsAdded
+ 206:208:void onItemsChanged(androidx.recyclerview.widget.RecyclerView) -> onItemsChanged
+ 225:227:void onItemsMoved(androidx.recyclerview.widget.RecyclerView,int,int,int) -> onItemsMoved
+ 212:214:void onItemsRemoved(androidx.recyclerview.widget.RecyclerView,int,int) -> onItemsRemoved
+ 219:221:void onItemsUpdated(androidx.recyclerview.widget.RecyclerView,int,int,java.lang.Object) -> onItemsUpdated
+ 167:175:void onLayoutChildren(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> onLayoutChildren
+ 179:181:void onLayoutCompleted(androidx.recyclerview.widget.RecyclerView$State) -> onLayoutCompleted
+ 376:378:int scrollHorizontallyBy(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> scrollHorizontallyBy
+ 384:386:int scrollVerticallyBy(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> scrollVerticallyBy
+ 290:308:void setMeasuredDimension(android.graphics.Rect,int,int) -> setMeasuredDimension
+ 814:825:void setSpanCount(int) -> setSpanCount
+ 266:267:void setSpanSizeLookup(androidx.recyclerview.widget.GridLayoutManager$SpanSizeLookup) -> setSpanSizeLookup
+ 108:114:void setStackFromEnd(boolean) -> setStackFromEnd
+ 1255:1256:void setUsingSpansToEstimateScrollbarDimensions(boolean) -> setUsingSpansToEstimateScrollbarDimensions
+ 1190:1190:boolean supportsPredictiveItemAnimations() -> supportsPredictiveItemAnimations
+ 280:286:void updateMeasurements() -> updateMeasurements
+androidx.recyclerview.widget.GridLayoutManager$DefaultSpanSizeLookup -> androidx.recyclerview.widget.GridLayoutManager$DefaultSpanSizeLookup:
+ 1348:1348:void <init>() -> <init>
+ 1357:1357:int getSpanIndex(int,int) -> getSpanIndex
+ 1352:1352:int getSpanSize(int) -> getSpanSize
+androidx.recyclerview.widget.GridLayoutManager$LayoutParams -> androidx.recyclerview.widget.GridLayoutManager$LayoutParams:
+ 1375:1381:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1375:1385:void <init>(int,int) -> <init>
+ 1375:1389:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+ 1375:1393:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 1375:1397:void <init>(androidx.recyclerview.widget.RecyclerView$LayoutParams) -> <init>
+ 1414:1414:int getSpanIndex() -> getSpanIndex
+ 1424:1424:int getSpanSize() -> getSpanSize
+androidx.recyclerview.widget.GridLayoutManager$SpanSizeLookup -> androidx.recyclerview.widget.GridLayoutManager$SpanSizeLookup:
+ 834:840:void <init>() -> <init>
+ 997:1015:int findFirstKeyLessThan(android.util.SparseIntArray,int) -> findFirstKeyLessThan
+ 930:939:int getCachedSpanGroupIndex(int,int) -> getCachedSpanGroupIndex
+ 917:926:int getCachedSpanIndex(int,int) -> getCachedSpanIndex
+ 1029:1061:int getSpanGroupIndex(int,int) -> getSpanGroupIndex
+ 966:993:int getSpanIndex(int,int) -> getSpanIndex
+ 895:896:void invalidateSpanGroupIndexCache() -> invalidateSpanGroupIndexCache
+ 887:888:void invalidateSpanIndexCache() -> invalidateSpanIndexCache
+ 913:913:boolean isSpanGroupIndexCacheEnabled() -> isSpanGroupIndexCacheEnabled
+ 904:904:boolean isSpanIndexCacheEnabled() -> isSpanIndexCacheEnabled
+ 876:880:void setSpanGroupIndexCacheEnabled(boolean) -> setSpanGroupIndexCacheEnabled
+ 859:863:void setSpanIndexCacheEnabled(boolean) -> setSpanIndexCacheEnabled
+androidx.recyclerview.widget.ItemTouchHelper -> androidx.recyclerview.widget.ItemTouchHelper:
+ 167:448:void <init>(androidx.recyclerview.widget.ItemTouchHelper$Callback) -> <init>
+ 1290:1291:void addChildDrawingOrderCallback() -> addChildDrawingOrderCallback
+ 467:482:void attachToRecyclerView(androidx.recyclerview.widget.RecyclerView) -> attachToRecyclerView
+ 1237:1260:int checkHorizontalSwipe(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> checkHorizontalSwipe
+ 980:1034:void checkSelectForSwipe(int,android.view.MotionEvent,int) -> checkSelectForSwipe
+ 1264:1286:int checkVerticalSwipe(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> checkVerticalSwipe
+ 494:508:void destroyCallbacks() -> destroyCallbacks
+ 914:926:void endRecoverAnimation(androidx.recyclerview.widget.RecyclerView$ViewHolder,boolean) -> endRecoverAnimation
+ 1155:1165:androidx.recyclerview.widget.ItemTouchHelper$RecoverAnimation findAnimation(android.view.MotionEvent) -> findAnimation
+ 1039:1054:android.view.View findChildView(android.view.MotionEvent) -> findChildView
+ 800:845:java.util.List findSwapTargets(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> findSwapTargets
+ 950:972:androidx.recyclerview.widget.RecyclerView$ViewHolder findSwipedView(android.view.MotionEvent) -> findSwipedView
+ 931:932:void getItemOffsets(android.graphics.Rect,android.view.View,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> getItemOffsets
+ 527:537:void getSelectedDxDy(float[]) -> getSelectedDxDy
+ 723:729:boolean hasRunningRecoverAnim() -> hasRunningRecoverAnim
+ 451:454:boolean hitTest(android.view.View,float,float,float,float) -> hitTest
+ 853:886:void moveIfNecessary(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> moveIfNecessary
+ 936:940:void obtainVelocityTracker() -> obtainVelocityTracker
+ 890:890:void onChildViewAttachedToWindow(android.view.View) -> onChildViewAttachedToWindow
+ 894:907:void onChildViewDetachedFromWindow(android.view.View) -> onChildViewDetachedFromWindow
+ 554:563:void onDraw(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDraw
+ 541:549:void onDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDrawOver
+ 700:719:void postDispatchSwipe(androidx.recyclerview.widget.ItemTouchHelper$RecoverAnimation,int) -> postDispatchSwipe
+ 943:947:void releaseVelocityTracker() -> releaseVelocityTracker
+ 1317:1324:void removeChildDrawingOrderCallbackIfNecessary(android.view.View) -> removeChildDrawingOrderCallbackIfNecessary
+ 737:796:boolean scrollIfNecessary() -> scrollIfNecessary
+ 574:695:void select(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> select
+ 485:491:void setupCallbacks() -> setupCallbacks
+ 1092:1104:void startDrag(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> startDrag
+ 511:514:void startGestureDetection() -> startGestureDetection
+ 1139:1151:void startSwipe(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> startSwipe
+ 517:524:void stopGestureDetection() -> stopGestureDetection
+ 1191:1233:int swipeIfNecessary(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> swipeIfNecessary
+ 1170:1188:void updateDxDy(android.view.MotionEvent,int,int) -> updateDxDy
+androidx.recyclerview.widget.ItemTouchHelper$1 -> androidx.recyclerview.widget.ItemTouchHelper$1:
+ 257:257:void <init>(androidx.recyclerview.widget.ItemTouchHelper) -> <init>
+ 260:267:void run() -> run
+androidx.recyclerview.widget.ItemTouchHelper$2 -> androidx.recyclerview.widget.ItemTouchHelper$2:
+ 313:313:void <init>(androidx.recyclerview.widget.ItemTouchHelper) -> <init>
+ 317:357:boolean onInterceptTouchEvent(androidx.recyclerview.widget.RecyclerView,android.view.MotionEvent) -> onInterceptTouchEvent
+ 420:424:void onRequestDisallowInterceptTouchEvent(boolean) -> onRequestDisallowInterceptTouchEvent
+ 362:416:void onTouchEvent(androidx.recyclerview.widget.RecyclerView,android.view.MotionEvent) -> onTouchEvent
+androidx.recyclerview.widget.ItemTouchHelper$3 -> androidx.recyclerview.widget.ItemTouchHelper$3:
+ 635:635:void <init>(androidx.recyclerview.widget.ItemTouchHelper,androidx.recyclerview.widget.RecyclerView$ViewHolder,int,int,float,float,float,float,int,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> <init>
+ 638:660:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.recyclerview.widget.ItemTouchHelper$4 -> androidx.recyclerview.widget.ItemTouchHelper$4:
+ 700:700:void <init>(androidx.recyclerview.widget.ItemTouchHelper,androidx.recyclerview.widget.ItemTouchHelper$RecoverAnimation,int) -> <init>
+ 703:717:void run() -> run
+androidx.recyclerview.widget.ItemTouchHelper$5 -> androidx.recyclerview.widget.ItemTouchHelper$5:
+ 1294:1294:void <init>(androidx.recyclerview.widget.ItemTouchHelper) -> <init>
+ 1297:1308:int onGetChildDrawingOrder(int,int) -> onGetChildDrawingOrder
+androidx.recyclerview.widget.ItemTouchHelper$Callback -> androidx.recyclerview.widget.ItemTouchHelper$Callback:
+ 1401:1408:void <clinit>() -> <clinit>
+ 1385:1421:void <init>() -> <init>
+ 1626:1626:boolean canDropOver(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> canDropOver
+ 1802:1853:androidx.recyclerview.widget.RecyclerView$ViewHolder chooseDropTarget(androidx.recyclerview.widget.RecyclerView$ViewHolder,java.util.List,int,int) -> chooseDropTarget
+ 2038:2039:void clearView(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> clearView
+ 1573:1588:int convertToAbsoluteDirection(int,int) -> convertToAbsoluteDirection
+ 1482:1497:int convertToRelativeDirection(int,int) -> convertToRelativeDirection
+ 1593:1594:int getAbsoluteMovementFlags(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getAbsoluteMovementFlags
+ 2132:2138:long getAnimationDuration(androidx.recyclerview.widget.RecyclerView,int,float,float) -> getAnimationDuration
+ 1690:1690:int getBoundingBoxMargin() -> getBoundingBoxMargin
+ 1466:1466:androidx.recyclerview.widget.ItemTouchUIUtil getDefaultUIUtil() -> getDefaultUIUtil
+ 1901:1905:int getMaxDragScroll(androidx.recyclerview.widget.RecyclerView) -> getMaxDragScroll
+ 1720:1720:float getMoveThreshold(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getMoveThreshold
+ 1746:1746:float getSwipeEscapeVelocity(float) -> getSwipeEscapeVelocity
+ 1706:1706:float getSwipeThreshold(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getSwipeThreshold
+ 1770:1770:float getSwipeVelocityThreshold(float) -> getSwipeVelocityThreshold
+ 1598:1599:boolean hasDragFlag(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> hasDragFlag
+ 1604:1605:boolean hasSwipeFlag(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> hasSwipeFlag
+ 2166:2184:int interpolateOutOfBoundsScroll(androidx.recyclerview.widget.RecyclerView,int,int,int,long) -> interpolateOutOfBoundsScroll
+ 1678:1678:boolean isItemViewSwipeEnabled() -> isItemViewSwipeEnabled
+ 1663:1663:boolean isLongPressDragEnabled() -> isLongPressDragEnabled
+ 1529:1529:int makeFlag(int,int) -> makeFlag
+ 1512:1514:int makeMovementFlags(int,int) -> makeMovementFlags
+ 2071:2073:void onChildDraw(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder,float,float,int,boolean) -> onChildDraw
+ 2105:2107:void onChildDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder,float,float,int,boolean) -> onChildDrawOver
+ 1978:1992:void onDraw(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder,java.util.List,int,float,float) -> onDraw
+ 1997:2022:void onDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder,java.util.List,int,float,float) -> onDrawOver
+ 1944:1973:void onMoved(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder,int,androidx.recyclerview.widget.RecyclerView$ViewHolder,int,int,int) -> onMoved
+ 1895:1898:void onSelectedChanged(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> onSelectedChanged
+androidx.recyclerview.widget.ItemTouchHelper$Callback$1 -> androidx.recyclerview.widget.ItemTouchHelper$Callback$1:
+ 1401:1401:void <init>() -> <init>
+ 1404:1404:float getInterpolation(float) -> getInterpolation
+androidx.recyclerview.widget.ItemTouchHelper$Callback$2 -> androidx.recyclerview.widget.ItemTouchHelper$Callback$2:
+ 1408:1408:void <init>() -> <init>
+ 1411:1412:float getInterpolation(float) -> getInterpolation
+androidx.recyclerview.widget.ItemTouchHelper$ItemTouchHelperGestureListener -> androidx.recyclerview.widget.ItemTouchHelper$ItemTouchHelperGestureListener:
+ 2314:2317:void <init>(androidx.recyclerview.widget.ItemTouchHelper) -> <init>
+ 2324:2325:void doNotReactToLongPress() -> doNotReactToLongPress
+ 2329:2329:boolean onDown(android.view.MotionEvent) -> onDown
+ 2334:2365:void onLongPress(android.view.MotionEvent) -> onLongPress
+androidx.recyclerview.widget.ItemTouchHelper$RecoverAnimation -> androidx.recyclerview.widget.ItemTouchHelper$RecoverAnimation:
+ 2394:2420:void <init>(androidx.recyclerview.widget.RecyclerView$ViewHolder,int,int,float,float,float,float) -> <init>
+ 2432:2433:void cancel() -> cancel
+ 2471:2472:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 2463:2467:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 2477:2477:void onAnimationRepeat(android.animation.Animator) -> onAnimationRepeat
+ 2459:2459:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+ 2423:2424:void setDuration(long) -> setDuration
+ 2436:2437:void setFraction(float) -> setFraction
+ 2427:2429:void start() -> start
+ 2444:2454:void update() -> update
+androidx.recyclerview.widget.ItemTouchHelper$RecoverAnimation$1 -> androidx.recyclerview.widget.ItemTouchHelper$RecoverAnimation$1:
+ 2411:2411:void <init>(androidx.recyclerview.widget.ItemTouchHelper$RecoverAnimation) -> <init>
+ 2414:2415:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+androidx.recyclerview.widget.ItemTouchHelper$SimpleCallback -> androidx.recyclerview.widget.ItemTouchHelper$SimpleCallback:
+ 2233:2236:void <init>(int,int) -> <init>
+ 2287:2287:int getDragDirs(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getDragDirs
+ 2293:2294:int getMovementFlags(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getMovementFlags
+ 2272:2272:int getSwipeDirs(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getSwipeDirs
+ 2257:2258:void setDefaultDragDirs(int) -> setDefaultDragDirs
+ 2246:2247:void setDefaultSwipeDirs(int) -> setDefaultSwipeDirs
+androidx.recyclerview.widget.ItemTouchUIUtilImpl -> androidx.recyclerview.widget.ItemTouchUIUtilImpl:
+ 31:31:void <clinit>() -> <clinit>
+ 30:30:void <init>() -> <init>
+ 75:85:void clearView(android.view.View) -> clearView
+ 53:65:float findMaxElevation(androidx.recyclerview.widget.RecyclerView,android.view.View) -> findMaxElevation
+ 36:50:void onDraw(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,android.view.View,float,float,int,boolean) -> onDraw
+ 71:71:void onDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,android.view.View,float,float,int,boolean) -> onDrawOver
+ 89:89:void onSelected(android.view.View) -> onSelected
+androidx.recyclerview.widget.LayoutState -> androidx.recyclerview.widget.LayoutState:
+ 25:72:void <init>() -> <init>
+ 88:88:boolean hasMore(androidx.recyclerview.widget.RecyclerView$State) -> hasMore
+ 98:100:android.view.View next(androidx.recyclerview.widget.RecyclerView$Recycler) -> next
+ 105:105:java.lang.String toString() -> toString
+androidx.recyclerview.widget.LinearLayoutManager -> androidx.recyclerview.widget.LinearLayoutManager:
+ 159:160:void <init>(android.content.Context) -> <init>
+ 67:172:void <init>(android.content.Context,int,boolean) -> <init>
+ 67:188:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 1409:1412:void assertNotInLayoutOrScroll(java.lang.String) -> assertNotInLayoutOrScroll
+ 482:497:void calculateExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView$State,int[]) -> calculateExtraLayoutSpace
+ 295:295:boolean canScrollHorizontally() -> canScrollHorizontally
+ 303:303:boolean canScrollVertically() -> canScrollVertically
+ 1368:1379:void collectAdjacentPrefetchPositions(int,int,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.RecyclerView$LayoutManager$LayoutPrefetchRegistry) -> collectAdjacentPrefetchPositions
+ 1288:1314:void collectInitialPrefetchPositions(int,androidx.recyclerview.widget.RecyclerView$LayoutManager$LayoutPrefetchRegistry) -> collectInitialPrefetchPositions
+ 1277:1281:void collectPrefetchPositionsForLayoutState(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.LinearLayoutManager$LayoutState,androidx.recyclerview.widget.RecyclerView$LayoutManager$LayoutPrefetchRegistry) -> collectPrefetchPositionsForLayoutState
+ 1143:1143:int computeHorizontalScrollExtent(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollExtent
+ 1133:1133:int computeHorizontalScrollOffset(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollOffset
+ 1153:1153:int computeHorizontalScrollRange(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollRange
+ 1173:1179:int computeScrollExtent(androidx.recyclerview.widget.RecyclerView$State) -> computeScrollExtent
+ 1162:1168:int computeScrollOffset(androidx.recyclerview.widget.RecyclerView$State) -> computeScrollOffset
+ 1184:1190:int computeScrollRange(androidx.recyclerview.widget.RecyclerView$State) -> computeScrollRange
+ 510:518:android.graphics.PointF computeScrollVectorForPosition(int) -> computeScrollVectorForPosition
+ 1148:1148:int computeVerticalScrollExtent(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollExtent
+ 1138:1138:int computeVerticalScrollOffset(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollOffset
+ 1158:1158:int computeVerticalScrollRange(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollRange
+ 1716:1749:int convertFocusDirectionToLayoutDirection(int) -> convertFocusDirectionToLayoutDirection
+ 1051:1051:androidx.recyclerview.widget.LinearLayoutManager$LayoutState createLayoutState() -> createLayoutState
+ 1040:1043:void ensureLayoutState() -> ensureLayoutState
+ 1572:1622:int fill(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.LinearLayoutManager$LayoutState,androidx.recyclerview.widget.RecyclerView$State,boolean) -> fill
+ 1940:1941:int findFirstCompletelyVisibleItemPosition() -> findFirstCompletelyVisibleItemPosition
+ 1897:1897:android.view.View findFirstPartiallyOrCompletelyInvisibleChild() -> findFirstPartiallyOrCompletelyInvisibleChild
+ 1845:1845:android.view.View findFirstReferenceChild(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> findFirstReferenceChild
+ 1801:1805:android.view.View findFirstVisibleChildClosestToEnd(boolean,boolean) -> findFirstVisibleChildClosestToEnd
+ 1783:1787:android.view.View findFirstVisibleChildClosestToStart(boolean,boolean) -> findFirstVisibleChildClosestToStart
+ 1923:1924:int findFirstVisibleItemPosition() -> findFirstVisibleItemPosition
+ 1980:1981:int findLastCompletelyVisibleItemPosition() -> findLastCompletelyVisibleItemPosition
+ 1901:1901:android.view.View findLastPartiallyOrCompletelyInvisibleChild() -> findLastPartiallyOrCompletelyInvisibleChild
+ 1849:1849:android.view.View findLastReferenceChild(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> findLastReferenceChild
+ 1963:1964:int findLastVisibleItemPosition() -> findLastVisibleItemPosition
+ 2012:2034:android.view.View findOnePartiallyOrCompletelyInvisibleChild(int,int) -> findOnePartiallyOrCompletelyInvisibleChild
+ 1990:2007:android.view.View findOneVisibleChild(int,int,boolean,boolean) -> findOneVisibleChild
+ 1885:1886:android.view.View findPartiallyOrCompletelyInvisibleChildClosestToEnd() -> findPartiallyOrCompletelyInvisibleChildClosestToEnd
+ 1892:1893:android.view.View findPartiallyOrCompletelyInvisibleChildClosestToStart() -> findPartiallyOrCompletelyInvisibleChildClosestToStart
+ 1855:1879:android.view.View findReferenceChild(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,int,int,int) -> findReferenceChild
+ 1823:1824:android.view.View findReferenceChildClosestToEnd(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> findReferenceChildClosestToEnd
+ 1840:1841:android.view.View findReferenceChildClosestToStart(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> findReferenceChildClosestToStart
+ 407:420:android.view.View findViewByPosition(int) -> findViewByPosition
+ 961:978:int fixLayoutEndGap(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,boolean) -> fixLayoutEndGap
+ 986:1003:int fixLayoutStartGap(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,boolean) -> fixLayoutStartGap
+ 200:200:androidx.recyclerview.widget.RecyclerView$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 1771:1771:android.view.View getChildClosestToEnd() -> getChildClosestToEnd
+ 1761:1761:android.view.View getChildClosestToStart() -> getChildClosestToStart
+ 447:450:int getExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView$State) -> getExtraLayoutSpace
+ 1362:1362:int getInitialPrefetchItemCount() -> getInitialPrefetchItemCount
+ 330:330:int getOrientation() -> getOrientation
+ 212:212:boolean getRecycleChildrenOnDetach() -> getRecycleChildrenOnDetach
+ 376:376:boolean getReverseLayout() -> getReverseLayout
+ 319:319:boolean getStackFromEnd() -> getStackFromEnd
+ 192:192:boolean isAutoMeasureEnabled() -> isAutoMeasureEnabled
+ 1036:1036:boolean isLayoutRTL() -> isLayoutRTL
+ 1223:1223:boolean isSmoothScrollbarEnabled() -> isSmoothScrollbarEnabled
+ 1627:1696:void layoutChunk(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.LinearLayoutManager$LayoutState,androidx.recyclerview.widget.LinearLayoutManager$LayoutChunkResult) -> layoutChunk
+ 755:802:void layoutForPredictiveAnimations(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,int,int) -> layoutForPredictiveAnimations
+ 2089:2096:void logChildren() -> logChildren
+ 743:743:void onAnchorReady(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.LinearLayoutManager$AnchorInfo,int) -> onAnchorReady
+ 234:239:void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$Recycler) -> onDetachedFromWindow
+ 2041:2081:android.view.View onFocusSearchFailed(android.view.View,int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> onFocusSearchFailed
+ 243:248:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 537:721:void onLayoutChildren(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> onLayoutChildren
+ 725:730:void onLayoutCompleted(androidx.recyclerview.widget.RecyclerView$State) -> onLayoutCompleted
+ 279:288:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 252:274:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 2160:2187:void prepareForDrop(android.view.View,android.view.View,int,int) -> prepareForDrop
+ 1546:1556:void recycleByLayoutState(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.LinearLayoutManager$LayoutState) -> recycleByLayoutState
+ 1421:1436:void recycleChildren(androidx.recyclerview.widget.RecyclerView$Recycler,int,int) -> recycleChildren
+ 1502:1532:void recycleViewsFromEnd(androidx.recyclerview.widget.RecyclerView$Recycler,int,int) -> recycleViewsFromEnd
+ 1453:1484:void recycleViewsFromStart(androidx.recyclerview.widget.RecyclerView$Recycler,int,int) -> recycleViewsFromStart
+ 1271:1272:boolean resolveIsInfinite() -> resolveIsInfinite
+ 362:367:void resolveShouldLayoutReverse() -> resolveShouldLayoutReverse
+ 1382:1404:int scrollBy(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> scrollBy
+ 1113:1116:int scrollHorizontallyBy(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> scrollHorizontallyBy
+ 1070:1076:void scrollToPosition(int) -> scrollToPosition
+ 1098:1104:void scrollToPositionWithOffset(int,int) -> scrollToPositionWithOffset
+ 1125:1128:int scrollVerticallyBy(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> scrollVerticallyBy
+ 1346:1347:void setInitialPrefetchItemCount(int) -> setInitialPrefetchItemCount
+ 340:353:void setOrientation(int) -> setOrientation
+ 229:230:void setRecycleChildrenOnDetach(boolean) -> setRecycleChildrenOnDetach
+ 394:400:void setReverseLayout(boolean) -> setReverseLayout
+ 1212:1213:void setSmoothScrollbarEnabled(boolean) -> setSmoothScrollbarEnabled
+ 310:316:void setStackFromEnd(boolean) -> setStackFromEnd
+ 1700:1702:boolean shouldMeasureTwice() -> shouldMeasureTwice
+ 502:506:void smoothScrollToPosition(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State,int) -> smoothScrollToPosition
+ 2150:2150:boolean supportsPredictiveItemAnimations() -> supportsPredictiveItemAnimations
+ 834:867:boolean updateAnchorFromChildren(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.LinearLayoutManager$AnchorInfo) -> updateAnchorFromChildren
+ 875:953:boolean updateAnchorFromPendingData(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.LinearLayoutManager$AnchorInfo) -> updateAnchorFromPendingData
+ 806:824:void updateAnchorInfoForLayout(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.LinearLayoutManager$AnchorInfo) -> updateAnchorInfoForLayout
+ 1229:1268:void updateLayoutState(int,int,boolean,androidx.recyclerview.widget.RecyclerView$State) -> updateLayoutState
+ 1007:1008:void updateLayoutStateToFillEnd(androidx.recyclerview.widget.LinearLayoutManager$AnchorInfo) -> updateLayoutStateToFillEnd
+ 1011:1018:void updateLayoutStateToFillEnd(int,int) -> updateLayoutStateToFillEnd
+ 1021:1022:void updateLayoutStateToFillStart(androidx.recyclerview.widget.LinearLayoutManager$AnchorInfo) -> updateLayoutStateToFillStart
+ 1025:1033:void updateLayoutStateToFillStart(int,int) -> updateLayoutStateToFillStart
+ 2109:2146:void validateChildOrder() -> validateChildOrder
+androidx.recyclerview.widget.LinearLayoutManager$AnchorInfo -> androidx.recyclerview.widget.LinearLayoutManager$AnchorInfo:
+ 2453:2455:void <init>() -> <init>
+ 2469:2472:void assignCoordinateFromPadding() -> assignCoordinateFromPadding
+ 2538:2546:void assignFromView(android.view.View,int) -> assignFromView
+ 2491:2535:void assignFromViewAndKeepVisibleRect(android.view.View,int) -> assignFromViewAndKeepVisibleRect
+ 2485:2487:boolean isViewValidAsAnchor(android.view.View,androidx.recyclerview.widget.RecyclerView$State) -> isViewValidAsAnchor
+ 2458:2462:void reset() -> reset
+ 2476:2476:java.lang.String toString() -> toString
+androidx.recyclerview.widget.LinearLayoutManager$LayoutChunkResult -> androidx.recyclerview.widget.LinearLayoutManager$LayoutChunkResult:
+ 2549:2549:void <init>() -> <init>
+ 2556:2560:void resetInternal() -> resetInternal
+androidx.recyclerview.widget.LinearLayoutManager$LayoutState -> androidx.recyclerview.widget.LinearLayoutManager$LayoutState:
+ 2193:2279:void <init>() -> <init>
+ 2332:2333:void assignPositionFromScrapList() -> assignPositionFromScrapList
+ 2336:2343:void assignPositionFromScrapList(android.view.View) -> assignPositionFromScrapList
+ 2290:2290:boolean hasMore(androidx.recyclerview.widget.RecyclerView$State) -> hasMore
+ 2375:2377:void log() -> log
+ 2300:2305:android.view.View next(androidx.recyclerview.widget.RecyclerView$Recycler) -> next
+ 2316:2328:android.view.View nextViewFromScrapList() -> nextViewFromScrapList
+ 2346:2371:android.view.View nextViewInLimitedList(android.view.View) -> nextViewInLimitedList
+androidx.recyclerview.widget.LinearLayoutManager$SavedState -> androidx.recyclerview.widget.LinearLayoutManager$SavedState:
+ 2429:2429:void <clinit>() -> <clinit>
+ 2393:2395:void <init>() -> <init>
+ 2397:2401:void <init>(android.os.Parcel) -> <init>
+ 2403:2407:void <init>(androidx.recyclerview.widget.LinearLayoutManager$SavedState) -> <init>
+ 2419:2419:int describeContents() -> describeContents
+ 2410:2410:boolean hasValidAnchor() -> hasValidAnchor
+ 2414:2415:void invalidateAnchor() -> invalidateAnchor
+ 2424:2427:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.recyclerview.widget.LinearLayoutManager$SavedState$1 -> androidx.recyclerview.widget.LinearLayoutManager$SavedState$1:
+ 2430:2430:void <init>() -> <init>
+ 2430:2430:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 2433:2433:androidx.recyclerview.widget.LinearLayoutManager$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 2430:2430:java.lang.Object[] newArray(int) -> newArray
+ 2438:2438:androidx.recyclerview.widget.LinearLayoutManager$SavedState[] newArray(int) -> newArray
+androidx.recyclerview.widget.LinearSmoothScroller -> androidx.recyclerview.widget.LinearSmoothScroller:
+ 79:95:void <init>(android.content.Context) -> <init>
+ 280:299:int calculateDtToFit(int,int,int,int,int) -> calculateDtToFit
+ 339:349:int calculateDxToMakeVisible(android.view.View,int) -> calculateDxToMakeVisible
+ 314:324:int calculateDyToMakeVisible(android.view.View,int) -> calculateDyToMakeVisible
+ 166:166:float calculateSpeedPerPixel(android.util.DisplayMetrics) -> calculateSpeedPerPixel
+ 191:191:int calculateTimeForDeceleration(int) -> calculateTimeForDeceleration
+ 205:205:int calculateTimeForScrolling(int) -> calculateTimeForScrolling
+ 266:271:int clampApplyScroll(int,int) -> clampApplyScroll
+ 218:218:int getHorizontalSnapPreference() -> getHorizontalSnapPreference
+ 170:174:float getSpeedPerPixel() -> getSpeedPerPixel
+ 232:232:int getVerticalSnapPreference() -> getVerticalSnapPreference
+ 127:144:void onSeekTargetStep(int,int,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.RecyclerView$SmoothScroller$Action) -> onSeekTargetStep
+ 103:103:void onStart() -> onStart
+ 151:153:void onStop() -> onStop
+ 110:117:void onTargetFound(android.view.View,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.RecyclerView$SmoothScroller$Action) -> onTargetFound
+ 244:263:void updateActionForInterimTarget(androidx.recyclerview.widget.RecyclerView$SmoothScroller$Action) -> updateActionForInterimTarget
+androidx.recyclerview.widget.LinearSnapHelper -> androidx.recyclerview.widget.LinearSnapHelper:
+ 33:33:void <init>() -> <init>
+ 46:60:int[] calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView$LayoutManager,android.view.View) -> calculateDistanceToFinalSnap
+ 223:258:float computeDistancePerChild(androidx.recyclerview.widget.RecyclerView$LayoutManager,androidx.recyclerview.widget.OrientationHelper) -> computeDistancePerChild
+ 143:146:int distanceToCenter(androidx.recyclerview.widget.RecyclerView$LayoutManager,android.view.View,androidx.recyclerview.widget.OrientationHelper) -> distanceToCenter
+ 162:169:int estimateNextPositionDiffForFling(androidx.recyclerview.widget.RecyclerView$LayoutManager,androidx.recyclerview.widget.OrientationHelper,int,int) -> estimateNextPositionDiffForFling
+ 184:205:android.view.View findCenterView(androidx.recyclerview.widget.RecyclerView$LayoutManager,androidx.recyclerview.widget.OrientationHelper) -> findCenterView
+ 133:138:android.view.View findSnapView(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> findSnapView
+ 66:128:int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView$LayoutManager,int,int) -> findTargetSnapPosition
+ 272:275:androidx.recyclerview.widget.OrientationHelper getHorizontalHelper(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> getHorizontalHelper
+ 263:266:androidx.recyclerview.widget.OrientationHelper getVerticalHelper(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> getVerticalHelper
+androidx.recyclerview.widget.ListAdapter -> androidx.recyclerview.widget.ListAdapter:
+ 97:111:void <init>(androidx.recyclerview.widget.DiffUtil$ItemCallback) -> <init>
+ 97:117:void <init>(androidx.recyclerview.widget.AsyncDifferConfig) -> <init>
+ 173:173:java.util.List getCurrentList() -> getCurrentList
+ 150:150:java.lang.Object getItem(int) -> getItem
+ 155:155:int getItemCount() -> getItemCount
+ 189:189:void onCurrentListChanged(java.util.List,java.util.List) -> onCurrentListChanged
+ 128:129:void submitList(java.util.List) -> submitList
+ 146:147:void submitList(java.util.List,java.lang.Runnable) -> submitList
+androidx.recyclerview.widget.ListAdapter$1 -> androidx.recyclerview.widget.ListAdapter$1:
+ 98:98:void <init>(androidx.recyclerview.widget.ListAdapter) -> <init>
+ 102:103:void onCurrentListChanged(java.util.List,java.util.List) -> onCurrentListChanged
+androidx.recyclerview.widget.MessageThreadUtil -> androidx.recyclerview.widget.MessageThreadUtil:
+ 27:27:void <init>() -> <init>
+ 88:88:androidx.recyclerview.widget.ThreadUtil$BackgroundCallback getBackgroundProxy(androidx.recyclerview.widget.ThreadUtil$BackgroundCallback) -> getBackgroundProxy
+ 31:31:androidx.recyclerview.widget.ThreadUtil$MainThreadCallback getMainThreadProxy(androidx.recyclerview.widget.ThreadUtil$MainThreadCallback) -> getMainThreadProxy
+androidx.recyclerview.widget.MessageThreadUtil$1 -> androidx.recyclerview.widget.MessageThreadUtil$1:
+ 31:59:void <init>(androidx.recyclerview.widget.MessageThreadUtil,androidx.recyclerview.widget.ThreadUtil$MainThreadCallback) -> <init>
+ 46:47:void addTile(int,androidx.recyclerview.widget.TileList$Tile) -> addTile
+ 51:52:void removeTile(int,int) -> removeTile
+ 55:57:void sendMessage(androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem) -> sendMessage
+ 41:42:void updateItemCount(int,int) -> updateItemCount
+androidx.recyclerview.widget.MessageThreadUtil$1$1 -> androidx.recyclerview.widget.MessageThreadUtil$1$1:
+ 59:59:void <init>(androidx.recyclerview.widget.MessageThreadUtil$1) -> <init>
+ 62:81:void run() -> run
+androidx.recyclerview.widget.MessageThreadUtil$2 -> androidx.recyclerview.widget.MessageThreadUtil$2:
+ 88:136:void <init>(androidx.recyclerview.widget.MessageThreadUtil,androidx.recyclerview.widget.ThreadUtil$BackgroundCallback) -> <init>
+ 112:113:void loadTile(int,int) -> loadTile
+ 131:134:void maybeExecuteBackgroundRunnable() -> maybeExecuteBackgroundRunnable
+ 117:118:void recycleTile(androidx.recyclerview.widget.TileList$Tile) -> recycleTile
+ 100:101:void refresh(int) -> refresh
+ 121:123:void sendMessage(androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem) -> sendMessage
+ 126:128:void sendMessageAtFrontOfQueue(androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem) -> sendMessageAtFrontOfQueue
+ 106:108:void updateRange(int,int,int,int,int) -> updateRange
+androidx.recyclerview.widget.MessageThreadUtil$2$1 -> androidx.recyclerview.widget.MessageThreadUtil$2$1:
+ 136:136:void <init>(androidx.recyclerview.widget.MessageThreadUtil$2) -> <init>
+ 140:168:void run() -> run
+androidx.recyclerview.widget.MessageThreadUtil$MessageQueue -> androidx.recyclerview.widget.MessageThreadUtil$MessageQueue:
+ 233:233:void <init>() -> <init>
+ 237:243:androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem next() -> next
+ 263:283:void removeMessages(int) -> removeMessages
+ 251:261:void sendMessage(androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem) -> sendMessage
+ 246:249:void sendMessageAtFrontOfQueue(androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem) -> sendMessageAtFrontOfQueue
+androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem -> androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem:
+ 180:180:void <clinit>() -> <clinit>
+ 177:177:void <init>() -> <init>
+ 204:221:androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem obtainMessage(int,int,int,int,int,int,java.lang.Object) -> obtainMessage
+ 225:225:androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem obtainMessage(int,int,int) -> obtainMessage
+ 229:229:androidx.recyclerview.widget.MessageThreadUtil$SyncQueueItem obtainMessage(int,int,java.lang.Object) -> obtainMessage
+ 191:200:void recycle() -> recycle
+androidx.recyclerview.widget.OpReorderer -> androidx.recyclerview.widget.OpReorderer:
+ 25:27:void <init>(androidx.recyclerview.widget.OpReorderer$Callback) -> <init>
+ 213:224:int getLastMoveOutOfOrder(java.util.List) -> getLastMoveOutOfOrder
+ 33:36:void reorderOps(java.util.List) -> reorderOps
+ 155:172:void swapMoveAdd(java.util.List,int,androidx.recyclerview.widget.AdapterHelper$UpdateOp,int,androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> swapMoveAdd
+ 39:52:void swapMoveOp(java.util.List,int,int) -> swapMoveOp
+ 56:151:void swapMoveRemove(java.util.List,int,androidx.recyclerview.widget.AdapterHelper$UpdateOp,int,androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> swapMoveRemove
+ 176:210:void swapMoveUpdate(java.util.List,int,androidx.recyclerview.widget.AdapterHelper$UpdateOp,int,androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> swapMoveUpdate
+androidx.recyclerview.widget.OrientationHelper -> androidx.recyclerview.widget.OrientationHelper:
+ 32:32:void <init>(androidx.recyclerview.widget.RecyclerView$LayoutManager,androidx.recyclerview.widget.OrientationHelper$1) -> <init>
+ 42:48:void <init>(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> <init>
+ 258:258:androidx.recyclerview.widget.OrientationHelper createHorizontalHelper(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> createHorizontalHelper
+ 241:247:androidx.recyclerview.widget.OrientationHelper createOrientationHelper(androidx.recyclerview.widget.RecyclerView$LayoutManager,int) -> createOrientationHelper
+ 356:356:androidx.recyclerview.widget.OrientationHelper createVerticalHelper(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> createVerticalHelper
+ 55:55:androidx.recyclerview.widget.RecyclerView$LayoutManager getLayoutManager() -> getLayoutManager
+ 78:78:int getTotalSpaceChange() -> getTotalSpaceChange
+ 64:65:void onLayoutComplete() -> onLayoutComplete
+androidx.recyclerview.widget.OrientationHelper$1 -> androidx.recyclerview.widget.OrientationHelper$1:
+ 258:258:void <init>(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> <init>
+ 297:299:int getDecoratedEnd(android.view.View) -> getDecoratedEnd
+ 281:283:int getDecoratedMeasurement(android.view.View) -> getDecoratedMeasurement
+ 289:291:int getDecoratedMeasurementInOther(android.view.View) -> getDecoratedMeasurementInOther
+ 304:306:int getDecoratedStart(android.view.View) -> getDecoratedStart
+ 266:266:int getEnd() -> getEnd
+ 261:261:int getEndAfterPadding() -> getEndAfterPadding
+ 334:334:int getEndPadding() -> getEndPadding
+ 339:339:int getMode() -> getMode
+ 344:344:int getModeInOther() -> getModeInOther
+ 276:276:int getStartAfterPadding() -> getStartAfterPadding
+ 323:324:int getTotalSpace() -> getTotalSpace
+ 311:312:int getTransformedEndWithDecoration(android.view.View) -> getTransformedEndWithDecoration
+ 317:318:int getTransformedStartWithDecoration(android.view.View) -> getTransformedStartWithDecoration
+ 329:330:void offsetChild(android.view.View,int) -> offsetChild
+ 271:272:void offsetChildren(int) -> offsetChildren
+androidx.recyclerview.widget.OrientationHelper$2 -> androidx.recyclerview.widget.OrientationHelper$2:
+ 356:356:void <init>(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> <init>
+ 395:397:int getDecoratedEnd(android.view.View) -> getDecoratedEnd
+ 379:381:int getDecoratedMeasurement(android.view.View) -> getDecoratedMeasurement
+ 387:389:int getDecoratedMeasurementInOther(android.view.View) -> getDecoratedMeasurementInOther
+ 402:404:int getDecoratedStart(android.view.View) -> getDecoratedStart
+ 364:364:int getEnd() -> getEnd
+ 359:359:int getEndAfterPadding() -> getEndAfterPadding
+ 432:432:int getEndPadding() -> getEndPadding
+ 437:437:int getMode() -> getMode
+ 442:442:int getModeInOther() -> getModeInOther
+ 374:374:int getStartAfterPadding() -> getStartAfterPadding
+ 421:422:int getTotalSpace() -> getTotalSpace
+ 409:410:int getTransformedEndWithDecoration(android.view.View) -> getTransformedEndWithDecoration
+ 415:416:int getTransformedStartWithDecoration(android.view.View) -> getTransformedStartWithDecoration
+ 427:428:void offsetChild(android.view.View,int) -> offsetChild
+ 369:370:void offsetChildren(int) -> offsetChildren
+androidx.recyclerview.widget.PagerSnapHelper -> androidx.recyclerview.widget.PagerSnapHelper:
+ 38:38:void <init>() -> <init>
+ 51:65:int[] calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView$LayoutManager,android.view.View) -> calculateDistanceToFinalSnap
+ 169:172:androidx.recyclerview.widget.LinearSmoothScroller createSnapScroller(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> createSnapScroller
+ 199:202:int distanceToCenter(androidx.recyclerview.widget.RecyclerView$LayoutManager,android.view.View,androidx.recyclerview.widget.OrientationHelper) -> distanceToCenter
+ 217:238:android.view.View findCenterView(androidx.recyclerview.widget.RecyclerView$LayoutManager,androidx.recyclerview.widget.OrientationHelper) -> findCenterView
+ 71:76:android.view.View findSnapView(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> findSnapView
+ 82:142:int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView$LayoutManager,int,int) -> findTargetSnapPosition
+ 263:266:androidx.recyclerview.widget.OrientationHelper getHorizontalHelper(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> getHorizontalHelper
+ 243:248:androidx.recyclerview.widget.OrientationHelper getOrientationHelper(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> getOrientationHelper
+ 254:257:androidx.recyclerview.widget.OrientationHelper getVerticalHelper(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> getVerticalHelper
+ 147:150:boolean isForwardFling(androidx.recyclerview.widget.RecyclerView$LayoutManager,int,int) -> isForwardFling
+ 155:164:boolean isReverseLayout(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> isReverseLayout
+androidx.recyclerview.widget.PagerSnapHelper$1 -> androidx.recyclerview.widget.PagerSnapHelper$1:
+ 172:172:void <init>(androidx.recyclerview.widget.PagerSnapHelper,android.content.Context) -> <init>
+ 187:187:float calculateSpeedPerPixel(android.util.DisplayMetrics) -> calculateSpeedPerPixel
+ 192:192:int calculateTimeForScrolling(int) -> calculateTimeForScrolling
+ 175:183:void onTargetFound(android.view.View,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.RecyclerView$SmoothScroller$Action) -> onTargetFound
+androidx.recyclerview.widget.RecyclerView -> androidx.recyclerview.widget.RecyclerView:
+ 219:598:void <clinit>() -> <clinit>
+ 646:647:void <init>(android.content.Context) -> <init>
+ 650:651:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 365:726:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 2603:2630:void absorbGlows(int,int) -> absorbGlows
+ 210:210:void access$000(androidx.recyclerview.widget.RecyclerView,android.view.View,int,android.view.ViewGroup$LayoutParams) -> access$000
+ 210:210:void access$100(androidx.recyclerview.widget.RecyclerView,int) -> access$100
+ 210:210:boolean access$200(androidx.recyclerview.widget.RecyclerView) -> access$200
+ 210:210:void access$300(androidx.recyclerview.widget.RecyclerView,int,int) -> access$300
+ 1431:1442:void addAnimatingView(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> addAnimatingView
+ 2943:2946:void addFocusables(java.util.ArrayList,int,int) -> addFocusables
+ 1568:1582:void addItemDecoration(androidx.recyclerview.widget.RecyclerView$ItemDecoration,int) -> addItemDecoration
+ 1597:1598:void addItemDecoration(androidx.recyclerview.widget.RecyclerView$ItemDecoration) -> addItemDecoration
+ 1273:1277:void addOnChildAttachStateChangeListener(androidx.recyclerview.widget.RecyclerView$OnChildAttachStateChangeListener) -> addOnChildAttachStateChangeListener
+ 3079:3080:void addOnItemTouchListener(androidx.recyclerview.widget.RecyclerView$OnItemTouchListener) -> addOnItemTouchListener
+ 1706:1710:void addOnScrollListener(androidx.recyclerview.widget.RecyclerView$OnScrollListener) -> addOnScrollListener
+ 4363:4367:void animateAppearance(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> animateAppearance
+ 4381:4399:void animateChange(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,boolean,boolean) -> animateChange
+ 4371:4376:void animateDisappearance(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> animateDisappearance
+ 3030:3038:void assertInLayoutOrScroll(java.lang.String) -> assertInLayoutOrScroll
+ 3048:3063:void assertNotInLayoutOrScroll(java.lang.String) -> assertNotInLayoutOrScroll
+ 4674:4675:boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> canReuseUpdatedViewHolder
+ 3443:3445:void cancelScroll() -> cancelScroll
+ 4500:4500:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 5851:5867:void clearNestedRecyclerViewIfNotNested(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> clearNestedRecyclerViewIfNotNested
+ 4554:4562:void clearOldPositions() -> clearOldPositions
+ 1297:1300:void clearOnChildAttachStateChangeListeners() -> clearOnChildAttachStateChangeListeners
+ 1727:1730:void clearOnScrollListeners() -> clearOnScrollListeners
+ 2024:2027:int computeHorizontalScrollExtent() -> computeHorizontalScrollExtent
+ 1999:2002:int computeHorizontalScrollOffset() -> computeHorizontalScrollOffset
+ 2047:2050:int computeHorizontalScrollRange() -> computeHorizontalScrollRange
+ 2096:2099:int computeVerticalScrollExtent() -> computeVerticalScrollExtent
+ 2072:2075:int computeVerticalScrollOffset() -> computeVerticalScrollOffset
+ 2119:2122:int computeVerticalScrollRange() -> computeVerticalScrollRange
+ 2580:2600:void considerReleasingGlowsOnScroll(int,int) -> considerReleasingGlowsOnScroll
+ 1865:1900:void consumePendingUpdateOperations() -> consumePendingUpdateOperations
+ 782:832:void createLayoutManager(android.content.Context,java.lang.String,android.util.AttributeSet,int,int) -> createLayoutManager
+ 3606:3614:void defaultOnMeasure(int,int) -> defaultOnMeasure
+ 4327:4328:boolean didChildRangeChange(int,int) -> didChildRangeChange
+ 7553:7564:void dispatchChildAttached(android.view.View) -> dispatchChildAttached
+ 7538:7549:void dispatchChildDetached(android.view.View) -> dispatchChildDetached
+ 3675:3683:void dispatchContentChangedIfNecessary() -> dispatchContentChangedIfNecessary
+ 3837:3863:void dispatchLayout() -> dispatchLayout
+ 4033:4118:void dispatchLayoutStep1() -> dispatchLayoutStep1
+ 4125:4144:void dispatchLayoutStep2() -> dispatchLayoutStep2
+ 4151:4235:void dispatchLayoutStep3() -> dispatchLayoutStep3
+ 11601:11601:boolean dispatchNestedFling(float,float,boolean) -> dispatchNestedFling
+ 11606:11606:boolean dispatchNestedPreFling(float,float) -> dispatchNestedPreFling
+ 11589:11589:boolean dispatchNestedPreScroll(int,int,int[],int[]) -> dispatchNestedPreScroll
+ 11595:11595:boolean dispatchNestedPreScroll(int,int,int[],int[],int) -> dispatchNestedPreScroll
+ 11569:11569:boolean dispatchNestedScroll(int,int,int,int,int[]) -> dispatchNestedScroll
+ 11576:11576:boolean dispatchNestedScroll(int,int,int,int,int[],int) -> dispatchNestedScroll
+ 11583:11585:void dispatchNestedScroll(int,int,int,int,int[],int,int[]) -> dispatchNestedScroll
+ 5196:5213:void dispatchOnScrollStateChanged(int) -> dispatchOnScrollStateChanged
+ 5154:5177:void dispatchOnScrolled(int,int) -> dispatchOnScrolled
+ 11480:11494:void dispatchPendingImportantForAccessibilityChanges() -> dispatchPendingImportantForAccessibilityChanges
+ 3741:3742:boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> dispatchPopulateAccessibilityEvent
+ 1419:1420:void dispatchRestoreInstanceState(android.util.SparseArray) -> dispatchRestoreInstanceState
+ 1411:1412:void dispatchSaveInstanceState(android.util.SparseArray) -> dispatchSaveInstanceState
+ 3118:3129:boolean dispatchToOnItemTouchListeners(android.view.MotionEvent) -> dispatchToOnItemTouchListeners
+ 4429:4486:void draw(android.graphics.Canvas) -> draw
+ 5030:5030:boolean drawChild(android.graphics.Canvas,android.view.View,long) -> drawChild
+ 2673:2683:void ensureBottomGlow() -> ensureBottomGlow
+ 2633:2643:void ensureLeftGlow() -> ensureLeftGlow
+ 2646:2656:void ensureRightGlow() -> ensureRightGlow
+ 2659:2670:void ensureTopGlow() -> ensureTopGlow
+ 733:736:java.lang.String exceptionLabel() -> exceptionLabel
+ 4015:4023:void fillRemainingScrollValues(androidx.recyclerview.widget.RecyclerView$State) -> fillRemainingScrollValues
+ 5013:5025:android.view.View findChildViewUnder(float,float) -> findChildViewUnder
+ 4792:4797:android.view.View findContainingItemView(android.view.View) -> findContainingItemView
+ 4810:4811:androidx.recyclerview.widget.RecyclerView$ViewHolder findContainingViewHolder(android.view.View) -> findContainingViewHolder
+ 3147:3156:boolean findInterceptingOnItemTouchListener(android.view.MotionEvent) -> findInterceptingOnItemTouchListener
+ 4301:4324:void findMinMaxChildLayoutPositions(int[]) -> findMinMaxChildLayoutPositions
+ 5829:5844:androidx.recyclerview.widget.RecyclerView findNestedRecyclerView(android.view.View) -> findNestedRecyclerView
+ 3902:3925:android.view.View findNextViewToFocus() -> findNextViewToFocus
+ 4924:4941:androidx.recyclerview.widget.RecyclerView$ViewHolder findViewHolderForAdapterPosition(int) -> findViewHolderForAdapterPosition
+ 4986:5001:androidx.recyclerview.widget.RecyclerView$ViewHolder findViewHolderForItemId(long) -> findViewHolderForItemId
+ 4902:4902:androidx.recyclerview.widget.RecyclerView$ViewHolder findViewHolderForLayoutPosition(int) -> findViewHolderForLayoutPosition
+ 4878:4878:androidx.recyclerview.widget.RecyclerView$ViewHolder findViewHolderForPosition(int) -> findViewHolderForPosition
+ 4946:4968:androidx.recyclerview.widget.RecyclerView$ViewHolder findViewHolderForPosition(int,boolean) -> findViewHolderForPosition
+ 2438:2485:boolean fling(int,int) -> fling
+ 2748:2822:android.view.View focusSearch(android.view.View,int) -> focusSearch
+ 4505:4508:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 4513:4516:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 4521:4524:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 774:774:java.lang.CharSequence getAccessibilityClassName() -> getAccessibilityClassName
+ 1226:1226:androidx.recyclerview.widget.RecyclerView$Adapter getAdapter() -> getAdapter
+ 11497:11502:int getAdapterPositionFor(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getAdapterPositionFor
+ 1253:1256:int getBaseline() -> getBaseline
+ 4358:4358:long getChangedHolderKey(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getChangedHolderKey
+ 4838:4839:int getChildAdapterPosition(android.view.View) -> getChildAdapterPosition
+ 13465:13468:int getChildDrawingOrder(int,int) -> getChildDrawingOrder
+ 4864:4868:long getChildItemId(android.view.View) -> getChildItemId
+ 4853:4854:int getChildLayoutPosition(android.view.View) -> getChildLayoutPosition
+ 4828:4828:int getChildPosition(android.view.View) -> getChildPosition
+ 4769:4774:androidx.recyclerview.widget.RecyclerView$ViewHolder getChildViewHolder(android.view.View) -> getChildViewHolder
+ 4816:4819:androidx.recyclerview.widget.RecyclerView$ViewHolder getChildViewHolderInt(android.view.View) -> getChildViewHolderInt
+ 1099:1099:boolean getClipToPadding() -> getClipToPadding
+ 759:759:androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate getCompatAccessibilityDelegate() -> getCompatAccessibilityDelegate
+ 5092:5093:void getDecoratedBoundsWithMargins(android.view.View,android.graphics.Rect) -> getDecoratedBoundsWithMargins
+ 5096:5102:void getDecoratedBoundsWithMarginsInt(android.view.View,android.graphics.Rect) -> getDecoratedBoundsWithMarginsInt
+ 4003:4011:int getDeepestFocusedViewWithId(android.view.View) -> getDeepestFocusedViewWithId
+ 2713:2713:androidx.recyclerview.widget.RecyclerView$EdgeEffectFactory getEdgeEffectFactory() -> getEdgeEffectFactory
+ 835:841:java.lang.String getFullClassName(android.content.Context,java.lang.String) -> getFullClassName
+ 3756:3756:androidx.recyclerview.widget.RecyclerView$ItemAnimator getItemAnimator() -> getItemAnimator
+ 5105:5126:android.graphics.Rect getItemDecorInsetsForChild(android.view.View) -> getItemDecorInsetsForChild
+ 1609:1614:androidx.recyclerview.widget.RecyclerView$ItemDecoration getItemDecorationAt(int) -> getItemDecorationAt
+ 1623:1623:int getItemDecorationCount() -> getItemDecorationCount
+ 1474:1474:androidx.recyclerview.widget.RecyclerView$LayoutManager getLayoutManager() -> getLayoutManager
+ 2523:2523:int getMaxFlingVelocity() -> getMaxFlingVelocity
+ 2513:2513:int getMinFlingVelocity() -> getMinFlingVelocity
+ 5876:5879:long getNanoTime() -> getNanoTime
+ 1375:1375:androidx.recyclerview.widget.RecyclerView$OnFlingListener getOnFlingListener() -> getOnFlingListener
+ 4741:4741:boolean getPreserveFocusAfterLayout() -> getPreserveFocusAfterLayout
+ 1487:1487:androidx.recyclerview.widget.RecyclerView$RecycledViewPool getRecycledViewPool() -> getRecycledViewPool
+ 1535:1535:int getScrollState() -> getScrollState
+ 13495:13498:androidx.core.view.NestedScrollingChildHelper getScrollingChildHelper() -> getScrollingChildHelper
+ 4255:4282:void handleMissingPreInfoForChangeError(long,androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> handleMissingPreInfoForChangeError
+ 1070:1070:boolean hasFixedSize() -> hasFixedSize
+ 11558:11558:boolean hasNestedScrollingParent() -> hasNestedScrollingParent
+ 11563:11563:boolean hasNestedScrollingParent(int) -> hasNestedScrollingParent
+ 5229:5230:boolean hasPendingAdapterUpdates() -> hasPendingAdapterUpdates
+ 1906:1916:boolean hasUpdatedView() -> hasUpdatedView
+ 968:1048:void initAdapterManager() -> initAdapterManager
+ 747:751:void initAutofill() -> initAutofill
+ 845:965:void initChildrenHelper() -> initChildrenHelper
+ 11509:11522:void initFastScroller(android.graphics.drawable.StateListDrawable,android.graphics.drawable.Drawable,android.graphics.drawable.StateListDrawable,android.graphics.drawable.Drawable) -> initFastScroller
+ 2686:2687:void invalidateGlows() -> invalidateGlows
+ 4718:4727:void invalidateItemDecorations() -> invalidateItemDecorations
+ 3671:3671:boolean isAccessibilityEnabled() -> isAccessibilityEnabled
+ 4536:4536:boolean isAnimating() -> isAnimating
+ 3019:3019:boolean isAttachedToWindow() -> isAttachedToWindow
+ 3705:3705:boolean isComputingLayout() -> isComputingLayout
+ 2281:2281:boolean isLayoutFrozen() -> isLayoutFrozen
+ 2242:2242:boolean isLayoutSuppressed() -> isLayoutSuppressed
+ 11533:11533:boolean isNestedScrollingEnabled() -> isNestedScrollingEnabled
+ 2834:2888:boolean isPreferredNextFocus(android.view.View,android.view.View,int) -> isPreferredNextFocus
+ 1755:1764:void jumpToPositionForSmoothScroller(int) -> jumpToPositionForSmoothScroller
+ 4419:4425:void markItemDecorInsetsDirty() -> markItemDecorInsetsDirty
+ 4702:4711:void markKnownViewsInvalid() -> markKnownViewsInvalid
+ 5078:5082:void offsetChildrenHorizontal(int) -> offsetChildrenHorizontal
+ 5040:5044:void offsetChildrenVertical(int) -> offsetChildrenVertical
+ 4599:4613:void offsetPositionRecordsForInsert(int,int) -> offsetPositionRecordsForInsert
+ 4565:4596:void offsetPositionRecordsForMove(int,int) -> offsetPositionRecordsForMove
+ 4617:4643:void offsetPositionRecordsForRemove(int,int,boolean) -> offsetPositionRecordsForRemove
+ 2960:2990:void onAttachedToWindow() -> onAttachedToWindow
+ 5057:5057:void onChildAttachedToWindow(android.view.View) -> onChildAttachedToWindow
+ 5069:5069:void onChildDetachedFromWindow(android.view.View) -> onChildDetachedFromWindow
+ 2994:3012:void onDetachedFromWindow() -> onDetachedFromWindow
+ 4490:4496:void onDraw(android.graphics.Canvas) -> onDraw
+ 3648:3649:void onEnterLayoutOrScroll() -> onEnterLayoutOrScroll
+ 3652:3653:void onExitLayoutOrScroll() -> onExitLayoutOrScroll
+ 3656:3668:void onExitLayoutOrScroll(boolean) -> onExitLayoutOrScroll
+ 3460:3505:boolean onGenericMotionEvent(android.view.MotionEvent) -> onGenericMotionEvent
+ 3161:3265:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 4403:4407:void onLayout(boolean,int,int,int,int) -> onLayout
+ 3510:3597:void onMeasure(int,int) -> onMeasure
+ 3448:3456:void onPointerUp(android.view.MotionEvent) -> onPointerUp
+ 2950:2955:boolean onRequestFocusInDescendants(int,android.graphics.Rect) -> onRequestFocusInDescendants
+ 1394:1404:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 1380:1389:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 5191:5191:void onScrollStateChanged(int) -> onScrollStateChanged
+ 5151:5151:void onScrolled(int,int) -> onScrolled
+ 3618:3623:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 3280:3431:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 3764:3768:void postAnimationRunner() -> postAnimationRunner
+ 3771:3771:boolean predictiveItemAnimationsEnabled() -> predictiveItemAnimationsEnabled
+ 3781:3809:void processAdapterUpdatesAndSetAnimationFlags() -> processAdapterUpdatesAndSetAnimationFlags
+ 4692:4695:void processDataSetCompletelyChanged(boolean) -> processDataSetCompletelyChanged
+ 2530:2554:void pullGlows(float,float,float,float) -> pullGlows
+ 4291:4298:void recordAnimationInfoIfBouncedHiddenView(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> recordAnimationInfoIfBouncedHiddenView
+ 3929:4000:void recoverFocusFromState() -> recoverFocusFromState
+ 2557:2577:void releaseGlows() -> releaseGlows
+ 1171:1184:void removeAndRecycleViews() -> removeAndRecycleViews
+ 1451:1463:boolean removeAnimatingView(android.view.View) -> removeAnimatingView
+ 4334:4351:void removeDetachedView(android.view.View,boolean) -> removeDetachedView
+ 1650:1660:void removeItemDecoration(androidx.recyclerview.widget.RecyclerView$ItemDecoration) -> removeItemDecoration
+ 1632:1638:void removeItemDecorationAt(int) -> removeItemDecorationAt
+ 1286:1290:void removeOnChildAttachStateChangeListener(androidx.recyclerview.widget.RecyclerView$OnChildAttachStateChangeListener) -> removeOnChildAttachStateChangeListener
+ 3088:3092:void removeOnItemTouchListener(androidx.recyclerview.widget.RecyclerView$OnItemTouchListener) -> removeOnItemTouchListener
+ 1718:1721:void removeOnScrollListener(androidx.recyclerview.widget.RecyclerView$OnScrollListener) -> removeOnScrollListener
+ 5513:5528:void repositionShadowingViews() -> repositionShadowingViews
+ 2893:2897:void requestChildFocus(android.view.View,android.view.View) -> requestChildFocus
+ 2909:2934:void requestChildOnScreen(android.view.View,android.view.View) -> requestChildOnScreen
+ 2938:2938:boolean requestChildRectangleOnScreen(android.view.View,android.graphics.Rect,boolean) -> requestChildRectangleOnScreen
+ 3270:3276:void requestDisallowInterceptTouchEvent(boolean) -> requestDisallowInterceptTouchEvent
+ 4411:4416:void requestLayout() -> requestLayout
+ 3887:3890:void resetFocusInfo() -> resetFocusInfo
+ 3435:3440:void resetScroll() -> resetScroll
+ 3866:3884:void saveFocusInfo() -> saveFocusInfo
+ 4540:4551:void saveOldPositions() -> saveOldPositions
+ 1801:1814:void scrollBy(int,int) -> scrollBy
+ 1931:1976:boolean scrollByInternal(int,int,android.view.MotionEvent) -> scrollByInternal
+ 1829:1854:void scrollStep(int,int,int[]) -> scrollStep
+ 1795:1797:void scrollTo(int,int) -> scrollTo
+ 1741:1752:void scrollToPosition(int) -> scrollToPosition
+ 3733:3737:void sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent) -> sendAccessibilityEventUnchecked
+ 768:770:void setAccessibilityDelegateCompat(androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate) -> setAccessibilityDelegateCompat
+ 1160:1164:void setAdapter(androidx.recyclerview.widget.RecyclerView$Adapter) -> setAdapter
+ 1197:1216:void setAdapterInternal(androidx.recyclerview.widget.RecyclerView$Adapter,boolean,boolean) -> setAdapterInternal
+ 1676:1681:void setChildDrawingOrderCallback(androidx.recyclerview.widget.RecyclerView$ChildDrawingOrderCallback) -> setChildDrawingOrderCallback
+ 11470:11476:boolean setChildImportantForAccessibilityInternal(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> setChildImportantForAccessibilityInternal
+ 1075:1083:void setClipToPadding(boolean) -> setClipToPadding
+ 2699:2702:void setEdgeEffectFactory(androidx.recyclerview.widget.RecyclerView$EdgeEffectFactory) -> setEdgeEffectFactory
+ 1062:1063:void setHasFixedSize(boolean) -> setHasFixedSize
+ 3637:3645:void setItemAnimator(androidx.recyclerview.widget.RecyclerView$ItemAnimator) -> setItemAnimator
+ 1525:1526:void setItemViewCacheSize(int) -> setItemViewCacheSize
+ 2271:2272:void setLayoutFrozen(boolean) -> setLayoutFrozen
+ 1315:1354:void setLayoutManager(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> setLayoutManager
+ 2290:2317:void setLayoutTransition(android.animation.LayoutTransition) -> setLayoutTransition
+ 11528:11529:void setNestedScrollingEnabled(boolean) -> setNestedScrollingEnabled
+ 1365:1366:void setOnFlingListener(androidx.recyclerview.widget.RecyclerView$OnFlingListener) -> setOnFlingListener
+ 1693:1694:void setOnScrollListener(androidx.recyclerview.widget.RecyclerView$OnScrollListener) -> setOnScrollListener
+ 4759:4760:void setPreserveFocusAfterLayout(boolean) -> setPreserveFocusAfterLayout
+ 1499:1500:void setRecycledViewPool(androidx.recyclerview.widget.RecyclerView$RecycledViewPool) -> setRecycledViewPool
+ 1240:1241:void setRecyclerListener(androidx.recyclerview.widget.RecyclerView$RecyclerListener) -> setRecyclerListener
+ 1539:1551:void setScrollState(int) -> setScrollState
+ 1112:1126:void setScrollingTouchSlop(int) -> setScrollingTouchSlop
+ 1510:1511:void setViewCacheExtension(androidx.recyclerview.widget.RecyclerView$ViewCacheExtension) -> setViewCacheExtension
+ 3717:3728:boolean shouldDeferAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> shouldDeferAccessibilityEvent
+ 2326:2327:void smoothScrollBy(int,int) -> smoothScrollBy
+ 2338:2339:void smoothScrollBy(int,int,android.view.animation.Interpolator) -> smoothScrollBy
+ 2356:2357:void smoothScrollBy(int,int,android.view.animation.Interpolator,int) -> smoothScrollBy
+ 2390:2422:void smoothScrollBy(int,int,android.view.animation.Interpolator,int,boolean) -> smoothScrollBy
+ 1782:1791:void smoothScrollToPosition(int) -> smoothScrollToPosition
+ 2137:2141:void startInterceptRequestLayout() -> startInterceptRequestLayout
+ 11538:11538:boolean startNestedScroll(int) -> startNestedScroll
+ 11543:11543:boolean startNestedScroll(int,int) -> startNestedScroll
+ 2154:2185:void stopInterceptRequestLayout(boolean) -> stopInterceptRequestLayout
+ 11548:11549:void stopNestedScroll() -> stopNestedScroll
+ 11553:11554:void stopNestedScroll(int) -> stopNestedScroll
+ 2493:2495:void stopScroll() -> stopScroll
+ 2501:2505:void stopScrollersInternal() -> stopScrollersInternal
+ 2214:2232:void suppressLayout(boolean) -> suppressLayout
+ 1144:1148:void swapAdapter(androidx.recyclerview.widget.RecyclerView$Adapter,boolean) -> swapAdapter
+ 4652:4671:void viewRangeUpdate(int,int,java.lang.Object) -> viewRangeUpdate
+androidx.recyclerview.widget.RecyclerView$1 -> androidx.recyclerview.widget.RecyclerView$1:
+ 398:398:void <init>(androidx.recyclerview.widget.RecyclerView) -> <init>
+ 401:415:void run() -> run
+androidx.recyclerview.widget.RecyclerView$2 -> androidx.recyclerview.widget.RecyclerView$2:
+ 588:588:void <init>(androidx.recyclerview.widget.RecyclerView) -> <init>
+ 591:595:void run() -> run
+androidx.recyclerview.widget.RecyclerView$3 -> androidx.recyclerview.widget.RecyclerView$3:
+ 598:598:void <init>() -> <init>
+ 601:602:float getInterpolation(float) -> getInterpolation
+androidx.recyclerview.widget.RecyclerView$4 -> androidx.recyclerview.widget.RecyclerView$4:
+ 610:610:void <init>(androidx.recyclerview.widget.RecyclerView) -> <init>
+ 620:621:void processAppeared(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> processAppeared
+ 614:616:void processDisappeared(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> processDisappeared
+ 626:638:void processPersistent(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> processPersistent
+ 641:642:void unused(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> unused
+androidx.recyclerview.widget.RecyclerView$5 -> androidx.recyclerview.widget.RecyclerView$5:
+ 845:845:void <init>(androidx.recyclerview.widget.RecyclerView) -> <init>
+ 856:861:void addView(android.view.View,int) -> addView
+ 916:928:void attachViewToParent(android.view.View,int,android.view.ViewGroup$LayoutParams) -> attachViewToParent
+ 932:947:void detachViewFromParent(int) -> detachViewFromParent
+ 890:890:android.view.View getChildAt(int) -> getChildAt
+ 848:848:int getChildCount() -> getChildCount
+ 910:910:androidx.recyclerview.widget.RecyclerView$ViewHolder getChildViewHolder(android.view.View) -> getChildViewHolder
+ 865:865:int indexOfChild(android.view.View) -> indexOfChild
+ 951:955:void onEnteredHiddenState(android.view.View) -> onEnteredHiddenState
+ 959:963:void onLeftHiddenState(android.view.View) -> onLeftHiddenState
+ 895:906:void removeAllViews() -> removeAllViews
+ 870:886:void removeViewAt(int) -> removeViewAt
+androidx.recyclerview.widget.RecyclerView$6 -> androidx.recyclerview.widget.RecyclerView$6:
+ 968:968:void <init>(androidx.recyclerview.widget.RecyclerView) -> <init>
+ 1013:1028:void dispatchUpdate(androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> dispatchUpdate
+ 971:983:androidx.recyclerview.widget.RecyclerView$ViewHolder findViewHolder(int) -> findViewHolder
+ 1003:1005:void markViewHoldersUpdated(int,int,java.lang.Object) -> markViewHoldersUpdated
+ 1037:1039:void offsetPositionsForAdd(int,int) -> offsetPositionsForAdd
+ 1043:1046:void offsetPositionsForMove(int,int) -> offsetPositionsForMove
+ 988:991:void offsetPositionsForRemovingInvisible(int,int) -> offsetPositionsForRemovingInvisible
+ 996:998:void offsetPositionsForRemovingLaidOutOrNewView(int,int) -> offsetPositionsForRemovingLaidOutOrNewView
+ 1009:1010:void onDispatchFirstPass(androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> onDispatchFirstPass
+ 1032:1033:void onDispatchSecondPass(androidx.recyclerview.widget.AdapterHelper$UpdateOp) -> onDispatchSecondPass
+androidx.recyclerview.widget.RecyclerView$Adapter -> androidx.recyclerview.widget.RecyclerView$Adapter:
+ 6984:6986:void <init>() -> <init>
+ 7099:7114:void bindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> bindViewHolder
+ 7077:7088:androidx.recyclerview.widget.RecyclerView$ViewHolder createViewHolder(android.view.ViewGroup,int) -> createViewHolder
+ 7157:7157:long getItemId(int) -> getItemId
+ 7129:7129:int getItemViewType(int) -> getItemViewType
+ 7267:7267:boolean hasObservers() -> hasObservers
+ 7175:7175:boolean hasStableIds() -> hasStableIds
+ 7354:7355:void notifyDataSetChanged() -> notifyDataSetChanged
+ 7370:7371:void notifyItemChanged(int) -> notifyItemChanged
+ 7398:7399:void notifyItemChanged(int,java.lang.Object) -> notifyItemChanged
+ 7464:7465:void notifyItemInserted(int) -> notifyItemInserted
+ 7479:7480:void notifyItemMoved(int,int) -> notifyItemMoved
+ 7416:7417:void notifyItemRangeChanged(int,int) -> notifyItemRangeChanged
+ 7447:7448:void notifyItemRangeChanged(int,int,java.lang.Object) -> notifyItemRangeChanged
+ 7498:7499:void notifyItemRangeInserted(int,int) -> notifyItemRangeInserted
+ 7532:7533:void notifyItemRangeRemoved(int,int) -> notifyItemRangeRemoved
+ 7515:7516:void notifyItemRemoved(int) -> notifyItemRemoved
+ 7313:7313:void onAttachedToRecyclerView(androidx.recyclerview.widget.RecyclerView) -> onAttachedToRecyclerView
+ 7065:7066:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int,java.util.List) -> onBindViewHolder
+ 7322:7322:void onDetachedFromRecyclerView(androidx.recyclerview.widget.RecyclerView) -> onDetachedFromRecyclerView
+ 7233:7233:boolean onFailedToRecycleView(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onFailedToRecycleView
+ 7247:7247:void onViewAttachedToWindow(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onViewAttachedToWindow
+ 7259:7259:void onViewDetachedFromWindow(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onViewDetachedFromWindow
+ 7196:7196:void onViewRecycled(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onViewRecycled
+ 7287:7288:void registerAdapterDataObserver(androidx.recyclerview.widget.RecyclerView$AdapterDataObserver) -> registerAdapterDataObserver
+ 7141:7146:void setHasStableIds(boolean) -> setHasStableIds
+ 7301:7302:void unregisterAdapterDataObserver(androidx.recyclerview.widget.RecyclerView$AdapterDataObserver) -> unregisterAdapterDataObserver
+androidx.recyclerview.widget.RecyclerView$AdapterDataObservable -> androidx.recyclerview.widget.RecyclerView$AdapterDataObservable:
+ 12242:12242:void <init>() -> <init>
+ 12244:12244:boolean hasObservers() -> hasObservers
+ 12252:12255:void notifyChanged() -> notifyChanged
+ 12293:12296:void notifyItemMoved(int,int) -> notifyItemMoved
+ 12258:12259:void notifyItemRangeChanged(int,int) -> notifyItemRangeChanged
+ 12267:12270:void notifyItemRangeChanged(int,int,java.lang.Object) -> notifyItemRangeChanged
+ 12277:12280:void notifyItemRangeInserted(int,int) -> notifyItemRangeInserted
+ 12287:12290:void notifyItemRangeRemoved(int,int) -> notifyItemRangeRemoved
+androidx.recyclerview.widget.RecyclerView$AdapterDataObserver -> androidx.recyclerview.widget.RecyclerView$AdapterDataObserver:
+ 11721:11721:void <init>() -> <init>
+ 11724:11724:void onChanged() -> onChanged
+ 11728:11728:void onItemRangeChanged(int,int) -> onItemRangeChanged
+ 11733:11734:void onItemRangeChanged(int,int,java.lang.Object) -> onItemRangeChanged
+ 11738:11738:void onItemRangeInserted(int,int) -> onItemRangeInserted
+ 11746:11746:void onItemRangeMoved(int,int,int) -> onItemRangeMoved
+ 11742:11742:void onItemRangeRemoved(int,int) -> onItemRangeRemoved
+androidx.recyclerview.widget.RecyclerView$EdgeEffectFactory -> androidx.recyclerview.widget.RecyclerView$EdgeEffectFactory:
+ 5592:5592:void <init>() -> <init>
+ 5623:5623:android.widget.EdgeEffect createEdgeEffect(androidx.recyclerview.widget.RecyclerView,int) -> createEdgeEffect
+androidx.recyclerview.widget.RecyclerView$ItemAnimator -> androidx.recyclerview.widget.RecyclerView$ItemAnimator:
+ 12728:12791:void <init>() -> <init>
+ 13113:13124:int buildAdapterChangeFlagsForAnimations(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> buildAdapterChangeFlagsForAnimations
+ 13302:13302:boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> canReuseUpdatedViewHolder
+ 13332:13332:boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,java.util.List) -> canReuseUpdatedViewHolder
+ 13197:13201:void dispatchAnimationFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> dispatchAnimationFinished
+ 13238:13239:void dispatchAnimationStarted(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> dispatchAnimationStarted
+ 13340:13345:void dispatchAnimationsFinished() -> dispatchAnimationsFinished
+ 12817:12817:long getAddDuration() -> getAddDuration
+ 12853:12853:long getChangeDuration() -> getChangeDuration
+ 12799:12799:long getMoveDuration() -> getMoveDuration
+ 12835:12835:long getRemoveDuration() -> getRemoveDuration
+ 13269:13277:boolean isRunning(androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemAnimatorFinishedListener) -> isRunning
+ 13358:13358:androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo obtainHolderInfo() -> obtainHolderInfo
+ 13212:13212:void onAnimationFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onAnimationFinished
+ 13250:13250:void onAnimationStarted(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onAnimationStarted
+ 12942:12942:androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo recordPostLayoutInformation(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> recordPostLayoutInformation
+ 12913:12913:androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo recordPreLayoutInformation(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.RecyclerView$ViewHolder,int,java.util.List) -> recordPreLayoutInformation
+ 12826:12827:void setAddDuration(long) -> setAddDuration
+ 12862:12863:void setChangeDuration(long) -> setChangeDuration
+ 12874:12875:void setListener(androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemAnimatorListener) -> setListener
+ 12808:12809:void setMoveDuration(long) -> setMoveDuration
+ 12844:12845:void setRemoveDuration(long) -> setRemoveDuration
+androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo -> androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo:
+ 13425:13426:void <init>() -> <init>
+ 13437:13437:androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo setFrom(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> setFrom
+ 13453:13458:androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo setFrom(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> setFrom
+androidx.recyclerview.widget.RecyclerView$ItemAnimatorRestoreListener -> androidx.recyclerview.widget.RecyclerView$ItemAnimatorRestoreListener:
+ 12686:12687:void <init>(androidx.recyclerview.widget.RecyclerView) -> <init>
+ 12691:12703:void onAnimationFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onAnimationFinished
+androidx.recyclerview.widget.RecyclerView$ItemDecoration -> androidx.recyclerview.widget.RecyclerView$ItemDecoration:
+ 10705:10705:void <init>() -> <init>
+ 10757:10758:void getItemOffsets(android.graphics.Rect,int,androidx.recyclerview.widget.RecyclerView) -> getItemOffsets
+ 10782:10784:void getItemOffsets(android.graphics.Rect,android.view.View,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> getItemOffsets
+ 10716:10717:void onDraw(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDraw
+ 10725:10725:void onDraw(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView) -> onDraw
+ 10738:10739:void onDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDrawOver
+ 10747:10747:void onDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView) -> onDrawOver
+androidx.recyclerview.widget.RecyclerView$LayoutManager -> androidx.recyclerview.widget.RecyclerView$LayoutManager:
+ 7582:7688:void <init>() -> <init>
+ 8518:8519:void addDisappearingView(android.view.View) -> addDisappearingView
+ 8536:8537:void addDisappearingView(android.view.View,int) -> addDisappearingView
+ 8547:8548:void addView(android.view.View) -> addView
+ 8559:8560:void addView(android.view.View,int) -> addView
+ 8563:8614:void addViewInt(android.view.View,int,boolean) -> addViewInt
+ 7860:7863:void assertInLayoutOrScroll(java.lang.String) -> assertInLayoutOrScroll
+ 7897:7900:void assertNotInLayoutOrScroll(java.lang.String) -> assertNotInLayoutOrScroll
+ 8804:8814:void attachView(android.view.View,int,androidx.recyclerview.widget.RecyclerView$LayoutParams) -> attachView
+ 8825:8826:void attachView(android.view.View,int) -> attachView
+ 8836:8837:void attachView(android.view.View) -> attachView
+ 9707:9713:void calculateItemDecorationsForChild(android.view.View,android.graphics.Rect) -> calculateItemDecorationsForChild
+ 8415:8415:boolean canScrollHorizontally() -> canScrollHorizontally
+ 8425:8425:boolean canScrollVertically() -> canScrollVertically
+ 8330:8330:boolean checkLayoutParams(androidx.recyclerview.widget.RecyclerView$LayoutParams) -> checkLayoutParams
+ 7876:7885:int chooseSize(int,int,int) -> chooseSize
+ 8082:8082:void collectAdjacentPrefetchPositions(int,int,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.RecyclerView$LayoutManager$LayoutPrefetchRegistry) -> collectAdjacentPrefetchPositions
+ 8110:8110:void collectInitialPrefetchPositions(int,androidx.recyclerview.widget.RecyclerView$LayoutManager$LayoutPrefetchRegistry) -> collectInitialPrefetchPositions
+ 10153:10153:int computeHorizontalScrollExtent(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollExtent
+ 10168:10168:int computeHorizontalScrollOffset(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollOffset
+ 10183:10183:int computeHorizontalScrollRange(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollRange
+ 10198:10198:int computeVerticalScrollExtent(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollExtent
+ 10213:10213:int computeVerticalScrollOffset(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollOffset
+ 10228:10228:int computeVerticalScrollRange(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollRange
+ 9192:9197:void detachAndScrapAttachedViews(androidx.recyclerview.widget.RecyclerView$Recycler) -> detachAndScrapAttachedViews
+ 8875:8877:void detachAndScrapView(android.view.View,androidx.recyclerview.widget.RecyclerView$Recycler) -> detachAndScrapView
+ 8889:8891:void detachAndScrapViewAt(int,androidx.recyclerview.widget.RecyclerView$Recycler) -> detachAndScrapViewAt
+ 8762:8766:void detachView(android.view.View) -> detachView
+ 8784:8785:void detachViewAt(int) -> detachViewAt
+ 8791:8792:void detachViewInternal(int,android.view.View) -> detachViewInternal
+ 8113:8115:void dispatchAttachedToWindow(androidx.recyclerview.widget.RecyclerView) -> dispatchAttachedToWindow
+ 8118:8120:void dispatchDetachedFromWindow(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$Recycler) -> dispatchDetachedFromWindow
+ 8499:8502:void endAnimation(android.view.View) -> endAnimation
+ 8703:8713:android.view.View findContainingItemView(android.view.View) -> findContainingItemView
+ 8731:8743:android.view.View findViewByPosition(int) -> findViewByPosition
+ 8347:8352:androidx.recyclerview.widget.RecyclerView$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 8371:8371:androidx.recyclerview.widget.RecyclerView$LayoutParams generateLayoutParams(android.content.Context,android.util.AttributeSet) -> generateLayoutParams
+ 8662:8662:int getBaseline() -> getBaseline
+ 9742:9742:int getBottomDecorationHeight(android.view.View) -> getBottomDecorationHeight
+ 8933:8933:android.view.View getChildAt(int) -> getChildAt
+ 8923:8923:int getChildCount() -> getChildCount
+ 9403:9429:int getChildMeasureSpec(int,int,int,boolean) -> getChildMeasureSpec
+ 9446:9487:int getChildMeasureSpec(int,int,int,int,boolean) -> getChildMeasureSpec
+ 9834:9867:int[] getChildRectangleOnScreenScrollAmount(android.view.View,android.graphics.Rect) -> getChildRectangleOnScreenScrollAmount
+ 8230:8230:boolean getClipToPadding() -> getClipToPadding
+ 10528:10531:int getColumnCountForAccessibility(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> getColumnCountForAccessibility
+ 9686:9686:int getDecoratedBottom(android.view.View) -> getDecoratedBottom
+ 9638:9639:void getDecoratedBoundsWithMargins(android.view.View,android.graphics.Rect) -> getDecoratedBoundsWithMargins
+ 9650:9650:int getDecoratedLeft(android.view.View) -> getDecoratedLeft
+ 9514:9515:int getDecoratedMeasuredHeight(android.view.View) -> getDecoratedMeasuredHeight
+ 9500:9501:int getDecoratedMeasuredWidth(android.view.View) -> getDecoratedMeasuredWidth
+ 9674:9674:int getDecoratedRight(android.view.View) -> getDecoratedRight
+ 9662:9662:int getDecoratedTop(android.view.View) -> getDecoratedTop
+ 9089:9096:android.view.View getFocusedChild() -> getFocusedChild
+ 8999:8999:int getHeight() -> getHeight
+ 8967:8967:int getHeightMode() -> getHeightMode
+ 9112:9113:int getItemCount() -> getItemCount
+ 8683:8683:int getItemViewType(android.view.View) -> getItemViewType
+ 8489:8489:int getLayoutDirection() -> getLayoutDirection
+ 9757:9757:int getLeftDecorationWidth(android.view.View) -> getLeftDecorationWidth
+ 10283:10283:int getMinimumHeight() -> getMinimumHeight
+ 10275:10275:int getMinimumWidth() -> getMinimumWidth
+ 9039:9039:int getPaddingBottom() -> getPaddingBottom
+ 9059:9059:int getPaddingEnd() -> getPaddingEnd
+ 9009:9009:int getPaddingLeft() -> getPaddingLeft
+ 9029:9029:int getPaddingRight() -> getPaddingRight
+ 9049:9049:int getPaddingStart() -> getPaddingStart
+ 9019:9019:int getPaddingTop() -> getPaddingTop
+ 8673:8673:int getPosition(android.view.View) -> getPosition
+ 10635:10644:androidx.recyclerview.widget.RecyclerView$LayoutManager$Properties getProperties(android.content.Context,android.util.AttributeSet,int,int) -> getProperties
+ 9772:9772:int getRightDecorationWidth(android.view.View) -> getRightDecorationWidth
+ 10508:10511:int getRowCountForAccessibility(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> getRowCountForAccessibility
+ 10492:10492:int getSelectionModeForAccessibility(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> getSelectionModeForAccessibility
+ 9727:9727:int getTopDecorationHeight(android.view.View) -> getTopDecorationHeight
+ 9605:9628:void getTransformedBoundingBox(android.view.View,boolean,android.graphics.Rect) -> getTransformedBoundingBox
+ 8983:8983:int getWidth() -> getWidth
+ 8950:8950:int getWidthMode() -> getWidthMode
+ 10669:10677:boolean hasFlexibleChildInBothOrientations() -> hasFlexibleChildInBothOrientations
+ 9079:9079:boolean hasFocus() -> hasFocus
+ 9157:9166:void ignoreView(android.view.View) -> ignoreView
+ 8130:8130:boolean isAttachedToWindow() -> isAttachedToWindow
+ 7991:7991:boolean isAutoMeasureEnabled() -> isAutoMeasureEnabled
+ 9069:9069:boolean isFocused() -> isFocused
+ 9966:9981:boolean isFocusedChildVisibleAfterScrolling(androidx.recyclerview.widget.RecyclerView,int,int) -> isFocusedChildVisibleAfterScrolling
+ 8058:8058:boolean isItemPrefetchEnabled() -> isItemPrefetchEnabled
+ 10545:10545:boolean isLayoutHierarchical(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> isLayoutHierarchical
+ 9324:9324:boolean isMeasurementCacheEnabled() -> isMeasurementCacheEnabled
+ 9340:9353:boolean isMeasurementUpToDate(int,int,int) -> isMeasurementUpToDate
+ 8477:8477:boolean isSmoothScrolling() -> isSmoothScrolling
+ 9944:9952:boolean isViewPartiallyVisible(android.view.View,boolean,boolean) -> isViewPartiallyVisible
+ 9549:9552:void layoutDecorated(android.view.View,int,int,int,int) -> layoutDecorated
+ 9585:9590:void layoutDecoratedWithMargins(android.view.View,int,int,int,int) -> layoutDecoratedWithMargins
+ 9270:9284:void measureChild(android.view.View,int,int) -> measureChild
+ 9369:9386:void measureChildWithMargins(android.view.View,int,int) -> measureChildWithMargins
+ 8856:8863:void moveView(int,int) -> moveView
+ 9123:9126:void offsetChildrenHorizontal(int) -> offsetChildrenHorizontal
+ 9135:9138:void offsetChildrenVertical(int) -> offsetChildrenVertical
+ 10031:10031:void onAdapterChanged(androidx.recyclerview.widget.RecyclerView$Adapter,androidx.recyclerview.widget.RecyclerView$Adapter) -> onAdapterChanged
+ 10059:10059:boolean onAddFocusables(androidx.recyclerview.widget.RecyclerView,java.util.ArrayList,int,int) -> onAddFocusables
+ 8185:8185:void onAttachedToWindow(androidx.recyclerview.widget.RecyclerView) -> onAttachedToWindow
+ 8194:8194:void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView) -> onDetachedFromWindow
+ 8221:8222:void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$Recycler) -> onDetachedFromWindow
+ 9800:9800:android.view.View onFocusSearchFailed(android.view.View,int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> onFocusSearchFailed
+ 10397:10398:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 10413:10424:void onInitializeAccessibilityEvent(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 10348:10349:void onInitializeAccessibilityNodeInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 10378:10393:void onInitializeAccessibilityNodeInfo(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 10428:10434:void onInitializeAccessibilityNodeInfoForItem(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfoForItem
+ 10453:10459:void onInitializeAccessibilityNodeInfoForItem(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfoForItem
+ 9821:9821:android.view.View onInterceptFocusSearch(android.view.View,int) -> onInterceptFocusSearch
+ 10083:10083:void onItemsAdded(androidx.recyclerview.widget.RecyclerView,int,int) -> onItemsAdded
+ 10070:10070:void onItemsChanged(androidx.recyclerview.widget.RecyclerView) -> onItemsChanged
+ 10138:10138:void onItemsMoved(androidx.recyclerview.widget.RecyclerView,int,int,int) -> onItemsMoved
+ 10094:10094:void onItemsRemoved(androidx.recyclerview.widget.RecyclerView,int,int) -> onItemsRemoved
+ 10107:10107:void onItemsUpdated(androidx.recyclerview.widget.RecyclerView,int,int) -> onItemsUpdated
+ 10120:10121:void onItemsUpdated(androidx.recyclerview.widget.RecyclerView,int,int,java.lang.Object) -> onItemsUpdated
+ 8285:8286:void onLayoutChildren(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> onLayoutChildren
+ 8300:8300:void onLayoutCompleted(androidx.recyclerview.widget.RecyclerView$State) -> onLayoutCompleted
+ 10256:10257:void onMeasure(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,int,int) -> onMeasure
+ 9991:9991:boolean onRequestChildFocus(androidx.recyclerview.widget.RecyclerView,android.view.View,android.view.View) -> onRequestChildFocus
+ 10013:10013:boolean onRequestChildFocus(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State,android.view.View,android.view.View) -> onRequestChildFocus
+ 10303:10303:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 10297:10297:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 10323:10323:void onScrollStateChanged(int) -> onScrollStateChanged
+ 10312:10315:void onSmoothScrollerStopped(androidx.recyclerview.widget.RecyclerView$SmoothScroller) -> onSmoothScrollerStopped
+ 10550:10550:boolean performAccessibilityAction(int,android.os.Bundle) -> performAccessibilityAction
+ 10566:10592:boolean performAccessibilityAction(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,int,android.os.Bundle) -> performAccessibilityAction
+ 10598:10598:boolean performAccessibilityActionForItem(android.view.View,int,android.os.Bundle) -> performAccessibilityActionForItem
+ 10619:10619:boolean performAccessibilityActionForItem(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,android.view.View,int,android.os.Bundle) -> performAccessibilityActionForItem
+ 8144:8147:void postOnAnimation(java.lang.Runnable) -> postOnAnimation
+ 8649:8653:void removeAllViews() -> removeAllViews
+ 10338:10344:void removeAndRecycleAllViews(androidx.recyclerview.widget.RecyclerView$Recycler) -> removeAndRecycleAllViews
+ 9228:9255:void removeAndRecycleScrapInt(androidx.recyclerview.widget.RecyclerView$Recycler) -> removeAndRecycleScrapInt
+ 8900:8902:void removeAndRecycleView(android.view.View,androidx.recyclerview.widget.RecyclerView$Recycler) -> removeAndRecycleView
+ 8911:8914:void removeAndRecycleViewAt(int,androidx.recyclerview.widget.RecyclerView$Recycler) -> removeAndRecycleViewAt
+ 8164:8167:boolean removeCallbacks(java.lang.Runnable) -> removeCallbacks
+ 8846:8847:void removeDetachedView(android.view.View) -> removeDetachedView
+ 8625:8626:void removeView(android.view.View) -> removeView
+ 8637:8641:void removeViewAt(int) -> removeViewAt
+ 9886:9886:boolean requestChildRectangleOnScreen(androidx.recyclerview.widget.RecyclerView,android.view.View,android.graphics.Rect,boolean) -> requestChildRectangleOnScreen
+ 9906:9920:boolean requestChildRectangleOnScreen(androidx.recyclerview.widget.RecyclerView,android.view.View,android.graphics.Rect,boolean,boolean) -> requestChildRectangleOnScreen
+ 7847:7850:void requestLayout() -> requestLayout
+ 10472:10473:void requestSimpleAnimationsInNextLayout() -> requestSimpleAnimationsInNextLayout
+ 9200:9216:void scrapOrRecycleView(androidx.recyclerview.widget.RecyclerView$Recycler,int,android.view.View) -> scrapOrRecycleView
+ 8388:8388:int scrollHorizontallyBy(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> scrollHorizontallyBy
+ 8438:8438:void scrollToPosition(int) -> scrollToPosition
+ 8405:8405:int scrollVerticallyBy(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> scrollVerticallyBy
+ 7918:7919:void setAutoMeasureEnabled(boolean) -> setAutoMeasureEnabled
+ 10648:10652:void setExactMeasureSpecsFrom(androidx.recyclerview.widget.RecyclerView) -> setExactMeasureSpecsFrom
+ 8040:8047:void setItemPrefetchEnabled(boolean) -> setItemPrefetchEnabled
+ 7757:7768:void setMeasureSpecs(int,int) -> setMeasureSpecs
+ 7836:7841:void setMeasuredDimension(android.graphics.Rect,int,int) -> setMeasuredDimension
+ 10267:10268:void setMeasuredDimension(int,int) -> setMeasuredDimension
+ 7784:7813:void setMeasuredDimensionFromChildren(int,int) -> setMeasuredDimensionFromChildren
+ 9336:9337:void setMeasurementCacheEnabled(boolean) -> setMeasurementCacheEnabled
+ 7741:7754:void setRecyclerView(androidx.recyclerview.widget.RecyclerView) -> setRecyclerView
+ 9307:9310:boolean shouldMeasureChild(android.view.View,int,int,androidx.recyclerview.widget.RecyclerView$LayoutParams) -> shouldMeasureChild
+ 10665:10665:boolean shouldMeasureTwice() -> shouldMeasureTwice
+ 9293:9295:boolean shouldReMeasureChild(android.view.View,int,int,androidx.recyclerview.widget.RecyclerView$LayoutParams) -> shouldReMeasureChild
+ 8451:8452:void smoothScrollToPosition(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State,int) -> smoothScrollToPosition
+ 8465:8471:void startSmoothScroll(androidx.recyclerview.widget.RecyclerView$SmoothScroller) -> startSmoothScroll
+ 9178:9182:void stopIgnoringView(android.view.View) -> stopIgnoringView
+ 10306:10309:void stopSmoothScroller() -> stopSmoothScroller
+ 8017:8017:boolean supportsPredictiveItemAnimations() -> supportsPredictiveItemAnimations
+androidx.recyclerview.widget.RecyclerView$LayoutManager$1 -> androidx.recyclerview.widget.RecyclerView$LayoutManager$1:
+ 7591:7591:void <init>(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> <init>
+ 7594:7594:android.view.View getChildAt(int) -> getChildAt
+ 7616:7618:int getChildEnd(android.view.View) -> getChildEnd
+ 7609:7611:int getChildStart(android.view.View) -> getChildStart
+ 7604:7604:int getParentEnd() -> getParentEnd
+ 7599:7599:int getParentStart() -> getParentStart
+androidx.recyclerview.widget.RecyclerView$LayoutManager$2 -> androidx.recyclerview.widget.RecyclerView$LayoutManager$2:
+ 7627:7627:void <init>(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> <init>
+ 7630:7630:android.view.View getChildAt(int) -> getChildAt
+ 7653:7655:int getChildEnd(android.view.View) -> getChildEnd
+ 7646:7648:int getChildStart(android.view.View) -> getChildStart
+ 7640:7641:int getParentEnd() -> getParentEnd
+ 7635:7635:int getParentStart() -> getParentStart
+androidx.recyclerview.widget.RecyclerView$LayoutManager$Properties -> androidx.recyclerview.widget.RecyclerView$LayoutManager$Properties:
+ 10683:10683:void <init>() -> <init>
+androidx.recyclerview.widget.RecyclerView$LayoutParams -> androidx.recyclerview.widget.RecyclerView$LayoutParams:
+ 11617:11626:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 11617:11630:void <init>(int,int) -> <init>
+ 11617:11634:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+ 11617:11638:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 11617:11642:void <init>(androidx.recyclerview.widget.RecyclerView$LayoutParams) -> <init>
+ 11713:11713:int getViewAdapterPosition() -> getViewAdapterPosition
+ 11701:11701:int getViewLayoutPosition() -> getViewLayoutPosition
+ 11691:11691:int getViewPosition() -> getViewPosition
+ 11683:11683:boolean isItemChanged() -> isItemChanged
+ 11672:11672:boolean isItemRemoved() -> isItemRemoved
+ 11661:11661:boolean isViewInvalid() -> isViewInvalid
+ 11651:11651:boolean viewNeedsUpdate() -> viewNeedsUpdate
+androidx.recyclerview.widget.RecyclerView$OnFlingListener -> androidx.recyclerview.widget.RecyclerView$OnFlingListener:
+ 12663:12663:void <init>() -> <init>
+androidx.recyclerview.widget.RecyclerView$OnScrollListener -> androidx.recyclerview.widget.RecyclerView$OnScrollListener:
+ 10870:10870:void <init>() -> <init>
+ 10878:10878:void onScrollStateChanged(androidx.recyclerview.widget.RecyclerView,int) -> onScrollStateChanged
+ 10891:10891:void onScrolled(androidx.recyclerview.widget.RecyclerView,int,int) -> onScrolled
+androidx.recyclerview.widget.RecyclerView$RecycledViewPool -> androidx.recyclerview.widget.RecyclerView$RecycledViewPool:
+ 5635:5660:void <init>() -> <init>
+ 5782:5783:void attach() -> attach
+ 5666:5670:void clear() -> clear
+ 5786:5787:void detach() -> detach
+ 5766:5769:void factorInBindTime(int,long) -> factorInBindTime
+ 5760:5763:void factorInCreateTime(int,long) -> factorInCreateTime
+ 5704:5713:androidx.recyclerview.widget.RecyclerView$ViewHolder getRecycledView(int) -> getRecycledView
+ 5691:5691:int getRecycledViewCount(int) -> getRecycledViewCount
+ 5815:5820:androidx.recyclerview.widget.RecyclerView$RecycledViewPool$ScrapData getScrapDataForType(int) -> getScrapDataForType
+ 5803:5812:void onAdapterChanged(androidx.recyclerview.widget.RecyclerView$Adapter,androidx.recyclerview.widget.RecyclerView$Adapter,boolean) -> onAdapterChanged
+ 5740:5750:void putRecycledView(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> putRecycledView
+ 5753:5756:long runningAverage(long,long) -> runningAverage
+ 5679:5685:void setMaxRecycledViews(int,int) -> setMaxRecycledViews
+ 5722:5729:int size() -> size
+ 5777:5778:boolean willBindInTime(int,long,long) -> willBindInTime
+ 5772:5773:boolean willCreateInTime(int,long,long) -> willCreateInTime
+androidx.recyclerview.widget.RecyclerView$RecycledViewPool$ScrapData -> androidx.recyclerview.widget.RecyclerView$RecycledViewPool$ScrapData:
+ 5652:5656:void <init>() -> <init>
+androidx.recyclerview.widget.RecyclerView$Recycler -> androidx.recyclerview.widget.RecyclerView$Recycler:
+ 5896:5906:void <init>(androidx.recyclerview.widget.RecyclerView) -> <init>
+ 6524:6542:void addViewHolderToRecycledViewPool(androidx.recyclerview.widget.RecyclerView$ViewHolder,boolean) -> addViewHolderToRecycledViewPool
+ 6299:6318:void attachAccessibilityDelegateOnBind(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> attachAccessibilityDelegateOnBind
+ 6038:6067:void bindViewToPosition(android.view.View,int) -> bindViewToPosition
+ 5919:5921:void clear() -> clear
+ 6911:6926:void clearOldPositions() -> clearOldPositions
+ 6612:6616:void clearScrap() -> clearScrap
+ 6088:6095:int convertPreLayoutPositionToPostLayout(int) -> convertPreLayoutPositionToPostLayout
+ 6765:6775:void dispatchViewRecycled(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> dispatchViewRecycled
+ 6621:6646:androidx.recyclerview.widget.RecyclerView$ViewHolder getChangedScrapViewForPosition(int) -> getChangedScrapViewForPosition
+ 6869:6872:androidx.recyclerview.widget.RecyclerView$RecycledViewPool getRecycledViewPool() -> getRecycledViewPool
+ 6604:6604:int getScrapCount() -> getScrapCount
+ 5951:5951:java.util.List getScrapList() -> getScrapList
+ 6712:6760:androidx.recyclerview.widget.RecyclerView$ViewHolder getScrapOrCachedViewForId(long,int,boolean) -> getScrapOrCachedViewForId
+ 6657:6707:androidx.recyclerview.widget.RecyclerView$ViewHolder getScrapOrHiddenOrCachedHolderForPosition(int,boolean) -> getScrapOrHiddenOrCachedHolderForPosition
+ 6608:6608:android.view.View getScrapViewAt(int) -> getScrapViewAt
+ 6114:6114:android.view.View getViewForPosition(int) -> getViewForPosition
+ 6118:6118:android.view.View getViewForPosition(int,boolean) -> getViewForPosition
+ 6321:6324:void invalidateDisplayListInt(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> invalidateDisplayListInt
+ 6327:6345:void invalidateDisplayListInt(android.view.ViewGroup,boolean) -> invalidateDisplayListInt
+ 6929:6937:void markItemDecorInsetsDirty() -> markItemDecorInsetsDirty
+ 6895:6908:void markKnownViewsInvalid() -> markKnownViewsInvalid
+ 6813:6824:void offsetPositionRecordsForInsert(int,int) -> offsetPositionRecordsForInsert
+ 6785:6810:void offsetPositionRecordsForMove(int,int) -> offsetPositionRecordsForMove
+ 6833:6852:void offsetPositionRecordsForRemove(int,int,boolean) -> offsetPositionRecordsForRemove
+ 6779:6781:void onAdapterChanged(androidx.recyclerview.widget.RecyclerView$Adapter,androidx.recyclerview.widget.RecyclerView$Adapter,boolean) -> onAdapterChanged
+ 6550:6555:void quickRecycleScrapView(android.view.View) -> quickRecycleScrapView
+ 6390:6398:void recycleAndClearCachedViews() -> recycleAndClearCachedViews
+ 6415:6421:void recycleCachedViewAt(int) -> recycleCachedViewAt
+ 6360:6387:void recycleView(android.view.View) -> recycleView
+ 6429:6513:void recycleViewHolderInternal(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> recycleViewHolderInternal
+ 6567:6584:void scrapView(android.view.View) -> scrapView
+ 6859:6866:void setRecycledViewPool(androidx.recyclerview.widget.RecyclerView$RecycledViewPool) -> setRecycledViewPool
+ 6855:6856:void setViewCacheExtension(androidx.recyclerview.widget.RecyclerView$ViewCacheExtension) -> setViewCacheExtension
+ 5929:5931:void setViewCacheSize(int) -> setViewCacheSize
+ 6004:6019:boolean tryBindViewHolderByDeadline(androidx.recyclerview.widget.RecyclerView$ViewHolder,int,int,long) -> tryBindViewHolderByDeadline
+ 6142:6295:androidx.recyclerview.widget.RecyclerView$ViewHolder tryGetViewHolderForPositionByDeadline(int,boolean,long) -> tryGetViewHolderForPositionByDeadline
+ 6593:6601:void unscrapView(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> unscrapView
+ 5934:5942:void updateViewCacheSize() -> updateViewCacheSize
+ 5965:5986:boolean validateViewHolderForOffsetPosition(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> validateViewHolderForOffsetPosition
+ 6876:6892:void viewRangeUpdate(int,int) -> viewRangeUpdate
+androidx.recyclerview.widget.RecyclerView$RecyclerViewDataObserver -> androidx.recyclerview.widget.RecyclerView$RecyclerViewDataObserver:
+ 5531:5532:void <init>(androidx.recyclerview.widget.RecyclerView) -> <init>
+ 5536:5543:void onChanged() -> onChanged
+ 5547:5551:void onItemRangeChanged(int,int,java.lang.Object) -> onItemRangeChanged
+ 5555:5559:void onItemRangeInserted(int,int) -> onItemRangeInserted
+ 5571:5575:void onItemRangeMoved(int,int,int) -> onItemRangeMoved
+ 5563:5567:void onItemRangeRemoved(int,int) -> onItemRangeRemoved
+ 5578:5584:void triggerUpdateProcessor() -> triggerUpdateProcessor
+androidx.recyclerview.widget.RecyclerView$SavedState -> androidx.recyclerview.widget.RecyclerView$SavedState:
+ 12334:12334:void <clinit>() -> <clinit>
+ 12312:12315:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 12321:12322:void <init>(android.os.Parcelable) -> <init>
+ 12331:12332:void copyFrom(androidx.recyclerview.widget.RecyclerView$SavedState) -> copyFrom
+ 12326:12328:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.recyclerview.widget.RecyclerView$SavedState$1 -> androidx.recyclerview.widget.RecyclerView$SavedState$1:
+ 12334:12334:void <init>() -> <init>
+ 12334:12334:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 12334:12334:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 12337:12337:androidx.recyclerview.widget.RecyclerView$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 12342:12342:androidx.recyclerview.widget.RecyclerView$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 12334:12334:java.lang.Object[] newArray(int) -> newArray
+ 12347:12347:androidx.recyclerview.widget.RecyclerView$SavedState[] newArray(int) -> newArray
+androidx.recyclerview.widget.RecyclerView$SimpleOnItemTouchListener -> androidx.recyclerview.widget.RecyclerView$SimpleOnItemTouchListener:
+ 10846:10846:void <init>() -> <init>
+ 10849:10849:boolean onInterceptTouchEvent(androidx.recyclerview.widget.RecyclerView,android.view.MotionEvent) -> onInterceptTouchEvent
+ 10858:10858:void onRequestDisallowInterceptTouchEvent(boolean) -> onRequestDisallowInterceptTouchEvent
+ 10854:10854:void onTouchEvent(androidx.recyclerview.widget.RecyclerView,android.view.MotionEvent) -> onTouchEvent
+androidx.recyclerview.widget.RecyclerView$SmoothScroller -> androidx.recyclerview.widget.RecyclerView$SmoothScroller:
+ 11760:11778:void <init>() -> <init>
+ 11835:11842:android.graphics.PointF computeScrollVectorForPosition(int) -> computeScrollVectorForPosition
+ 11972:11972:android.view.View findViewByPosition(int) -> findViewByPosition
+ 11965:11965:int getChildCount() -> getChildCount
+ 11958:11958:int getChildPosition(android.view.View) -> getChildPosition
+ 11851:11851:androidx.recyclerview.widget.RecyclerView$LayoutManager getLayoutManager() -> getLayoutManager
+ 11903:11903:int getTargetPosition() -> getTargetPosition
+ 11981:11982:void instantScrollToPosition(int) -> instantScrollToPosition
+ 11885:11885:boolean isPendingInitialRun() -> isPendingInitialRun
+ 11893:11893:boolean isRunning() -> isRunning
+ 11998:12002:void normalize(android.graphics.PointF) -> normalize
+ 11907:11952:void onAnimation(int,int) -> onAnimation
+ 11985:11991:void onChildAttachedToWindow(android.view.View) -> onChildAttachedToWindow
+ 11820:11821:void setTargetPosition(int) -> setTargetPosition
+ 11795:11817:void start(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$LayoutManager) -> start
+ 11861:11875:void stop() -> stop
+androidx.recyclerview.widget.RecyclerView$SmoothScroller$Action -> androidx.recyclerview.widget.RecyclerView$SmoothScroller$Action:
+ 12070:12071:void <init>(int,int) -> <init>
+ 12079:12080:void <init>(int,int,int) -> <init>
+ 12055:12095:void <init>(int,int,int,android.view.animation.Interpolator) -> <init>
+ 12174:12174:int getDuration() -> getDuration
+ 12155:12155:int getDx() -> getDx
+ 12165:12165:int getDy() -> getDy
+ 12184:12184:android.view.animation.Interpolator getInterpolator() -> getInterpolator
+ 12117:12117:boolean hasJumpTarget() -> hasJumpTarget
+ 12113:12114:void jumpTo(int) -> jumpTo
+ 12121:12142:void runIfNecessary(androidx.recyclerview.widget.RecyclerView) -> runIfNecessary
+ 12178:12180:void setDuration(int) -> setDuration
+ 12159:12161:void setDx(int) -> setDx
+ 12169:12171:void setDy(int) -> setDy
+ 12194:12196:void setInterpolator(android.view.animation.Interpolator) -> setInterpolator
+ 12208:12213:void update(int,int,int,android.view.animation.Interpolator) -> update
+ 12145:12151:void validate() -> validate
+androidx.recyclerview.widget.RecyclerView$State -> androidx.recyclerview.widget.RecyclerView$State:
+ 12362:12433:void <init>() -> <init>
+ 12368:12373:void assertLayoutStep(int) -> assertLayoutStep
+ 12583:12583:boolean didStructureChange() -> didStructureChange
+ 12537:12540:java.lang.Object get(int) -> get
+ 12611:12611:int getItemCount() -> getItemCount
+ 12624:12624:int getRemainingScrollHorizontal() -> getRemainingScrollHorizontal
+ 12635:12635:int getRemainingScrollVertical() -> getRemainingScrollVertical
+ 12566:12566:int getTargetScrollPosition() -> getTargetScrollPosition
+ 12575:12575:boolean hasTargetScrollPosition() -> hasTargetScrollPosition
+ 12481:12481:boolean isMeasuring() -> isMeasuring
+ 12490:12490:boolean isPreLayout() -> isPreLayout
+ 12459:12464:void prepareForNestedPrefetch(androidx.recyclerview.widget.RecyclerView$Adapter) -> prepareForNestedPrefetch
+ 12552:12556:void put(int,java.lang.Object) -> put
+ 12521:12525:void remove(int) -> remove
+ 12640:12640:java.lang.String toString() -> toString
+ 12501:12501:boolean willRunPredictiveAnimations() -> willRunPredictiveAnimations
+ 12512:12512:boolean willRunSimpleAnimations() -> willRunSimpleAnimations
+androidx.recyclerview.widget.RecyclerView$ViewCacheExtension -> androidx.recyclerview.widget.RecyclerView$ViewCacheExtension:
+ 6953:6953:void <init>() -> <init>
+androidx.recyclerview.widget.RecyclerView$ViewFlinger -> androidx.recyclerview.widget.RecyclerView$ViewFlinger:
+ 5238:5248:void <init>(androidx.recyclerview.widget.RecyclerView) -> <init>
+ 5483:5501:int computeScrollDuration(int,int,int,int) -> computeScrollDuration
+ 5477:5479:float distanceInfluenceForSnapDuration(float) -> distanceInfluenceForSnapDuration
+ 5416:5428:void fling(int,int) -> fling
+ 5411:5413:void internalPostOnAnimation() -> internalPostOnAnimation
+ 5403:5408:void postOnAnimation() -> postOnAnimation
+ 5252:5400:void run() -> run
+ 5445:5474:void smoothScrollBy(int,int,int,android.view.animation.Interpolator) -> smoothScrollBy
+ 5505:5507:void stop() -> stop
+androidx.recyclerview.widget.RecyclerView$ViewHolder -> androidx.recyclerview.widget.RecyclerView$ViewHolder:
+ 11059:11059:void <clinit>() -> <clinit>
+ 10953:11091:void <init>(android.view.View) -> <init>
+ 11300:11306:void addChangePayload(java.lang.Object) -> addChangePayload
+ 11296:11297:void addFlags(int) -> addFlags
+ 11116:11118:void clearOldPosition() -> clearOldPosition
+ 11316:11320:void clearPayload() -> clearPayload
+ 11243:11244:void clearReturnedFromScrapFlag() -> clearReturnedFromScrapFlag
+ 11247:11248:void clearTmpDetachFlag() -> clearTmpDetachFlag
+ 11309:11313:void createPayloadsIfNeeded() -> createPayloadsIfNeeded
+ 11456:11456:boolean doesTransientStatePreventRecycling() -> doesTransientStatePreventRecycling
+ 11094:11097:void flagRemovedAndOffsetPosition(int,int,boolean) -> flagRemovedAndOffsetPosition
+ 11192:11195:int getAdapterPosition() -> getAdapterPosition
+ 11220:11220:long getItemId() -> getItemId
+ 11227:11227:int getItemViewType() -> getItemViewType
+ 11166:11166:int getLayoutPosition() -> getLayoutPosition
+ 11210:11210:int getOldPosition() -> getOldPosition
+ 11140:11140:int getPosition() -> getPosition
+ 11323:11332:java.util.List getUnmodifiedPayloads() -> getUnmodifiedPayloads
+ 11276:11276:boolean hasAnyOfTheFlags(int) -> hasAnyOfTheFlags
+ 11288:11288:boolean isAdapterPositionUnknown() -> isAdapterPositionUnknown
+ 11284:11284:boolean isAttachedToTransitionOverlay() -> isAttachedToTransitionOverlay
+ 11268:11268:boolean isBound() -> isBound
+ 11260:11260:boolean isInvalid() -> isInvalid
+ 11439:11440:boolean isRecyclable() -> isRecyclable
+ 11272:11272:boolean isRemoved() -> isRemoved
+ 11231:11231:boolean isScrap() -> isScrap
+ 11280:11280:boolean isTmpDetached() -> isTmpDetached
+ 11460:11460:boolean isUpdated() -> isUpdated
+ 11264:11264:boolean needsUpdate() -> needsUpdate
+ 11100:11113:void offsetPosition(int,boolean) -> offsetPosition
+ 11356:11364:void onEnteredHiddenState(androidx.recyclerview.widget.RecyclerView) -> onEnteredHiddenState
+ 11370:11373:void onLeftHiddenState(androidx.recyclerview.widget.RecyclerView) -> onLeftHiddenState
+ 11337:11349:void resetInternal() -> resetInternal
+ 11121:11124:void saveOldPosition() -> saveOldPosition
+ 11292:11293:void setFlags(int,int) -> setFlags
+ 11414:11431:void setIsRecyclable(boolean) -> setIsRecyclable
+ 11255:11257:void setScrapContainer(androidx.recyclerview.widget.RecyclerView$Recycler,boolean) -> setScrapContainer
+ 11448:11448:boolean shouldBeKeptAsChild() -> shouldBeKeptAsChild
+ 11127:11127:boolean shouldIgnore() -> shouldIgnore
+ 11251:11252:void stopIgnoring() -> stopIgnoring
+ 11377:11397:java.lang.String toString() -> toString
+ 11235:11236:void unScrap() -> unScrap
+ 11239:11239:boolean wasReturnedFromScrap() -> wasReturnedFromScrap
+androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate -> androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate:
+ 44:52:void <init>(androidx.recyclerview.widget.RecyclerView) -> <init>
+ 99:99:androidx.core.view.AccessibilityDelegateCompat getItemDelegate() -> getItemDelegate
+ 80:87:void onInitializeAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 72:76:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 60:67:boolean performAccessibilityAction(android.view.View,int,android.os.Bundle) -> performAccessibilityAction
+ 55:55:boolean shouldIgnore() -> shouldIgnore
+androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate$ItemDelegate -> androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate$ItemDelegate:
+ 112:121:void <init>(androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate) -> <init>
+ 201:205:boolean dispatchPopulateAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> dispatchPopulateAccessibilityEvent
+ 245:249:androidx.core.view.accessibility.AccessibilityNodeProviderCompat getAccessibilityNodeProvider(android.view.View) -> getAccessibilityNodeProvider
+ 138:138:androidx.core.view.AccessibilityDelegateCompat getAndRemoveOriginalDelegateForItem(android.view.View) -> getAndRemoveOriginalDelegateForItem
+ 223:229:void onInitializeAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 143:156:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 212:218:void onPopulateAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onPopulateAccessibilityEvent
+ 234:238:boolean onRequestSendAccessibilityEvent(android.view.ViewGroup,android.view.View,android.view.accessibility.AccessibilityEvent) -> onRequestSendAccessibilityEvent
+ 160:173:boolean performAccessibilityAction(android.view.View,int,android.os.Bundle) -> performAccessibilityAction
+ 128:132:void saveOriginalDelegate(android.view.View) -> saveOriginalDelegate
+ 179:185:void sendAccessibilityEvent(android.view.View,int) -> sendAccessibilityEvent
+ 190:196:void sendAccessibilityEventUnchecked(android.view.View,android.view.accessibility.AccessibilityEvent) -> sendAccessibilityEventUnchecked
+androidx.recyclerview.widget.ScrollbarHelper -> androidx.recyclerview.widget.ScrollbarHelper:
+ 99:100:void <init>() -> <init>
+ 63:72:int computeScrollExtent(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.OrientationHelper,android.view.View,android.view.View,androidx.recyclerview.widget.RecyclerView$LayoutManager,boolean) -> computeScrollExtent
+ 32:53:int computeScrollOffset(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.OrientationHelper,android.view.View,android.view.View,androidx.recyclerview.widget.RecyclerView$LayoutManager,boolean,boolean) -> computeScrollOffset
+ 82:96:int computeScrollRange(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.OrientationHelper,android.view.View,android.view.View,androidx.recyclerview.widget.RecyclerView$LayoutManager,boolean) -> computeScrollRange
+androidx.recyclerview.widget.SimpleItemAnimator -> androidx.recyclerview.widget.SimpleItemAnimator:
+ 35:41:void <init>() -> <init>
+ 114:126:boolean animateAppearance(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> animateAppearance
+ 151:161:boolean animateChange(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> animateChange
+ 90:107:boolean animateDisappearance(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> animateDisappearance
+ 133:142:boolean animatePersistence(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> animatePersistence
+ 84:84:boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> canReuseUpdatedViewHolder
+ 301:303:void dispatchAddFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> dispatchAddFinished
+ 344:345:void dispatchAddStarting(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> dispatchAddStarting
+ 316:318:void dispatchChangeFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder,boolean) -> dispatchChangeFinished
+ 357:358:void dispatchChangeStarting(androidx.recyclerview.widget.RecyclerView$ViewHolder,boolean) -> dispatchChangeStarting
+ 291:293:void dispatchMoveFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> dispatchMoveFinished
+ 335:336:void dispatchMoveStarting(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> dispatchMoveStarting
+ 276:278:void dispatchRemoveFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> dispatchRemoveFinished
+ 326:327:void dispatchRemoveStarting(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> dispatchRemoveStarting
+ 50:50:boolean getSupportsChangeAnimations() -> getSupportsChangeAnimations
+ 404:404:void onAddFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onAddFinished
+ 393:393:void onAddStarting(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onAddStarting
+ 454:454:void onChangeFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder,boolean) -> onChangeFinished
+ 441:441:void onChangeStarting(androidx.recyclerview.widget.RecyclerView$ViewHolder,boolean) -> onChangeStarting
+ 427:427:void onMoveFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onMoveFinished
+ 416:416:void onMoveStarting(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onMoveStarting
+ 381:381:void onRemoveFinished(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onRemoveFinished
+ 370:370:void onRemoveStarting(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onRemoveStarting
+ 71:72:void setSupportsChangeAnimations(boolean) -> setSupportsChangeAnimations
+androidx.recyclerview.widget.SnapHelper -> androidx.recyclerview.widget.SnapHelper:
+ 34:42:void <init>() -> <init>
+ 93:106:void attachToRecyclerView(androidx.recyclerview.widget.RecyclerView) -> attachToRecyclerView
+ 137:142:int[] calculateScrollDistance(int,int) -> calculateScrollDistance
+ 209:209:androidx.recyclerview.widget.RecyclerView$SmoothScroller createScroller(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> createScroller
+ 224:227:androidx.recyclerview.widget.LinearSmoothScroller createSnapScroller(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> createSnapScroller
+ 123:125:void destroyCallbacks() -> destroyCallbacks
+ 65:75:boolean onFling(int,int) -> onFling
+ 112:117:void setupCallbacks() -> setupCallbacks
+ 157:173:boolean snapFromFling(androidx.recyclerview.widget.RecyclerView$LayoutManager,int,int) -> snapFromFling
+ 182:197:void snapToTargetExistingView() -> snapToTargetExistingView
+androidx.recyclerview.widget.SnapHelper$1 -> androidx.recyclerview.widget.SnapHelper$1:
+ 43:44:void <init>(androidx.recyclerview.widget.SnapHelper) -> <init>
+ 48:53:void onScrollStateChanged(androidx.recyclerview.widget.RecyclerView,int) -> onScrollStateChanged
+ 57:60:void onScrolled(androidx.recyclerview.widget.RecyclerView,int,int) -> onScrolled
+androidx.recyclerview.widget.SnapHelper$2 -> androidx.recyclerview.widget.SnapHelper$2:
+ 227:227:void <init>(androidx.recyclerview.widget.SnapHelper,android.content.Context) -> <init>
+ 246:246:float calculateSpeedPerPixel(android.util.DisplayMetrics) -> calculateSpeedPerPixel
+ 230:242:void onTargetFound(android.view.View,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.RecyclerView$SmoothScroller$Action) -> onTargetFound
+androidx.recyclerview.widget.SortedList -> androidx.recyclerview.widget.SortedList:
+ 91:92:void <init>(java.lang.Class,androidx.recyclerview.widget.SortedList$Callback) -> <init>
+ 101:106:void <init>(java.lang.Class,androidx.recyclerview.widget.SortedList$Callback,int) -> <init>
+ 143:144:int add(java.lang.Object) -> add
+ 542:563:int add(java.lang.Object,boolean) -> add
+ 162:172:void addAll(java.lang.Object[],boolean) -> addAll
+ 182:183:void addAll(java.lang.Object[]) -> addAll
+ 193:195:void addAll(java.util.Collection) -> addAll
+ 252:265:void addAllInternal(java.lang.Object[]) -> addAllInternal
+ 793:810:void addToData(int,java.lang.Object) -> addToData
+ 518:526:void beginBatchedUpdates() -> beginBatchedUpdates
+ 822:830:void clear() -> clear
+ 813:815:java.lang.Object[] copyArray(java.lang.Object[]) -> copyArray
+ 532:539:void endBatchedUpdates() -> endBatchedUpdates
+ 743:764:int findIndexOf(java.lang.Object,java.lang.Object[],int,int,int) -> findIndexOf
+ 396:401:int findSameItem(java.lang.Object,java.lang.Object[],int,int) -> findSameItem
+ 705:716:java.lang.Object get(int) -> get
+ 728:739:int indexOf(java.lang.Object) -> indexOf
+ 769:789:int linearEqualitySearch(java.lang.Object,int,int,int) -> linearEqualitySearch
+ 408:472:void merge(java.lang.Object[],int) -> merge
+ 685:693:void recalculatePositionOfItemAt(int) -> recalculatePositionOfItemAt
+ 574:575:boolean remove(java.lang.Object) -> remove
+ 593:598:boolean remove(java.lang.Object,boolean) -> remove
+ 586:589:java.lang.Object removeItemAt(int) -> removeItemAt
+ 602:608:void removeItemAtIndex(int,boolean) -> removeItemAtIndex
+ 217:224:void replaceAll(java.lang.Object[],boolean) -> replaceAll
+ 235:236:void replaceAll(java.lang.Object[]) -> replaceAll
+ 247:249:void replaceAll(java.util.Collection) -> replaceAll
+ 334:338:void replaceAllInsert(java.lang.Object) -> replaceAllInsert
+ 268:331:void replaceAllInternal(java.lang.Object[]) -> replaceAllInternal
+ 341:344:void replaceAllRemove() -> replaceAllRemove
+ 114:114:int size() -> size
+ 353:391:int sortAndDedup(java.lang.Object[]) -> sortAndDedup
+ 479:483:void throwIfInMutationOperation() -> throwIfInMutationOperation
+ 631:655:void updateItemAt(int,java.lang.Object) -> updateItemAt
+androidx.recyclerview.widget.SortedList$BatchedCallback -> androidx.recyclerview.widget.SortedList$BatchedCallback:
+ 951:954:void <init>(androidx.recyclerview.widget.SortedList$Callback) -> <init>
+ 988:988:boolean areContentsTheSame(java.lang.Object,java.lang.Object) -> areContentsTheSame
+ 993:993:boolean areItemsTheSame(java.lang.Object,java.lang.Object) -> areItemsTheSame
+ 958:958:int compare(java.lang.Object,java.lang.Object) -> compare
+ 1007:1008:void dispatchLastEvent() -> dispatchLastEvent
+ 999:999:java.lang.Object getChangePayload(java.lang.Object,java.lang.Object) -> getChangePayload
+ 978:979:void onChanged(int,int) -> onChanged
+ 983:984:void onChanged(int,int,java.lang.Object) -> onChanged
+ 963:964:void onInserted(int,int) -> onInserted
+ 973:974:void onMoved(int,int) -> onMoved
+ 968:969:void onRemoved(int,int) -> onRemoved
+androidx.recyclerview.widget.SortedList$Callback -> androidx.recyclerview.widget.SortedList$Callback:
+ 840:840:void <init>() -> <init>
+ 920:920:java.lang.Object getChangePayload(java.lang.Object,java.lang.Object) -> getChangePayload
+ 866:867:void onChanged(int,int,java.lang.Object) -> onChanged
+androidx.recyclerview.widget.SortedListAdapterCallback -> androidx.recyclerview.widget.SortedListAdapterCallback:
+ 33:35:void <init>(androidx.recyclerview.widget.RecyclerView$Adapter) -> <init>
+ 54:55:void onChanged(int,int) -> onChanged
+ 59:60:void onChanged(int,int,java.lang.Object) -> onChanged
+ 39:40:void onInserted(int,int) -> onInserted
+ 49:50:void onMoved(int,int) -> onMoved
+ 44:45:void onRemoved(int,int) -> onRemoved
+androidx.recyclerview.widget.StaggeredGridLayoutManager -> androidx.recyclerview.widget.StaggeredGridLayoutManager:
+ 107:236:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 107:250:void <init>(int,int) -> <init>
+ 1806:1809:void appendViewToAllSpans(android.view.View) -> appendViewToAllSpans
+ 786:819:void applyPendingSavedState(androidx.recyclerview.widget.StaggeredGridLayoutManager$AnchorInfo) -> applyPendingSavedState
+ 1865:1871:boolean areAllEndsEqual() -> areAllEndsEqual
+ 1875:1881:boolean areAllStartsEqual() -> areAllStartsEqual
+ 528:531:void assertNotInLayoutOrScroll(java.lang.String) -> assertNotInLayoutOrScroll
+ 1750:1763:void attachViewToSpans(android.view.View,androidx.recyclerview.widget.StaggeredGridLayoutManager$LayoutParams,androidx.recyclerview.widget.LayoutState) -> attachViewToSpans
+ 2043:2047:int calculateScrollDirectionForPosition(int) -> calculateScrollDirectionForPosition
+ 2027:2027:boolean canScrollHorizontally() -> canScrollHorizontally
+ 2022:2022:boolean canScrollVertically() -> canScrollVertically
+ 270:311:boolean checkForGaps() -> checkForGaps
+ 2273:2273:boolean checkLayoutParams(androidx.recyclerview.widget.RecyclerView$LayoutParams) -> checkLayoutParams
+ 403:416:boolean checkSpanForGap(androidx.recyclerview.widget.StaggeredGridLayoutManager$Span) -> checkSpanForGap
+ 2123:2155:void collectAdjacentPrefetchPositions(int,int,androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.RecyclerView$LayoutManager$LayoutPrefetchRegistry) -> collectAdjacentPrefetchPositions
+ 1088:1088:int computeHorizontalScrollExtent(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollExtent
+ 1068:1068:int computeHorizontalScrollOffset(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollOffset
+ 1108:1108:int computeHorizontalScrollRange(androidx.recyclerview.widget.RecyclerView$State) -> computeHorizontalScrollRange
+ 1092:1097:int computeScrollExtent(androidx.recyclerview.widget.RecyclerView$State) -> computeScrollExtent
+ 1072:1077:int computeScrollOffset(androidx.recyclerview.widget.RecyclerView$State) -> computeScrollOffset
+ 1112:1117:int computeScrollRange(androidx.recyclerview.widget.RecyclerView$State) -> computeScrollRange
+ 2052:2064:android.graphics.PointF computeScrollVectorForPosition(int) -> computeScrollVectorForPosition
+ 1103:1103:int computeVerticalScrollExtent(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollExtent
+ 1083:1083:int computeVerticalScrollOffset(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollOffset
+ 1123:1123:int computeVerticalScrollRange(androidx.recyclerview.widget.RecyclerView$State) -> computeVerticalScrollRange
+ 2392:2425:int convertFocusDirectionToLayoutDirection(int) -> convertFocusDirectionToLayoutDirection
+ 1732:1737:androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem createFullSpanItemFromEnd(int) -> createFullSpanItemFromEnd
+ 1741:1746:androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem createFullSpanItemFromStart(int) -> createFullSpanItemFromStart
+ 258:261:void createOrientationHelpers() -> createOrientationHelpers
+ 1575:1728:int fill(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.LayoutState,androidx.recyclerview.widget.RecyclerView$State) -> fill
+ 990:999:int[] findFirstCompletelyVisibleItemPositions(int[]) -> findFirstCompletelyVisibleItemPositions
+ 2218:2226:int findFirstReferenceChildPosition(int) -> findFirstReferenceChildPosition
+ 1387:1406:android.view.View findFirstVisibleItemClosestToEnd(boolean) -> findFirstVisibleItemClosestToEnd
+ 1357:1377:android.view.View findFirstVisibleItemClosestToStart(boolean) -> findFirstVisibleItemClosestToStart
+ 1327:1329:int findFirstVisibleItemPositionInt() -> findFirstVisibleItemPositionInt
+ 958:967:int[] findFirstVisibleItemPositions(int[]) -> findFirstVisibleItemPositions
+ 1054:1063:int[] findLastCompletelyVisibleItemPositions(int[]) -> findLastCompletelyVisibleItemPositions
+ 2235:2242:int findLastReferenceChildPosition(int) -> findLastReferenceChildPosition
+ 1022:1031:int[] findLastVisibleItemPositions(int[]) -> findLastVisibleItemPositions
+ 1411:1426:void fixEndGap(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,boolean) -> fixEndGap
+ 1430:1445:void fixStartGap(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,boolean) -> fixStartGap
+ 2248:2252:androidx.recyclerview.widget.RecyclerView$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 2259:2259:androidx.recyclerview.widget.RecyclerView$LayoutParams generateLayoutParams(android.content.Context,android.util.AttributeSet) -> generateLayoutParams
+ 2264:2267:androidx.recyclerview.widget.RecyclerView$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 1344:1347:int getColumnCountForAccessibility(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> getColumnCountForAccessibility
+ 2208:2209:int getFirstChildPosition() -> getFirstChildPosition
+ 500:500:int getGapStrategy() -> getGapStrategy
+ 2203:2204:int getLastChildPosition() -> getLastChildPosition
+ 1885:1892:int getMaxEnd(int) -> getMaxEnd
+ 1843:1850:int getMaxStart(int) -> getMaxStart
+ 1896:1903:int getMinEnd(int) -> getMinEnd
+ 1854:1861:int getMinStart(int) -> getMinStart
+ 1980:2016:androidx.recyclerview.widget.StaggeredGridLayoutManager$Span getNextSpan(androidx.recyclerview.widget.LayoutState) -> getNextSpan
+ 2277:2277:int getOrientation() -> getOrientation
+ 580:580:boolean getReverseLayout() -> getReverseLayout
+ 1335:1338:int getRowCountForAccessibility(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> getRowCountForAccessibility
+ 539:539:int getSpanCount() -> getSpanCount
+ 1531:1571:void handleUpdate(int,int,int) -> handleUpdate
+ 339:399:android.view.View hasGapsToFix() -> hasGapsToFix
+ 549:551:void invalidateSpanAssignments() -> invalidateSpanAssignments
+ 254:254:boolean isAutoMeasureEnabled() -> isAutoMeasureEnabled
+ 568:568:boolean isLayoutRTL() -> isLayoutRTL
+ 1128:1189:void measureChildWithDecorationsAndMargin(android.view.View,androidx.recyclerview.widget.StaggeredGridLayoutManager$LayoutParams,boolean) -> measureChildWithDecorationsAndMargin
+ 1193:1206:void measureChildWithDecorationsAndMargin(android.view.View,int,int,boolean) -> measureChildWithDecorationsAndMargin
+ 1486:1490:void offsetChildrenHorizontal(int) -> offsetChildrenHorizontal
+ 1494:1498:void offsetChildrenVertical(int) -> offsetChildrenVertical
+ 323:331:void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$Recycler) -> onDetachedFromWindow
+ 2284:2378:android.view.View onFocusSearchFailed(android.view.View,int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> onFocusSearchFailed
+ 1302:1319:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 1283:1298:void onInitializeAccessibilityNodeInfoForItem(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfoForItem
+ 1507:1508:void onItemsAdded(androidx.recyclerview.widget.RecyclerView,int,int) -> onItemsAdded
+ 1512:1514:void onItemsChanged(androidx.recyclerview.widget.RecyclerView) -> onItemsChanged
+ 1518:1519:void onItemsMoved(androidx.recyclerview.widget.RecyclerView,int,int,int) -> onItemsMoved
+ 1502:1503:void onItemsRemoved(androidx.recyclerview.widget.RecyclerView,int,int) -> onItemsRemoved
+ 1524:1525:void onItemsUpdated(androidx.recyclerview.widget.RecyclerView,int,int,java.lang.Object) -> onItemsUpdated
+ 605:606:void onLayoutChildren(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> onLayoutChildren
+ 611:722:void onLayoutChildren(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,boolean) -> onLayoutChildren
+ 726:731:void onLayoutCompleted(androidx.recyclerview.widget.RecyclerView$State) -> onLayoutCompleted
+ 1222:1228:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 1232:1277:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 316:319:void onScrollStateChanged(int) -> onScrollStateChanged
+ 1970:1973:boolean preferLastSpan(int) -> preferLastSpan
+ 2160:2172:void prepareLayoutStateForDelta(int,androidx.recyclerview.widget.RecyclerView$State) -> prepareLayoutStateForDelta
+ 1813:1816:void prependViewToAllSpans(android.view.View) -> prependViewToAllSpans
+ 1766:1802:void recycle(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.LayoutState) -> recycle
+ 1936:1964:void recycleFromEnd(androidx.recyclerview.widget.RecyclerView$Recycler,int) -> recycleFromEnd
+ 1907:1933:void recycleFromStart(androidx.recyclerview.widget.RecyclerView$Recycler,int) -> recycleFromStart
+ 734:780:void repositionToWrapContentIfNecessary() -> repositionToWrapContentIfNecessary
+ 560:565:void resolveShouldLayoutReverse() -> resolveShouldLayoutReverse
+ 2175:2199:int scrollBy(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> scrollBy
+ 2033:2033:int scrollHorizontallyBy(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> scrollHorizontallyBy
+ 2077:2083:void scrollToPosition(int) -> scrollToPosition
+ 2099:2105:void scrollToPositionWithOffset(int,int) -> scrollToPositionWithOffset
+ 2039:2039:int scrollVerticallyBy(int,androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State) -> scrollVerticallyBy
+ 513:524:void setGapStrategy(int) -> setGapStrategy
+ 1479:1482:void setLayoutStateDirection(int) -> setLayoutStateDirection
+ 587:601:void setMeasuredDimension(android.graphics.Rect,int,int) -> setMeasuredDimension
+ 449:461:void setOrientation(int) -> setOrientation
+ 477:483:void setReverseLayout(boolean) -> setReverseLayout
+ 429:440:void setSpanCount(int) -> setSpanCount
+ 2070:2073:void smoothScrollToPosition(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State,int) -> smoothScrollToPosition
+ 935:935:boolean supportsPredictiveItemAnimations() -> supportsPredictiveItemAnimations
+ 1819:1825:void updateAllRemainingSpans(int,int) -> updateAllRemainingSpans
+ 840:844:boolean updateAnchorFromChildren(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.StaggeredGridLayoutManager$AnchorInfo) -> updateAnchorFromChildren
+ 849:923:boolean updateAnchorFromPendingData(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.StaggeredGridLayoutManager$AnchorInfo) -> updateAnchorFromPendingData
+ 822:833:void updateAnchorInfoForLayout(androidx.recyclerview.widget.RecyclerView$State,androidx.recyclerview.widget.StaggeredGridLayoutManager$AnchorInfo) -> updateAnchorInfoForLayout
+ 1448:1476:void updateLayoutState(int,androidx.recyclerview.widget.RecyclerView$State) -> updateLayoutState
+ 927:931:void updateMeasureSpecs(int) -> updateMeasureSpecs
+ 1828:1840:void updateRemainingSpans(androidx.recyclerview.widget.StaggeredGridLayoutManager$Span,int,int) -> updateRemainingSpans
+ 1209:1217:int updateSpecWithExtra(int,int,int) -> updateSpecWithExtra
+androidx.recyclerview.widget.StaggeredGridLayoutManager$1 -> androidx.recyclerview.widget.StaggeredGridLayoutManager$1:
+ 216:216:void <init>(androidx.recyclerview.widget.StaggeredGridLayoutManager) -> <init>
+ 219:220:void run() -> run
+androidx.recyclerview.widget.StaggeredGridLayoutManager$AnchorInfo -> androidx.recyclerview.widget.StaggeredGridLayoutManager$AnchorInfo:
+ 3267:3269:void <init>(androidx.recyclerview.widget.StaggeredGridLayoutManager) -> <init>
+ 3294:3296:void assignCoordinateFromPadding() -> assignCoordinateFromPadding
+ 3299:3304:void assignCoordinateFromPadding(int) -> assignCoordinateFromPadding
+ 3272:3280:void reset() -> reset
+ 3283:3291:void saveSpanReferenceLines(androidx.recyclerview.widget.StaggeredGridLayoutManager$Span[]) -> saveSpanReferenceLines
+androidx.recyclerview.widget.StaggeredGridLayoutManager$LayoutParams -> androidx.recyclerview.widget.StaggeredGridLayoutManager$LayoutParams:
+ 2450:2451:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 2454:2455:void <init>(int,int) -> <init>
+ 2458:2459:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+ 2462:2463:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 2466:2467:void <init>(androidx.recyclerview.widget.RecyclerView$LayoutParams) -> <init>
+ 2498:2501:int getSpanIndex() -> getSpanIndex
+ 2488:2488:boolean isFullSpan() -> isFullSpan
+ 2478:2479:void setFullSpan(boolean) -> setFullSpan
+androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup -> androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup:
+ 2838:2838:void <init>() -> <init>
+ 3007:3027:void addFullSpanItem(androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem) -> addFullSpanItem
+ 2915:2919:void clear() -> clear
+ 2903:2912:void ensureSize(int) -> ensureSize
+ 2849:2857:int forceInvalidateAfter(int) -> forceInvalidateAfter
+ 3051:3066:androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem getFirstFullSpanItemInRange(int,int,int,boolean) -> getFirstFullSpanItemInRange
+ 3030:3039:androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem getFullSpanItem(int) -> getFullSpanItem
+ 2882:2885:int getSpan(int) -> getSpan
+ 2864:2877:int invalidateAfter(int) -> invalidateAfter
+ 2981:3003:int invalidateFullSpansAfter(int) -> invalidateFullSpansAfter
+ 2952:2961:void offsetForAddition(int,int) -> offsetForAddition
+ 2922:2931:void offsetForRemoval(int,int) -> offsetForRemoval
+ 2964:2974:void offsetFullSpansForAddition(int,int) -> offsetFullSpansForAddition
+ 2934:2949:void offsetFullSpansForRemoval(int,int) -> offsetFullSpansForRemoval
+ 2890:2892:void setSpan(int,androidx.recyclerview.widget.StaggeredGridLayoutManager$Span) -> setSpan
+ 2895:2899:int sizeForPosition(int) -> sizeForPosition
+androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem -> androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem:
+ 3129:3129:void <clinit>() -> <clinit>
+ 3083:3092:void <init>(android.os.Parcel) -> <init>
+ 3094:3095:void <init>() -> <init>
+ 3103:3103:int describeContents() -> describeContents
+ 3098:3098:int getGapForSpan(int) -> getGapForSpan
+ 3121:3125:java.lang.String toString() -> toString
+ 3108:3117:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem$1 -> androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem$1:
+ 3130:3130:void <init>() -> <init>
+ 3130:3130:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 3133:3133:androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem createFromParcel(android.os.Parcel) -> createFromParcel
+ 3130:3130:java.lang.Object[] newArray(int) -> newArray
+ 3138:3138:androidx.recyclerview.widget.StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem[] newArray(int) -> newArray
+androidx.recyclerview.widget.StaggeredGridLayoutManager$SavedState -> androidx.recyclerview.widget.StaggeredGridLayoutManager$SavedState:
+ 3239:3239:void <clinit>() -> <clinit>
+ 3162:3163:void <init>() -> <init>
+ 3165:3186:void <init>(android.os.Parcel) -> <init>
+ 3188:3199:void <init>(androidx.recyclerview.widget.StaggeredGridLayoutManager$SavedState) -> <init>
+ 3218:3218:int describeContents() -> describeContents
+ 3210:3214:void invalidateAnchorPositionInfo() -> invalidateAnchorPositionInfo
+ 3202:3207:void invalidateSpanInfo() -> invalidateSpanInfo
+ 3223:3237:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.recyclerview.widget.StaggeredGridLayoutManager$SavedState$1 -> androidx.recyclerview.widget.StaggeredGridLayoutManager$SavedState$1:
+ 3240:3240:void <init>() -> <init>
+ 3240:3240:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 3243:3243:androidx.recyclerview.widget.StaggeredGridLayoutManager$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 3240:3240:java.lang.Object[] newArray(int) -> newArray
+ 3248:3248:androidx.recyclerview.widget.StaggeredGridLayoutManager$SavedState[] newArray(int) -> newArray
+androidx.recyclerview.widget.StaggeredGridLayoutManager$Span -> androidx.recyclerview.widget.StaggeredGridLayoutManager$Span:
+ 2509:2517:void <init>(androidx.recyclerview.widget.StaggeredGridLayoutManager,int) -> <init>
+ 2600:2610:void appendToSpan(android.view.View) -> appendToSpan
+ 2615:2632:void cacheReferenceLineAndClear(boolean,int) -> cacheReferenceLineAndClear
+ 2565:2575:void calculateCachedEnd() -> calculateCachedEnd
+ 2531:2541:void calculateCachedStart() -> calculateCachedStart
+ 2635:2638:void clear() -> clear
+ 2706:2708:int findFirstCompletelyVisibleItemPosition() -> findFirstCompletelyVisibleItemPosition
+ 2700:2702:int findFirstPartiallyVisibleItemPosition() -> findFirstPartiallyVisibleItemPosition
+ 2694:2696:int findFirstVisibleItemPosition() -> findFirstVisibleItemPosition
+ 2724:2726:int findLastCompletelyVisibleItemPosition() -> findLastCompletelyVisibleItemPosition
+ 2718:2720:int findLastPartiallyVisibleItemPosition() -> findLastPartiallyVisibleItemPosition
+ 2712:2714:int findLastVisibleItemPosition() -> findLastVisibleItemPosition
+ 2756:2783:int findOnePartiallyOrCompletelyVisibleChild(int,int,boolean,boolean,boolean) -> findOnePartiallyOrCompletelyVisibleChild
+ 2793:2793:int findOnePartiallyVisibleChild(int,int,boolean) -> findOnePartiallyVisibleChild
+ 2787:2787:int findOneVisibleChild(int,int,boolean) -> findOneVisibleChild
+ 2677:2677:int getDeletedSize() -> getDeletedSize
+ 2553:2561:int getEndLine(int) -> getEndLine
+ 2579:2583:int getEndLine() -> getEndLine
+ 2801:2830:android.view.View getFocusableViewAfter(int,int) -> getFocusableViewAfter
+ 2681:2681:androidx.recyclerview.widget.StaggeredGridLayoutManager$LayoutParams getLayoutParams(android.view.View) -> getLayoutParams
+ 2520:2527:int getStartLine(int) -> getStartLine
+ 2545:2549:int getStartLine() -> getStartLine
+ 2641:2643:void invalidateCache() -> invalidateCache
+ 2685:2691:void onOffset(int) -> onOffset
+ 2650:2661:void popEnd() -> popEnd
+ 2664:2674:void popStart() -> popStart
+ 2587:2597:void prependToSpan(android.view.View) -> prependToSpan
+ 2646:2647:void setLine(int) -> setLine
+androidx.recyclerview.widget.TileList -> androidx.recyclerview.widget.TileList:
+ 31:37:void <init>(int) -> <init>
+ 64:74:androidx.recyclerview.widget.TileList$Tile addOrReplace(androidx.recyclerview.widget.TileList$Tile) -> addOrReplace
+ 56:57:void clear() -> clear
+ 60:60:androidx.recyclerview.widget.TileList$Tile getAtIndex(int) -> getAtIndex
+ 40:48:java.lang.Object getItemAt(int) -> getItemAt
+ 78:83:androidx.recyclerview.widget.TileList$Tile removeAtPos(int) -> removeAtPos
+ 52:52:int size() -> size
+androidx.recyclerview.widget.TileList$Tile -> androidx.recyclerview.widget.TileList$Tile:
+ 92:96:void <init>(java.lang.Class,int) -> <init>
+ 99:99:boolean containsPosition(int) -> containsPosition
+ 103:103:java.lang.Object getByPosition(int) -> getByPosition
+androidx.recyclerview.widget.ViewBoundsCheck -> androidx.recyclerview.widget.ViewBoundsCheck:
+ 131:134:void <init>(androidx.recyclerview.widget.ViewBoundsCheck$Callback) -> <init>
+ 213:238:android.view.View findOneViewWithinBoundFlags(int,int,int,int) -> findOneViewWithinBoundFlags
+ 248:255:boolean isViewWithinBoundFlags(android.view.View,int) -> isViewWithinBoundFlags
+androidx.recyclerview.widget.ViewBoundsCheck$BoundFlags -> androidx.recyclerview.widget.ViewBoundsCheck$BoundFlags:
+ 136:137:void <init>() -> <init>
+ 148:149:void addFlags(int) -> addFlags
+ 166:189:boolean boundsMatch() -> boundsMatch
+ 156:162:int compare(int,int) -> compare
+ 152:153:void resetFlags() -> resetFlags
+ 141:145:void setBounds(int,int,int,int) -> setBounds
+androidx.recyclerview.widget.ViewInfoStore -> androidx.recyclerview.widget.ViewInfoStore:
+ 36:47:void <init>() -> <init>
+ 145:152:void addToAppearedInPreLayoutHolders(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> addToAppearedInPreLayoutHolders
+ 198:204:void addToDisappearedInLayout(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> addToDisappearedInLayout
+ 132:133:void addToOldChangeHolders(long,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> addToOldChangeHolders
+ 182:189:void addToPostLayout(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> addToPostLayout
+ 64:71:void addToPreLayout(androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo) -> addToPreLayout
+ 54:56:void clear() -> clear
+ 173:173:androidx.recyclerview.widget.RecyclerView$ViewHolder getFromOldChangeHolders(long) -> getFromOldChangeHolders
+ 74:75:boolean isDisappearing(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> isDisappearing
+ 161:162:boolean isInPreLayout(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> isInPreLayout
+ 273:274:void onDetach() -> onDetach
+ 277:278:void onViewDetached(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onViewDetached
+ 101:123:androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo popFromLayoutStep(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> popFromLayoutStep
+ 97:97:androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo popFromPostLayout(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> popFromPostLayout
+ 86:86:androidx.recyclerview.widget.RecyclerView$ItemAnimator$ItemHolderInfo popFromPreLayout(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> popFromPreLayout
+ 219:253:void process(androidx.recyclerview.widget.ViewInfoStore$ProcessCallback) -> process
+ 211:216:void removeFromDisappearedInLayout(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> removeFromDisappearedInLayout
+ 260:270:void removeViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> removeViewHolder
+androidx.recyclerview.widget.ViewInfoStore$InfoRecord -> androidx.recyclerview.widget.ViewInfoStore$InfoRecord:
+ 307:307:void <clinit>() -> <clinit>
+ 309:310:void <init>() -> <init>
+ 326:327:void drainCache() -> drainCache
+ 313:314:androidx.recyclerview.widget.ViewInfoStore$InfoRecord obtain() -> obtain
+ 318:322:void recycle(androidx.recyclerview.widget.ViewInfoStore$InfoRecord) -> recycle
+androidx.savedstate.Recreator -> androidx.savedstate.Recreator:
+ 42:44:void <init>(androidx.savedstate.SavedStateRegistryOwner) -> <init>
+ 48:66:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+ 71:93:void reflectiveNew(java.lang.String) -> reflectiveNew
+androidx.savedstate.Recreator$SavedStateProvider -> androidx.savedstate.Recreator$SavedStateProvider:
+ 96:101:void <init>(androidx.savedstate.SavedStateRegistry) -> <init>
+ 112:113:void add(java.lang.String) -> add
+ 106:108:android.os.Bundle saveState() -> saveState
+androidx.savedstate.SavedStateRegistry -> androidx.savedstate.SavedStateRegistry:
+ 44:53:void <init>() -> <init>
+ 76:88:android.os.Bundle consumeRestoredStateForKey(java.lang.String) -> consumeRestoredStateForKey
+ 134:134:boolean isRestored() -> isRestored
+ 190:209:void performRestore(androidx.lifecycle.Lifecycle,android.os.Bundle) -> performRestore
+ 220:230:void performSave(android.os.Bundle) -> performSave
+ 109:114:void registerSavedStateProvider(java.lang.String,androidx.savedstate.SavedStateRegistry$SavedStateProvider) -> registerSavedStateProvider
+ 167:181:void runOnNextRecreation(java.lang.Class) -> runOnNextRecreation
+ 123:124:void unregisterSavedStateProvider(java.lang.String) -> unregisterSavedStateProvider
+androidx.savedstate.SavedStateRegistry$1 -> androidx.savedstate.SavedStateRegistry$1:
+ 197:197:void <init>(androidx.savedstate.SavedStateRegistry) -> <init>
+ 200:205:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.savedstate.SavedStateRegistryController -> androidx.savedstate.SavedStateRegistryController:
+ 36:39:void <init>(androidx.savedstate.SavedStateRegistryOwner) -> <init>
+ 84:84:androidx.savedstate.SavedStateRegistryController create(androidx.savedstate.SavedStateRegistryOwner) -> create
+ 46:46:androidx.savedstate.SavedStateRegistry getSavedStateRegistry() -> getSavedStateRegistry
+ 56:63:void performRestore(android.os.Bundle) -> performRestore
+ 74:75:void performSave(android.os.Bundle) -> performSave
+androidx.savedstate.ViewTreeSavedStateRegistryOwner -> androidx.savedstate.ViewTreeSavedStateRegistryOwner:
+ 30:32:void <init>() -> <init>
+ 70:80:androidx.savedstate.SavedStateRegistryOwner get(android.view.View) -> get
+ 53:54:void set(android.view.View,androidx.savedstate.SavedStateRegistryOwner) -> set
+androidx.swiperefreshlayout.widget.CircleImageView -> androidx.swiperefreshlayout.widget.CircleImageView:
+ 58:90:void <init>(android.content.Context) -> <init>
+ 93:93:boolean elevationSupported() -> elevationSupported
+ 134:134:int getBackgroundColor() -> getBackgroundColor
+ 119:123:void onAnimationEnd() -> onAnimationEnd
+ 111:115:void onAnimationStart() -> onAnimationStart
+ 98:103:void onMeasure(int,int) -> onMeasure
+ 106:107:void setAnimationListener(android.view.animation.Animation$AnimationListener) -> setAnimationListener
+ 127:131:void setBackgroundColor(int) -> setBackgroundColor
+androidx.swiperefreshlayout.widget.CircleImageView$OvalShadow -> androidx.swiperefreshlayout.widget.CircleImageView$OvalShadow:
+ 143:148:void <init>(androidx.swiperefreshlayout.widget.CircleImageView,int) -> <init>
+ 158:162:void draw(android.graphics.Canvas,android.graphics.Paint) -> draw
+ 152:154:void onResize(float,float) -> onResize
+ 165:172:void updateRadialGradient(int) -> updateRadialGradient
+androidx.swiperefreshlayout.widget.CircularProgressDrawable -> androidx.swiperefreshlayout.widget.CircularProgressDrawable:
+ 67:97:void <clinit>() -> <clinit>
+ 138:146:void <init>(android.content.Context) -> <init>
+ 519:530:void applyFinishTranslation(float,androidx.swiperefreshlayout.widget.CircularProgressDrawable$Ring) -> applyFinishTranslation
+ 537:566:void applyTransformation(float,androidx.swiperefreshlayout.widget.CircularProgressDrawable$Ring,boolean) -> applyTransformation
+ 399:404:void draw(android.graphics.Canvas) -> draw
+ 479:489:int evaluateColorChange(float,int,int) -> evaluateColorChange
+ 414:414:int getAlpha() -> getAlpha
+ 271:271:boolean getArrowEnabled() -> getArrowEnabled
+ 251:251:float getArrowHeight() -> getArrowHeight
+ 290:290:float getArrowScale() -> getArrowScale
+ 242:242:float getArrowWidth() -> getArrowWidth
+ 360:360:int getBackgroundColor() -> getBackgroundColor
+ 202:202:float getCenterRadius() -> getCenterRadius
+ 382:382:int[] getColorSchemeColors() -> getColorSchemeColors
+ 318:318:float getEndTrim() -> getEndTrim
+ 436:436:int getOpacity() -> getOpacity
+ 341:341:float getProgressRotation() -> getProgressRotation
+ 429:429:float getRotation() -> getRotation
+ 309:309:float getStartTrim() -> getStartTrim
+ 233:233:android.graphics.Paint$Cap getStrokeCap() -> getStrokeCap
+ 183:183:float getStrokeWidth() -> getStrokeWidth
+ 441:441:boolean isRunning() -> isRunning
+ 408:410:void setAlpha(int) -> setAlpha
+ 261:263:void setArrowDimensions(float,float) -> setArrowDimensions
+ 280:282:void setArrowEnabled(boolean) -> setArrowEnabled
+ 299:301:void setArrowScale(float) -> setArrowScale
+ 371:373:void setBackgroundColor(int) -> setBackgroundColor
+ 212:214:void setCenterRadius(float) -> setCenterRadius
+ 419:421:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 392:395:void setColorSchemeColors(int[]) -> setColorSchemeColors
+ 350:352:void setProgressRotation(float) -> setProgressRotation
+ 424:425:void setRotation(float) -> setRotation
+ 151:159:void setSizeParameters(float,float,float,float) -> setSizeParameters
+ 330:333:void setStartEndTrim(float,float) -> setStartEndTrim
+ 222:224:void setStrokeCap(android.graphics.Paint$Cap) -> setStrokeCap
+ 192:194:void setStrokeWidth(float) -> setStrokeWidth
+ 168:175:void setStyle(int) -> setStyle
+ 569:619:void setupAnimators() -> setupAnimators
+ 449:462:void start() -> start
+ 469:475:void stop() -> stop
+ 502:509:void updateRingColor(float,androidx.swiperefreshlayout.widget.CircularProgressDrawable$Ring) -> updateRingColor
+androidx.swiperefreshlayout.widget.CircularProgressDrawable$1 -> androidx.swiperefreshlayout.widget.CircularProgressDrawable$1:
+ 571:571:void <init>(androidx.swiperefreshlayout.widget.CircularProgressDrawable,androidx.swiperefreshlayout.widget.CircularProgressDrawable$Ring) -> <init>
+ 574:578:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+androidx.swiperefreshlayout.widget.CircularProgressDrawable$2 -> androidx.swiperefreshlayout.widget.CircularProgressDrawable$2:
+ 583:583:void <init>(androidx.swiperefreshlayout.widget.CircularProgressDrawable,androidx.swiperefreshlayout.widget.CircularProgressDrawable$Ring) -> <init>
+ 598:598:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 593:593:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 602:616:void onAnimationRepeat(android.animation.Animator) -> onAnimationRepeat
+ 587:588:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+androidx.swiperefreshlayout.widget.CircularProgressDrawable$Ring -> androidx.swiperefreshlayout.widget.CircularProgressDrawable$Ring:
+ 626:662:void <init>() -> <init>
+ 695:724:void draw(android.graphics.Canvas,android.graphics.Rect) -> draw
+ 727:756:void drawTriangle(android.graphics.Canvas,float,float,android.graphics.RectF) -> drawTriangle
+ 838:838:int getAlpha() -> getAlpha
+ 688:688:float getArrowHeight() -> getArrowHeight
+ 923:923:float getArrowScale() -> getArrowScale
+ 684:684:float getArrowWidth() -> getArrowWidth
+ 792:792:int getBackgroundColor() -> getBackgroundColor
+ 897:897:float getCenterRadius() -> getCenterRadius
+ 770:770:int[] getColors() -> getColors
+ 878:878:float getEndTrim() -> getEndTrim
+ 808:808:int getNextColor() -> getNextColor
+ 812:812:int getNextColorIndex() -> getNextColorIndex
+ 886:886:float getRotation() -> getRotation
+ 910:910:boolean getShowArrow() -> getShowArrow
+ 858:858:float getStartTrim() -> getStartTrim
+ 870:870:int getStartingColor() -> getStartingColor
+ 866:866:float getStartingEndTrim() -> getStartingEndTrim
+ 930:930:float getStartingRotation() -> getStartingRotation
+ 862:862:float getStartingStartTrim() -> getStartingStartTrim
+ 680:680:android.graphics.Paint$Cap getStrokeCap() -> getStrokeCap
+ 850:850:float getStrokeWidth() -> getStrokeWidth
+ 820:821:void goToNextColor() -> goToNextColor
+ 947:953:void resetOriginals() -> resetOriginals
+ 831:832:void setAlpha(int) -> setAlpha
+ 671:673:void setArrowDimensions(float,float) -> setArrowDimensions
+ 917:920:void setArrowScale(float) -> setArrowScale
+ 788:789:void setBackgroundColor(int) -> setBackgroundColor
+ 893:894:void setCenterRadius(float) -> setCenterRadius
+ 781:782:void setColor(int) -> setColor
+ 824:825:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 800:802:void setColorIndex(int) -> setColorIndex
+ 764:767:void setColors(int[]) -> setColors
+ 874:875:void setEndTrim(float) -> setEndTrim
+ 882:883:void setRotation(float) -> setRotation
+ 904:907:void setShowArrow(boolean) -> setShowArrow
+ 854:855:void setStartTrim(float) -> setStartTrim
+ 676:677:void setStrokeCap(android.graphics.Paint$Cap) -> setStrokeCap
+ 845:847:void setStrokeWidth(float) -> setStrokeWidth
+ 938:941:void storeOriginals() -> storeOriginals
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout:
+ 92:150:void <clinit>() -> <clinit>
+ 404:405:void <init>(android.content.Context) -> <init>
+ 118:1367:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1317:1326:void animateOffsetToCorrectPosition(int,android.view.animation.Animation$AnimationListener) -> animateOffsetToCorrectPosition
+ 1329:1343:void animateOffsetToStartPosition(int,android.view.animation.Animation$AnimationListener) -> animateOffsetToStartPosition
+ 736:742:boolean canChildScrollUp() -> canChildScrollUp
+ 462:468:void createProgressView() -> createProgressView
+ 1128:1128:boolean dispatchNestedFling(float,float,boolean) -> dispatchNestedFling
+ 1133:1133:boolean dispatchNestedPreFling(float,float) -> dispatchNestedPreFling
+ 1082:1082:boolean dispatchNestedPreScroll(int,int,int[],int[],int) -> dispatchNestedPreScroll
+ 1122:1122:boolean dispatchNestedPreScroll(int,int,int[],int[]) -> dispatchNestedPreScroll
+ 1047:1051:void dispatchNestedScroll(int,int,int,int,int[],int,int[]) -> dispatchNestedScroll
+ 1075:1075:boolean dispatchNestedScroll(int,int,int,int,int[],int) -> dispatchNestedScroll
+ 1116:1116:boolean dispatchNestedScroll(int,int,int,int,int[]) -> dispatchNestedScroll
+ 651:660:void ensureTarget() -> ensureTarget
+ 1193:1223:void finishSpinner(float) -> finishSpinner
+ 447:457:int getChildDrawingOrder(int,int) -> getChildDrawingOrder
+ 1005:1005:int getNestedScrollAxes() -> getNestedScrollAxes
+ 728:728:int getProgressCircleDiameter() -> getProgressCircleDiameter
+ 344:344:int getProgressViewEndOffset() -> getProgressViewEndOffset
+ 336:336:int getProgressViewStartOffset() -> getProgressViewStartOffset
+ 1069:1069:boolean hasNestedScrollingParent(int) -> hasNestedScrollingParent
+ 1110:1110:boolean hasNestedScrollingParent() -> hasNestedScrollingParent
+ 1137:1137:boolean isAnimationRunning(android.view.animation.Animation) -> isAnimationRunning
+ 1095:1095:boolean isNestedScrollingEnabled() -> isNestedScrollingEnabled
+ 645:645:boolean isRefreshing() -> isRefreshing
+ 1141:1190:void moveSpinner(float) -> moveSpinner
+ 1362:1365:void moveToStart(float) -> moveToStart
+ 294:296:void onDetachedFromWindow() -> onDetachedFromWindow
+ 756:809:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 673:694:void onLayout(boolean,int,int,int,int) -> onLayout
+ 698:719:void onMeasure(int,int) -> onMeasure
+ 1038:1038:boolean onNestedFling(android.view.View,float,float,boolean) -> onNestedFling
+ 1032:1032:boolean onNestedPreFling(android.view.View,float,float) -> onNestedPreFling
+ 948:951:void onNestedPreScroll(android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 975:1001:void onNestedPreScroll(android.view.View,int,int,int[]) -> onNestedPreScroll
+ 865:906:void onNestedScroll(android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 940:942:void onNestedScroll(android.view.View,int,int,int,int,int) -> onNestedScroll
+ 1025:1027:void onNestedScroll(android.view.View,int,int,int,int) -> onNestedScroll
+ 923:926:void onNestedScrollAccepted(android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 964:969:void onNestedScrollAccepted(android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 287:290:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 281:282:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 1401:1409:void onSecondaryPointerUp(android.view.MotionEvent) -> onSecondaryPointerUp
+ 912:915:boolean onStartNestedScroll(android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 957:957:boolean onStartNestedScroll(android.view.View,android.view.View,int) -> onStartNestedScroll
+ 932:935:void onStopNestedScroll(android.view.View,int) -> onStopNestedScroll
+ 1010:1020:void onStopNestedScroll(android.view.View) -> onStopNestedScroll
+ 1227:1304:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 843:857:void requestDisallowInterceptTouchEvent(boolean) -> requestDisallowInterceptTouchEvent
+ 219:230:void reset() -> reset
+ 524:526:void setAnimationProgress(float) -> setAnimationProgress
+ 609:610:void setColorScheme(int[]) -> setColorScheme
+ 636:638:void setColorSchemeColors(int[]) -> setColorSchemeColors
+ 620:626:void setColorSchemeResources(int[]) -> setColorSchemeResources
+ 299:301:void setColorViewAlpha(int) -> setColorViewAlpha
+ 668:669:void setDistanceToTriggerSync(int) -> setDistanceToTriggerSync
+ 234:238:void setEnabled(boolean) -> setEnabled
+ 835:836:void setLegacyRequestDisallowInterceptTouchEventEnabled(boolean) -> setLegacyRequestDisallowInterceptTouchEventEnabled
+ 1090:1091:void setNestedScrollingEnabled(boolean) -> setNestedScrollingEnabled
+ 751:752:void setOnChildScrollUpCallback(androidx.swiperefreshlayout.widget.SwipeRefreshLayout$OnChildScrollUpCallback) -> setOnChildScrollUpCallback
+ 475:476:void setOnRefreshListener(androidx.swiperefreshlayout.widget.SwipeRefreshLayout$OnRefreshListener) -> setOnRefreshListener
+ 583:584:void setProgressBackgroundColor(int) -> setProgressBackgroundColor
+ 601:602:void setProgressBackgroundColorSchemeColor(int) -> setProgressBackgroundColorSchemeColor
+ 592:593:void setProgressBackgroundColorSchemeResource(int) -> setProgressBackgroundColorSchemeResource
+ 361:364:void setProgressViewEndTarget(boolean,int) -> setProgressViewEndTarget
+ 323:329:void setProgressViewOffset(boolean,int,int) -> setProgressViewOffset
+ 485:500:void setRefreshing(boolean) -> setRefreshing
+ 529:539:void setRefreshing(boolean,boolean) -> setRefreshing
+ 381:396:void setSize(int) -> setSize
+ 374:375:void setSlingshotDistance(int) -> setSlingshotDistance
+ 1395:1398:void setTargetOffsetTopAndBottom(int) -> setTargetOffsetTopAndBottom
+ 563:575:android.view.animation.Animation startAlphaAnimation(int,int) -> startAlphaAnimation
+ 1308:1314:void startDragging(float) -> startDragging
+ 1057:1057:boolean startNestedScroll(int,int) -> startNestedScroll
+ 1100:1100:boolean startNestedScroll(int) -> startNestedScroll
+ 559:560:void startProgressAlphaMaxAnimation() -> startProgressAlphaMaxAnimation
+ 555:556:void startProgressAlphaStartAnimation() -> startProgressAlphaStartAnimation
+ 542:552:void startScaleDownAnimation(android.view.animation.Animation$AnimationListener) -> startScaleDownAnimation
+ 1376:1392:void startScaleDownReturnToStartAnimation(int,android.view.animation.Animation$AnimationListener) -> startScaleDownReturnToStartAnimation
+ 503:517:void startScaleUpAnimation(android.view.animation.Animation$AnimationListener) -> startScaleUpAnimation
+ 1062:1065:void stopNestedScroll(int) -> stopNestedScroll
+ 1105:1106:void stopNestedScroll() -> stopNestedScroll
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout$1 -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout$1:
+ 191:191:void <init>(androidx.swiperefreshlayout.widget.SwipeRefreshLayout) -> <init>
+ 202:215:void onAnimationEnd(android.view.animation.Animation) -> onAnimationEnd
+ 198:198:void onAnimationRepeat(android.view.animation.Animation) -> onAnimationRepeat
+ 194:194:void onAnimationStart(android.view.animation.Animation) -> onAnimationStart
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout$2 -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout$2:
+ 505:505:void <init>(androidx.swiperefreshlayout.widget.SwipeRefreshLayout) -> <init>
+ 508:509:void applyTransformation(float,android.view.animation.Transformation) -> applyTransformation
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout$3 -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout$3:
+ 542:542:void <init>(androidx.swiperefreshlayout.widget.SwipeRefreshLayout) -> <init>
+ 545:546:void applyTransformation(float,android.view.animation.Transformation) -> applyTransformation
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout$4 -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout$4:
+ 563:563:void <init>(androidx.swiperefreshlayout.widget.SwipeRefreshLayout,int,int) -> <init>
+ 566:568:void applyTransformation(float,android.view.animation.Transformation) -> applyTransformation
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout$5 -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout$5:
+ 1201:1201:void <init>(androidx.swiperefreshlayout.widget.SwipeRefreshLayout) -> <init>
+ 1209:1212:void onAnimationEnd(android.view.animation.Animation) -> onAnimationEnd
+ 1216:1216:void onAnimationRepeat(android.view.animation.Animation) -> onAnimationRepeat
+ 1205:1205:void onAnimationStart(android.view.animation.Animation) -> onAnimationStart
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout$6 -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout$6:
+ 1345:1345:void <init>(androidx.swiperefreshlayout.widget.SwipeRefreshLayout) -> <init>
+ 1349:1358:void applyTransformation(float,android.view.animation.Transformation) -> applyTransformation
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout$7 -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout$7:
+ 1367:1367:void <init>(androidx.swiperefreshlayout.widget.SwipeRefreshLayout) -> <init>
+ 1370:1371:void applyTransformation(float,android.view.animation.Transformation) -> applyTransformation
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout$8 -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout$8:
+ 1378:1378:void <init>(androidx.swiperefreshlayout.widget.SwipeRefreshLayout) -> <init>
+ 1381:1384:void applyTransformation(float,android.view.animation.Transformation) -> applyTransformation
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout$SavedState -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout$SavedState:
+ 265:265:void <clinit>() -> <clinit>
+ 247:249:void <init>(android.os.Parcelable,boolean) -> <init>
+ 255:257:void <init>(android.os.Parcel) -> <init>
+ 261:263:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.swiperefreshlayout.widget.SwipeRefreshLayout$SavedState$1 -> androidx.swiperefreshlayout.widget.SwipeRefreshLayout$SavedState$1:
+ 266:266:void <init>() -> <init>
+ 266:266:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 269:269:androidx.swiperefreshlayout.widget.SwipeRefreshLayout$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 266:266:java.lang.Object[] newArray(int) -> newArray
+ 274:274:androidx.swiperefreshlayout.widget.SwipeRefreshLayout$SavedState[] newArray(int) -> newArray
+androidx.tracing.Trace -> androidx.tracing.Trace:
+ 240:241:void <init>() -> <init>
+ 111:118:void beginAsyncSection(java.lang.String,int) -> beginAsyncSection
+ 177:191:void beginAsyncSectionFallback(java.lang.String,int) -> beginAsyncSectionFallback
+ 80:83:void beginSection(java.lang.String) -> beginSection
+ 131:138:void endAsyncSection(java.lang.String,int) -> endAsyncSection
+ 194:208:void endAsyncSectionFallback(java.lang.String,int) -> endAsyncSectionFallback
+ 93:96:void endSection() -> endSection
+ 229:238:void handleException(java.lang.String,java.lang.Exception) -> handleException
+ 61:66:boolean isEnabled() -> isEnabled
+ 159:173:boolean isEnabledFallback() -> isEnabledFallback
+ 149:156:void setCounter(java.lang.String,int) -> setCounter
+ 211:226:void setCounterFallback(java.lang.String,int) -> setCounterFallback
+androidx.tracing.TraceApi18Impl -> androidx.tracing.TraceApi18Impl:
+ 33:35:void <init>() -> <init>
+ 49:50:void beginSection(java.lang.String) -> beginSection
+ 60:61:void endSection() -> endSection
+androidx.tracing.TraceApi29Impl -> androidx.tracing.TraceApi29Impl:
+ 33:35:void <init>() -> <init>
+ 46:47:void beginAsyncSection(java.lang.String,int) -> beginAsyncSection
+ 58:59:void endAsyncSection(java.lang.String,int) -> endAsyncSection
+ 68:69:void setCounter(java.lang.String,int) -> setCounter
+androidx.transition.AnimatorUtils -> androidx.transition.AnimatorUtils:
+ 81:82:void <init>() -> <init>
+ 31:34:void addPauseListener(android.animation.Animator,android.animation.AnimatorListenerAdapter) -> addPauseListener
+ 37:50:void pause(android.animation.Animator) -> pause
+ 53:66:void resume(android.animation.Animator) -> resume
+androidx.transition.ArcMotion -> androidx.transition.ArcMotion:
+ 55:56:void <clinit>() -> <clinit>
+ 58:66:void <init>() -> <init>
+ 58:86:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 173:173:float getMaximumAngle() -> getMaximumAngle
+ 115:115:float getMinimumHorizontalAngle() -> getMinimumHorizontalAngle
+ 146:146:float getMinimumVerticalAngle() -> getMinimumVerticalAngle
+ 201:277:android.graphics.Path getPath(float,float,float,float) -> getPath
+ 159:161:void setMaximumAngle(float) -> setMaximumAngle
+ 100:102:void setMinimumHorizontalAngle(float) -> setMinimumHorizontalAngle
+ 130:132:void setMinimumVerticalAngle(float) -> setMinimumVerticalAngle
+ 177:180:float toTangent(float) -> toTangent
+androidx.transition.AutoTransition -> androidx.transition.AutoTransition:
+ 37:39:void <init>() -> <init>
+ 42:44:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 47:51:void init() -> init
+androidx.transition.CanvasUtils -> androidx.transition.CanvasUtils:
+ 81:82:void <init>() -> <init>
+ 41:79:void enableZ(android.graphics.Canvas,boolean) -> enableZ
+androidx.transition.ChangeBounds -> androidx.transition.ChangeBounds:
+ 61:168:void <clinit>() -> <clinit>
+ 164:171:void <init>() -> <init>
+ 164:183:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 244:245:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 239:240:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 220:235:void captureValues(androidx.transition.TransitionValues) -> captureValues
+ 264:458:android.animation.Animator createAnimator(android.view.ViewGroup,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> createAnimator
+ 216:216:boolean getResizeClip() -> getResizeClip
+ 188:188:java.lang.String[] getTransitionProperties() -> getTransitionProperties
+ 248:257:boolean parentMatches(android.view.View,android.view.View) -> parentMatches
+ 205:206:void setResizeClip(boolean) -> setResizeClip
+androidx.transition.ChangeBounds$1 -> androidx.transition.ChangeBounds$1:
+ 70:71:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 70:70:java.lang.Object get(java.lang.Object) -> get
+ 82:83:android.graphics.PointF get(android.graphics.drawable.Drawable) -> get
+ 70:70:void set(java.lang.Object,java.lang.Object) -> set
+ 75:78:void set(android.graphics.drawable.Drawable,android.graphics.PointF) -> set
+androidx.transition.ChangeBounds$10 -> androidx.transition.ChangeBounds$10:
+ 448:448:void <init>(androidx.transition.ChangeBounds,android.view.ViewGroup,android.graphics.drawable.BitmapDrawable,android.view.View,float) -> <init>
+ 451:453:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.transition.ChangeBounds$2 -> androidx.transition.ChangeBounds$2:
+ 88:88:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 88:88:java.lang.Object get(java.lang.Object) -> get
+ 96:96:android.graphics.PointF get(androidx.transition.ChangeBounds$ViewBounds) -> get
+ 88:88:void set(java.lang.Object,java.lang.Object) -> set
+ 91:92:void set(androidx.transition.ChangeBounds$ViewBounds,android.graphics.PointF) -> set
+androidx.transition.ChangeBounds$3 -> androidx.transition.ChangeBounds$3:
+ 101:101:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 101:101:java.lang.Object get(java.lang.Object) -> get
+ 109:109:android.graphics.PointF get(androidx.transition.ChangeBounds$ViewBounds) -> get
+ 101:101:void set(java.lang.Object,java.lang.Object) -> set
+ 104:105:void set(androidx.transition.ChangeBounds$ViewBounds,android.graphics.PointF) -> set
+androidx.transition.ChangeBounds$4 -> androidx.transition.ChangeBounds$4:
+ 114:114:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 114:114:java.lang.Object get(java.lang.Object) -> get
+ 126:126:android.graphics.PointF get(android.view.View) -> get
+ 114:114:void set(java.lang.Object,java.lang.Object) -> set
+ 117:122:void set(android.view.View,android.graphics.PointF) -> set
+androidx.transition.ChangeBounds$5 -> androidx.transition.ChangeBounds$5:
+ 131:131:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 131:131:java.lang.Object get(java.lang.Object) -> get
+ 143:143:android.graphics.PointF get(android.view.View) -> get
+ 131:131:void set(java.lang.Object,java.lang.Object) -> set
+ 134:139:void set(android.view.View,android.graphics.PointF) -> set
+androidx.transition.ChangeBounds$6 -> androidx.transition.ChangeBounds$6:
+ 148:148:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 148:148:java.lang.Object get(java.lang.Object) -> get
+ 160:160:android.graphics.PointF get(android.view.View) -> get
+ 148:148:void set(java.lang.Object,java.lang.Object) -> set
+ 151:156:void set(android.view.View,android.graphics.PointF) -> set
+androidx.transition.ChangeBounds$7 -> androidx.transition.ChangeBounds$7:
+ 326:329:void <init>(androidx.transition.ChangeBounds,androidx.transition.ChangeBounds$ViewBounds) -> <init>
+androidx.transition.ChangeBounds$8 -> androidx.transition.ChangeBounds$8:
+ 370:370:void <init>(androidx.transition.ChangeBounds,android.view.View,android.graphics.Rect,int,int,int,int) -> <init>
+ 375:376:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 380:385:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.transition.ChangeBounds$9 -> androidx.transition.ChangeBounds$9:
+ 394:395:void <init>(androidx.transition.ChangeBounds,android.view.ViewGroup) -> <init>
+ 399:401:void onTransitionCancel(androidx.transition.Transition) -> onTransitionCancel
+ 405:409:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 413:414:void onTransitionPause(androidx.transition.Transition) -> onTransitionPause
+ 418:419:void onTransitionResume(androidx.transition.Transition) -> onTransitionResume
+androidx.transition.ChangeBounds$ViewBounds -> androidx.transition.ChangeBounds$ViewBounds:
+ 471:473:void <init>(android.view.View) -> <init>
+ 485:491:void setBottomRight(android.graphics.PointF) -> setBottomRight
+ 494:497:void setLeftTopRightBottom() -> setLeftTopRightBottom
+ 476:482:void setTopLeft(android.graphics.PointF) -> setTopLeft
+androidx.transition.ChangeClipBounds -> androidx.transition.ChangeClipBounds:
+ 42:42:void <clinit>() -> <clinit>
+ 51:52:void <init>() -> <init>
+ 55:56:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 79:80:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 74:75:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 59:70:void captureValues(androidx.transition.TransitionValues) -> captureValues
+ 85:119:android.animation.Animator createAnimator(android.view.ViewGroup,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> createAnimator
+ 48:48:java.lang.String[] getTransitionProperties() -> getTransitionProperties
+androidx.transition.ChangeClipBounds$1 -> androidx.transition.ChangeClipBounds$1:
+ 112:112:void <init>(androidx.transition.ChangeClipBounds,android.view.View) -> <init>
+ 115:116:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.transition.ChangeImageTransform -> androidx.transition.ChangeImageTransform:
+ 49:61:void <clinit>() -> <clinit>
+ 74:75:void <init>() -> <init>
+ 78:79:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 110:111:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 105:106:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 82:101:void captureValues(androidx.transition.TransitionValues) -> captureValues
+ 216:235:android.graphics.Matrix centerCropMatrix(android.widget.ImageView) -> centerCropMatrix
+ 186:195:android.graphics.Matrix copyImageMatrix(android.widget.ImageView) -> copyImageMatrix
+ 131:169:android.animation.Animator createAnimator(android.view.ViewGroup,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> createAnimator
+ 180:180:android.animation.ObjectAnimator createMatrixAnimator(android.widget.ImageView,android.graphics.Matrix,android.graphics.Matrix) -> createMatrixAnimator
+ 174:174:android.animation.ObjectAnimator createNullAnimator(android.widget.ImageView) -> createNullAnimator
+ 203:208:android.graphics.Matrix fitXYMatrix(android.widget.ImageView) -> fitXYMatrix
+ 115:115:java.lang.String[] getTransitionProperties() -> getTransitionProperties
+androidx.transition.ChangeImageTransform$1 -> androidx.transition.ChangeImageTransform$1:
+ 54:54:void <init>() -> <init>
+ 54:54:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 57:57:android.graphics.Matrix evaluate(float,android.graphics.Matrix,android.graphics.Matrix) -> evaluate
+androidx.transition.ChangeImageTransform$2 -> androidx.transition.ChangeImageTransform$2:
+ 62:62:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 62:62:java.lang.Object get(java.lang.Object) -> get
+ 70:70:android.graphics.Matrix get(android.widget.ImageView) -> get
+ 62:62:void set(java.lang.Object,java.lang.Object) -> set
+ 65:66:void set(android.widget.ImageView,android.graphics.Matrix) -> set
+androidx.transition.ChangeImageTransform$3 -> androidx.transition.ChangeImageTransform$3:
+ 188:188:void <clinit>() -> <clinit>
+androidx.transition.ChangeScroll -> androidx.transition.ChangeScroll:
+ 39:39:void <clinit>() -> <clinit>
+ 44:44:void <init>() -> <init>
+ 47:48:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 57:58:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 52:53:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 67:69:void captureValues(androidx.transition.TransitionValues) -> captureValues
+ 75:93:android.animation.Animator createAnimator(android.view.ViewGroup,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> createAnimator
+ 63:63:java.lang.String[] getTransitionProperties() -> getTransitionProperties
+androidx.transition.ChangeTransform -> androidx.transition.ChangeTransform:
+ 60:101:void <clinit>() -> <clinit>
+ 103:109:void <init>() -> <init>
+ 103:121:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 238:239:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 226:234:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 197:222:void captureValues(androidx.transition.TransitionValues) -> captureValues
+ 244:281:android.animation.Animator createAnimator(android.view.ViewGroup,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> createAnimator
+ 388:418:void createGhostView(android.view.ViewGroup,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> createGhostView
+ 286:370:android.animation.ObjectAnimator createTransformAnimator(androidx.transition.TransitionValues,androidx.transition.TransitionValues,boolean) -> createTransformAnimator
+ 175:175:boolean getReparent() -> getReparent
+ 141:141:boolean getReparentWithOverlay() -> getReparentWithOverlay
+ 193:193:java.lang.String[] getTransitionProperties() -> getTransitionProperties
+ 374:383:boolean parentsMatch(android.view.ViewGroup,android.view.ViewGroup) -> parentsMatch
+ 441:442:void setIdentityTransforms(android.view.View) -> setIdentityTransforms
+ 421:437:void setMatricesForParent(androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> setMatricesForParent
+ 188:189:void setReparent(boolean) -> setReparent
+ 163:164:void setReparentWithOverlay(boolean) -> setReparentWithOverlay
+ 448:456:void setTransforms(android.view.View,float,float,float,float,float,float,float,float) -> setTransforms
+androidx.transition.ChangeTransform$1 -> androidx.transition.ChangeTransform$1:
+ 70:70:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 70:70:java.lang.Object get(java.lang.Object) -> get
+ 73:73:float[] get(androidx.transition.ChangeTransform$PathAnimatorMatrix) -> get
+ 70:70:void set(java.lang.Object,java.lang.Object) -> set
+ 78:79:void set(androidx.transition.ChangeTransform$PathAnimatorMatrix,float[]) -> set
+androidx.transition.ChangeTransform$2 -> androidx.transition.ChangeTransform$2:
+ 86:86:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 86:86:java.lang.Object get(java.lang.Object) -> get
+ 89:89:android.graphics.PointF get(androidx.transition.ChangeTransform$PathAnimatorMatrix) -> get
+ 86:86:void set(java.lang.Object,java.lang.Object) -> set
+ 94:95:void set(androidx.transition.ChangeTransform$PathAnimatorMatrix,android.graphics.PointF) -> set
+androidx.transition.ChangeTransform$3 -> androidx.transition.ChangeTransform$3:
+ 327:329:void <init>(androidx.transition.ChangeTransform,boolean,android.graphics.Matrix,android.view.View,androidx.transition.ChangeTransform$Transforms,androidx.transition.ChangeTransform$PathAnimatorMatrix) -> <init>
+ 333:334:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 338:348:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 352:354:void onAnimationPause(android.animation.Animator) -> onAnimationPause
+ 358:359:void onAnimationResume(android.animation.Animator) -> onAnimationResume
+ 362:365:void setCurrentMatrix(android.graphics.Matrix) -> setCurrentMatrix
+androidx.transition.ChangeTransform$GhostListener -> androidx.transition.ChangeTransform$GhostListener:
+ 521:524:void <init>(android.view.View,androidx.transition.GhostView) -> <init>
+ 528:532:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 536:537:void onTransitionPause(androidx.transition.Transition) -> onTransitionPause
+ 541:542:void onTransitionResume(androidx.transition.Transition) -> onTransitionResume
+androidx.transition.ChangeTransform$PathAnimatorMatrix -> androidx.transition.ChangeTransform$PathAnimatorMatrix:
+ 553:565:void <init>(android.view.View,float[]) -> <init>
+ 586:586:android.graphics.Matrix getMatrix() -> getMatrix
+ 579:583:void setAnimationMatrix() -> setAnimationMatrix
+ 573:576:void setTranslation(android.graphics.PointF) -> setTranslation
+ 568:570:void setValues(float[]) -> setValues
+androidx.transition.ChangeTransform$Transforms -> androidx.transition.ChangeTransform$Transforms:
+ 469:478:void <init>(android.view.View) -> <init>
+ 487:491:boolean equals(java.lang.Object) -> equals
+ 503:511:int hashCode() -> hashCode
+ 481:483:void restore(android.view.View) -> restore
+androidx.transition.CircularPropagation -> androidx.transition.CircularPropagation:
+ 33:35:void <init>() -> <init>
+ 101:103:float distance(float,float,float,float) -> distance
+ 59:97:long getStartDelay(android.view.ViewGroup,androidx.transition.Transition,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> getStartDelay
+ 50:54:void setPropagationSpeed(float) -> setPropagationSpeed
+androidx.transition.Explode -> androidx.transition.Explode:
+ 44:45:void <clinit>() -> <clinit>
+ 48:52:void <init>() -> <init>
+ 48:57:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 173:173:float calculateDistance(float,float) -> calculateDistance
+ 167:169:float calculateMaxDistance(android.view.View,int,int) -> calculateMaxDistance
+ 128:164:void calculateOut(android.view.View,android.graphics.Rect,int[]) -> calculateOut
+ 77:79:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 71:73:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 60:67:void captureValues(androidx.transition.TransitionValues) -> captureValues
+ 84:94:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onAppear
+ 101:123:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onDisappear
+androidx.transition.Fade -> androidx.transition.Fade:
+ 91:93:void <init>(int) -> <init>
+ 98:99:void <init>() -> <init>
+ 104:111:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 115:118:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 124:143:android.animation.Animator createAnimation(android.view.View,float,float) -> createAnimation
+ 171:178:float getStartAlpha(androidx.transition.TransitionValues,float) -> getStartAlpha
+ 155:159:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onAppear
+ 165:167:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onDisappear
+androidx.transition.Fade$1 -> androidx.transition.Fade$1:
+ 135:135:void <init>(androidx.transition.Fade,android.view.View) -> <init>
+ 138:141:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+androidx.transition.Fade$FadeAnimatorListener -> androidx.transition.Fade$FadeAnimatorListener:
+ 184:188:void <init>(android.view.View) -> <init>
+ 201:205:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 192:197:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+androidx.transition.FloatArrayEvaluator -> androidx.transition.FloatArrayEvaluator:
+ 39:41:void <init>(float[]) -> <init>
+ 27:27:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 57:67:float[] evaluate(float,float[],float[]) -> evaluate
+androidx.transition.FragmentTransitionSupport -> androidx.transition.FragmentTransitionSupport:
+ 42:42:void <init>() -> <init>
+ 283:287:void addTarget(java.lang.Object,android.view.View) -> addTarget
+ 102:123:void addTargets(java.lang.Object,java.util.ArrayList) -> addTargets
+ 213:214:void beginDelayedTransition(android.view.ViewGroup,java.lang.Object) -> beginDelayedTransition
+ 46:46:boolean canHandle(java.lang.Object) -> canHandle
+ 51:55:java.lang.Object cloneTransition(java.lang.Object) -> cloneTransition
+ 126:128:boolean hasSimpleTarget(androidx.transition.Transition) -> hasSimpleTarget
+ 185:207:java.lang.Object mergeTransitionsInSequence(java.lang.Object,java.lang.Object,java.lang.Object) -> mergeTransitionsInSequence
+ 134:144:java.lang.Object mergeTransitionsTogether(java.lang.Object,java.lang.Object,java.lang.Object) -> mergeTransitionsTogether
+ 291:295:void removeTarget(java.lang.Object,android.view.View) -> removeTarget
+ 257:279:void replaceTargets(java.lang.Object,java.util.ArrayList,java.util.ArrayList) -> replaceTargets
+ 150:178:void scheduleHideFragmentView(java.lang.Object,android.view.View,java.util.ArrayList) -> scheduleHideFragmentView
+ 221:241:void scheduleRemoveTargets(java.lang.Object,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList) -> scheduleRemoveTargets
+ 86:98:void setEpicenter(java.lang.Object,android.view.View) -> setEpicenter
+ 299:311:void setEpicenter(java.lang.Object,android.graphics.Rect) -> setEpicenter
+ 71:82:void setSharedElementTargets(java.lang.Object,android.view.View,java.util.ArrayList) -> setSharedElementTargets
+ 246:252:void swapSharedElementTargets(java.lang.Object,java.util.ArrayList,java.util.ArrayList) -> swapSharedElementTargets
+ 60:65:java.lang.Object wrapTransitionInSet(java.lang.Object) -> wrapTransitionInSet
+androidx.transition.FragmentTransitionSupport$1 -> androidx.transition.FragmentTransitionSupport$1:
+ 91:91:void <init>(androidx.transition.FragmentTransitionSupport,android.graphics.Rect) -> <init>
+ 94:94:android.graphics.Rect onGetEpicenter(androidx.transition.Transition) -> onGetEpicenter
+androidx.transition.FragmentTransitionSupport$2 -> androidx.transition.FragmentTransitionSupport$2:
+ 151:151:void <init>(androidx.transition.FragmentTransitionSupport,android.view.View,java.util.ArrayList) -> <init>
+ 168:168:void onTransitionCancel(androidx.transition.Transition) -> onTransitionCancel
+ 158:164:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 172:172:void onTransitionPause(androidx.transition.Transition) -> onTransitionPause
+ 176:176:void onTransitionResume(androidx.transition.Transition) -> onTransitionResume
+ 154:154:void onTransitionStart(androidx.transition.Transition) -> onTransitionStart
+androidx.transition.FragmentTransitionSupport$3 -> androidx.transition.FragmentTransitionSupport$3:
+ 222:222:void <init>(androidx.transition.FragmentTransitionSupport,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList) -> <init>
+ 238:239:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 225:234:void onTransitionStart(androidx.transition.Transition) -> onTransitionStart
+androidx.transition.FragmentTransitionSupport$4 -> androidx.transition.FragmentTransitionSupport$4:
+ 301:301:void <init>(androidx.transition.FragmentTransitionSupport,android.graphics.Rect) -> <init>
+ 304:307:android.graphics.Rect onGetEpicenter(androidx.transition.Transition) -> onGetEpicenter
+androidx.transition.GhostViewHolder -> androidx.transition.GhostViewHolder:
+ 38:44:void <init>(android.view.ViewGroup) -> <init>
+ 88:97:void addGhostView(androidx.transition.GhostViewPort) -> addGhostView
+ 69:69:androidx.transition.GhostViewHolder getHolder(android.view.ViewGroup) -> getHolder
+ 105:121:int getInsertIndex(java.util.ArrayList) -> getInsertIndex
+ 156:161:void getParents(android.view.View,java.util.ArrayList) -> getParents
+ 132:149:boolean isOnTop(java.util.ArrayList,java.util.ArrayList) -> isOnTop
+ 169:197:boolean isOnTop(android.view.View,android.view.View) -> isOnTop
+ 48:52:void onViewAdded(android.view.View) -> onViewAdded
+ 56:66:void onViewRemoved(android.view.View) -> onViewRemoved
+ 73:80:void popToOverlayTop() -> popToOverlayTop
+androidx.transition.GhostViewPlatform -> androidx.transition.GhostViewPlatform:
+ 73:75:void <init>(android.view.View) -> <init>
+ 43:54:androidx.transition.GhostView addGhost(android.view.View,android.view.ViewGroup,android.graphics.Matrix) -> addGhost
+ 99:110:void fetchAddGhostMethod() -> fetchAddGhostMethod
+ 88:96:void fetchGhostViewClass() -> fetchGhostViewClass
+ 113:123:void fetchRemoveGhostMethod() -> fetchRemoveGhostMethod
+ 58:68:void removeGhost(android.view.View) -> removeGhost
+ 85:85:void reserveEndViewTransition(android.view.ViewGroup,android.view.View) -> reserveEndViewTransition
+ 79:80:void setVisibility(int) -> setVisibility
+androidx.transition.GhostViewPort -> androidx.transition.GhostViewPort:
+ 51:72:void <init>(android.view.View) -> <init>
+ 163:197:androidx.transition.GhostViewPort addGhost(android.view.View,android.view.ViewGroup,android.graphics.Matrix) -> addGhost
+ 155:160:void calculateMatrix(android.view.View,android.view.ViewGroup,android.graphics.Matrix) -> calculateMatrix
+ 139:144:void copySize(android.view.View,android.view.View) -> copySize
+ 147:147:androidx.transition.GhostViewPort getGhostView(android.view.View) -> getGhostView
+ 100:109:void onAttachedToWindow() -> onAttachedToWindow
+ 113:120:void onDetachedFromWindow() -> onDetachedFromWindow
+ 124:136:void onDraw(android.graphics.Canvas) -> onDraw
+ 86:86:void onLayout(boolean,int,int,int,int) -> onLayout
+ 201:209:void removeGhost(android.view.View) -> removeGhost
+ 94:96:void reserveEndViewTransition(android.view.ViewGroup,android.view.View) -> reserveEndViewTransition
+ 151:152:void setGhostView(android.view.View,androidx.transition.GhostViewPort) -> setGhostView
+ 89:90:void setMatrix(android.graphics.Matrix) -> setMatrix
+ 76:81:void setVisibility(int) -> setVisibility
+androidx.transition.GhostViewPort$1 -> androidx.transition.GhostViewPort$1:
+ 52:52:void <init>(androidx.transition.GhostViewPort) -> <init>
+ 56:63:boolean onPreDraw() -> onPreDraw
+androidx.transition.GhostViewUtils -> androidx.transition.GhostViewUtils:
+ 49:50:void <init>() -> <init>
+ 32:36:androidx.transition.GhostView addGhost(android.view.View,android.view.ViewGroup,android.graphics.Matrix) -> addGhost
+ 41:47:void removeGhost(android.view.View) -> removeGhost
+androidx.transition.ImageViewUtils -> androidx.transition.ImageViewUtils:
+ 36:36:void <clinit>() -> <clinit>
+ 111:112:void <init>() -> <init>
+ 45:83:void animateTransform(android.widget.ImageView,android.graphics.Matrix) -> animateTransform
+ 100:109:void fetchDrawMatrixField() -> fetchDrawMatrixField
+ 88:97:void hiddenAnimateTransform(android.widget.ImageView,android.graphics.Matrix) -> hiddenAnimateTransform
+androidx.transition.MatrixUtils -> androidx.transition.MatrixUtils:
+ 24:24:void <clinit>() -> <clinit>
+ 207:208:void <init>() -> <init>
+androidx.transition.MatrixUtils$1 -> androidx.transition.MatrixUtils$1:
+ 24:24:void <init>() -> <init>
+ 27:27:void oops() -> oops
+ 183:184:boolean postConcat(android.graphics.Matrix) -> postConcat
+ 159:160:boolean postRotate(float,float,float) -> postRotate
+ 165:166:boolean postRotate(float) -> postRotate
+ 147:148:boolean postScale(float,float,float,float) -> postScale
+ 153:154:boolean postScale(float,float) -> postScale
+ 171:172:boolean postSkew(float,float,float,float) -> postSkew
+ 177:178:boolean postSkew(float,float) -> postSkew
+ 141:142:boolean postTranslate(float,float) -> postTranslate
+ 135:136:boolean preConcat(android.graphics.Matrix) -> preConcat
+ 111:112:boolean preRotate(float,float,float) -> preRotate
+ 117:118:boolean preRotate(float) -> preRotate
+ 99:100:boolean preScale(float,float,float,float) -> preScale
+ 105:106:boolean preScale(float,float) -> preScale
+ 123:124:boolean preSkew(float,float,float,float) -> preSkew
+ 129:130:boolean preSkew(float,float) -> preSkew
+ 93:94:boolean preTranslate(float,float) -> preTranslate
+ 37:38:void reset() -> reset
+ 32:33:void set(android.graphics.Matrix) -> set
+ 87:88:boolean setConcat(android.graphics.Matrix,android.graphics.Matrix) -> setConcat
+ 196:197:boolean setPolyToPoly(float[],int,float[],int,int) -> setPolyToPoly
+ 189:190:boolean setRectToRect(android.graphics.RectF,android.graphics.RectF,android.graphics.Matrix$ScaleToFit) -> setRectToRect
+ 57:58:void setRotate(float,float,float) -> setRotate
+ 62:63:void setRotate(float) -> setRotate
+ 47:48:void setScale(float,float,float,float) -> setScale
+ 52:53:void setScale(float,float) -> setScale
+ 67:68:void setSinCos(float,float,float,float) -> setSinCos
+ 72:73:void setSinCos(float,float) -> setSinCos
+ 77:78:void setSkew(float,float,float,float) -> setSkew
+ 82:83:void setSkew(float,float) -> setSkew
+ 42:43:void setTranslate(float,float) -> setTranslate
+ 202:203:void setValues(float[]) -> setValues
+androidx.transition.ObjectAnimatorUtils -> androidx.transition.ObjectAnimatorUtils:
+ 34:35:void <init>() -> <init>
+ 28:29:android.animation.ObjectAnimator ofPointF(java.lang.Object,android.util.Property,android.graphics.Path) -> ofPointF
+androidx.transition.PathMotion -> androidx.transition.PathMotion:
+ 43:44:void <init>() -> <init>
+ 46:47:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+androidx.transition.PathProperty -> androidx.transition.PathProperty:
+ 40:49:void <init>(android.util.Property,android.graphics.Path) -> <init>
+ 35:35:java.lang.Object get(java.lang.Object) -> get
+ 53:53:java.lang.Float get(java.lang.Object) -> get
+ 35:35:void set(java.lang.Object,java.lang.Object) -> set
+ 58:63:void set(java.lang.Object,java.lang.Float) -> set
+androidx.transition.PatternPathMotion -> androidx.transition.PatternPathMotion:
+ 47:57:void <init>() -> <init>
+ 47:74:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 47:86:void <init>(android.graphics.Path) -> <init>
+ 149:149:float distance(float,float) -> distance
+ 135:145:android.graphics.Path getPath(float,float,float,float) -> getPath
+ 96:96:android.graphics.Path getPatternPath() -> getPatternPath
+ 107:131:void setPatternPath(android.graphics.Path) -> setPatternPath
+androidx.transition.PropertyValuesHolderUtils -> androidx.transition.PropertyValuesHolderUtils:
+ 44:45:void <init>() -> <init>
+ 38:39:android.animation.PropertyValuesHolder ofPointF(android.util.Property,android.graphics.Path) -> ofPointF
+androidx.transition.RectEvaluator -> androidx.transition.RectEvaluator:
+ 39:40:void <init>() -> <init>
+ 52:54:void <init>(android.graphics.Rect) -> <init>
+ 25:25:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 75:83:android.graphics.Rect evaluate(float,android.graphics.Rect,android.graphics.Rect) -> evaluate
+androidx.transition.Scene -> androidx.transition.Scene:
+ 39:91:void <init>(android.view.ViewGroup) -> <init>
+ 39:112:void <init>(android.view.ViewGroup,int,android.content.Context) -> <init>
+ 39:127:void <init>(android.view.ViewGroup,android.view.View) -> <init>
+ 168:185:void enter() -> enter
+ 149:154:void exit() -> exit
+ 209:209:androidx.transition.Scene getCurrentScene(android.view.ViewGroup) -> getCurrentScene
+ 63:75:androidx.transition.Scene getSceneForLayout(android.view.ViewGroup,int,android.content.Context) -> getSceneForLayout
+ 138:138:android.view.ViewGroup getSceneRoot() -> getSceneRoot
+ 259:259:boolean isCreatedFromLayoutResource() -> isCreatedFromLayoutResource
+ 196:197:void setCurrentScene(android.view.ViewGroup,androidx.transition.Scene) -> setCurrentScene
+ 230:231:void setEnterAction(java.lang.Runnable) -> setEnterAction
+ 250:251:void setExitAction(java.lang.Runnable) -> setExitAction
+androidx.transition.SidePropagation -> androidx.transition.SidePropagation:
+ 34:37:void <init>() -> <init>
+ 125:151:int distance(android.view.View,int,int,int,int,int,int,int,int) -> distance
+ 155:162:int getMaxDistance(android.view.ViewGroup) -> getMaxDistance
+ 76:119:long getStartDelay(android.view.ViewGroup,androidx.transition.Transition,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> getStartDelay
+ 67:71:void setPropagationSpeed(float) -> setPropagationSpeed
+ 51:52:void setSide(int) -> setSide
+androidx.transition.Slide -> androidx.transition.Slide:
+ 55:144:void <clinit>() -> <clinit>
+ 58:157:void <init>() -> <init>
+ 58:164:void <init>(int) -> <init>
+ 58:176:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 193:195:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 187:189:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 179:183:void captureValues(androidx.transition.TransitionValues) -> captureValues
+ 244:244:int getSlideEdge() -> getSlideEdge
+ 250:259:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onAppear
+ 266:275:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onDisappear
+ 206:232:void setSlideEdge(int) -> setSlideEdge
+androidx.transition.Slide$1 -> androidx.transition.Slide$1:
+ 93:93:void <init>() -> <init>
+ 96:96:float getGoneX(android.view.ViewGroup,android.view.View) -> getGoneX
+androidx.transition.Slide$2 -> androidx.transition.Slide$2:
+ 100:100:void <init>() -> <init>
+ 103:111:float getGoneX(android.view.ViewGroup,android.view.View) -> getGoneX
+androidx.transition.Slide$3 -> androidx.transition.Slide$3:
+ 115:115:void <init>() -> <init>
+ 118:118:float getGoneY(android.view.ViewGroup,android.view.View) -> getGoneY
+androidx.transition.Slide$4 -> androidx.transition.Slide$4:
+ 122:122:void <init>() -> <init>
+ 125:125:float getGoneX(android.view.ViewGroup,android.view.View) -> getGoneX
+androidx.transition.Slide$5 -> androidx.transition.Slide$5:
+ 129:129:void <init>() -> <init>
+ 132:140:float getGoneX(android.view.ViewGroup,android.view.View) -> getGoneX
+androidx.transition.Slide$6 -> androidx.transition.Slide$6:
+ 144:144:void <init>() -> <init>
+ 147:147:float getGoneY(android.view.ViewGroup,android.view.View) -> getGoneY
+androidx.transition.Slide$CalculateSlideHorizontal -> androidx.transition.Slide$CalculateSlideHorizontal:
+ 77:77:void <init>() -> <init>
+ 77:77:void <init>(androidx.transition.Slide$1) -> <init>
+ 81:81:float getGoneY(android.view.ViewGroup,android.view.View) -> getGoneY
+androidx.transition.Slide$CalculateSlideVertical -> androidx.transition.Slide$CalculateSlideVertical:
+ 85:85:void <init>() -> <init>
+ 85:85:void <init>(androidx.transition.Slide$1) -> <init>
+ 89:89:float getGoneX(android.view.ViewGroup,android.view.View) -> getGoneX
+androidx.transition.Styleable -> androidx.transition.Styleable:
+ 30:169:void <clinit>() -> <clinit>
+ 178:179:void <init>() -> <init>
+androidx.transition.Transition -> androidx.transition.Transition:
+ 164:205:void <clinit>() -> <clinit>
+ 181:264:void <init>() -> <init>
+ 181:301:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 2042:2046:androidx.transition.Transition addListener(androidx.transition.Transition$TransitionListener) -> addListener
+ 1000:1001:androidx.transition.Transition addTarget(android.view.View) -> addTarget
+ 1024:1027:androidx.transition.Transition addTarget(int) -> addTarget
+ 1049:1053:androidx.transition.Transition addTarget(java.lang.String) -> addTarget
+ 1079:1083:androidx.transition.Transition addTarget(java.lang.Class) -> addTarget
+ 647:663:void addUnmatched(androidx.collection.ArrayMap,androidx.collection.ArrayMap) -> addUnmatched
+ 1532:1569:void addViewValues(androidx.transition.TransitionValuesMaps,android.view.View,androidx.transition.TransitionValues) -> addViewValues
+ 531:537:boolean alreadyContains(int[],int) -> alreadyContains
+ 1899:1920:void animate(android.animation.Animator) -> animate
+ 2017:2030:void cancel() -> cancel
+ 1599:1653:void captureHierarchy(android.view.View,boolean) -> captureHierarchy
+ 2189:2205:void capturePropagationValues(androidx.transition.TransitionValues) -> capturePropagationValues
+ 1471:1528:void captureValues(android.view.ViewGroup,boolean) -> captureValues
+ 1577:1586:void clearValues(boolean) -> clearValues
+ 120:120:java.lang.Object clone() -> clone
+ 2224:2232:androidx.transition.Transition clone() -> clone
+ 489:489:android.animation.Animator createAnimator(android.view.ViewGroup,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> createAnimator
+ 710:803:void createAnimators(android.view.ViewGroup,androidx.transition.TransitionValuesMaps,androidx.transition.TransitionValuesMaps,java.util.ArrayList,java.util.ArrayList) -> createAnimators
+ 1958:1982:void end() -> end
+ 1271:1272:androidx.transition.Transition excludeChildren(android.view.View,boolean) -> excludeChildren
+ 1301:1302:androidx.transition.Transition excludeChildren(int,boolean) -> excludeChildren
+ 1384:1385:androidx.transition.Transition excludeChildren(java.lang.Class,boolean) -> excludeChildren
+ 1310:1317:java.util.ArrayList excludeId(java.util.ArrayList,int,boolean) -> excludeId
+ 1161:1168:java.util.ArrayList excludeObject(java.util.ArrayList,java.lang.Object,boolean) -> excludeObject
+ 1193:1194:androidx.transition.Transition excludeTarget(android.view.View,boolean) -> excludeTarget
+ 1219:1220:androidx.transition.Transition excludeTarget(int,boolean) -> excludeTarget
+ 1245:1246:androidx.transition.Transition excludeTarget(java.lang.String,boolean) -> excludeTarget
+ 1357:1358:androidx.transition.Transition excludeTarget(java.lang.Class,boolean) -> excludeTarget
+ 1394:1401:java.util.ArrayList excludeType(java.util.ArrayList,java.lang.Class,boolean) -> excludeType
+ 1325:1332:java.util.ArrayList excludeView(java.util.ArrayList,android.view.View,boolean) -> excludeView
+ 1991:2008:void forceToEnd(android.view.ViewGroup) -> forceToEnd
+ 357:357:long getDuration() -> getDuration
+ 2146:2149:android.graphics.Rect getEpicenter() -> getEpicenter
+ 2133:2133:androidx.transition.Transition$EpicenterCallback getEpicenterCallback() -> getEpicenterCallback
+ 412:412:android.animation.TimeInterpolator getInterpolator() -> getInterpolator
+ 1682:1707:androidx.transition.TransitionValues getMatchedTransitionValues(android.view.View,boolean) -> getMatchedTransitionValues
+ 2250:2250:java.lang.String getName() -> getName
+ 2103:2103:androidx.transition.PathMotion getPathMotion() -> getPathMotion
+ 2181:2181:androidx.transition.TransitionPropagation getPropagation() -> getPropagation
+ 859:864:androidx.collection.ArrayMap getRunningAnimators() -> getRunningAnimators
+ 384:384:long getStartDelay() -> getStartDelay
+ 1415:1415:java.util.List getTargetIds() -> getTargetIds
+ 1444:1444:java.util.List getTargetNames() -> getTargetNames
+ 1459:1459:java.util.List getTargetTypes() -> getTargetTypes
+ 1429:1429:java.util.List getTargets() -> getTargets
+ 438:438:java.lang.String[] getTransitionProperties() -> getTransitionProperties
+ 1663:1667:androidx.transition.TransitionValues getTransitionValues(android.view.View,boolean) -> getTransitionValues
+ 1840:1861:boolean isTransitionRequired(androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> isTransitionRequired
+ 527:527:boolean isValidMatch(int) -> isValidMatch
+ 816:855:boolean isValidTarget(android.view.View) -> isValidTarget
+ 1866:1884:boolean isValueChanged(androidx.transition.TransitionValues,androidx.transition.TransitionValues,java.lang.String) -> isValueChanged
+ 594:611:void matchIds(androidx.collection.ArrayMap,androidx.collection.ArrayMap,android.util.SparseArray,android.util.SparseArray) -> matchIds
+ 546:557:void matchInstances(androidx.collection.ArrayMap,androidx.collection.ArrayMap) -> matchInstances
+ 567:584:void matchItemIds(androidx.collection.ArrayMap,androidx.collection.ArrayMap,androidx.collection.LongSparseArray,androidx.collection.LongSparseArray) -> matchItemIds
+ 621:638:void matchNames(androidx.collection.ArrayMap,androidx.collection.ArrayMap,androidx.collection.ArrayMap,androidx.collection.ArrayMap) -> matchNames
+ 667:690:void matchStartAndEnd(androidx.transition.TransitionValuesMaps,androidx.transition.TransitionValuesMaps) -> matchStartAndEnd
+ 305:330:int[] parseMatchOrder(java.lang.String) -> parseMatchOrder
+ 1719:1740:void pause(android.view.View) -> pause
+ 1782:1823:void playTransition(android.view.ViewGroup) -> playTransition
+ 2058:2065:androidx.transition.Transition removeListener(androidx.transition.Transition$TransitionListener) -> removeListener
+ 1098:1099:androidx.transition.Transition removeTarget(android.view.View) -> removeTarget
+ 1114:1117:androidx.transition.Transition removeTarget(int) -> removeTarget
+ 1132:1135:androidx.transition.Transition removeTarget(java.lang.String) -> removeTarget
+ 1150:1153:androidx.transition.Transition removeTarget(java.lang.Class) -> removeTarget
+ 1751:1774:void resume(android.view.View) -> resume
+ 896:912:void runAnimator(android.animation.Animator,androidx.collection.ArrayMap) -> runAnimator
+ 878:892:void runAnimators() -> runAnimators
+ 2213:2214:void setCanRemoveViews(boolean) -> setCanRemoveViews
+ 344:345:androidx.transition.Transition setDuration(long) -> setDuration
+ 2118:2119:void setEpicenterCallback(androidx.transition.Transition$EpicenterCallback) -> setEpicenterCallback
+ 398:399:androidx.transition.Transition setInterpolator(android.animation.TimeInterpolator) -> setInterpolator
+ 510:524:void setMatchOrder(int[]) -> setMatchOrder
+ 2085:2090:void setPathMotion(androidx.transition.PathMotion) -> setPathMotion
+ 2164:2165:void setPropagation(androidx.transition.TransitionPropagation) -> setPropagation
+ 2208:2209:androidx.transition.Transition setSceneRoot(android.view.ViewGroup) -> setSceneRoot
+ 371:372:androidx.transition.Transition setStartDelay(long) -> setStartDelay
+ 1931:1943:void start() -> start
+ 2218:2218:java.lang.String toString() -> toString
+ 2254:2285:java.lang.String toString(java.lang.String) -> toString
+androidx.transition.Transition$1 -> androidx.transition.Transition$1:
+ 171:171:void <init>() -> <init>
+ 174:177:android.graphics.Path getPath(float,float,float,float) -> getPath
+androidx.transition.Transition$2 -> androidx.transition.Transition$2:
+ 898:898:void <init>(androidx.transition.Transition,androidx.collection.ArrayMap) -> <init>
+ 906:908:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 901:902:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+androidx.transition.Transition$3 -> androidx.transition.Transition$3:
+ 1911:1911:void <init>(androidx.transition.Transition) -> <init>
+ 1914:1916:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+androidx.transition.Transition$AnimationInfo -> androidx.transition.Transition$AnimationInfo:
+ 2368:2374:void <init>(android.view.View,java.lang.String,androidx.transition.Transition,androidx.transition.WindowIdImpl,androidx.transition.TransitionValues) -> <init>
+androidx.transition.Transition$ArrayListManager -> androidx.transition.Transition$ArrayListManager:
+ 2387:2387:void <init>() -> <init>
+ 2398:2404:java.util.ArrayList add(java.util.ArrayList,java.lang.Object) -> add
+ 2413:2419:java.util.ArrayList remove(java.util.ArrayList,java.lang.Object) -> remove
+androidx.transition.Transition$EpicenterCallback -> androidx.transition.Transition$EpicenterCallback:
+ 2431:2431:void <init>() -> <init>
+androidx.transition.TransitionInflater -> androidx.transition.TransitionInflater:
+ 44:46:void <clinit>() -> <clinit>
+ 50:52:void <init>(android.content.Context) -> <init>
+ 194:217:java.lang.Object createCustom(android.util.AttributeSet,java.lang.Class,java.lang.String) -> createCustom
+ 117:190:androidx.transition.Transition createTransitionFromXml(org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,androidx.transition.Transition) -> createTransitionFromXml
+ 288:307:androidx.transition.TransitionManager createTransitionManagerFromXml(org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.view.ViewGroup) -> createTransitionManagerFromXml
+ 58:58:androidx.transition.TransitionInflater from(android.content.Context) -> from
+ 229:277:void getTargetIds(org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,androidx.transition.Transition) -> getTargetIds
+ 70:80:androidx.transition.Transition inflateTransition(int) -> inflateTransition
+ 92:107:androidx.transition.TransitionManager inflateTransitionManager(int,android.view.ViewGroup) -> inflateTransitionManager
+ 315:340:void loadTransition(android.util.AttributeSet,org.xmlpull.v1.XmlPullParser,android.view.ViewGroup,androidx.transition.TransitionManager) -> loadTransition
+androidx.transition.TransitionListenerAdapter -> androidx.transition.TransitionListenerAdapter:
+ 27:27:void <init>() -> <init>
+ 39:39:void onTransitionCancel(androidx.transition.Transition) -> onTransitionCancel
+ 35:35:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 43:43:void onTransitionPause(androidx.transition.Transition) -> onTransitionPause
+ 47:47:void onTransitionResume(androidx.transition.Transition) -> onTransitionResume
+ 31:31:void onTransitionStart(androidx.transition.Transition) -> onTransitionStart
+androidx.transition.TransitionManager -> androidx.transition.TransitionManager:
+ 83:90:void <clinit>() -> <clinit>
+ 79:86:void <init>() -> <init>
+ 380:381:void beginDelayedTransition(android.view.ViewGroup) -> beginDelayedTransition
+ 408:422:void beginDelayedTransition(android.view.ViewGroup,androidx.transition.Transition) -> beginDelayedTransition
+ 169:197:void changeScene(androidx.transition.Scene,androidx.transition.Transition) -> changeScene
+ 430:440:void endTransitions(android.view.ViewGroup) -> endTransitions
+ 200:211:androidx.collection.ArrayMap getRunningTransitions() -> getRunningTransitions
+ 139:155:androidx.transition.Transition getTransition(androidx.transition.Scene) -> getTransition
+ 349:350:void go(androidx.transition.Scene) -> go
+ 367:368:void go(androidx.transition.Scene,androidx.transition.Transition) -> go
+ 216:221:void sceneChangeRunTransition(android.view.ViewGroup,androidx.transition.Transition) -> sceneChangeRunTransition
+ 309:326:void sceneChangeSetup(android.view.ViewGroup,androidx.transition.Transition) -> sceneChangeSetup
+ 102:103:void setTransition(androidx.transition.Scene,androidx.transition.Transition) -> setTransition
+ 119:125:void setTransition(androidx.transition.Scene,androidx.transition.Scene,androidx.transition.Transition) -> setTransition
+ 339:340:void transitionTo(androidx.transition.Scene) -> transitionTo
+androidx.transition.TransitionManager$MultiListener -> androidx.transition.TransitionManager$MultiListener:
+ 238:241:void <init>(androidx.transition.Transition,android.view.ViewGroup) -> <init>
+ 268:303:boolean onPreDraw() -> onPreDraw
+ 250:250:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 254:264:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+ 244:246:void removeListeners() -> removeListeners
+androidx.transition.TransitionManager$MultiListener$1 -> androidx.transition.TransitionManager$MultiListener$1:
+ 287:287:void <init>(androidx.transition.TransitionManager$MultiListener,androidx.collection.ArrayMap) -> <init>
+ 290:293:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+androidx.transition.TransitionPropagation -> androidx.transition.TransitionPropagation:
+ 32:32:void <init>() -> <init>
+androidx.transition.TransitionSet -> androidx.transition.TransitionSet:
+ 80:111:void <init>() -> <init>
+ 80:123:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 62:62:androidx.transition.Transition addListener(androidx.transition.Transition$TransitionListener) -> addListener
+ 307:307:androidx.transition.TransitionSet addListener(androidx.transition.Transition$TransitionListener) -> addListener
+ 62:62:androidx.transition.Transition addTarget(int) -> addTarget
+ 62:62:androidx.transition.Transition addTarget(android.view.View) -> addTarget
+ 62:62:androidx.transition.Transition addTarget(java.lang.Class) -> addTarget
+ 62:62:androidx.transition.Transition addTarget(java.lang.String) -> addTarget
+ 271:274:androidx.transition.TransitionSet addTarget(android.view.View) -> addTarget
+ 280:283:androidx.transition.TransitionSet addTarget(int) -> addTarget
+ 289:292:androidx.transition.TransitionSet addTarget(java.lang.String) -> addTarget
+ 298:301:androidx.transition.TransitionSet addTarget(java.lang.Class) -> addTarget
+ 179:195:androidx.transition.TransitionSet addTransition(androidx.transition.Transition) -> addTransition
+ 199:201:void addTransitionInternal(androidx.transition.Transition) -> addTransitionInternal
+ 581:586:void cancel() -> cancel
+ 536:544:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 548:553:void capturePropagationValues(androidx.transition.TransitionValues) -> capturePropagationValues
+ 524:532:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 62:62:java.lang.Object clone() -> clone
+ 649:655:androidx.transition.Transition clone() -> clone
+ 466:483:void createAnimators(android.view.ViewGroup,androidx.transition.TransitionValuesMaps,androidx.transition.TransitionValuesMaps,java.util.ArrayList,java.util.ArrayList) -> createAnimators
+ 349:352:androidx.transition.Transition excludeTarget(android.view.View,boolean) -> excludeTarget
+ 358:361:androidx.transition.Transition excludeTarget(java.lang.String,boolean) -> excludeTarget
+ 367:370:androidx.transition.Transition excludeTarget(int,boolean) -> excludeTarget
+ 376:379:androidx.transition.Transition excludeTarget(java.lang.Class,boolean) -> excludeTarget
+ 592:597:void forceToEnd(android.view.ViewGroup) -> forceToEnd
+ 158:158:int getOrdering() -> getOrdering
+ 223:226:androidx.transition.Transition getTransitionAt(int) -> getTransitionAt
+ 211:211:int getTransitionCount() -> getTransitionCount
+ 559:564:void pause(android.view.View) -> pause
+ 62:62:androidx.transition.Transition removeListener(androidx.transition.Transition$TransitionListener) -> removeListener
+ 385:385:androidx.transition.TransitionSet removeListener(androidx.transition.Transition$TransitionListener) -> removeListener
+ 62:62:androidx.transition.Transition removeTarget(int) -> removeTarget
+ 62:62:androidx.transition.Transition removeTarget(android.view.View) -> removeTarget
+ 62:62:androidx.transition.Transition removeTarget(java.lang.Class) -> removeTarget
+ 62:62:androidx.transition.Transition removeTarget(java.lang.String) -> removeTarget
+ 313:316:androidx.transition.TransitionSet removeTarget(int) -> removeTarget
+ 322:325:androidx.transition.TransitionSet removeTarget(android.view.View) -> removeTarget
+ 331:334:androidx.transition.TransitionSet removeTarget(java.lang.Class) -> removeTarget
+ 340:343:androidx.transition.TransitionSet removeTarget(java.lang.String) -> removeTarget
+ 407:409:androidx.transition.TransitionSet removeTransition(androidx.transition.Transition) -> removeTransition
+ 570:575:void resume(android.view.View) -> resume
+ 491:520:void runAnimators() -> runAnimators
+ 611:616:void setCanRemoveViews(boolean) -> setCanRemoveViews
+ 62:62:androidx.transition.Transition setDuration(long) -> setDuration
+ 239:246:androidx.transition.TransitionSet setDuration(long) -> setDuration
+ 630:636:void setEpicenterCallback(androidx.transition.Transition$EpicenterCallback) -> setEpicenterCallback
+ 62:62:androidx.transition.Transition setInterpolator(android.animation.TimeInterpolator) -> setInterpolator
+ 258:265:androidx.transition.TransitionSet setInterpolator(android.animation.TimeInterpolator) -> setInterpolator
+ 135:146:androidx.transition.TransitionSet setOrdering(int) -> setOrdering
+ 390:397:void setPathMotion(androidx.transition.PathMotion) -> setPathMotion
+ 620:626:void setPropagation(androidx.transition.TransitionPropagation) -> setPropagation
+ 62:62:androidx.transition.Transition setSceneRoot(android.view.ViewGroup) -> setSceneRoot
+ 601:606:androidx.transition.TransitionSet setSceneRoot(android.view.ViewGroup) -> setSceneRoot
+ 62:62:androidx.transition.Transition setStartDelay(long) -> setStartDelay
+ 252:252:androidx.transition.TransitionSet setStartDelay(long) -> setStartDelay
+ 418:423:void setupStartEndListeners() -> setupStartEndListeners
+ 640:644:java.lang.String toString(java.lang.String) -> toString
+androidx.transition.TransitionSet$1 -> androidx.transition.TransitionSet$1:
+ 503:503:void <init>(androidx.transition.TransitionSet,androidx.transition.Transition) -> <init>
+ 506:508:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+androidx.transition.TransitionSet$TransitionSetListener -> androidx.transition.TransitionSet$TransitionSetListener:
+ 433:435:void <init>(androidx.transition.TransitionSet) -> <init>
+ 447:454:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 439:443:void onTransitionStart(androidx.transition.Transition) -> onTransitionStart
+androidx.transition.TransitionUtils -> androidx.transition.TransitionUtils:
+ 35:39:void <clinit>() -> <clinit>
+ 177:178:void <init>() -> <init>
+ 51:72:android.view.View copyViewImage(android.view.ViewGroup,android.view.View,android.view.View) -> copyViewImage
+ 93:140:android.graphics.Bitmap createViewBitmap(android.view.View,android.graphics.Matrix,android.graphics.RectF,android.view.ViewGroup) -> createViewBitmap
+ 144:151:android.animation.Animator mergeAnimators(android.animation.Animator,android.animation.Animator) -> mergeAnimators
+androidx.transition.TransitionUtils$MatrixEvaluator -> androidx.transition.TransitionUtils$MatrixEvaluator:
+ 155:161:void <init>() -> <init>
+ 155:155:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 165:172:android.graphics.Matrix evaluate(float,android.graphics.Matrix,android.graphics.Matrix) -> evaluate
+androidx.transition.TransitionValues -> androidx.transition.TransitionValues:
+ 49:70:void <init>() -> <init>
+ 52:70:void <init>(android.view.View) -> <init>
+ 74:81:boolean equals(java.lang.Object) -> equals
+ 86:86:int hashCode() -> hashCode
+ 91:97:java.lang.String toString() -> toString
+androidx.transition.TransitionValuesMaps -> androidx.transition.TransitionValuesMaps:
+ 25:33:void <init>() -> <init>
+androidx.transition.TranslationAnimationCreator -> androidx.transition.TranslationAnimationCreator:
+ 160:161:void <init>() -> <init>
+ 56:82:android.animation.Animator createAnimation(android.view.View,androidx.transition.TransitionValues,int,int,float,float,float,float,android.animation.TimeInterpolator,androidx.transition.Transition) -> createAnimation
+androidx.transition.TranslationAnimationCreator$TransitionPositionListener -> androidx.transition.TranslationAnimationCreator$TransitionPositionListener:
+ 99:110:void <init>(android.view.View,android.view.View,int,int,float,float) -> <init>
+ 114:120:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 124:128:void onAnimationPause(android.animation.Animator) -> onAnimationPause
+ 132:134:void onAnimationResume(android.animation.Animator) -> onAnimationResume
+ 149:149:void onTransitionCancel(androidx.transition.Transition) -> onTransitionCancel
+ 142:145:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 153:153:void onTransitionPause(androidx.transition.Transition) -> onTransitionPause
+ 157:157:void onTransitionResume(androidx.transition.Transition) -> onTransitionResume
+ 138:138:void onTransitionStart(androidx.transition.Transition) -> onTransitionStart
+androidx.transition.ViewGroupOverlayApi14 -> androidx.transition.ViewGroupOverlayApi14:
+ 28:29:void <init>(android.content.Context,android.view.ViewGroup,android.view.View) -> <init>
+ 37:38:void add(android.view.View) -> add
+ 32:32:androidx.transition.ViewGroupOverlayApi14 createFrom(android.view.ViewGroup) -> createFrom
+ 42:43:void remove(android.view.View) -> remove
+androidx.transition.ViewGroupOverlayApi18 -> androidx.transition.ViewGroupOverlayApi18:
+ 32:34:void <init>(android.view.ViewGroup) -> <init>
+ 38:39:void add(android.graphics.drawable.Drawable) -> add
+ 48:49:void add(android.view.View) -> add
+ 43:44:void remove(android.graphics.drawable.Drawable) -> remove
+ 53:54:void remove(android.view.View) -> remove
+androidx.transition.ViewGroupUtils -> androidx.transition.ViewGroupUtils:
+ 37:37:void <clinit>() -> <clinit>
+ 110:111:void <init>() -> <init>
+ 83:105:int getChildDrawingOrder(android.view.ViewGroup,int) -> getChildDrawingOrder
+ 46:47:androidx.transition.ViewGroupOverlayImpl getOverlay(android.view.ViewGroup) -> getOverlay
+ 68:77:void hiddenSuppressLayout(android.view.ViewGroup,boolean) -> hiddenSuppressLayout
+ 56:63:void suppressLayout(android.view.ViewGroup,boolean) -> suppressLayout
+androidx.transition.ViewGroupUtilsApi14 -> androidx.transition.ViewGroupUtilsApi14:
+ 129:130:void <init>() -> <init>
+ 109:127:void cancelLayoutTransition(android.animation.LayoutTransition) -> cancelLayoutTransition
+ 45:106:void suppressLayout(android.view.ViewGroup,boolean) -> suppressLayout
+androidx.transition.ViewGroupUtilsApi14$1 -> androidx.transition.ViewGroupUtilsApi14$1:
+ 46:46:void <init>() -> <init>
+ 49:49:boolean isChangingLayout() -> isChangingLayout
+androidx.transition.ViewOverlayApi14 -> androidx.transition.ViewOverlayApi14:
+ 47:49:void <init>(android.content.Context,android.view.ViewGroup,android.view.View) -> <init>
+ 81:82:void add(android.graphics.drawable.Drawable) -> add
+ 65:76:androidx.transition.ViewOverlayApi14 createFrom(android.view.View) -> createFrom
+ 52:61:android.view.ViewGroup getContentView(android.view.View) -> getContentView
+ 86:87:void remove(android.graphics.drawable.Drawable) -> remove
+androidx.transition.ViewOverlayApi14$OverlayViewGroup -> androidx.transition.ViewOverlayApi14$OverlayViewGroup:
+ 116:121:void <clinit>() -> <clinit>
+ 132:149:void <init>(android.content.Context,android.view.ViewGroup,android.view.View,androidx.transition.ViewOverlayApi14) -> <init>
+ 158:169:void add(android.graphics.drawable.Drawable) -> add
+ 186:211:void add(android.view.View) -> add
+ 219:223:void assertNotDisposed() -> assertNotDisposed
+ 239:252:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 154:154:boolean dispatchTouchEvent(android.view.MotionEvent) -> dispatchTouchEvent
+ 226:230:void disposeIfEmpty() -> disposeIfEmpty
+ 269:275:void getOffset(int[]) -> getOffset
+ 299:313:android.view.ViewParent invalidateChildInParent(int[],android.graphics.Rect) -> invalidateChildInParent
+ 282:293:android.view.ViewParent invalidateChildInParentFast(int,int,android.graphics.Rect) -> invalidateChildInParentFast
+ 234:235:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 257:257:void onLayout(boolean,int,int,int,int) -> onLayout
+ 172:178:void remove(android.graphics.drawable.Drawable) -> remove
+ 214:216:void remove(android.view.View) -> remove
+ 182:182:boolean verifyDrawable(android.graphics.drawable.Drawable) -> verifyDrawable
+androidx.transition.ViewOverlayApi18 -> androidx.transition.ViewOverlayApi18:
+ 31:33:void <init>(android.view.View) -> <init>
+ 37:38:void add(android.graphics.drawable.Drawable) -> add
+ 42:43:void remove(android.graphics.drawable.Drawable) -> remove
+androidx.transition.ViewUtils -> androidx.transition.ViewUtils:
+ 38:71:void <clinit>() -> <clinit>
+ 202:203:void <init>() -> <init>
+ 128:129:void clearNonTransitionAlpha(android.view.View) -> clearNonTransitionAlpha
+ 90:91:androidx.transition.ViewOverlayImpl getOverlay(android.view.View) -> getOverlay
+ 111:111:float getTransitionAlpha(android.view.View) -> getTransitionAlpha
+ 100:101:androidx.transition.WindowIdImpl getWindowId(android.view.View) -> getWindowId
+ 119:120:void saveNonTransitionAlpha(android.view.View) -> saveNonTransitionAlpha
+ 187:188:void setAnimationMatrix(android.view.View,android.graphics.Matrix) -> setAnimationMatrix
+ 199:200:void setLeftTopRightBottom(android.view.View,int,int,int,int) -> setLeftTopRightBottom
+ 107:108:void setTransitionAlpha(android.view.View,float) -> setTransitionAlpha
+ 145:146:void setTransitionVisibility(android.view.View,int) -> setTransitionVisibility
+ 161:162:void transformMatrixToGlobal(android.view.View,android.graphics.Matrix) -> transformMatrixToGlobal
+ 177:178:void transformMatrixToLocal(android.view.View,android.graphics.Matrix) -> transformMatrixToLocal
+androidx.transition.ViewUtils$1 -> androidx.transition.ViewUtils$1:
+ 57:57:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 57:57:java.lang.Object get(java.lang.Object) -> get
+ 61:61:java.lang.Float get(android.view.View) -> get
+ 57:57:void set(java.lang.Object,java.lang.Object) -> set
+ 66:67:void set(android.view.View,java.lang.Float) -> set
+androidx.transition.ViewUtils$2 -> androidx.transition.ViewUtils$2:
+ 72:72:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 72:72:java.lang.Object get(java.lang.Object) -> get
+ 76:76:android.graphics.Rect get(android.view.View) -> get
+ 72:72:void set(java.lang.Object,java.lang.Object) -> set
+ 81:82:void set(android.view.View,android.graphics.Rect) -> set
+androidx.transition.ViewUtilsApi19 -> androidx.transition.ViewUtilsApi19:
+ 31:31:void <clinit>() -> <clinit>
+ 26:26:void <init>() -> <init>
+ 72:72:void clearNonTransitionAlpha(android.view.View) -> clearNonTransitionAlpha
+ 52:61:float getTransitionAlpha(android.view.View) -> getTransitionAlpha
+ 67:67:void saveNonTransitionAlpha(android.view.View) -> saveNonTransitionAlpha
+ 36:47:void setTransitionAlpha(android.view.View,float) -> setTransitionAlpha
+androidx.transition.ViewUtilsApi21 -> androidx.transition.ViewUtilsApi21:
+ 33:41:void <clinit>() -> <clinit>
+ 28:28:void <init>() -> <init>
+ 74:83:void setAnimationMatrix(android.view.View,android.graphics.Matrix) -> setAnimationMatrix
+ 46:55:void transformMatrixToGlobal(android.view.View,android.graphics.Matrix) -> transformMatrixToGlobal
+ 60:69:void transformMatrixToLocal(android.view.View,android.graphics.Matrix) -> transformMatrixToLocal
+androidx.transition.ViewUtilsApi22 -> androidx.transition.ViewUtilsApi22:
+ 31:31:void <clinit>() -> <clinit>
+ 26:26:void <init>() -> <init>
+ 36:45:void setLeftTopRightBottom(android.view.View,int,int,int,int) -> setLeftTopRightBottom
+androidx.transition.ViewUtilsApi23 -> androidx.transition.ViewUtilsApi23:
+ 32:32:void <clinit>() -> <clinit>
+ 27:27:void <init>() -> <init>
+ 38:51:void setTransitionVisibility(android.view.View,int) -> setTransitionVisibility
+androidx.transition.ViewUtilsApi29 -> androidx.transition.ViewUtilsApi29:
+ 27:27:void <init>() -> <init>
+ 36:36:float getTransitionAlpha(android.view.View) -> getTransitionAlpha
+ 61:62:void setAnimationMatrix(android.view.View,android.graphics.Matrix) -> setAnimationMatrix
+ 46:47:void setLeftTopRightBottom(android.view.View,int,int,int,int) -> setLeftTopRightBottom
+ 31:32:void setTransitionAlpha(android.view.View,float) -> setTransitionAlpha
+ 41:42:void setTransitionVisibility(android.view.View,int) -> setTransitionVisibility
+ 51:52:void transformMatrixToGlobal(android.view.View,android.graphics.Matrix) -> transformMatrixToGlobal
+ 56:57:void transformMatrixToLocal(android.view.View,android.graphics.Matrix) -> transformMatrixToLocal
+androidx.transition.ViewUtilsBase -> androidx.transition.ViewUtilsBase:
+ 32:32:void <init>() -> <init>
+ 72:75:void clearNonTransitionAlpha(android.view.View) -> clearNonTransitionAlpha
+ 176:186:void fetchSetFrame() -> fetchSetFrame
+ 55:59:float getTransitionAlpha(android.view.View) -> getTransitionAlpha
+ 64:67:void saveNonTransitionAlpha(android.view.View) -> saveNonTransitionAlpha
+ 109:139:void setAnimationMatrix(android.view.View,android.graphics.Matrix) -> setAnimationMatrix
+ 142:152:void setLeftTopRightBottom(android.view.View,int,int,int,int) -> setLeftTopRightBottom
+ 46:52:void setTransitionAlpha(android.view.View,float) -> setTransitionAlpha
+ 155:172:void setTransitionVisibility(android.view.View,int) -> setTransitionVisibility
+ 78:89:void transformMatrixToGlobal(android.view.View,android.graphics.Matrix) -> transformMatrixToGlobal
+ 92:106:void transformMatrixToLocal(android.view.View,android.graphics.Matrix) -> transformMatrixToLocal
+androidx.transition.Visibility -> androidx.transition.Visibility:
+ 81:81:void <clinit>() -> <clinit>
+ 98:101:void <init>() -> <init>
+ 98:116:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 165:166:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 160:161:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 150:156:void captureValues(androidx.transition.TransitionValues) -> captureValues
+ 250:262:android.animation.Animator createAnimator(android.view.ViewGroup,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> createAnimator
+ 140:140:int getMode() -> getMode
+ 146:146:java.lang.String[] getTransitionProperties() -> getTransitionProperties
+ 195:243:androidx.transition.Visibility$VisibilityInfo getVisibilityChangeInfo(androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> getVisibilityChangeInfo
+ 507:518:boolean isTransitionRequired(androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> isTransitionRequired
+ 184:190:boolean isVisible(androidx.transition.TransitionValues) -> isVisible
+ 283:297:android.animation.Animator onAppear(android.view.ViewGroup,androidx.transition.TransitionValues,int,androidx.transition.TransitionValues,int) -> onAppear
+ 319:319:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onAppear
+ 340:481:android.animation.Animator onDisappear(android.view.ViewGroup,androidx.transition.TransitionValues,int,androidx.transition.TransitionValues,int) -> onDisappear
+ 502:502:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onDisappear
+ 126:130:void setMode(int) -> setMode
+androidx.transition.Visibility$1 -> androidx.transition.Visibility$1:
+ 438:438:void <init>(androidx.transition.Visibility,android.view.ViewGroup,android.view.View,android.view.View) -> <init>
+ 456:459:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 442:443:void onTransitionPause(androidx.transition.Transition) -> onTransitionPause
+ 447:452:void onTransitionResume(androidx.transition.Transition) -> onTransitionResume
+androidx.transition.Visibility$DisappearListener -> androidx.transition.Visibility$DisappearListener:
+ 531:540:void <init>(android.view.View,int,boolean) -> <init>
+ 604:613:void hideViewWhenNotCanceled() -> hideViewWhenNotCanceled
+ 562:563:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 575:576:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 546:549:void onAnimationPause(android.animation.Animator) -> onAnimationPause
+ 567:567:void onAnimationRepeat(android.animation.Animator) -> onAnimationRepeat
+ 555:558:void onAnimationResume(android.animation.Animator) -> onAnimationResume
+ 571:571:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+ 591:591:void onTransitionCancel(androidx.transition.Transition) -> onTransitionCancel
+ 585:587:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 595:596:void onTransitionPause(androidx.transition.Transition) -> onTransitionPause
+ 600:601:void onTransitionResume(androidx.transition.Transition) -> onTransitionResume
+ 581:581:void onTransitionStart(androidx.transition.Transition) -> onTransitionStart
+ 616:620:void suppressLayout(boolean) -> suppressLayout
+androidx.transition.Visibility$VisibilityInfo -> androidx.transition.Visibility$VisibilityInfo:
+ 87:88:void <init>() -> <init>
+androidx.transition.VisibilityPropagation -> androidx.transition.VisibilityPropagation:
+ 38:38:void <clinit>() -> <clinit>
+ 25:25:void <init>() -> <init>
+ 45:58:void captureValues(androidx.transition.TransitionValues) -> captureValues
+ 62:62:java.lang.String[] getPropagationProperties() -> getPropagationProperties
+ 106:115:int getViewCoordinate(androidx.transition.TransitionValues,int) -> getViewCoordinate
+ 73:80:int getViewVisibility(androidx.transition.TransitionValues) -> getViewVisibility
+ 91:91:int getViewX(androidx.transition.TransitionValues) -> getViewX
+ 102:102:int getViewY(androidx.transition.TransitionValues) -> getViewY
+androidx.transition.WindowIdApi14 -> androidx.transition.WindowIdApi14:
+ 25:27:void <init>(android.os.IBinder) -> <init>
+ 31:31:boolean equals(java.lang.Object) -> equals
+ 36:36:int hashCode() -> hashCode
+androidx.transition.WindowIdApi18 -> androidx.transition.WindowIdApi18:
+ 29:31:void <init>(android.view.View) -> <init>
+ 35:35:boolean equals(java.lang.Object) -> equals
+ 40:40:int hashCode() -> hashCode
+androidx.vectordrawable.graphics.drawable.AndroidResources -> androidx.vectordrawable.graphics.drawable.AndroidResources:
+ 22:134:void <clinit>() -> <clinit>
+ 151:152:void <init>() -> <init>
+androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback -> androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback:
+ 57:57:void <init>() -> <init>
+ 77:90:android.graphics.drawable.Animatable2$AnimationCallback getPlatformCallback() -> getPlatformCallback
+ 69:69:void onAnimationEnd(android.graphics.drawable.Drawable) -> onAnimationEnd
+ 63:63:void onAnimationStart(android.graphics.drawable.Drawable) -> onAnimationStart
+androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback$1 -> androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback$1:
+ 78:78:void <init>(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> <init>
+ 86:87:void onAnimationEnd(android.graphics.drawable.Drawable) -> onAnimationEnd
+ 81:82:void onAnimationStart(android.graphics.drawable.Drawable) -> onAnimationStart
+androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat -> androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat:
+ 168:169:void <init>() -> <init>
+ 172:173:void <init>(android.content.Context) -> <init>
+ 156:733:void <init>(android.content.Context,androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState,android.content.res.Resources) -> <init>
+ 522:527:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 532:536:boolean canApplyTheme() -> canApplyTheme
+ 856:867:void clearAnimationCallbacks() -> clearAnimationCallbacks
+ 920:929:void clearAnimationCallbacks(android.graphics.drawable.Drawable) -> clearAnimationCallbacks
+ 143:143:void clearColorFilter() -> clearColorFilter
+ 212:219:androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat create(android.content.Context,int) -> create
+ 253:255:androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat createFromXmlInner(android.content.Context,android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> createFromXmlInner
+ 284:292:void draw(android.graphics.Canvas) -> draw
+ 321:324:int getAlpha() -> getAlpha
+ 276:279:int getChangingConfigurations() -> getChangingConfigurations
+ 347:350:android.graphics.ColorFilter getColorFilter() -> getColorFilter
+ 265:271:android.graphics.drawable.Drawable$ConstantState getConstantState() -> getConstantState
+ 143:143:android.graphics.drawable.Drawable getCurrent() -> getCurrent
+ 420:423:int getIntrinsicHeight() -> getIntrinsicHeight
+ 412:415:int getIntrinsicWidth() -> getIntrinsicWidth
+ 143:143:int getMinimumHeight() -> getMinimumHeight
+ 143:143:int getMinimumWidth() -> getMinimumWidth
+ 404:407:int getOpacity() -> getOpacity
+ 143:143:boolean getPadding(android.graphics.Rect) -> getPadding
+ 143:143:int[] getState() -> getState
+ 143:143:android.graphics.Region getTransparentRegion() -> getTransparentRegion
+ 446:512:void inflate(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflate
+ 517:518:void inflate(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet) -> inflate
+ 428:431:boolean isAutoMirrored() -> isAutoMirrored
+ 700:704:boolean isRunning() -> isRunning
+ 394:397:boolean isStateful() -> isStateful
+ 143:143:void jumpToCurrentState() -> jumpToCurrentState
+ 193:198:android.graphics.drawable.Drawable mutate() -> mutate
+ 296:301:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 313:316:boolean onLevelChange(int) -> onLevelChange
+ 305:308:boolean onStateChange(int[]) -> onStateChange
+ 763:811:void registerAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> registerAnimationCallback
+ 877:889:void registerAnimationCallback(android.graphics.drawable.Drawable,androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> registerAnimationCallback
+ 820:821:void registerPlatformCallback(android.graphics.drawable.AnimatedVectorDrawable,androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> registerPlatformCallback
+ 827:831:void removeAnimatorSetListener() -> removeAnimatorSetListener
+ 329:334:void setAlpha(int) -> setAlpha
+ 436:441:void setAutoMirrored(boolean) -> setAutoMirrored
+ 143:143:void setChangingConfigurations(int) -> setChangingConfigurations
+ 143:143:void setColorFilter(int,android.graphics.PorterDuff$Mode) -> setColorFilter
+ 338:343:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 143:143:void setFilterBitmap(boolean) -> setFilterBitmap
+ 143:143:void setHotspot(float,float) -> setHotspot
+ 143:143:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 143:143:boolean setState(int[]) -> setState
+ 355:361:void setTint(int) -> setTint
+ 365:371:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 375:381:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 385:389:boolean setVisible(boolean,boolean) -> setVisible
+ 682:696:void setupAnimatorsForTarget(java.lang.String,android.animation.Animator) -> setupAnimatorsForTarget
+ 661:679:void setupColorAnimator(android.animation.Animator) -> setupColorAnimator
+ 709:721:void start() -> start
+ 725:731:void stop() -> stop
+ 836:851:boolean unregisterAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> unregisterAnimationCallback
+ 899:907:boolean unregisterAnimationCallback(android.graphics.drawable.Drawable,androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> unregisterAnimationCallback
+ 757:757:boolean unregisterPlatformCallback(android.graphics.drawable.AnimatedVectorDrawable,androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> unregisterPlatformCallback
+androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$1 -> androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$1:
+ 733:733:void <init>(androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat) -> <init>
+ 736:737:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 741:742:void scheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable,long) -> scheduleDrawable
+ 746:747:void unscheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable) -> unscheduleDrawable
+androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$2 -> androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$2:
+ 788:788:void <init>(androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat) -> <init>
+ 801:807:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 791:797:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState -> androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState:
+ 599:630:void <init>(android.content.Context,androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState,android.graphics.drawable.Drawable$Callback,android.content.res.Resources) -> <init>
+ 644:644:int getChangingConfigurations() -> getChangingConfigurations
+ 634:634:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 639:639:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+ 648:652:void setupAnimatorSet() -> setupAnimatorSet
+androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableDelegateState -> androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableDelegateState:
+ 548:550:void <init>(android.graphics.drawable.Drawable$ConstantState) -> <init>
+ 581:581:boolean canApplyTheme() -> canApplyTheme
+ 586:586:int getChangingConfigurations() -> getChangingConfigurations
+ 554:558:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 563:567:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+ 572:576:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources,android.content.res.Resources$Theme) -> newDrawable
+androidx.vectordrawable.graphics.drawable.AnimationUtilsCompat -> androidx.vectordrawable.graphics.drawable.AnimationUtilsCompat:
+ 149:150:void <init>() -> <init>
+ 105:146:android.view.animation.Interpolator createInterpolatorFromXml(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser) -> createInterpolatorFromXml
+ 67:68:android.view.animation.Interpolator loadInterpolator(android.content.Context,int) -> loadInterpolator
+androidx.vectordrawable.graphics.drawable.AnimatorInflaterCompat -> androidx.vectordrawable.graphics.drawable.AnimatorInflaterCompat:
+ 921:922:void <init>() -> <init>
+ 501:501:android.animation.Animator createAnimatorFromXml(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser,float) -> createAnimatorFromXml
+ 509:571:android.animation.Animator createAnimatorFromXml(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.animation.AnimatorSet,int,float) -> createAnimatorFromXml
+ 779:783:android.animation.Keyframe createNewKeyframe(android.animation.Keyframe,float) -> createNewKeyframe
+ 806:811:void distributeKeyframes(android.animation.Keyframe[],float,int,int) -> distributeKeyframes
+ 673:684:void dumpKeyframes(java.lang.Object[],java.lang.String) -> dumpKeyframes
+ 207:331:android.animation.PropertyValuesHolder getPVH(android.content.res.TypedArray,int,int,int,java.lang.String) -> getPVH
+ 655:669:int inferValueTypeFromValues(android.content.res.TypedArray,int,int) -> inferValueTypeFromValues
+ 636:650:int inferValueTypeOfKeyframe(android.content.res.Resources,android.content.res.Resources$Theme,android.util.AttributeSet,org.xmlpull.v1.XmlPullParser) -> inferValueTypeOfKeyframe
+ 917:917:boolean isColorType(int) -> isColorType
+ 100:105:android.animation.Animator loadAnimator(android.content.Context,int) -> loadAnimator
+ 119:119:android.animation.Animator loadAnimator(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,int) -> loadAnimator
+ 129:148:android.animation.Animator loadAnimator(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,int,float) -> loadAnimator
+ 890:913:android.animation.ValueAnimator loadAnimator(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,android.util.AttributeSet,android.animation.ValueAnimator,float,org.xmlpull.v1.XmlPullParser) -> loadAnimator
+ 818:866:android.animation.Keyframe loadKeyframe(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,android.util.AttributeSet,int,org.xmlpull.v1.XmlPullParser) -> loadKeyframe
+ 872:876:android.animation.ObjectAnimator loadObjectAnimator(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,android.util.AttributeSet,float,org.xmlpull.v1.XmlPullParser) -> loadObjectAnimator
+ 692:775:android.animation.PropertyValuesHolder loadPvh(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser,java.lang.String,int) -> loadPvh
+ 576:627:android.animation.PropertyValuesHolder[] loadValues(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet) -> loadValues
+ 345:378:void parseAnimatorFromTypeArray(android.animation.ValueAnimator,android.content.res.TypedArray,android.content.res.TypedArray,float,org.xmlpull.v1.XmlPullParser) -> parseAnimatorFromTypeArray
+ 390:429:void setupObjectAnimator(android.animation.ValueAnimator,android.content.res.TypedArray,int,float,org.xmlpull.v1.XmlPullParser) -> setupObjectAnimator
+ 436:495:void setupPathMotion(android.graphics.Path,android.animation.ObjectAnimator,float,java.lang.String,java.lang.String) -> setupPathMotion
+androidx.vectordrawable.graphics.drawable.AnimatorInflaterCompat$PathDataEvaluator -> androidx.vectordrawable.graphics.drawable.AnimatorInflaterCompat$PathDataEvaluator:
+ 166:167:void <init>() -> <init>
+ 177:179:void <init>(androidx.core.graphics.PathParser$PathDataNode[]) -> <init>
+ 157:157:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 185:199:androidx.core.graphics.PathParser$PathDataNode[] evaluate(float,androidx.core.graphics.PathParser$PathDataNode[],androidx.core.graphics.PathParser$PathDataNode[]) -> evaluate
+androidx.vectordrawable.graphics.drawable.ArgbEvaluator -> androidx.vectordrawable.graphics.drawable.ArgbEvaluator:
+ 33:33:void <clinit>() -> <clinit>
+ 32:32:void <init>() -> <init>
+ 64:97:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 43:43:androidx.vectordrawable.graphics.drawable.ArgbEvaluator getInstance() -> getInstance
+androidx.vectordrawable.graphics.drawable.PathInterpolatorCompat -> androidx.vectordrawable.graphics.drawable.PathInterpolatorCompat:
+ 68:69:void <init>(android.content.Context,android.util.AttributeSet,org.xmlpull.v1.XmlPullParser) -> <init>
+ 72:77:void <init>(android.content.res.Resources,android.content.res.Resources$Theme,android.util.AttributeSet,org.xmlpull.v1.XmlPullParser) -> <init>
+ 195:223:float getInterpolation(float) -> getInterpolation
+ 130:134:void initCubic(float,float,float,float) -> initCubic
+ 137:181:void initPath(android.graphics.Path) -> initPath
+ 123:127:void initQuad(float,float) -> initQuad
+ 82:120:void parseInterpolatorFromTypeArray(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser) -> parseInterpolatorFromTypeArray
+androidx.vectordrawable.graphics.drawable.VectorDrawableCommon -> androidx.vectordrawable.graphics.drawable.VectorDrawableCommon:
+ 29:29:void <init>() -> <init>
+ 95:99:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 103:108:void clearColorFilter() -> clearColorFilter
+ 112:115:android.graphics.drawable.Drawable getCurrent() -> getCurrent
+ 128:131:int getMinimumHeight() -> getMinimumHeight
+ 120:123:int getMinimumWidth() -> getMinimumWidth
+ 136:139:boolean getPadding(android.graphics.Rect) -> getPadding
+ 144:147:int[] getState() -> getState
+ 153:156:android.graphics.Region getTransparentRegion() -> getTransparentRegion
+ 86:90:void jumpToCurrentState() -> jumpToCurrentState
+ 53:58:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 45:48:boolean onLevelChange(int) -> onLevelChange
+ 161:166:void setChangingConfigurations(int) -> setChangingConfigurations
+ 36:41:void setColorFilter(int,android.graphics.PorterDuff$Mode) -> setColorFilter
+ 78:82:void setFilterBitmap(boolean) -> setFilterBitmap
+ 62:65:void setHotspot(float,float) -> setHotspot
+ 70:74:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 170:173:boolean setState(int[]) -> setState
+androidx.vectordrawable.graphics.drawable.VectorDrawableCompat -> androidx.vectordrawable.graphics.drawable.VectorDrawableCompat:
+ 280:280:void <clinit>() -> <clinit>
+ 311:323:void <init>() -> <init>
+ 311:328:void <init>(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VectorDrawableCompatState) -> <init>
+ 687:690:int applyAlpha(int,float) -> applyAlpha
+ 277:277:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 587:591:boolean canApplyTheme() -> canApplyTheme
+ 277:277:void clearColorFilter() -> clearColorFilter
+ 645:650:androidx.vectordrawable.graphics.drawable.VectorDrawableCompat create(android.content.res.Resources,int,android.content.res.Resources$Theme) -> create
+ 681:683:androidx.vectordrawable.graphics.drawable.VectorDrawableCompat createFromXmlInner(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> createFromXmlInner
+ 360:428:void draw(android.graphics.Canvas) -> draw
+ 432:436:int getAlpha() -> getAlpha
+ 925:928:int getChangingConfigurations() -> getChangingConfigurations
+ 465:468:android.graphics.ColorFilter getColorFilter() -> getColorFilter
+ 350:355:android.graphics.drawable.Drawable$ConstantState getConstantState() -> getConstantState
+ 277:277:android.graphics.drawable.Drawable getCurrent() -> getCurrent
+ 577:581:int getIntrinsicHeight() -> getIntrinsicHeight
+ 568:572:int getIntrinsicWidth() -> getIntrinsicWidth
+ 277:277:int getMinimumHeight() -> getMinimumHeight
+ 277:277:int getMinimumWidth() -> getMinimumWidth
+ 559:563:int getOpacity() -> getOpacity
+ 277:277:boolean getPadding(android.graphics.Rect) -> getPadding
+ 618:631:float getPixelSize() -> getPixelSize
+ 277:277:int[] getState() -> getState
+ 345:345:java.lang.Object getTargetByName(java.lang.String) -> getTargetByName
+ 277:277:android.graphics.Region getTransparentRegion() -> getTransparentRegion
+ 696:702:void inflate(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet) -> inflate
+ 707:726:void inflate(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflate
+ 816:879:void inflateInternal(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflateInternal
+ 933:938:void invalidateSelf() -> invalidateSelf
+ 596:599:boolean isAutoMirrored() -> isAutoMirrored
+ 528:534:boolean isStateful() -> isStateful
+ 277:277:void jumpToCurrentState() -> jumpToCurrentState
+ 332:341:android.graphics.drawable.Drawable mutate() -> mutate
+ 907:909:boolean needMirroring() -> needMirroring
+ 918:921:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 539:554:boolean onStateChange(int[]) -> onStateChange
+ 734:748:android.graphics.PorterDuff$Mode parseTintModeCompat(int,android.graphics.PorterDuff$Mode) -> parseTintModeCompat
+ 882:899:void printGroupTree(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VGroup,int) -> printGroupTree
+ 942:947:void scheduleSelf(java.lang.Runnable,long) -> scheduleSelf
+ 902:903:void setAllowCaching(boolean) -> setAllowCaching
+ 441:450:void setAlpha(int) -> setAlpha
+ 604:609:void setAutoMirrored(boolean) -> setAutoMirrored
+ 277:277:void setChangingConfigurations(int) -> setChangingConfigurations
+ 277:277:void setColorFilter(int,android.graphics.PorterDuff$Mode) -> setColorFilter
+ 454:461:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 277:277:void setFilterBitmap(boolean) -> setFilterBitmap
+ 277:277:void setHotspot(float,float) -> setHotspot
+ 277:277:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 277:277:boolean setState(int[]) -> setState
+ 488:494:void setTint(int) -> setTint
+ 498:509:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 513:524:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 951:954:boolean setVisible(boolean,boolean) -> setVisible
+ 959:964:void unscheduleSelf(java.lang.Runnable) -> unscheduleSelf
+ 754:812:void updateStateFromTypedArray(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,android.content.res.Resources$Theme) -> updateStateFromTypedArray
+ 477:483:android.graphics.PorterDuffColorFilter updateTintFilter(android.graphics.PorterDuffColorFilter,android.content.res.ColorStateList,android.graphics.PorterDuff$Mode) -> updateTintFilter
+androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VClipPath -> androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VClipPath:
+ 1768:1770:void <init>() -> <init>
+ 1773:1774:void <init>(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VClipPath) -> <init>
+ 1778:1786:void inflate(android.content.res.Resources,android.util.AttributeSet,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser) -> inflate
+ 1810:1810:boolean isClipPath() -> isClipPath
+ 1792:1806:void updateStateFromTypedArray(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser) -> updateStateFromTypedArray
+androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VFullPath -> androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VFullPath:
+ 1822:1837:void <init>() -> <init>
+ 1822:1856:void <init>(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VFullPath) -> <init>
+ 1972:1973:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 1886:1886:boolean canApplyTheme() -> canApplyTheme
+ 2028:2028:float getFillAlpha() -> getFillAlpha
+ 2018:2018:int getFillColor() -> getFillColor
+ 2007:2007:float getStrokeAlpha() -> getStrokeAlpha
+ 1987:1987:int getStrokeColor() -> getStrokeColor
+ 1859:1867:android.graphics.Paint$Cap getStrokeLineCap(int,android.graphics.Paint$Cap) -> getStrokeLineCap
+ 1872:1880:android.graphics.Paint$Join getStrokeLineJoin(int,android.graphics.Paint$Join) -> getStrokeLineJoin
+ 1997:1997:float getStrokeWidth() -> getStrokeWidth
+ 2048:2048:float getTrimPathEnd() -> getTrimPathEnd
+ 2058:2058:float getTrimPathOffset() -> getTrimPathOffset
+ 2038:2038:float getTrimPathStart() -> getTrimPathStart
+ 1890:1894:void inflate(android.content.res.Resources,android.util.AttributeSet,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser) -> inflate
+ 1960:1960:boolean isStateful() -> isStateful
+ 1965:1967:boolean onStateChanged(int[]) -> onStateChanged
+ 2033:2034:void setFillAlpha(float) -> setFillAlpha
+ 2023:2024:void setFillColor(int) -> setFillColor
+ 2012:2013:void setStrokeAlpha(float) -> setStrokeAlpha
+ 1992:1993:void setStrokeColor(int) -> setStrokeColor
+ 2002:2003:void setStrokeWidth(float) -> setStrokeWidth
+ 2053:2054:void setTrimPathEnd(float) -> setTrimPathEnd
+ 2063:2064:void setTrimPathOffset(float) -> setTrimPathOffset
+ 2043:2044:void setTrimPathStart(float) -> setTrimPathStart
+ 1901:1956:void updateStateFromTypedArray(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,android.content.res.Resources$Theme) -> updateStateFromTypedArray
+androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VGroup -> androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VGroup:
+ 1445:1504:void <init>(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VGroup,androidx.collection.ArrayMap) -> <init>
+ 1445:1507:void <init>() -> <init>
+ 1510:1510:java.lang.String getGroupName() -> getGroupName
+ 1514:1514:android.graphics.Matrix getLocalMatrix() -> getLocalMatrix
+ 1586:1586:float getPivotX() -> getPivotX
+ 1599:1599:float getPivotY() -> getPivotY
+ 1573:1573:float getRotation() -> getRotation
+ 1612:1612:float getScaleX() -> getScaleX
+ 1625:1625:float getScaleY() -> getScaleY
+ 1638:1638:float getTranslateX() -> getTranslateX
+ 1651:1651:float getTranslateY() -> getTranslateY
+ 1518:1522:void inflate(android.content.res.Resources,android.util.AttributeSet,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser) -> inflate
+ 1664:1669:boolean isStateful() -> isStateful
+ 1674:1678:boolean onStateChanged(int[]) -> onStateChanged
+ 1591:1595:void setPivotX(float) -> setPivotX
+ 1604:1608:void setPivotY(float) -> setPivotY
+ 1578:1582:void setRotation(float) -> setRotation
+ 1617:1621:void setScaleX(float) -> setScaleX
+ 1630:1634:void setScaleY(float) -> setScaleY
+ 1643:1647:void setTranslateX(float) -> setTranslateX
+ 1656:1660:void setTranslateY(float) -> setTranslateY
+ 1563:1568:void updateLocalMatrix() -> updateLocalMatrix
+ 1529:1558:void updateStateFromTypedArray(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser) -> updateStateFromTypedArray
+androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VObject -> androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VObject:
+ 1423:1423:void <init>() -> <init>
+ 1423:1423:void <init>(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$1) -> <init>
+ 1430:1430:boolean isStateful() -> isStateful
+ 1438:1438:boolean onStateChanged(int[]) -> onStateChanged
+androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VPath -> androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VPath:
+ 1687:1695:void <init>() -> <init>
+ 1687:1723:void <init>(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VPath) -> <init>
+ 1741:1741:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 1737:1737:boolean canApplyTheme() -> canApplyTheme
+ 1750:1750:androidx.core.graphics.PathParser$PathDataNode[] getPathData() -> getPathData
+ 1733:1733:java.lang.String getPathName() -> getPathName
+ 1744:1744:boolean isClipPath() -> isClipPath
+ 1708:1716:java.lang.String nodesToString(androidx.core.graphics.PathParser$PathDataNode[]) -> nodesToString
+ 1698:1705:void printVPath(int) -> printVPath
+ 1755:1761:void setPathData(androidx.core.graphics.PathParser$PathDataNode[]) -> setPathData
+ 1726:1730:void toPath(android.graphics.Path) -> toPath
+androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VPathRenderer -> androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VPathRenderer:
+ 1170:1170:void <clinit>() -> <clinit>
+ 1171:1195:void <init>() -> <init>
+ 1171:1231:void <init>(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VPathRenderer) -> <init>
+ 1379:1379:float cross(float,float,float,float) -> cross
+ 1264:1265:void draw(android.graphics.Canvas,int,int,android.graphics.ColorFilter) -> draw
+ 1239:1260:void drawGroupTree(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VGroup,android.graphics.Matrix,android.graphics.Canvas,int,int,android.graphics.ColorFilter) -> drawGroupTree
+ 1269:1376:void drawPath(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VGroup,androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VPath,android.graphics.Canvas,int,int,android.graphics.ColorFilter) -> drawPath
+ 1213:1213:float getAlpha() -> getAlpha
+ 1393:1408:float getMatrixScale(android.graphics.Matrix) -> getMatrixScale
+ 1202:1202:int getRootAlpha() -> getRootAlpha
+ 1412:1415:boolean isStateful() -> isStateful
+ 1419:1419:boolean onStateChanged(int[]) -> onStateChanged
+ 1208:1209:void setAlpha(float) -> setAlpha
+ 1198:1199:void setRootAlpha(int) -> setRootAlpha
+androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VectorDrawableCompatState -> androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VectorDrawableCompatState:
+ 1015:1047:void <init>(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VectorDrawableCompatState) -> <init>
+ 1015:1123:void <init>() -> <init>
+ 1093:1097:boolean canReuseBitmap(int,int) -> canReuseBitmap
+ 1101:1108:boolean canReuseCache() -> canReuseCache
+ 1084:1090:void createCachedBitmapIfNeeded(int,int) -> createCachedBitmapIfNeeded
+ 1052:1054:void drawCachedBitmapWithRootAlpha(android.graphics.Canvas,android.graphics.ColorFilter,android.graphics.Rect) -> drawCachedBitmapWithRootAlpha
+ 1139:1139:int getChangingConfigurations() -> getChangingConfigurations
+ 1064:1074:android.graphics.Paint getPaint(android.graphics.ColorFilter) -> getPaint
+ 1057:1057:boolean hasTranslucentRoot() -> hasTranslucentRoot
+ 1143:1143:boolean isStateful() -> isStateful
+ 1128:1128:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 1134:1134:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+ 1147:1149:boolean onStateChanged(int[]) -> onStateChanged
+ 1114:1119:void updateCacheStates() -> updateCacheStates
+ 1078:1081:void updateCachedBitmap(int,int) -> updateCachedBitmap
+androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VectorDrawableDelegateState -> androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$VectorDrawableDelegateState:
+ 975:977:void <init>(android.graphics.drawable.Drawable$ConstantState) -> <init>
+ 1003:1003:boolean canApplyTheme() -> canApplyTheme
+ 1008:1008:int getChangingConfigurations() -> getChangingConfigurations
+ 981:983:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 988:990:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+ 995:998:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources,android.content.res.Resources$Theme) -> newDrawable
+androidx.versionedparcelable.CustomVersionedParcelable -> androidx.versionedparcelable.CustomVersionedParcelable:
+ 27:27:void <init>() -> <init>
+ 45:45:void onPostParceling() -> onPostParceling
+ 36:36:void onPreParceling(boolean) -> onPreParceling
+androidx.versionedparcelable.ParcelImpl -> androidx.versionedparcelable.ParcelImpl:
+ 60:60:void <clinit>() -> <clinit>
+ 34:36:void <init>(androidx.versionedparcelable.VersionedParcelable) -> <init>
+ 38:40:void <init>(android.os.Parcel) -> <init>
+ 51:51:int describeContents() -> describeContents
+ 46:46:androidx.versionedparcelable.VersionedParcelable getVersionedParcel() -> getVersionedParcel
+ 56:58:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.versionedparcelable.ParcelImpl$1 -> androidx.versionedparcelable.ParcelImpl$1:
+ 60:60:void <init>() -> <init>
+ 60:60:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 63:63:androidx.versionedparcelable.ParcelImpl createFromParcel(android.os.Parcel) -> createFromParcel
+ 60:60:java.lang.Object[] newArray(int) -> newArray
+ 68:68:androidx.versionedparcelable.ParcelImpl[] newArray(int) -> newArray
+androidx.versionedparcelable.ParcelUtils -> androidx.versionedparcelable.ParcelUtils:
+ 40:40:void <init>() -> <init>
+ 82:83:androidx.versionedparcelable.VersionedParcelable fromInputStream(java.io.InputStream) -> fromInputStream
+ 58:61:androidx.versionedparcelable.VersionedParcelable fromParcelable(android.os.Parcelable) -> fromParcelable
+ 109:117:androidx.versionedparcelable.VersionedParcelable getVersionedParcelable(android.os.Bundle,java.lang.String) -> getVersionedParcelable
+ 144:157:java.util.List getVersionedParcelableList(android.os.Bundle,java.lang.String) -> getVersionedParcelableList
+ 91:97:void putVersionedParcelable(android.os.Bundle,java.lang.String,androidx.versionedparcelable.VersionedParcelable) -> putVersionedParcelable
+ 126:133:void putVersionedParcelableList(android.os.Bundle,java.lang.String,java.util.List) -> putVersionedParcelableList
+ 70:73:void toOutputStream(androidx.versionedparcelable.VersionedParcelable,java.io.OutputStream) -> toOutputStream
+ 48:48:android.os.Parcelable toParcelable(androidx.versionedparcelable.VersionedParcelable) -> toParcelable
+androidx.versionedparcelable.VersionedParcel -> androidx.versionedparcelable.VersionedParcel:
+ 86:90:void <init>(androidx.collection.ArrayMap,androidx.collection.ArrayMap,androidx.collection.ArrayMap) -> <init>
+ 1219:1237:java.lang.Exception createException(int,java.lang.String) -> createException
+ 1628:1635:java.lang.Class findParcelClass(java.lang.Class) -> findParcelClass
+ 1604:1611:java.lang.reflect.Method getReadMethod(java.lang.String) -> getReadMethod
+ 1208:1209:java.lang.Throwable getRootCause(java.lang.Throwable) -> getRootCause
+ 995:1010:int getType(java.lang.Object) -> getType
+ 1616:1623:java.lang.reflect.Method getWriteMethod(java.lang.Class) -> getWriteMethod
+ 96:96:boolean isStream() -> isStream
+ 1435:1438:java.lang.Object[] readArray(java.lang.Object[],int) -> readArray
+ 1444:1487:java.lang.Object[] readArray(java.lang.Object[]) -> readArray
+ 399:402:boolean readBoolean(boolean,int) -> readBoolean
+ 578:581:boolean[] readBooleanArray(boolean[],int) -> readBooleanArray
+ 587:595:boolean[] readBooleanArray() -> readBooleanArray
+ 493:496:android.os.Bundle readBundle(android.os.Bundle,int) -> readBundle
+ 1245:1248:byte readByte(byte,int) -> readByte
+ 472:475:byte[] readByteArray(byte[],int) -> readByteArray
+ 625:636:char[] readCharArray(char[],int) -> readCharArray
+ 616:619:java.lang.CharSequence readCharSequence(java.lang.CharSequence,int) -> readCharSequence
+ 1344:1386:java.util.Collection readCollection(java.util.Collection) -> readCollection
+ 441:444:double readDouble(double,int) -> readDouble
+ 795:798:double[] readDoubleArray(double[],int) -> readDoubleArray
+ 804:812:double[] readDoubleArray() -> readDoubleArray
+ 1170:1178:java.lang.Exception readException(java.lang.Exception,int) -> readException
+ 1198:1199:java.lang.Exception readException(int,java.lang.String) -> readException
+ 1193:1194:int readExceptionCode() -> readExceptionCode
+ 430:433:float readFloat(float,int) -> readFloat
+ 751:754:float[] readFloatArray(float[],int) -> readFloatArray
+ 760:768:float[] readFloatArray() -> readFloatArray
+ 1565:1577:androidx.versionedparcelable.VersionedParcelable readFromParcel(java.lang.String,androidx.versionedparcelable.VersionedParcel) -> readFromParcel
+ 409:412:int readInt(int,int) -> readInt
+ 663:666:int[] readIntArray(int[],int) -> readIntArray
+ 672:680:int[] readIntArray() -> readIntArray
+ 1337:1340:java.util.List readList(java.util.List,int) -> readList
+ 419:422:long readLong(long,int) -> readLong
+ 707:710:long[] readLongArray(long[],int) -> readLongArray
+ 716:724:long[] readLongArray() -> readLongArray
+ 1401:1419:java.util.Map readMap(java.util.Map,int) -> readMap
+ 481:484:android.os.Parcelable readParcelable(android.os.Parcelable,int) -> readParcelable
+ 1523:1553:java.io.Serializable readSerializable() -> readSerializable
+ 1318:1321:java.util.Set readSet(java.util.Set,int) -> readSet
+ 1256:1264:android.util.Size readSize(android.util.Size,int) -> readSize
+ 1272:1280:android.util.SizeF readSizeF(android.util.SizeF,int) -> readSizeF
+ 1289:1302:android.util.SparseBooleanArray readSparseBooleanArray(android.util.SparseBooleanArray,int) -> readSparseBooleanArray
+ 451:454:java.lang.String readString(java.lang.String,int) -> readString
+ 461:464:android.os.IBinder readStrongBinder(android.os.IBinder,int) -> readStrongBinder
+ 1493:1496:androidx.versionedparcelable.VersionedParcelable readVersionedParcelable(androidx.versionedparcelable.VersionedParcelable,int) -> readVersionedParcelable
+ 1509:1513:androidx.versionedparcelable.VersionedParcelable readVersionedParcelable() -> readVersionedParcelable
+ 269:269:void setSerializationFlags(boolean,boolean) -> setSerializationFlags
+ 941:943:void writeArray(java.lang.Object[],int) -> writeArray
+ 948:992:void writeArray(java.lang.Object[]) -> writeArray
+ 294:296:void writeBoolean(boolean,int) -> writeBoolean
+ 557:559:void writeBooleanArray(boolean[],int) -> writeBooleanArray
+ 564:573:void writeBooleanArray(boolean[]) -> writeBooleanArray
+ 285:287:void writeBundle(android.os.Bundle,int) -> writeBundle
+ 504:506:void writeByte(byte,int) -> writeByte
+ 304:306:void writeByteArray(byte[],int) -> writeByteArray
+ 316:318:void writeByteArray(byte[],int,int,int) -> writeByteArray
+ 601:611:void writeCharArray(char[],int) -> writeCharArray
+ 325:327:void writeCharSequence(java.lang.CharSequence,int) -> writeCharSequence
+ 875:877:void writeCollection(java.util.Collection,int) -> writeCollection
+ 880:928:void writeCollection(java.util.Collection) -> writeCollection
+ 361:363:void writeDouble(double,int) -> writeDouble
+ 774:776:void writeDoubleArray(double[],int) -> writeDoubleArray
+ 781:790:void writeDoubleArray(double[]) -> writeDoubleArray
+ 1107:1147:void writeException(java.lang.Exception,int) -> writeException
+ 352:354:void writeFloat(float,int) -> writeFloat
+ 730:732:void writeFloatArray(float[],int) -> writeFloatArray
+ 737:746:void writeFloatArray(float[]) -> writeFloatArray
+ 334:336:void writeInt(int,int) -> writeInt
+ 642:644:void writeIntArray(int[],int) -> writeIntArray
+ 649:658:void writeIntArray(int[]) -> writeIntArray
+ 840:841:void writeList(java.util.List,int) -> writeList
+ 343:345:void writeLong(long,int) -> writeLong
+ 686:688:void writeLongArray(long[],int) -> writeLongArray
+ 693:702:void writeLongArray(long[]) -> writeLongArray
+ 854:872:void writeMap(java.util.Map,int) -> writeMap
+ 1157:1158:void writeNoException() -> writeNoException
+ 391:393:void writeParcelable(android.os.Parcelable,int) -> writeParcelable
+ 1057:1059:void writeSerializable(java.io.Serializable,int) -> writeSerializable
+ 1062:1081:void writeSerializable(java.io.Serializable) -> writeSerializable
+ 826:827:void writeSet(java.util.Set,int) -> writeSet
+ 514:520:void writeSize(android.util.Size,int) -> writeSize
+ 528:534:void writeSizeF(android.util.SizeF,int) -> writeSizeF
+ 539:552:void writeSparseBooleanArray(android.util.SparseBooleanArray,int) -> writeSparseBooleanArray
+ 370:372:void writeString(java.lang.String,int) -> writeString
+ 379:381:void writeStrongBinder(android.os.IBinder,int) -> writeStrongBinder
+ 276:278:void writeStrongInterface(android.os.IInterface,int) -> writeStrongInterface
+ 1586:1600:void writeToParcel(androidx.versionedparcelable.VersionedParcelable,androidx.versionedparcelable.VersionedParcel) -> writeToParcel
+ 1021:1023:void writeVersionedParcelable(androidx.versionedparcelable.VersionedParcelable,int) -> writeVersionedParcelable
+ 1028:1037:void writeVersionedParcelable(androidx.versionedparcelable.VersionedParcelable) -> writeVersionedParcelable
+ 1040:1048:void writeVersionedParcelableCreator(androidx.versionedparcelable.VersionedParcelable) -> writeVersionedParcelableCreator
+androidx.versionedparcelable.VersionedParcel$1 -> androidx.versionedparcelable.VersionedParcel$1:
+ 1535:1535:void <init>(androidx.versionedparcelable.VersionedParcel,java.io.InputStream) -> <init>
+ 1539:1544:java.lang.Class resolveClass(java.io.ObjectStreamClass) -> resolveClass
+androidx.versionedparcelable.VersionedParcel$ParcelException -> androidx.versionedparcelable.VersionedParcel$ParcelException:
+ 1642:1643:void <init>(java.lang.Throwable) -> <init>
+androidx.versionedparcelable.VersionedParcelParcel -> androidx.versionedparcelable.VersionedParcelParcel:
+ 51:54:void <init>(android.os.Parcel) -> <init>
+ 41:66:void <init>(android.os.Parcel,int,int,java.lang.String,androidx.collection.ArrayMap,androidx.collection.ArrayMap,androidx.collection.ArrayMap) -> <init>
+ 99:111:void closeField() -> closeField
+ 119:119:androidx.versionedparcelable.VersionedParcel createSubParcel() -> createSubParcel
+ 258:258:boolean readBoolean() -> readBoolean
+ 253:253:android.os.Bundle readBundle() -> readBundle
+ 236:242:byte[] readByteArray() -> readByteArray
+ 201:201:java.lang.CharSequence readCharSequence() -> readCharSequence
+ 221:221:double readDouble() -> readDouble
+ 70:84:boolean readField(int) -> readField
+ 216:216:float readFloat() -> readFloat
+ 206:206:int readInt() -> readInt
+ 211:211:long readLong() -> readLong
+ 248:248:android.os.Parcelable readParcelable() -> readParcelable
+ 226:226:java.lang.String readString() -> readString
+ 231:231:android.os.IBinder readStrongBinder() -> readStrongBinder
+ 89:95:void setOutputField(int) -> setOutputField
+ 181:182:void writeBoolean(boolean) -> writeBoolean
+ 191:192:void writeBundle(android.os.Bundle) -> writeBundle
+ 126:132:void writeByteArray(byte[]) -> writeByteArray
+ 136:142:void writeByteArray(byte[],int,int) -> writeByteArray
+ 196:197:void writeCharSequence(java.lang.CharSequence) -> writeCharSequence
+ 161:162:void writeDouble(double) -> writeDouble
+ 156:157:void writeFloat(float) -> writeFloat
+ 146:147:void writeInt(int) -> writeInt
+ 151:152:void writeLong(long) -> writeLong
+ 176:177:void writeParcelable(android.os.Parcelable) -> writeParcelable
+ 166:167:void writeString(java.lang.String) -> writeString
+ 171:172:void writeStrongBinder(android.os.IBinder) -> writeStrongBinder
+ 186:187:void writeStrongInterface(android.os.IInterface) -> writeStrongInterface
+androidx.versionedparcelable.VersionedParcelStream -> androidx.versionedparcelable.VersionedParcelStream:
+ 44:44:void <clinit>() -> <clinit>
+ 76:78:void <init>(java.io.InputStream,java.io.OutputStream) -> <init>
+ 71:123:void <init>(java.io.InputStream,java.io.OutputStream,androidx.collection.ArrayMap,androidx.collection.ArrayMap,androidx.collection.ArrayMap) -> <init>
+ 142:152:void closeField() -> closeField
+ 156:156:androidx.versionedparcelable.VersionedParcel createSubParcel() -> createSubParcel
+ 127:127:boolean isStream() -> isStream
+ 402:404:boolean readBoolean() -> readBoolean
+ 429:438:android.os.Bundle readBundle() -> readBundle
+ 381:390:byte[] readByteArray() -> readByteArray
+ 396:396:java.lang.CharSequence readCharSequence() -> readCharSequence
+ 356:358:double readDouble() -> readDouble
+ 164:186:boolean readField(int) -> readField
+ 347:349:float readFloat() -> readFloat
+ 329:331:int readInt() -> readInt
+ 338:340:long readLong() -> readLong
+ 489:538:void readObject(int,java.lang.String,android.os.Bundle) -> readObject
+ 323:323:android.os.Parcelable readParcelable() -> readParcelable
+ 365:374:java.lang.String readString() -> readString
+ 317:317:android.os.IBinder readStrongBinder() -> readStrongBinder
+ 191:194:void setOutputField(int) -> setOutputField
+ 134:138:void setSerializationFlags(boolean,boolean) -> setSerializationFlags
+ 288:292:void writeBoolean(boolean) -> writeBoolean
+ 411:425:void writeBundle(android.os.Bundle) -> writeBundle
+ 199:208:void writeByteArray(byte[]) -> writeByteArray
+ 213:222:void writeByteArray(byte[],int,int) -> writeByteArray
+ 226:229:void writeCharSequence(java.lang.CharSequence) -> writeCharSequence
+ 263:268:void writeDouble(double) -> writeDouble
+ 253:258:void writeFloat(float) -> writeFloat
+ 234:238:void writeInt(int) -> writeInt
+ 243:248:void writeLong(long) -> writeLong
+ 442:486:void writeObject(java.lang.Object) -> writeObject
+ 303:306:void writeParcelable(android.os.Parcelable) -> writeParcelable
+ 273:283:void writeString(java.lang.String) -> writeString
+ 296:299:void writeStrongBinder(android.os.IBinder) -> writeStrongBinder
+ 310:313:void writeStrongInterface(android.os.IInterface) -> writeStrongInterface
+androidx.versionedparcelable.VersionedParcelStream$1 -> androidx.versionedparcelable.VersionedParcelStream$1:
+ 85:85:void <init>(androidx.versionedparcelable.VersionedParcelStream,java.io.InputStream) -> <init>
+ 88:93:int read() -> read
+ 98:105:int read(byte[],int,int) -> read
+ 110:117:long skip(long) -> skip
+androidx.versionedparcelable.VersionedParcelStream$FieldBuffer -> androidx.versionedparcelable.VersionedParcelStream$FieldBuffer:
+ 544:552:void <init>(int,java.io.DataOutputStream) -> <init>
+ 555:563:void flushField() -> flushField
+androidx.viewbinding.BuildConfig -> androidx.viewbinding.BuildConfig:
+ 6:6:void <init>() -> <init>
+androidx.viewbinding.ViewBindings -> androidx.viewbinding.ViewBindings:
+ 30:31:void <init>() -> <init>
+ 40:51:android.view.View findChildViewById(android.view.View,int) -> findChildViewById
+androidx.viewpager.widget.PagerAdapter -> androidx.viewpager.widget.PagerAdapter:
+ 81:82:void <init>() -> <init>
+ 129:130:void destroyItem(android.view.ViewGroup,int,java.lang.Object) -> destroyItem
+ 202:202:void destroyItem(android.view.View,int,java.lang.Object) -> destroyItem
+ 154:155:void finishUpdate(android.view.ViewGroup) -> finishUpdate
+ 231:231:void finishUpdate(android.view.View) -> finishUpdate
+ 281:281:int getItemPosition(java.lang.Object) -> getItemPosition
+ 332:332:java.lang.CharSequence getPageTitle(int) -> getPageTitle
+ 343:343:float getPageWidth(int) -> getPageWidth
+ 115:115:java.lang.Object instantiateItem(android.view.ViewGroup,int) -> instantiateItem
+ 184:184:java.lang.Object instantiateItem(android.view.View,int) -> instantiateItem
+ 289:295:void notifyDataSetChanged() -> notifyDataSetChanged
+ 303:304:void registerDataSetObserver(android.database.DataSetObserver) -> registerDataSetObserver
+ 263:263:void restoreState(android.os.Parcelable,java.lang.ClassLoader) -> restoreState
+ 252:252:android.os.Parcelable saveState() -> saveState
+ 143:144:void setPrimaryItem(android.view.ViewGroup,int,java.lang.Object) -> setPrimaryItem
+ 218:218:void setPrimaryItem(android.view.View,int,java.lang.Object) -> setPrimaryItem
+ 316:319:void setViewPagerObserver(android.database.DataSetObserver) -> setViewPagerObserver
+ 99:100:void startUpdate(android.view.ViewGroup) -> startUpdate
+ 166:166:void startUpdate(android.view.View) -> startUpdate
+ 312:313:void unregisterDataSetObserver(android.database.DataSetObserver) -> unregisterDataSetObserver
+androidx.viewpager.widget.PagerTabStrip -> androidx.viewpager.widget.PagerTabStrip:
+ 83:84:void <init>(android.content.Context) -> <init>
+ 68:128:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 218:218:boolean getDrawFullUnderline() -> getDrawFullUnderline
+ 223:223:int getMinHeight() -> getMinHeight
+ 155:155:int getTabIndicatorColor() -> getTabIndicatorColor
+ 265:281:void onDraw(android.graphics.Canvas) -> onDraw
+ 228:260:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 184:188:void setBackgroundColor(int) -> setBackgroundColor
+ 176:180:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 192:196:void setBackgroundResource(int) -> setBackgroundResource
+ 205:208:void setDrawFullUnderline(boolean) -> setDrawFullUnderline
+ 160:164:void setPadding(int,int,int,int) -> setPadding
+ 136:139:void setTabIndicatorColor(int) -> setTabIndicatorColor
+ 147:148:void setTabIndicatorColorResource(int) -> setTabIndicatorColorResource
+ 168:172:void setTextSpacing(int) -> setTextSpacing
+ 285:301:void updateTextPositions(int,float,boolean) -> updateTextPositions
+androidx.viewpager.widget.PagerTabStrip$1 -> androidx.viewpager.widget.PagerTabStrip$1:
+ 110:110:void <init>(androidx.viewpager.widget.PagerTabStrip) -> <init>
+ 113:114:void onClick(android.view.View) -> onClick
+androidx.viewpager.widget.PagerTabStrip$2 -> androidx.viewpager.widget.PagerTabStrip$2:
+ 118:118:void <init>(androidx.viewpager.widget.PagerTabStrip) -> <init>
+ 121:122:void onClick(android.view.View) -> onClick
+androidx.viewpager.widget.PagerTitleStrip -> androidx.viewpager.widget.PagerTitleStrip:
+ 73:80:void <clinit>() -> <clinit>
+ 109:110:void <init>(android.content.Context) -> <init>
+ 61:165:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 463:468:int getMinHeight() -> getMinHeight
+ 181:181:int getTextSpacing() -> getTextSpacing
+ 239:254:void onAttachedToWindow() -> onAttachedToWindow
+ 258:265:void onDetachedFromWindow() -> onDetachedFromWindow
+ 456:460:void onLayout(boolean,int,int,int,int) -> onLayout
+ 420:452:void onMeasure(int,int) -> onMeasure
+ 308:311:void requestLayout() -> requestLayout
+ 233:235:void setGravity(int) -> setGravity
+ 190:194:void setNonPrimaryAlpha(float) -> setNonPrimaryAlpha
+ 105:106:void setSingleLineAllCaps(android.widget.TextView) -> setSingleLineAllCaps
+ 203:208:void setTextColor(int) -> setTextColor
+ 221:224:void setTextSize(int,float) -> setTextSize
+ 173:175:void setTextSpacing(int) -> setTextSpacing
+ 314:328:void updateAdapter(androidx.viewpager.widget.PagerAdapter,androidx.viewpager.widget.PagerAdapter) -> updateAdapter
+ 268:304:void updateText(int,androidx.viewpager.widget.PagerAdapter) -> updateText
+ 331:416:void updateTextPositions(int,float,boolean) -> updateTextPositions
+androidx.viewpager.widget.PagerTitleStrip$PageListener -> androidx.viewpager.widget.PagerTitleStrip$PageListener:
+ 475:476:void <init>(androidx.viewpager.widget.PagerTitleStrip) -> <init>
+ 506:507:void onAdapterChanged(androidx.viewpager.widget.ViewPager,androidx.viewpager.widget.PagerAdapter,androidx.viewpager.widget.PagerAdapter) -> onAdapterChanged
+ 511:515:void onChanged() -> onChanged
+ 500:501:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 480:485:void onPageScrolled(int,float,int) -> onPageScrolled
+ 489:496:void onPageSelected(int) -> onPageSelected
+androidx.viewpager.widget.PagerTitleStrip$SingleLineAllCapsTransform -> androidx.viewpager.widget.PagerTitleStrip$SingleLineAllCapsTransform:
+ 93:95:void <init>(android.content.Context) -> <init>
+ 99:100:java.lang.CharSequence getTransformation(java.lang.CharSequence,android.view.View) -> getTransformation
+androidx.viewpager.widget.ViewPager -> androidx.viewpager.widget.ViewPager:
+ 122:251:void <clinit>() -> <clinit>
+ 155:393:void <init>(android.content.Context) -> <init>
+ 155:398:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 2905:2940:void addFocusables(java.util.ArrayList,int,int) -> addFocusables
+ 1008:1017:androidx.viewpager.widget.ViewPager$ItemInfo addNewItem(int,int) -> addNewItem
+ 581:585:void addOnAdapterChangeListener(androidx.viewpager.widget.ViewPager$OnAdapterChangeListener) -> addOnAdapterChangeListener
+ 723:727:void addOnPageChangeListener(androidx.viewpager.widget.ViewPager$OnPageChangeListener) -> addOnPageChangeListener
+ 2950:2959:void addTouchables(java.util.ArrayList) -> addTouchables
+ 1472:1495:void addView(android.view.View,int,android.view.ViewGroup$LayoutParams) -> addView
+ 2793:2855:boolean arrowScroll(int) -> arrowScroll
+ 2528:2544:boolean beginFakeDrag() -> beginFakeDrag
+ 1298:1381:void calculatePageOffsets(androidx.viewpager.widget.ViewPager$ItemInfo,int,androidx.viewpager.widget.ViewPager$ItemInfo) -> calculatePageOffsets
+ 2719:2738:boolean canScroll(android.view.View,boolean,int,int,int) -> canScroll
+ 2692:2703:boolean canScrollHorizontally(int) -> canScrollHorizontally
+ 3029:3029:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 745:748:void clearOnPageChangeListeners() -> clearOnPageChangeListeners
+ 1974:2008:void completeScroll(boolean) -> completeScroll
+ 1793:1815:void computeScroll() -> computeScroll
+ 1023:1089:void dataSetChanged() -> dataSetChanged
+ 2406:2421:int determineTargetPage(int,float,int,int) -> determineTargetPage
+ 2744:2744:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 1923:1937:void dispatchOnPageScrolled(int,float,int) -> dispatchOnPageScrolled
+ 1940:1954:void dispatchOnPageSelected(int) -> dispatchOnPageSelected
+ 1957:1971:void dispatchOnScrollStateChanged(int) -> dispatchOnScrollStateChanged
+ 2997:3014:boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> dispatchPopulateAccessibilityEvent
+ 927:929:float distanceInfluenceForSnapDuration(float) -> distanceInfluenceForSnapDuration
+ 2426:2464:void draw(android.graphics.Canvas) -> draw
+ 915:920:void drawableStateChanged() -> drawableStateChanged
+ 2015:2021:void enableLayers(boolean) -> enableLayers
+ 2659:2666:void endDrag() -> endDrag
+ 2554:2576:void endFakeDrag() -> endFakeDrag
+ 2756:2782:boolean executeKeyEvent(android.view.KeyEvent) -> executeKeyEvent
+ 2586:2628:void fakeDragBy(float) -> fakeDragBy
+ 3019:3019:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 3024:3024:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 3034:3034:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 572:572:androidx.viewpager.widget.PagerAdapter getAdapter() -> getAdapter
+ 802:805:int getChildDrawingOrder(int,int) -> getChildDrawingOrder
+ 2859:2881:android.graphics.Rect getChildRectInPagerCoordinates(android.graphics.Rect,android.view.View) -> getChildRectInPagerCoordinates
+ 600:600:int getClientWidth() -> getClientWidth
+ 627:627:int getCurrentItem() -> getCurrentItem
+ 828:828:int getOffscreenPageLimit() -> getOffscreenPageLimit
+ 884:884:int getPageMargin() -> getPageMargin
+ 1523:1529:androidx.viewpager.widget.ViewPager$ItemInfo infoForAnyChild(android.view.View) -> infoForAnyChild
+ 1512:1518:androidx.viewpager.widget.ViewPager$ItemInfo infoForChild(android.view.View) -> infoForChild
+ 2363:2401:androidx.viewpager.widget.ViewPager$ItemInfo infoForCurrentScrollPosition() -> infoForCurrentScrollPosition
+ 1533:1539:androidx.viewpager.widget.ViewPager$ItemInfo infoForPosition(int) -> infoForPosition
+ 401:475:void initViewPager() -> initViewPager
+ 1498:1499:boolean isDecorView(android.view.View) -> isDecorView
+ 2640:2640:boolean isFakeDragging() -> isFakeDragging
+ 2011:2011:boolean isGutterDrag(float,float) -> isGutterDrag
+ 1544:1546:void onAttachedToWindow() -> onAttachedToWindow
+ 479:485:void onDetachedFromWindow() -> onDetachedFromWindow
+ 2468:2508:void onDraw(android.graphics.Canvas) -> onDraw
+ 2031:2161:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 1682:1789:void onLayout(boolean,int,int,int,int) -> onLayout
+ 1555:1642:void onMeasure(int,int) -> onMeasure
+ 1865:1920:void onPageScrolled(int,float,int) -> onPageScrolled
+ 2970:2991:boolean onRequestFocusInDescendants(int,android.graphics.Rect) -> onRequestFocusInDescendants
+ 1452:1468:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 1441:1447:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 2644:2656:void onSecondaryPointerUp(android.view.MotionEvent) -> onSecondaryPointerUp
+ 1646:1652:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 2166:2289:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 2885:2889:boolean pageLeft() -> pageLeft
+ 2893:2897:boolean pageRight() -> pageRight
+ 1818:1847:boolean pageScrolled(int) -> pageScrolled
+ 2310:2355:boolean performDrag(float) -> performDrag
+ 1092:1093:void populate() -> populate
+ 1096:1279:void populate(int) -> populate
+ 1655:1678:void recomputeScrollPosition(int,int,int,int) -> recomputeScrollPosition
+ 555:563:void removeNonDecorViews() -> removeNonDecorViews
+ 594:597:void removeOnAdapterChangeListener(androidx.viewpager.widget.ViewPager$OnAdapterChangeListener) -> removeOnAdapterChangeListener
+ 736:739:void removeOnPageChangeListener(androidx.viewpager.widget.ViewPager$OnPageChangeListener) -> removeOnPageChangeListener
+ 1504:1509:void removeView(android.view.View) -> removeView
+ 2303:2307:void requestParentDisallowInterceptTouchEvent(boolean) -> requestParentDisallowInterceptTouchEvent
+ 2294:2299:boolean resetTouch() -> resetTouch
+ 676:696:void scrollToItem(int,boolean,int,boolean) -> scrollToItem
+ 506:552:void setAdapter(androidx.viewpager.widget.PagerAdapter) -> setAdapter
+ 611:613:void setCurrentItem(int) -> setCurrentItem
+ 622:624:void setCurrentItem(int,boolean) -> setCurrentItem
+ 631:632:void setCurrentItemInternal(int,boolean,boolean) -> setCurrentItemInternal
+ 635:672:void setCurrentItemInternal(int,boolean,boolean,int) -> setCurrentItemInternal
+ 815:817:androidx.viewpager.widget.ViewPager$OnPageChangeListener setInternalPageChangeListener(androidx.viewpager.widget.ViewPager$OnPageChangeListener) -> setInternalPageChangeListener
+ 849:858:void setOffscreenPageLimit(int) -> setOffscreenPageLimit
+ 709:710:void setOnPageChangeListener(androidx.viewpager.widget.ViewPager$OnPageChangeListener) -> setOnPageChangeListener
+ 869:876:void setPageMargin(int) -> setPageMargin
+ 893:897:void setPageMarginDrawable(android.graphics.drawable.Drawable) -> setPageMarginDrawable
+ 905:906:void setPageMarginDrawable(int) -> setPageMarginDrawable
+ 769:770:void setPageTransformer(boolean,androidx.viewpager.widget.ViewPager$PageTransformer) -> setPageTransformer
+ 787:798:void setPageTransformer(boolean,androidx.viewpager.widget.ViewPager$PageTransformer,int) -> setPageTransformer
+ 488:498:void setScrollState(int) -> setScrollState
+ 2669:2681:void setScrollingCacheEnabled(boolean) -> setScrollingCacheEnabled
+ 939:940:void smoothScrollTo(int,int) -> smoothScrollTo
+ 950:1005:void smoothScrollTo(int,int,int) -> smoothScrollTo
+ 1282:1295:void sortChildDrawingOrder() -> sortChildDrawingOrder
+ 910:910:boolean verifyDrawable(android.graphics.drawable.Drawable) -> verifyDrawable
+androidx.viewpager.widget.ViewPager$1 -> androidx.viewpager.widget.ViewPager$1:
+ 140:140:void <init>() -> <init>
+ 140:140:int compare(java.lang.Object,java.lang.Object) -> compare
+ 143:143:int compare(androidx.viewpager.widget.ViewPager$ItemInfo,androidx.viewpager.widget.ViewPager$ItemInfo) -> compare
+androidx.viewpager.widget.ViewPager$2 -> androidx.viewpager.widget.ViewPager$2:
+ 147:147:void <init>() -> <init>
+ 150:151:float getInterpolation(float) -> getInterpolation
+androidx.viewpager.widget.ViewPager$3 -> androidx.viewpager.widget.ViewPager$3:
+ 269:269:void <init>(androidx.viewpager.widget.ViewPager) -> <init>
+ 272:274:void run() -> run
+androidx.viewpager.widget.ViewPager$4 -> androidx.viewpager.widget.ViewPager$4:
+ 428:429:void <init>(androidx.viewpager.widget.ViewPager) -> <init>
+ 435:471:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+androidx.viewpager.widget.ViewPager$ItemInfo -> androidx.viewpager.widget.ViewPager$ItemInfo:
+ 132:132:void <init>() -> <init>
+androidx.viewpager.widget.ViewPager$LayoutParams -> androidx.viewpager.widget.ViewPager$LayoutParams:
+ 3126:3146:void <init>() -> <init>
+ 3126:3154:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+androidx.viewpager.widget.ViewPager$MyAccessibilityDelegate -> androidx.viewpager.widget.ViewPager$MyAccessibilityDelegate:
+ 3037:3037:void <init>(androidx.viewpager.widget.ViewPager) -> <init>
+ 3087:3087:boolean canScroll() -> canScroll
+ 3041:3049:void onInitializeAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 3053:3062:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 3066:3083:boolean performAccessibilityAction(android.view.View,int,android.os.Bundle) -> performAccessibilityAction
+androidx.viewpager.widget.ViewPager$PagerObserver -> androidx.viewpager.widget.ViewPager$PagerObserver:
+ 3092:3093:void <init>(androidx.viewpager.widget.ViewPager) -> <init>
+ 3097:3098:void onChanged() -> onChanged
+ 3101:3102:void onInvalidated() -> onInvalidated
+androidx.viewpager.widget.ViewPager$SavedState -> androidx.viewpager.widget.ViewPager$SavedState:
+ 1412:1412:void <clinit>() -> <clinit>
+ 1395:1396:void <init>(android.os.Parcelable) -> <init>
+ 1429:1436:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 1407:1408:java.lang.String toString() -> toString
+ 1400:1403:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.viewpager.widget.ViewPager$SavedState$1 -> androidx.viewpager.widget.ViewPager$SavedState$1:
+ 1412:1412:void <init>() -> <init>
+ 1412:1412:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 1412:1412:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1415:1415:androidx.viewpager.widget.ViewPager$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1420:1420:androidx.viewpager.widget.ViewPager$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 1412:1412:java.lang.Object[] newArray(int) -> newArray
+ 1424:1424:androidx.viewpager.widget.ViewPager$SavedState[] newArray(int) -> newArray
+androidx.viewpager.widget.ViewPager$SimpleOnPageChangeListener -> androidx.viewpager.widget.ViewPager$SimpleOnPageChangeListener:
+ 321:321:void <init>() -> <init>
+ 335:335:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 325:325:void onPageScrolled(int,float,int) -> onPageScrolled
+ 330:330:void onPageSelected(int) -> onPageSelected
+androidx.viewpager.widget.ViewPager$ViewPositionComparator -> androidx.viewpager.widget.ViewPager$ViewPositionComparator:
+ 3157:3157:void <init>() -> <init>
+ 3157:3157:int compare(java.lang.Object,java.lang.Object) -> compare
+ 3160:3165:int compare(android.view.View,android.view.View) -> compare
+androidx.viewpager2.adapter.FragmentStateAdapter -> androidx.viewpager2.adapter.FragmentStateAdapter:
+ 102:103:void <init>(androidx.fragment.app.FragmentActivity) -> <init>
+ 112:113:void <init>(androidx.fragment.app.Fragment) -> <init>
+ 82:127:void <init>(androidx.fragment.app.FragmentManager,androidx.lifecycle.Lifecycle) -> <init>
+ 386:403:void addViewToContainer(android.view.View,android.widget.FrameLayout) -> addViewToContainer
+ 496:496:boolean containsItem(long) -> containsItem
+ 600:600:java.lang.String createKey(java.lang.String,long) -> createKey
+ 265:272:void ensureFragment(int) -> ensureFragment
+ 201:230:void gcFragments() -> gcFragments
+ 486:486:long getItemId(int) -> getItemId
+ 233:247:boolean isFragmentViewBound(long) -> isFragmentViewBound
+ 605:605:boolean isValidKey(java.lang.String,java.lang.String) -> isValidKey
+ 251:261:java.lang.Long itemForViewHolder(int) -> itemForViewHolder
+ 132:135:void onAttachedToRecyclerView(androidx.recyclerview.widget.RecyclerView) -> onAttachedToRecyclerView
+ 67:67:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> onBindViewHolder
+ 166:197:void onBindViewHolder(androidx.viewpager2.adapter.FragmentViewHolder,int) -> onBindViewHolder
+ 67:67:androidx.recyclerview.widget.RecyclerView$ViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 161:161:androidx.viewpager2.adapter.FragmentViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 140:142:void onDetachedFromRecyclerView(androidx.recyclerview.widget.RecyclerView) -> onDetachedFromRecyclerView
+ 67:67:boolean onFailedToRecycleView(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onFailedToRecycleView
+ 430:430:boolean onFailedToRecycleView(androidx.viewpager2.adapter.FragmentViewHolder) -> onFailedToRecycleView
+ 67:67:void onViewAttachedToWindow(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onViewAttachedToWindow
+ 276:278:void onViewAttachedToWindow(androidx.viewpager2.adapter.FragmentViewHolder) -> onViewAttachedToWindow
+ 67:67:void onViewRecycled(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onViewRecycled
+ 407:413:void onViewRecycled(androidx.viewpager2.adapter.FragmentViewHolder) -> onViewRecycled
+ 610:610:long parseIdFromKey(java.lang.String,java.lang.String) -> parseIdFromKey
+ 285:361:void placeFragmentInViewHolder(androidx.viewpager2.adapter.FragmentViewHolder) -> placeFragmentInViewHolder
+ 434:466:void removeFragment(long) -> removeFragment
+ 535:572:void restoreState(android.os.Parcelable) -> restoreState
+ 509:530:android.os.Parcelable saveState() -> saveState
+ 575:596:void scheduleGracePeriodEnd() -> scheduleGracePeriodEnd
+ 368:382:void scheduleViewAttach(androidx.fragment.app.Fragment,android.widget.FrameLayout) -> scheduleViewAttach
+ 501:501:void setHasStableIds(boolean) -> setHasStableIds
+ 470:470:boolean shouldDelayFragmentTransactions() -> shouldDelayFragmentTransactions
+androidx.viewpager2.adapter.FragmentStateAdapter$1 -> androidx.viewpager2.adapter.FragmentStateAdapter$1:
+ 184:184:void <init>(androidx.viewpager2.adapter.FragmentStateAdapter,android.widget.FrameLayout,androidx.viewpager2.adapter.FragmentViewHolder) -> <init>
+ 188:192:void onLayoutChange(android.view.View,int,int,int,int,int,int,int,int) -> onLayoutChange
+androidx.viewpager2.adapter.FragmentStateAdapter$2 -> androidx.viewpager2.adapter.FragmentStateAdapter$2:
+ 347:347:void <init>(androidx.viewpager2.adapter.FragmentStateAdapter,androidx.viewpager2.adapter.FragmentViewHolder) -> <init>
+ 351:358:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.viewpager2.adapter.FragmentStateAdapter$3 -> androidx.viewpager2.adapter.FragmentStateAdapter$3:
+ 369:369:void <init>(androidx.viewpager2.adapter.FragmentStateAdapter,androidx.fragment.app.Fragment,android.widget.FrameLayout) -> <init>
+ 376:380:void onFragmentViewCreated(androidx.fragment.app.FragmentManager,androidx.fragment.app.Fragment,android.view.View,android.os.Bundle) -> onFragmentViewCreated
+androidx.viewpager2.adapter.FragmentStateAdapter$4 -> androidx.viewpager2.adapter.FragmentStateAdapter$4:
+ 576:576:void <init>(androidx.viewpager2.adapter.FragmentStateAdapter) -> <init>
+ 579:581:void run() -> run
+androidx.viewpager2.adapter.FragmentStateAdapter$5 -> androidx.viewpager2.adapter.FragmentStateAdapter$5:
+ 584:584:void <init>(androidx.viewpager2.adapter.FragmentStateAdapter,android.os.Handler,java.lang.Runnable) -> <init>
+ 588:592:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.viewpager2.adapter.FragmentStateAdapter$DataSetChangeObserver -> androidx.viewpager2.adapter.FragmentStateAdapter$DataSetChangeObserver:
+ 744:744:void <init>() -> <init>
+ 744:744:void <init>(androidx.viewpager2.adapter.FragmentStateAdapter$1) -> <init>
+ 750:751:void onItemRangeChanged(int,int) -> onItemRangeChanged
+ 756:757:void onItemRangeChanged(int,int,java.lang.Object) -> onItemRangeChanged
+ 761:762:void onItemRangeInserted(int,int) -> onItemRangeInserted
+ 771:772:void onItemRangeMoved(int,int,int) -> onItemRangeMoved
+ 766:767:void onItemRangeRemoved(int,int) -> onItemRangeRemoved
+androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer -> androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer:
+ 617:623:void <init>(androidx.viewpager2.adapter.FragmentStateAdapter) -> <init>
+ 732:736:androidx.viewpager2.widget.ViewPager2 inferViewPager(androidx.recyclerview.widget.RecyclerView) -> inferViewPager
+ 626:661:void register(androidx.recyclerview.widget.RecyclerView) -> register
+ 664:669:void unregister(androidx.recyclerview.widget.RecyclerView) -> unregister
+ 672:728:void updateFragmentMaxLifecycle(boolean) -> updateFragmentMaxLifecycle
+androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer$1 -> androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer$1:
+ 629:629:void <init>(androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer) -> <init>
+ 632:633:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 637:638:void onPageSelected(int) -> onPageSelected
+androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer$2 -> androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer$2:
+ 643:643:void <init>(androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer) -> <init>
+ 646:647:void onChanged() -> onChanged
+androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer$3 -> androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer$3:
+ 653:653:void <init>(androidx.viewpager2.adapter.FragmentStateAdapter$FragmentMaxLifecycleEnforcer) -> <init>
+ 657:658:void onStateChanged(androidx.lifecycle.LifecycleOwner,androidx.lifecycle.Lifecycle$Event) -> onStateChanged
+androidx.viewpager2.adapter.FragmentViewHolder -> androidx.viewpager2.adapter.FragmentViewHolder:
+ 33:34:void <init>(android.widget.FrameLayout) -> <init>
+ 37:43:androidx.viewpager2.adapter.FragmentViewHolder create(android.view.ViewGroup) -> create
+ 47:47:android.widget.FrameLayout getContainer() -> getContainer
+androidx.viewpager2.widget.AnimateLayoutChangeDetector -> androidx.viewpager2.widget.AnimateLayoutChangeDetector:
+ 46:48:void <clinit>() -> <clinit>
+ 52:54:void <init>(androidx.recyclerview.widget.LinearLayoutManager) -> <init>
+ 66:113:boolean arePagesLaidOutContiguously() -> arePagesLaidOutContiguously
+ 117:123:boolean hasRunningChangingLayoutTransition() -> hasRunningChangingLayoutTransition
+ 127:140:boolean hasRunningChangingLayoutTransition(android.view.View) -> hasRunningChangingLayoutTransition
+ 60:61:boolean mayHaveInterferingAnimations() -> mayHaveInterferingAnimations
+androidx.viewpager2.widget.AnimateLayoutChangeDetector$1 -> androidx.viewpager2.widget.AnimateLayoutChangeDetector$1:
+ 94:94:void <init>(androidx.viewpager2.widget.AnimateLayoutChangeDetector) -> <init>
+ 94:94:int compare(java.lang.Object,java.lang.Object) -> compare
+ 97:97:int compare(int[],int[]) -> compare
+androidx.viewpager2.widget.CompositeOnPageChangeCallback -> androidx.viewpager2.widget.CompositeOnPageChangeCallback:
+ 34:36:void <init>(int) -> <init>
+ 42:43:void addOnPageChangeCallback(androidx.viewpager2.widget.ViewPager2$OnPageChangeCallback) -> addOnPageChangeCallback
+ 86:92:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 58:64:void onPageScrolled(int,float,int) -> onPageScrolled
+ 72:78:void onPageSelected(int) -> onPageSelected
+ 49:50:void removeOnPageChangeCallback(androidx.viewpager2.widget.ViewPager2$OnPageChangeCallback) -> removeOnPageChangeCallback
+ 95:95:void throwCallbackListModifiedWhileInUse(java.util.ConcurrentModificationException) -> throwCallbackListModifiedWhileInUse
+androidx.viewpager2.widget.CompositePageTransformer -> androidx.viewpager2.widget.CompositePageTransformer:
+ 33:34:void <init>() -> <init>
+ 42:43:void addTransformer(androidx.viewpager2.widget.ViewPager2$PageTransformer) -> addTransformer
+ 47:48:void removeTransformer(androidx.viewpager2.widget.ViewPager2$PageTransformer) -> removeTransformer
+ 52:55:void transformPage(android.view.View,float) -> transformPage
+androidx.viewpager2.widget.FakeDrag -> androidx.viewpager2.widget.FakeDrag:
+ 44:48:void <init>(androidx.viewpager2.widget.ViewPager2,androidx.viewpager2.widget.ScrollEventAdapter,androidx.recyclerview.widget.RecyclerView) -> <init>
+ 134:137:void addFakeMotionEvent(long,int,float,float) -> addFakeMotionEvent
+ 56:69:boolean beginFakeDrag() -> beginFakeDrag
+ 124:131:void beginFakeVelocityTracker() -> beginFakeVelocityTracker
+ 102:120:boolean endFakeDrag() -> endFakeDrag
+ 74:97:boolean fakeDragBy(float) -> fakeDragBy
+ 51:51:boolean isFakeDragging() -> isFakeDragging
+androidx.viewpager2.widget.MarginPageTransformer -> androidx.viewpager2.widget.MarginPageTransformer:
+ 47:50:void <init>(int) -> <init>
+ 66:73:androidx.viewpager2.widget.ViewPager2 requireViewPager(android.view.View) -> requireViewPager
+ 54:63:void transformPage(android.view.View,float) -> transformPage
+androidx.viewpager2.widget.PageTransformerAdapter -> androidx.viewpager2.widget.PageTransformerAdapter:
+ 36:38:void <init>(androidx.recyclerview.widget.LinearLayoutManager) -> <init>
+ 41:41:androidx.viewpager2.widget.ViewPager2$PageTransformer getPageTransformer() -> getPageTransformer
+ 82:82:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 58:74:void onPageScrolled(int,float,int) -> onPageScrolled
+ 78:78:void onPageSelected(int) -> onPageSelected
+ 53:54:void setPageTransformer(androidx.viewpager2.widget.ViewPager2$PageTransformer) -> setPageTransformer
+androidx.viewpager2.widget.ScrollEventAdapter -> androidx.viewpager2.widget.ScrollEventAdapter:
+ 77:84:void <init>(androidx.viewpager2.widget.ViewPager2) -> <init>
+ 437:440:void dispatchScrolled(int,float,int) -> dispatchScrolled
+ 431:434:void dispatchSelected(int) -> dispatchSelected
+ 416:428:void dispatchStateChanged(int) -> dispatchStateChanged
+ 443:443:int getPosition() -> getPosition
+ 407:408:double getRelativeScrollPosition() -> getRelativeScrollPosition
+ 360:360:int getScrollState() -> getScrollState
+ 375:375:boolean isDragging() -> isDragging
+ 383:383:boolean isFakeDragging() -> isFakeDragging
+ 367:367:boolean isIdle() -> isIdle
+ 392:392:boolean isInAnyDraggingState() -> isInAnyDraggingState
+ 328:330:void notifyBeginFakeDrag() -> notifyBeginFakeDrag
+ 303:304:void notifyDataSetChangeHappened() -> notifyDataSetChangeHappened
+ 336:353:void notifyEndFakeDrag() -> notifyEndFakeDrag
+ 310:322:void notifyProgrammaticScroll(int,boolean) -> notifyProgrammaticScroll
+ 105:169:void onScrollStateChanged(androidx.recyclerview.widget.RecyclerView,int) -> onScrollStateChanged
+ 177:217:void onScrolled(androidx.recyclerview.widget.RecyclerView,int,int) -> onScrolled
+ 87:96:void resetState() -> resetState
+ 356:357:void setOnPageChangeCallback(androidx.viewpager2.widget.ViewPager2$OnPageChangeCallback) -> setOnPageChangeCallback
+ 287:300:void startDrag(boolean) -> startDrag
+ 224:284:void updateScrollEventValues() -> updateScrollEventValues
+androidx.viewpager2.widget.ScrollEventAdapter$ScrollEventValues -> androidx.viewpager2.widget.ScrollEventAdapter$ScrollEventValues:
+ 452:453:void <init>() -> <init>
+ 456:459:void reset() -> reset
+androidx.viewpager2.widget.ViewPager2 -> androidx.viewpager2.widget.ViewPager2:
+ 121:121:void <clinit>() -> <clinit>
+ 124:159:void <init>(android.content.Context) -> <init>
+ 124:164:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 124:169:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 124:176:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 1144:1145:void addItemDecoration(androidx.recyclerview.widget.RecyclerView$ItemDecoration) -> addItemDecoration
+ 1163:1164:void addItemDecoration(androidx.recyclerview.widget.RecyclerView$ItemDecoration,int) -> addItemDecoration
+ 713:713:boolean beginFakeDrag() -> beginFakeDrag
+ 855:855:boolean canScrollHorizontally(int) -> canScrollHorizontally
+ 860:860:boolean canScrollVertically(int) -> canScrollVertically
+ 364:376:void dispatchRestoreInstanceState(android.util.SparseArray) -> dispatchRestoreInstanceState
+ 749:749:boolean endFakeDrag() -> endFakeDrag
+ 263:263:androidx.recyclerview.widget.RecyclerView$OnChildAttachStateChangeListener enforceChildFillListener() -> enforceChildFillListener
+ 735:735:boolean fakeDragBy(float) -> fakeDragBy
+ 285:288:java.lang.CharSequence getAccessibilityClassName() -> getAccessibilityClassName
+ 482:482:androidx.recyclerview.widget.RecyclerView$Adapter getAdapter() -> getAdapter
+ 675:675:int getCurrentItem() -> getCurrentItem
+ 1175:1175:androidx.recyclerview.widget.RecyclerView$ItemDecoration getItemDecorationAt(int) -> getItemDecorationAt
+ 1184:1184:int getItemDecorationCount() -> getItemDecorationCount
+ 850:850:int getOffscreenPageLimit() -> getOffscreenPageLimit
+ 573:573:int getOrientation() -> getOrientation
+ 556:559:int getPageSize() -> getPageSize
+ 687:687:int getScrollState() -> getScrollState
+ 179:255:void initialize(android.content.Context,android.util.AttributeSet) -> initialize
+ 1192:1193:void invalidateItemDecorations() -> invalidateItemDecorations
+ 761:761:boolean isFakeDragging() -> isFakeDragging
+ 577:577:boolean isRtl() -> isRtl
+ 803:803:boolean isUserInputEnabled() -> isUserInputEnabled
+ 949:951:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 516:533:void onLayout(boolean,int,int,int,int) -> onLayout
+ 498:512:void onMeasure(int,int) -> onMeasure
+ 328:337:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 308:323:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 488:489:void onViewAdded(android.view.View) -> onViewAdded
+ 956:959:boolean performAccessibilityAction(int,android.os.Bundle) -> performAccessibilityAction
+ 469:472:void registerCurrentItemDataSetTracker(androidx.recyclerview.widget.RecyclerView$Adapter) -> registerCurrentItemDataSetTracker
+ 872:873:void registerOnPageChangeCallback(androidx.viewpager2.widget.ViewPager2$OnPageChangeCallback) -> registerOnPageChangeCallback
+ 1215:1216:void removeItemDecoration(androidx.recyclerview.widget.RecyclerView$ItemDecoration) -> removeItemDecoration
+ 1202:1203:void removeItemDecorationAt(int) -> removeItemDecorationAt
+ 930:938:void requestTransform() -> requestTransform
+ 340:359:void restorePendingState() -> restorePendingState
+ 458:466:void setAdapter(androidx.recyclerview.widget.RecyclerView$Adapter) -> setAdapter
+ 591:592:void setCurrentItem(int) -> setCurrentItem
+ 603:608:void setCurrentItem(int,boolean) -> setCurrentItem
+ 614:666:void setCurrentItemInternal(int,boolean) -> setCurrentItemInternal
+ 943:945:void setLayoutDirection(int) -> setLayoutDirection
+ 832:839:void setOffscreenPageLimit(int) -> setOffscreenPageLimit
+ 292:302:void setOrientation(android.content.Context,android.util.AttributeSet) -> setOrientation
+ 568:570:void setOrientation(int) -> setOrientation
+ 900:921:void setPageTransformer(androidx.viewpager2.widget.ViewPager2$PageTransformer) -> setPageTransformer
+ 792:794:void setUserInputEnabled(boolean) -> setUserInputEnabled
+ 770:779:void snapToPage() -> snapToPage
+ 475:478:void unregisterCurrentItemDataSetTracker(androidx.recyclerview.widget.RecyclerView$Adapter) -> unregisterCurrentItemDataSetTracker
+ 882:883:void unregisterOnPageChangeCallback(androidx.viewpager2.widget.ViewPager2$OnPageChangeCallback) -> unregisterOnPageChangeCallback
+ 537:553:void updateCurrentItem() -> updateCurrentItem
+androidx.viewpager2.widget.ViewPager2$1 -> androidx.viewpager2.widget.ViewPager2$1:
+ 133:133:void <init>(androidx.viewpager2.widget.ViewPager2) -> <init>
+ 136:138:void onChanged() -> onChanged
+androidx.viewpager2.widget.ViewPager2$2 -> androidx.viewpager2.widget.ViewPager2$2:
+ 212:212:void <init>(androidx.viewpager2.widget.ViewPager2) -> <init>
+ 223:226:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 215:219:void onPageSelected(int) -> onPageSelected
+androidx.viewpager2.widget.ViewPager2$3 -> androidx.viewpager2.widget.ViewPager2$3:
+ 230:230:void <init>(androidx.viewpager2.widget.ViewPager2) -> <init>
+ 233:237:void onPageSelected(int) -> onPageSelected
+androidx.viewpager2.widget.ViewPager2$4 -> androidx.viewpager2.widget.ViewPager2$4:
+ 263:263:void <init>(androidx.viewpager2.widget.ViewPager2) -> <init>
+ 266:273:void onChildViewAttachedToWindow(android.view.View) -> onChildViewAttachedToWindow
+ 278:278:void onChildViewDetachedFromWindow(android.view.View) -> onChildViewDetachedFromWindow
+androidx.viewpager2.widget.ViewPager2$AccessibilityProvider -> androidx.viewpager2.widget.ViewPager2$AccessibilityProvider:
+ 1220:1220:void <init>(androidx.viewpager2.widget.ViewPager2) -> <init>
+ 1220:1220:void <init>(androidx.viewpager2.widget.ViewPager2,androidx.viewpager2.widget.ViewPager2$1) -> <init>
+ 1226:1226:boolean handlesGetAccessibilityClassName() -> handlesGetAccessibilityClassName
+ 1269:1269:boolean handlesLmPerformAccessibilityAction(int) -> handlesLmPerformAccessibilityAction
+ 1258:1258:boolean handlesPerformAccessibilityAction(int,android.os.Bundle) -> handlesPerformAccessibilityAction
+ 1280:1280:boolean handlesRvGetAccessibilityClassName() -> handlesRvGetAccessibilityClassName
+ 1237:1237:void onAttachAdapter(androidx.recyclerview.widget.RecyclerView$Adapter) -> onAttachAdapter
+ 1240:1240:void onDetachAdapter(androidx.recyclerview.widget.RecyclerView$Adapter) -> onDetachAdapter
+ 1230:1230:java.lang.String onGetAccessibilityClassName() -> onGetAccessibilityClassName
+ 1223:1223:void onInitialize(androidx.viewpager2.widget.CompositeOnPageChangeCallback,androidx.recyclerview.widget.RecyclerView) -> onInitialize
+ 1255:1255:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 1277:1277:void onLmInitializeAccessibilityNodeInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onLmInitializeAccessibilityNodeInfo
+ 1273:1273:boolean onLmPerformAccessibilityAction(int) -> onLmPerformAccessibilityAction
+ 1262:1262:boolean onPerformAccessibilityAction(int,android.os.Bundle) -> onPerformAccessibilityAction
+ 1234:1234:void onRestorePendingState() -> onRestorePendingState
+ 1284:1284:java.lang.CharSequence onRvGetAccessibilityClassName() -> onRvGetAccessibilityClassName
+ 1266:1266:void onRvInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onRvInitializeAccessibilityEvent
+ 1252:1252:void onSetLayoutDirection() -> onSetLayoutDirection
+ 1246:1246:void onSetNewCurrentItem() -> onSetNewCurrentItem
+ 1243:1243:void onSetOrientation() -> onSetOrientation
+ 1249:1249:void onSetUserInputEnabled() -> onSetUserInputEnabled
+androidx.viewpager2.widget.ViewPager2$BasicAccessibilityProvider -> androidx.viewpager2.widget.ViewPager2$BasicAccessibilityProvider:
+ 1288:1288:void <init>(androidx.viewpager2.widget.ViewPager2) -> <init>
+ 1291:1293:boolean handlesLmPerformAccessibilityAction(int) -> handlesLmPerformAccessibilityAction
+ 1316:1316:boolean handlesRvGetAccessibilityClassName() -> handlesRvGetAccessibilityClassName
+ 1307:1312:void onLmInitializeAccessibilityNodeInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onLmInitializeAccessibilityNodeInfo
+ 1298:1301:boolean onLmPerformAccessibilityAction(int) -> onLmPerformAccessibilityAction
+ 1321:1324:java.lang.CharSequence onRvGetAccessibilityClassName() -> onRvGetAccessibilityClassName
+androidx.viewpager2.widget.ViewPager2$DataSetChangeObserver -> androidx.viewpager2.widget.ViewPager2$DataSetChangeObserver:
+ 1577:1577:void <init>() -> <init>
+ 1577:1577:void <init>(androidx.viewpager2.widget.ViewPager2$1) -> <init>
+ 1583:1584:void onItemRangeChanged(int,int) -> onItemRangeChanged
+ 1589:1590:void onItemRangeChanged(int,int,java.lang.Object) -> onItemRangeChanged
+ 1594:1595:void onItemRangeInserted(int,int) -> onItemRangeInserted
+ 1604:1605:void onItemRangeMoved(int,int,int) -> onItemRangeMoved
+ 1599:1600:void onItemRangeRemoved(int,int) -> onItemRangeRemoved
+androidx.viewpager2.widget.ViewPager2$LinearLayoutManagerImpl -> androidx.viewpager2.widget.ViewPager2$LinearLayoutManagerImpl:
+ 1001:1003:void <init>(androidx.viewpager2.widget.ViewPager2,android.content.Context) -> <init>
+ 1024:1033:void calculateExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView$State,int[]) -> calculateExtraLayoutSpace
+ 1017:1019:void onInitializeAccessibilityNodeInfo(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 1008:1011:boolean performAccessibilityAction(androidx.recyclerview.widget.RecyclerView$Recycler,androidx.recyclerview.widget.RecyclerView$State,int,android.os.Bundle) -> performAccessibilityAction
+ 1039:1039:boolean requestChildRectangleOnScreen(androidx.recyclerview.widget.RecyclerView,android.view.View,android.graphics.Rect,boolean,boolean) -> requestChildRectangleOnScreen
+androidx.viewpager2.widget.ViewPager2$OnPageChangeCallback -> androidx.viewpager2.widget.ViewPager2$OnPageChangeCallback:
+ 1076:1076:void <init>() -> <init>
+ 1106:1106:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 1088:1088:void onPageScrolled(int,float,int) -> onPageScrolled
+ 1097:1097:void onPageSelected(int) -> onPageSelected
+androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider -> androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider:
+ 1328:1340:void <init>(androidx.viewpager2.widget.ViewPager2) -> <init>
+ 1537:1552:void addCollectionInfo(android.view.accessibility.AccessibilityNodeInfo) -> addCollectionInfo
+ 1555:1570:void addScrollActions(android.view.accessibility.AccessibilityNodeInfo) -> addScrollActions
+ 1375:1375:boolean handlesGetAccessibilityClassName() -> handlesGetAccessibilityClassName
+ 1439:1439:boolean handlesPerformAccessibilityAction(int,android.os.Bundle) -> handlesPerformAccessibilityAction
+ 1393:1397:void onAttachAdapter(androidx.recyclerview.widget.RecyclerView$Adapter) -> onAttachAdapter
+ 1401:1404:void onDetachAdapter(androidx.recyclerview.widget.RecyclerView$Adapter) -> onDetachAdapter
+ 1380:1383:java.lang.String onGetAccessibilityClassName() -> onGetAccessibilityClassName
+ 1356:1371:void onInitialize(androidx.viewpager2.widget.CompositeOnPageChangeCallback,androidx.recyclerview.widget.RecyclerView) -> onInitialize
+ 1431:1435:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 1445:1453:boolean onPerformAccessibilityAction(int,android.os.Bundle) -> onPerformAccessibilityAction
+ 1388:1389:void onRestorePendingState() -> onRestorePendingState
+ 1458:1460:void onRvInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onRvInitializeAccessibilityEvent
+ 1426:1427:void onSetLayoutDirection() -> onSetLayoutDirection
+ 1413:1414:void onSetNewCurrentItem() -> onSetNewCurrentItem
+ 1408:1409:void onSetOrientation() -> onSetOrientation
+ 1418:1422:void onSetUserInputEnabled() -> onSetUserInputEnabled
+ 1468:1471:void setCurrentItemFromAccessibilityCommand(int) -> setCurrentItemFromAccessibilityCommand
+ 1478:1534:void updatePageAccessibilityActions() -> updatePageAccessibilityActions
+androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider$1 -> androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider$1:
+ 1330:1330:void <init>(androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider) -> <init>
+ 1334:1336:boolean perform(android.view.View,androidx.core.view.accessibility.AccessibilityViewCommand$CommandArguments) -> perform
+androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider$2 -> androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider$2:
+ 1341:1341:void <init>(androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider) -> <init>
+ 1345:1347:boolean perform(android.view.View,androidx.core.view.accessibility.AccessibilityViewCommand$CommandArguments) -> perform
+androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider$3 -> androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider$3:
+ 1359:1359:void <init>(androidx.viewpager2.widget.ViewPager2$PageAwareAccessibilityProvider) -> <init>
+ 1362:1363:void onChanged() -> onChanged
+androidx.viewpager2.widget.ViewPager2$PagerSnapHelperImpl -> androidx.viewpager2.widget.ViewPager2$PagerSnapHelperImpl:
+ 1044:1045:void <init>(androidx.viewpager2.widget.ViewPager2) -> <init>
+ 1054:1054:android.view.View findSnapView(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> findSnapView
+androidx.viewpager2.widget.ViewPager2$RecyclerViewImpl -> androidx.viewpager2.widget.ViewPager2$RecyclerViewImpl:
+ 967:969:void <init>(androidx.viewpager2.widget.ViewPager2,android.content.Context) -> <init>
+ 974:977:java.lang.CharSequence getAccessibilityClassName() -> getAccessibilityClassName
+ 982:986:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 996:996:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 991:991:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+androidx.viewpager2.widget.ViewPager2$SavedState -> androidx.viewpager2.widget.ViewPager2$SavedState:
+ 412:412:void <clinit>() -> <clinit>
+ 385:387:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 390:392:void <init>(android.os.Parcel) -> <init>
+ 395:396:void <init>(android.os.Parcelable) -> <init>
+ 399:402:void readValues(android.os.Parcel,java.lang.ClassLoader) -> readValues
+ 406:410:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+androidx.viewpager2.widget.ViewPager2$SavedState$1 -> androidx.viewpager2.widget.ViewPager2$SavedState$1:
+ 412:412:void <init>() -> <init>
+ 412:412:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 412:412:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 415:415:androidx.viewpager2.widget.ViewPager2$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 422:422:androidx.viewpager2.widget.ViewPager2$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 412:412:java.lang.Object[] newArray(int) -> newArray
+ 427:427:androidx.viewpager2.widget.ViewPager2$SavedState[] newArray(int) -> newArray
+androidx.viewpager2.widget.ViewPager2$SmoothScrollToPosition -> androidx.viewpager2.widget.ViewPager2$SmoothScrollToPosition:
+ 1062:1065:void <init>(int,androidx.recyclerview.widget.RecyclerView) -> <init>
+ 1069:1070:void run() -> run
+butterknife.ButterKnife -> butterknife.ButterKnife:
+ 80:83:void <clinit>() -> <clinit>
+ 75:76:void <init>() -> <init>
+ 98:99:butterknife.Unbinder bind(android.app.Activity) -> bind
+ 160:183:butterknife.Unbinder bind(java.lang.Object,android.view.View) -> bind
+ 189:212:java.lang.reflect.Constructor findBindingConstructorForClass(java.lang.Class) -> findBindingConstructorForClass
+butterknife.OnItemSelected$Callback -> butterknife.OnItemSelected$Callback:
+ 52:69:void <clinit>() -> <clinit>
+ 52:52:void <init>(java.lang.String,int) -> <init>
+ 52:52:butterknife.OnItemSelected$Callback valueOf(java.lang.String) -> valueOf
+ 52:52:butterknife.OnItemSelected$Callback[] values() -> values
+butterknife.OnPageChange$Callback -> butterknife.OnPageChange$Callback:
+ 47:67:void <clinit>() -> <clinit>
+ 47:47:void <init>(java.lang.String,int) -> <init>
+ 47:47:butterknife.OnPageChange$Callback valueOf(java.lang.String) -> valueOf
+ 47:47:butterknife.OnPageChange$Callback[] values() -> values
+butterknife.OnTextChanged$Callback -> butterknife.OnTextChanged$Callback:
+ 51:77:void <clinit>() -> <clinit>
+ 51:51:void <init>(java.lang.String,int) -> <init>
+ 51:51:butterknife.OnTextChanged$Callback valueOf(java.lang.String) -> valueOf
+ 51:51:butterknife.OnTextChanged$Callback[] values() -> values
+butterknife.Unbinder -> butterknife.Unbinder:
+ 9:9:void <clinit>() -> <clinit>
+butterknife.Unbinder$$ExternalSyntheticLambda0 -> butterknife.Unbinder$$ExternalSyntheticLambda0:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ butterknife.Unbinder$$InternalSyntheticLambda$0$c3bd38c8cbbd540d92626bae21c0d5ffe266468dcb2d55fea5c5496de301f55a$0 butterknife.Unbinder$$InternalSyntheticLambda$0$c3bd38c8cbbd540d92626bae21c0d5ffe266468dcb2d55fea5c5496de301f55a$0.INSTANCE -> INSTANCE
+ void butterknife.Unbinder$$InternalSyntheticLambda$0$c3bd38c8cbbd540d92626bae21c0d5ffe266468dcb2d55fea5c5496de301f55a$0.<clinit>() -> <clinit>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void butterknife.Unbinder$$InternalSyntheticLambda$0$c3bd38c8cbbd540d92626bae21c0d5ffe266468dcb2d55fea5c5496de301f55a$0.<init>() -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+butterknife.ViewCollections -> butterknife.ViewCollections:
+ 122:123:void <init>() -> <init>
+butterknife.internal.DebouncingOnClickListener -> butterknife.internal.DebouncingOnClickListener:
+ void $r8$lambda$9VMd1QuOmdVg_AaYBDeumcPsza8() -> $r8$lambda$9VMd1QuOmdVg_AaYBDeumcPsza8
+ # {"id":"com.android.tools.r8.synthesized"}
+ 12:15:void <clinit>() -> <clinit>
+ 11:11:void <init>() -> <init>
+ 12:12:void lambda$static$0() -> lambda$static$0
+ 18:28:void onClick(android.view.View) -> onClick
+butterknife.internal.DebouncingOnClickListener$$ExternalSyntheticLambda0 -> butterknife.internal.DebouncingOnClickListener$$ExternalSyntheticLambda0:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ butterknife.internal.DebouncingOnClickListener$$InternalSyntheticLambda$0$e419f1079360e8f75690e9aef72dafead2c8d553bd9bd580651da2cdb951e127$0 butterknife.internal.DebouncingOnClickListener$$InternalSyntheticLambda$0$e419f1079360e8f75690e9aef72dafead2c8d553bd9bd580651da2cdb951e127$0.INSTANCE -> INSTANCE
+ void butterknife.internal.DebouncingOnClickListener$$InternalSyntheticLambda$0$e419f1079360e8f75690e9aef72dafead2c8d553bd9bd580651da2cdb951e127$0.<clinit>() -> <clinit>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void butterknife.internal.DebouncingOnClickListener$$InternalSyntheticLambda$0$e419f1079360e8f75690e9aef72dafead2c8d553bd9bd580651da2cdb951e127$0.<init>() -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void butterknife.internal.DebouncingOnClickListener$$InternalSyntheticLambda$0$e419f1079360e8f75690e9aef72dafead2c8d553bd9bd580651da2cdb951e127$0.run() -> run
+ # {"id":"com.android.tools.r8.synthesized"}
+butterknife.internal.Utils -> butterknife.internal.Utils:
+ 20:20:void <clinit>() -> <clinit>
+ 102:105:java.lang.Object castView(android.view.View,int,java.lang.String,java.lang.Class) -> castView
+ 79:84:android.view.View findRequiredView(android.view.View,int,java.lang.String) -> findRequiredView
+ 96:97:java.lang.Object findRequiredViewAsType(android.view.View,int,java.lang.String,java.lang.Class) -> findRequiredViewAsType
+ 133:136:java.lang.String getResourceEntryName(android.view.View,int) -> getResourceEntryName
+com.blakequ.bluetooth_manager_lib.BleManager -> com.blakequ.bluetooth_manager_lib.BleManager:
+ 39:42:com.blakequ.bluetooth_manager_lib.BleParamsOptions getBleParamsOptions() -> getBleParamsOptions
+ 50:55:void setBleParamsOptions(com.blakequ.bluetooth_manager_lib.BleParamsOptions) -> setBleParamsOptions
+com.blakequ.bluetooth_manager_lib.BleParamsOptions -> com.blakequ.bluetooth_manager_lib.BleParamsOptions:
+ 30:30:void <init>(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder,com.blakequ.bluetooth_manager_lib.BleParamsOptions$1) -> <init>
+ 92:104:void <init>(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> <init>
+ 282:282:com.blakequ.bluetooth_manager_lib.BleParamsOptions createDefault() -> createDefault
+ 65:65:long getBackgroundBetweenScanPeriod() -> getBackgroundBetweenScanPeriod
+ 61:61:long getBackgroundScanPeriod() -> getBackgroundScanPeriod
+ 89:89:int getConnectTimeOutTimes() -> getConnectTimeOutTimes
+ 57:57:long getForegroundBetweenScanPeriod() -> getForegroundBetweenScanPeriod
+ 53:53:long getForegroundScanPeriod() -> getForegroundScanPeriod
+ 69:69:int getMaxConnectDeviceNum() -> getMaxConnectDeviceNum
+ 81:81:long getReconnectBaseSpaceTime() -> getReconnectBaseSpaceTime
+ 77:77:int getReconnectMaxTimes() -> getReconnectMaxTimes
+ 73:73:int getReconnectStrategy() -> getReconnectStrategy
+ 85:85:int getReconnectedLineToExponentTimes() -> getReconnectedLineToExponentTimes
+com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder -> com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder:
+ 106:118:void <init>() -> <init>
+ 106:106:boolean access$000(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$000
+ 106:106:long access$100(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$100
+ 106:106:int access$1000(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$1000
+ 106:106:long access$200(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$200
+ 106:106:long access$300(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$300
+ 106:106:long access$400(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$400
+ 106:106:int access$500(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$500
+ 106:106:int access$600(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$600
+ 106:106:int access$700(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$700
+ 106:106:long access$800(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$800
+ 106:106:int access$900(com.blakequ.bluetooth_manager_lib.BleParamsOptions$Builder) -> access$900
+ 277:277:com.blakequ.bluetooth_manager_lib.BleParamsOptions build() -> build
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface:
+ 44:120:void <init>(android.content.Context) -> <init>
+ 40:40:com.blakequ.bluetooth_manager_lib.connect.BluetoothOperatorQueue access$000(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface) -> access$000
+ 383:387:boolean checkIsSamsung() -> checkIsSamsung
+ 117:117:android.os.Handler getMainLooperHandler() -> getMainLooperHandler
+ 391:391:boolean isEmpty(java.lang.String) -> isEmpty
+ 395:395:boolean isEmpty(java.util.List) -> isEmpty
+ 109:114:void runOnUiThread(java.lang.Runnable) -> runOnUiThread
+ 366:376:void setProperty(android.bluetooth.BluetoothGattCharacteristic) -> setProperty
+ 253:259:boolean startSubscribe(android.bluetooth.BluetoothGatt) -> startSubscribe
+ 267:357:boolean subscribe(java.lang.String) -> subscribe
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1:
+ 120:120:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface) -> <init>
+ 123:125:void onCharacteristicChanged(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattCharacteristic) -> onCharacteristicChanged
+ 129:133:void onCharacteristicRead(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattCharacteristic,int) -> onCharacteristicRead
+ 137:141:void onCharacteristicWrite(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattCharacteristic,int) -> onCharacteristicWrite
+ 145:182:void onConnectionStateChange(android.bluetooth.BluetoothGatt,int,int) -> onConnectionStateChange
+ 186:190:void onDescriptorRead(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattDescriptor,int) -> onDescriptorRead
+ 194:198:void onDescriptorWrite(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattDescriptor,int) -> onDescriptorWrite
+ 203:205:void onMtuChanged(android.bluetooth.BluetoothGatt,int,int) -> onMtuChanged
+ 209:211:void onReadRemoteRssi(android.bluetooth.BluetoothGatt,int,int) -> onReadRemoteRssi
+ 215:217:void onReliableWriteCompleted(android.bluetooth.BluetoothGatt,int) -> onReliableWriteCompleted
+ 221:243:void onServicesDiscovered(android.bluetooth.BluetoothGatt,int) -> onServicesDiscovered
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1$1 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1$1:
+ 156:156:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1,android.bluetooth.BluetoothGatt) -> <init>
+ 159:163:void run() -> run
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1$2 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1$2:
+ 166:166:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1,android.bluetooth.BluetoothGatt,int) -> <init>
+ 169:170:void run() -> run
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1$3 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1$3:
+ 174:174:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1,android.bluetooth.BluetoothGatt,int) -> <init>
+ 177:178:void run() -> run
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1$4 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1$4:
+ 224:224:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1,android.bluetooth.BluetoothGatt) -> <init>
+ 227:231:void run() -> run
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1$5 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1$5:
+ 235:235:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$1,android.bluetooth.BluetoothGatt) -> <init>
+ 238:239:void run() -> run
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$2 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface$2:
+ 290:290:void <clinit>() -> <clinit>
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager:
+ 54:64:void <clinit>() -> <clinit>
+ 63:466:void <init>(android.content.Context) -> <init>
+ 51:51:void access$000(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager,java.lang.String) -> access$000
+ 51:51:com.blakequ.bluetooth_manager_lib.util.BluetoothUtils access$100(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager) -> access$100
+ 51:51:java.util.Map access$200(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager) -> access$200
+ 51:51:com.blakequ.bluetooth_manager_lib.connect.ReconnectParamsBean access$300(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager) -> access$300
+ 51:51:com.blakequ.bluetooth_manager_lib.connect.ReconnectParamsBean access$302(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager,com.blakequ.bluetooth_manager_lib.connect.ReconnectParamsBean) -> access$302
+ 137:138:void addBluetoothSubscribeData(com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData) -> addBluetoothSubscribeData
+ 113:116:void addConnectStateListener(com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener) -> addConnectStateListener
+ 145:146:void cleanSubscribeData() -> cleanSubscribeData
+ 319:327:boolean close(java.lang.String) -> close
+ 334:337:void closeAll() -> closeAll
+ 430:447:void closeOtherDevice(java.lang.String) -> closeOtherDevice
+ 265:310:boolean connect(java.lang.String) -> connect
+ 345:353:void disconnect(java.lang.String) -> disconnect
+ 159:162:android.bluetooth.BluetoothGatt getBluetoothGatt(java.lang.String) -> getBluetoothGatt
+ 167:167:android.bluetooth.BluetoothGattCallback getBluetoothGattCallback() -> getBluetoothGattCallback
+ 245:248:java.util.List getConnectedDevice() -> getConnectedDevice
+ 85:92:com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager getInstance(android.content.Context) -> getInstance
+ 172:172:java.lang.String getServiceUUID() -> getServiceUUID
+ 228:228:java.util.Queue getSubscribeDataQueue() -> getSubscribeDataQueue
+ 236:237:boolean isConnectDevice() -> isConnectDevice
+ 197:199:void onDeviceConnected(android.bluetooth.BluetoothGatt) -> onDeviceConnected
+ 179:193:void onDeviceDisconnect(android.bluetooth.BluetoothGatt,int) -> onDeviceDisconnect
+ 203:216:void onDiscoverServicesFail(android.bluetooth.BluetoothGatt) -> onDiscoverServicesFail
+ 224:224:void onDiscoverServicesSuccess(android.bluetooth.BluetoothGatt) -> onDiscoverServicesSuccess
+ 360:423:void reconnectDevice(java.lang.String) -> reconnectDevice
+ 124:127:void removeConnectStateListener(com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener) -> removeConnectStateListener
+ 104:105:void setBluetoothGattCallback(android.bluetooth.BluetoothGattCallback) -> setBluetoothGattCallback
+ 154:155:void setServiceUUID(java.lang.String) -> setServiceUUID
+ 450:461:void updateConnectStateListener(java.lang.String,com.blakequ.bluetooth_manager_lib.connect.ConnectState) -> updateConnectStateListener
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$1 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$1:
+ 187:187:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager,android.bluetooth.BluetoothGatt) -> <init>
+ 190:191:void run() -> run
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$2 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$2:
+ 210:210:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager,android.bluetooth.BluetoothGatt) -> <init>
+ 213:214:void run() -> run
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$3 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$3:
+ 384:384:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager,java.lang.String) -> <init>
+ 388:421:void run() -> run
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$3$1 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$3$1:
+ 406:406:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$3) -> <init>
+ 409:410:void run() -> run
+com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$4 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager$4:
+ 466:466:void <init>(com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager) -> <init>
+ 469:473:void run() -> run
+com.blakequ.bluetooth_manager_lib.connect.BluetoothOperatorQueue -> com.blakequ.bluetooth_manager_lib.connect.BluetoothOperatorQueue:
+ 20:25:void <init>() -> <init>
+ 51:54:void addOperator(android.bluetooth.BluetoothGattCharacteristic,boolean) -> addOperator
+ 61:64:void addOperator(android.bluetooth.BluetoothGattDescriptor,boolean) -> addOperator
+ 27:31:void clean() -> clean
+ 80:110:boolean doOperator(com.blakequ.bluetooth_manager_lib.connect.BluetoothOperatorQueue$SimpleEntity) -> doOperator
+ 69:74:void nextOperator() -> nextOperator
+ 39:44:void start(android.bluetooth.BluetoothGatt) -> start
+com.blakequ.bluetooth_manager_lib.connect.BluetoothOperatorQueue$SimpleEntity -> com.blakequ.bluetooth_manager_lib.connect.BluetoothOperatorQueue$SimpleEntity:
+ 124:127:void <init>(boolean,java.lang.Object) -> <init>
+com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData -> com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData:
+ 23:23:void <init>(java.util.UUID,com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Type,com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$1) -> <init>
+ 23:23:void <init>(java.util.UUID,byte[],java.util.UUID,byte[],com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Type,com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$1) -> <init>
+ 33:39:void <init>(java.util.UUID,byte[],java.util.UUID,byte[],com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Type) -> <init>
+ 41:44:void <init>(java.util.UUID,com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Type) -> <init>
+ 48:48:java.util.UUID getCharacteristicUUID() -> getCharacteristicUUID
+ 52:52:byte[] getCharacteristicValue() -> getCharacteristicValue
+ 56:56:java.util.UUID getDescriptorUUID() -> getDescriptorUUID
+ 60:60:byte[] getDescriptorValue() -> getDescriptorValue
+ 64:64:com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Type getOperatorType() -> getOperatorType
+com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$1 -> com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$1:
+ 144:144:void <clinit>() -> <clinit>
+com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Builder -> com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Builder:
+ 67:67:void <init>() -> <init>
+ 140:173:com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData build() -> build
+ 133:136:com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Builder setCharacteristicNotify(java.util.UUID) -> setCharacteristicNotify
+ 81:83:com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Builder setCharacteristicRead(java.util.UUID) -> setCharacteristicRead
+com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Type -> com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Type:
+ 180:185:void <clinit>() -> <clinit>
+ 180:180:void <init>(java.lang.String,int) -> <init>
+ 180:180:com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Type valueOf(java.lang.String) -> valueOf
+ 180:180:com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData$Type[] values() -> values
+com.blakequ.bluetooth_manager_lib.connect.ConnectConfig -> com.blakequ.bluetooth_manager_lib.connect.ConnectConfig:
+ 20:20:void <clinit>() -> <clinit>
+com.blakequ.bluetooth_manager_lib.connect.ConnectState -> com.blakequ.bluetooth_manager_lib.connect.ConnectState:
+ 19:24:void <clinit>() -> <clinit>
+ 19:19:void <init>(java.lang.String,int) -> <init>
+ 19:19:com.blakequ.bluetooth_manager_lib.connect.ConnectState valueOf(java.lang.String) -> valueOf
+ 19:19:com.blakequ.bluetooth_manager_lib.connect.ConnectState[] values() -> values
+com.blakequ.bluetooth_manager_lib.connect.GattError -> com.blakequ.bluetooth_manager_lib.connect.GattError:
+ 61:139:java.lang.String parse(int) -> parse
+ 32:50:java.lang.String parseConnectionError(int) -> parseConnectionError
+com.blakequ.bluetooth_manager_lib.connect.ReconnectParamsBean -> com.blakequ.bluetooth_manager_lib.connect.ReconnectParamsBean:
+ 30:36:void <init>(java.lang.String) -> <init>
+ 104:107:void addNumber() -> addNumber
+ 39:39:java.lang.String getAddress() -> getAddress
+ 53:83:long getNextReconnectTime() -> getNextReconnectTime
+ 97:97:int getNumber() -> getNumber
+ 114:115:void setNumber(int) -> setNumber
+ 119:122:java.lang.String toString() -> toString
+ 43:46:void updateAddress(java.lang.String) -> updateAddress
+com.blakequ.bluetooth_manager_lib.device.BeaconManufacturerData -> com.blakequ.bluetooth_manager_lib.device.BeaconManufacturerData:
+ 12:22:void <init>(com.blakequ.bluetooth_manager_lib.device.BeaconType,byte[]) -> <init>
+com.blakequ.bluetooth_manager_lib.device.BeaconType -> com.blakequ.bluetooth_manager_lib.device.BeaconType:
+ 6:14:void <clinit>() -> <clinit>
+ 6:6:void <init>(java.lang.String,int) -> <init>
+ 6:6:com.blakequ.bluetooth_manager_lib.device.BeaconType valueOf(java.lang.String) -> valueOf
+ 6:6:com.blakequ.bluetooth_manager_lib.device.BeaconType[] values() -> values
+com.blakequ.bluetooth_manager_lib.device.BeaconUtils -> com.blakequ.bluetooth_manager_lib.device.BeaconUtils:
+ 23:30:com.blakequ.bluetooth_manager_lib.device.BeaconType getBeaconType(byte[]) -> getBeaconType
+ 41:42:com.blakequ.bluetooth_manager_lib.device.BeaconType getBeaconType(com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice) -> getBeaconType
+ 47:55:boolean isIBeacon(byte[]) -> isIBeacon
+com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice -> com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice:
+ 36:36:void <clinit>() -> <clinit>
+ 73:81:void <init>(android.bluetooth.BluetoothDevice,int,byte[],long) -> <init>
+ 88:98:void <init>(com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice) -> <init>
+ 106:117:void <init>(android.os.Parcel) -> <init>
+ 142:151:void addToRssiLog(long,int) -> addToRssiLog
+ 158:158:int describeContents() -> describeContents
+ 166:198:boolean equals(java.lang.Object) -> equals
+ 207:207:com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordStore getAdRecordStore() -> getAdRecordStore
+ 216:216:java.lang.String getAddress() -> getAddress
+ 225:225:java.lang.String getBluetoothDeviceBondState() -> getBluetoothDeviceBondState
+ 234:234:java.lang.String getBluetoothDeviceClassName() -> getBluetoothDeviceClassName
+ 271:271:android.bluetooth.BluetoothDevice getDevice() -> getDevice
+ 280:280:int getFirstRssi() -> getFirstRssi
+ 289:289:long getFirstTimestamp() -> getFirstTimestamp
+ 298:298:java.lang.String getName() -> getName
+ 307:307:int getRssi() -> getRssi
+ 316:318:java.util.Map getRssiLog() -> getRssiLog
+ 327:341:double getRunningAverageRssi() -> getRunningAverageRssi
+ 352:352:byte[] getScanRecord() -> getScanRecord
+ 361:361:long getTimestamp() -> getTimestamp
+ 369:379:int hashCode() -> hashCode
+ 429:437:java.lang.String resolveBondingState(int) -> resolveBondingState
+ 387:387:java.lang.String toString() -> toString
+ 397:398:void updateRssiReading(long,int) -> updateRssiReading
+ 405:420:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice$1 -> com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice$1:
+ 36:36:void <init>() -> <init>
+ 36:36:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 38:38:com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice createFromParcel(android.os.Parcel) -> createFromParcel
+ 36:36:java.lang.Object[] newArray(int) -> newArray
+ 42:42:com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice[] newArray(int) -> newArray
+com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord -> com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord:
+ 114:114:void <clinit>() -> <clinit>
+ 131:135:void <init>(int,int,byte[]) -> <init>
+ 137:142:void <init>(android.os.Parcel) -> <init>
+ 146:146:int describeContents() -> describeContents
+ 150:150:byte[] getData() -> getData
+ 182:224:java.lang.String getHumanReadableAdType(int) -> getHumanReadableAdType
+ 154:154:java.lang.String getHumanReadableType() -> getHumanReadableType
+ 167:167:java.lang.String toString() -> toString
+ 172:179:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord$1 -> com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord$1:
+ 114:114:void <init>() -> <init>
+ 114:114:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 116:116:com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord createFromParcel(android.os.Parcel) -> createFromParcel
+ 114:114:java.lang.Object[] newArray(int) -> newArray
+ 120:120:com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord[] newArray(int) -> newArray
+com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordStore -> com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordStore:
+ 17:17:void <clinit>() -> <clinit>
+ 30:35:void <init>(android.os.Parcel) -> <init>
+ 42:51:void <init>(android.util.SparseArray) -> <init>
+ 58:58:int describeContents() -> describeContents
+ 86:86:com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord getRecord(int) -> getRecord
+ 96:97:java.lang.String getRecordDataAsString(int) -> getRecordDataAsString
+ 124:124:java.lang.String toString() -> toString
+ 132:138:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordStore$1 -> com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordStore$1:
+ 17:17:void <init>() -> <init>
+ 17:17:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 19:19:com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordStore createFromParcel(android.os.Parcel) -> createFromParcel
+ 17:17:java.lang.Object[] newArray(int) -> newArray
+ 23:23:com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordStore[] newArray(int) -> newArray
+com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordUtils -> com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordUtils:
+ 23:26:java.lang.String getRecordDataAsString(com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord) -> getRecordDataAsString
+ 109:130:android.util.SparseArray parseScanRecordAsSparseArray(byte[]) -> parseScanRecordAsSparseArray
+com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconConstants -> com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconConstants:
+ 7:7:void <clinit>() -> <clinit>
+com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDevice -> com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDevice:
+ 55:57:void <init>(com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice) -> <init>
+ 72:74:double getAccuracy() -> getAccuracy
+ 88:88:int getCalibratedTxPower() -> getCalibratedTxPower
+ 106:106:com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDistanceDescriptor getDistanceDescriptor() -> getDistanceDescriptor
+ 115:115:com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconManufacturerData getIBeaconData() -> getIBeaconData
+ 124:124:int getMajor() -> getMajor
+ 133:133:int getMinor() -> getMinor
+ 142:142:java.lang.String getUUID() -> getUUID
+com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDistanceDescriptor -> com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDistanceDescriptor:
+ 3:7:void <clinit>() -> <clinit>
+ 3:3:void <init>(java.lang.String,int) -> <init>
+ 3:3:com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDistanceDescriptor valueOf(java.lang.String) -> valueOf
+ 3:3:com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDistanceDescriptor[] values() -> values
+com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconManufacturerData -> com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconManufacturerData:
+ 63:64:void <init>(com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice) -> <init>
+ 73:84:void <init>(byte[]) -> <init>
+ 92:92:int getCalibratedTxPower() -> getCalibratedTxPower
+ 114:114:int getMajor() -> getMajor
+ 123:123:int getMinor() -> getMinor
+ 132:132:java.lang.String getUUID() -> getUUID
+com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconUtils -> com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconUtils:
+ 25:33:double calculateAccuracy(int,double) -> calculateAccuracy
+ 38:62:java.lang.String calculateUuidString(byte[]) -> calculateUuidString
+ 66:78:com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDistanceDescriptor getDistanceDescriptor(double) -> getDistanceDescriptor
+com.blakequ.bluetooth_manager_lib.device.resolvers.BluetoothClassResolver -> com.blakequ.bluetooth_manager_lib.device.resolvers.BluetoothClassResolver:
+ 8:110:java.lang.String resolveDeviceClass(int) -> resolveDeviceClass
+com.blakequ.bluetooth_manager_lib.scan.BackgroundPowerSaver -> com.blakequ.bluetooth_manager_lib.scan.BackgroundPowerSaver:
+ 22:71:void <init>(android.content.Context) -> <init>
+ 140:151:long getBetweenScanPeriod() -> getBetweenScanPeriod
+ 123:134:long getScanPeriod() -> getScanPeriod
+ 158:158:void onActivityCreated(android.app.Activity,android.os.Bundle) -> onActivityCreated
+ 196:196:void onActivityDestroyed(android.app.Activity) -> onActivityDestroyed
+ 177:183:void onActivityPaused(android.app.Activity) -> onActivityPaused
+ 166:173:void onActivityResumed(android.app.Activity) -> onActivityResumed
+ 192:192:void onActivitySaveInstanceState(android.app.Activity,android.os.Bundle) -> onActivitySaveInstanceState
+ 162:162:void onActivityStarted(android.app.Activity) -> onActivityStarted
+ 187:187:void onActivityStopped(android.app.Activity) -> onActivityStopped
+com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager -> com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager:
+ 45:53:void <clinit>() -> <clinit>
+ 48:64:void <init>(android.content.Context) -> <init>
+ 44:44:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat access$000(com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager) -> access$000
+ 67:75:com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager getInstance(android.content.Context) -> getInstance
+ 205:205:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat getScanCallback() -> getScanCallback
+ 176:176:boolean isAPI21ScanningDisabled() -> isAPI21ScanningDisabled
+ 201:201:boolean isBackgroundMode() -> isBackgroundMode
+ 117:117:boolean isScanning() -> isScanning
+ 86:91:void runOnUiThread(java.lang.Runnable) -> runOnUiThread
+ 191:198:void setBackgroundMode(boolean) -> setBackgroundMode
+ 105:106:void setScanCallbackCompat(com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> setScanCallbackCompat
+ 109:110:void setScanOverListener(com.blakequ.bluetooth_manager_lib.scan.ScanOverListener) -> setScanOverListener
+ 154:156:void startScanNow() -> startScanNow
+ 128:129:void stopCycleScan() -> stopCycleScan
+com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1 -> com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1:
+ 205:205:void <init>(com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager) -> <init>
+ 208:216:void onBatchScanResults(java.util.List) -> onBatchScanResults
+ 220:228:void onScanFailed(int) -> onScanFailed
+ 232:240:void onScanResult(int,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat) -> onScanResult
+com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1$1 -> com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1$1:
+ 209:209:void <init>(com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1,java.util.List) -> <init>
+ 212:213:void run() -> run
+com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1$2 -> com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1$2:
+ 221:221:void <init>(com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1,int) -> <init>
+ 224:225:void run() -> run
+com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1$3 -> com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1$3:
+ 233:233:void <init>(com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager$1,int,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat) -> <init>
+ 236:237:void run() -> run
+com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner -> com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner:
+ 41:68:void <init>(android.content.Context,long,long,boolean,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> <init>
+ 40:40:void access$000(com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner) -> access$000
+ 40:40:boolean access$100(com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner) -> access$100
+ 40:40:void access$200(com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner,boolean) -> access$200
+ 357:357:boolean checkLocationPermission() -> checkLocationPermission
+ 361:361:boolean checkPermission(java.lang.String) -> checkPermission
+ 302:321:boolean deferScanIfNeeded() -> deferScanIfNeeded
+ 330:339:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat getScanSettings() -> getScanSettings
+ 348:349:boolean isGpsProviderEnabled(android.content.Context) -> isGpsProviderEnabled
+ 177:177:boolean isScanning() -> isScanning
+ 189:246:void scanLeDevice(boolean) -> scanLeDevice
+ 250:268:void scheduleScanStop() -> scheduleScanStop
+ 133:174:void setBackgroundMode(long,long,boolean) -> setBackgroundMode
+ 101:107:void setPauseScan(boolean) -> setPauseScan
+ 75:76:void setScanOverListener(com.blakequ.bluetooth_manager_lib.scan.ScanOverListener) -> setScanOverListener
+ 121:124:void startScanNow() -> startScanNow
+ 271:295:void stopScan() -> stopScan
+com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner$1 -> com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner$1:
+ 257:257:void <init>(com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner) -> <init>
+ 260:261:void run() -> run
+com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner$2 -> com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner$2:
+ 310:310:void <init>(com.blakequ.bluetooth_manager_lib.scan.CycledLeScanner) -> <init>
+ 313:316:void run() -> run
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat:
+ 65:75:void <clinit>() -> <clinit>
+ 49:50:void startScan(android.bluetooth.BluetoothAdapter,java.util.List,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> startScan
+ 59:60:void stopScan(android.bluetooth.BluetoothAdapter,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> stopScan
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat$API18BluetoothLeScannerCompatImpl -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat$API18BluetoothLeScannerCompatImpl:
+ 146:146:void <clinit>() -> <clinit>
+ 145:145:void <init>() -> <init>
+ 178:185:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat$API18ScanCallback registerCallback(java.util.List,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> registerCallback
+ 158:159:void startScan(android.bluetooth.BluetoothAdapter,java.util.List,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> startScan
+ 170:175:void stopScan(android.bluetooth.BluetoothAdapter,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> stopScan
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat$API18ScanCallback -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat$API18ScanCallback:
+ 194:197:void <init>(java.util.List,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> <init>
+ 201:222:void onLeScan(android.bluetooth.BluetoothDevice,int,byte[]) -> onLeScan
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat$API21BluetoothLeScannerCompatImpl -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat$API21BluetoothLeScannerCompatImpl:
+ 89:89:void <clinit>() -> <clinit>
+ 88:88:void <init>() -> <init>
+ 133:140:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat$API21ScanCallback registerCallback(com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> registerCallback
+ 103:116:void startScan(android.bluetooth.BluetoothAdapter,java.util.List,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> startScan
+ 125:130:void stopScan(android.bluetooth.BluetoothAdapter,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> stopScan
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat$API21ScanCallback -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat$API21ScanCallback:
+ 230:232:void <init>(com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat) -> <init>
+ 244:251:void onBatchScanResults(java.util.List) -> onBatchScanResults
+ 255:259:void onScanFailed(int) -> onScanFailed
+ 236:240:void onScanResult(int,android.bluetooth.le.ScanResult) -> onScanResult
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothUuidCompat -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothUuidCompat:
+ 39:94:void <clinit>() -> <clinit>
+ 244:276:android.os.ParcelUuid parseUuidFrom(byte[]) -> parseUuidFrom
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ObjectsCompat -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ObjectsCompat:
+ 40:70:boolean deepEquals(java.lang.Object,java.lang.Object) -> deepEquals
+ 36:36:boolean equals(java.lang.Object,java.lang.Object) -> equals
+ 32:32:int hash(java.lang.Object[]) -> hash
+ 28:28:java.lang.String toString(java.lang.Object) -> toString
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat:
+ 27:27:void <init>() -> <init>
+ 78:78:void onBatchScanResults(java.util.List) -> onBatchScanResults
+ 87:87:void onScanFailed(int) -> onScanFailed
+ 69:69:void onScanResult(int,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat) -> onScanResult
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat:
+ 73:168:void <clinit>() -> <clinit>
+ 49:49:void <init>(java.lang.String,java.lang.String,android.os.ParcelUuid,android.os.ParcelUuid,android.os.ParcelUuid,byte[],byte[],int,byte[],byte[],com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$1) -> <init>
+ 78:89:void <init>(java.lang.String,java.lang.String,android.os.ParcelUuid,android.os.ParcelUuid,android.os.ParcelUuid,byte[],byte[],int,byte[],byte[]) -> <init>
+ 114:114:int describeContents() -> describeContents
+ 420:436:boolean equals(java.lang.Object) -> equals
+ 413:413:int hashCode() -> hashCode
+ 297:343:boolean matches(com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat) -> matches
+ 380:396:boolean matchesPartialData(byte[],byte[],byte[]) -> matchesPartialData
+ 367:375:boolean matchesServiceUuid(java.util.UUID,java.util.UUID,java.util.UUID) -> matchesServiceUuid
+ 349:362:boolean matchesServiceUuids(android.os.ParcelUuid,android.os.ParcelUuid,java.util.List) -> matchesServiceUuids
+ 93:109:android.bluetooth.le.ScanFilter toApi21() -> toApi21
+ 401:408:java.lang.String toString() -> toString
+ 119:162:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$1 -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$1:
+ 168:168:void <init>() -> <init>
+ 168:168:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 177:230:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat createFromParcel(android.os.Parcel) -> createFromParcel
+ 168:168:java.lang.Object[] newArray(int) -> newArray
+ 172:172:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat[] newArray(int) -> newArray
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$Builder -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$Builder:
+ 450:462:void <init>() -> <init>
+ 621:621:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat build() -> build
+ 483:487:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$Builder setDeviceAddress(java.lang.String) -> setDeviceAddress
+ 470:471:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$Builder setDeviceName(java.lang.String) -> setDeviceName
+ 572:578:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$Builder setManufacturerData(int,byte[]) -> setManufacturerData
+ 594:612:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$Builder setManufacturerData(int,byte[],byte[]) -> setManufacturerData
+ 522:528:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$Builder setServiceData(android.os.ParcelUuid,byte[]) -> setServiceData
+ 543:561:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$Builder setServiceData(android.os.ParcelUuid,byte[],byte[]) -> setServiceData
+ 494:496:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$Builder setServiceUuid(android.os.ParcelUuid) -> setServiceUuid
+ 508:513:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat$Builder setServiceUuid(android.os.ParcelUuid,android.os.ParcelUuid) -> setServiceUuid
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanRecordCompat -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanRecordCompat:
+ 158:166:void <init>(java.util.List,android.util.SparseArray,java.util.Map,int,int,java.lang.String,byte[]) -> <init>
+ 169:177:void <init>(android.bluetooth.le.ScanRecord) -> <init>
+ 305:307:byte[] extractBytes(byte[],int,int) -> extractBytes
+ 151:151:byte[] getBytes() -> getBytes
+ 144:144:java.lang.String getDeviceName() -> getDeviceName
+ 106:106:byte[] getManufacturerSpecificData(int) -> getManufacturerSpecificData
+ 122:125:byte[] getServiceData(android.os.ParcelUuid) -> getServiceData
+ 89:89:java.util.List getServiceUuids() -> getServiceUuids
+ 190:278:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanRecordCompat parseFromBytes(byte[]) -> parseFromBytes
+ 293:300:int parseServiceUuid(byte[],int,int,int,java.util.List) -> parseServiceUuid
+ 284:286:java.lang.String toString() -> toString
+ 314:326:java.lang.String toString(android.util.SparseArray) -> toString
+ 333:351:java.lang.String toString(java.util.Map) -> toString
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat:
+ 177:177:void <clinit>() -> <clinit>
+ 33:33:void <init>(android.os.Parcel,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat$1) -> <init>
+ 56:61:void <init>(android.bluetooth.BluetoothDevice,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanRecordCompat,int,long) -> <init>
+ 64:69:void <init>(android.bluetooth.le.ScanResult) -> <init>
+ 71:73:void <init>(android.os.Parcel) -> <init>
+ 108:108:int describeContents() -> describeContents
+ 158:166:boolean equals(java.lang.Object) -> equals
+ 123:126:android.bluetooth.BluetoothDevice getDevice() -> getDevice
+ 115:115:com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice getLeDevice() -> getLeDevice
+ 134:134:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanRecordCompat getScanRecord() -> getScanRecord
+ 153:153:int hashCode() -> hashCode
+ 96:104:void readFromParcel(android.os.Parcel) -> readFromParcel
+ 172:173:java.lang.String toString() -> toString
+ 77:93:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat$1 -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat$1:
+ 177:177:void <init>() -> <init>
+ 177:177:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 180:180:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat createFromParcel(android.os.Parcel) -> createFromParcel
+ 177:177:java.lang.Object[] newArray(int) -> newArray
+ 185:185:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat[] newArray(int) -> newArray
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat:
+ 112:112:void <clinit>() -> <clinit>
+ 29:29:void <init>(int,int,long,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat$1) -> <init>
+ 29:29:void <init>(android.os.Parcel,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat$1) -> <init>
+ 79:83:void <init>(int,int,long) -> <init>
+ 85:89:void <init>(android.os.Parcel) -> <init>
+ 108:108:int describeContents() -> describeContents
+ 75:75:long getReportDelayMillis() -> getReportDelayMillis
+ 64:64:int getScanMode() -> getScanMode
+ 93:96:android.bluetooth.le.ScanSettings toApi21() -> toApi21
+ 101:104:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat$1 -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat$1:
+ 112:112:void <init>() -> <init>
+ 112:112:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 120:120:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat createFromParcel(android.os.Parcel) -> createFromParcel
+ 112:112:java.lang.Object[] newArray(int) -> newArray
+ 115:115:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat[] newArray(int) -> newArray
+com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat$Builder -> com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat$Builder:
+ 127:130:void <init>() -> <init>
+ 173:173:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat build() -> build
+ 141:145:com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat$Builder setScanMode(int) -> setScanMode
+com.blakequ.bluetooth_manager_lib.util.BluetoothUtils -> com.blakequ.bluetooth_manager_lib.util.BluetoothUtils:
+ 21:21:void <clinit>() -> <clinit>
+ 23:37:void <init>(android.content.Context) -> <init>
+ 78:82:void askUserToEnableBluetoothIfNeeded(android.app.Activity) -> askUserToEnableBluetoothIfNeeded
+ 44:54:android.bluetooth.BluetoothAdapter getBluetoothAdapter() -> getBluetoothAdapter
+ 28:32:com.blakequ.bluetooth_manager_lib.util.BluetoothUtils getInstance(android.content.Context) -> getInstance
+ 61:65:boolean isBluetoothIsEnable() -> isBluetoothIsEnable
+ 89:89:boolean isBluetoothLeSupported(android.content.Context) -> isBluetoothLeSupported
+ 123:127:boolean isCharacteristicNotify(int) -> isCharacteristicNotify
+ 108:111:boolean isCharacteristicRead(int) -> isCharacteristicRead
+ 115:119:boolean isCharacteristicWrite(int) -> isCharacteristicWrite
+com.blakequ.bluetooth_manager_lib.util.ByteUtils -> com.blakequ.bluetooth_manager_lib.util.ByteUtils:
+ 30:44:java.lang.String byteArrayToHexString(byte[]) -> byteArrayToHexString
+ 55:65:boolean doesArrayBeginWith(byte[],byte[]) -> doesArrayBeginWith
+ 75:82:int getIntFrom2ByteArray(byte[]) -> getIntFrom2ByteArray
+ 94:94:int getIntFromByte(byte) -> getIntFromByte
+ 104:104:int getIntFromByteArray(byte[]) -> getIntFromByteArray
+ 124:132:void invertArray(byte[]) -> invertArray
+com.blakequ.bluetooth_manager_lib.util.LimitedLinkHashMap -> com.blakequ.bluetooth_manager_lib.util.LimitedLinkHashMap:
+ 11:13:void <init>(int) -> <init>
+ 17:17:boolean removeEldestEntry(java.util.Map$Entry) -> removeEldestEntry
+com.blankj.utilcode.util.AdaptScreenUtils -> com.blankj.utilcode.util.AdaptScreenUtils:
+ 20:20:void access$000() -> access$000
+ 101:104:void applyDisplayMetrics(android.content.res.Resources,float) -> applyDisplayMetrics
+ 148:156:void applyMetricsFields(android.content.res.Resources,float) -> applyMetricsFields
+ 120:145:void applyOtherDisplayMetrics(android.content.res.Resources,float) -> applyOtherDisplayMetrics
+ 160:162:android.util.DisplayMetrics getMetricsFromField(android.content.res.Resources,java.lang.reflect.Field) -> getMetricsFromField
+ 107:107:java.lang.Runnable getPreLoadRunnable() -> getPreLoadRunnable
+ 116:117:void preLoad() -> preLoad
+com.blankj.utilcode.util.AdaptScreenUtils$1 -> com.blankj.utilcode.util.AdaptScreenUtils$1:
+ 107:107:void <init>() -> <init>
+ 110:111:void run() -> run
+com.blankj.utilcode.util.AppUtils -> com.blankj.utilcode.util.AppUtils:
+ 523:523:int getAppVersionCode() -> getAppVersionCode
+ 533:540:int getAppVersionCode(java.lang.String) -> getAppVersionCode
+ 495:495:java.lang.String getAppVersionName() -> getAppVersionName
+ 506:513:java.lang.String getAppVersionName(java.lang.String) -> getAppVersionName
+com.blankj.utilcode.util.FileIOUtils -> com.blankj.utilcode.util.FileIOUtils:
+ 38:38:void <clinit>() -> <clinit>
+ 520:520:boolean writeFileFromString(java.lang.String,java.lang.String,boolean) -> writeFileFromString
+ 545:566:boolean writeFileFromString(java.io.File,java.lang.String,boolean) -> writeFileFromString
+com.blankj.utilcode.util.FileUtils -> com.blankj.utilcode.util.FileUtils:
+ 39:39:void <clinit>() -> <clinit>
+ 193:193:boolean createOrExistsDir(java.io.File) -> createOrExistsDir
+ 213:220:boolean createOrExistsFile(java.io.File) -> createOrExistsFile
+ 52:52:java.io.File getFileByPath(java.lang.String) -> getFileByPath
+com.blankj.utilcode.util.GsonUtils -> com.blankj.utilcode.util.GsonUtils:
+ 33:33:void <clinit>() -> <clinit>
+ 272:277:com.google.gson.Gson getGson4LogUtils() -> getGson4LogUtils
+com.blankj.utilcode.util.JsonUtils -> com.blankj.utilcode.util.JsonUtils:
+ 235:235:java.lang.String formatJson(java.lang.String) -> formatJson
+ 240:253:java.lang.String formatJson(java.lang.String,int) -> formatJson
+com.blankj.utilcode.util.KeyboardUtils -> com.blankj.utilcode.util.KeyboardUtils:
+ 183:183:void <clinit>() -> <clinit>
+ 330:331:void fixSoftInputLeaks(android.app.Activity) -> fixSoftInputLeaks
+ 340:362:void fixSoftInputLeaks(android.view.Window) -> fixSoftInputLeaks
+com.blankj.utilcode.util.LanguageUtils -> com.blankj.utilcode.util.LanguageUtils:
+ 231:247:void applyLanguage(android.app.Activity) -> applyLanguage
+ 304:305:java.util.Locale getLocal(android.content.res.Configuration) -> getLocal
+ 285:295:boolean isRightFormatLocalStr(java.lang.String) -> isRightFormatLocalStr
+ 312:317:void setLocal(android.content.res.Configuration,java.util.Locale) -> setLocal
+ 263:268:java.util.Locale string2Locale(java.lang.String) -> string2Locale
+ 272:280:java.util.Locale string2LocaleReal(java.lang.String) -> string2LocaleReal
+ 250:254:void updateConfiguration(android.content.Context,java.util.Locale) -> updateConfiguration
+com.blankj.utilcode.util.LogUtils -> com.blankj.utilcode.util.LogUtils:
+ 76:106:void <clinit>() -> <clinit>
+ 62:62:java.lang.String access$1000() -> access$1000
+ 62:62:androidx.collection.SimpleArrayMap access$1200() -> access$1200
+ 62:62:char[] access$1300() -> access$1300
+ 62:62:java.lang.String access$1400() -> access$1400
+ 62:62:java.lang.String access$1500(java.lang.Object) -> access$1500
+ 62:62:void access$300(int,java.lang.String,java.lang.String) -> access$300
+ 62:62:boolean access$400(java.lang.String) -> access$400
+ 537:549:boolean createOrExistsFile(java.lang.String,java.lang.String) -> createOrExistsFile
+ 125:126:void d(java.lang.Object[]) -> d
+ 554:586:void deleteDueLogs(java.lang.String,java.lang.String) -> deleteDueLogs
+ 149:150:void e(java.lang.Object[]) -> e
+ 593:598:java.lang.String findDate(java.lang.String) -> findDate
+ 354:357:java.lang.String formatObject(int,java.lang.Object) -> formatObject
+ 361:369:java.lang.String formatObject(java.lang.Object) -> formatObject
+ 1200:1229:java.lang.Class getClassFromObject(java.lang.Object) -> getClassFromObject
+ 521:525:java.lang.String getCurrentLogFilePath(java.util.Date) -> getCurrentLogFilePath
+ 314:327:java.lang.String getFileName(java.lang.StackTraceElement) -> getFileName
+ 530:533:java.text.SimpleDateFormat getSdf() -> getSdf
+ 133:134:void i(java.lang.Object[]) -> i
+ 607:615:void input2File(java.lang.String,java.lang.String) -> input2File
+ 589:589:boolean isMatchLogFileName(java.lang.String) -> isMatchLogFileName
+ 213:231:void log(int,java.lang.String,java.lang.Object[]) -> log
+ 376:384:void print2Console(int,java.lang.String,java.lang.String[],java.lang.String) -> print2Console
+ 495:499:void print2Console(int,java.lang.String,java.lang.String) -> print2Console
+ 502:518:void print2File(int,java.lang.String,java.lang.String) -> print2File
+ 387:390:void printBorder(int,java.lang.String,boolean) -> printBorder
+ 602:604:void printDeviceInfo(java.lang.String,java.lang.String) -> printDeviceInfo
+ 393:399:void printHead(int,java.lang.String,java.lang.String[]) -> printHead
+ 402:416:void printMsg(int,java.lang.String,java.lang.String) -> printMsg
+ 461:492:void printSingleTagMsg(int,java.lang.String,java.lang.String) -> printSingleTagMsg
+ 419:428:void printSubMsg(int,java.lang.String,java.lang.String) -> printSubMsg
+ 331:350:java.lang.String processBody(int,java.lang.Object[]) -> processBody
+ 434:457:java.lang.String processSingleTagMsg(int,java.lang.String,java.lang.String[],java.lang.String) -> processSingleTagMsg
+ 253:310:com.blankj.utilcode.util.LogUtils$TagHead processTagAndHead(java.lang.String) -> processTagAndHead
+ 141:142:void w(java.lang.Object[]) -> w
+com.blankj.utilcode.util.LogUtils$1 -> com.blankj.utilcode.util.LogUtils$1:
+ 223:223:void <init>(int,com.blankj.utilcode.util.LogUtils$TagHead,java.lang.String) -> <init>
+ 226:227:void run() -> run
+com.blankj.utilcode.util.LogUtils$3 -> com.blankj.utilcode.util.LogUtils$3:
+ 557:557:void <init>() -> <init>
+ 560:560:boolean accept(java.io.File,java.lang.String) -> accept
+com.blankj.utilcode.util.LogUtils$4 -> com.blankj.utilcode.util.LogUtils$4:
+ 572:572:void <init>(java.io.File) -> <init>
+ 575:579:void run() -> run
+com.blankj.utilcode.util.LogUtils$Config -> com.blankj.utilcode.util.LogUtils$Config:
+ 617:617:void <init>(com.blankj.utilcode.util.LogUtils$1) -> <init>
+ 620:648:void <init>() -> <init>
+ 617:617:int access$100(com.blankj.utilcode.util.LogUtils$Config) -> access$100
+ 617:617:int access$200(com.blankj.utilcode.util.LogUtils$Config) -> access$200
+ 617:617:boolean access$500(com.blankj.utilcode.util.LogUtils$Config) -> access$500
+ 617:617:com.blankj.utilcode.util.LogUtils$OnConsoleOutputListener access$600(com.blankj.utilcode.util.LogUtils$Config) -> access$600
+ 617:617:com.blankj.utilcode.util.UtilsBridge$FileHead access$700(com.blankj.utilcode.util.LogUtils$Config) -> access$700
+ 617:617:com.blankj.utilcode.util.LogUtils$IFileWriter access$800(com.blankj.utilcode.util.LogUtils$Config) -> access$800
+ 617:617:com.blankj.utilcode.util.LogUtils$OnFileOutputListener access$900(com.blankj.utilcode.util.LogUtils$Config) -> access$900
+ 835:835:char getConsoleFilter() -> getConsoleFilter
+ 794:794:java.lang.String getDir() -> getDir
+ 802:802:java.lang.String getFileExtension() -> getFileExtension
+ 839:839:char getFileFilter() -> getFileFilter
+ 798:798:java.lang.String getFilePrefix() -> getFilePrefix
+ 814:815:java.lang.String getGlobalTag() -> getGlobalTag
+ 785:786:java.lang.String getProcessName() -> getProcessName
+ 851:851:int getSaveDays() -> getSaveDays
+ 843:843:int getStackDeep() -> getStackDeep
+ 847:847:int getStackOffset() -> getStackOffset
+ 810:810:boolean isLog2ConsoleSwitch() -> isLog2ConsoleSwitch
+ 823:823:boolean isLog2FileSwitch() -> isLog2FileSwitch
+ 827:827:boolean isLogBorderSwitch() -> isLogBorderSwitch
+ 819:819:boolean isLogHeadSwitch() -> isLogHeadSwitch
+ 806:806:boolean isLogSwitch() -> isLogSwitch
+ 831:831:boolean isSingleTagSwitch() -> isSingleTagSwitch
+ 864:883:java.lang.String toString() -> toString
+com.blankj.utilcode.util.LogUtils$IFormatter -> com.blankj.utilcode.util.LogUtils$IFormatter:
+ 887:887:void <init>() -> <init>
+com.blankj.utilcode.util.LogUtils$LogFormatter -> com.blankj.utilcode.util.LogUtils$LogFormatter:
+ 1150:1169:java.lang.String array2String(java.lang.Object) -> array2String
+ 936:953:java.lang.String bundle2String(android.os.Bundle) -> bundle2String
+ 1068:1103:void clipData2String(android.content.ClipData,java.lang.StringBuilder) -> clipData2String
+ 1136:1146:java.lang.String formatXml(java.lang.String) -> formatXml
+ 957:1063:java.lang.String intent2String(android.content.Intent) -> intent2String
+ 1106:1112:java.lang.String object2Json(java.lang.Object) -> object2Json
+ 918:918:java.lang.String object2String(java.lang.Object) -> object2String
+ 922:932:java.lang.String object2String(java.lang.Object,int) -> object2String
+com.blankj.utilcode.util.LogUtils$TagHead -> com.blankj.utilcode.util.LogUtils$TagHead:
+ 908:912:void <init>(java.lang.String,java.lang.String[],java.lang.String) -> <init>
+com.blankj.utilcode.util.MessengerUtils -> com.blankj.utilcode.util.MessengerUtils:
+ 42:44:void <clinit>() -> <clinit>
+ 40:40:java.util.concurrent.ConcurrentHashMap access$000() -> access$000
+com.blankj.utilcode.util.MessengerUtils$ServerService -> com.blankj.utilcode.util.MessengerUtils$ServerService:
+ 270:295:void <init>() -> <init>
+ 270:270:java.util.concurrent.ConcurrentHashMap access$200(com.blankj.utilcode.util.MessengerUtils$ServerService) -> access$200
+ 270:270:void access$300(com.blankj.utilcode.util.MessengerUtils$ServerService,android.os.Message) -> access$300
+ 270:270:void access$400(com.blankj.utilcode.util.MessengerUtils$ServerService,android.os.Message) -> access$400
+ 339:349:void consumeServerProcessCallback(android.os.Message) -> consumeServerProcessCallback
+ 300:300:android.os.IBinder onBind(android.content.Intent) -> onBind
+ 305:321:int onStartCommand(android.content.Intent,int,int) -> onStartCommand
+ 325:336:void sendMsg2Client(android.os.Message) -> sendMsg2Client
+com.blankj.utilcode.util.MessengerUtils$ServerService$1 -> com.blankj.utilcode.util.MessengerUtils$ServerService$1:
+ 275:275:void <init>(com.blankj.utilcode.util.MessengerUtils$ServerService) -> <init>
+ 278:292:void handleMessage(android.os.Message) -> handleMessage
+com.blankj.utilcode.util.NetworkUtils -> com.blankj.utilcode.util.NetworkUtils:
+ 765:765:void <clinit>() -> <clinit>
+ 515:517:android.net.NetworkInfo getActiveNetworkInfo() -> getActiveNetworkInfo
+ 441:490:com.blankj.utilcode.util.NetworkUtils$NetworkType getNetworkType() -> getNetworkType
+ 503:509:boolean isEthernet() -> isEthernet
+com.blankj.utilcode.util.NetworkUtils$NetworkChangedReceiver -> com.blankj.utilcode.util.NetworkUtils$NetworkChangedReceiver:
+ 867:874:void <init>() -> <init>
+ 867:867:com.blankj.utilcode.util.NetworkUtils$NetworkType access$1000(com.blankj.utilcode.util.NetworkUtils$NetworkChangedReceiver) -> access$1000
+ 867:867:com.blankj.utilcode.util.NetworkUtils$NetworkType access$1002(com.blankj.utilcode.util.NetworkUtils$NetworkChangedReceiver,com.blankj.utilcode.util.NetworkUtils$NetworkType) -> access$1002
+ 867:867:java.util.Set access$900(com.blankj.utilcode.util.NetworkUtils$NetworkChangedReceiver) -> access$900
+ 915:936:void onReceive(android.content.Context,android.content.Intent) -> onReceive
+com.blankj.utilcode.util.NetworkUtils$NetworkChangedReceiver$3 -> com.blankj.utilcode.util.NetworkUtils$NetworkChangedReceiver$3:
+ 917:917:void <init>(com.blankj.utilcode.util.NetworkUtils$NetworkChangedReceiver) -> <init>
+ 921:933:void run() -> run
+com.blankj.utilcode.util.NetworkUtils$NetworkType -> com.blankj.utilcode.util.NetworkUtils$NetworkType:
+ 60:68:void <clinit>() -> <clinit>
+ 60:60:void <init>(java.lang.String,int) -> <init>
+ 60:60:com.blankj.utilcode.util.NetworkUtils$NetworkType valueOf(java.lang.String) -> valueOf
+ 60:60:com.blankj.utilcode.util.NetworkUtils$NetworkType[] values() -> values
+com.blankj.utilcode.util.NotificationUtils -> com.blankj.utilcode.util.NotificationUtils:
+ 100:114:android.app.Notification getNotification(com.blankj.utilcode.util.NotificationUtils$ChannelConfig,com.blankj.utilcode.util.Utils$Consumer) -> getNotification
+com.blankj.utilcode.util.NotificationUtils$ChannelConfig -> com.blankj.utilcode.util.NotificationUtils$ChannelConfig:
+ 175:176:void <clinit>() -> <clinit>
+ 181:185:void <init>(java.lang.String,java.lang.CharSequence,int) -> <init>
+ 173:173:android.app.NotificationChannel access$000(com.blankj.utilcode.util.NotificationUtils$ChannelConfig) -> access$000
+ 188:188:android.app.NotificationChannel getNotificationChannel() -> getNotificationChannel
+com.blankj.utilcode.util.ProcessUtils -> com.blankj.utilcode.util.ProcessUtils:
+ 213:218:java.lang.String getCurrentProcessName() -> getCurrentProcessName
+ 236:251:java.lang.String getCurrentProcessNameByAms() -> getCurrentProcessNameByAms
+ 223:230:java.lang.String getCurrentProcessNameByFile() -> getCurrentProcessNameByFile
+ 255:271:java.lang.String getCurrentProcessNameByReflect() -> getCurrentProcessNameByReflect
+com.blankj.utilcode.util.RomUtils -> com.blankj.utilcode.util.RomUtils:
+ 26:58:void <clinit>() -> <clinit>
+ 357:362:java.lang.String getBrand() -> getBrand
+ 347:352:java.lang.String getManufacturer() -> getManufacturer
+ 250:333:com.blankj.utilcode.util.RomUtils$RomInfo getRomInfo() -> getRomInfo
+ 366:381:java.lang.String getRomVersion(java.lang.String) -> getRomVersion
+ 385:392:java.lang.String getSystemProperty(java.lang.String) -> getSystemProperty
+ 431:435:java.lang.String getSystemPropertyByReflect(java.lang.String) -> getSystemPropertyByReflect
+ 397:413:java.lang.String getSystemPropertyByShell(java.lang.String) -> getSystemPropertyByShell
+ 418:425:java.lang.String getSystemPropertyByStream(java.lang.String) -> getSystemPropertyByStream
+ 337:342:boolean isRightRom(java.lang.String,java.lang.String,java.lang.String[]) -> isRightRom
+com.blankj.utilcode.util.RomUtils$RomInfo -> com.blankj.utilcode.util.RomUtils$RomInfo:
+ 438:438:void <init>() -> <init>
+ 438:438:java.lang.String access$002(com.blankj.utilcode.util.RomUtils$RomInfo,java.lang.String) -> access$002
+ 438:438:java.lang.String access$102(com.blankj.utilcode.util.RomUtils$RomInfo,java.lang.String) -> access$102
+ 452:452:java.lang.String toString() -> toString
+com.blankj.utilcode.util.SDCardUtils -> com.blankj.utilcode.util.SDCardUtils:
+ 35:35:boolean isSDCardEnableByEnvironment() -> isSDCardEnableByEnvironment
+com.blankj.utilcode.util.SPUtils -> com.blankj.utilcode.util.SPUtils:
+ 24:24:void <clinit>() -> <clinit>
+ 83:85:void <init>(java.lang.String,int) -> <init>
+ 54:54:com.blankj.utilcode.util.SPUtils getInstance(java.lang.String) -> getInstance
+ 65:76:com.blankj.utilcode.util.SPUtils getInstance(java.lang.String,int) -> getInstance
+ 120:120:java.lang.String getString(java.lang.String) -> getString
+ 131:131:java.lang.String getString(java.lang.String,java.lang.String) -> getString
+ 438:444:boolean isSpace(java.lang.String) -> isSpace
+ 398:399:void remove(java.lang.String) -> remove
+ 409:414:void remove(java.lang.String,boolean) -> remove
+com.blankj.utilcode.util.ScreenUtils -> com.blankj.utilcode.util.ScreenUtils:
+ 78:82:int getAppScreenWidth() -> getAppScreenWidth
+com.blankj.utilcode.util.SizeUtils -> com.blankj.utilcode.util.SizeUtils:
+ 30:31:int dp2px(float) -> dp2px
+com.blankj.utilcode.util.SnackbarUtils -> com.blankj.utilcode.util.SnackbarUtils:
+ 65:68:void <init>(android.view.View) -> <init>
+ 374:395:android.view.ViewGroup findSuitableParentCopyFromSnackbar(android.view.View) -> findSuitableParentCopyFromSnackbar
+ 71:79:void setDefault() -> setDefault
+ 147:148:com.blankj.utilcode.util.SnackbarUtils setDuration(int) -> setDuration
+ 98:99:com.blankj.utilcode.util.SnackbarUtils setMessage(java.lang.CharSequence) -> setMessage
+ 195:195:com.google.android.material.snackbar.Snackbar show() -> show
+ 204:257:com.google.android.material.snackbar.Snackbar show(boolean) -> show
+ 88:88:com.blankj.utilcode.util.SnackbarUtils with(android.view.View) -> with
+com.blankj.utilcode.util.StringUtils -> com.blankj.utilcode.util.StringUtils:
+ 51:57:boolean isSpace(java.lang.String) -> isSpace
+com.blankj.utilcode.util.ThreadUtils -> com.blankj.utilcode.util.ThreadUtils:
+ 39:46:void <clinit>() -> <clinit>
+ 37:37:int access$200() -> access$200
+ 37:37:java.util.concurrent.Executor access$600() -> access$600
+ 37:37:java.util.Map access$700() -> access$700
+ 923:924:void execute(java.util.concurrent.ExecutorService,com.blankj.utilcode.util.ThreadUtils$Task) -> execute
+ 943:972:void execute(java.util.concurrent.ExecutorService,com.blankj.utilcode.util.ThreadUtils$Task,long,long,java.util.concurrent.TimeUnit) -> execute
+ 334:335:void executeBySingle(com.blankj.utilcode.util.ThreadUtils$Task) -> executeBySingle
+ 137:137:java.util.concurrent.ExecutorService getCachedPool() -> getCachedPool
+ 1381:1389:java.util.concurrent.Executor getGlobalDeliver() -> getGlobalDeliver
+ 975:975:java.util.concurrent.ExecutorService getPoolByTypeAndPriority(int) -> getPoolByTypeAndPriority
+ 979:995:java.util.concurrent.ExecutorService getPoolByTypeAndPriority(int,int) -> getPoolByTypeAndPriority
+ 69:74:void runOnUiThread(java.lang.Runnable) -> runOnUiThread
+ 77:78:void runOnUiThreadDelayed(java.lang.Runnable,long) -> runOnUiThreadDelayed
+com.blankj.utilcode.util.ThreadUtils$1 -> com.blankj.utilcode.util.ThreadUtils$1:
+ 954:954:void <init>(java.util.concurrent.ExecutorService,com.blankj.utilcode.util.ThreadUtils$Task) -> <init>
+ 957:958:void run() -> run
+com.blankj.utilcode.util.ThreadUtils$2 -> com.blankj.utilcode.util.ThreadUtils$2:
+ 964:964:void <init>(java.util.concurrent.ExecutorService,com.blankj.utilcode.util.ThreadUtils$Task) -> <init>
+ 967:968:void run() -> run
+com.blankj.utilcode.util.ThreadUtils$3 -> com.blankj.utilcode.util.ThreadUtils$3:
+ 1382:1382:void <init>() -> <init>
+ 1385:1386:void execute(java.lang.Runnable) -> execute
+com.blankj.utilcode.util.ThreadUtils$LinkedBlockingQueue4Util -> com.blankj.utilcode.util.ThreadUtils$LinkedBlockingQueue4Util:
+ 1081:1085:void <init>() -> <init>
+ 1081:1092:void <init>(boolean) -> <init>
+ 1077:1077:com.blankj.utilcode.util.ThreadUtils$ThreadPoolExecutor4Util access$302(com.blankj.utilcode.util.ThreadUtils$LinkedBlockingQueue4Util,com.blankj.utilcode.util.ThreadUtils$ThreadPoolExecutor4Util) -> access$302
+ 1077:1077:boolean offer(java.lang.Object) -> offer
+ 1101:1106:boolean offer(java.lang.Runnable) -> offer
+com.blankj.utilcode.util.ThreadUtils$SimpleTask -> com.blankj.utilcode.util.ThreadUtils$SimpleTask:
+ 1154:1154:void <init>() -> <init>
+ 1163:1164:void onFail(java.lang.Throwable) -> onFail
+com.blankj.utilcode.util.ThreadUtils$Task -> com.blankj.utilcode.util.ThreadUtils$Task:
+ 1168:1178:void <init>() -> <init>
+ 1168:1168:void access$000(com.blankj.utilcode.util.ThreadUtils$Task,boolean) -> access$000
+ 1168:1168:com.blankj.utilcode.util.ThreadUtils$Task$OnTimeoutListener access$400(com.blankj.utilcode.util.ThreadUtils$Task) -> access$400
+ 1168:1168:void access$500(com.blankj.utilcode.util.ThreadUtils$Task) -> access$500
+ 1322:1325:java.util.concurrent.Executor getDeliver() -> getDeliver
+ 1300:1300:boolean isDone() -> isDone
+ 1330:1336:void onDone() -> onDone
+ 1199:1258:void run() -> run
+ 1318:1319:void setSchedule(boolean) -> setSchedule
+ 1285:1292:void timeout() -> timeout
+com.blankj.utilcode.util.ThreadUtils$Task$1 -> com.blankj.utilcode.util.ThreadUtils$Task$1:
+ 1214:1214:void <init>(com.blankj.utilcode.util.ThreadUtils$Task) -> <init>
+ 1217:1222:void run() -> run
+com.blankj.utilcode.util.ThreadUtils$Task$2 -> com.blankj.utilcode.util.ThreadUtils$Task$2:
+ 1230:1230:void <init>(com.blankj.utilcode.util.ThreadUtils$Task,java.lang.Object) -> <init>
+ 1233:1234:void run() -> run
+com.blankj.utilcode.util.ThreadUtils$Task$3 -> com.blankj.utilcode.util.ThreadUtils$Task$3:
+ 1238:1238:void <init>(com.blankj.utilcode.util.ThreadUtils$Task,java.lang.Object) -> <init>
+ 1241:1243:void run() -> run
+com.blankj.utilcode.util.ThreadUtils$Task$4 -> com.blankj.utilcode.util.ThreadUtils$Task$4:
+ 1250:1250:void <init>(com.blankj.utilcode.util.ThreadUtils$Task,java.lang.Throwable) -> <init>
+ 1253:1255:void run() -> run
+com.blankj.utilcode.util.ThreadUtils$ThreadPoolExecutor4Util -> com.blankj.utilcode.util.ThreadUtils$ThreadPoolExecutor4Util:
+ 1035:1050:void <init>(int,int,long,java.util.concurrent.TimeUnit,com.blankj.utilcode.util.ThreadUtils$LinkedBlockingQueue4Util,java.util.concurrent.ThreadFactory) -> <init>
+ 998:998:java.util.concurrent.ExecutorService access$100(int,int) -> access$100
+ 1058:1060:void afterExecute(java.lang.Runnable,java.lang.Throwable) -> afterExecute
+ 1001:1027:java.util.concurrent.ExecutorService createPool(int,int) -> createPool
+ 1064:1074:void execute(java.lang.Runnable) -> execute
+com.blankj.utilcode.util.ThreadUtils$UtilsThreadFactory -> com.blankj.utilcode.util.ThreadUtils$UtilsThreadFactory:
+ 1112:1112:void <clinit>() -> <clinit>
+ 1119:1120:void <init>(java.lang.String,int) -> <init>
+ 1122:1128:void <init>(java.lang.String,int,boolean) -> <init>
+ 1132:1150:java.lang.Thread newThread(java.lang.Runnable) -> newThread
+com.blankj.utilcode.util.ThreadUtils$UtilsThreadFactory$1 -> com.blankj.utilcode.util.ThreadUtils$UtilsThreadFactory$1:
+ 1132:1132:void <init>(com.blankj.utilcode.util.ThreadUtils$UtilsThreadFactory,java.lang.Runnable,java.lang.String) -> <init>
+ 1136:1140:void run() -> run
+com.blankj.utilcode.util.ThreadUtils$UtilsThreadFactory$2 -> com.blankj.utilcode.util.ThreadUtils$UtilsThreadFactory$2:
+ 1143:1143:void <init>(com.blankj.utilcode.util.ThreadUtils$UtilsThreadFactory) -> <init>
+ 1146:1147:void uncaughtException(java.lang.Thread,java.lang.Throwable) -> uncaughtException
+com.blankj.utilcode.util.ThrowableUtils -> com.blankj.utilcode.util.ThrowableUtils:
+ 19:19:void <clinit>() -> <clinit>
+ 26:51:java.lang.String getFullStackTrace(java.lang.Throwable) -> getFullStackTrace
+ 55:73:java.util.List getStackFrameList(java.lang.Throwable) -> getStackFrameList
+ 77:90:void removeCommonFrames(java.util.List,java.util.List) -> removeCommonFrames
+com.blankj.utilcode.util.ToastUtils$UtilsMaxWidthRelativeLayout -> com.blankj.utilcode.util.ToastUtils$UtilsMaxWidthRelativeLayout:
+ 891:891:void <clinit>() -> <clinit>
+ 894:895:void <init>(android.content.Context) -> <init>
+ 898:899:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 902:903:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 907:909:void onMeasure(int,int) -> onMeasure
+com.blankj.utilcode.util.Utils -> com.blankj.utilcode.util.Utils:
+ 70:74:android.app.Application getApp() -> getApp
+ 46:60:void init(android.app.Application) -> init
+com.blankj.utilcode.util.Utils$ActivityLifecycleCallbacks -> com.blankj.utilcode.util.Utils$ActivityLifecycleCallbacks:
+ 103:103:void <init>() -> <init>
+ 105:105:void onActivityCreated(android.app.Activity) -> onActivityCreated
+ 115:115:void onActivityDestroyed(android.app.Activity) -> onActivityDestroyed
+ 111:111:void onActivityPaused(android.app.Activity) -> onActivityPaused
+ 109:109:void onActivityResumed(android.app.Activity) -> onActivityResumed
+ 107:107:void onActivityStarted(android.app.Activity) -> onActivityStarted
+ 113:113:void onActivityStopped(android.app.Activity) -> onActivityStopped
+ 117:117:void onLifecycleChanged(android.app.Activity,androidx.lifecycle.Lifecycle$Event) -> onLifecycleChanged
+com.blankj.utilcode.util.UtilsActivityLifecycleImpl -> com.blankj.utilcode.util.UtilsActivityLifecycleImpl:
+ 33:40:void <clinit>() -> <clinit>
+ 31:44:void <init>() -> <init>
+ 148:150:void consumeActivityLifecycleCallbacks(android.app.Activity,androidx.lifecycle.Lifecycle$Event) -> consumeActivityLifecycleCallbacks
+ 153:173:void consumeLifecycle(android.app.Activity,androidx.lifecycle.Lifecycle$Event,java.util.List) -> consumeLifecycle
+ 400:402:java.lang.Object getActivityThread() -> getActivityThread
+ 407:413:java.lang.Object getActivityThreadInActivityThreadStaticField() -> getActivityThreadInActivityThreadStaticField
+ 419:423:java.lang.Object getActivityThreadInActivityThreadStaticMethod() -> getActivityThreadInActivityThreadStaticMethod
+ 177:186:android.app.Application getApplicationByReflect() -> getApplicationByReflect
+ 47:48:void init(android.app.Application) -> init
+ 197:204:void onActivityCreated(android.app.Activity,android.os.Bundle) -> onActivityCreated
+ 291:294:void onActivityDestroyed(android.app.Activity) -> onActivityDestroyed
+ 250:251:void onActivityPaused(android.app.Activity) -> onActivityPaused
+ 233:240:void onActivityResumed(android.app.Activity) -> onActivityResumed
+ 281:281:void onActivitySaveInstanceState(android.app.Activity,android.os.Bundle) -> onActivitySaveInstanceState
+ 214:223:void onActivityStarted(android.app.Activity) -> onActivityStarted
+ 261:272:void onActivityStopped(android.app.Activity) -> onActivityStopped
+ 336:344:void postStatus(android.app.Activity,boolean) -> postStatus
+ 309:333:void processHideSoftInputOnActivityDestroy(android.app.Activity,boolean) -> processHideSoftInputOnActivityDestroy
+ 431:449:void setAnimatorsEnabled() -> setAnimatorsEnabled
+ 347:355:void setTopActivity(android.app.Activity) -> setTopActivity
+ 51:53:void unInit(android.app.Application) -> unInit
+com.blankj.utilcode.util.UtilsActivityLifecycleImpl$4 -> com.blankj.utilcode.util.UtilsActivityLifecycleImpl$4:
+ 318:318:void <init>(com.blankj.utilcode.util.UtilsActivityLifecycleImpl,android.app.Activity,java.lang.Object) -> <init>
+ 322:328:void run() -> run
+com.blankj.utilcode.util.UtilsBridge -> com.blankj.utilcode.util.UtilsBridge:
+ 297:297:boolean createOrExistsDir(java.io.File) -> createOrExistsDir
+ 293:293:boolean createOrExistsFile(java.io.File) -> createOrExistsFile
+ 499:499:int dp2px(float) -> dp2px
+ 422:423:void fixSoftInputLeaks(android.app.Activity) -> fixSoftInputLeaks
+ 415:415:java.lang.String formatJson(java.lang.String) -> formatJson
+ 471:471:int getAppScreenWidth() -> getAppScreenWidth
+ 104:104:android.app.Application getApplicationByReflect() -> getApplicationByReflect
+ 457:457:java.lang.String getCurrentProcessName() -> getCurrentProcessName
+ 285:285:java.io.File getFileByPath(java.lang.String) -> getFileByPath
+ 565:565:java.lang.String getFullStackTrace(java.lang.Throwable) -> getFullStackTrace
+ 328:328:com.google.gson.Gson getGson4LogUtils() -> getGson4LogUtils
+ 430:430:android.app.Notification getNotification(com.blankj.utilcode.util.NotificationUtils$ChannelConfig,com.blankj.utilcode.util.Utils$Consumer) -> getNotification
+ 518:518:com.blankj.utilcode.util.SPUtils getSpUtils4Utils() -> getSpUtils4Utils
+ 51:52:void init(android.app.Application) -> init
+ 478:478:boolean isSDCardEnableByEnvironment() -> isSDCardEnableByEnvironment
+ 525:525:boolean isSpace(java.lang.String) -> isSpace
+ 59:60:void preLoad() -> preLoad
+ 587:590:void preLoad(java.lang.Runnable[]) -> preLoad
+ 558:559:void runOnUiThreadDelayed(java.lang.Runnable,long) -> runOnUiThreadDelayed
+ 55:56:void unInit(android.app.Application) -> unInit
+ 270:270:boolean writeFileFromString(java.lang.String,java.lang.String,boolean) -> writeFileFromString
+com.blankj.utilcode.util.UtilsBridge$FileHead -> com.blankj.utilcode.util.UtilsBridge$FileHead:
+ 622:627:void <init>(java.lang.String) -> <init>
+ 630:631:void addFirst(java.lang.String,java.lang.String) -> addFirst
+ 651:659:void append2Host(java.util.Map,java.lang.String,java.lang.String) -> append2Host
+ 662:666:java.lang.String getAppended() -> getAppended
+ 671:687:java.lang.String toString() -> toString
+com.blankj.utilcode.util.UtilsFileProvider -> com.blankj.utilcode.util.UtilsFileProvider:
+ 15:15:void <init>() -> <init>
+ 20:21:boolean onCreate() -> onCreate
+com.blankj.utilcode.util.UtilsTransActivity -> com.blankj.utilcode.util.UtilsTransActivity:
+ 26:26:void <clinit>() -> <clinit>
+ 24:24:void <init>() -> <init>
+ 152:157:boolean dispatchTouchEvent(android.view.MotionEvent) -> dispatchTouchEvent
+ 144:148:void onActivityResult(int,int,android.content.Intent) -> onActivityResult
+ 70:82:void onCreate(android.os.Bundle) -> onCreate
+ 127:132:void onDestroy() -> onDestroy
+ 102:107:void onPause() -> onPause
+ 136:140:void onRequestPermissionsResult(int,java.lang.String[],int[]) -> onRequestPermissionsResult
+ 94:98:void onResume() -> onResume
+ 119:123:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 86:90:void onStart() -> onStart
+ 111:115:void onStop() -> onStop
+com.blankj.utilcode.util.UtilsTransActivity$TransActivityDelegate -> com.blankj.utilcode.util.UtilsTransActivity$TransActivityDelegate:
+ 160:160:void <init>() -> <init>
+ 182:182:boolean dispatchTouchEvent(com.blankj.utilcode.util.UtilsTransActivity,android.view.MotionEvent) -> dispatchTouchEvent
+ 179:179:void onActivityResult(com.blankj.utilcode.util.UtilsTransActivity,int,int,android.content.Intent) -> onActivityResult
+ 161:161:void onCreateBefore(com.blankj.utilcode.util.UtilsTransActivity,android.os.Bundle) -> onCreateBefore
+ 163:163:void onCreated(com.blankj.utilcode.util.UtilsTransActivity,android.os.Bundle) -> onCreated
+ 167:167:void onDestroy(com.blankj.utilcode.util.UtilsTransActivity) -> onDestroy
+ 171:171:void onPaused(com.blankj.utilcode.util.UtilsTransActivity) -> onPaused
+ 177:177:void onRequestPermissionsResult(com.blankj.utilcode.util.UtilsTransActivity,int,java.lang.String[],int[]) -> onRequestPermissionsResult
+ 169:169:void onResumed(com.blankj.utilcode.util.UtilsTransActivity) -> onResumed
+ 175:175:void onSaveInstanceState(com.blankj.utilcode.util.UtilsTransActivity,android.os.Bundle) -> onSaveInstanceState
+ 165:165:void onStarted(com.blankj.utilcode.util.UtilsTransActivity) -> onStarted
+ 173:173:void onStopped(com.blankj.utilcode.util.UtilsTransActivity) -> onStopped
+com.blankj.utilcode.util.UtilsTransActivity4MainProcess -> com.blankj.utilcode.util.UtilsTransActivity4MainProcess:
+ 14:14:void <init>() -> <init>
+com.chad.library.DataBinderMapperImpl -> com.chad.library.DataBinderMapperImpl:
+ 19:22:void <clinit>() -> <clinit>
+ 18:18:void <init>() -> <init>
+ 70:72:java.util.List collectDependencies() -> collectDependencies
+ 64:65:java.lang.String convertBrIdToString(int) -> convertBrIdToString
+ 26:33:androidx.databinding.ViewDataBinding getDataBinder(androidx.databinding.DataBindingComponent,android.view.View,int) -> getDataBinder
+ 38:50:androidx.databinding.ViewDataBinding getDataBinder(androidx.databinding.DataBindingComponent,android.view.View[],int) -> getDataBinder
+ 55:59:int getLayoutId(java.lang.String) -> getLayoutId
+com.chad.library.DataBinderMapperImpl$InnerBrLookup -> com.chad.library.DataBinderMapperImpl$InnerBrLookup:
+ 76:80:void <clinit>() -> <clinit>
+com.chad.library.DataBinderMapperImpl$InnerLayoutIdLookup -> com.chad.library.DataBinderMapperImpl$InnerLayoutIdLookup:
+ 84:87:void <clinit>() -> <clinit>
+com.chad.library.adapter.base.BaseDelegateMultiAdapter -> com.chad.library.adapter.base.BaseDelegateMultiAdapter:
+# {"id":"sourceFile","fileName":"BaseDelegateMultiAdapter.kt"}
+ 19:19:void <init>(java.util.List,int,kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+ 19:19:void <init>(java.util.List):19 -> <init>
+ 20:20:void <init>(java.util.List) -> <init>
+ 19:19:void <init>(java.util.List,int,kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+ 42:44:int getDefItemViewType(int) -> getDefItemViewType
+ 32:32:com.chad.library.adapter.base.delegate.BaseMultiTypeDelegate getMultiTypeDelegate() -> getMultiTypeDelegate
+ 35:38:com.chad.library.adapter.base.viewholder.BaseViewHolder onCreateDefViewHolder(android.view.ViewGroup,int) -> onCreateDefViewHolder
+com.chad.library.adapter.base.BaseMultiItemQuickAdapter -> com.chad.library.adapter.base.BaseMultiItemQuickAdapter:
+# {"id":"sourceFile","fileName":"BaseMultiItemQuickAdapter.kt"}
+ 20:20:void <init>(java.util.List,int,kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+ 20:20:void <init>(java.util.List):20 -> <init>
+ 21:23:void <init>(java.util.List) -> <init>
+ 20:20:void <init>(java.util.List,int,kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+ 26:26:int getDefItemViewType(int) -> getDefItemViewType
+ 30:32:com.chad.library.adapter.base.viewholder.BaseViewHolder onCreateDefViewHolder(android.view.ViewGroup,int) -> onCreateDefViewHolder
+com.chad.library.adapter.base.BaseMultiItemQuickAdapter$layouts$2 -> com.chad.library.adapter.base.BaseMultiItemQuickAdapter$layouts$2:
+# {"id":"sourceFile","fileName":"BaseMultiItemQuickAdapter.kt"}
+ 20:20:java.lang.Object invoke() -> invoke
+ 23:23:android.util.SparseIntArray invoke() -> invoke
+com.chad.library.adapter.base.BaseNodeAdapter -> com.chad.library.adapter.base.BaseNodeAdapter:
+# {"id":"sourceFile","fileName":"BaseNodeAdapter.kt"}
+ 13:13:void <init>(java.util.List,int,kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+ 13:13:void <init>(java.util.List):13 -> <init>
+ 14:23:void <init>(java.util.List) -> <init>
+ 13:13:void <init>(java.util.List,int,kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+ 393:424:java.util.List flatData(java.util.Collection,java.lang.Boolean) -> flatData
+ 0:392:java.util.List flatData$default(com.chad.library.adapter.base.BaseNodeAdapter,java.util.Collection,java.lang.Boolean,int,java.lang.Object) -> flatData$default
+ 65:65:boolean isFixedViewType(int) -> isFixedViewType
+ 69:73:com.chad.library.adapter.base.viewholder.BaseViewHolder onCreateDefViewHolder(android.view.ViewGroup,int) -> onCreateDefViewHolder
+com.chad.library.adapter.base.BaseProviderMultiAdapter -> com.chad.library.adapter.base.BaseProviderMultiAdapter:
+# {"id":"sourceFile","fileName":"BaseProviderMultiAdapter.kt"}
+ 21:21:android.util.SparseArray access$getMItemProviders$p(com.chad.library.adapter.base.BaseProviderMultiAdapter) -> <init>
+ 21:21:void <init>(java.util.List):21 -> <init>
+ 22:24:void <init>(java.util.List) -> <init>
+ 21:21:android.util.SparseArray access$getMItemProviders$p(com.chad.library.adapter.base.BaseProviderMultiAdapter) -> <init>
+ 21:21:void <init>(java.util.List,int,kotlin.jvm.internal.DefaultConstructorMarker):21 -> <init>
+ 21:21:android.util.SparseArray access$getMItemProviders$p(com.chad.library.adapter.base.BaseProviderMultiAdapter) -> access$getMItemProviders$p
+ 117:160:void bindChildClick(com.chad.library.adapter.base.viewholder.BaseViewHolder,int) -> bindChildClick
+ 83:114:void bindClick(com.chad.library.adapter.base.viewholder.BaseViewHolder) -> bindClick
+ 65:68:void bindViewClickListener(com.chad.library.adapter.base.viewholder.BaseViewHolder,int) -> bindViewClickListener
+ 57:58:void convert(com.chad.library.adapter.base.viewholder.BaseViewHolder,java.lang.Object) -> convert
+ 61:62:void convert(com.chad.library.adapter.base.viewholder.BaseViewHolder,java.lang.Object,java.util.List) -> convert
+ 53:53:int getDefItemViewType(int) -> getDefItemViewType
+ 79:79:com.chad.library.adapter.base.provider.BaseItemProvider getItemProvider(int) -> getItemProvider
+ 44:49:com.chad.library.adapter.base.viewholder.BaseViewHolder onCreateDefViewHolder(android.view.ViewGroup,int) -> onCreateDefViewHolder
+com.chad.library.adapter.base.BaseProviderMultiAdapter$bindChildClick$$inlined$forEach$lambda$1 -> com.chad.library.adapter.base.BaseProviderMultiAdapter$bindChildClick$$inlined$forEach$lambda$1:
+# {"id":"sourceFile","fileName":"BaseProviderMultiAdapter.kt"}
+ 126:132:void onClick(android.view.View) -> onClick
+com.chad.library.adapter.base.BaseProviderMultiAdapter$bindChildClick$$inlined$forEach$lambda$2 -> com.chad.library.adapter.base.BaseProviderMultiAdapter$bindChildClick$$inlined$forEach$lambda$2:
+# {"id":"sourceFile","fileName":"BaseProviderMultiAdapter.kt"}
+ 145:150:boolean onLongClick(android.view.View) -> onLongClick
+com.chad.library.adapter.base.BaseProviderMultiAdapter$bindClick$1 -> com.chad.library.adapter.base.BaseProviderMultiAdapter$bindClick$1:
+# {"id":"sourceFile","fileName":"BaseProviderMultiAdapter.kt"}
+ 87:97:void onClick(android.view.View) -> onClick
+com.chad.library.adapter.base.BaseProviderMultiAdapter$bindClick$2 -> com.chad.library.adapter.base.BaseProviderMultiAdapter$bindClick$2:
+# {"id":"sourceFile","fileName":"BaseProviderMultiAdapter.kt"}
+ 103:111:boolean onLongClick(android.view.View) -> onLongClick
+com.chad.library.adapter.base.BaseProviderMultiAdapter$mItemProviders$2 -> com.chad.library.adapter.base.BaseProviderMultiAdapter$mItemProviders$2:
+# {"id":"sourceFile","fileName":"BaseProviderMultiAdapter.kt"}
+ 21:21:java.lang.Object invoke() -> invoke
+ 24:24:android.util.SparseArray invoke() -> invoke
+com.chad.library.adapter.base.BaseQuickAdapter -> com.chad.library.adapter.base.BaseQuickAdapter:
+# {"id":"sourceFile","fileName":"BaseQuickAdapter.kt"}
+ 75:466:void <init>(int,java.util.List) -> <init>
+ 74:74:void access$setMEmptyLayout$p(com.chad.library.adapter.base.BaseQuickAdapter,android.widget.FrameLayout) -> access$getMSpanSizeLookup$p
+ 74:74:com.chad.library.adapter.base.listener.GridSpanSizeLookup access$getMSpanSizeLookup$p(com.chad.library.adapter.base.BaseQuickAdapter):74 -> access$getMSpanSizeLookup$p
+ 1022:1282:void addAnimation(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> addAnimation
+ 487:542:void bindViewClickListener(com.chad.library.adapter.base.viewholder.BaseViewHolder,int) -> bindViewClickListener
+ 172:181:void checkModule() -> checkModule
+ 205:205:void convert(com.chad.library.adapter.base.viewholder.BaseViewHolder,java.lang.Object,java.util.List) -> convert
+ 657:679:com.chad.library.adapter.base.viewholder.BaseViewHolder createBaseGenericKInstance(java.lang.Class,android.view.View) -> createBaseGenericKInstance
+ 588:588:com.chad.library.adapter.base.viewholder.BaseViewHolder createBaseViewHolder(android.view.ViewGroup,int) -> createBaseViewHolder
+ 599:611:com.chad.library.adapter.base.viewholder.BaseViewHolder createBaseViewHolder(android.view.View) -> createBaseViewHolder
+ 450:450:java.util.LinkedHashSet getChildClickViewIds() -> getChildClickViewIds
+ 469:469:java.util.LinkedHashSet getChildLongClickViewIds() -> getChildLongClickViewIds
+ 91:91:void <init>(int,java.util.List) -> getData
+ 91:91:java.util.List getData():91 -> getData
+ 576:576:int getDefItemCount() -> getDefItemCount
+ 580:580:int getDefItemViewType(int) -> getDefItemViewType
+ 911:914:int getFooterLayoutCount() -> getFooterLayoutCount
+ 107:107:void setFooterViewAsFlow(boolean) -> getFooterViewAsFlow
+ 107:107:boolean getFooterViewAsFlow():107 -> getFooterViewAsFlow
+ 800:803:int getHeaderLayoutCount() -> getHeaderLayoutCount
+ 106:106:void setHeaderViewAsFlow(boolean) -> getHeaderViewAsFlow
+ 106:106:boolean getHeaderViewAsFlow():106 -> getHeaderViewAsFlow
+ 621:645:java.lang.Class getInstancedGenericKClass(java.lang.Class) -> getInstancedGenericKClass
+ 428:428:java.lang.Object getItem(int) -> getItem
+ 261:276:int getItemCount() -> getItemCount
+ 364:364:long getItemId(int) -> getItemId
+ 281:321:int getItemViewType(int) -> getItemViewType
+ 1276:1276:com.chad.library.adapter.base.listener.OnItemChildClickListener getOnItemChildClickListener() -> getOnItemChildClickListener
+ 1278:1278:com.chad.library.adapter.base.listener.OnItemChildLongClickListener getOnItemChildLongClickListener() -> getOnItemChildLongClickListener
+ 1272:1272:com.chad.library.adapter.base.listener.OnItemClickListener getOnItemClickListener() -> getOnItemClickListener
+ 1274:1274:com.chad.library.adapter.base.listener.OnItemLongClickListener getOnItemLongClickListener() -> getOnItemLongClickListener
+ 988:994:boolean hasEmptyView() -> hasEmptyView
+ 884:887:boolean hasFooterLayout() -> hasFooterLayout
+ 755:758:boolean hasHeaderLayout() -> hasHeaderLayout
+ 417:417:boolean isFixedViewType(int) -> isFixedViewType
+ 385:414:void onAttachedToRecyclerView(androidx.recyclerview.widget.RecyclerView) -> onAttachedToRecyclerView
+ 74:74:void access$setMEmptyLayout$p(com.chad.library.adapter.base.BaseQuickAdapter,android.widget.FrameLayout) -> onBindViewHolder
+ 74:74:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int):74 -> onBindViewHolder
+ 74:74:void access$setMEmptyLayout$p(com.chad.library.adapter.base.BaseQuickAdapter,android.widget.FrameLayout) -> onBindViewHolder
+ 74:74:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int,java.util.List):74 -> onBindViewHolder
+ 329:341:void onBindViewHolder(com.chad.library.adapter.base.viewholder.BaseViewHolder,int) -> onBindViewHolder
+ 344:361:void onBindViewHolder(com.chad.library.adapter.base.viewholder.BaseViewHolder,int,java.util.List) -> onBindViewHolder
+ 584:584:com.chad.library.adapter.base.viewholder.BaseViewHolder onCreateDefViewHolder(android.view.ViewGroup,int) -> onCreateDefViewHolder
+ 74:74:void access$setMEmptyLayout$p(com.chad.library.adapter.base.BaseQuickAdapter,android.widget.FrameLayout) -> onCreateViewHolder
+ 74:74:androidx.recyclerview.widget.RecyclerView$ViewHolder onCreateViewHolder(android.view.ViewGroup,int):74 -> onCreateViewHolder
+ 217:257:com.chad.library.adapter.base.viewholder.BaseViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 214:214:void onItemViewHolderCreated(com.chad.library.adapter.base.viewholder.BaseViewHolder,int) -> onItemViewHolderCreated
+ 74:74:void access$setMEmptyLayout$p(com.chad.library.adapter.base.BaseQuickAdapter,android.widget.FrameLayout) -> onViewAttachedToWindow
+ 74:74:void onViewAttachedToWindow(androidx.recyclerview.widget.RecyclerView$ViewHolder):74 -> onViewAttachedToWindow
+ 375:382:void onViewAttachedToWindow(com.chad.library.adapter.base.viewholder.BaseViewHolder) -> onViewAttachedToWindow
+ 691:695:void setFullSpan(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> setFullSpan
+ 568:569:void setOnItemChildClick(android.view.View,int) -> setOnItemChildClick
+ 572:572:boolean setOnItemChildLongClick(android.view.View,int) -> setOnItemChildLongClick
+ 552:553:void setOnItemClick(android.view.View,int) -> setOnItemClick
+ 1257:1258:void setOnItemClickListener(com.chad.library.adapter.base.listener.OnItemClickListener) -> setOnItemClickListener
+ 564:564:boolean setOnItemLongClick(android.view.View,int) -> setOnItemLongClick
+ 1043:1044:void startAnim(android.animation.Animator,int) -> startAnim
+com.chad.library.adapter.base.BaseQuickAdapter$Companion -> com.chad.library.adapter.base.BaseQuickAdapter$Companion:
+# {"id":"sourceFile","fileName":"BaseQuickAdapter.kt"}
+ 79:79:void <init>() -> <init>
+ 79:79:void <init>(kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+com.chad.library.adapter.base.BaseQuickAdapter$bindViewClickListener$$inlined$let$lambda$1 -> com.chad.library.adapter.base.BaseQuickAdapter$bindViewClickListener$$inlined$let$lambda$1:
+# {"id":"sourceFile","fileName":"BaseQuickAdapter.kt"}
+ 489:495:void onClick(android.view.View) -> onClick
+com.chad.library.adapter.base.BaseQuickAdapter$bindViewClickListener$$inlined$let$lambda$2 -> com.chad.library.adapter.base.BaseQuickAdapter$bindViewClickListener$$inlined$let$lambda$2:
+# {"id":"sourceFile","fileName":"BaseQuickAdapter.kt"}
+ 499:504:boolean onLongClick(android.view.View) -> onLongClick
+com.chad.library.adapter.base.BaseQuickAdapter$bindViewClickListener$$inlined$let$lambda$3 -> com.chad.library.adapter.base.BaseQuickAdapter$bindViewClickListener$$inlined$let$lambda$3:
+# {"id":"sourceFile","fileName":"BaseQuickAdapter.kt"}
+ 515:521:void onClick(android.view.View) -> onClick
+com.chad.library.adapter.base.BaseQuickAdapter$bindViewClickListener$$inlined$let$lambda$4 -> com.chad.library.adapter.base.BaseQuickAdapter$bindViewClickListener$$inlined$let$lambda$4:
+# {"id":"sourceFile","fileName":"BaseQuickAdapter.kt"}
+ 532:537:boolean onLongClick(android.view.View) -> onLongClick
+com.chad.library.adapter.base.BaseQuickAdapter$onAttachedToRecyclerView$1 -> com.chad.library.adapter.base.BaseQuickAdapter$onAttachedToRecyclerView$1:
+# {"id":"sourceFile","fileName":"BaseQuickAdapter.kt"}
+ 393:393:void <init>(com.chad.library.adapter.base.BaseQuickAdapter,androidx.recyclerview.widget.RecyclerView$LayoutManager,androidx.recyclerview.widget.GridLayoutManager$SpanSizeLookup) -> <init>
+ 395:408:int getSpanSize(int) -> getSpanSize
+com.chad.library.adapter.base.BaseSectionQuickAdapter -> com.chad.library.adapter.base.BaseSectionQuickAdapter:
+# {"id":"sourceFile","fileName":"BaseSectionQuickAdapter.kt"}
+ 43:43:void convertHeader(com.chad.library.adapter.base.viewholder.BaseViewHolder,com.chad.library.adapter.base.entity.SectionEntity,java.util.List) -> convertHeader
+ 55:55:boolean isFixedViewType(int) -> isFixedViewType
+ 15:15:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int,java.util.List) -> onBindViewHolder
+ 15:15:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int):15 -> onBindViewHolder
+ 15:15:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int,java.util.List) -> onBindViewHolder
+ 67:73:void onBindViewHolder(com.chad.library.adapter.base.viewholder.BaseViewHolder,int) -> onBindViewHolder
+ 76:86:void onBindViewHolder(com.chad.library.adapter.base.viewholder.BaseViewHolder,int,java.util.List) -> onBindViewHolder
+ 59:63:com.chad.library.adapter.base.viewholder.BaseViewHolder onCreateDefViewHolder(android.view.ViewGroup,int) -> onCreateDefViewHolder
+com.chad.library.adapter.base.animation.AlphaInAnimation -> com.chad.library.adapter.base.animation.AlphaInAnimation:
+# {"id":"sourceFile","fileName":"AlphaInAnimation.kt"}
+ 11:11:void <init>(float) -> <init>
+ 11:11:void <init>(float,int,kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+ 13:16:android.animation.Animator[] animators(android.view.View) -> animators
+com.chad.library.adapter.base.animation.AlphaInAnimation$Companion -> com.chad.library.adapter.base.animation.AlphaInAnimation$Companion:
+# {"id":"sourceFile","fileName":"AlphaInAnimation.kt"}
+ 19:19:void <init>() -> <init>
+ 19:19:void <init>(kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+com.chad.library.adapter.base.animation.BaseAnimation -> com.chad.library.adapter.base.animation.BaseAnimation:
+# {"id":"sourceFile","fileName":"BaseAnimation.kt"}
+com.chad.library.adapter.base.delegate.BaseMultiTypeDelegate -> com.chad.library.adapter.base.delegate.BaseMultiTypeDelegate:
+# {"id":"sourceFile","fileName":"BaseMultiTypeDelegate.kt"}
+com.chad.library.adapter.base.diff.BrvahAsyncDiffer$submitList$1$result$1 -> com.chad.library.adapter.base.diff.BrvahAsyncDiffer$submitList$1$result$1:
+# {"id":"sourceFile","fileName":"BrvahAsyncDiffer.kt"}
+ 82:82:boolean areContentsTheSame(int,int) -> areContentsTheSame
+ 73:73:boolean areItemsTheSame(int,int) -> areItemsTheSame
+ 94:94:java.lang.Object getChangePayload(int,int) -> getChangePayload
+ 69:69:int getNewListSize() -> getNewListSize
+ 65:65:int getOldListSize() -> getOldListSize
+com.chad.library.adapter.base.diff.BrvahListUpdateCallback -> com.chad.library.adapter.base.diff.BrvahListUpdateCallback:
+# {"id":"sourceFile","fileName":"BrvahListUpdateCallback.kt"}
+ 21:22:void onChanged(int,int,java.lang.Object) -> onChanged
+ 9:10:void onInserted(int,int) -> onInserted
+ 17:18:void onMoved(int,int) -> onMoved
+ 13:14:void onRemoved(int,int) -> onRemoved
+com.chad.library.adapter.base.dragswipe.DragAndSwipeCallback -> com.chad.library.adapter.base.dragswipe.DragAndSwipeCallback:
+ 71:90:void clearView(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> clearView
+ 125:125:float getMoveThreshold(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getMoveThreshold
+ 94:98:int getMovementFlags(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getMovementFlags
+ 130:130:float getSwipeThreshold(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> getSwipeThreshold
+ 45:48:boolean isItemViewSwipeEnabled() -> isItemViewSwipeEnabled
+ 37:40:boolean isLongPressDragEnabled() -> isLongPressDragEnabled
+ 211:212:boolean isViewCreateByAdapter(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> isViewCreateByAdapter
+ 186:208:void onChildDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder,float,float,int,boolean) -> onChildDrawOver
+ 103:103:boolean onMove(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder,androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onMove
+ 108:112:void onMoved(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$ViewHolder,int,androidx.recyclerview.widget.RecyclerView$ViewHolder,int,int,int) -> onMoved
+ 53:67:void onSelectedChanged(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> onSelectedChanged
+ 116:121:void onSwiped(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> onSwiped
+com.chad.library.adapter.base.entity.MultiItemEntity -> com.chad.library.adapter.base.entity.MultiItemEntity:
+# {"id":"sourceFile","fileName":"MultiItemEntity.kt"}
+com.chad.library.adapter.base.entity.SectionEntity -> com.chad.library.adapter.base.entity.SectionEntity:
+# {"id":"sourceFile","fileName":"SectionEntity.kt"}
+com.chad.library.adapter.base.entity.node.BaseExpandNode -> com.chad.library.adapter.base.entity.node.BaseExpandNode:
+# {"id":"sourceFile","fileName":"BaseExpandNode.kt"}
+ 3:4:void <init>() -> <init>
+ 4:4:boolean isExpanded() -> isExpanded
+ 4:4:void setExpanded(boolean) -> setExpanded
+com.chad.library.adapter.base.entity.node.BaseNode -> com.chad.library.adapter.base.entity.node.BaseNode:
+# {"id":"sourceFile","fileName":"BaseNode.kt"}
+ 3:3:void <init>() -> <init>
+com.chad.library.adapter.base.entity.node.NodeFooterImp -> com.chad.library.adapter.base.entity.node.NodeFooterImp:
+# {"id":"sourceFile","fileName":"NodeFooterImp.kt"}
+com.chad.library.adapter.base.loadmore.BaseLoadMoreView -> com.chad.library.adapter.base.loadmore.BaseLoadMoreView:
+# {"id":"sourceFile","fileName":"BaseLoadMoreView.kt"}
+com.chad.library.adapter.base.loadmore.LoadMoreStatus -> com.chad.library.adapter.base.loadmore.LoadMoreStatus:
+# {"id":"sourceFile","fileName":"BaseLoadMoreView.kt"}
+ 12:12:void <init>(java.lang.String,int) -> <init>
+com.chad.library.adapter.base.module.BaseDraggableModule -> com.chad.library.adapter.base.module.BaseDraggableModule:
+# {"id":"sourceFile","fileName":"DraggableModule.kt"}
+com.chad.library.adapter.base.module.BaseLoadMoreModule -> com.chad.library.adapter.base.module.BaseLoadMoreModule:
+# {"id":"sourceFile","fileName":"LoadMoreModule.kt"}
+com.chad.library.adapter.base.module.BaseUpFetchModule -> com.chad.library.adapter.base.module.BaseUpFetchModule:
+# {"id":"sourceFile","fileName":"UpFetchModule.kt"}
+com.chad.library.adapter.base.provider.BaseItemProvider -> com.chad.library.adapter.base.provider.BaseItemProvider:
+# {"id":"sourceFile","fileName":"BaseItemProvider.kt"}
+ 17:23:void <init>() -> <init>
+ 41:41:void convert(com.chad.library.adapter.base.viewholder.BaseViewHolder,java.lang.Object,java.util.List) -> convert
+ 90:90:java.util.ArrayList getChildClickViewIds() -> getChildClickViewIds
+ 98:98:java.util.ArrayList getChildLongClickViewIds() -> getChildLongClickViewIds
+ 78:78:void onChildClick(com.chad.library.adapter.base.viewholder.BaseViewHolder,android.view.View,java.lang.Object,int) -> onChildClick
+ 81:81:boolean onChildLongClick(com.chad.library.adapter.base.viewholder.BaseViewHolder,android.view.View,java.lang.Object,int) -> onChildLongClick
+ 65:65:void onClick(com.chad.library.adapter.base.viewholder.BaseViewHolder,android.view.View,java.lang.Object,int) -> onClick
+ 50:50:com.chad.library.adapter.base.viewholder.BaseViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 75:75:boolean onLongClick(com.chad.library.adapter.base.viewholder.BaseViewHolder,android.view.View,java.lang.Object,int) -> onLongClick
+ 57:57:void onViewHolderCreated(com.chad.library.adapter.base.viewholder.BaseViewHolder,int) -> onViewHolderCreated
+ 19:19:void setContext(android.content.Context) -> setContext
+com.chad.library.adapter.base.provider.BaseItemProvider$clickViewIds$2 -> com.chad.library.adapter.base.provider.BaseItemProvider$clickViewIds$2:
+# {"id":"sourceFile","fileName":"BaseItemProvider.kt"}
+ 17:17:java.lang.Object invoke() -> invoke
+ 22:22:java.util.ArrayList invoke() -> invoke
+com.chad.library.adapter.base.provider.BaseItemProvider$longClickViewIds$2 -> com.chad.library.adapter.base.provider.BaseItemProvider$longClickViewIds$2:
+# {"id":"sourceFile","fileName":"BaseItemProvider.kt"}
+ 17:17:java.lang.Object invoke() -> invoke
+ 23:23:java.util.ArrayList invoke() -> invoke
+com.chad.library.adapter.base.util.AdapterUtilsKt -> com.chad.library.adapter.base.util.AdapterUtilsKt:
+# {"id":"sourceFile","fileName":"AdapterUtils.kt"}
+ 15:15:android.view.View getItemView(android.view.ViewGroup,int) -> getItemView
+com.chad.library.adapter.base.viewholder.BaseViewHolder -> com.chad.library.adapter.base.viewholder.BaseViewHolder:
+# {"id":"sourceFile","fileName":"BaseViewHolder.kt"}
+ 17:21:void <init>(android.view.View) -> <init>
+ 30:32:android.view.View getView(int) -> getView
+ 37:44:android.view.View getViewOrNull(int) -> getViewOrNull
+ 52:53:com.chad.library.adapter.base.viewholder.BaseViewHolder setText(int,java.lang.CharSequence) -> setText
+com.google.android.material.animation.AnimationUtils -> com.google.android.material.animation.AnimationUtils:
+ 37:44:void <clinit>() -> <clinit>
+ 35:35:void <init>() -> <init>
+ 48:48:float lerp(float,float,float) -> lerp
+ 53:53:int lerp(int,int,float) -> lerp
+ 66:73:float lerp(float,float,float,float,float) -> lerp
+com.google.android.material.animation.AnimatorSetCompat -> com.google.android.material.animation.AnimatorSetCompat:
+ 32:32:void <init>() -> <init>
+ 38:48:void playTogether(android.animation.AnimatorSet,java.util.List) -> playTogether
+com.google.android.material.animation.ArgbEvaluatorCompat -> com.google.android.material.animation.ArgbEvaluatorCompat:
+ 29:29:void <clinit>() -> <clinit>
+ 28:28:void <init>() -> <init>
+ 28:28:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 58:91:java.lang.Integer evaluate(float,java.lang.Integer,java.lang.Integer) -> evaluate
+ 40:40:com.google.android.material.animation.ArgbEvaluatorCompat getInstance() -> getInstance
+com.google.android.material.animation.ChildrenAlphaProperty -> com.google.android.material.animation.ChildrenAlphaProperty:
+ 38:38:void <clinit>() -> <clinit>
+ 42:43:void <init>(java.lang.String) -> <init>
+ 33:33:java.lang.Object get(java.lang.Object) -> get
+ 48:52:java.lang.Float get(android.view.ViewGroup) -> get
+ 33:33:void set(java.lang.Object,java.lang.Object) -> set
+ 58:66:void set(android.view.ViewGroup,java.lang.Float) -> set
+com.google.android.material.animation.DrawableAlphaProperty -> com.google.android.material.animation.DrawableAlphaProperty:
+ 36:36:void <clinit>() -> <clinit>
+ 39:43:void <init>() -> <init>
+ 30:30:java.lang.Object get(java.lang.Object) -> get
+ 48:49:java.lang.Integer get(android.graphics.drawable.Drawable) -> get
+ 30:30:void set(java.lang.Object,java.lang.Object) -> set
+ 59:64:void set(android.graphics.drawable.Drawable,java.lang.Integer) -> set
+com.google.android.material.animation.ImageMatrixProperty -> com.google.android.material.animation.ImageMatrixProperty:
+ 28:32:void <init>() -> <init>
+ 27:27:java.lang.Object get(java.lang.Object) -> get
+ 42:43:android.graphics.Matrix get(android.widget.ImageView) -> get
+ 27:27:void set(java.lang.Object,java.lang.Object) -> set
+ 36:37:void set(android.widget.ImageView,android.graphics.Matrix) -> set
+com.google.android.material.animation.MatrixEvaluator -> com.google.android.material.animation.MatrixEvaluator:
+ 26:29:void <init>() -> <init>
+ 26:26:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 34:41:android.graphics.Matrix evaluate(float,android.graphics.Matrix,android.graphics.Matrix) -> evaluate
+com.google.android.material.animation.MotionSpec -> com.google.android.material.animation.MotionSpec:
+ 66:71:void <init>() -> <init>
+ 215:222:void addInfoFromAnimator(com.google.android.material.animation.MotionSpec,android.animation.Animator) -> addInfoFromAnimator
+ 128:132:android.animation.PropertyValuesHolder[] clonePropertyValuesHolder(android.animation.PropertyValuesHolder[]) -> clonePropertyValuesHolder
+ 175:181:com.google.android.material.animation.MotionSpec createFromAttribute(android.content.Context,android.content.res.TypedArray,int) -> createFromAttribute
+ 188:201:com.google.android.material.animation.MotionSpec createFromResource(android.content.Context,int) -> createFromResource
+ 207:211:com.google.android.material.animation.MotionSpec createSpecFromAnimators(java.util.List) -> createSpecFromAnimators
+ 226:235:boolean equals(java.lang.Object) -> equals
+ 148:152:android.animation.ObjectAnimator getAnimator(java.lang.String,java.lang.Object,android.util.Property) -> getAnimator
+ 110:113:android.animation.PropertyValuesHolder[] getPropertyValues(java.lang.String) -> getPropertyValues
+ 84:87:com.google.android.material.animation.MotionTiming getTiming(java.lang.String) -> getTiming
+ 160:165:long getTotalDuration() -> getTotalDuration
+ 99:99:boolean hasPropertyValues(java.lang.String) -> hasPropertyValues
+ 76:76:boolean hasTiming(java.lang.String) -> hasTiming
+ 240:240:int hashCode() -> hashCode
+ 123:124:void setPropertyValues(java.lang.String,android.animation.PropertyValuesHolder[]) -> setPropertyValues
+ 92:93:void setTiming(java.lang.String,com.google.android.material.animation.MotionTiming) -> setTiming
+ 246:254:java.lang.String toString() -> toString
+com.google.android.material.animation.MotionTiming -> com.google.android.material.animation.MotionTiming:
+ 30:42:void <init>(long,long) -> <init>
+ 30:48:void <init>(long,long,android.animation.TimeInterpolator) -> <init>
+ 51:58:void apply(android.animation.Animator) -> apply
+ 83:88:com.google.android.material.animation.MotionTiming createFromAnimator(android.animation.ValueAnimator) -> createFromAnimator
+ 116:137:boolean equals(java.lang.Object) -> equals
+ 61:61:long getDelay() -> getDelay
+ 65:65:long getDuration() -> getDuration
+ 70:70:android.animation.TimeInterpolator getInterpolator() -> getInterpolator
+ 102:110:android.animation.TimeInterpolator getInterpolatorCompat(android.animation.ValueAnimator) -> getInterpolatorCompat
+ 74:74:int getRepeatCount() -> getRepeatCount
+ 78:78:int getRepeatMode() -> getRepeatMode
+ 142:147:int hashCode() -> hashCode
+ 153:169:java.lang.String toString() -> toString
+com.google.android.material.animation.Positioning -> com.google.android.material.animation.Positioning:
+ 34:38:void <init>(int,float,float) -> <init>
+com.google.android.material.appbar.AppBarLayout -> com.google.android.material.appbar.AppBarLayout:
+ 165:165:void <clinit>() -> <clinit>
+ 195:196:void <init>(android.content.Context) -> <init>
+ 199:200:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 169:277:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 287:293:void addOnOffsetChangedListener(com.google.android.material.appbar.AppBarLayout$BaseOnOffsetChangedListener) -> addOnOffsetChangedListener
+ 297:298:void addOnOffsetChangedListener(com.google.android.material.appbar.AppBarLayout$OnOffsetChangedListener) -> addOnOffsetChangedListener
+ 585:585:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 948:952:void clearLiftOnScrollTargetView() -> clearLiftOnScrollTargetView
+ 387:396:void draw(android.graphics.Canvas) -> draw
+ 400:408:void drawableStateChanged() -> drawableStateChanged
+ 930:944:android.view.View findLiftOnScrollTargetView(android.view.View) -> findLiftOnScrollTargetView
+ 130:130:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 130:130:android.widget.LinearLayout$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 590:590:com.google.android.material.appbar.AppBarLayout$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 130:130:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 130:130:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 130:130:android.widget.LinearLayout$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 130:130:android.widget.LinearLayout$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 595:595:com.google.android.material.appbar.AppBarLayout$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 600:605:com.google.android.material.appbar.AppBarLayout$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 534:534:androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior getBehavior() -> getBehavior
+ 672:710:int getDownNestedPreScrollRange() -> getDownNestedPreScrollRange
+ 715:746:int getDownNestedScrollRange() -> getDownNestedScrollRange
+ 916:916:int getLiftOnScrollTargetViewId() -> getLiftOnScrollTargetViewId
+ 769:786:int getMinimumHeightForVisibleOverlappingContent() -> getMinimumHeightForVisibleOverlappingContent
+ 978:978:int getPendingAction() -> getPendingAction
+ 382:382:android.graphics.drawable.Drawable getStatusBarForeground() -> getStatusBarForeground
+ 974:974:float getTargetElevation() -> getTargetElevation
+ 987:987:int getTopInset() -> getTopInset
+ 625:658:int getTotalScrollRange() -> getTotalScrollRange
+ 667:667:int getUpNestedPreScrollRange() -> getUpNestedPreScrollRange
+ 616:616:boolean hasChildWithInterpolator() -> hasChildWithInterpolator
+ 500:505:boolean hasCollapsibleChild() -> hasCollapsibleChild
+ 662:662:boolean hasScrollableChildren() -> hasScrollableChildren
+ 510:513:void invalidateScrollRanges() -> invalidateScrollRanges
+ 897:897:boolean isLiftOnScroll() -> isLiftOnScroll
+ 843:843:boolean isLifted() -> isLifted
+ 526:529:void onAttachedToWindow() -> onAttachedToWindow
+ 791:807:int[] onCreateDrawableState(int) -> onCreateDrawableState
+ 610:613:void onDetachedFromWindow() -> onDetachedFromWindow
+ 457:489:void onLayout(boolean,int,int,int,int) -> onLayout
+ 427:453:void onMeasure(int,int) -> onMeasure
+ 750:766:void onOffsetChanged(int) -> onOffsetChanged
+ 1003:1017:androidx.core.view.WindowInsetsCompat onWindowInsetChanged(androidx.core.view.WindowInsetsCompat) -> onWindowInsetChanged
+ 309:312:void removeOnOffsetChangedListener(com.google.android.material.appbar.AppBarLayout$BaseOnOffsetChangedListener) -> removeOnOffsetChangedListener
+ 316:317:void removeOnOffsetChangedListener(com.google.android.material.appbar.AppBarLayout$OnOffsetChangedListener) -> removeOnOffsetChangedListener
+ 982:983:void resetPendingAction() -> resetPendingAction
+ 540:543:void setElevation(float) -> setElevation
+ 557:558:void setExpanded(boolean) -> setExpanded
+ 572:573:void setExpanded(boolean,boolean) -> setExpanded
+ 576:581:void setExpanded(boolean,boolean,boolean) -> setExpanded
+ 892:893:void setLiftOnScroll(boolean) -> setLiftOnScroll
+ 905:908:void setLiftOnScrollTargetViewId(int) -> setLiftOnScrollTargetViewId
+ 816:817:boolean setLiftable(boolean) -> setLiftable
+ 822:827:boolean setLiftableState(boolean) -> setLiftableState
+ 836:836:boolean setLifted(boolean) -> setLifted
+ 848:856:boolean setLiftedState(boolean) -> setLiftedState
+ 517:522:void setOrientation(int) -> setOrientation
+ 330:346:void setStatusBarForeground(android.graphics.drawable.Drawable) -> setStatusBarForeground
+ 358:359:void setStatusBarForegroundColor(int) -> setStatusBarForegroundColor
+ 371:372:void setStatusBarForegroundResource(int) -> setStatusBarForegroundResource
+ 963:966:void setTargetElevation(float) -> setTargetElevation
+ 417:423:void setVisibility(int) -> setVisibility
+ 496:496:boolean shouldDrawStatusBarForeground() -> shouldDrawStatusBarForeground
+ 920:925:boolean shouldLift(android.view.View) -> shouldLift
+ 995:999:boolean shouldOffsetFirstChild() -> shouldOffsetFirstChild
+ 861:881:void startLiftOnScrollElevationOverlayAnimation(com.google.android.material.shape.MaterialShapeDrawable,boolean) -> startLiftOnScrollElevationOverlayAnimation
+ 492:493:void updateWillNotDraw() -> updateWillNotDraw
+ 412:412:boolean verifyDrawable(android.graphics.drawable.Drawable) -> verifyDrawable
+com.google.android.material.appbar.AppBarLayout$1 -> com.google.android.material.appbar.AppBarLayout$1:
+ 271:271:void <init>(com.google.android.material.appbar.AppBarLayout) -> <init>
+ 274:274:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+com.google.android.material.appbar.AppBarLayout$2 -> com.google.android.material.appbar.AppBarLayout$2:
+ 874:874:void <init>(com.google.android.material.appbar.AppBarLayout,com.google.android.material.shape.MaterialShapeDrawable) -> <init>
+ 877:878:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.appbar.AppBarLayout$BaseBehavior -> com.google.android.material.appbar.AppBarLayout$BaseBehavior:
+ 1246:1253:void <init>() -> <init>
+ 1246:1257:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1222:1222:int access$000(com.google.android.material.appbar.AppBarLayout$BaseBehavior) -> access$000
+ 1611:1651:void addAccessibilityScrollActions(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View) -> addAccessibilityScrollActions
+ 1658:1669:void addActionToExpand(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat,boolean) -> addActionToExpand
+ 1382:1394:void animateOffsetTo(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,int,float) -> animateOffsetTo
+ 1401:1427:void animateOffsetWithDuration(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,int,int) -> animateOffsetWithDuration
+ 1222:1222:boolean canDragView(android.view.View) -> canDragView
+ 1673:1687:boolean canDragView(com.google.android.material.appbar.AppBarLayout) -> canDragView
+ 1290:1291:boolean canScrollChildren(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View) -> canScrollChildren
+ 1496:1496:boolean checkFlag(int,int) -> checkFlag
+ 1896:1904:android.view.View findFirstScrollingChild(androidx.coordinatorlayout.widget.CoordinatorLayout) -> findFirstScrollingChild
+ 1884:1891:android.view.View getAppBarChildOnOffset(com.google.android.material.appbar.AppBarLayout,int) -> getAppBarChildOnOffset
+ 1430:1446:int getChildIndexOnOffset(com.google.android.material.appbar.AppBarLayout,int) -> getChildIndexOnOffset
+ 1222:1222:int getMaxDragOffset(android.view.View) -> getMaxDragOffset
+ 1702:1702:int getMaxDragOffset(com.google.android.material.appbar.AppBarLayout) -> getMaxDragOffset
+ 1222:1222:int getScrollRangeForDragFling(android.view.View) -> getScrollRangeForDragFling
+ 1707:1707:int getScrollRangeForDragFling(com.google.android.material.appbar.AppBarLayout) -> getScrollRangeForDragFling
+ 1909:1909:int getTopBottomOffsetForScrollingSibling() -> getTopBottomOffsetForScrollingSibling
+ 1771:1815:int interpolateOffset(com.google.android.material.appbar.AppBarLayout,int) -> interpolateOffset
+ 1767:1767:boolean isOffsetAnimatorRunning() -> isOffsetAnimatorRunning
+ 1222:1222:void onFlingFinished(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> onFlingFinished
+ 1694:1698:void onFlingFinished(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout) -> onFlingFinished
+ 1222:1222:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 1531:1584:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,int) -> onLayoutChild
+ 1222:1222:boolean onMeasureChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int,int,int,int) -> onMeasureChild
+ 1507:1524:boolean onMeasureChild(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,int,int,int,int) -> onMeasureChild
+ 1222:1222:void onNestedPreScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 1303:1322:void onNestedPreScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 1222:1222:void onNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 1335:1347:void onNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 1222:1222:void onRestoreInstanceState(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.os.Parcelable) -> onRestoreInstanceState
+ 1939:1949:void onRestoreInstanceState(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.os.Parcelable) -> onRestoreInstanceState
+ 1222:1222:android.os.Parcelable onSaveInstanceState(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> onSaveInstanceState
+ 1914:1933:android.os.Parcelable onSaveInstanceState(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout) -> onSaveInstanceState
+ 1222:1222:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 1269:1284:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 1222:1222:void onStopNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int) -> onStopNestedScroll
+ 1356:1366:void onStopNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View,int) -> onStopNestedScroll
+ 1374:1375:void setDragCallback(com.google.android.material.appbar.AppBarLayout$BaseBehavior$BaseDragCallback) -> setDragCallback
+ 1222:1222:int setHeaderTopBottomOffset(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int,int,int) -> setHeaderTopBottomOffset
+ 1717:1762:int setHeaderTopBottomOffset(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,int,int,int) -> setHeaderTopBottomOffset
+ 1867:1878:boolean shouldJumpElevationState(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout) -> shouldJumpElevationState
+ 1450:1493:void snapToChildIfNeeded(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout) -> snapToChildIfNeeded
+ 1589:1605:void updateAccessibilityActions(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout) -> updateAccessibilityActions
+ 1824:1862:void updateAppBarLayoutDrawableState(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,int,int,boolean) -> updateAppBarLayoutDrawableState
+com.google.android.material.appbar.AppBarLayout$BaseBehavior$1 -> com.google.android.material.appbar.AppBarLayout$BaseBehavior$1:
+ 1413:1413:void <init>(com.google.android.material.appbar.AppBarLayout$BaseBehavior,androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout) -> <init>
+ 1416:1418:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.appbar.AppBarLayout$BaseBehavior$2 -> com.google.android.material.appbar.AppBarLayout$BaseBehavior$2:
+ 1630:1630:void <init>(com.google.android.material.appbar.AppBarLayout$BaseBehavior,androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View,int) -> <init>
+ 1633:1641:boolean perform(android.view.View,androidx.core.view.accessibility.AccessibilityViewCommand$CommandArguments) -> perform
+com.google.android.material.appbar.AppBarLayout$BaseBehavior$3 -> com.google.android.material.appbar.AppBarLayout$BaseBehavior$3:
+ 1662:1662:void <init>(com.google.android.material.appbar.AppBarLayout$BaseBehavior,com.google.android.material.appbar.AppBarLayout,boolean) -> <init>
+ 1665:1666:boolean perform(android.view.View,androidx.core.view.accessibility.AccessibilityViewCommand$CommandArguments) -> perform
+com.google.android.material.appbar.AppBarLayout$BaseBehavior$BaseDragCallback -> com.google.android.material.appbar.AppBarLayout$BaseBehavior$BaseDragCallback:
+ 1228:1228:void <init>() -> <init>
+com.google.android.material.appbar.AppBarLayout$BaseBehavior$SavedState -> com.google.android.material.appbar.AppBarLayout$BaseBehavior$SavedState:
+ 1976:1976:void <clinit>() -> <clinit>
+ 1958:1962:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 1965:1966:void <init>(android.os.Parcelable) -> <init>
+ 1970:1974:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.appbar.AppBarLayout$BaseBehavior$SavedState$1 -> com.google.android.material.appbar.AppBarLayout$BaseBehavior$SavedState$1:
+ 1977:1977:void <init>() -> <init>
+ 1977:1977:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 1977:1977:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1981:1981:com.google.android.material.appbar.AppBarLayout$BaseBehavior$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1987:1987:com.google.android.material.appbar.AppBarLayout$BaseBehavior$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 1977:1977:java.lang.Object[] newArray(int) -> newArray
+ 1993:1993:com.google.android.material.appbar.AppBarLayout$BaseBehavior$SavedState[] newArray(int) -> newArray
+com.google.android.material.appbar.AppBarLayout$Behavior -> com.google.android.material.appbar.AppBarLayout$Behavior:
+ 1209:1210:void <init>() -> <init>
+ 1213:1214:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1203:1203:int getLeftAndRightOffset() -> getLeftAndRightOffset
+ 1203:1203:int getTopAndBottomOffset() -> getTopAndBottomOffset
+ 1203:1203:boolean isHorizontalOffsetEnabled() -> isHorizontalOffsetEnabled
+ 1203:1203:boolean isVerticalOffsetEnabled() -> isVerticalOffsetEnabled
+ 1203:1203:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,int) -> onLayoutChild
+ 1203:1203:boolean onMeasureChild(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,int,int,int,int) -> onMeasureChild
+ 1203:1203:void onNestedPreScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 1203:1203:void onNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 1203:1203:void onRestoreInstanceState(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.os.Parcelable) -> onRestoreInstanceState
+ 1203:1203:android.os.Parcelable onSaveInstanceState(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout) -> onSaveInstanceState
+ 1203:1203:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 1203:1203:void onStopNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,android.view.View,int) -> onStopNestedScroll
+ 1203:1203:void setDragCallback(com.google.android.material.appbar.AppBarLayout$BaseBehavior$BaseDragCallback) -> setDragCallback
+ 1203:1203:void setHorizontalOffsetEnabled(boolean) -> setHorizontalOffsetEnabled
+ 1203:1203:boolean setLeftAndRightOffset(int) -> setLeftAndRightOffset
+ 1203:1203:boolean setTopAndBottomOffset(int) -> setTopAndBottomOffset
+ 1203:1203:void setVerticalOffsetEnabled(boolean) -> setVerticalOffsetEnabled
+com.google.android.material.appbar.AppBarLayout$Behavior$DragCallback -> com.google.android.material.appbar.AppBarLayout$Behavior$DragCallback:
+ 1206:1206:void <init>() -> <init>
+com.google.android.material.appbar.AppBarLayout$LayoutParams -> com.google.android.material.appbar.AppBarLayout$LayoutParams:
+ 1099:1111:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1099:1115:void <init>(int,int) -> <init>
+ 1099:1119:void <init>(int,int,float) -> <init>
+ 1099:1123:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 1099:1127:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+ 1099:1133:void <init>(android.widget.LinearLayout$LayoutParams) -> <init>
+ 1099:1141:void <init>(com.google.android.material.appbar.AppBarLayout$LayoutParams) -> <init>
+ 1166:1166:int getScrollFlags() -> getScrollFlags
+ 1188:1188:android.view.animation.Interpolator getScrollInterpolator() -> getScrollInterpolator
+ 1193:1193:boolean isCollapsible() -> isCollapsible
+ 1155:1156:void setScrollFlags(int) -> setScrollFlags
+ 1177:1178:void setScrollInterpolator(android.view.animation.Interpolator) -> setScrollInterpolator
+com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior -> com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior:
+ 2005:2005:void <init>() -> <init>
+ 2008:2015:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 2003:2003:android.view.View findFirstDependency(java.util.List) -> findFirstDependency
+ 2114:2120:com.google.android.material.appbar.AppBarLayout findFirstDependency(java.util.List) -> findFirstDependency
+ 2103:2108:int getAppBarLayoutOffset(com.google.android.material.appbar.AppBarLayout) -> getAppBarLayoutOffset
+ 2003:2003:int getLeftAndRightOffset() -> getLeftAndRightOffset
+ 2082:2099:float getOverlapRatioForOffset(android.view.View) -> getOverlapRatioForOffset
+ 2125:2128:int getScrollRange(android.view.View) -> getScrollRange
+ 2003:2003:int getTopAndBottomOffset() -> getTopAndBottomOffset
+ 2003:2003:boolean isHorizontalOffsetEnabled() -> isHorizontalOffsetEnabled
+ 2003:2003:boolean isVerticalOffsetEnabled() -> isVerticalOffsetEnabled
+ 2020:2020:boolean layoutDependsOn(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> layoutDependsOn
+ 2065:2078:void offsetChildAsNeeded(android.view.View,android.view.View) -> offsetChildAsNeeded
+ 2026:2028:boolean onDependentViewChanged(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> onDependentViewChanged
+ 2034:2038:void onDependentViewRemoved(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> onDependentViewRemoved
+ 2003:2003:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 2003:2003:boolean onMeasureChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int,int,int,int) -> onMeasureChild
+ 2046:2061:boolean onRequestChildRectangleOnScreen(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.graphics.Rect,boolean) -> onRequestChildRectangleOnScreen
+ 2003:2003:void setHorizontalOffsetEnabled(boolean) -> setHorizontalOffsetEnabled
+ 2003:2003:boolean setLeftAndRightOffset(int) -> setLeftAndRightOffset
+ 2003:2003:boolean setTopAndBottomOffset(int) -> setTopAndBottomOffset
+ 2003:2003:void setVerticalOffsetEnabled(boolean) -> setVerticalOffsetEnabled
+ 2133:2139:void updateLiftedStateIfNeeded(android.view.View,android.view.View) -> updateLiftedStateIfNeeded
+com.google.android.material.appbar.CollapsingToolbarLayout -> com.google.android.material.appbar.CollapsingToolbarLayout:
+ 119:119:void <clinit>() -> <clinit>
+ 183:184:void <init>(android.content.Context) -> <init>
+ 187:188:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 144:300:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 824:845:void animateScrim(int) -> animateScrim
+ 1448:1448:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 427:430:void disableLiftOnScrollIfNeeded(com.google.android.material.appbar.AppBarLayout) -> disableLiftOnScrollIfNeeded
+ 358:395:void draw(android.graphics.Canvas) -> draw
+ 402:409:boolean drawChild(android.graphics.Canvas,android.view.View,long) -> drawChild
+ 949:969:void drawableStateChanged() -> drawableStateChanged
+ 448:480:void ensureToolbar() -> ensureToolbar
+ 496:502:android.view.View findDirectChild(android.view.View) -> findDirectChild
+ 117:117:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 117:117:android.widget.FrameLayout$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 1453:1453:com.google.android.material.appbar.CollapsingToolbarLayout$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 117:117:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 117:117:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 1458:1458:android.widget.FrameLayout$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 1463:1463:android.widget.FrameLayout$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 1069:1069:int getCollapsedTitleGravity() -> getCollapsedTitleGravity
+ 1131:1131:android.graphics.Typeface getCollapsedTitleTypeface() -> getCollapsedTitleTypeface
+ 915:915:android.graphics.drawable.Drawable getContentScrim() -> getContentScrim
+ 1116:1116:int getExpandedTitleGravity() -> getExpandedTitleGravity
+ 1239:1239:int getExpandedTitleMarginBottom() -> getExpandedTitleMarginBottom
+ 1218:1218:int getExpandedTitleMarginEnd() -> getExpandedTitleMarginEnd
+ 1176:1176:int getExpandedTitleMarginStart() -> getExpandedTitleMarginStart
+ 1197:1197:int getExpandedTitleMarginTop() -> getExpandedTitleMarginTop
+ 1146:1146:android.graphics.Typeface getExpandedTitleTypeface() -> getExpandedTitleTypeface
+ 684:689:int getHeightWithMargins(android.view.View) -> getHeightWithMargins
+ 1329:1329:int getHyphenationFrequency() -> getHyphenationFrequency
+ 1278:1278:int getLineCount() -> getLineCount
+ 1295:1295:float getLineSpacingAdd() -> getLineSpacingAdd
+ 1312:1312:float getLineSpacingMultiplier() -> getLineSpacingMultiplier
+ 1269:1269:int getMaxLines() -> getMaxLines
+ 1582:1584:int getMaxOffsetForPinChild(android.view.View) -> getMaxOffsetForPinChild
+ 859:859:int getScrimAlpha() -> getScrimAlpha
+ 1443:1443:long getScrimAnimationDuration() -> getScrimAnimationDuration
+ 1412:1428:int getScrimVisibleHeightTrigger() -> getScrimVisibleHeightTrigger
+ 1021:1021:android.graphics.drawable.Drawable getStatusBarScrim() -> getStatusBarScrim
+ 722:722:java.lang.CharSequence getTitle() -> getTitle
+ 759:759:int getTitleCollapseMode() -> getTitleCollapseMode
+ 673:679:java.lang.CharSequence getToolbarTitle(android.view.View) -> getToolbarTitle
+ 694:699:com.google.android.material.appbar.ViewOffsetHelper getViewOffsetHelper(android.view.View) -> getViewOffsetHelper
+ 1383:1383:boolean isExtraMultilineHeightEnabled() -> isExtraMultilineHeightEnabled
+ 1365:1365:boolean isForceApplySystemWindowInsetTop() -> isForceApplySystemWindowInsetTop
+ 1347:1347:boolean isRtlTextDirectionHeuristicsEnabled() -> isRtlTextDirectionHeuristicsEnabled
+ 421:421:boolean isTitleCollapseFadeMode() -> isTitleCollapseFadeMode
+ 787:787:boolean isTitleEnabled() -> isTitleEnabled
+ 483:483:boolean isToolbar(android.view.View) -> isToolbar
+ 488:488:boolean isToolbarChild(android.view.View) -> isToolbarChild
+ 304:324:void onAttachedToWindow() -> onAttachedToWindow
+ 329:335:void onDetachedFromWindow() -> onDetachedFromWindow
+ 567:599:void onLayout(boolean,int,int,int,int) -> onLayout
+ 525:563:void onMeasure(int,int) -> onMeasure
+ 414:418:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 338:353:androidx.core.view.WindowInsetsCompat onWindowInsetChanged(androidx.core.view.WindowInsetsCompat) -> onWindowInsetChanged
+ 1060:1061:void setCollapsedTitleGravity(int) -> setCollapsedTitleGravity
+ 1032:1033:void setCollapsedTitleTextAppearance(int) -> setCollapsedTitleTextAppearance
+ 1041:1042:void setCollapsedTitleTextColor(int) -> setCollapsedTitleTextColor
+ 1050:1051:void setCollapsedTitleTextColor(android.content.res.ColorStateList) -> setCollapsedTitleTextColor
+ 1125:1126:void setCollapsedTitleTypeface(android.graphics.Typeface) -> setCollapsedTitleTypeface
+ 871:883:void setContentScrim(android.graphics.drawable.Drawable) -> setContentScrim
+ 893:894:void setContentScrimColor(int) -> setContentScrimColor
+ 904:905:void setContentScrimResource(int) -> setContentScrimResource
+ 1088:1089:void setExpandedTitleColor(int) -> setExpandedTitleColor
+ 1107:1108:void setExpandedTitleGravity(int) -> setExpandedTitleGravity
+ 1163:1168:void setExpandedTitleMargin(int,int,int,int) -> setExpandedTitleMargin
+ 1250:1252:void setExpandedTitleMarginBottom(int) -> setExpandedTitleMarginBottom
+ 1229:1231:void setExpandedTitleMarginEnd(int) -> setExpandedTitleMarginEnd
+ 1187:1189:void setExpandedTitleMarginStart(int) -> setExpandedTitleMarginStart
+ 1208:1210:void setExpandedTitleMarginTop(int) -> setExpandedTitleMarginTop
+ 1079:1080:void setExpandedTitleTextAppearance(int) -> setExpandedTitleTextAppearance
+ 1097:1098:void setExpandedTitleTextColor(android.content.res.ColorStateList) -> setExpandedTitleTextColor
+ 1140:1141:void setExpandedTitleTypeface(android.graphics.Typeface) -> setExpandedTitleTypeface
+ 1374:1375:void setExtraMultilineHeightEnabled(boolean) -> setExtraMultilineHeightEnabled
+ 1356:1357:void setForceApplySystemWindowInsetTop(boolean) -> setForceApplySystemWindowInsetTop
+ 1322:1323:void setHyphenationFrequency(int) -> setHyphenationFrequency
+ 1288:1289:void setLineSpacingAdd(float) -> setLineSpacingAdd
+ 1305:1306:void setLineSpacingMultiplier(float) -> setLineSpacingMultiplier
+ 1260:1261:void setMaxLines(int) -> setMaxLines
+ 1338:1339:void setRtlTextDirectionHeuristicsEnabled(boolean) -> setRtlTextDirectionHeuristicsEnabled
+ 848:856:void setScrimAlpha(int) -> setScrimAlpha
+ 1438:1439:void setScrimAnimationDuration(long) -> setScrimAnimationDuration
+ 1398:1403:void setScrimVisibleHeightTrigger(int) -> setScrimVisibleHeightTrigger
+ 800:801:void setScrimsShown(boolean) -> setScrimsShown
+ 813:821:void setScrimsShown(boolean,boolean) -> setScrimsShown
+ 929:945:void setStatusBarScrim(android.graphics.drawable.Drawable) -> setStatusBarScrim
+ 999:1000:void setStatusBarScrimColor(int) -> setStatusBarScrimColor
+ 1010:1011:void setStatusBarScrimResource(int) -> setStatusBarScrimResource
+ 710:712:void setTitle(java.lang.CharSequence) -> setTitle
+ 732:750:void setTitleCollapseMode(int) -> setTitleCollapseMode
+ 772:778:void setTitleEnabled(boolean) -> setTitleEnabled
+ 978:987:void setVisibility(int) -> setVisibility
+ 640:670:void updateCollapsedBounds(boolean) -> updateCollapsedBounds
+ 1589:1590:void updateContentDescriptionFromTitle() -> updateContentDescriptionFromTitle
+ 433:434:void updateContentScrimBounds(android.graphics.drawable.Drawable,int,int) -> updateContentScrimBounds
+ 440:445:void updateContentScrimBounds(android.graphics.drawable.Drawable,android.view.View,int,int) -> updateContentScrimBounds
+ 506:521:void updateDummyView() -> updateDummyView
+ 1576:1579:void updateScrimVisibility() -> updateScrimVisibility
+ 604:628:void updateTextBounds(int,int,int,int,boolean) -> updateTextBounds
+ 631:637:void updateTitleFromToolbarIfNeeded() -> updateTitleFromToolbarIfNeeded
+ 973:973:boolean verifyDrawable(android.graphics.drawable.Drawable) -> verifyDrawable
+com.google.android.material.appbar.CollapsingToolbarLayout$1 -> com.google.android.material.appbar.CollapsingToolbarLayout$1:
+ 293:293:void <init>(com.google.android.material.appbar.CollapsingToolbarLayout) -> <init>
+ 297:297:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+com.google.android.material.appbar.CollapsingToolbarLayout$2 -> com.google.android.material.appbar.CollapsingToolbarLayout$2:
+ 833:833:void <init>(com.google.android.material.appbar.CollapsingToolbarLayout) -> <init>
+ 836:837:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.appbar.CollapsingToolbarLayout$LayoutParams -> com.google.android.material.appbar.CollapsingToolbarLayout$LayoutParams:
+ 1491:1506:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1491:1510:void <init>(int,int) -> <init>
+ 1491:1514:void <init>(int,int,int) -> <init>
+ 1491:1518:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 1491:1522:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+ 1491:1528:void <init>(android.widget.FrameLayout$LayoutParams) -> <init>
+ 1548:1548:int getCollapseMode() -> getCollapseMode
+ 1570:1570:float getParallaxMultiplier() -> getParallaxMultiplier
+ 1537:1538:void setCollapseMode(int) -> setCollapseMode
+ 1560:1561:void setParallaxMultiplier(float) -> setParallaxMultiplier
+com.google.android.material.appbar.CollapsingToolbarLayout$OffsetUpdateListener -> com.google.android.material.appbar.CollapsingToolbarLayout$OffsetUpdateListener:
+ 1593:1593:void <init>(com.google.android.material.appbar.CollapsingToolbarLayout) -> <init>
+ 1597:1635:void onOffsetChanged(com.google.android.material.appbar.AppBarLayout,int) -> onOffsetChanged
+com.google.android.material.appbar.HeaderBehavior -> com.google.android.material.appbar.HeaderBehavior:
+ 45:50:void <init>() -> <init>
+ 45:54:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 241:241:boolean canDragView(android.view.View) -> canDragView
+ 254:257:void ensureVelocityTracker() -> ensureVelocityTracker
+ 202:227:boolean fling(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int,int,float) -> fling
+ 246:246:int getMaxDragOffset(android.view.View) -> getMaxDragOffset
+ 250:250:int getScrollRangeForDragFling(android.view.View) -> getScrollRangeForDragFling
+ 183:183:int getTopBottomOffsetForScrollingSibling() -> getTopBottomOffsetForScrollingSibling
+ 237:237:void onFlingFinished(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> onFlingFinished
+ 59:105:boolean onInterceptTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onInterceptTouchEvent
+ 111:154:boolean onTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onTouchEvent
+ 188:191:int scroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int,int,int) -> scroll
+ 158:158:int setHeaderTopBottomOffset(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> setHeaderTopBottomOffset
+ 164:179:int setHeaderTopBottomOffset(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int,int,int) -> setHeaderTopBottomOffset
+com.google.android.material.appbar.HeaderBehavior$FlingRunnable -> com.google.android.material.appbar.HeaderBehavior$FlingRunnable:
+ 263:266:void <init>(com.google.android.material.appbar.HeaderBehavior,androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> <init>
+ 270:279:void run() -> run
+com.google.android.material.appbar.HeaderScrollingViewBehavior -> com.google.android.material.appbar.HeaderScrollingViewBehavior:
+ 41:47:void <init>() -> <init>
+ 41:51:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 166:168:int getOverlapPixelsForOffset(android.view.View) -> getOverlapPixelsForOffset
+ 162:162:float getOverlapRatioForOffset(android.view.View) -> getOverlapRatioForOffset
+ 204:204:int getOverlayTop() -> getOverlayTop
+ 179:179:int getScrollRange(android.view.View) -> getScrollRange
+ 186:186:int getVerticalLayoutGap() -> getVerticalLayoutGap
+ 113:155:void layoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> layoutChild
+ 61:105:boolean onMeasureChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int,int,int,int) -> onMeasureChild
+ 172:172:int resolveGravity(int) -> resolveGravity
+ 196:197:void setOverlayTop(int) -> setOverlayTop
+ 158:158:boolean shouldHeaderOverlapScrollingChild() -> shouldHeaderOverlapScrollingChild
+com.google.android.material.appbar.MaterialToolbar -> com.google.android.material.appbar.MaterialToolbar:
+ 70:70:void <clinit>() -> <clinit>
+ 77:78:void <init>(android.content.Context) -> <init>
+ 81:82:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 85:103:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 137:154:android.util.Pair calculateTitleBoundLimits(android.widget.TextView,android.widget.TextView) -> calculateTitleBoundLimits
+ 264:275:void initBackground(android.content.Context) -> initBackground
+ 260:260:boolean isSubtitleCentered() -> isSubtitleCentered
+ 236:236:boolean isTitleCentered() -> isTitleCentered
+ 159:179:void layoutTitleCenteredHorizontally(android.view.View,android.util.Pair) -> layoutTitleCenteredHorizontally
+ 113:133:void maybeCenterTitleViews() -> maybeCenterTitleViews
+ 279:284:android.graphics.drawable.Drawable maybeTintNavigationIcon(android.graphics.drawable.Drawable) -> maybeTintNavigationIcon
+ 183:186:void onAttachedToWindow() -> onAttachedToWindow
+ 107:110:void onLayout(boolean,int,int,int,int) -> onLayout
+ 191:194:void setElevation(float) -> setElevation
+ 198:199:void setNavigationIcon(android.graphics.drawable.Drawable) -> setNavigationIcon
+ 207:213:void setNavigationIconTint(int) -> setNavigationIconTint
+ 247:251:void setSubtitleCentered(boolean) -> setSubtitleCentered
+ 223:227:void setTitleCentered(boolean) -> setTitleCentered
+com.google.android.material.appbar.ViewOffsetBehavior -> com.google.android.material.appbar.ViewOffsetBehavior:
+ 30:33:void <init>() -> <init>
+ 30:37:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 92:92:int getLeftAndRightOffset() -> getLeftAndRightOffset
+ 88:88:int getTopAndBottomOffset() -> getTopAndBottomOffset
+ 112:112:boolean isHorizontalOffsetEnabled() -> isHorizontalOffsetEnabled
+ 102:102:boolean isVerticalOffsetEnabled() -> isVerticalOffsetEnabled
+ 66:67:void layoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> layoutChild
+ 43:60:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 106:109:void setHorizontalOffsetEnabled(boolean) -> setHorizontalOffsetEnabled
+ 79:84:boolean setLeftAndRightOffset(int) -> setLeftAndRightOffset
+ 70:75:boolean setTopAndBottomOffset(int) -> setTopAndBottomOffset
+ 96:99:void setVerticalOffsetEnabled(boolean) -> setVerticalOffsetEnabled
+com.google.android.material.appbar.ViewOffsetHelper -> com.google.android.material.appbar.ViewOffsetHelper:
+ 37:42:void <init>(android.view.View) -> <init>
+ 51:53:void applyOffsets() -> applyOffsets
+ 98:98:int getLayoutLeft() -> getLayoutLeft
+ 94:94:int getLayoutTop() -> getLayoutTop
+ 90:90:int getLeftAndRightOffset() -> getLeftAndRightOffset
+ 86:86:int getTopAndBottomOffset() -> getTopAndBottomOffset
+ 114:114:boolean isHorizontalOffsetEnabled() -> isHorizontalOffsetEnabled
+ 106:106:boolean isVerticalOffsetEnabled() -> isVerticalOffsetEnabled
+ 46:48:void onViewLayout() -> onViewLayout
+ 110:111:void setHorizontalOffsetEnabled(boolean) -> setHorizontalOffsetEnabled
+ 77:82:boolean setLeftAndRightOffset(int) -> setLeftAndRightOffset
+ 62:67:boolean setTopAndBottomOffset(int) -> setTopAndBottomOffset
+ 102:103:void setVerticalOffsetEnabled(boolean) -> setVerticalOffsetEnabled
+com.google.android.material.appbar.ViewUtilsLollipop -> com.google.android.material.appbar.ViewUtilsLollipop:
+ 36:36:void <clinit>() -> <clinit>
+ 34:34:void <init>() -> <init>
+ 39:40:void setBoundsViewOutlineProvider(android.view.View) -> setBoundsViewOutlineProvider
+ 62:80:void setDefaultAppBarLayoutStateListAnimator(android.view.View,float) -> setDefaultAppBarLayoutStateListAnimator
+ 44:57:void setStateListAnimatorFromAttrs(android.view.View,android.util.AttributeSet,int,int) -> setStateListAnimatorFromAttrs
+com.google.android.material.badge.BadgeDrawable -> com.google.android.material.badge.BadgeDrawable:
+ 165:166:void <clinit>() -> <clinit>
+ 425:440:void <init>(android.content.Context) -> <init>
+ 929:981:void calculateCenterAndBounds(android.content.Context,android.graphics.Rect,android.view.View) -> calculateCenterAndBounds
+ 654:656:void clearNumber() -> clearNumber
+ 310:310:com.google.android.material.badge.BadgeDrawable create(android.content.Context) -> create
+ 342:344:com.google.android.material.badge.BadgeDrawable createFromAttributes(android.content.Context,android.util.AttributeSet,int,int) -> createFromAttributes
+ 327:332:com.google.android.material.badge.BadgeDrawable createFromResource(android.content.Context,int) -> createFromResource
+ 302:304:com.google.android.material.badge.BadgeDrawable createFromSavedState(android.content.Context,com.google.android.material.badge.BadgeDrawable$SavedState) -> createFromSavedState
+ 745:753:void draw(android.graphics.Canvas) -> draw
+ 984:992:void drawText(android.graphics.Canvas) -> drawText
+ 841:841:int getAdditionalHorizontalOffset() -> getAdditionalHorizontalOffset
+ 873:873:int getAdditionalVerticalOffset() -> getAdditionalVerticalOffset
+ 716:716:int getAlpha() -> getAlpha
+ 570:570:int getBackgroundColor() -> getBackgroundColor
+ 686:686:int getBadgeGravity() -> getBadgeGravity
+ 997:1007:java.lang.String getBadgeText() -> getBadgeText
+ 596:596:int getBadgeTextColor() -> getBadgeTextColor
+ 786:808:java.lang.CharSequence getContentDescription() -> getContentDescription
+ 511:511:android.widget.FrameLayout getCustomBadgeParent() -> getCustomBadgeParent
+ 827:827:int getHorizontalOffset() -> getHorizontalOffset
+ 734:734:int getIntrinsicHeight() -> getIntrinsicHeight
+ 740:740:int getIntrinsicWidth() -> getIntrinsicWidth
+ 665:665:int getMaxCharacterCount() -> getMaxCharacterCount
+ 628:631:int getNumber() -> getNumber
+ 728:728:int getOpacity() -> getOpacity
+ 295:295:com.google.android.material.badge.BadgeDrawable$SavedState getSavedState() -> getSavedState
+ 859:859:int getVerticalOffset() -> getVerticalOffset
+ 615:615:boolean hasNumber() -> hasNumber
+ 706:706:boolean isStateful() -> isStateful
+ 390:418:void loadDefaultStateFromAttributes(android.content.Context,android.util.AttributeSet,int,int) -> loadDefaultStateFromAttributes
+ 768:768:boolean onStateChange(int[]) -> onStateChange
+ 763:764:void onTextSizeChange() -> onTextSizeChange
+ 422:422:int readColorFromAttributes(android.content.Context,android.content.res.TypedArray,int) -> readColorFromAttributes
+ 362:386:void restoreFromSavedState(com.google.android.material.badge.BadgeDrawable$SavedState) -> restoreFromSavedState
+ 836:838:void setAdditionalHorizontalOffset(int) -> setAdditionalHorizontalOffset
+ 868:870:void setAdditionalVerticalOffset(int) -> setAdditionalVerticalOffset
+ 721:724:void setAlpha(int) -> setAlpha
+ 580:586:void setBackgroundColor(int) -> setBackgroundColor
+ 695:702:void setBadgeGravity(int) -> setBadgeGravity
+ 606:611:void setBadgeTextColor(int) -> setBadgeTextColor
+ 712:712:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 781:782:void setContentDescriptionExceedsMaxBadgeNumberStringResource(int) -> setContentDescriptionExceedsMaxBadgeNumberStringResource
+ 772:773:void setContentDescriptionNumberless(java.lang.CharSequence) -> setContentDescriptionNumberless
+ 776:777:void setContentDescriptionQuantityStringsResource(int) -> setContentDescriptionQuantityStringsResource
+ 818:820:void setHorizontalOffset(int) -> setHorizontalOffset
+ 675:682:void setMaxCharacterCount(int) -> setMaxCharacterCount
+ 643:650:void setNumber(int) -> setNumber
+ 885:894:void setTextAppearance(com.google.android.material.resources.TextAppearance) -> setTextAppearance
+ 877:882:void setTextAppearanceResource(int) -> setTextAppearanceResource
+ 850:852:void setVerticalOffset(int) -> setVerticalOffset
+ 352:359:void setVisible(boolean) -> setVisible
+ 519:554:void tryWrapAnchorInCompatParent(android.view.View) -> tryWrapAnchorInCompatParent
+ 557:560:void updateAnchorParentToNotClip(android.view.View) -> updateAnchorParentToNotClip
+ 456:460:void updateBadgeCoordinates(android.view.View,android.view.ViewGroup) -> updateBadgeCoordinates
+ 475:476:void updateBadgeCoordinates(android.view.View) -> updateBadgeCoordinates
+ 494:506:void updateBadgeCoordinates(android.view.View,android.widget.FrameLayout) -> updateBadgeCoordinates
+ 897:925:void updateCenterAndBounds() -> updateCenterAndBounds
+ 1013:1014:void updateMaxBadgeNumber() -> updateMaxBadgeNumber
+com.google.android.material.badge.BadgeDrawable$1 -> com.google.android.material.badge.BadgeDrawable$1:
+ 548:548:void <init>(com.google.android.material.badge.BadgeDrawable,android.view.View,android.widget.FrameLayout) -> <init>
+ 551:552:void run() -> run
+com.google.android.material.badge.BadgeDrawable$SavedState -> com.google.android.material.badge.BadgeDrawable$SavedState:
+ 255:255:void <clinit>() -> <clinit>
+ 204:237:void <init>(android.content.Context) -> <init>
+ 204:253:void <init>(android.os.Parcel) -> <init>
+ 200:200:boolean access$000(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$000
+ 200:200:boolean access$002(com.google.android.material.badge.BadgeDrawable$SavedState,boolean) -> access$002
+ 200:200:int access$100(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$100
+ 200:200:int access$1000(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$1000
+ 200:200:int access$1002(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$1002
+ 200:200:int access$102(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$102
+ 200:200:java.lang.CharSequence access$1100(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$1100
+ 200:200:java.lang.CharSequence access$1102(com.google.android.material.badge.BadgeDrawable$SavedState,java.lang.CharSequence) -> access$1102
+ 200:200:int access$1200(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$1200
+ 200:200:int access$1202(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$1202
+ 200:200:int access$1300(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$1300
+ 200:200:int access$1302(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$1302
+ 200:200:int access$200(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$200
+ 200:200:int access$202(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$202
+ 200:200:int access$300(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$300
+ 200:200:int access$302(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$302
+ 200:200:int access$400(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$400
+ 200:200:int access$402(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$402
+ 200:200:int access$500(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$500
+ 200:200:int access$502(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$502
+ 200:200:int access$600(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$600
+ 200:200:int access$602(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$602
+ 200:200:int access$700(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$700
+ 200:200:int access$702(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$702
+ 200:200:int access$800(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$800
+ 200:200:int access$802(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$802
+ 200:200:int access$900(com.google.android.material.badge.BadgeDrawable$SavedState) -> access$900
+ 200:200:int access$902(com.google.android.material.badge.BadgeDrawable$SavedState,int) -> access$902
+ 272:272:int describeContents() -> describeContents
+ 277:290:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.badge.BadgeDrawable$SavedState$1 -> com.google.android.material.badge.BadgeDrawable$SavedState$1:
+ 256:256:void <init>() -> <init>
+ 256:256:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 260:260:com.google.android.material.badge.BadgeDrawable$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 256:256:java.lang.Object[] newArray(int) -> newArray
+ 266:266:com.google.android.material.badge.BadgeDrawable$SavedState[] newArray(int) -> newArray
+com.google.android.material.badge.BadgeUtils -> com.google.android.material.badge.BadgeUtils:
+ 48:48:void <clinit>() -> <clinit>
+ 52:54:void <init>() -> <init>
+ 76:77:void attachBadgeDrawable(com.google.android.material.badge.BadgeDrawable,android.view.View) -> attachBadgeDrawable
+ 89:101:void attachBadgeDrawable(com.google.android.material.badge.BadgeDrawable,android.view.View,android.widget.FrameLayout) -> attachBadgeDrawable
+ 110:111:void attachBadgeDrawable(com.google.android.material.badge.BadgeDrawable,androidx.appcompat.widget.Toolbar,int) -> attachBadgeDrawable
+ 126:138:void attachBadgeDrawable(com.google.android.material.badge.BadgeDrawable,androidx.appcompat.widget.Toolbar,int,android.widget.FrameLayout) -> attachBadgeDrawable
+ 243:253:android.util.SparseArray createBadgeDrawablesFromSavedStates(android.content.Context,com.google.android.material.internal.ParcelableSparseArray) -> createBadgeDrawablesFromSavedStates
+ 218:227:com.google.android.material.internal.ParcelableSparseArray createParcelableBadgeStates(android.util.SparseArray) -> createParcelableBadgeStates
+ 147:155:void detachBadgeDrawable(com.google.android.material.badge.BadgeDrawable,android.view.View) -> detachBadgeDrawable
+ 164:174:void detachBadgeDrawable(com.google.android.material.badge.BadgeDrawable,androidx.appcompat.widget.Toolbar,int) -> detachBadgeDrawable
+ 188:190:void removeToolbarOffset(com.google.android.material.badge.BadgeDrawable) -> removeToolbarOffset
+ 200:204:void setBadgeDrawableBounds(com.google.android.material.badge.BadgeDrawable,android.view.View,android.widget.FrameLayout) -> setBadgeDrawableBounds
+ 178:184:void setToolbarOffset(com.google.android.material.badge.BadgeDrawable,android.content.res.Resources) -> setToolbarOffset
+ 67:72:void updateBadgeBounds(android.graphics.Rect,float,float,float,float) -> updateBadgeBounds
+com.google.android.material.badge.BadgeUtils$1 -> com.google.android.material.badge.BadgeUtils$1:
+ 127:127:void <init>(androidx.appcompat.widget.Toolbar,int,com.google.android.material.badge.BadgeDrawable,android.widget.FrameLayout) -> <init>
+ 130:136:void run() -> run
+com.google.android.material.behavior.HideBottomViewOnScrollBehavior -> com.google.android.material.behavior.HideBottomViewOnScrollBehavior:
+ 47:52:void <init>() -> <init>
+ 47:56:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 39:39:android.view.ViewPropertyAnimator access$002(com.google.android.material.behavior.HideBottomViewOnScrollBehavior,android.view.ViewPropertyAnimator) -> access$002
+ 151:164:void animateChildTo(android.view.View,int,long,android.animation.TimeInterpolator) -> animateChildTo
+ 61:64:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 103:108:void onNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 89:89:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 74:79:void setAdditionalHiddenOffsetY(android.view.View,int) -> setAdditionalHiddenOffsetY
+ 133:147:void slideDown(android.view.View) -> slideDown
+ 115:126:void slideUp(android.view.View) -> slideUp
+com.google.android.material.behavior.HideBottomViewOnScrollBehavior$1 -> com.google.android.material.behavior.HideBottomViewOnScrollBehavior$1:
+ 158:158:void <init>(com.google.android.material.behavior.HideBottomViewOnScrollBehavior) -> <init>
+ 161:162:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.behavior.SwipeDismissBehavior -> com.google.android.material.behavior.SwipeDismissBehavior:
+ 43:231:void <init>() -> <init>
+ 228:228:boolean canSwipeDismissView(android.view.View) -> canSwipeDismissView
+ 439:439:float clamp(float,float,float) -> clamp
+ 443:443:int clamp(int,int,int) -> clamp
+ 379:385:void ensureViewDragHelper(android.view.ViewGroup) -> ensureViewDragHelper
+ 458:458:float fraction(float,float,float) -> fraction
+ 453:453:int getDragState() -> getDragState
+ 123:123:com.google.android.material.behavior.SwipeDismissBehavior$OnDismissListener getListener() -> getListener
+ 190:209:boolean onInterceptTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onInterceptTouchEvent
+ 178:184:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 214:218:boolean onTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onTouchEvent
+ 142:143:void setDragDismissDistance(float) -> setDragDismissDistance
+ 160:161:void setEndAlphaSwipeDistance(float) -> setEndAlphaSwipeDistance
+ 117:118:void setListener(com.google.android.material.behavior.SwipeDismissBehavior$OnDismissListener) -> setListener
+ 171:173:void setSensitivity(float) -> setSensitivity
+ 151:152:void setStartAlphaSwipeDistance(float) -> setStartAlphaSwipeDistance
+ 133:134:void setSwipeDirection(int) -> setSwipeDirection
+ 409:436:void updateAccessibilityActions(android.view.View) -> updateAccessibilityActions
+com.google.android.material.behavior.SwipeDismissBehavior$1 -> com.google.android.material.behavior.SwipeDismissBehavior$1:
+ 232:236:void <init>(com.google.android.material.behavior.SwipeDismissBehavior) -> <init>
+ 325:351:int clampViewPositionHorizontal(android.view.View,int,int) -> clampViewPositionHorizontal
+ 356:356:int clampViewPositionVertical(android.view.View,int,int) -> clampViewPositionVertical
+ 320:320:int getViewHorizontalDragRange(android.view.View) -> getViewHorizontalDragRange
+ 247:256:void onViewCaptured(android.view.View,int) -> onViewCaptured
+ 260:263:void onViewDragStateChanged(int) -> onViewDragStateChanged
+ 361:375:void onViewPositionChanged(android.view.View,int,int,int,int) -> onViewPositionChanged
+ 268:290:void onViewReleased(android.view.View,float,float) -> onViewReleased
+ 293:315:boolean shouldDismiss(android.view.View,float) -> shouldDismiss
+ 241:242:boolean tryCaptureView(android.view.View,int) -> tryCaptureView
+com.google.android.material.behavior.SwipeDismissBehavior$2 -> com.google.android.material.behavior.SwipeDismissBehavior$2:
+ 415:415:void <init>(com.google.android.material.behavior.SwipeDismissBehavior) -> <init>
+ 418:432:boolean perform(android.view.View,androidx.core.view.accessibility.AccessibilityViewCommand$CommandArguments) -> perform
+com.google.android.material.behavior.SwipeDismissBehavior$SettleRunnable -> com.google.android.material.behavior.SwipeDismissBehavior$SettleRunnable:
+ 391:394:void <init>(com.google.android.material.behavior.SwipeDismissBehavior,android.view.View,boolean) -> <init>
+ 398:405:void run() -> run
+com.google.android.material.bottomappbar.BottomAppBar -> com.google.android.material.bottomappbar.BottomAppBar:
+ 111:111:void <clinit>() -> <clinit>
+ 236:237:void <init>(android.content.Context) -> <init>
+ 240:241:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 140:331:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 109:109:boolean access$000(com.google.android.material.bottomappbar.BottomAppBar) -> access$000
+ 109:109:boolean access$002(com.google.android.material.bottomappbar.BottomAppBar,boolean) -> access$002
+ 109:109:int access$100(com.google.android.material.bottomappbar.BottomAppBar) -> access$100
+ 109:109:boolean access$1000(com.google.android.material.bottomappbar.BottomAppBar) -> access$1000
+ 109:109:int access$1100(com.google.android.material.bottomappbar.BottomAppBar) -> access$1100
+ 109:109:int access$1102(com.google.android.material.bottomappbar.BottomAppBar,int) -> access$1102
+ 109:109:void access$1200(com.google.android.material.bottomappbar.BottomAppBar) -> access$1200
+ 109:109:void access$1300(com.google.android.material.bottomappbar.BottomAppBar) -> access$1300
+ 109:109:void access$1400(com.google.android.material.bottomappbar.BottomAppBar) -> access$1400
+ 109:109:void access$1500(com.google.android.material.bottomappbar.BottomAppBar) -> access$1500
+ 109:109:void access$1600(com.google.android.material.bottomappbar.BottomAppBar) -> access$1600
+ 109:109:android.animation.Animator access$1702(com.google.android.material.bottomappbar.BottomAppBar,android.animation.Animator) -> access$1702
+ 109:109:float access$1800(com.google.android.material.bottomappbar.BottomAppBar,int) -> access$1800
+ 109:109:android.animation.Animator access$1902(com.google.android.material.bottomappbar.BottomAppBar,android.animation.Animator) -> access$1902
+ 109:109:boolean access$200(com.google.android.material.bottomappbar.BottomAppBar) -> access$200
+ 109:109:int access$2000(com.google.android.material.bottomappbar.BottomAppBar) -> access$2000
+ 109:109:void access$2100(com.google.android.material.bottomappbar.BottomAppBar,androidx.appcompat.widget.ActionMenuView,int,boolean,boolean) -> access$2100
+ 109:109:com.google.android.material.floatingactionbutton.FloatingActionButton access$2200(com.google.android.material.bottomappbar.BottomAppBar) -> access$2200
+ 109:109:float access$2300(com.google.android.material.bottomappbar.BottomAppBar) -> access$2300
+ 109:109:int access$2700(com.google.android.material.bottomappbar.BottomAppBar) -> access$2700
+ 109:109:int access$2800(com.google.android.material.bottomappbar.BottomAppBar) -> access$2800
+ 109:109:int access$2900(com.google.android.material.bottomappbar.BottomAppBar) -> access$2900
+ 109:109:void access$300(com.google.android.material.bottomappbar.BottomAppBar,int,boolean) -> access$300
+ 109:109:int access$3000(com.google.android.material.bottomappbar.BottomAppBar) -> access$3000
+ 109:109:android.view.View access$3100(com.google.android.material.bottomappbar.BottomAppBar) -> access$3100
+ 109:109:void access$3200(com.google.android.material.bottomappbar.BottomAppBar,com.google.android.material.floatingactionbutton.FloatingActionButton) -> access$3200
+ 109:109:com.google.android.material.shape.MaterialShapeDrawable access$400(com.google.android.material.bottomappbar.BottomAppBar) -> access$400
+ 109:109:com.google.android.material.bottomappbar.BottomAppBarTopEdgeTreatment access$500(com.google.android.material.bottomappbar.BottomAppBar) -> access$500
+ 109:109:boolean access$600(com.google.android.material.bottomappbar.BottomAppBar) -> access$600
+ 109:109:int access$702(com.google.android.material.bottomappbar.BottomAppBar,int) -> access$702
+ 109:109:boolean access$800(com.google.android.material.bottomappbar.BottomAppBar) -> access$800
+ 109:109:int access$900(com.google.android.material.bottomappbar.BottomAppBar) -> access$900
+ 109:109:int access$902(com.google.android.material.bottomappbar.BottomAppBar,int) -> access$902
+ 509:513:void addAnimationListener(com.google.android.material.bottomappbar.BottomAppBar$AnimationListener) -> addAnimationListener
+ 936:951:void addFabAnimationListeners(com.google.android.material.floatingactionbutton.FloatingActionButton) -> addFabAnimationListeners
+ 872:878:void cancelAnimations() -> cancelAnimations
+ 634:656:void createFabDefaultXAnimation(int,java.util.List) -> createFabDefaultXAnimation
+ 660:664:void createFabTranslationXAnimation(int,java.util.List) -> createFabTranslationXAnimation
+ 714:760:void createMenuViewTranslationAnimation(int,boolean,java.util.List) -> createMenuViewTranslationAnimation
+ 532:538:void dispatchAnimationEnd() -> dispatchAnimationEnd
+ 523:529:void dispatchAnimationStart() -> dispatchAnimationStart
+ 599:600:com.google.android.material.floatingactionbutton.FloatingActionButton findDependentFab() -> findDependentFab
+ 605:617:android.view.View findDependentView() -> findDependentView
+ 783:790:androidx.appcompat.widget.ActionMenuView getActionMenuView() -> getActionMenuView
+ 841:868:int getActionMenuViewTranslationX(androidx.appcompat.widget.ActionMenuView,int,boolean) -> getActionMenuViewTranslationX
+ 400:400:android.content.res.ColorStateList getBackgroundTint() -> getBackgroundTint
+ 109:109:androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior getBehavior() -> getBehavior
+ 978:981:com.google.android.material.bottomappbar.BottomAppBar$Behavior getBehavior() -> getBehavior
+ 954:954:int getBottomInset() -> getBottomInset
+ 440:440:float getCradleVerticalOffset() -> getCradleVerticalOffset
+ 339:339:int getFabAlignmentMode() -> getFabAlignmentMode
+ 380:380:int getFabAnimationMode() -> getFabAnimationMode
+ 407:407:float getFabCradleMargin() -> getFabCradleMargin
+ 423:423:float getFabCradleRoundedCornerRadius() -> getFabCradleRoundedCornerRadius
+ 767:773:float getFabTranslationX(int) -> getFabTranslationX
+ 778:778:float getFabTranslationX() -> getFabTranslationX
+ 763:763:float getFabTranslationY() -> getFabTranslationY
+ 462:462:boolean getHideOnScroll() -> getHideOnScroll
+ 962:962:int getLeftInset() -> getLeftInset
+ 958:958:int getRightInset() -> getRightInset
+ 900:901:com.google.android.material.bottomappbar.BottomAppBarTopEdgeTreatment getTopEdgeTreatment() -> getTopEdgeTreatment
+ 621:622:boolean isFabVisibleOrWillBeShown() -> isFabVisibleOrWillBeShown
+ 667:707:void maybeAnimateMenuView(int,boolean) -> maybeAnimateMenuView
+ 562:595:void maybeAnimateModeChange(int) -> maybeAnimateModeChange
+ 986:995:void onAttachedToWindow() -> onAttachedToWindow
+ 882:896:void onLayout(boolean,int,int,int,int) -> onLayout
+ 1144:1152:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 1135:1139:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 476:477:void performHide() -> performHide
+ 481:482:void performShow() -> performShow
+ 516:520:void removeAnimationListener(com.google.android.material.bottomappbar.BottomAppBar$AnimationListener) -> removeAnimationListener
+ 499:505:void replaceMenu(int) -> replaceMenu
+ 916:927:void setActionMenuViewPosition() -> setActionMenuViewPosition
+ 395:396:void setBackgroundTint(android.content.res.ColorStateList) -> setBackgroundTint
+ 449:454:void setCradleVerticalOffset(float) -> setCradleVerticalOffset
+ 906:913:void setCutoutState() -> setCutoutState
+ 486:491:void setElevation(float) -> setElevation
+ 350:351:void setFabAlignmentMode(int) -> setFabAlignmentMode
+ 367:372:void setFabAlignmentModeAndReplaceMenu(int,int) -> setFabAlignmentModeAndReplaceMenu
+ 391:392:void setFabAnimationMode(int) -> setFabAnimationMode
+ 555:559:void setFabCornerSize(float) -> setFabCornerSize
+ 414:418:void setFabCradleMargin(float) -> setFabCradleMargin
+ 428:432:void setFabCradleRoundedCornerRadius(float) -> setFabCradleRoundedCornerRadius
+ 545:551:boolean setFabDiameter(int) -> setFabDiameter
+ 471:472:void setHideOnScroll(boolean) -> setHideOnScroll
+ 973:973:void setSubtitle(java.lang.CharSequence) -> setSubtitle
+ 968:968:void setTitle(java.lang.CharSequence) -> setTitle
+ 797:798:void translateActionMenuView(androidx.appcompat.widget.ActionMenuView,int,boolean) -> translateActionMenuView
+ 815:829:void translateActionMenuView(androidx.appcompat.widget.ActionMenuView,int,boolean,boolean) -> translateActionMenuView
+com.google.android.material.bottomappbar.BottomAppBar$1 -> com.google.android.material.bottomappbar.BottomAppBar$1:
+ 193:193:void <init>(com.google.android.material.bottomappbar.BottomAppBar) -> <init>
+ 200:203:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.bottomappbar.BottomAppBar$2 -> com.google.android.material.bottomappbar.BottomAppBar$2:
+ 209:209:void <init>(com.google.android.material.bottomappbar.BottomAppBar) -> <init>
+ 209:209:void onScaleChanged(android.view.View) -> onScaleChanged
+ 212:214:void onScaleChanged(com.google.android.material.floatingactionbutton.FloatingActionButton) -> onScaleChanged
+ 209:209:void onTranslationChanged(android.view.View) -> onTranslationChanged
+ 218:232:void onTranslationChanged(com.google.android.material.floatingactionbutton.FloatingActionButton) -> onTranslationChanged
+com.google.android.material.bottomappbar.BottomAppBar$3 -> com.google.android.material.bottomappbar.BottomAppBar$3:
+ 296:296:void <init>(com.google.android.material.bottomappbar.BottomAppBar) -> <init>
+ 305:328:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat,com.google.android.material.internal.ViewUtils$RelativePadding) -> onApplyWindowInsets
+com.google.android.material.bottomappbar.BottomAppBar$4 -> com.google.android.material.bottomappbar.BottomAppBar$4:
+ 582:582:void <init>(com.google.android.material.bottomappbar.BottomAppBar) -> <init>
+ 590:592:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 585:586:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.bottomappbar.BottomAppBar$5 -> com.google.android.material.bottomappbar.BottomAppBar$5:
+ 643:643:void <init>(com.google.android.material.bottomappbar.BottomAppBar,int) -> <init>
+ 646:654:void onHidden(com.google.android.material.floatingactionbutton.FloatingActionButton) -> onHidden
+com.google.android.material.bottomappbar.BottomAppBar$5$1 -> com.google.android.material.bottomappbar.BottomAppBar$5$1:
+ 648:648:void <init>(com.google.android.material.bottomappbar.BottomAppBar$5) -> <init>
+ 651:652:void onShown(com.google.android.material.floatingactionbutton.FloatingActionButton) -> onShown
+com.google.android.material.bottomappbar.BottomAppBar$6 -> com.google.android.material.bottomappbar.BottomAppBar$6:
+ 693:693:void <init>(com.google.android.material.bottomappbar.BottomAppBar) -> <init>
+ 701:704:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 696:697:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.bottomappbar.BottomAppBar$7 -> com.google.android.material.bottomappbar.BottomAppBar$7:
+ 733:733:void <init>(com.google.android.material.bottomappbar.BottomAppBar,androidx.appcompat.widget.ActionMenuView,int,boolean) -> <init>
+ 738:739:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 743:748:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.bottomappbar.BottomAppBar$8 -> com.google.android.material.bottomappbar.BottomAppBar$8:
+ 815:815:void <init>(com.google.android.material.bottomappbar.BottomAppBar,androidx.appcompat.widget.ActionMenuView,int,boolean) -> <init>
+ 818:820:void run() -> run
+com.google.android.material.bottomappbar.BottomAppBar$9 -> com.google.android.material.bottomappbar.BottomAppBar$9:
+ 938:938:void <init>(com.google.android.material.bottomappbar.BottomAppBar) -> <init>
+ 941:948:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.bottomappbar.BottomAppBar$Behavior -> com.google.android.material.bottomappbar.BottomAppBar$Behavior:
+ 1009:1074:void <init>() -> <init>
+ 1009:1079:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1001:1001:java.lang.ref.WeakReference access$2400(com.google.android.material.bottomappbar.BottomAppBar$Behavior) -> access$2400
+ 1001:1001:android.graphics.Rect access$2500(com.google.android.material.bottomappbar.BottomAppBar$Behavior) -> access$2500
+ 1001:1001:int access$2600(com.google.android.material.bottomappbar.BottomAppBar$Behavior) -> access$2600
+ 1001:1001:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 1084:1114:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.bottomappbar.BottomAppBar,int) -> onLayoutChild
+ 1001:1001:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 1126:1127:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.bottomappbar.BottomAppBar,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+com.google.android.material.bottomappbar.BottomAppBar$Behavior$1 -> com.google.android.material.bottomappbar.BottomAppBar$Behavior$1:
+ 1010:1010:void <init>(com.google.android.material.bottomappbar.BottomAppBar$Behavior) -> <init>
+ 1022:1069:void onLayoutChange(android.view.View,int,int,int,int,int,int,int,int) -> onLayoutChange
+com.google.android.material.bottomappbar.BottomAppBar$SavedState -> com.google.android.material.bottomappbar.BottomAppBar$SavedState:
+ 1175:1175:void <clinit>() -> <clinit>
+ 1159:1160:void <init>(android.os.Parcelable) -> <init>
+ 1163:1166:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 1170:1173:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.bottomappbar.BottomAppBar$SavedState$1 -> com.google.android.material.bottomappbar.BottomAppBar$SavedState$1:
+ 1176:1176:void <init>() -> <init>
+ 1176:1176:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 1176:1176:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1180:1180:com.google.android.material.bottomappbar.BottomAppBar$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1186:1186:com.google.android.material.bottomappbar.BottomAppBar$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 1176:1176:java.lang.Object[] newArray(int) -> newArray
+ 1192:1192:com.google.android.material.bottomappbar.BottomAppBar$SavedState[] newArray(int) -> newArray
+com.google.android.material.bottomappbar.BottomAppBarTopEdgeTreatment -> com.google.android.material.bottomappbar.BottomAppBarTopEdgeTreatment:
+ 53:69:void <init>(float,float,float) -> <init>
+ 223:223:float getCradleVerticalOffset() -> getCradleVerticalOffset
+ 74:180:void getEdgePath(float,float,float,com.google.android.material.shape.ShapePath) -> getEdgePath
+ 255:255:float getFabCornerRadius() -> getFabCornerRadius
+ 239:239:float getFabCradleMargin() -> getFabCradleMargin
+ 247:247:float getFabCradleRoundedCornerRadius() -> getFabCradleRoundedCornerRadius
+ 189:189:float getFabDiameter() -> getFabDiameter
+ 214:214:float getHorizontalOffset() -> getHorizontalOffset
+ 232:236:void setCradleVerticalOffset(float) -> setCradleVerticalOffset
+ 259:260:void setFabCornerSize(float) -> setFabCornerSize
+ 243:244:void setFabCradleMargin(float) -> setFabCradleMargin
+ 251:252:void setFabCradleRoundedCornerRadius(float) -> setFabCradleRoundedCornerRadius
+ 199:200:void setFabDiameter(float) -> setFabDiameter
+ 204:205:void setHorizontalOffset(float) -> setHorizontalOffset
+com.google.android.material.bottomnavigation.BottomNavigationItemView -> com.google.android.material.bottomnavigation.BottomNavigationItemView:
+ 34:35:void <init>(android.content.Context) -> <init>
+ 46:46:int getItemDefaultMarginResId() -> getItemDefaultMarginResId
+ 40:40:int getItemLayoutResId() -> getItemLayoutResId
+com.google.android.material.bottomnavigation.BottomNavigationMenuView -> com.google.android.material.bottomnavigation.BottomNavigationMenuView:
+ 49:69:void <init>(android.content.Context) -> <init>
+ 197:197:com.google.android.material.navigation.NavigationBarItemView createNavigationBarItemView(android.content.Context) -> createNavigationBarItemView
+ 191:191:boolean isItemHorizontalTranslationEnabled() -> isItemHorizontalTranslationEnabled
+ 153:169:void onLayout(boolean,int,int,int,int) -> onLayout
+ 73:149:void onMeasure(int,int) -> onMeasure
+ 180:181:void setItemHorizontalTranslationEnabled(boolean) -> setItemHorizontalTranslationEnabled
+com.google.android.material.bottomnavigation.BottomNavigationView -> com.google.android.material.bottomnavigation.BottomNavigationView:
+ 89:90:void <init>(android.content.Context) -> <init>
+ 93:94:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 98:99:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 103:122:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 177:186:void addCompatibilityTopDivider(android.content.Context) -> addCompatibilityTopDivider
+ 160:160:com.google.android.material.navigation.NavigationBarMenuView createNavigationBarMenuView(android.content.Context) -> createNavigationBarMenuView
+ 152:152:int getMaxItemCount() -> getMaxItemCount
+ 147:147:boolean isItemHorizontalTranslationEnabled() -> isItemHorizontalTranslationEnabled
+ 132:137:void setItemHorizontalTranslationEnabled(boolean) -> setItemHorizontalTranslationEnabled
+ 212:213:void setOnNavigationItemReselectedListener(com.google.android.material.bottomnavigation.BottomNavigationView$OnNavigationItemReselectedListener) -> setOnNavigationItemReselectedListener
+ 199:200:void setOnNavigationItemSelectedListener(com.google.android.material.bottomnavigation.BottomNavigationView$OnNavigationItemSelectedListener) -> setOnNavigationItemSelectedListener
+ 168:168:boolean shouldDrawCompatibilityTopDivider() -> shouldDrawCompatibilityTopDivider
+com.google.android.material.bottomsheet.BottomSheetBehavior -> com.google.android.material.bottomsheet.BottomSheetBehavior:
+ 244:244:void <clinit>() -> <clinit>
+ 188:1470:void <init>() -> <init>
+ 188:1470:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 83:83:com.google.android.material.shape.MaterialShapeDrawable access$000(com.google.android.material.bottomsheet.BottomSheetBehavior) -> access$000
+ 83:83:boolean access$1000(com.google.android.material.bottomsheet.BottomSheetBehavior) -> access$1000
+ 83:83:int access$102(com.google.android.material.bottomsheet.BottomSheetBehavior,int) -> access$102
+ 83:83:int access$1100(com.google.android.material.bottomsheet.BottomSheetBehavior) -> access$1100
+ 83:83:boolean access$1200(com.google.android.material.bottomsheet.BottomSheetBehavior) -> access$1200
+ 83:83:boolean access$200(com.google.android.material.bottomsheet.BottomSheetBehavior) -> access$200
+ 83:83:int access$300(com.google.android.material.bottomsheet.BottomSheetBehavior) -> access$300
+ 83:83:int access$302(com.google.android.material.bottomsheet.BottomSheetBehavior,int) -> access$302
+ 83:83:boolean access$400(com.google.android.material.bottomsheet.BottomSheetBehavior) -> access$400
+ 83:83:boolean access$500(com.google.android.material.bottomsheet.BottomSheetBehavior) -> access$500
+ 83:83:int access$602(com.google.android.material.bottomsheet.BottomSheetBehavior,int) -> access$602
+ 83:83:void access$700(com.google.android.material.bottomsheet.BottomSheetBehavior,boolean) -> access$700
+ 83:83:boolean access$900(com.google.android.material.bottomsheet.BottomSheetBehavior) -> access$900
+ 1900:1903:int addAccessibilityActionForState(android.view.View,int,int) -> addAccessibilityActionForState
+ 1081:1084:void addBottomSheetCallback(com.google.android.material.bottomsheet.BottomSheetBehavior$BottomSheetCallback) -> addBottomSheetCallback
+ 1235:1242:void calculateCollapsedOffset() -> calculateCollapsedOffset
+ 1245:1246:void calculateHalfExpandedOffset() -> calculateHalfExpandedOffset
+ 1222:1231:int calculatePeekHeight() -> calculatePeekHeight
+ 1907:1907:androidx.core.view.accessibility.AccessibilityViewCommand createAccessibilityViewCommandForState(int) -> createAccessibilityViewCommandForState
+ 1309:1310:void createMaterialShapeDrawable(android.content.Context,android.util.AttributeSet,boolean) -> createMaterialShapeDrawable
+ 1317:1334:void createMaterialShapeDrawable(android.content.Context,android.util.AttributeSet,boolean,android.content.res.ColorStateList) -> createMaterialShapeDrawable
+ 1341:1353:void createShapeValueAnimator() -> createShapeValueAnimator
+ 1648:1649:void disableShapeAnimations() -> disableShapeAnimations
+ 1620:1630:void dispatchOnSlide(int) -> dispatchOnSlide
+ 1292:1304:android.view.View findScrollingChild(android.view.View) -> findScrollingChild
+ 1761:1770:com.google.android.material.bottomsheet.BottomSheetBehavior from(android.view.View) -> from
+ 960:962:int getExpandedOffset() -> getExpandedOffset
+ 932:932:float getHalfExpandedRatio() -> getHalfExpandedRatio
+ 1337:1337:com.google.android.material.shape.MaterialShapeDrawable getMaterialShapeDrawable() -> getMaterialShapeDrawable
+ 829:829:int getMaxWidth() -> getMaxWidth
+ 898:898:int getPeekHeight() -> getPeekHeight
+ 1634:1634:int getPeekHeightMin() -> getPeekHeightMin
+ 1050:1050:int getSaveFlags() -> getSaveFlags
+ 1013:1013:boolean getSkipCollapsed() -> getSkipCollapsed
+ 1168:1168:int getState() -> getState
+ 1414:1418:float getYVelocity() -> getYVelocity
+ 1028:1028:boolean isDraggable() -> isDraggable
+ 781:781:boolean isFitToContents() -> isFitToContents
+ 1136:1136:boolean isGestureInsetBottomIgnored() -> isGestureInsetBottomIgnored
+ 989:989:boolean isHideable() -> isHideable
+ 396:401:void onAttachedToLayoutParams(androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams) -> onAttachedToLayoutParams
+ 405:409:void onDetachedFromLayoutParams() -> onDetachedFromLayoutParams
+ 501:558:boolean onInterceptTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onInterceptTouchEvent
+ 414:495:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 766:771:boolean onNestedPreFling(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,float,float) -> onNestedPreFling
+ 614:660:void onNestedPreScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 757:757:void onNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 382:392:void onRestoreInstanceState(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.os.Parcelable) -> onRestoreInstanceState
+ 376:376:android.os.Parcelable onSaveInstanceState(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> onSaveInstanceState
+ 600:602:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 668:743:void onStopNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int) -> onStopNestedScroll
+ 564:589:boolean onTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onTouchEvent
+ 1092:1093:void removeBottomSheetCallback(com.google.android.material.bottomsheet.BottomSheetBehavior$BottomSheetCallback) -> removeBottomSheetCallback
+ 1895:1897:void replaceAccessibilityActionForState(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat$AccessibilityActionCompat,int) -> replaceAccessibilityActionForState
+ 1249:1254:void reset() -> reset
+ 1257:1274:void restoreOptionalState(com.google.android.material.bottomsheet.BottomSheetBehavior$SavedState) -> restoreOptionalState
+ 1062:1073:void setBottomSheetCallback(com.google.android.material.bottomsheet.BottomSheetBehavior$BottomSheetCallback) -> setBottomSheetCallback
+ 1024:1025:void setDraggable(boolean) -> setDraggable
+ 946:950:void setExpandedOffset(int) -> setExpandedOffset
+ 792:806:void setFitToContents(boolean) -> setFitToContents
+ 1129:1130:void setGestureInsetBottomIgnored(boolean) -> setGestureInsetBottomIgnored
+ 913:922:void setHalfExpandedRatio(float) -> setHalfExpandedRatio
+ 972:980:void setHideable(boolean) -> setHideable
+ 818:819:void setMaxWidth(int) -> setMaxWidth
+ 841:842:void setPeekHeight(int) -> setPeekHeight
+ 855:871:void setPeekHeight(int,boolean) -> setPeekHeight
+ 1040:1041:void setSaveFlags(int) -> setSaveFlags
+ 1001:1002:void setSkipCollapsed(boolean) -> setSkipCollapsed
+ 1103:1117:void setState(int) -> setState
+ 1172:1197:void setStateInternal(int) -> setStateInternal
+ 1782:1783:void setUpdateImportantForAccessibilityOnSiblings(boolean) -> setUpdateImportantForAccessibilityOnSiblings
+ 1358:1411:void setWindowInsetsListener(android.view.View) -> setWindowInsetsListener
+ 1423:1440:void settleToState(android.view.View,int) -> settleToState
+ 1140:1158:void settleToStatePendingLayout(int) -> settleToStatePendingLayout
+ 1277:1286:boolean shouldHide(android.view.View,float) -> shouldHide
+ 1443:1468:void startSettlingAnimation(android.view.View,int,int,boolean) -> startSettlingAnimation
+ 1841:1891:void updateAccessibilityActions() -> updateAccessibilityActions
+ 1200:1219:void updateDrawableForTargetState(int) -> updateDrawableForTargetState
+ 1786:1838:void updateImportantForAccessibility(boolean) -> updateImportantForAccessibility
+ 874:887:void updatePeekHeight(boolean) -> updatePeekHeight
+com.google.android.material.bottomsheet.BottomSheetBehavior$1 -> com.google.android.material.bottomsheet.BottomSheetBehavior$1:
+ 449:449:void <init>(com.google.android.material.bottomsheet.BottomSheetBehavior,android.view.View,android.view.ViewGroup$LayoutParams) -> <init>
+ 452:453:void run() -> run
+com.google.android.material.bottomsheet.BottomSheetBehavior$2 -> com.google.android.material.bottomsheet.BottomSheetBehavior$2:
+ 1149:1149:void <init>(com.google.android.material.bottomsheet.BottomSheetBehavior,android.view.View,int) -> <init>
+ 1152:1153:void run() -> run
+com.google.android.material.bottomsheet.BottomSheetBehavior$3 -> com.google.android.material.bottomsheet.BottomSheetBehavior$3:
+ 1344:1344:void <init>(com.google.android.material.bottomsheet.BottomSheetBehavior) -> <init>
+ 1347:1351:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.bottomsheet.BottomSheetBehavior$4 -> com.google.android.material.bottomsheet.BottomSheetBehavior$4:
+ 1370:1370:void <init>(com.google.android.material.bottomsheet.BottomSheetBehavior,boolean) -> <init>
+ 1374:1408:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat,com.google.android.material.internal.ViewUtils$RelativePadding) -> onApplyWindowInsets
+com.google.android.material.bottomsheet.BottomSheetBehavior$5 -> com.google.android.material.bottomsheet.BottomSheetBehavior$5:
+ 1471:1471:void <init>(com.google.android.material.bottomsheet.BottomSheetBehavior) -> <init>
+ 1606:1606:int clampViewPositionHorizontal(android.view.View,int,int) -> clampViewPositionHorizontal
+ 1600:1601:int clampViewPositionVertical(android.view.View,int,int) -> clampViewPositionVertical
+ 1611:1614:int getViewVerticalDragRange(android.view.View) -> getViewVerticalDragRange
+ 1499:1502:void onViewDragStateChanged(int) -> onViewDragStateChanged
+ 1494:1495:void onViewPositionChanged(android.view.View,int,int,int,int) -> onViewPositionChanged
+ 1513:1596:void onViewReleased(android.view.View,float,float) -> onViewReleased
+ 1506:1506:boolean releasedLow(android.view.View) -> releasedLow
+ 1475:1488:boolean tryCaptureView(android.view.View,int) -> tryCaptureView
+com.google.android.material.bottomsheet.BottomSheetBehavior$6 -> com.google.android.material.bottomsheet.BottomSheetBehavior$6:
+ 1907:1907:void <init>(com.google.android.material.bottomsheet.BottomSheetBehavior,int) -> <init>
+ 1910:1911:boolean perform(android.view.View,androidx.core.view.accessibility.AccessibilityViewCommand$CommandArguments) -> perform
+com.google.android.material.bottomsheet.BottomSheetBehavior$BottomSheetCallback -> com.google.android.material.bottomsheet.BottomSheetBehavior$BottomSheetCallback:
+ 87:87:void <init>() -> <init>
+com.google.android.material.bottomsheet.BottomSheetBehavior$SavedState -> com.google.android.material.bottomsheet.BottomSheetBehavior$SavedState:
+ 1730:1730:void <clinit>() -> <clinit>
+ 1684:1685:void <init>(android.os.Parcel) -> <init>
+ 1688:1695:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 1698:1704:void <init>(android.os.Parcelable,com.google.android.material.bottomsheet.BottomSheetBehavior) -> <init>
+ 1716:1718:void <init>(android.os.Parcelable,int) -> <init>
+ 1722:1728:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.bottomsheet.BottomSheetBehavior$SavedState$1 -> com.google.android.material.bottomsheet.BottomSheetBehavior$SavedState$1:
+ 1731:1731:void <init>() -> <init>
+ 1731:1731:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 1731:1731:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1735:1735:com.google.android.material.bottomsheet.BottomSheetBehavior$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1741:1741:com.google.android.material.bottomsheet.BottomSheetBehavior$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 1731:1731:java.lang.Object[] newArray(int) -> newArray
+ 1747:1747:com.google.android.material.bottomsheet.BottomSheetBehavior$SavedState[] newArray(int) -> newArray
+com.google.android.material.bottomsheet.BottomSheetBehavior$SettleRunnable -> com.google.android.material.bottomsheet.BottomSheetBehavior$SettleRunnable:
+ 1659:1662:void <init>(com.google.android.material.bottomsheet.BottomSheetBehavior,android.view.View,int) -> <init>
+ 1651:1651:boolean access$800(com.google.android.material.bottomsheet.BottomSheetBehavior$SettleRunnable) -> access$800
+ 1651:1651:boolean access$802(com.google.android.material.bottomsheet.BottomSheetBehavior$SettleRunnable,boolean) -> access$802
+ 1666:1672:void run() -> run
+com.google.android.material.bottomsheet.BottomSheetDialog -> com.google.android.material.bottomsheet.BottomSheetDialog:
+ 85:92:void <init>(android.content.Context) -> <init>
+ 78:396:void <init>(android.content.Context,int) -> <init>
+ 78:396:void <init>(android.content.Context,boolean,android.content.DialogInterface$OnCancelListener) -> <init>
+ 68:68:com.google.android.material.bottomsheet.BottomSheetBehavior$BottomSheetCallback access$000(com.google.android.material.bottomsheet.BottomSheetDialog) -> access$000
+ 68:68:com.google.android.material.bottomsheet.BottomSheetBehavior$BottomSheetCallback access$002(com.google.android.material.bottomsheet.BottomSheetDialog,com.google.android.material.bottomsheet.BottomSheetBehavior$BottomSheetCallback) -> access$002
+ 68:68:com.google.android.material.bottomsheet.BottomSheetBehavior access$100(com.google.android.material.bottomsheet.BottomSheetDialog) -> access$100
+ 68:68:android.widget.FrameLayout access$200(com.google.android.material.bottomsheet.BottomSheetDialog) -> access$200
+ 218:225:void cancel() -> cancel
+ 271:282:android.widget.FrameLayout ensureContainerAndBehavior() -> ensureContainerAndBehavior
+ 239:243:com.google.android.material.bottomsheet.BottomSheetBehavior getBehavior() -> getBehavior
+ 261:261:boolean getDismissWithAnimation() -> getDismissWithAnimation
+ 266:266:boolean getEdgeToEdgeEnabled() -> getEdgeToEdgeEnabled
+ 379:389:int getThemeResId(android.content.Context,int) -> getThemeResId
+ 177:198:void onAttachedToWindow() -> onAttachedToWindow
+ 127:144:void onCreate(android.os.Bundle) -> onCreate
+ 169:173:void onStart() -> onStart
+ 393:394:void removeDefaultCallback() -> removeDefaultCallback
+ 158:165:void setCancelable(boolean) -> setCancelable
+ 229:235:void setCanceledOnTouchOutside(boolean) -> setCanceledOnTouchOutside
+ 122:123:void setContentView(int) -> setContentView
+ 148:149:void setContentView(android.view.View) -> setContentView
+ 153:154:void setContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> setContentView
+ 253:254:void setDismissWithAnimation(boolean) -> setDismissWithAnimation
+ 481:490:void setLightStatusBar(android.view.View,boolean) -> setLightStatusBar
+ 368:375:boolean shouldWindowCloseOnTouchOutside() -> shouldWindowCloseOnTouchOutside
+ 287:364:android.view.View wrapInBottomSheet(int,android.view.View,android.view.ViewGroup$LayoutParams) -> wrapInBottomSheet
+com.google.android.material.bottomsheet.BottomSheetDialog$1 -> com.google.android.material.bottomsheet.BottomSheetDialog$1:
+ 296:296:void <init>(com.google.android.material.bottomsheet.BottomSheetDialog) -> <init>
+ 299:308:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+com.google.android.material.bottomsheet.BottomSheetDialog$2 -> com.google.android.material.bottomsheet.BottomSheetDialog$2:
+ 323:323:void <init>(com.google.android.material.bottomsheet.BottomSheetDialog) -> <init>
+ 326:329:void onClick(android.view.View) -> onClick
+com.google.android.material.bottomsheet.BottomSheetDialog$3 -> com.google.android.material.bottomsheet.BottomSheetDialog$3:
+ 334:334:void <init>(com.google.android.material.bottomsheet.BottomSheetDialog) -> <init>
+ 338:345:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 349:353:boolean performAccessibilityAction(android.view.View,int,android.os.Bundle) -> performAccessibilityAction
+com.google.android.material.bottomsheet.BottomSheetDialog$4 -> com.google.android.material.bottomsheet.BottomSheetDialog$4:
+ 357:357:void <init>(com.google.android.material.bottomsheet.BottomSheetDialog) -> <init>
+ 361:361:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+com.google.android.material.bottomsheet.BottomSheetDialog$5 -> com.google.android.material.bottomsheet.BottomSheetDialog$5:
+ 398:398:void <init>(com.google.android.material.bottomsheet.BottomSheetDialog) -> <init>
+ 408:408:void onSlide(android.view.View,float) -> onSlide
+ 402:405:void onStateChanged(android.view.View,int) -> onStateChanged
+com.google.android.material.bottomsheet.BottomSheetDialog$EdgeToEdgeCallback -> com.google.android.material.bottomsheet.BottomSheetDialog$EdgeToEdgeCallback:
+ 411:411:void <init>(android.view.View,androidx.core.view.WindowInsetsCompat,com.google.android.material.bottomsheet.BottomSheetDialog$1) -> <init>
+ 418:444:void <init>(android.view.View,androidx.core.view.WindowInsetsCompat) -> <init>
+ 453:454:void onSlide(android.view.View,float) -> onSlide
+ 448:449:void onStateChanged(android.view.View,int) -> onStateChanged
+ 457:477:void setPaddingForPosition(android.view.View) -> setPaddingForPosition
+com.google.android.material.bottomsheet.BottomSheetDialogFragment -> com.google.android.material.bottomsheet.BottomSheetDialogFragment:
+ 30:30:void <init>() -> <init>
+ 30:30:void access$100(com.google.android.material.bottomsheet.BottomSheetDialogFragment) -> access$100
+ 46:49:void dismiss() -> dismiss
+ 92:97:void dismissAfterAnimation() -> dismissAfterAnimation
+ 53:56:void dismissAllowingStateLoss() -> dismissAllowingStateLoss
+ 78:89:void dismissWithAnimation(com.google.android.material.bottomsheet.BottomSheetBehavior,boolean) -> dismissWithAnimation
+ 41:41:android.app.Dialog onCreateDialog(android.os.Bundle) -> onCreateDialog
+ 63:73:boolean tryDismissWithAnimation(boolean) -> tryDismissWithAnimation
+com.google.android.material.bottomsheet.BottomSheetDialogFragment$BottomSheetDismissCallback -> com.google.android.material.bottomsheet.BottomSheetDialogFragment$BottomSheetDismissCallback:
+ 99:99:void <init>(com.google.android.material.bottomsheet.BottomSheetDialogFragment) -> <init>
+ 99:99:void <init>(com.google.android.material.bottomsheet.BottomSheetDialogFragment,com.google.android.material.bottomsheet.BottomSheetDialogFragment$1) -> <init>
+ 109:109:void onSlide(android.view.View,float) -> onSlide
+ 103:106:void onStateChanged(android.view.View,int) -> onStateChanged
+com.google.android.material.button.MaterialButton -> com.google.android.material.button.MaterialButton:
+ 130:195:void <clinit>() -> <clinit>
+ 216:217:void <init>(android.content.Context) -> <init>
+ 220:221:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 198:255:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 1068:1069:void addOnCheckedChangeListener(com.google.android.material.button.MaterialButton$OnCheckedChangeListener) -> addOnCheckedChangeListener
+ 1083:1084:void clearOnCheckedChangeListeners() -> clearOnCheckedChangeListeners
+ 260:260:java.lang.String getA11yClassName() -> getA11yClassName
+ 382:382:android.content.res.ColorStateList getBackgroundTintList() -> getBackgroundTintList
+ 393:393:android.graphics.PorterDuff$Mode getBackgroundTintMode() -> getBackgroundTintMode
+ 973:973:int getCornerRadius() -> getCornerRadius
+ 682:682:android.graphics.drawable.Drawable getIcon() -> getIcon
+ 985:985:int getIconGravity() -> getIconGravity
+ 607:607:int getIconPadding() -> getIconPadding
+ 637:637:int getIconSize() -> getIconSize
+ 721:721:android.content.res.ColorStateList getIconTint() -> getIconTint
+ 746:746:android.graphics.PorterDuff$Mode getIconTintMode() -> getIconTintMode
+ 1020:1020:int getInsetBottom() -> getInsetBottom
+ 1040:1040:int getInsetTop() -> getInsetTop
+ 847:847:android.content.res.ColorStateList getRippleColor() -> getRippleColor
+ 1170:1173:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearanceModel() -> getShapeAppearanceModel
+ 889:889:android.content.res.ColorStateList getStrokeColor() -> getStrokeColor
+ 932:932:int getStrokeWidth() -> getStrokeWidth
+ 327:333:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 365:370:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 555:566:int getTextHeight() -> getTextHeight
+ 543:551:int getTextWidth() -> getTextWidth
+ 1129:1129:boolean isCheckable() -> isCheckable
+ 1107:1107:boolean isChecked() -> isChecked
+ 802:802:boolean isIconEnd() -> isIconEnd
+ 798:798:boolean isIconStart() -> isIconStart
+ 806:806:boolean isIconTop() -> isIconTop
+ 570:570:boolean isLayoutRTL() -> isLayoutRTL
+ 1196:1196:boolean isUsingOriginalBackground() -> isUsingOriginalBackground
+ 468:474:void onAttachedToWindow() -> onAttachedToWindow
+ 1045:1055:int[] onCreateDrawableState(int) -> onCreateDrawableState
+ 274:277:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 265:270:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 447:452:void onLayout(boolean,int,int,int,int) -> onLayout
+ 290:297:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 282:285:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 456:458:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 462:464:void onTextChanged(java.lang.CharSequence,int,int,int) -> onTextChanged
+ 1117:1119:boolean performClick() -> performClick
+ 1078:1079:void removeOnCheckedChangeListener(com.google.android.material.button.MaterialButton$OnCheckedChangeListener) -> removeOnCheckedChangeListener
+ 788:795:void resetIconDrawable() -> resetIconDrawable
+ 409:410:void setBackground(android.graphics.drawable.Drawable) -> setBackground
+ 398:405:void setBackgroundColor(int) -> setBackgroundColor
+ 423:443:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 414:419:void setBackgroundResource(int) -> setBackgroundResource
+ 376:377:void setBackgroundTintList(android.content.res.ColorStateList) -> setBackgroundTintList
+ 387:388:void setBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setBackgroundTintMode
+ 1139:1142:void setCheckable(boolean) -> setCheckable
+ 1088:1103:void setChecked(boolean) -> setChecked
+ 944:947:void setCornerRadius(int) -> setCornerRadius
+ 958:961:void setCornerRadiusResource(int) -> setCornerRadiusResource
+ 479:483:void setElevation(float) -> setElevation
+ 650:655:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 996:1000:void setIconGravity(int) -> setIconGravity
+ 592:596:void setIconPadding(int) -> setIconPadding
+ 666:671:void setIconResource(int) -> setIconResource
+ 618:626:void setIconSize(int) -> setIconSize
+ 694:698:void setIconTint(android.content.res.ColorStateList) -> setIconTint
+ 732:736:void setIconTintMode(android.graphics.PorterDuff$Mode) -> setIconTintMode
+ 709:710:void setIconTintResource(int) -> setIconTintResource
+ 1009:1010:void setInsetBottom(int) -> setInsetBottom
+ 1029:1030:void setInsetTop(int) -> setInsetTop
+ 581:582:void setInternalBackground(android.graphics.drawable.Drawable) -> setInternalBackground
+ 1184:1185:void setOnPressedChangeListenerInternal(com.google.android.material.button.MaterialButton$OnPressedChangeListener) -> setOnPressedChangeListenerInternal
+ 1189:1193:void setPressed(boolean) -> setPressed
+ 818:821:void setRippleColor(android.content.res.ColorStateList) -> setRippleColor
+ 832:835:void setRippleColorResource(int) -> setRippleColorResource
+ 1151:1158:void setShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearanceModel
+ 1200:1203:void setShouldDrawSurfaceColorStroke(boolean) -> setShouldDrawSurfaceColorStroke
+ 860:863:void setStrokeColor(android.content.res.ColorStateList) -> setStrokeColor
+ 875:878:void setStrokeColorResource(int) -> setStrokeColorResource
+ 902:905:void setStrokeWidth(int) -> setStrokeWidth
+ 917:920:void setStrokeWidthResource(int) -> setStrokeWidthResource
+ 308:315:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 346:353:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 1112:1113:void toggle() -> toggle
+ 754:785:void updateIcon(boolean) -> updateIcon
+ 486:540:void updateIconPosition(int,int) -> updateIconPosition
+com.google.android.material.button.MaterialButton$SavedState -> com.google.android.material.button.MaterialButton$SavedState:
+ 1231:1231:void <clinit>() -> <clinit>
+ 1210:1211:void <init>(android.os.Parcelable) -> <init>
+ 1214:1219:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 1228:1229:void readFromParcel(android.os.Parcel) -> readFromParcel
+ 1223:1225:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.button.MaterialButton$SavedState$1 -> com.google.android.material.button.MaterialButton$SavedState$1:
+ 1232:1232:void <init>() -> <init>
+ 1232:1232:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 1232:1232:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1236:1236:com.google.android.material.button.MaterialButton$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 1242:1242:com.google.android.material.button.MaterialButton$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 1232:1232:java.lang.Object[] newArray(int) -> newArray
+ 1248:1248:com.google.android.material.button.MaterialButton$SavedState[] newArray(int) -> newArray
+com.google.android.material.button.MaterialButtonHelper -> com.google.android.material.button.MaterialButtonHelper:
+ 53:53:void <clinit>() -> <clinit>
+ 70:80:void <init>(com.google.android.material.button.MaterialButton,com.google.android.material.shape.ShapeAppearanceModel) -> <init>
+ 203:239:android.graphics.drawable.Drawable createBackground() -> createBackground
+ 323:323:int getCornerRadius() -> getCornerRadius
+ 402:402:int getInsetBottom() -> getInsetBottom
+ 432:432:int getInsetTop() -> getInsetTop
+ 375:384:com.google.android.material.shape.Shapeable getMaskDrawable() -> getMaskDrawable
+ 328:340:com.google.android.material.shape.MaterialShapeDrawable getMaterialShapeDrawable(boolean) -> getMaterialShapeDrawable
+ 345:345:com.google.android.material.shape.MaterialShapeDrawable getMaterialShapeDrawable() -> getMaterialShapeDrawable
+ 270:270:android.content.res.ColorStateList getRippleColor() -> getRippleColor
+ 394:394:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearanceModel() -> getShapeAppearanceModel
+ 282:282:android.content.res.ColorStateList getStrokeColor() -> getStrokeColor
+ 293:293:int getStrokeWidth() -> getStrokeWidth
+ 176:176:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 189:189:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 358:358:com.google.android.material.shape.MaterialShapeDrawable getSurfaceColorStrokeDrawable() -> getSurfaceColorStrokeDrawable
+ 158:158:boolean isBackgroundOverwritten() -> isBackgroundOverwritten
+ 353:353:boolean isCheckable() -> isCheckable
+ 83:134:void loadFromAttributes(android.content.res.TypedArray) -> loadFromAttributes
+ 250:253:void setBackgroundColor(int) -> setBackgroundColor
+ 150:155:void setBackgroundOverwritten() -> setBackgroundOverwritten
+ 349:350:void setCheckable(boolean) -> setCheckable
+ 314:320:void setCornerRadius(int) -> setCornerRadius
+ 398:399:void setInsetBottom(int) -> setInsetBottom
+ 406:407:void setInsetTop(int) -> setInsetTop
+ 256:266:void setRippleColor(android.content.res.ColorStateList) -> setRippleColor
+ 388:390:void setShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearanceModel
+ 193:195:void setShouldDrawSurfaceColorStroke(boolean) -> setShouldDrawSurfaceColorStroke
+ 274:278:void setStrokeColor(android.content.res.ColorStateList) -> setStrokeColor
+ 286:290:void setStrokeWidth(int) -> setStrokeWidth
+ 167:173:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 180:186:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 411:429:void setVerticalInsets(int,int) -> setVerticalInsets
+ 137:142:void updateBackground() -> updateBackground
+ 362:371:void updateButtonShape(com.google.android.material.shape.ShapeAppearanceModel) -> updateButtonShape
+ 244:247:void updateMaskBounds(int,int) -> updateMaskBounds
+ 297:309:void updateStroke() -> updateStroke
+ 163:163:android.graphics.drawable.InsetDrawable wrapDrawableWithInset(android.graphics.drawable.Drawable) -> wrapDrawableWithInset
+com.google.android.material.button.MaterialButtonToggleGroup -> com.google.android.material.button.MaterialButtonToggleGroup:
+ 139:140:void <clinit>() -> <clinit>
+ 176:177:void <init>(android.content.Context) -> <init>
+ 180:181:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 143:202:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 122:122:int access$200(com.google.android.material.button.MaterialButtonToggleGroup,android.view.View) -> access$200
+ 122:122:boolean access$300(com.google.android.material.button.MaterialButtonToggleGroup) -> access$300
+ 122:122:boolean access$400(com.google.android.material.button.MaterialButtonToggleGroup) -> access$400
+ 122:122:int access$502(com.google.android.material.button.MaterialButtonToggleGroup,int) -> access$502
+ 122:122:boolean access$600(com.google.android.material.button.MaterialButtonToggleGroup,int,boolean) -> access$600
+ 122:122:void access$700(com.google.android.material.button.MaterialButtonToggleGroup,int,boolean) -> access$700
+ 426:427:void addOnButtonCheckedListener(com.google.android.material.button.MaterialButtonToggleGroup$OnButtonCheckedListener) -> addOnButtonCheckedListener
+ 226:269:void addView(android.view.View,int,android.view.ViewGroup$LayoutParams) -> addView
+ 526:555:void adjustChildMarginsAndUpdateLayout() -> adjustChildMarginsAndUpdateLayout
+ 763:768:android.widget.LinearLayout$LayoutParams buildLayoutParams(android.view.View) -> buildLayoutParams
+ 330:335:void check(int) -> check
+ 729:733:void checkForced(int,boolean) -> checkForced
+ 360:370:void clearChecked() -> clearChecked
+ 441:442:void clearOnButtonCheckedListeners() -> clearOnButtonCheckedListeners
+ 216:218:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 723:726:void dispatchOnButtonChecked(int,boolean) -> dispatchOnButtonChecked
+ 300:300:java.lang.CharSequence getAccessibilityClassName() -> getAccessibilityClassName
+ 388:388:int getCheckedButtonId() -> getCheckedButtonId
+ 405:413:java.util.List getCheckedButtonIds() -> getCheckedButtonIds
+ 558:558:com.google.android.material.button.MaterialButton getChildButton(int) -> getChildButton
+ 777:782:int getChildDrawingOrder(int,int) -> getChildDrawingOrder
+ 601:608:int getFirstVisibleChildIndex() -> getFirstVisibleChildIndex
+ 638:650:int getIndexWithinVisibleButtons(android.view.View) -> getIndexWithinVisibleButtons
+ 612:619:int getLastVisibleChildIndex() -> getLastVisibleChildIndex
+ 656:672:com.google.android.material.button.MaterialButtonToggleGroup$CornerData getNewCornerData(int,int,int) -> getNewCornerData
+ 628:634:int getVisibleButtonCount() -> getVisibleButtonCount
+ 623:624:boolean isChildVisible(int) -> isChildVisible
+ 484:484:boolean isSelectionRequired() -> isSelectionRequired
+ 451:451:boolean isSingleSelection() -> isSingleSelection
+ 206:212:void onFinishInflate() -> onFinishInflate
+ 305:315:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 291:295:void onMeasure(int,int) -> onMeasure
+ 273:287:void onViewRemoved(android.view.View) -> onViewRemoved
+ 436:437:void removeOnButtonCheckedListener(com.google.android.material.button.MaterialButtonToggleGroup$OnButtonCheckedListener) -> removeOnButtonCheckedListener
+ 562:578:void resetChildMargins(int) -> resetChildMargins
+ 509:512:void setCheckedId(int) -> setCheckedId
+ 500:506:void setCheckedStateForView(int,boolean) -> setCheckedStateForView
+ 737:740:void setGeneratedIdIfNeeded(com.google.android.material.button.MaterialButton) -> setGeneratedIdIfNeeded
+ 475:476:void setSelectionRequired(boolean) -> setSelectionRequired
+ 463:467:void setSingleSelection(boolean) -> setSingleSelection
+ 496:497:void setSingleSelection(int) -> setSingleSelection
+ 750:759:void setupButtonChild(com.google.android.material.button.MaterialButton) -> setupButtonChild
+ 347:348:void uncheck(int) -> uncheck
+ 677:687:void updateBuilderWithCornerData(com.google.android.material.shape.ShapeAppearanceModel$Builder,com.google.android.material.button.MaterialButtonToggleGroup$CornerData) -> updateBuilderWithCornerData
+ 703:719:boolean updateCheckedStates(int,boolean) -> updateCheckedStates
+ 786:793:void updateChildOrder() -> updateChildOrder
+ 583:598:void updateChildShapes() -> updateChildShapes
+com.google.android.material.button.MaterialButtonToggleGroup$1 -> com.google.android.material.button.MaterialButtonToggleGroup$1:
+ 150:150:void <init>(com.google.android.material.button.MaterialButtonToggleGroup) -> <init>
+ 150:150:int compare(java.lang.Object,java.lang.Object) -> compare
+ 153:164:int compare(com.google.android.material.button.MaterialButton,com.google.android.material.button.MaterialButton) -> compare
+com.google.android.material.button.MaterialButtonToggleGroup$2 -> com.google.android.material.button.MaterialButtonToggleGroup$2:
+ 254:254:void <init>(com.google.android.material.button.MaterialButtonToggleGroup) -> <init>
+ 258:267:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+com.google.android.material.button.MaterialButtonToggleGroup$CheckedStateTracker -> com.google.android.material.button.MaterialButtonToggleGroup$CheckedStateTracker:
+ 795:795:void <init>(com.google.android.material.button.MaterialButtonToggleGroup) -> <init>
+ 795:795:void <init>(com.google.android.material.button.MaterialButtonToggleGroup,com.google.android.material.button.MaterialButtonToggleGroup$1) -> <init>
+ 799:814:void onCheckedChanged(com.google.android.material.button.MaterialButton,boolean) -> onCheckedChanged
+com.google.android.material.button.MaterialButtonToggleGroup$CornerData -> com.google.android.material.button.MaterialButtonToggleGroup$CornerData:
+ 827:827:void <clinit>() -> <clinit>
+ 835:840:void <init>(com.google.android.material.shape.CornerSize,com.google.android.material.shape.CornerSize,com.google.android.material.shape.CornerSize,com.google.android.material.shape.CornerSize) -> <init>
+ 869:869:com.google.android.material.button.MaterialButtonToggleGroup$CornerData bottom(com.google.android.material.button.MaterialButtonToggleGroup$CornerData) -> bottom
+ 849:849:com.google.android.material.button.MaterialButtonToggleGroup$CornerData end(com.google.android.material.button.MaterialButtonToggleGroup$CornerData,android.view.View) -> end
+ 854:854:com.google.android.material.button.MaterialButtonToggleGroup$CornerData left(com.google.android.material.button.MaterialButtonToggleGroup$CornerData) -> left
+ 859:859:com.google.android.material.button.MaterialButtonToggleGroup$CornerData right(com.google.android.material.button.MaterialButtonToggleGroup$CornerData) -> right
+ 844:844:com.google.android.material.button.MaterialButtonToggleGroup$CornerData start(com.google.android.material.button.MaterialButtonToggleGroup$CornerData,android.view.View) -> start
+ 864:864:com.google.android.material.button.MaterialButtonToggleGroup$CornerData top(com.google.android.material.button.MaterialButtonToggleGroup$CornerData) -> top
+com.google.android.material.button.MaterialButtonToggleGroup$PressedStateTracker -> com.google.android.material.button.MaterialButtonToggleGroup$PressedStateTracker:
+ 817:817:void <init>(com.google.android.material.button.MaterialButtonToggleGroup) -> <init>
+ 817:817:void <init>(com.google.android.material.button.MaterialButtonToggleGroup,com.google.android.material.button.MaterialButtonToggleGroup$1) -> <init>
+ 821:822:void onPressedChanged(com.google.android.material.button.MaterialButton,boolean) -> onPressedChanged
+com.google.android.material.canvas.CanvasCompat -> com.google.android.material.canvas.CanvasCompat:
+ 38:38:void <init>() -> <init>
+ 45:46:int saveLayerAlpha(android.graphics.Canvas,android.graphics.RectF,int) -> saveLayerAlpha
+ 58:59:int saveLayerAlpha(android.graphics.Canvas,float,float,float,float,int) -> saveLayerAlpha
+com.google.android.material.card.MaterialCardView -> com.google.android.material.card.MaterialCardView:
+ 89:93:void <clinit>() -> <clinit>
+ 110:111:void <init>(android.content.Context) -> <init>
+ 114:115:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 105:140:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 76:76:float access$001(com.google.android.material.card.MaterialCardView) -> access$001
+ 631:634:void forceRippleRedrawIfNeeded() -> forceRippleRedrawIfNeeded
+ 606:608:android.graphics.RectF getBoundsAsRectF() -> getBoundsAsRectF
+ 288:288:android.content.res.ColorStateList getCardBackgroundColor() -> getCardBackgroundColor
+ 310:310:android.content.res.ColorStateList getCardForegroundColor() -> getCardForegroundColor
+ 222:222:float getCardViewRadius() -> getCardViewRadius
+ 510:510:android.graphics.drawable.Drawable getCheckedIcon() -> getCheckedIcon
+ 584:584:int getCheckedIconMargin() -> getCheckedIconMargin
+ 557:557:int getCheckedIconSize() -> getCheckedIconSize
+ 541:541:android.content.res.ColorStateList getCheckedIconTint() -> getCheckedIconTint
+ 272:272:int getContentPaddingBottom() -> getContentPaddingBottom
+ 257:257:int getContentPaddingLeft() -> getContentPaddingLeft
+ 267:267:int getContentPaddingRight() -> getContentPaddingRight
+ 262:262:int getContentPaddingTop() -> getContentPaddingTop
+ 243:243:float getProgress() -> getProgress
+ 218:218:float getRadius() -> getRadius
+ 499:499:android.content.res.ColorStateList getRippleColor() -> getRippleColor
+ 627:627:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearanceModel() -> getShapeAppearanceModel
+ 186:186:int getStrokeColor() -> getStrokeColor
+ 192:192:android.content.res.ColorStateList getStrokeColorStateList() -> getStrokeColorStateList
+ 207:207:int getStrokeWidth() -> getStrokeWidth
+ 413:413:boolean isCheckable() -> isCheckable
+ 378:378:boolean isChecked() -> isChecked
+ 403:403:boolean isDragged() -> isDragged
+ 323:326:void onAttachedToWindow() -> onAttachedToWindow
+ 440:453:int[] onCreateDrawableState(int) -> onCreateDrawableState
+ 153:156:void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 144:149:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 160:162:void onMeasure(int,int) -> onMeasure
+ 252:253:void setAncestorContentPadding(int,int,int,int) -> setAncestorContentPadding
+ 356:357:void setBackground(android.graphics.drawable.Drawable) -> setBackground
+ 361:369:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 373:374:void setBackgroundInternal(android.graphics.drawable.Drawable) -> setBackgroundInternal
+ 277:278:void setCardBackgroundColor(int) -> setCardBackgroundColor
+ 282:283:void setCardBackgroundColor(android.content.res.ColorStateList) -> setCardBackgroundColor
+ 330:332:void setCardElevation(float) -> setCardElevation
+ 299:300:void setCardForegroundColor(android.content.res.ColorStateList) -> setCardForegroundColor
+ 423:424:void setCheckable(boolean) -> setCheckable
+ 383:386:void setChecked(boolean) -> setChecked
+ 530:531:void setCheckedIcon(android.graphics.drawable.Drawable) -> setCheckedIcon
+ 588:589:void setCheckedIconMargin(int) -> setCheckedIconMargin
+ 598:602:void setCheckedIconMarginResource(int) -> setCheckedIconMarginResource
+ 520:521:void setCheckedIconResource(int) -> setCheckedIconResource
+ 567:568:void setCheckedIconSize(int) -> setCheckedIconSize
+ 577:580:void setCheckedIconSizeResource(int) -> setCheckedIconSizeResource
+ 552:553:void setCheckedIconTint(android.content.res.ColorStateList) -> setCheckedIconTint
+ 315:319:void setClickable(boolean) -> setClickable
+ 248:249:void setContentPadding(int,int,int,int) -> setContentPadding
+ 394:400:void setDragged(boolean) -> setDragged
+ 336:338:void setMaxCardElevation(float) -> setMaxCardElevation
+ 462:463:void setOnCheckedChangeListener(com.google.android.material.card.MaterialCardView$OnCheckedChangeListener) -> setOnCheckedChangeListener
+ 349:352:void setPreventCornerOverlap(boolean) -> setPreventCornerOverlap
+ 232:233:void setProgress(float) -> setProgress
+ 212:214:void setRadius(float) -> setRadius
+ 474:475:void setRippleColor(android.content.res.ColorStateList) -> setRippleColor
+ 486:488:void setRippleColorResource(int) -> setRippleColorResource
+ 613:617:void setShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearanceModel
+ 170:171:void setStrokeColor(int) -> setStrokeColor
+ 179:180:void setStrokeColor(android.content.res.ColorStateList) -> setStrokeColor
+ 201:202:void setStrokeWidth(int) -> setStrokeWidth
+ 342:345:void setUseCompatPadding(boolean) -> setUseCompatPadding
+ 428:436:void toggle() -> toggle
+com.google.android.material.card.MaterialCardViewHelper -> com.google.android.material.card.MaterialCardViewHelper:
+ 61:66:void <clinit>() -> <clinit>
+ 91:143:void <init>(com.google.android.material.card.MaterialCardView,android.util.AttributeSet,int,int) -> <init>
+ 581:594:float calculateActualCornerPadding() -> calculateActualCornerPadding
+ 598:603:float calculateCornerPaddingForCornerTreatment(com.google.android.material.shape.CornerTreatment,float) -> calculateCornerPaddingForCornerTreatment
+ 546:547:float calculateHorizontalBackgroundPadding() -> calculateHorizontalBackgroundPadding
+ 536:537:float calculateVerticalBackgroundPadding() -> calculateVerticalBackgroundPadding
+ 551:551:boolean canClipToOutline() -> canClipToOutline
+ 654:658:android.graphics.drawable.Drawable createCheckedIconLayer() -> createCheckedIconLayer
+ 636:640:android.graphics.drawable.Drawable createCompatRippleDrawable() -> createCompatRippleDrawable
+ 625:631:android.graphics.drawable.Drawable createForegroundRippleDrawable() -> createForegroundRippleDrawable
+ 663:663:com.google.android.material.shape.MaterialShapeDrawable createForegroundShapeDrawable() -> createForegroundShapeDrawable
+ 441:450:void forceRippleRedraw() -> forceRippleRedraw
+ 236:236:com.google.android.material.shape.MaterialShapeDrawable getBackground() -> getBackground
+ 244:244:android.content.res.ColorStateList getCardBackgroundColor() -> getCardBackgroundColor
+ 253:253:android.content.res.ColorStateList getCardForegroundColor() -> getCardForegroundColor
+ 381:381:android.graphics.drawable.Drawable getCheckedIcon() -> getCheckedIcon
+ 409:409:int getCheckedIconMargin() -> getCheckedIconMargin
+ 400:400:int getCheckedIconSize() -> getCheckedIconSize
+ 371:371:android.content.res.ColorStateList getCheckedIconTint() -> getCheckedIconTint
+ 608:620:android.graphics.drawable.Drawable getClickableForeground() -> getClickableForeground
+ 289:289:float getCornerRadius() -> getCornerRadius
+ 555:559:float getParentCardViewCalculatedCornerPadding() -> getParentCardViewCalculatedCornerPadding
+ 305:305:float getProgress() -> getProgress
+ 376:376:android.content.res.ColorStateList getRippleColor() -> getRippleColor
+ 470:470:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearanceModel() -> getShapeAppearanceModel
+ 213:213:int getStrokeColor() -> getStrokeColor
+ 218:218:android.content.res.ColorStateList getStrokeColorStateList() -> getStrokeColorStateList
+ 231:231:int getStrokeWidth() -> getStrokeWidth
+ 263:263:android.graphics.Rect getUserContentPadding() -> getUserContentPadding
+ 499:507:android.graphics.drawable.Drawable insetDrawable(android.graphics.drawable.Drawable) -> insetDrawable
+ 195:195:boolean isBackgroundOverwritten() -> isBackgroundOverwritten
+ 354:354:boolean isCheckable() -> isCheckable
+ 146:192:void loadFromAttributes(android.content.res.TypedArray) -> loadFromAttributes
+ 417:437:void onMeasure(int,int) -> onMeasure
+ 199:200:void setBackgroundOverwritten(boolean) -> setBackgroundOverwritten
+ 240:241:void setCardBackgroundColor(android.content.res.ColorStateList) -> setCardBackgroundColor
+ 248:250:void setCardForegroundColor(android.content.res.ColorStateList) -> setCardForegroundColor
+ 350:351:void setCheckable(boolean) -> setCheckable
+ 385:396:void setCheckedIcon(android.graphics.drawable.Drawable) -> setCheckedIcon
+ 413:414:void setCheckedIconMargin(int) -> setCheckedIconMargin
+ 404:405:void setCheckedIconSize(int) -> setCheckedIconSize
+ 363:367:void setCheckedIconTint(android.content.res.ColorStateList) -> setCheckedIconTint
+ 276:286:void setCornerRadius(float) -> setCornerRadius
+ 293:301:void setProgress(float) -> setProgress
+ 358:360:void setRippleColor(android.content.res.ColorStateList) -> setRippleColor
+ 453:467:void setShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearanceModel
+ 203:209:void setStrokeColor(android.content.res.ColorStateList) -> setStrokeColor
+ 222:227:void setStrokeWidth(int) -> setStrokeWidth
+ 257:259:void setUserContentPadding(int,int,int,int) -> setUserContentPadding
+ 563:563:boolean shouldAddCornerPaddingInsideCardBackground() -> shouldAddCornerPaddingInsideCardBackground
+ 567:569:boolean shouldAddCornerPaddingOutsideCardBackground() -> shouldAddCornerPaddingOutsideCardBackground
+ 267:273:void updateClickable() -> updateClickable
+ 332:347:void updateContentPadding() -> updateContentPadding
+ 309:310:void updateElevation() -> updateElevation
+ 479:485:void updateInsetForeground(android.graphics.drawable.Drawable) -> updateInsetForeground
+ 314:318:void updateInsets() -> updateInsets
+ 645:650:void updateRippleColor() -> updateRippleColor
+ 321:322:void updateStroke() -> updateStroke
+com.google.android.material.card.MaterialCardViewHelper$1 -> com.google.android.material.card.MaterialCardViewHelper$1:
+ 508:508:void <init>(com.google.android.material.card.MaterialCardViewHelper,android.graphics.drawable.Drawable,int,int,int,int) -> <init>
+ 525:525:int getMinimumHeight() -> getMinimumHeight
+ 519:519:int getMinimumWidth() -> getMinimumWidth
+ 513:513:boolean getPadding(android.graphics.Rect) -> getPadding
+com.google.android.material.checkbox.MaterialCheckBox -> com.google.android.material.checkbox.MaterialCheckBox:
+ 44:46:void <clinit>() -> <clinit>
+ 57:58:void <init>(android.content.Context) -> <init>
+ 61:62:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 65:86:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 117:134:android.content.res.ColorStateList getMaterialThemeColorsTintList() -> getMaterialThemeColorsTintList
+ 113:113:boolean isUseMaterialThemeColors() -> isUseMaterialThemeColors
+ 90:95:void onAttachedToWindow() -> onAttachedToWindow
+ 103:109:void setUseMaterialThemeColors(boolean) -> setUseMaterialThemeColors
+com.google.android.material.chip.Chip -> com.google.android.material.chip.Chip:
+ 133:140:void <clinit>() -> <clinit>
+ 187:188:void <init>(android.content.Context) -> <init>
+ 191:192:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 170:248:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 129:129:com.google.android.material.chip.ChipDrawable access$000(com.google.android.material.chip.Chip) -> access$000
+ 129:129:boolean access$100(com.google.android.material.chip.Chip) -> access$100
+ 129:129:android.graphics.RectF access$200(com.google.android.material.chip.Chip) -> access$200
+ 129:129:android.view.View$OnClickListener access$300(com.google.android.material.chip.Chip) -> access$300
+ 129:129:boolean access$402(com.google.android.material.chip.Chip,boolean) -> access$402
+ 129:129:android.graphics.Rect access$500(com.google.android.material.chip.Chip) -> access$500
+ 129:129:android.graphics.Rect access$600() -> access$600
+ 485:486:void applyChipDrawable(com.google.android.material.chip.ChipDrawable) -> applyChipDrawable
+ 919:959:int[] createCloseIconDrawableState() -> createCloseIconDrawableState
+ 851:853:boolean dispatchHoverEvent(android.view.MotionEvent) -> dispatchHoverEvent
+ 858:869:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 904:915:void drawableStateChanged() -> drawableStateChanged
+ 2288:2337:boolean ensureAccessibleTouchTarget(int) -> ensureAccessibleTouchTarget
+ 450:455:void ensureChipDrawableHasCallback() -> ensureChipDrawableHasCallback
+ 459:462:android.graphics.drawable.Drawable getBackgroundDrawable() -> getBackgroundDrawable
+ 1852:1852:android.graphics.drawable.Drawable getCheckedIcon() -> getCheckedIcon
+ 1887:1887:android.content.res.ColorStateList getCheckedIconTint() -> getCheckedIconTint
+ 1096:1096:android.content.res.ColorStateList getChipBackgroundColor() -> getChipBackgroundColor
+ 1164:1164:float getChipCornerRadius() -> getChipCornerRadius
+ 422:422:android.graphics.drawable.Drawable getChipDrawable() -> getChipDrawable
+ 2230:2230:float getChipEndPadding() -> getChipEndPadding
+ 1477:1477:android.graphics.drawable.Drawable getChipIcon() -> getChipIcon
+ 1549:1549:float getChipIconSize() -> getChipIconSize
+ 1512:1512:android.content.res.ColorStateList getChipIconTint() -> getChipIconTint
+ 1130:1130:float getChipMinHeight() -> getChipMinHeight
+ 1992:1992:float getChipStartPadding() -> getChipStartPadding
+ 1212:1212:android.content.res.ColorStateList getChipStrokeColor() -> getChipStrokeColor
+ 1246:1246:float getChipStrokeWidth() -> getChipStrokeWidth
+ 1321:1321:java.lang.CharSequence getChipText() -> getChipText
+ 1639:1639:android.graphics.drawable.Drawable getCloseIcon() -> getCloseIcon
+ 1755:1755:java.lang.CharSequence getCloseIconContentDescription() -> getCloseIconContentDescription
+ 2196:2196:float getCloseIconEndPadding() -> getCloseIconEndPadding
+ 1710:1710:float getCloseIconSize() -> getCloseIconSize
+ 2162:2162:float getCloseIconStartPadding() -> getCloseIconStartPadding
+ 1676:1676:android.content.res.ColorStateList getCloseIconTint() -> getCloseIconTint
+ 968:975:android.graphics.RectF getCloseIconTouchBounds() -> getCloseIconTouchBounds
+ 980:982:android.graphics.Rect getCloseIconTouchBoundsInt() -> getCloseIconTouchBoundsInt
+ 637:637:android.text.TextUtils$TruncateAt getEllipsize() -> getEllipsize
+ 880:886:void getFocusedRect(android.graphics.Rect) -> getFocusedRect
+ 1958:1958:com.google.android.material.animation.MotionSpec getHideMotionSpec() -> getHideMotionSpec
+ 2060:2060:float getIconEndPadding() -> getIconEndPadding
+ 2026:2026:float getIconStartPadding() -> getIconStartPadding
+ 1281:1281:android.content.res.ColorStateList getRippleColor() -> getRippleColor
+ 1188:1188:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearanceModel() -> getShapeAppearanceModel
+ 1923:1923:com.google.android.material.animation.MotionSpec getShowMotionSpec() -> getShowMotionSpec
+ 1414:1414:com.google.android.material.resources.TextAppearance getTextAppearance() -> getTextAppearance
+ 2128:2128:float getTextEndPadding() -> getTextEndPadding
+ 2094:2094:float getTextStartPadding() -> getTextStartPadding
+ 819:846:boolean handleAccessibilityExit(android.view.MotionEvent) -> handleAccessibilityExit
+ 963:963:boolean hasCloseIcon() -> hasCloseIcon
+ 309:326:void initMinTouchTarget(android.content.Context,android.util.AttributeSet,int) -> initMinTouchTarget
+ 404:418:void initOutlineProvider() -> initOutlineProvider
+ 2351:2353:void insetChipBackgroundDrawable(int,int,int,int) -> insetChipBackgroundDrawable
+ 1765:1765:boolean isCheckable() -> isCheckable
+ 1805:1805:boolean isCheckedIconEnabled() -> isCheckedIconEnabled
+ 1799:1799:boolean isCheckedIconVisible() -> isCheckedIconVisible
+ 1430:1430:boolean isChipIconEnabled() -> isChipIconEnabled
+ 1424:1424:boolean isChipIconVisible() -> isChipIconVisible
+ 1593:1593:boolean isCloseIconEnabled() -> isCloseIconEnabled
+ 1587:1587:boolean isCloseIconVisible() -> isCloseIconVisible
+ 252:255:void onAttachedToWindow() -> onAttachedToWindow
+ 696:701:void onChipDrawableSizeChange() -> onChipDrawableSizeChange
+ 490:497:int[] onCreateDrawableState(int) -> onCreateDrawableState
+ 874:876:void onFocusChanged(boolean,int,android.graphics.Rect) -> onFocusChanged
+ 799:810:boolean onHoverEvent(android.view.MotionEvent) -> onHoverEvent
+ 268:294:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 989:992:android.view.PointerIcon onResolvePointerIcon(android.view.MotionEvent,int) -> onResolvePointerIcon
+ 360:368:void onRtlPropertiesChanged(int) -> onRtlPropertiesChanged
+ 763:794:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 744:756:boolean performCloseIconClick() -> performCloseIconClick
+ 2341:2347:void removeBackgroundInset() -> removeBackgroundInset
+ 530:535:void setBackground(android.graphics.drawable.Drawable) -> setBackground
+ 520:521:void setBackgroundColor(int) -> setBackgroundColor
+ 539:544:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 525:526:void setBackgroundResource(int) -> setBackgroundResource
+ 510:511:void setBackgroundTintList(android.content.res.ColorStateList) -> setBackgroundTintList
+ 515:516:void setBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setBackgroundTintMode
+ 1787:1790:void setCheckable(boolean) -> setCheckable
+ 1775:1778:void setCheckableResource(int) -> setCheckableResource
+ 705:718:void setChecked(boolean) -> setChecked
+ 1874:1877:void setCheckedIcon(android.graphics.drawable.Drawable) -> setCheckedIcon
+ 1841:1842:void setCheckedIconEnabled(boolean) -> setCheckedIconEnabled
+ 1835:1836:void setCheckedIconEnabledResource(int) -> setCheckedIconEnabledResource
+ 1862:1865:void setCheckedIconResource(int) -> setCheckedIconResource
+ 1910:1913:void setCheckedIconTint(android.content.res.ColorStateList) -> setCheckedIconTint
+ 1897:1900:void setCheckedIconTintResource(int) -> setCheckedIconTintResource
+ 1815:1818:void setCheckedIconVisible(int) -> setCheckedIconVisible
+ 1827:1830:void setCheckedIconVisible(boolean) -> setCheckedIconVisible
+ 1118:1121:void setChipBackgroundColor(android.content.res.ColorStateList) -> setChipBackgroundColor
+ 1106:1109:void setChipBackgroundColorResource(int) -> setChipBackgroundColorResource
+ 1199:1202:void setChipCornerRadius(float) -> setChipCornerRadius
+ 1175:1178:void setChipCornerRadiusResource(int) -> setChipCornerRadiusResource
+ 427:436:void setChipDrawable(com.google.android.material.chip.ChipDrawable) -> setChipDrawable
+ 2252:2255:void setChipEndPadding(float) -> setChipEndPadding
+ 2240:2243:void setChipEndPaddingResource(int) -> setChipEndPaddingResource
+ 1499:1502:void setChipIcon(android.graphics.drawable.Drawable) -> setChipIcon
+ 1466:1467:void setChipIconEnabled(boolean) -> setChipIconEnabled
+ 1460:1461:void setChipIconEnabledResource(int) -> setChipIconEnabledResource
+ 1487:1490:void setChipIconResource(int) -> setChipIconResource
+ 1575:1578:void setChipIconSize(float) -> setChipIconSize
+ 1561:1564:void setChipIconSizeResource(int) -> setChipIconSizeResource
+ 1535:1538:void setChipIconTint(android.content.res.ColorStateList) -> setChipIconTint
+ 1522:1525:void setChipIconTintResource(int) -> setChipIconTintResource
+ 1440:1443:void setChipIconVisible(int) -> setChipIconVisible
+ 1452:1455:void setChipIconVisible(boolean) -> setChipIconVisible
+ 1152:1155:void setChipMinHeight(float) -> setChipMinHeight
+ 1140:1143:void setChipMinHeightResource(int) -> setChipMinHeightResource
+ 2014:2017:void setChipStartPadding(float) -> setChipStartPadding
+ 2002:2005:void setChipStartPaddingResource(int) -> setChipStartPaddingResource
+ 1234:1237:void setChipStrokeColor(android.content.res.ColorStateList) -> setChipStrokeColor
+ 1222:1225:void setChipStrokeColorResource(int) -> setChipStrokeColorResource
+ 1268:1271:void setChipStrokeWidth(float) -> setChipStrokeWidth
+ 1256:1259:void setChipStrokeWidthResource(int) -> setChipStrokeWidthResource
+ 1357:1358:void setChipText(java.lang.CharSequence) -> setChipText
+ 1351:1352:void setChipTextResource(int) -> setChipTextResource
+ 1662:1666:void setCloseIcon(android.graphics.drawable.Drawable) -> setCloseIcon
+ 1743:1746:void setCloseIconContentDescription(java.lang.CharSequence) -> setCloseIconContentDescription
+ 1628:1629:void setCloseIconEnabled(boolean) -> setCloseIconEnabled
+ 1622:1623:void setCloseIconEnabledResource(int) -> setCloseIconEnabledResource
+ 2218:2221:void setCloseIconEndPadding(float) -> setCloseIconEndPadding
+ 2206:2209:void setCloseIconEndPaddingResource(int) -> setCloseIconEndPaddingResource
+ 896:900:void setCloseIconHovered(boolean) -> setCloseIconHovered
+ 889:893:void setCloseIconPressed(boolean) -> setCloseIconPressed
+ 1649:1653:void setCloseIconResource(int) -> setCloseIconResource
+ 1732:1735:void setCloseIconSize(float) -> setCloseIconSize
+ 1720:1723:void setCloseIconSizeResource(int) -> setCloseIconSizeResource
+ 2184:2187:void setCloseIconStartPadding(float) -> setCloseIconStartPadding
+ 2172:2175:void setCloseIconStartPaddingResource(int) -> setCloseIconStartPaddingResource
+ 1698:1701:void setCloseIconTint(android.content.res.ColorStateList) -> setCloseIconTint
+ 1686:1689:void setCloseIconTintResource(int) -> setCloseIconTintResource
+ 1603:1604:void setCloseIconVisible(int) -> setCloseIconVisible
+ 1613:1617:void setCloseIconVisible(boolean) -> setCloseIconVisible
+ 552:560:void setCompoundDrawables(android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawables
+ 596:604:void setCompoundDrawablesRelative(android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawablesRelative
+ 609:617:void setCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int) -> setCompoundDrawablesRelativeWithIntrinsicBounds
+ 625:632:void setCompoundDrawablesRelativeWithIntrinsicBounds(android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawablesRelativeWithIntrinsicBounds
+ 564:572:void setCompoundDrawablesWithIntrinsicBounds(int,int,int,int) -> setCompoundDrawablesWithIntrinsicBounds
+ 580:588:void setCompoundDrawablesWithIntrinsicBounds(android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,android.graphics.drawable.Drawable) -> setCompoundDrawablesWithIntrinsicBounds
+ 260:264:void setElevation(float) -> setElevation
+ 642:652:void setEllipsize(android.text.TextUtils$TruncateAt) -> setEllipsize
+ 2276:2278:void setEnsureMinTouchTargetSize(boolean) -> setEnsureMinTouchTargetSize
+ 502:507:void setGravity(int) -> setGravity
+ 1980:1983:void setHideMotionSpec(com.google.android.material.animation.MotionSpec) -> setHideMotionSpec
+ 1968:1971:void setHideMotionSpecResource(int) -> setHideMotionSpecResource
+ 2082:2085:void setIconEndPadding(float) -> setIconEndPadding
+ 2070:2073:void setIconEndPaddingResource(int) -> setIconEndPaddingResource
+ 2048:2051:void setIconStartPadding(float) -> setIconStartPadding
+ 2036:2039:void setIconStartPaddingResource(int) -> setIconStartPaddingResource
+ 1326:1332:void setLayoutDirection(int) -> setLayoutDirection
+ 664:668:void setLines(int) -> setLines
+ 680:684:void setMaxLines(int) -> setMaxLines
+ 688:692:void setMaxWidth(int) -> setMaxWidth
+ 672:676:void setMinLines(int) -> setMinLines
+ 725:726:void setOnCheckedChangeListenerInternal(android.widget.CompoundButton$OnCheckedChangeListener) -> setOnCheckedChangeListenerInternal
+ 730:732:void setOnCloseIconClickListener(android.view.View$OnClickListener) -> setOnCloseIconClickListener
+ 1306:1312:void setRippleColor(android.content.res.ColorStateList) -> setRippleColor
+ 1291:1297:void setRippleColorResource(int) -> setRippleColorResource
+ 1182:1183:void setShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearanceModel
+ 1945:1948:void setShowMotionSpec(com.google.android.material.animation.MotionSpec) -> setShowMotionSpec
+ 1933:1936:void setShowMotionSpecResource(int) -> setShowMotionSpecResource
+ 656:660:void setSingleLine(boolean) -> setSingleLine
+ 1336:1346:void setText(java.lang.CharSequence,android.widget.TextView$BufferType) -> setText
+ 1377:1381:void setTextAppearance(com.google.android.material.resources.TextAppearance) -> setTextAppearance
+ 1385:1390:void setTextAppearance(android.content.Context,int) -> setTextAppearance
+ 1394:1399:void setTextAppearance(int) -> setTextAppearance
+ 1367:1368:void setTextAppearanceResource(int) -> setTextAppearanceResource
+ 2150:2153:void setTextEndPadding(float) -> setTextEndPadding
+ 2138:2141:void setTextEndPaddingResource(int) -> setTextEndPaddingResource
+ 2116:2119:void setTextStartPadding(float) -> setTextStartPadding
+ 2104:2107:void setTextStartPaddingResource(int) -> setTextStartPaddingResource
+ 2265:2265:boolean shouldEnsureMinTouchTargetSize() -> shouldEnsureMinTouchTargetSize
+ 479:482:void unapplyChipDrawable(com.google.android.material.chip.ChipDrawable) -> unapplyChipDrawable
+ 299:305:void updateAccessibilityDelegate() -> updateAccessibilityDelegate
+ 439:447:void updateBackgroundDrawable() -> updateBackgroundDrawable
+ 467:476:void updateFrameworkRippleBackground() -> updateFrameworkRippleBackground
+ 333:355:void updatePaddingInternal() -> updatePaddingInternal
+ 1402:1410:void updateTextPaintDrawState() -> updateTextPaintDrawState
+ 371:401:void validateAttributes(android.util.AttributeSet) -> validateAttributes
+com.google.android.material.chip.Chip$1 -> com.google.android.material.chip.Chip$1:
+ 173:173:void <init>(com.google.android.material.chip.Chip) -> <init>
+ 183:183:void onFontRetrievalFailed(int) -> onFontRetrievalFailed
+ 177:180:void onFontRetrieved(android.graphics.Typeface,boolean) -> onFontRetrieved
+com.google.android.material.chip.Chip$2 -> com.google.android.material.chip.Chip$2:
+ 406:406:void <init>(com.google.android.material.chip.Chip) -> <init>
+ 410:415:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+com.google.android.material.chip.Chip$ChipTouchHelper -> com.google.android.material.chip.Chip$ChipTouchHelper:
+ 998:1000:void <init>(com.google.android.material.chip.Chip,com.google.android.material.chip.Chip) -> <init>
+ 1004:1004:int getVirtualViewAt(float,float) -> getVirtualViewAt
+ 1011:1015:void getVisibleVirtualViews(java.util.List) -> getVisibleVirtualViews
+ 1075:1082:boolean onPerformActionForVirtualView(int,int,android.os.Bundle) -> onPerformActionForVirtualView
+ 1052:1070:void onPopulateNodeForHost(androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onPopulateNodeForHost
+ 1028:1048:void onPopulateNodeForVirtualView(int,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onPopulateNodeForVirtualView
+ 1019:1023:void onVirtualViewKeyboardFocusChanged(int,boolean) -> onVirtualViewKeyboardFocusChanged
+com.google.android.material.chip.ChipDrawable -> com.google.android.material.chip.ChipDrawable:
+ 165:169:void <clinit>() -> <clinit>
+ 175:333:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 1316:1337:void applyChildDrawable(android.graphics.drawable.Drawable) -> applyChildDrawable
+ 813:831:void calculateChipIconBounds(android.graphics.Rect,android.graphics.RectF) -> calculateChipIconBounds
+ 528:531:float calculateChipIconWidth() -> calculateChipIconWidth
+ 923:939:void calculateChipTouchBounds(android.graphics.Rect,android.graphics.RectF) -> calculateChipTouchBounds
+ 904:920:void calculateCloseIconBounds(android.graphics.Rect,android.graphics.RectF) -> calculateCloseIconBounds
+ 942:963:void calculateCloseIconTouchBounds(android.graphics.Rect,android.graphics.RectF) -> calculateCloseIconTouchBounds
+ 568:571:float calculateCloseIconWidth() -> calculateCloseIconWidth
+ 878:897:void calculateTextBounds(android.graphics.Rect,android.graphics.RectF) -> calculateTextBounds
+ 869:870:float calculateTextCenterFromBaseline() -> calculateTextCenterFromBaseline
+ 836:853:android.graphics.Paint$Align calculateTextOriginAndAlignment(android.graphics.Rect,android.graphics.PointF) -> calculateTextOriginAndAlignment
+ 523:523:boolean canShowCheckedIcon() -> canShowCheckedIcon
+ 279:281:com.google.android.material.chip.ChipDrawable createFromAttributes(android.content.Context,android.util.AttributeSet,int,int) -> createFromAttributes
+ 298:303:com.google.android.material.chip.ChipDrawable createFromResource(android.content.Context,int) -> createFromResource
+ 580:627:void draw(android.graphics.Canvas) -> draw
+ 699:711:void drawCheckedIcon(android.graphics.Canvas,android.graphics.Rect) -> drawCheckedIcon
+ 639:646:void drawChipBackground(android.graphics.Canvas,android.graphics.Rect) -> drawChipBackground
+ 684:696:void drawChipIcon(android.graphics.Canvas,android.graphics.Rect) -> drawChipIcon
+ 653:669:void drawChipStroke(android.graphics.Canvas,android.graphics.Rect) -> drawChipStroke
+ 630:636:void drawChipSurface(android.graphics.Canvas,android.graphics.Rect) -> drawChipSurface
+ 750:769:void drawCloseIcon(android.graphics.Canvas,android.graphics.Rect) -> drawCloseIcon
+ 672:681:void drawCompatRipple(android.graphics.Canvas,android.graphics.Rect) -> drawCompatRipple
+ 772:806:void drawDebug(android.graphics.Canvas,android.graphics.Rect) -> drawDebug
+ 715:747:void drawText(android.graphics.Canvas,android.graphics.Rect) -> drawText
+ 1228:1228:int getAlpha() -> getAlpha
+ 2018:2018:android.graphics.drawable.Drawable getCheckedIcon() -> getCheckedIcon
+ 2057:2057:android.content.res.ColorStateList getCheckedIconTint() -> getCheckedIconTint
+ 1400:1400:android.content.res.ColorStateList getChipBackgroundColor() -> getChipBackgroundColor
+ 1467:1467:float getChipCornerRadius() -> getChipCornerRadius
+ 2410:2410:float getChipEndPadding() -> getChipEndPadding
+ 1696:1696:android.graphics.drawable.Drawable getChipIcon() -> getChipIcon
+ 1764:1764:float getChipIconSize() -> getChipIconSize
+ 1725:1725:android.content.res.ColorStateList getChipIconTint() -> getChipIconTint
+ 1433:1433:float getChipMinHeight() -> getChipMinHeight
+ 2158:2158:float getChipStartPadding() -> getChipStartPadding
+ 1504:1504:android.content.res.ColorStateList getChipStrokeColor() -> getChipStrokeColor
+ 1540:1540:float getChipStrokeWidth() -> getChipStrokeWidth
+ 474:475:void getChipTouchBounds(android.graphics.RectF) -> getChipTouchBounds
+ 1846:1846:android.graphics.drawable.Drawable getCloseIcon() -> getCloseIcon
+ 1936:1936:java.lang.CharSequence getCloseIconContentDescription() -> getCloseIconContentDescription
+ 2374:2374:float getCloseIconEndPadding() -> getCloseIconEndPadding
+ 1908:1908:float getCloseIconSize() -> getCloseIconSize
+ 2338:2338:float getCloseIconStartPadding() -> getCloseIconStartPadding
+ 1003:1003:int[] getCloseIconState() -> getCloseIconState
+ 1888:1888:android.content.res.ColorStateList getCloseIconTint() -> getCloseIconTint
+ 482:483:void getCloseIconTouchBounds(android.graphics.RectF) -> getCloseIconTouchBounds
+ 1242:1242:android.graphics.ColorFilter getColorFilter() -> getColorFilter
+ 551:560:float getCurrentChipIconHeight() -> getCurrentChipIconHeight
+ 539:543:float getCurrentChipIconWidth() -> getCurrentChipIconWidth
+ 1641:1641:android.text.TextUtils$TruncateAt getEllipsize() -> getEllipsize
+ 2128:2128:com.google.android.material.animation.MotionSpec getHideMotionSpec() -> getHideMotionSpec
+ 2231:2231:float getIconEndPadding() -> getIconEndPadding
+ 2192:2192:float getIconStartPadding() -> getIconStartPadding
+ 503:503:int getIntrinsicHeight() -> getIntrinsicHeight
+ 488:497:int getIntrinsicWidth() -> getIntrinsicWidth
+ 2444:2444:int getMaxWidth() -> getMaxWidth
+ 1264:1264:int getOpacity() -> getOpacity
+ 1270:1282:void getOutline(android.graphics.Outline) -> getOutline
+ 1579:1579:android.content.res.ColorStateList getRippleColor() -> getRippleColor
+ 2097:2097:com.google.android.material.animation.MotionSpec getShowMotionSpec() -> getShowMotionSpec
+ 1608:1608:java.lang.CharSequence getText() -> getText
+ 1629:1629:com.google.android.material.resources.TextAppearance getTextAppearance() -> getTextAppearance
+ 2304:2304:float getTextEndPadding() -> getTextEndPadding
+ 2270:2270:float getTextStartPadding() -> getTextStartPadding
+ 1345:1345:android.graphics.ColorFilter getTintColorFilter() -> getTintColorFilter
+ 453:453:boolean getUseCompatRipple() -> getUseCompatRipple
+ 1362:1371:boolean hasState(int[],int) -> hasState
+ 1286:1290:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 1940:1940:boolean isCheckable() -> isCheckable
+ 1971:1971:boolean isCheckedIconEnabled() -> isCheckedIconEnabled
+ 1965:1965:boolean isCheckedIconVisible() -> isCheckedIconVisible
+ 1655:1655:boolean isChipIconEnabled() -> isChipIconEnabled
+ 1649:1649:boolean isChipIconVisible() -> isChipIconVisible
+ 1805:1805:boolean isCloseIconEnabled() -> isCloseIconEnabled
+ 983:983:boolean isCloseIconStateful() -> isCloseIconStateful
+ 1799:1799:boolean isCloseIconVisible() -> isCloseIconVisible
+ 575:575:boolean isShapeThemingEnabled() -> isShapeThemingEnabled
+ 969:977:boolean isStateful() -> isStateful
+ 1141:1141:boolean isStateful(android.content.res.ColorStateList) -> isStateful
+ 1145:1145:boolean isStateful(android.graphics.drawable.Drawable) -> isStateful
+ 1149:1151:boolean isStateful(com.google.android.material.resources.TextAppearance) -> isStateful
+ 337:440:void loadFromAttributes(android.util.AttributeSet,int,int) -> loadFromAttributes
+ 1156:1171:boolean onLayoutDirectionChanged(int) -> onLayoutDirectionChanged
+ 1176:1191:boolean onLevelChange(int) -> onLevelChange
+ 463:467:void onSizeChange() -> onSizeChange
+ 1014:1017:boolean onStateChange(int[]) -> onStateChange
+ 1023:1137:boolean onStateChange(int[],int[]) -> onStateChange
+ 1008:1010:void onTextSizeChange() -> onTextSizeChange
+ 1294:1298:void scheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable,long) -> scheduleDrawable
+ 1220:1224:void setAlpha(int) -> setAlpha
+ 1948:1962:void setCheckable(boolean) -> setCheckable
+ 1944:1945:void setCheckableResource(int) -> setCheckableResource
+ 2038:2052:void setCheckedIcon(android.graphics.drawable.Drawable) -> setCheckedIcon
+ 2007:2008:void setCheckedIconEnabled(boolean) -> setCheckedIconEnabled
+ 2001:2002:void setCheckedIconEnabledResource(int) -> setCheckedIconEnabledResource
+ 2028:2029:void setCheckedIconResource(int) -> setCheckedIconResource
+ 2078:2087:void setCheckedIconTint(android.content.res.ColorStateList) -> setCheckedIconTint
+ 2067:2068:void setCheckedIconTintResource(int) -> setCheckedIconTintResource
+ 1975:1976:void setCheckedIconVisible(int) -> setCheckedIconVisible
+ 1979:1996:void setCheckedIconVisible(boolean) -> setCheckedIconVisible
+ 1420:1424:void setChipBackgroundColor(android.content.res.ColorStateList) -> setChipBackgroundColor
+ 1410:1411:void setChipBackgroundColorResource(int) -> setChipBackgroundColorResource
+ 1489:1494:void setChipCornerRadius(float) -> setChipCornerRadius
+ 1478:1479:void setChipCornerRadiusResource(int) -> setChipCornerRadiusResource
+ 2430:2435:void setChipEndPadding(float) -> setChipEndPadding
+ 2420:2421:void setChipEndPaddingResource(int) -> setChipEndPaddingResource
+ 1704:1720:void setChipIcon(android.graphics.drawable.Drawable) -> setChipIcon
+ 1691:1692:void setChipIconEnabled(boolean) -> setChipIconEnabled
+ 1685:1686:void setChipIconEnabledResource(int) -> setChipIconEnabledResource
+ 1700:1701:void setChipIconResource(int) -> setChipIconResource
+ 1786:1796:void setChipIconSize(float) -> setChipIconSize
+ 1775:1776:void setChipIconSizeResource(int) -> setChipIconSizeResource
+ 1745:1754:void setChipIconTint(android.content.res.ColorStateList) -> setChipIconTint
+ 1735:1736:void setChipIconTintResource(int) -> setChipIconTintResource
+ 1659:1660:void setChipIconVisible(int) -> setChipIconVisible
+ 1663:1680:void setChipIconVisible(boolean) -> setChipIconVisible
+ 1453:1458:void setChipMinHeight(float) -> setChipMinHeight
+ 1443:1444:void setChipMinHeightResource(int) -> setChipMinHeightResource
+ 2178:2183:void setChipStartPadding(float) -> setChipStartPadding
+ 2168:2169:void setChipStartPaddingResource(int) -> setChipStartPaddingResource
+ 1524:1531:void setChipStrokeColor(android.content.res.ColorStateList) -> setChipStrokeColor
+ 1514:1515:void setChipStrokeColorResource(int) -> setChipStrokeColorResource
+ 1560:1569:void setChipStrokeWidth(float) -> setChipStrokeWidth
+ 1550:1551:void setChipStrokeWidthResource(int) -> setChipStrokeWidthResource
+ 1354:1358:void setChipSurfaceColor(android.content.res.ColorStateList) -> setChipSurfaceColor
+ 1854:1873:void setCloseIcon(android.graphics.drawable.Drawable) -> setCloseIcon
+ 1926:1932:void setCloseIconContentDescription(java.lang.CharSequence) -> setCloseIconContentDescription
+ 1841:1842:void setCloseIconEnabled(boolean) -> setCloseIconEnabled
+ 1835:1836:void setCloseIconEnabledResource(int) -> setCloseIconEnabledResource
+ 2394:2401:void setCloseIconEndPadding(float) -> setCloseIconEndPadding
+ 2384:2385:void setCloseIconEndPaddingResource(int) -> setCloseIconEndPaddingResource
+ 1850:1851:void setCloseIconResource(int) -> setCloseIconResource
+ 1916:1923:void setCloseIconSize(float) -> setCloseIconSize
+ 1912:1913:void setCloseIconSizeResource(int) -> setCloseIconSizeResource
+ 2358:2365:void setCloseIconStartPadding(float) -> setCloseIconStartPadding
+ 2348:2349:void setCloseIconStartPaddingResource(int) -> setCloseIconStartPaddingResource
+ 991:997:boolean setCloseIconState(int[]) -> setCloseIconState
+ 1896:1905:void setCloseIconTint(android.content.res.ColorStateList) -> setCloseIconTint
+ 1892:1893:void setCloseIconTintResource(int) -> setCloseIconTintResource
+ 1809:1810:void setCloseIconVisible(int) -> setCloseIconVisible
+ 1813:1830:void setCloseIconVisible(boolean) -> setCloseIconVisible
+ 1233:1237:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 458:459:void setDelegate(com.google.android.material.chip.ChipDrawable$Delegate) -> setDelegate
+ 1645:1646:void setEllipsize(android.text.TextUtils$TruncateAt) -> setEllipsize
+ 2148:2149:void setHideMotionSpec(com.google.android.material.animation.MotionSpec) -> setHideMotionSpec
+ 2138:2139:void setHideMotionSpecResource(int) -> setHideMotionSpecResource
+ 2251:2261:void setIconEndPadding(float) -> setIconEndPadding
+ 2241:2242:void setIconEndPaddingResource(int) -> setIconEndPaddingResource
+ 2212:2222:void setIconStartPadding(float) -> setIconStartPadding
+ 2202:2203:void setIconStartPaddingResource(int) -> setIconStartPaddingResource
+ 2453:2454:void setMaxWidth(int) -> setMaxWidth
+ 1599:1604:void setRippleColor(android.content.res.ColorStateList) -> setRippleColor
+ 1589:1590:void setRippleColorResource(int) -> setRippleColorResource
+ 2467:2468:void setShouldDrawText(boolean) -> setShouldDrawText
+ 2117:2118:void setShowMotionSpec(com.google.android.material.animation.MotionSpec) -> setShowMotionSpec
+ 2107:2108:void setShowMotionSpecResource(int) -> setShowMotionSpecResource
+ 1616:1625:void setText(java.lang.CharSequence) -> setText
+ 1637:1638:void setTextAppearance(com.google.android.material.resources.TextAppearance) -> setTextAppearance
+ 1633:1634:void setTextAppearanceResource(int) -> setTextAppearanceResource
+ 2324:2329:void setTextEndPadding(float) -> setTextEndPadding
+ 2314:2315:void setTextEndPaddingResource(int) -> setTextEndPaddingResource
+ 1612:1613:void setTextResource(int) -> setTextResource
+ 1375:1381:void setTextSize(float) -> setTextSize
+ 2290:2295:void setTextStartPadding(float) -> setTextStartPadding
+ 2280:2281:void setTextStartPaddingResource(int) -> setTextStartPaddingResource
+ 1247:1251:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 1255:1260:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 444:449:void setUseCompatRipple(boolean) -> setUseCompatRipple
+ 1196:1211:boolean setVisible(boolean,boolean) -> setVisible
+ 2457:2457:boolean shouldDrawText() -> shouldDrawText
+ 513:513:boolean showsCheckedIcon() -> showsCheckedIcon
+ 508:508:boolean showsChipIcon() -> showsChipIcon
+ 518:518:boolean showsCloseIcon() -> showsCloseIcon
+ 1309:1312:void unapplyChildDrawable(android.graphics.drawable.Drawable) -> unapplyChildDrawable
+ 1302:1306:void unscheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable) -> unscheduleDrawable
+ 1349:1351:void updateCompatRippleColor() -> updateCompatRippleColor
+ 1877:1884:void updateFrameworkCloseIconRipple() -> updateFrameworkCloseIconRipple
+com.google.android.material.chip.ChipGroup -> com.google.android.material.chip.ChipGroup:
+ 91:91:void <clinit>() -> <clinit>
+ 110:111:void <init>(android.content.Context) -> <init>
+ 114:115:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 100:143:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 56:56:com.google.android.material.chip.ChipGroup$CheckedStateTracker access$1000(com.google.android.material.chip.ChipGroup) -> access$1000
+ 56:56:boolean access$300(com.google.android.material.chip.ChipGroup) -> access$300
+ 56:56:boolean access$400(com.google.android.material.chip.ChipGroup) -> access$400
+ 56:56:void access$500(com.google.android.material.chip.ChipGroup,int,boolean) -> access$500
+ 56:56:void access$600(com.google.android.material.chip.ChipGroup,int,boolean) -> access$600
+ 56:56:int access$700(com.google.android.material.chip.ChipGroup) -> access$700
+ 56:56:boolean access$800(com.google.android.material.chip.ChipGroup) -> access$800
+ 56:56:void access$900(com.google.android.material.chip.ChipGroup,int) -> access$900
+ 203:214:void addView(android.view.View,int,android.view.ViewGroup$LayoutParams) -> addView
+ 264:277:void check(int) -> check
+ 181:181:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 332:342:void clearCheck() -> clearCheck
+ 176:176:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 164:164:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 170:170:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 291:291:int getCheckedChipId() -> getCheckedChipId
+ 307:320:java.util.List getCheckedChipIds() -> getCheckedChipIds
+ 376:382:int getChipCount() -> getChipCount
+ 421:421:int getChipSpacingHorizontal() -> getChipSpacingHorizontal
+ 441:441:int getChipSpacingVertical() -> getChipSpacingVertical
+ 391:404:int getIndexOfChip(android.view.View) -> getIndexOfChip
+ 522:522:boolean isSelectionRequired() -> isSelectionRequired
+ 462:462:boolean isSingleLine() -> isSingleLine
+ 479:479:boolean isSingleSelection() -> isSingleSelection
+ 192:199:void onFinishInflate() -> onFinishInflate
+ 147:159:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 355:356:void setCheckedId(int) -> setCheckedId
+ 359:364:void setCheckedId(int,boolean) -> setCheckedId
+ 367:373:void setCheckedStateForView(int,boolean) -> setCheckedStateForView
+ 409:411:void setChipSpacing(int) -> setChipSpacing
+ 426:431:void setChipSpacingHorizontal(int) -> setChipSpacingHorizontal
+ 435:436:void setChipSpacingHorizontalResource(int) -> setChipSpacingHorizontalResource
+ 415:416:void setChipSpacingResource(int) -> setChipSpacingResource
+ 446:451:void setChipSpacingVertical(int) -> setChipSpacingVertical
+ 455:456:void setChipSpacingVerticalResource(int) -> setChipSpacingVerticalResource
+ 219:219:void setDividerDrawableHorizontal(android.graphics.drawable.Drawable) -> setDividerDrawableHorizontal
+ 227:227:void setDividerDrawableVertical(android.graphics.drawable.Drawable) -> setDividerDrawableVertical
+ 249:249:void setFlexWrap(int) -> setFlexWrap
+ 351:352:void setOnCheckedChangeListener(com.google.android.material.chip.ChipGroup$OnCheckedChangeListener) -> setOnCheckedChangeListener
+ 187:188:void setOnHierarchyChangeListener(android.view.ViewGroup$OnHierarchyChangeListener) -> setOnHierarchyChangeListener
+ 511:512:void setSelectionRequired(boolean) -> setSelectionRequired
+ 235:235:void setShowDividerHorizontal(int) -> setShowDividerHorizontal
+ 242:242:void setShowDividerVertical(int) -> setShowDividerVertical
+ 469:470:void setSingleLine(boolean) -> setSingleLine
+ 474:475:void setSingleLine(int) -> setSingleLine
+ 488:493:void setSingleSelection(boolean) -> setSingleSelection
+ 501:502:void setSingleSelection(int) -> setSingleSelection
+com.google.android.material.chip.ChipGroup$CheckedStateTracker -> com.google.android.material.chip.ChipGroup$CheckedStateTracker:
+ 525:525:void <init>(com.google.android.material.chip.ChipGroup) -> <init>
+ 525:525:void <init>(com.google.android.material.chip.ChipGroup,com.google.android.material.chip.ChipGroup$1) -> <init>
+ 529:550:void onCheckedChanged(android.widget.CompoundButton,boolean) -> onCheckedChanged
+com.google.android.material.chip.ChipGroup$LayoutParams -> com.google.android.material.chip.ChipGroup$LayoutParams:
+ 75:76:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 79:80:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 83:84:void <init>(int,int) -> <init>
+ 87:88:void <init>(android.view.ViewGroup$MarginLayoutParams) -> <init>
+com.google.android.material.chip.ChipGroup$PassThroughHierarchyChangeListener -> com.google.android.material.chip.ChipGroup$PassThroughHierarchyChangeListener:
+ 558:558:void <init>(com.google.android.material.chip.ChipGroup) -> <init>
+ 558:558:void <init>(com.google.android.material.chip.ChipGroup,com.google.android.material.chip.ChipGroup$1) -> <init>
+ 558:558:android.view.ViewGroup$OnHierarchyChangeListener access$202(com.google.android.material.chip.ChipGroup$PassThroughHierarchyChangeListener,android.view.ViewGroup$OnHierarchyChangeListener) -> access$202
+ 563:580:void onChildViewAdded(android.view.View,android.view.View) -> onChildViewAdded
+ 584:591:void onChildViewRemoved(android.view.View,android.view.View) -> onChildViewRemoved
+com.google.android.material.circularreveal.CircularRevealCompat -> com.google.android.material.circularreveal.CircularRevealCompat:
+ 39:39:void <init>() -> <init>
+ 57:77:android.animation.Animator createCircularReveal(com.google.android.material.circularreveal.CircularRevealWidget,float,float,float) -> createCircularReveal
+ 97:110:android.animation.Animator createCircularReveal(com.google.android.material.circularreveal.CircularRevealWidget,float,float,float,float) -> createCircularReveal
+ 123:123:android.animation.Animator$AnimatorListener createCircularRevealListener(com.google.android.material.circularreveal.CircularRevealWidget) -> createCircularRevealListener
+com.google.android.material.circularreveal.CircularRevealCompat$1 -> com.google.android.material.circularreveal.CircularRevealCompat$1:
+ 123:123:void <init>(com.google.android.material.circularreveal.CircularRevealWidget) -> <init>
+ 131:132:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 126:127:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.circularreveal.CircularRevealFrameLayout -> com.google.android.material.circularreveal.CircularRevealFrameLayout:
+ 34:35:void <init>(android.content.Context) -> <init>
+ 38:40:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 96:97:void actualDraw(android.graphics.Canvas) -> actualDraw
+ 110:110:boolean actualIsOpaque() -> actualIsOpaque
+ 44:45:void buildCircularRevealCache() -> buildCircularRevealCache
+ 49:50:void destroyCircularRevealCache() -> destroyCircularRevealCache
+ 87:92:void draw(android.graphics.Canvas) -> draw
+ 76:76:android.graphics.drawable.Drawable getCircularRevealOverlayDrawable() -> getCircularRevealOverlayDrawable
+ 65:65:int getCircularRevealScrimColor() -> getCircularRevealScrimColor
+ 55:55:com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo getRevealInfo() -> getRevealInfo
+ 101:104:boolean isOpaque() -> isOpaque
+ 81:82:void setCircularRevealOverlayDrawable(android.graphics.drawable.Drawable) -> setCircularRevealOverlayDrawable
+ 70:71:void setCircularRevealScrimColor(int) -> setCircularRevealScrimColor
+ 60:61:void setRevealInfo(com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> setRevealInfo
+com.google.android.material.circularreveal.CircularRevealGridLayout -> com.google.android.material.circularreveal.CircularRevealGridLayout:
+ 33:34:void <init>(android.content.Context) -> <init>
+ 37:39:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 94:95:void actualDraw(android.graphics.Canvas) -> actualDraw
+ 108:108:boolean actualIsOpaque() -> actualIsOpaque
+ 43:44:void buildCircularRevealCache() -> buildCircularRevealCache
+ 48:49:void destroyCircularRevealCache() -> destroyCircularRevealCache
+ 85:90:void draw(android.graphics.Canvas) -> draw
+ 75:75:android.graphics.drawable.Drawable getCircularRevealOverlayDrawable() -> getCircularRevealOverlayDrawable
+ 64:64:int getCircularRevealScrimColor() -> getCircularRevealScrimColor
+ 54:54:com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo getRevealInfo() -> getRevealInfo
+ 99:102:boolean isOpaque() -> isOpaque
+ 80:81:void setCircularRevealOverlayDrawable(android.graphics.drawable.Drawable) -> setCircularRevealOverlayDrawable
+ 69:70:void setCircularRevealScrimColor(int) -> setCircularRevealScrimColor
+ 59:60:void setRevealInfo(com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> setRevealInfo
+com.google.android.material.circularreveal.CircularRevealHelper -> com.google.android.material.circularreveal.CircularRevealHelper:
+ 127:134:void <clinit>() -> <clinit>
+ 136:150:void <init>(com.google.android.material.circularreveal.CircularRevealHelper$Delegate) -> <init>
+ 153:173:void buildCircularRevealCache() -> buildCircularRevealCache
+ 176:182:void destroyCircularRevealCache() -> destroyCircularRevealCache
+ 264:301:void draw(android.graphics.Canvas) -> draw
+ 352:356:void drawDebugCircle(android.graphics.Canvas,int,float) -> drawDebugCircle
+ 337:349:void drawDebugMode(android.graphics.Canvas) -> drawDebugMode
+ 304:313:void drawOverlayDrawable(android.graphics.Canvas) -> drawOverlayDrawable
+ 233:233:android.graphics.drawable.Drawable getCircularRevealOverlayDrawable() -> getCircularRevealOverlayDrawable
+ 228:228:int getCircularRevealScrimColor() -> getCircularRevealScrimColor
+ 254:255:float getDistanceToFurthestCorner(com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> getDistanceToFurthestCorner
+ 210:218:com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo getRevealInfo() -> getRevealInfo
+ 242:251:void invalidateRevealInfo() -> invalidateRevealInfo
+ 316:316:boolean isOpaque() -> isOpaque
+ 237:239:void setCircularRevealOverlayDrawable(android.graphics.drawable.Drawable) -> setCircularRevealOverlayDrawable
+ 222:224:void setCircularRevealScrimColor(int) -> setCircularRevealScrimColor
+ 189:206:void setRevealInfo(com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> setRevealInfo
+ 320:324:boolean shouldDrawCircularReveal() -> shouldDrawCircularReveal
+ 333:333:boolean shouldDrawOverlayDrawable() -> shouldDrawOverlayDrawable
+ 329:329:boolean shouldDrawScrim() -> shouldDrawScrim
+com.google.android.material.circularreveal.CircularRevealLinearLayout -> com.google.android.material.circularreveal.CircularRevealLinearLayout:
+ 33:34:void <init>(android.content.Context) -> <init>
+ 37:39:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 94:95:void actualDraw(android.graphics.Canvas) -> actualDraw
+ 108:108:boolean actualIsOpaque() -> actualIsOpaque
+ 43:44:void buildCircularRevealCache() -> buildCircularRevealCache
+ 48:49:void destroyCircularRevealCache() -> destroyCircularRevealCache
+ 85:90:void draw(android.graphics.Canvas) -> draw
+ 75:75:android.graphics.drawable.Drawable getCircularRevealOverlayDrawable() -> getCircularRevealOverlayDrawable
+ 64:64:int getCircularRevealScrimColor() -> getCircularRevealScrimColor
+ 54:54:com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo getRevealInfo() -> getRevealInfo
+ 99:102:boolean isOpaque() -> isOpaque
+ 80:81:void setCircularRevealOverlayDrawable(android.graphics.drawable.Drawable) -> setCircularRevealOverlayDrawable
+ 69:70:void setCircularRevealScrimColor(int) -> setCircularRevealScrimColor
+ 59:60:void setRevealInfo(com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> setRevealInfo
+com.google.android.material.circularreveal.CircularRevealRelativeLayout -> com.google.android.material.circularreveal.CircularRevealRelativeLayout:
+ 33:34:void <init>(android.content.Context) -> <init>
+ 37:39:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 94:95:void actualDraw(android.graphics.Canvas) -> actualDraw
+ 108:108:boolean actualIsOpaque() -> actualIsOpaque
+ 43:44:void buildCircularRevealCache() -> buildCircularRevealCache
+ 48:49:void destroyCircularRevealCache() -> destroyCircularRevealCache
+ 85:90:void draw(android.graphics.Canvas) -> draw
+ 75:75:android.graphics.drawable.Drawable getCircularRevealOverlayDrawable() -> getCircularRevealOverlayDrawable
+ 64:64:int getCircularRevealScrimColor() -> getCircularRevealScrimColor
+ 54:54:com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo getRevealInfo() -> getRevealInfo
+ 99:102:boolean isOpaque() -> isOpaque
+ 80:81:void setCircularRevealOverlayDrawable(android.graphics.drawable.Drawable) -> setCircularRevealOverlayDrawable
+ 69:70:void setCircularRevealScrimColor(int) -> setCircularRevealScrimColor
+ 59:60:void setRevealInfo(com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> setRevealInfo
+com.google.android.material.circularreveal.CircularRevealWidget$CircularRevealEvaluator -> com.google.android.material.circularreveal.CircularRevealWidget$CircularRevealEvaluator:
+ 209:209:void <clinit>() -> <clinit>
+ 207:210:void <init>() -> <init>
+ 207:207:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 216:220:com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo evaluate(float,com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo,com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> evaluate
+com.google.android.material.circularreveal.CircularRevealWidget$CircularRevealProperty -> com.google.android.material.circularreveal.CircularRevealWidget$CircularRevealProperty:
+ 181:181:void <clinit>() -> <clinit>
+ 185:186:void <init>(java.lang.String) -> <init>
+ 179:179:java.lang.Object get(java.lang.Object) -> get
+ 191:191:com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo get(com.google.android.material.circularreveal.CircularRevealWidget) -> get
+ 179:179:void set(java.lang.Object,java.lang.Object) -> set
+ 196:197:void set(com.google.android.material.circularreveal.CircularRevealWidget,com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> set
+com.google.android.material.circularreveal.CircularRevealWidget$CircularRevealScrimColorProperty -> com.google.android.material.circularreveal.CircularRevealWidget$CircularRevealScrimColorProperty:
+ 230:230:void <clinit>() -> <clinit>
+ 234:235:void <init>(java.lang.String) -> <init>
+ 228:228:java.lang.Object get(java.lang.Object) -> get
+ 240:240:java.lang.Integer get(com.google.android.material.circularreveal.CircularRevealWidget) -> get
+ 228:228:void set(java.lang.Object,java.lang.Object) -> set
+ 245:246:void set(com.google.android.material.circularreveal.CircularRevealWidget,java.lang.Integer) -> set
+com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo -> com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo:
+ 132:132:void <init>(com.google.android.material.circularreveal.CircularRevealWidget$1) -> <init>
+ 144:144:void <init>() -> <init>
+ 146:150:void <init>(float,float,float) -> <init>
+ 153:154:void <init>(com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> <init>
+ 171:171:boolean isInvalid() -> isInvalid
+ 157:160:void set(float,float,float) -> set
+ 163:164:void set(com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> set
+com.google.android.material.circularreveal.cardview.CircularRevealCardView -> com.google.android.material.circularreveal.cardview.CircularRevealCardView:
+ 37:38:void <init>(android.content.Context) -> <init>
+ 41:43:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 98:99:void actualDraw(android.graphics.Canvas) -> actualDraw
+ 112:112:boolean actualIsOpaque() -> actualIsOpaque
+ 47:48:void buildCircularRevealCache() -> buildCircularRevealCache
+ 52:53:void destroyCircularRevealCache() -> destroyCircularRevealCache
+ 89:94:void draw(android.graphics.Canvas) -> draw
+ 79:79:android.graphics.drawable.Drawable getCircularRevealOverlayDrawable() -> getCircularRevealOverlayDrawable
+ 73:73:int getCircularRevealScrimColor() -> getCircularRevealScrimColor
+ 63:63:com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo getRevealInfo() -> getRevealInfo
+ 103:106:boolean isOpaque() -> isOpaque
+ 84:85:void setCircularRevealOverlayDrawable(android.graphics.drawable.Drawable) -> setCircularRevealOverlayDrawable
+ 68:69:void setCircularRevealScrimColor(int) -> setCircularRevealScrimColor
+ 57:58:void setRevealInfo(com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> setRevealInfo
+com.google.android.material.circularreveal.coordinatorlayout.CircularRevealCoordinatorLayout -> com.google.android.material.circularreveal.coordinatorlayout.CircularRevealCoordinatorLayout:
+ 37:38:void <init>(android.content.Context) -> <init>
+ 41:43:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 98:99:void actualDraw(android.graphics.Canvas) -> actualDraw
+ 112:112:boolean actualIsOpaque() -> actualIsOpaque
+ 47:48:void buildCircularRevealCache() -> buildCircularRevealCache
+ 52:53:void destroyCircularRevealCache() -> destroyCircularRevealCache
+ 89:94:void draw(android.graphics.Canvas) -> draw
+ 79:79:android.graphics.drawable.Drawable getCircularRevealOverlayDrawable() -> getCircularRevealOverlayDrawable
+ 73:73:int getCircularRevealScrimColor() -> getCircularRevealScrimColor
+ 63:63:com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo getRevealInfo() -> getRevealInfo
+ 103:106:boolean isOpaque() -> isOpaque
+ 84:85:void setCircularRevealOverlayDrawable(android.graphics.drawable.Drawable) -> setCircularRevealOverlayDrawable
+ 68:69:void setCircularRevealScrimColor(int) -> setCircularRevealScrimColor
+ 57:58:void setRevealInfo(com.google.android.material.circularreveal.CircularRevealWidget$RevealInfo) -> setRevealInfo
+com.google.android.material.color.MaterialColors -> com.google.android.material.color.MaterialColors:
+ 43:45:void <init>() -> <init>
+ 155:156:int compositeARGBWithAlpha(int,int) -> compositeARGBWithAlpha
+ 55:55:int getColor(android.view.View,int) -> getColor
+ 66:66:int getColor(android.content.Context,int,java.lang.String) -> getColor
+ 76:76:int getColor(android.view.View,int,int) -> getColor
+ 86:90:int getColor(android.content.Context,int,int) -> getColor
+ 161:161:boolean isColorLight(int) -> isColorLight
+ 103:103:int layer(android.view.View,int,int) -> layer
+ 116:118:int layer(android.view.View,int,int,float) -> layer
+ 130:132:int layer(int,int,float) -> layer
+ 141:141:int layer(int,int) -> layer
+com.google.android.material.datepicker.CalendarConstraints -> com.google.android.material.datepicker.CalendarConstraints:
+ 149:149:void <clinit>() -> <clinit>
+ 33:33:void <init>(com.google.android.material.datepicker.Month,com.google.android.material.datepicker.Month,com.google.android.material.datepicker.CalendarConstraints$DateValidator,com.google.android.material.datepicker.Month,com.google.android.material.datepicker.CalendarConstraints$1) -> <init>
+ 60:73:void <init>(com.google.android.material.datepicker.Month,com.google.android.material.datepicker.Month,com.google.android.material.datepicker.CalendarConstraints$DateValidator,com.google.android.material.datepicker.Month) -> <init>
+ 33:33:com.google.android.material.datepicker.Month access$100(com.google.android.material.datepicker.CalendarConstraints) -> access$100
+ 33:33:com.google.android.material.datepicker.Month access$200(com.google.android.material.datepicker.CalendarConstraints) -> access$200
+ 33:33:com.google.android.material.datepicker.Month access$300(com.google.android.material.datepicker.CalendarConstraints) -> access$300
+ 33:33:com.google.android.material.datepicker.CalendarConstraints$DateValidator access$400(com.google.android.material.datepicker.CalendarConstraints) -> access$400
+ 185:193:com.google.android.material.datepicker.Month clamp(com.google.android.material.datepicker.Month) -> clamp
+ 170:170:int describeContents() -> describeContents
+ 127:137:boolean equals(java.lang.Object) -> equals
+ 83:83:com.google.android.material.datepicker.CalendarConstraints$DateValidator getDateValidator() -> getDateValidator
+ 95:95:com.google.android.material.datepicker.Month getEnd() -> getEnd
+ 114:114:int getMonthSpan() -> getMonthSpan
+ 101:101:com.google.android.material.datepicker.Month getOpenAt() -> getOpenAt
+ 89:89:com.google.android.material.datepicker.Month getStart() -> getStart
+ 122:122:int getYearSpan() -> getYearSpan
+ 142:143:int hashCode() -> hashCode
+ 76:76:boolean isWithinBounds(long) -> isWithinBounds
+ 106:107:void setOpenAt(com.google.android.material.datepicker.Month) -> setOpenAt
+ 175:179:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.datepicker.CalendarConstraints$1 -> com.google.android.material.datepicker.CalendarConstraints$1:
+ 150:150:void <init>() -> <init>
+ 150:150:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 154:158:com.google.android.material.datepicker.CalendarConstraints createFromParcel(android.os.Parcel) -> createFromParcel
+ 150:150:java.lang.Object[] newArray(int) -> newArray
+ 164:164:com.google.android.material.datepicker.CalendarConstraints[] newArray(int) -> newArray
+com.google.android.material.datepicker.CalendarConstraints$Builder -> com.google.android.material.datepicker.CalendarConstraints$Builder:
+ 203:210:void <clinit>() -> <clinit>
+ 214:219:void <init>() -> <init>
+ 214:226:void <init>(com.google.android.material.datepicker.CalendarConstraints) -> <init>
+ 322:328:com.google.android.material.datepicker.CalendarConstraints build() -> build
+ 278:279:com.google.android.material.datepicker.CalendarConstraints$Builder setEnd(long) -> setEnd
+ 305:306:com.google.android.material.datepicker.CalendarConstraints$Builder setOpenAt(long) -> setOpenAt
+ 251:252:com.google.android.material.datepicker.CalendarConstraints$Builder setStart(long) -> setStart
+ 315:316:com.google.android.material.datepicker.CalendarConstraints$Builder setValidator(com.google.android.material.datepicker.CalendarConstraints$DateValidator) -> setValidator
+com.google.android.material.datepicker.CalendarItemStyle -> com.google.android.material.datepicker.CalendarItemStyle:
+ 66:78:void <init>(android.content.res.ColorStateList,android.content.res.ColorStateList,android.content.res.ColorStateList,int,com.google.android.material.shape.ShapeAppearanceModel,android.graphics.Rect) -> <init>
+ 87:130:com.google.android.material.datepicker.CalendarItemStyle create(android.content.Context,int) -> create
+ 166:166:int getBottomInset() -> getBottomInset
+ 154:154:int getLeftInset() -> getLeftInset
+ 158:158:int getRightInset() -> getRightInset
+ 162:162:int getTopInset() -> getTopInset
+ 136:151:void styleItem(android.widget.TextView) -> styleItem
+com.google.android.material.datepicker.CalendarStyle -> com.google.android.material.datepicker.CalendarStyle:
+ 74:116:void <init>(android.content.Context) -> <init>
+com.google.android.material.datepicker.CompositeDateValidator -> com.google.android.material.datepicker.CompositeDateValidator:
+ 42:108:void <clinit>() -> <clinit>
+ 27:27:void <init>(java.util.List,com.google.android.material.datepicker.CompositeDateValidator$Operator,com.google.android.material.datepicker.CompositeDateValidator$1) -> <init>
+ 88:91:void <init>(java.util.List,com.google.android.material.datepicker.CompositeDateValidator$Operator) -> <init>
+ 27:27:com.google.android.material.datepicker.CompositeDateValidator$Operator access$000() -> access$000
+ 27:27:com.google.android.material.datepicker.CompositeDateValidator$Operator access$100() -> access$100
+ 98:98:com.google.android.material.datepicker.CalendarConstraints$DateValidator allOf(java.util.List) -> allOf
+ 104:104:com.google.android.material.datepicker.CalendarConstraints$DateValidator anyOf(java.util.List) -> anyOf
+ 151:151:int describeContents() -> describeContents
+ 162:172:boolean equals(java.lang.Object) -> equals
+ 177:177:int hashCode() -> hashCode
+ 146:146:boolean isValid(long) -> isValid
+ 156:158:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.datepicker.CompositeDateValidator$1 -> com.google.android.material.datepicker.CompositeDateValidator$1:
+ 43:43:void <init>() -> <init>
+ 61:61:int getId() -> getId
+ 47:56:boolean isValid(java.util.List,long) -> isValid
+com.google.android.material.datepicker.CompositeDateValidator$2 -> com.google.android.material.datepicker.CompositeDateValidator$2:
+ 66:66:void <init>() -> <init>
+ 84:84:int getId() -> getId
+ 70:79:boolean isValid(java.util.List,long) -> isValid
+com.google.android.material.datepicker.CompositeDateValidator$3 -> com.google.android.material.datepicker.CompositeDateValidator$3:
+ 109:109:void <init>() -> <init>
+ 109:109:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 114:126:com.google.android.material.datepicker.CompositeDateValidator createFromParcel(android.os.Parcel) -> createFromParcel
+ 109:109:java.lang.Object[] newArray(int) -> newArray
+ 132:132:com.google.android.material.datepicker.CompositeDateValidator[] newArray(int) -> newArray
+com.google.android.material.datepicker.DateFormatTextWatcher -> com.google.android.material.datepicker.DateFormatTextWatcher:
+ 48:73:void <init>(java.lang.String,java.text.DateFormat,com.google.android.material.textfield.TextInputLayout,com.google.android.material.datepicker.CalendarConstraints) -> <init>
+ 31:31:com.google.android.material.textfield.TextInputLayout access$000(com.google.android.material.datepicker.DateFormatTextWatcher) -> access$000
+ 31:31:java.text.DateFormat access$100(com.google.android.material.datepicker.DateFormatTextWatcher) -> access$100
+ 31:31:java.lang.String access$200(com.google.android.material.datepicker.DateFormatTextWatcher) -> access$200
+ 107:107:java.lang.Runnable createRangeErrorCallback(long) -> createRangeErrorCallback
+ 77:77:void onInvalidDate() -> onInvalidDate
+ 81:104:void onTextChanged(java.lang.CharSequence,int,int,int) -> onTextChanged
+ 118:119:void runValidation(android.view.View,java.lang.Runnable) -> runValidation
+com.google.android.material.datepicker.DateFormatTextWatcher$1 -> com.google.android.material.datepicker.DateFormatTextWatcher$1:
+ 55:55:void <init>(com.google.android.material.datepicker.DateFormatTextWatcher,java.lang.String) -> <init>
+ 58:71:void run() -> run
+com.google.android.material.datepicker.DateFormatTextWatcher$2 -> com.google.android.material.datepicker.DateFormatTextWatcher$2:
+ 107:107:void <init>(com.google.android.material.datepicker.DateFormatTextWatcher,long) -> <init>
+ 110:113:void run() -> run
+com.google.android.material.datepicker.DateStrings -> com.google.android.material.datepicker.DateStrings:
+ 34:34:void <init>() -> <init>
+ 136:136:androidx.core.util.Pair getDateRangeString(java.lang.Long,java.lang.Long) -> getDateRangeString
+ 157:186:androidx.core.util.Pair getDateRangeString(java.lang.Long,java.lang.Long,java.text.SimpleDateFormat) -> getDateRangeString
+ 107:107:java.lang.String getDateString(long) -> getDateString
+ 122:132:java.lang.String getDateString(long,java.text.SimpleDateFormat) -> getDateString
+ 64:64:java.lang.String getMonthDay(long) -> getMonthDay
+ 78:79:java.lang.String getMonthDay(long,java.util.Locale) -> getMonthDay
+ 85:85:java.lang.String getMonthDayOfWeekDay(long) -> getMonthDayOfWeekDay
+ 89:90:java.lang.String getMonthDayOfWeekDay(long,java.util.Locale) -> getMonthDayOfWeekDay
+ 37:39:java.lang.String getYearMonth(android.content.Context,long) -> getYearMonth
+ 43:43:java.lang.String getYearMonthDay(long) -> getYearMonthDay
+ 57:58:java.lang.String getYearMonthDay(long,java.util.Locale) -> getYearMonthDay
+ 96:96:java.lang.String getYearMonthDayOfWeekDay(long) -> getYearMonthDayOfWeekDay
+ 100:101:java.lang.String getYearMonthDayOfWeekDay(long,java.util.Locale) -> getYearMonthDayOfWeekDay
+com.google.android.material.datepicker.DateValidatorPointBackward -> com.google.android.material.datepicker.DateValidatorPointBackward:
+ 58:58:void <clinit>() -> <clinit>
+ 31:31:void <init>(long,com.google.android.material.datepicker.DateValidatorPointBackward$1) -> <init>
+ 35:37:void <init>(long) -> <init>
+ 45:45:com.google.android.material.datepicker.DateValidatorPointBackward before(long) -> before
+ 80:80:int describeContents() -> describeContents
+ 90:98:boolean equals(java.lang.Object) -> equals
+ 103:104:int hashCode() -> hashCode
+ 75:75:boolean isValid(long) -> isValid
+ 54:54:com.google.android.material.datepicker.DateValidatorPointBackward now() -> now
+ 85:86:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.datepicker.DateValidatorPointBackward$1 -> com.google.android.material.datepicker.DateValidatorPointBackward$1:
+ 59:59:void <init>() -> <init>
+ 59:59:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 63:63:com.google.android.material.datepicker.DateValidatorPointBackward createFromParcel(android.os.Parcel) -> createFromParcel
+ 59:59:java.lang.Object[] newArray(int) -> newArray
+ 69:69:com.google.android.material.datepicker.DateValidatorPointBackward[] newArray(int) -> newArray
+com.google.android.material.datepicker.DateValidatorPointForward -> com.google.android.material.datepicker.DateValidatorPointForward:
+ 57:57:void <clinit>() -> <clinit>
+ 30:30:void <init>(long,com.google.android.material.datepicker.DateValidatorPointForward$1) -> <init>
+ 34:36:void <init>(long) -> <init>
+ 79:79:int describeContents() -> describeContents
+ 89:96:boolean equals(java.lang.Object) -> equals
+ 44:44:com.google.android.material.datepicker.DateValidatorPointForward from(long) -> from
+ 101:102:int hashCode() -> hashCode
+ 74:74:boolean isValid(long) -> isValid
+ 53:53:com.google.android.material.datepicker.DateValidatorPointForward now() -> now
+ 84:85:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.datepicker.DateValidatorPointForward$1 -> com.google.android.material.datepicker.DateValidatorPointForward$1:
+ 58:58:void <init>() -> <init>
+ 58:58:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 62:62:com.google.android.material.datepicker.DateValidatorPointForward createFromParcel(android.os.Parcel) -> createFromParcel
+ 58:58:java.lang.Object[] newArray(int) -> newArray
+ 68:68:com.google.android.material.datepicker.DateValidatorPointForward[] newArray(int) -> newArray
+com.google.android.material.datepicker.DaysOfWeekAdapter -> com.google.android.material.datepicker.DaysOfWeekAdapter:
+ 49:49:void <clinit>() -> <clinit>
+ 52:56:void <init>() -> <init>
+ 75:75:int getCount() -> getCount
+ 41:41:java.lang.Object getItem(int) -> getItem
+ 61:64:java.lang.Integer getItem(int) -> getItem
+ 70:70:long getItemId(int) -> getItemId
+ 82:96:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 101:105:int positionToDayOfWeek(int) -> positionToDayOfWeek
+com.google.android.material.datepicker.MaterialCalendar -> com.google.android.material.datepicker.MaterialCalendar:
+ 74:80:void <clinit>() -> <clinit>
+ 60:60:void <init>() -> <init>
+ 60:60:androidx.recyclerview.widget.RecyclerView access$000(com.google.android.material.datepicker.MaterialCalendar) -> access$000
+ 60:60:com.google.android.material.datepicker.CalendarConstraints access$100(com.google.android.material.datepicker.MaterialCalendar) -> access$100
+ 60:60:com.google.android.material.datepicker.DateSelector access$200(com.google.android.material.datepicker.MaterialCalendar) -> access$200
+ 60:60:androidx.recyclerview.widget.RecyclerView access$300(com.google.android.material.datepicker.MaterialCalendar) -> access$300
+ 60:60:com.google.android.material.datepicker.CalendarStyle access$400(com.google.android.material.datepicker.MaterialCalendar) -> access$400
+ 60:60:android.view.View access$500(com.google.android.material.datepicker.MaterialCalendar) -> access$500
+ 60:60:com.google.android.material.datepicker.Month access$602(com.google.android.material.datepicker.MaterialCalendar,com.google.android.material.datepicker.Month) -> access$602
+ 366:447:void addActionsToMonthNavigation(android.view.View,com.google.android.material.datepicker.MonthsPagerAdapter) -> addActionsToMonthNavigation
+ 466:466:boolean addOnSelectionChangedListener(com.google.android.material.datepicker.OnSelectionChangedListener) -> addOnSelectionChangedListener
+ 232:232:androidx.recyclerview.widget.RecyclerView$ItemDecoration createItemDecoration() -> createItemDecoration
+ 290:290:com.google.android.material.datepicker.CalendarConstraints getCalendarConstraints() -> getCalendarConstraints
+ 324:324:com.google.android.material.datepicker.CalendarStyle getCalendarStyle() -> getCalendarStyle
+ 284:284:com.google.android.material.datepicker.Month getCurrentMonth() -> getCurrentMonth
+ 320:320:com.google.android.material.datepicker.DateSelector getDateSelector() -> getDateSelector
+ 335:335:int getDayHeight(android.content.Context) -> getDayHeight
+ 461:461:androidx.recyclerview.widget.LinearLayoutManager getLayoutManager() -> getLayoutManager
+ 98:105:com.google.android.material.datepicker.MaterialCalendar newInstance(com.google.android.material.datepicker.DateSelector,int,com.google.android.material.datepicker.CalendarConstraints) -> newInstance
+ 119:125:void onCreate(android.os.Bundle) -> onCreate
+ 133:227:android.view.View onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle) -> onCreateView
+ 110:115:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 450:457:void postSmoothRecyclerViewScroll(int) -> postSmoothRecyclerViewScroll
+ 300:315:void setCurrentMonth(com.google.android.material.datepicker.Month) -> setCurrentMonth
+ 339:354:void setSelector(com.google.android.material.datepicker.MaterialCalendar$CalendarSelector) -> setSelector
+ 357:362:void toggleVisibleSelector() -> toggleVisibleSelector
+com.google.android.material.datepicker.MaterialCalendar$1 -> com.google.android.material.datepicker.MaterialCalendar$1:
+ 153:153:void <init>(com.google.android.material.datepicker.MaterialCalendar) -> <init>
+ 157:160:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+com.google.android.material.datepicker.MaterialCalendar$10 -> com.google.android.material.datepicker.MaterialCalendar$10:
+ 451:451:void <init>(com.google.android.material.datepicker.MaterialCalendar,int) -> <init>
+ 454:455:void run() -> run
+com.google.android.material.datepicker.MaterialCalendar$2 -> com.google.android.material.datepicker.MaterialCalendar$2:
+ 169:169:void <init>(com.google.android.material.datepicker.MaterialCalendar,android.content.Context,int,boolean,int) -> <init>
+ 172:179:void calculateExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView$State,int[]) -> calculateExtraLayoutSpace
+com.google.android.material.datepicker.MaterialCalendar$3 -> com.google.android.material.datepicker.MaterialCalendar$3:
+ 189:189:void <init>(com.google.android.material.datepicker.MaterialCalendar) -> <init>
+ 193:204:void onDayClick(long) -> onDayClick
+com.google.android.material.datepicker.MaterialCalendar$4 -> com.google.android.material.datepicker.MaterialCalendar$4:
+ 232:235:void <init>(com.google.android.material.datepicker.MaterialCalendar) -> <init>
+ 240:278:void onDraw(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDraw
+com.google.android.material.datepicker.MaterialCalendar$5 -> com.google.android.material.datepicker.MaterialCalendar$5:
+ 370:370:void <init>(com.google.android.material.datepicker.MaterialCalendar) -> <init>
+ 375:380:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+com.google.android.material.datepicker.MaterialCalendar$6 -> com.google.android.material.datepicker.MaterialCalendar$6:
+ 393:393:void <init>(com.google.android.material.datepicker.MaterialCalendar,com.google.android.material.datepicker.MonthsPagerAdapter,com.google.android.material.button.MaterialButton) -> <init>
+ 408:416:void onScrollStateChanged(androidx.recyclerview.widget.RecyclerView,int) -> onScrollStateChanged
+ 397:404:void onScrolled(androidx.recyclerview.widget.RecyclerView,int,int) -> onScrolled
+com.google.android.material.datepicker.MaterialCalendar$7 -> com.google.android.material.datepicker.MaterialCalendar$7:
+ 420:420:void <init>(com.google.android.material.datepicker.MaterialCalendar) -> <init>
+ 423:424:void onClick(android.view.View) -> onClick
+com.google.android.material.datepicker.MaterialCalendar$8 -> com.google.android.material.datepicker.MaterialCalendar$8:
+ 428:428:void <init>(com.google.android.material.datepicker.MaterialCalendar,com.google.android.material.datepicker.MonthsPagerAdapter) -> <init>
+ 431:435:void onClick(android.view.View) -> onClick
+com.google.android.material.datepicker.MaterialCalendar$9 -> com.google.android.material.datepicker.MaterialCalendar$9:
+ 438:438:void <init>(com.google.android.material.datepicker.MaterialCalendar,com.google.android.material.datepicker.MonthsPagerAdapter) -> <init>
+ 441:445:void onClick(android.view.View) -> onClick
+com.google.android.material.datepicker.MaterialCalendar$CalendarSelector -> com.google.android.material.datepicker.MaterialCalendar$CalendarSelector:
+ 63:65:void <clinit>() -> <clinit>
+ 63:63:void <init>(java.lang.String,int) -> <init>
+ 63:63:com.google.android.material.datepicker.MaterialCalendar$CalendarSelector valueOf(java.lang.String) -> valueOf
+ 63:63:com.google.android.material.datepicker.MaterialCalendar$CalendarSelector[] values() -> values
+com.google.android.material.datepicker.MaterialCalendarGridView -> com.google.android.material.datepicker.MaterialCalendarGridView:
+ 46:47:void <init>(android.content.Context) -> <init>
+ 50:51:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 42:71:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 221:228:void gainFocus(int,android.graphics.Rect) -> gainFocus
+ 40:40:android.widget.Adapter getAdapter() -> getAdapter
+ 40:40:android.widget.ListAdapter getAdapter() -> getAdapter
+ 108:108:com.google.android.material.datepicker.MonthAdapter getAdapter() -> getAdapter
+ 242:242:int horizontalMidPoint(android.view.View) -> horizontalMidPoint
+ 75:77:void onAttachedToWindow() -> onAttachedToWindow
+ 125:195:void onDraw(android.graphics.Canvas) -> onDraw
+ 213:218:void onFocusChanged(boolean,int,android.graphics.Rect) -> onFocusChanged
+ 90:102:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 199:209:void onMeasure(int,int) -> onMeasure
+ 40:40:void setAdapter(android.widget.Adapter) -> setAdapter
+ 113:121:void setAdapter(android.widget.ListAdapter) -> setAdapter
+ 81:86:void setSelection(int) -> setSelection
+ 235:238:boolean skipMonth(java.lang.Long,java.lang.Long,java.lang.Long,java.lang.Long) -> skipMonth
+com.google.android.material.datepicker.MaterialCalendarGridView$1 -> com.google.android.material.datepicker.MaterialCalendarGridView$1:
+ 62:62:void <init>(com.google.android.material.datepicker.MaterialCalendarGridView) -> <init>
+ 66:69:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+com.google.android.material.datepicker.MaterialDatePicker -> com.google.android.material.datepicker.MaterialDatePicker:
+ 71:73:void <clinit>() -> <clinit>
+ 62:114:void <init>() -> <init>
+ 62:62:java.util.LinkedHashSet access$000(com.google.android.material.datepicker.MaterialDatePicker) -> access$000
+ 62:62:java.util.LinkedHashSet access$100(com.google.android.material.datepicker.MaterialDatePicker) -> access$100
+ 62:62:void access$200(com.google.android.material.datepicker.MaterialDatePicker) -> access$200
+ 62:62:com.google.android.material.datepicker.DateSelector access$300(com.google.android.material.datepicker.MaterialDatePicker) -> access$300
+ 62:62:android.widget.Button access$400(com.google.android.material.datepicker.MaterialDatePicker) -> access$400
+ 62:62:com.google.android.material.internal.CheckableImageButton access$500(com.google.android.material.datepicker.MaterialDatePicker) -> access$500
+ 62:62:void access$600(com.google.android.material.datepicker.MaterialDatePicker,com.google.android.material.internal.CheckableImageButton) -> access$600
+ 62:62:void access$700(com.google.android.material.datepicker.MaterialDatePicker) -> access$700
+ 502:502:boolean addOnCancelListener(android.content.DialogInterface$OnCancelListener) -> addOnCancelListener
+ 520:520:boolean addOnDismissListener(android.content.DialogInterface$OnDismissListener) -> addOnDismissListener
+ 476:476:boolean addOnNegativeButtonClickListener(android.view.View$OnClickListener) -> addOnNegativeButtonClickListener
+ 454:454:boolean addOnPositiveButtonClickListener(com.google.android.material.datepicker.MaterialPickerOnPositiveButtonClickListener) -> addOnPositiveButtonClickListener
+ 512:513:void clearOnCancelListeners() -> clearOnCancelListeners
+ 530:531:void clearOnDismissListeners() -> clearOnDismissListeners
+ 492:493:void clearOnNegativeButtonClickListeners() -> clearOnNegativeButtonClickListeners
+ 470:471:void clearOnPositiveButtonClickListeners() -> clearOnPositiveButtonClickListeners
+ 395:402:android.graphics.drawable.Drawable createHeaderToggleDrawable(android.content.Context) -> createHeaderToggleDrawable
+ 425:438:int getDialogPickerHeight(android.content.Context) -> getDialogPickerHeight
+ 105:105:java.lang.String getHeaderText() -> getHeaderText
+ 442:448:int getPaddedPickerWidth(android.content.Context) -> getPaddedPickerWidth
+ 323:323:java.lang.Object getSelection() -> getSelection
+ 175:178:int getThemeResId(android.content.Context) -> getThemeResId
+ 362:382:void initHeaderToggle(android.content.Context) -> initHeaderToggle
+ 406:406:boolean isFullscreen(android.content.Context) -> isFullscreen
+ 410:410:boolean isNestedScrollable(android.content.Context) -> isNestedScrollable
+ 134:143:com.google.android.material.datepicker.MaterialDatePicker newInstance(com.google.android.material.datepicker.MaterialDatePicker$Builder) -> newInstance
+ 299:303:void onCancel(android.content.DialogInterface) -> onCancel
+ 164:172:void onCreate(android.os.Bundle) -> onCreate
+ 184:199:android.app.Dialog onCreateDialog(android.os.Bundle) -> onCreateDialog
+ 208:267:android.view.View onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle) -> onCreateView
+ 307:315:void onDismiss(android.content.DialogInterface) -> onDismiss
+ 148:160:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 272:289:void onStart() -> onStart
+ 293:295:void onStop() -> onStop
+ 414:421:boolean readMaterialCalendarStyleBoolean(android.content.Context,int) -> readMaterialCalendarStyleBoolean
+ 507:507:boolean removeOnCancelListener(android.content.DialogInterface$OnCancelListener) -> removeOnCancelListener
+ 525:525:boolean removeOnDismissListener(android.content.DialogInterface$OnDismissListener) -> removeOnDismissListener
+ 485:485:boolean removeOnNegativeButtonClickListener(android.view.View$OnClickListener) -> removeOnNegativeButtonClickListener
+ 463:463:boolean removeOnPositiveButtonClickListener(com.google.android.material.datepicker.MaterialPickerOnPositiveButtonClickListener) -> removeOnPositiveButtonClickListener
+ 334:359:void startPickerFragment() -> startPickerFragment
+ 96:96:long thisMonthInUtcMilliseconds() -> thisMonthInUtcMilliseconds
+ 89:89:long todayInUtcMilliseconds() -> todayInUtcMilliseconds
+ 327:331:void updateHeader() -> updateHeader
+ 385:390:void updateToggleContentDescription(com.google.android.material.internal.CheckableImageButton) -> updateToggleContentDescription
+com.google.android.material.datepicker.MaterialDatePicker$1 -> com.google.android.material.datepicker.MaterialDatePicker$1:
+ 244:244:void <init>(com.google.android.material.datepicker.MaterialDatePicker) -> <init>
+ 248:252:void onClick(android.view.View) -> onClick
+com.google.android.material.datepicker.MaterialDatePicker$2 -> com.google.android.material.datepicker.MaterialDatePicker$2:
+ 258:258:void <init>(com.google.android.material.datepicker.MaterialDatePicker) -> <init>
+ 261:265:void onClick(android.view.View) -> onClick
+com.google.android.material.datepicker.MaterialDatePicker$3 -> com.google.android.material.datepicker.MaterialDatePicker$3:
+ 347:347:void <init>(com.google.android.material.datepicker.MaterialDatePicker) -> <init>
+ 356:357:void onIncompleteSelectionChanged() -> onIncompleteSelectionChanged
+ 350:352:void onSelectionChanged(java.lang.Object) -> onSelectionChanged
+com.google.android.material.datepicker.MaterialDatePicker$4 -> com.google.android.material.datepicker.MaterialDatePicker$4:
+ 371:371:void <init>(com.google.android.material.datepicker.MaterialDatePicker) -> <init>
+ 375:380:void onClick(android.view.View) -> onClick
+com.google.android.material.datepicker.MaterialDatePicker$Builder -> com.google.android.material.datepicker.MaterialDatePicker$Builder:
+ 537:547:void <init>(com.google.android.material.datepicker.DateSelector) -> <init>
+ 630:645:com.google.android.material.datepicker.MaterialDatePicker build() -> build
+ 649:664:com.google.android.material.datepicker.Month createDefaultOpenAt() -> createDefaultOpenAt
+ 557:557:com.google.android.material.datepicker.MaterialDatePicker$Builder customDatePicker(com.google.android.material.datepicker.DateSelector) -> customDatePicker
+ 566:566:com.google.android.material.datepicker.MaterialDatePicker$Builder datePicker() -> datePicker
+ 575:575:com.google.android.material.datepicker.MaterialDatePicker$Builder dateRangePicker() -> dateRangePicker
+ 594:595:com.google.android.material.datepicker.MaterialDatePicker$Builder setCalendarConstraints(com.google.android.material.datepicker.CalendarConstraints) -> setCalendarConstraints
+ 623:624:com.google.android.material.datepicker.MaterialDatePicker$Builder setInputMode(int) -> setInputMode
+ 580:581:com.google.android.material.datepicker.MaterialDatePicker$Builder setSelection(java.lang.Object) -> setSelection
+ 587:588:com.google.android.material.datepicker.MaterialDatePicker$Builder setTheme(int) -> setTheme
+ 604:606:com.google.android.material.datepicker.MaterialDatePicker$Builder setTitleText(int) -> setTitleText
+ 615:617:com.google.android.material.datepicker.MaterialDatePicker$Builder setTitleText(java.lang.CharSequence) -> setTitleText
+com.google.android.material.datepicker.MaterialStyledDatePickerDialog -> com.google.android.material.datepicker.MaterialStyledDatePickerDialog:
+ 52:52:void <clinit>() -> <clinit>
+ 59:60:void <init>(android.content.Context) -> <init>
+ 63:64:void <init>(android.content.Context,int) -> <init>
+ 72:73:void <init>(android.content.Context,android.app.DatePickerDialog$OnDateSetListener,int,int,int) -> <init>
+ 83:102:void <init>(android.content.Context,int,android.app.DatePickerDialog$OnDateSetListener,int,int,int) -> <init>
+ 106:111:void onCreate(android.os.Bundle) -> onCreate
+com.google.android.material.datepicker.MaterialTextInputPicker -> com.google.android.material.datepicker.MaterialTextInputPicker:
+ 35:35:void <init>() -> <init>
+ 109:115:com.google.android.material.datepicker.DateSelector getDateSelector() -> getDateSelector
+ 50:56:com.google.android.material.datepicker.MaterialTextInputPicker newInstance(com.google.android.material.datepicker.DateSelector,int,com.google.android.material.datepicker.CalendarConstraints) -> newInstance
+ 69:74:void onCreate(android.os.Bundle) -> onCreate
+ 82:84:android.view.View onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle) -> onCreateView
+ 61:65:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+com.google.android.material.datepicker.MaterialTextInputPicker$1 -> com.google.android.material.datepicker.MaterialTextInputPicker$1:
+ 89:89:void <init>(com.google.android.material.datepicker.MaterialTextInputPicker) -> <init>
+ 99:102:void onIncompleteSelectionChanged() -> onIncompleteSelectionChanged
+ 92:95:void onSelectionChanged(java.lang.Object) -> onSelectionChanged
+com.google.android.material.datepicker.Month -> com.google.android.material.datepicker.Month:
+ 202:202:void <clinit>() -> <clinit>
+ 60:68:void <init>(java.util.Calendar) -> <init>
+ 31:31:int compareTo(java.lang.Object) -> compareTo
+ 134:134:int compareTo(com.google.android.material.datepicker.Month) -> compareTo
+ 76:78:com.google.android.material.datepicker.Month create(long) -> create
+ 91:94:com.google.android.material.datepicker.Month create(int,int) -> create
+ 103:103:com.google.android.material.datepicker.Month current() -> current
+ 107:111:int daysFromStartOfWeekToFirstOfMonth() -> daysFromStartOfWeekToFirstOfMonth
+ 221:221:int describeContents() -> describeContents
+ 116:123:boolean equals(java.lang.Object) -> equals
+ 168:170:long getDay(int) -> getDay
+ 174:176:int getDayOfMonth(long) -> getDayOfMonth
+ 193:196:java.lang.String getLongName(android.content.Context) -> getLongName
+ 155:155:long getStableId() -> getStableId
+ 128:129:int hashCode() -> hashCode
+ 185:187:com.google.android.material.datepicker.Month monthsLater(int) -> monthsLater
+ 147:150:int monthsUntil(com.google.android.material.datepicker.Month) -> monthsUntil
+ 226:228:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.datepicker.Month$1 -> com.google.android.material.datepicker.Month$1:
+ 203:203:void <init>() -> <init>
+ 203:203:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 207:209:com.google.android.material.datepicker.Month createFromParcel(android.os.Parcel) -> createFromParcel
+ 203:203:java.lang.Object[] newArray(int) -> newArray
+ 215:215:com.google.android.material.datepicker.Month[] newArray(int) -> newArray
+com.google.android.material.datepicker.MonthAdapter -> com.google.android.material.datepicker.MonthAdapter:
+ 43:43:void <clinit>() -> <clinit>
+ 56:61:void <init>(com.google.android.material.datepicker.Month,com.google.android.material.datepicker.DateSelector,com.google.android.material.datepicker.CalendarConstraints) -> <init>
+ 239:240:int dayToPosition(int) -> dayToPosition
+ 212:212:int firstPositionInMonth() -> firstPositionInMonth
+ 100:100:int getCount() -> getCount
+ 38:38:java.lang.Object getItem(int) -> getItem
+ 79:82:java.lang.Long getItem(int) -> getItem
+ 87:87:long getItemId(int) -> getItemId
+ 38:38:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 106:137:android.widget.TextView getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 65:65:boolean hasStableIds() -> hasStableIds
+ 199:202:void initializeStyles(android.content.Context) -> initializeStyles
+ 253:253:boolean isFirstInRow(int) -> isFirstInRow
+ 261:261:boolean isLastInRow(int) -> isLastInRow
+ 190:195:boolean isSelected(long) -> isSelected
+ 223:223:int lastPositionInMonth() -> lastPositionInMonth
+ 234:234:int positionToDay(int) -> positionToDay
+ 169:187:void updateSelectedState(android.widget.TextView,long) -> updateSelectedState
+ 157:166:void updateSelectedStateForDate(com.google.android.material.datepicker.MaterialCalendarGridView,long) -> updateSelectedStateForDate
+ 142:154:void updateSelectedStates(com.google.android.material.datepicker.MaterialCalendarGridView) -> updateSelectedStates
+ 245:245:boolean withinMonth(int) -> withinMonth
+com.google.android.material.datepicker.MonthsPagerAdapter -> com.google.android.material.datepicker.MonthsPagerAdapter:
+ 50:72:void <init>(android.content.Context,com.google.android.material.datepicker.DateSelector,com.google.android.material.datepicker.CalendarConstraints,com.google.android.material.datepicker.MaterialCalendar$OnDayClickListener) -> <init>
+ 38:38:com.google.android.material.datepicker.MaterialCalendar$OnDayClickListener access$000(com.google.android.material.datepicker.MonthsPagerAdapter) -> access$000
+ 139:139:int getItemCount() -> getItemCount
+ 134:134:long getItemId(int) -> getItemId
+ 149:149:com.google.android.material.datepicker.Month getPageMonth(int) -> getPageMonth
+ 144:144:java.lang.CharSequence getPageTitle(int) -> getPageTitle
+ 153:153:int getPosition(com.google.android.material.datepicker.Month) -> getPosition
+ 38:38:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> onBindViewHolder
+ 108:130:void onBindViewHolder(com.google.android.material.datepicker.MonthsPagerAdapter$ViewHolder,int) -> onBindViewHolder
+ 38:38:androidx.recyclerview.widget.RecyclerView$ViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 93:102:com.google.android.material.datepicker.MonthsPagerAdapter$ViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+com.google.android.material.datepicker.MonthsPagerAdapter$1 -> com.google.android.material.datepicker.MonthsPagerAdapter$1:
+ 122:122:void <init>(com.google.android.material.datepicker.MonthsPagerAdapter,com.google.android.material.datepicker.MaterialCalendarGridView) -> <init>
+ 125:128:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+com.google.android.material.datepicker.MonthsPagerAdapter$ViewHolder -> com.google.android.material.datepicker.MonthsPagerAdapter$ViewHolder:
+ 80:87:void <init>(android.widget.LinearLayout,boolean) -> <init>
+com.google.android.material.datepicker.OnSelectionChangedListener -> com.google.android.material.datepicker.OnSelectionChangedListener:
+ 24:24:void <init>() -> <init>
+ 29:29:void onIncompleteSelectionChanged() -> onIncompleteSelectionChanged
+com.google.android.material.datepicker.PickerFragment -> com.google.android.material.datepicker.PickerFragment:
+ 21:23:void <init>() -> <init>
+ 30:30:boolean addOnSelectionChangedListener(com.google.android.material.datepicker.OnSelectionChangedListener) -> addOnSelectionChangedListener
+ 40:41:void clearOnSelectionChangedListeners() -> clearOnSelectionChangedListeners
+ 35:35:boolean removeOnSelectionChangedListener(com.google.android.material.datepicker.OnSelectionChangedListener) -> removeOnSelectionChangedListener
+com.google.android.material.datepicker.RangeDateSelector -> com.google.android.material.datepicker.RangeDateSelector:
+ 280:280:void <clinit>() -> <clinit>
+ 52:60:void <init>() -> <init>
+ 52:52:java.lang.Long access$002(com.google.android.material.datepicker.RangeDateSelector,java.lang.Long) -> access$002
+ 52:52:void access$100(com.google.android.material.datepicker.RangeDateSelector,com.google.android.material.textfield.TextInputLayout,com.google.android.material.textfield.TextInputLayout,com.google.android.material.datepicker.OnSelectionChangedListener) -> access$100
+ 52:52:java.lang.Long access$202(com.google.android.material.datepicker.RangeDateSelector,java.lang.Long) -> access$202
+ 52:52:java.lang.Long access$302(com.google.android.material.datepicker.RangeDateSelector,java.lang.Long) -> access$302
+ 52:52:java.lang.Long access$402(com.google.android.material.datepicker.RangeDateSelector,java.lang.Long) -> access$402
+ 264:270:void clearInvalidRange(com.google.android.material.textfield.TextInputLayout,com.google.android.material.textfield.TextInputLayout) -> clearInvalidRange
+ 301:301:int describeContents() -> describeContents
+ 125:135:int getDefaultThemeResId(android.content.Context) -> getDefaultThemeResId
+ 165:165:int getDefaultTitleResId() -> getDefaultTitleResId
+ 113:120:java.util.Collection getSelectedDays() -> getSelectedDays
+ 101:107:java.util.Collection getSelectedRanges() -> getSelectedRanges
+ 51:51:java.lang.Object getSelection() -> getSelection
+ 95:95:androidx.core.util.Pair getSelection() -> getSelection
+ 141:157:java.lang.String getSelectionDisplayString(android.content.Context) -> getSelectionDisplayString
+ 76:78:boolean isSelectionComplete() -> isSelectionComplete
+ 241:241:boolean isValidRange(long,long) -> isValidRange
+ 175:237:android.view.View onCreateTextInputView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle,com.google.android.material.datepicker.CalendarConstraints,com.google.android.material.datepicker.OnSelectionChangedListener) -> onCreateTextInputView
+ 64:72:void select(long) -> select
+ 273:275:void setInvalidRange(com.google.android.material.textfield.TextInputLayout,com.google.android.material.textfield.TextInputLayout) -> setInvalidRange
+ 51:51:void setSelection(java.lang.Object) -> setSelection
+ 83:90:void setSelection(androidx.core.util.Pair) -> setSelection
+ 248:261:void updateIfValidTextProposal(com.google.android.material.textfield.TextInputLayout,com.google.android.material.textfield.TextInputLayout,com.google.android.material.datepicker.OnSelectionChangedListener) -> updateIfValidTextProposal
+ 306:308:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.datepicker.RangeDateSelector$1 -> com.google.android.material.datepicker.RangeDateSelector$1:
+ 207:207:void <init>(com.google.android.material.datepicker.RangeDateSelector,java.lang.String,java.text.DateFormat,com.google.android.material.textfield.TextInputLayout,com.google.android.material.datepicker.CalendarConstraints,com.google.android.material.textfield.TextInputLayout,com.google.android.material.textfield.TextInputLayout,com.google.android.material.datepicker.OnSelectionChangedListener) -> <init>
+ 217:219:void onInvalidDate() -> onInvalidDate
+ 211:213:void onValidDate(java.lang.Long) -> onValidDate
+com.google.android.material.datepicker.RangeDateSelector$2 -> com.google.android.material.datepicker.RangeDateSelector$2:
+ 223:223:void <init>(com.google.android.material.datepicker.RangeDateSelector,java.lang.String,java.text.DateFormat,com.google.android.material.textfield.TextInputLayout,com.google.android.material.datepicker.CalendarConstraints,com.google.android.material.textfield.TextInputLayout,com.google.android.material.textfield.TextInputLayout,com.google.android.material.datepicker.OnSelectionChangedListener) -> <init>
+ 230:232:void onInvalidDate() -> onInvalidDate
+ 225:227:void onValidDate(java.lang.Long) -> onValidDate
+com.google.android.material.datepicker.RangeDateSelector$3 -> com.google.android.material.datepicker.RangeDateSelector$3:
+ 281:281:void <init>() -> <init>
+ 281:281:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 285:289:com.google.android.material.datepicker.RangeDateSelector createFromParcel(android.os.Parcel) -> createFromParcel
+ 281:281:java.lang.Object[] newArray(int) -> newArray
+ 295:295:com.google.android.material.datepicker.RangeDateSelector[] newArray(int) -> newArray
+com.google.android.material.datepicker.SingleDateSelector -> com.google.android.material.datepicker.SingleDateSelector:
+ 166:166:void <clinit>() -> <clinit>
+ 49:49:void <init>() -> <init>
+ 49:49:void access$000(com.google.android.material.datepicker.SingleDateSelector) -> access$000
+ 49:49:java.lang.Long access$102(com.google.android.material.datepicker.SingleDateSelector,java.lang.Long) -> access$102
+ 59:60:void clearSelection() -> clearSelection
+ 185:185:int describeContents() -> describeContents
+ 143:144:int getDefaultThemeResId(android.content.Context) -> getDefaultThemeResId
+ 160:160:int getDefaultTitleResId() -> getDefaultTitleResId
+ 81:85:java.util.Collection getSelectedDays() -> getSelectedDays
+ 75:75:java.util.Collection getSelectedRanges() -> getSelectedRanges
+ 48:48:java.lang.Object getSelection() -> getSelection
+ 91:91:java.lang.Long getSelection() -> getSelection
+ 150:155:java.lang.String getSelectionDisplayString(android.content.Context) -> getSelectionDisplayString
+ 69:69:boolean isSelectionComplete() -> isSelectionComplete
+ 101:138:android.view.View onCreateTextInputView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle,com.google.android.material.datepicker.CalendarConstraints,com.google.android.material.datepicker.OnSelectionChangedListener) -> onCreateTextInputView
+ 55:56:void select(long) -> select
+ 48:48:void setSelection(java.lang.Object) -> setSelection
+ 64:65:void setSelection(java.lang.Long) -> setSelection
+ 190:191:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.datepicker.SingleDateSelector$1 -> com.google.android.material.datepicker.SingleDateSelector$1:
+ 118:118:void <init>(com.google.android.material.datepicker.SingleDateSelector,java.lang.String,java.text.DateFormat,com.google.android.material.textfield.TextInputLayout,com.google.android.material.datepicker.CalendarConstraints,com.google.android.material.datepicker.OnSelectionChangedListener) -> <init>
+ 132:133:void onInvalidDate() -> onInvalidDate
+ 122:128:void onValidDate(java.lang.Long) -> onValidDate
+com.google.android.material.datepicker.SingleDateSelector$2 -> com.google.android.material.datepicker.SingleDateSelector$2:
+ 167:167:void <init>() -> <init>
+ 167:167:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 171:173:com.google.android.material.datepicker.SingleDateSelector createFromParcel(android.os.Parcel) -> createFromParcel
+ 167:167:java.lang.Object[] newArray(int) -> newArray
+ 179:179:com.google.android.material.datepicker.SingleDateSelector[] newArray(int) -> newArray
+com.google.android.material.datepicker.SmoothCalendarLayoutManager -> com.google.android.material.datepicker.SmoothCalendarLayoutManager:
+ 34:35:void <init>(android.content.Context,int,boolean) -> <init>
+ 40:50:void smoothScrollToPosition(androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State,int) -> smoothScrollToPosition
+com.google.android.material.datepicker.SmoothCalendarLayoutManager$1 -> com.google.android.material.datepicker.SmoothCalendarLayoutManager$1:
+ 41:41:void <init>(com.google.android.material.datepicker.SmoothCalendarLayoutManager,android.content.Context) -> <init>
+ 45:45:float calculateSpeedPerPixel(android.util.DisplayMetrics) -> calculateSpeedPerPixel
+com.google.android.material.datepicker.TimeSource -> com.google.android.material.datepicker.TimeSource:
+ 25:25:void <clinit>() -> <clinit>
+ 31:34:void <init>(java.lang.Long,java.util.TimeZone) -> <init>
+ 60:60:com.google.android.material.datepicker.TimeSource fixed(long,java.util.TimeZone) -> fixed
+ 75:75:com.google.android.material.datepicker.TimeSource fixed(long) -> fixed
+ 80:80:java.util.Calendar now() -> now
+ 90:95:java.util.Calendar now(java.util.TimeZone) -> now
+ 43:43:com.google.android.material.datepicker.TimeSource system() -> system
+com.google.android.material.datepicker.UtcDates -> com.google.android.material.datepicker.UtcDates:
+ 40:40:void <clinit>() -> <clinit>
+ 51:51:void <init>() -> <init>
+ 130:133:long canonicalYearMonthDay(long) -> canonicalYearMonthDay
+ 258:275:int findCharactersInDateFormatPattern(java.lang.String,java.lang.String,int,int) -> findCharactersInDateFormatPattern
+ 187:187:android.icu.text.DateFormat getAbbrMonthDayFormat(java.util.Locale) -> getAbbrMonthDayFormat
+ 192:192:android.icu.text.DateFormat getAbbrMonthWeekdayDayFormat(java.util.Locale) -> getAbbrMonthWeekdayDayFormat
+ 138:141:android.icu.text.DateFormat getAndroidFormat(java.lang.String,java.util.Locale) -> getAndroidFormat
+ 113:119:java.util.Calendar getDayCopy(java.util.Calendar) -> getDayCopy
+ 145:147:java.text.DateFormat getFormat(int,java.util.Locale) -> getFormat
+ 219:219:java.text.DateFormat getFullFormat() -> getFullFormat
+ 223:223:java.text.DateFormat getFullFormat(java.util.Locale) -> getFullFormat
+ 201:201:java.text.DateFormat getMediumFormat() -> getMediumFormat
+ 205:205:java.text.DateFormat getMediumFormat(java.util.Locale) -> getMediumFormat
+ 209:209:java.text.DateFormat getMediumNoYear() -> getMediumNoYear
+ 213:215:java.text.DateFormat getMediumNoYear(java.util.Locale) -> getMediumNoYear
+ 171:171:java.text.SimpleDateFormat getSimpleFormat(java.lang.String) -> getSimpleFormat
+ 175:177:java.text.SimpleDateFormat getSimpleFormat(java.lang.String,java.util.Locale) -> getSimpleFormat
+ 151:158:java.text.SimpleDateFormat getTextInputFormat() -> getTextInputFormat
+ 162:167:java.lang.String getTextInputHint(android.content.res.Resources,java.text.SimpleDateFormat) -> getTextInputHint
+ 47:48:com.google.android.material.datepicker.TimeSource getTimeSource() -> getTimeSource
+ 54:54:java.util.TimeZone getTimeZone() -> getTimeZone
+ 66:72:java.util.Calendar getTodayCalendar() -> getTodayCalendar
+ 59:59:android.icu.util.TimeZone getUtcAndroidTimeZone() -> getUtcAndroidTimeZone
+ 83:83:java.util.Calendar getUtcCalendar() -> getUtcCalendar
+ 95:101:java.util.Calendar getUtcCalendarOf(java.util.Calendar) -> getUtcCalendarOf
+ 182:182:android.icu.text.DateFormat getYearAbbrMonthDayFormat(java.util.Locale) -> getYearAbbrMonthDayFormat
+ 197:197:android.icu.text.DateFormat getYearAbbrMonthWeekdayDayFormat(java.util.Locale) -> getYearAbbrMonthWeekdayDayFormat
+ 228:250:java.lang.String removeYearFromDateFormatPattern(java.lang.String) -> removeYearFromDateFormatPattern
+ 43:44:void setTimeSource(com.google.android.material.datepicker.TimeSource) -> setTimeSource
+com.google.android.material.datepicker.YearGridAdapter -> com.google.android.material.datepicker.YearGridAdapter:
+ 45:47:void <init>(com.google.android.material.datepicker.MaterialCalendar) -> <init>
+ 31:31:com.google.android.material.datepicker.MaterialCalendar access$000(com.google.android.material.datepicker.YearGridAdapter) -> access$000
+ 84:84:android.view.View$OnClickListener createYearClickListener(int) -> createYearClickListener
+ 98:98:int getItemCount() -> getItemCount
+ 102:102:int getPositionForYear(int) -> getPositionForYear
+ 106:106:int getYearForPosition(int) -> getYearForPosition
+ 31:31:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> onBindViewHolder
+ 61:80:void onBindViewHolder(com.google.android.material.datepicker.YearGridAdapter$ViewHolder,int) -> onBindViewHolder
+ 31:31:androidx.recyclerview.widget.RecyclerView$ViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 52:56:com.google.android.material.datepicker.YearGridAdapter$ViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+com.google.android.material.datepicker.YearGridAdapter$1 -> com.google.android.material.datepicker.YearGridAdapter$1:
+ 84:84:void <init>(com.google.android.material.datepicker.YearGridAdapter,int) -> <init>
+ 87:92:void onClick(android.view.View) -> onClick
+com.google.android.material.datepicker.YearGridAdapter$ViewHolder -> com.google.android.material.datepicker.YearGridAdapter$ViewHolder:
+ 40:42:void <init>(android.widget.TextView) -> <init>
+com.google.android.material.dialog.InsetDialogOnTouchListener -> com.google.android.material.dialog.InsetDialogOnTouchListener:
+ 45:50:void <init>(android.app.Dialog,android.graphics.Rect) -> <init>
+ 54:76:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+com.google.android.material.dialog.MaterialAlertDialogBuilder -> com.google.android.material.dialog.MaterialAlertDialogBuilder:
+ 69:73:void <clinit>() -> <clinit>
+ 103:104:void <init>(android.content.Context) -> <init>
+ 109:137:void <init>(android.content.Context,int) -> <init>
+ 142:154:androidx.appcompat.app.AlertDialog create() -> create
+ 88:93:android.content.Context createMaterialAlertDialogThemedContext(android.content.Context) -> createMaterialAlertDialogThemedContext
+ 159:159:android.graphics.drawable.Drawable getBackground() -> getBackground
+ 79:84:int getMaterialAlertDialogThemeOverlay(android.content.Context) -> getMaterialAlertDialogThemeOverlay
+ 97:98:int getOverridingThemeResId(android.content.Context,int) -> getOverridingThemeResId
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setAdapter(android.widget.ListAdapter,android.content.DialogInterface$OnClickListener) -> setAdapter
+ 359:359:com.google.android.material.dialog.MaterialAlertDialogBuilder setAdapter(android.widget.ListAdapter,android.content.DialogInterface$OnClickListener) -> setAdapter
+ 164:165:com.google.android.material.dialog.MaterialAlertDialogBuilder setBackground(android.graphics.drawable.Drawable) -> setBackground
+ 200:201:com.google.android.material.dialog.MaterialAlertDialogBuilder setBackgroundInsetBottom(int) -> setBackgroundInsetBottom
+ 188:195:com.google.android.material.dialog.MaterialAlertDialogBuilder setBackgroundInsetEnd(int) -> setBackgroundInsetEnd
+ 170:177:com.google.android.material.dialog.MaterialAlertDialogBuilder setBackgroundInsetStart(int) -> setBackgroundInsetStart
+ 182:183:com.google.android.material.dialog.MaterialAlertDialogBuilder setBackgroundInsetTop(int) -> setBackgroundInsetTop
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setCancelable(boolean) -> setCancelable
+ 318:318:com.google.android.material.dialog.MaterialAlertDialogBuilder setCancelable(boolean) -> setCancelable
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setCursor(android.database.Cursor,android.content.DialogInterface$OnClickListener,java.lang.String) -> setCursor
+ 368:368:com.google.android.material.dialog.MaterialAlertDialogBuilder setCursor(android.database.Cursor,android.content.DialogInterface$OnClickListener,java.lang.String) -> setCursor
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setCustomTitle(android.view.View) -> setCustomTitle
+ 222:222:com.google.android.material.dialog.MaterialAlertDialogBuilder setCustomTitle(android.view.View) -> setCustomTitle
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setIcon(int) -> setIcon
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 240:240:com.google.android.material.dialog.MaterialAlertDialogBuilder setIcon(int) -> setIcon
+ 246:246:com.google.android.material.dialog.MaterialAlertDialogBuilder setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setIconAttribute(int) -> setIconAttribute
+ 252:252:com.google.android.material.dialog.MaterialAlertDialogBuilder setIconAttribute(int) -> setIconAttribute
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setItems(int,android.content.DialogInterface$OnClickListener) -> setItems
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setItems(java.lang.CharSequence[],android.content.DialogInterface$OnClickListener) -> setItems
+ 345:345:com.google.android.material.dialog.MaterialAlertDialogBuilder setItems(int,android.content.DialogInterface$OnClickListener) -> setItems
+ 352:352:com.google.android.material.dialog.MaterialAlertDialogBuilder setItems(java.lang.CharSequence[],android.content.DialogInterface$OnClickListener) -> setItems
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setMessage(int) -> setMessage
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setMessage(java.lang.CharSequence) -> setMessage
+ 228:228:com.google.android.material.dialog.MaterialAlertDialogBuilder setMessage(int) -> setMessage
+ 234:234:com.google.android.material.dialog.MaterialAlertDialogBuilder setMessage(java.lang.CharSequence) -> setMessage
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setMultiChoiceItems(int,boolean[],android.content.DialogInterface$OnMultiChoiceClickListener) -> setMultiChoiceItems
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setMultiChoiceItems(android.database.Cursor,java.lang.String,java.lang.String,android.content.DialogInterface$OnMultiChoiceClickListener) -> setMultiChoiceItems
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setMultiChoiceItems(java.lang.CharSequence[],boolean[],android.content.DialogInterface$OnMultiChoiceClickListener) -> setMultiChoiceItems
+ 377:377:com.google.android.material.dialog.MaterialAlertDialogBuilder setMultiChoiceItems(int,boolean[],android.content.DialogInterface$OnMultiChoiceClickListener) -> setMultiChoiceItems
+ 386:386:com.google.android.material.dialog.MaterialAlertDialogBuilder setMultiChoiceItems(java.lang.CharSequence[],boolean[],android.content.DialogInterface$OnMultiChoiceClickListener) -> setMultiChoiceItems
+ 396:397:com.google.android.material.dialog.MaterialAlertDialogBuilder setMultiChoiceItems(android.database.Cursor,java.lang.String,java.lang.String,android.content.DialogInterface$OnMultiChoiceClickListener) -> setMultiChoiceItems
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setNegativeButton(int,android.content.DialogInterface$OnClickListener) -> setNegativeButton
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setNegativeButton(java.lang.CharSequence,android.content.DialogInterface$OnClickListener) -> setNegativeButton
+ 279:279:com.google.android.material.dialog.MaterialAlertDialogBuilder setNegativeButton(int,android.content.DialogInterface$OnClickListener) -> setNegativeButton
+ 286:286:com.google.android.material.dialog.MaterialAlertDialogBuilder setNegativeButton(java.lang.CharSequence,android.content.DialogInterface$OnClickListener) -> setNegativeButton
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setNegativeButtonIcon(android.graphics.drawable.Drawable) -> setNegativeButtonIcon
+ 292:292:com.google.android.material.dialog.MaterialAlertDialogBuilder setNegativeButtonIcon(android.graphics.drawable.Drawable) -> setNegativeButtonIcon
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setNeutralButton(int,android.content.DialogInterface$OnClickListener) -> setNeutralButton
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setNeutralButton(java.lang.CharSequence,android.content.DialogInterface$OnClickListener) -> setNeutralButton
+ 299:299:com.google.android.material.dialog.MaterialAlertDialogBuilder setNeutralButton(int,android.content.DialogInterface$OnClickListener) -> setNeutralButton
+ 306:306:com.google.android.material.dialog.MaterialAlertDialogBuilder setNeutralButton(java.lang.CharSequence,android.content.DialogInterface$OnClickListener) -> setNeutralButton
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setNeutralButtonIcon(android.graphics.drawable.Drawable) -> setNeutralButtonIcon
+ 312:312:com.google.android.material.dialog.MaterialAlertDialogBuilder setNeutralButtonIcon(android.graphics.drawable.Drawable) -> setNeutralButtonIcon
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setOnCancelListener(android.content.DialogInterface$OnCancelListener) -> setOnCancelListener
+ 325:325:com.google.android.material.dialog.MaterialAlertDialogBuilder setOnCancelListener(android.content.DialogInterface$OnCancelListener) -> setOnCancelListener
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setOnDismissListener(android.content.DialogInterface$OnDismissListener) -> setOnDismissListener
+ 332:332:com.google.android.material.dialog.MaterialAlertDialogBuilder setOnDismissListener(android.content.DialogInterface$OnDismissListener) -> setOnDismissListener
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setOnItemSelectedListener(android.widget.AdapterView$OnItemSelectedListener) -> setOnItemSelectedListener
+ 436:436:com.google.android.material.dialog.MaterialAlertDialogBuilder setOnItemSelectedListener(android.widget.AdapterView$OnItemSelectedListener) -> setOnItemSelectedListener
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setOnKeyListener(android.content.DialogInterface$OnKeyListener) -> setOnKeyListener
+ 338:338:com.google.android.material.dialog.MaterialAlertDialogBuilder setOnKeyListener(android.content.DialogInterface$OnKeyListener) -> setOnKeyListener
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setPositiveButton(int,android.content.DialogInterface$OnClickListener) -> setPositiveButton
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setPositiveButton(java.lang.CharSequence,android.content.DialogInterface$OnClickListener) -> setPositiveButton
+ 259:259:com.google.android.material.dialog.MaterialAlertDialogBuilder setPositiveButton(int,android.content.DialogInterface$OnClickListener) -> setPositiveButton
+ 266:266:com.google.android.material.dialog.MaterialAlertDialogBuilder setPositiveButton(java.lang.CharSequence,android.content.DialogInterface$OnClickListener) -> setPositiveButton
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setPositiveButtonIcon(android.graphics.drawable.Drawable) -> setPositiveButtonIcon
+ 272:272:com.google.android.material.dialog.MaterialAlertDialogBuilder setPositiveButtonIcon(android.graphics.drawable.Drawable) -> setPositiveButtonIcon
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setSingleChoiceItems(int,int,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setSingleChoiceItems(android.database.Cursor,int,java.lang.String,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setSingleChoiceItems(android.widget.ListAdapter,int,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setSingleChoiceItems(java.lang.CharSequence[],int,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 404:404:com.google.android.material.dialog.MaterialAlertDialogBuilder setSingleChoiceItems(int,int,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 414:415:com.google.android.material.dialog.MaterialAlertDialogBuilder setSingleChoiceItems(android.database.Cursor,int,java.lang.String,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 422:422:com.google.android.material.dialog.MaterialAlertDialogBuilder setSingleChoiceItems(java.lang.CharSequence[],int,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 429:429:com.google.android.material.dialog.MaterialAlertDialogBuilder setSingleChoiceItems(android.widget.ListAdapter,int,android.content.DialogInterface$OnClickListener) -> setSingleChoiceItems
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setTitle(int) -> setTitle
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setTitle(java.lang.CharSequence) -> setTitle
+ 210:210:com.google.android.material.dialog.MaterialAlertDialogBuilder setTitle(int) -> setTitle
+ 216:216:com.google.android.material.dialog.MaterialAlertDialogBuilder setTitle(java.lang.CharSequence) -> setTitle
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setView(int) -> setView
+ 67:67:androidx.appcompat.app.AlertDialog$Builder setView(android.view.View) -> setView
+ 442:442:com.google.android.material.dialog.MaterialAlertDialogBuilder setView(int) -> setView
+ 448:448:com.google.android.material.dialog.MaterialAlertDialogBuilder setView(android.view.View) -> setView
+com.google.android.material.dialog.MaterialDialogs -> com.google.android.material.dialog.MaterialDialogs:
+ 43:43:void <init>() -> <init>
+ 59:105:android.graphics.Rect getDialogBackgroundInsets(android.content.Context,int,int) -> getDialogBackgroundInsets
+ 48:48:android.graphics.drawable.InsetDrawable insetDrawable(android.graphics.drawable.Drawable,android.graphics.Rect) -> insetDrawable
+com.google.android.material.drawable.DrawableUtils -> com.google.android.material.drawable.DrawableUtils:
+ 53:53:void <init>() -> <init>
+ 73:94:android.util.AttributeSet parseDrawableXml(android.content.Context,int,java.lang.CharSequence) -> parseDrawableXml
+ 100:112:void setRippleDrawableRadius(android.graphics.drawable.RippleDrawable,int) -> setRippleDrawableRadius
+ 61:66:android.graphics.PorterDuffColorFilter updateTintFilter(android.graphics.drawable.Drawable,android.content.res.ColorStateList,android.graphics.PorterDuff$Mode) -> updateTintFilter
+com.google.android.material.elevation.ElevationOverlayProvider -> com.google.android.material.elevation.ElevationOverlayProvider:
+ 42:49:void <init>(android.content.Context) -> <init>
+ 130:130:int calculateOverlayAlpha(float) -> calculateOverlayAlpha
+ 138:144:float calculateOverlayAlphaFraction(float) -> calculateOverlayAlphaFraction
+ 105:106:int compositeOverlay(int,float,android.view.View) -> compositeOverlay
+ 117:122:int compositeOverlay(int,float) -> compositeOverlay
+ 82:83:int compositeOverlayIfNeeded(int,float,android.view.View) -> compositeOverlayIfNeeded
+ 94:97:int compositeOverlayIfNeeded(int,float) -> compositeOverlayIfNeeded
+ 60:61:int compositeOverlayWithThemeSurfaceColorIfNeeded(float,android.view.View) -> compositeOverlayWithThemeSurfaceColorIfNeeded
+ 70:70:int compositeOverlayWithThemeSurfaceColorIfNeeded(float) -> compositeOverlayWithThemeSurfaceColorIfNeeded
+ 169:169:float getParentAbsoluteElevation(android.view.View) -> getParentAbsoluteElevation
+ 155:155:int getThemeElevationOverlayColor() -> getThemeElevationOverlayColor
+ 161:161:int getThemeSurfaceColor() -> getThemeSurfaceColor
+ 149:149:boolean isThemeElevationOverlayEnabled() -> isThemeElevationOverlayEnabled
+ 173:173:boolean isThemeSurfaceColor(int) -> isThemeSurfaceColor
+com.google.android.material.expandable.ExpandableWidgetHelper -> com.google.android.material.expandable.ExpandableWidgetHelper:
+ 36:42:void <init>(com.google.android.material.expandable.ExpandableWidget) -> <init>
+ 91:95:void dispatchExpandedStateChanged() -> dispatchExpandedStateChanged
+ 87:87:int getExpandedComponentIdHint() -> getExpandedComponentIdHint
+ 56:56:boolean isExpanded() -> isExpanded
+ 71:77:void onRestoreInstanceState(android.os.Bundle) -> onRestoreInstanceState
+ 62:66:android.os.Bundle onSaveInstanceState() -> onSaveInstanceState
+ 46:51:boolean setExpanded(boolean) -> setExpanded
+ 81:82:void setExpandedComponentIdHint(int) -> setExpandedComponentIdHint
+com.google.android.material.floatingactionbutton.AnimatorTracker -> com.google.android.material.floatingactionbutton.AnimatorTracker:
+ 23:23:void <init>() -> <init>
+ 33:36:void cancelCurrent() -> cancelCurrent
+ 39:40:void clear() -> clear
+ 28:30:void onNextAnimationStart(android.animation.Animator) -> onNextAnimationStart
+com.google.android.material.floatingactionbutton.BaseMotionStrategy -> com.google.android.material.floatingactionbutton.BaseMotionStrategy:
+ 44:54:void <init>(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,com.google.android.material.floatingactionbutton.AnimatorTracker) -> <init>
+ 40:40:com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton access$000(com.google.android.material.floatingactionbutton.BaseMotionStrategy) -> access$000
+ 76:77:void addAnimationListener(android.animation.Animator$AnimatorListener) -> addAnimationListener
+ 116:116:android.animation.AnimatorSet createAnimator() -> createAnimator
+ 121:207:android.animation.AnimatorSet createAnimator(com.google.android.material.animation.MotionSpec) -> createAnimator
+ 63:71:com.google.android.material.animation.MotionSpec getCurrentMotionSpec() -> getCurrentMotionSpec
+ 87:87:java.util.List getListeners() -> getListeners
+ 93:93:com.google.android.material.animation.MotionSpec getMotionSpec() -> getMotionSpec
+ 111:112:void onAnimationCancel() -> onAnimationCancel
+ 105:106:void onAnimationEnd() -> onAnimationEnd
+ 99:100:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+ 81:82:void removeAnimationListener(android.animation.Animator$AnimatorListener) -> removeAnimationListener
+ 58:59:void setMotionSpec(com.google.android.material.animation.MotionSpec) -> setMotionSpec
+com.google.android.material.floatingactionbutton.BaseMotionStrategy$1 -> com.google.android.material.floatingactionbutton.BaseMotionStrategy$1:
+ 156:156:void <init>(com.google.android.material.floatingactionbutton.BaseMotionStrategy,java.lang.Class,java.lang.String) -> <init>
+ 156:156:java.lang.Object get(java.lang.Object) -> get
+ 161:166:java.lang.Float get(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> get
+ 156:156:void set(java.lang.Object,java.lang.Object) -> set
+ 173:200:void set(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,java.lang.Float) -> set
+com.google.android.material.floatingactionbutton.BorderDrawable -> com.google.android.material.floatingactionbutton.BorderDrawable:
+ 60:86:void <init>(com.google.android.material.shape.ShapeAppearanceModel) -> <init>
+ 224:249:android.graphics.Shader createGradientShader() -> createGradientShader
+ 125:143:void draw(android.graphics.Canvas) -> draw
+ 173:174:android.graphics.RectF getBoundsAsRectF() -> getBoundsAsRectF
+ 256:256:android.graphics.drawable.Drawable$ConstantState getConstantState() -> getConstantState
+ 194:194:int getOpacity() -> getOpacity
+ 148:160:void getOutline(android.graphics.Outline) -> getOutline
+ 164:168:boolean getPadding(android.graphics.Rect) -> getPadding
+ 178:178:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearanceModel() -> getShapeAppearanceModel
+ 204:204:boolean isStateful() -> isStateful
+ 199:200:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 209:219:boolean onStateChange(int[]) -> onStateChange
+ 188:190:void setAlpha(int) -> setAlpha
+ 98:104:void setBorderTint(android.content.res.ColorStateList) -> setBorderTint
+ 89:95:void setBorderWidth(float) -> setBorderWidth
+ 108:110:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 117:121:void setGradientColors(int,int,int,int) -> setGradientColors
+ 182:184:void setShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearanceModel
+com.google.android.material.floatingactionbutton.BorderDrawable$BorderState -> com.google.android.material.floatingactionbutton.BorderDrawable$BorderState:
+ 263:263:void <init>(com.google.android.material.floatingactionbutton.BorderDrawable) -> <init>
+ 263:263:void <init>(com.google.android.material.floatingactionbutton.BorderDrawable,com.google.android.material.floatingactionbutton.BorderDrawable$1) -> <init>
+ 273:273:int getChangingConfigurations() -> getChangingConfigurations
+ 268:268:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton:
+ 76:769:void <clinit>() -> <clinit>
+ 145:146:void <init>(android.content.Context) -> <init>
+ 149:150:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 83:259:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 74:74:int access$000(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> access$000
+ 74:74:int access$100(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> access$100
+ 74:74:boolean access$1000(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> access$1000
+ 74:74:boolean access$1100(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> access$1100
+ 74:74:com.google.android.material.floatingactionbutton.MotionStrategy access$200(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> access$200
+ 74:74:com.google.android.material.floatingactionbutton.MotionStrategy access$300(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> access$300
+ 74:74:void access$400(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,com.google.android.material.floatingactionbutton.MotionStrategy,com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> access$400
+ 74:74:com.google.android.material.floatingactionbutton.MotionStrategy access$500(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> access$500
+ 74:74:com.google.android.material.floatingactionbutton.MotionStrategy access$600(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> access$600
+ 74:74:boolean access$700(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> access$700
+ 74:74:boolean access$702(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,boolean) -> access$702
+ 74:74:boolean access$802(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,boolean) -> access$802
+ 74:74:int access$902(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,int) -> access$902
+ 430:431:void addOnExtendAnimationListener(android.animation.Animator$AnimatorListener) -> addOnExtendAnimationListener
+ 384:385:void addOnHideAnimationListener(android.animation.Animator$AnimatorListener) -> addOnHideAnimationListener
+ 361:362:void addOnShowAnimationListener(android.animation.Animator$AnimatorListener) -> addOnShowAnimationListener
+ 407:408:void addOnShrinkAnimationListener(android.animation.Animator$AnimatorListener) -> addOnShrinkAnimationListener
+ 494:495:void extend() -> extend
+ 506:507:void extend(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> extend
+ 298:298:androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior getBehavior() -> getBehavior
+ 800:800:int getCollapsedPadding() -> getCollapsedPadding
+ 794:795:int getCollapsedSize() -> getCollapsedSize
+ 585:585:com.google.android.material.animation.MotionSpec getExtendMotionSpec() -> getExtendMotionSpec
+ 561:561:com.google.android.material.animation.MotionSpec getHideMotionSpec() -> getHideMotionSpec
+ 537:537:com.google.android.material.animation.MotionSpec getShowMotionSpec() -> getShowMotionSpec
+ 611:611:com.google.android.material.animation.MotionSpec getShrinkMotionSpec() -> getShrinkMotionSpec
+ 449:450:void hide() -> hide
+ 460:461:void hide(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> hide
+ 319:319:boolean isExtended() -> isExtended
+ 690:695:boolean isOrWillBeHidden() -> isOrWillBeHidden
+ 680:685:boolean isOrWillBeShown() -> isOrWillBeShown
+ 287:293:void onAttachedToWindow() -> onAttachedToWindow
+ 634:677:void performMotion(com.google.android.material.floatingactionbutton.MotionStrategy,com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> performMotion
+ 440:441:void removeOnExtendAnimationListener(android.animation.Animator$AnimatorListener) -> removeOnExtendAnimationListener
+ 394:395:void removeOnHideAnimationListener(android.animation.Animator$AnimatorListener) -> removeOnHideAnimationListener
+ 371:372:void removeOnShowAnimationListener(android.animation.Animator$AnimatorListener) -> removeOnShowAnimationListener
+ 417:418:void removeOnShrinkAnimationListener(android.animation.Animator$AnimatorListener) -> removeOnShrinkAnimationListener
+ 274:275:void saveOriginalTextCsl() -> saveOriginalTextCsl
+ 330:331:void setAnimateShowBeforeLayout(boolean) -> setAnimateShowBeforeLayout
+ 594:595:void setExtendMotionSpec(com.google.android.material.animation.MotionSpec) -> setExtendMotionSpec
+ 603:604:void setExtendMotionSpecResource(int) -> setExtendMotionSpecResource
+ 306:316:void setExtended(boolean) -> setExtended
+ 570:571:void setHideMotionSpec(com.google.android.material.animation.MotionSpec) -> setHideMotionSpec
+ 579:580:void setHideMotionSpecResource(int) -> setHideMotionSpecResource
+ 344:349:void setPadding(int,int,int,int) -> setPadding
+ 335:340:void setPaddingRelative(int,int,int,int) -> setPaddingRelative
+ 546:547:void setShowMotionSpec(com.google.android.material.animation.MotionSpec) -> setShowMotionSpec
+ 555:556:void setShowMotionSpecResource(int) -> setShowMotionSpecResource
+ 620:621:void setShrinkMotionSpec(com.google.android.material.animation.MotionSpec) -> setShrinkMotionSpec
+ 629:630:void setShrinkMotionSpecResource(int) -> setShrinkMotionSpecResource
+ 263:265:void setTextColor(int) -> setTextColor
+ 269:271:void setTextColor(android.content.res.ColorStateList) -> setTextColor
+ 700:701:boolean shouldAnimateVisibilityChange() -> shouldAnimateVisibilityChange
+ 470:471:void show() -> show
+ 482:483:void show(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> show
+ 519:520:void shrink() -> shrink
+ 531:532:void shrink(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> shrink
+ 282:283:void silentlyUpdateTextColor(android.content.res.ColorStateList) -> silentlyUpdateTextColor
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$1 -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$1:
+ 185:185:void <init>(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> <init>
+ 196:196:int getHeight() -> getHeight
+ 211:211:android.view.ViewGroup$LayoutParams getLayoutParams() -> getLayoutParams
+ 206:206:int getPaddingEnd() -> getPaddingEnd
+ 201:201:int getPaddingStart() -> getPaddingStart
+ 188:191:int getWidth() -> getWidth
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$2 -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$2:
+ 219:219:void <init>(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> <init>
+ 227:227:int getHeight() -> getHeight
+ 242:242:android.view.ViewGroup$LayoutParams getLayoutParams() -> getLayoutParams
+ 237:237:int getPaddingEnd() -> getPaddingEnd
+ 232:232:int getPaddingStart() -> getPaddingStart
+ 222:222:int getWidth() -> getWidth
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$3 -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$3:
+ 648:648:void <init>(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,com.google.android.material.floatingactionbutton.MotionStrategy,com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> <init>
+ 659:661:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 665:669:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 653:655:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$4 -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$4:
+ 709:709:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 709:709:java.lang.Object get(java.lang.Object) -> get
+ 719:719:java.lang.Float get(android.view.View) -> get
+ 709:709:void set(java.lang.Object,java.lang.Object) -> set
+ 712:714:void set(android.view.View,java.lang.Float) -> set
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$5 -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$5:
+ 728:728:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 728:728:java.lang.Object get(java.lang.Object) -> get
+ 738:738:java.lang.Float get(android.view.View) -> get
+ 728:728:void set(java.lang.Object,java.lang.Object) -> set
+ 731:733:void set(android.view.View,java.lang.Float) -> set
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$6 -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$6:
+ 747:747:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 747:747:java.lang.Object get(java.lang.Object) -> get
+ 761:761:java.lang.Float get(android.view.View) -> get
+ 747:747:void set(java.lang.Object,java.lang.Object) -> set
+ 750:756:void set(android.view.View,java.lang.Float) -> set
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$7 -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$7:
+ 770:770:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 770:770:java.lang.Object get(java.lang.Object) -> get
+ 784:784:java.lang.Float get(android.view.View) -> get
+ 770:770:void set(java.lang.Object,java.lang.Object) -> set
+ 773:779:void set(android.view.View,java.lang.Float) -> set
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$ChangeSizeStrategy -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$ChangeSizeStrategy:
+ 1092:1096:void <init>(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,com.google.android.material.floatingactionbutton.AnimatorTracker,com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$Size,boolean) -> <init>
+ 1140:1175:android.animation.AnimatorSet createAnimator() -> createAnimator
+ 1132:1132:int getDefaultMotionSpecResource() -> getDefaultMotionSpecResource
+ 1188:1198:void onAnimationEnd() -> onAnimationEnd
+ 1180:1184:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+ 1119:1128:void onChange(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> onChange
+ 1100:1115:void performNow() -> performNow
+ 1202:1202:boolean shouldCancel() -> shouldCancel
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$ExtendedFloatingActionButtonBehavior -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$ExtendedFloatingActionButtonBehavior:
+ 821:824:void <init>() -> <init>
+ 830:843:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1041:1049:void extendOrShow(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> extendOrShow
+ 808:808:boolean getInsetDodgeRect(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.graphics.Rect) -> getInsetDodgeRect
+ 905:905:boolean getInsetDodgeRect(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,android.graphics.Rect) -> getInsetDodgeRect
+ 869:869:boolean isAutoHideEnabled() -> isAutoHideEnabled
+ 894:894:boolean isAutoShrinkEnabled() -> isAutoShrinkEnabled
+ 931:935:boolean isBottomSheet(android.view.View) -> isBottomSheet
+ 910:915:void onAttachedToLayoutParams(androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams) -> onAttachedToLayoutParams
+ 808:808:boolean onDependentViewChanged(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> onDependentViewChanged
+ 920:927:boolean onDependentViewChanged(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,android.view.View) -> onDependentViewChanged
+ 808:808:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 1057:1072:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,int) -> onLayoutChild
+ 857:858:void setAutoHideEnabled(boolean) -> setAutoHideEnabled
+ 882:883:void setAutoShrinkEnabled(boolean) -> setAutoShrinkEnabled
+ 940:941:void setInternalAutoHideCallback(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> setInternalAutoHideCallback
+ 945:946:void setInternalAutoShrinkCallback(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> setInternalAutoShrinkCallback
+ 950:962:boolean shouldUpdateVisibility(android.view.View,com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> shouldUpdateVisibility
+ 1018:1026:void shrinkOrHide(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> shrinkOrHide
+ 969:988:boolean updateFabVisibilityForAppBarLayout(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> updateFabVisibilityForAppBarLayout
+ 993:1002:boolean updateFabVisibilityForBottomSheet(android.view.View,com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> updateFabVisibilityForBottomSheet
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$HideStrategy -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$HideStrategy:
+ 1255:1257:void <init>(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,com.google.android.material.floatingactionbutton.AnimatorTracker) -> <init>
+ 1278:1278:int getDefaultMotionSpecResource() -> getDefaultMotionSpecResource
+ 1291:1293:void onAnimationCancel() -> onAnimationCancel
+ 1297:1302:void onAnimationEnd() -> onAnimationEnd
+ 1283:1287:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+ 1266:1269:void onChange(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> onChange
+ 1261:1262:void performNow() -> performNow
+ 1273:1273:boolean shouldCancel() -> shouldCancel
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback:
+ 108:108:void <init>() -> <init>
+ 133:133:void onExtended(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> onExtended
+ 124:124:void onHidden(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> onHidden
+ 116:116:void onShown(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> onShown
+ 141:141:void onShrunken(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton) -> onShrunken
+com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$ShowStrategy -> com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$ShowStrategy:
+ 1208:1210:void <init>(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton,com.google.android.material.floatingactionbutton.AnimatorTracker) -> <init>
+ 1229:1229:int getDefaultMotionSpecResource() -> getDefaultMotionSpecResource
+ 1241:1243:void onAnimationEnd() -> onAnimationEnd
+ 1234:1237:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+ 1222:1225:void onChange(com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton$OnChangedCallback) -> onChange
+ 1214:1218:void performNow() -> performNow
+ 1247:1247:boolean shouldCancel() -> shouldCancel
+com.google.android.material.floatingactionbutton.FloatingActionButton -> com.google.android.material.floatingactionbutton.FloatingActionButton:
+ 110:110:void <clinit>() -> <clinit>
+ 197:198:void <init>(android.content.Context) -> <init>
+ 201:202:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 188:272:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 101:101:int access$000(com.google.android.material.floatingactionbutton.FloatingActionButton) -> access$000
+ 101:101:void access$101(com.google.android.material.floatingactionbutton.FloatingActionButton,android.graphics.drawable.Drawable) -> access$101
+ 627:628:void addOnHideAnimationListener(android.animation.Animator$AnimatorListener) -> addOnHideAnimationListener
+ 595:596:void addOnShowAnimationListener(android.animation.Animator$AnimatorListener) -> addOnShowAnimationListener
+ 1359:1360:void addTransformationCallback(com.google.android.material.animation.TransformationCallback) -> addTransformationCallback
+ 780:781:void clearCustomSize() -> clearCustomSize
+ 1452:1453:com.google.android.material.floatingactionbutton.FloatingActionButtonImpl createImpl() -> createImpl
+ 823:825:void drawableStateChanged() -> drawableStateChanged
+ 363:363:android.content.res.ColorStateList getBackgroundTintList() -> getBackgroundTintList
+ 389:389:android.graphics.PorterDuff$Mode getBackgroundTintMode() -> getBackgroundTintMode
+ 351:351:androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior getBehavior() -> getBehavior
+ 1208:1208:float getCompatElevation() -> getCompatElevation
+ 1244:1244:float getCompatHoveredFocusedTranslationZ() -> getCompatHoveredFocusedTranslationZ
+ 1281:1281:float getCompatPressedTranslationZ() -> getCompatPressedTranslationZ
+ 901:901:android.graphics.drawable.Drawable getContentBackground() -> getContentBackground
+ 873:878:boolean getContentRect(android.graphics.Rect) -> getContentRect
+ 770:770:int getCustomSize() -> getCustomSize
+ 651:651:int getExpandedComponentIdHint() -> getExpandedComponentIdHint
+ 1335:1335:com.google.android.material.animation.MotionSpec getHideMotionSpec() -> getHideMotionSpec
+ 1444:1447:com.google.android.material.floatingactionbutton.FloatingActionButtonImpl getImpl() -> getImpl
+ 887:889:void getMeasuredContentRect(android.graphics.Rect) -> getMeasuredContentRect
+ 303:303:int getRippleColor() -> getRippleColor
+ 314:314:android.content.res.ColorStateList getRippleColorStateList() -> getRippleColorStateList
+ 538:538:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearanceModel() -> getShapeAppearanceModel
+ 1311:1311:com.google.android.material.animation.MotionSpec getShowMotionSpec() -> getShowMotionSpec
+ 711:711:int getSize() -> getSize
+ 784:784:int getSizeDimension() -> getSizeDimension
+ 788:805:int getSizeDimension(int) -> getSizeDimension
+ 423:423:android.content.res.ColorStateList getSupportBackgroundTintList() -> getSupportBackgroundTintList
+ 442:442:android.graphics.PorterDuff$Mode getSupportBackgroundTintMode() -> getSupportBackgroundTintMode
+ 456:456:android.content.res.ColorStateList getSupportImageTintList() -> getSupportImageTintList
+ 470:470:android.graphics.PorterDuff$Mode getSupportImageTintMode() -> getSupportImageTintMode
+ 679:679:boolean getUseCompatPadding() -> getUseCompatPadding
+ 608:609:void hide() -> hide
+ 619:620:void hide(com.google.android.material.floatingactionbutton.FloatingActionButton$OnVisibilityChangedListener) -> hide
+ 623:624:void hide(com.google.android.material.floatingactionbutton.FloatingActionButton$OnVisibilityChangedListener,boolean) -> hide
+ 641:641:boolean isExpanded() -> isExpanded
+ 735:735:boolean isOrWillBeHidden() -> isOrWillBeHidden
+ 739:739:boolean isOrWillBeShown() -> isOrWillBeShown
+ 829:831:void jumpDrawablesToCurrentState() -> jumpDrawablesToCurrentState
+ 892:896:void offsetRectWithShadow(android.graphics.Rect) -> offsetRectWithShadow
+ 474:493:void onApplySupportImageTint() -> onApplySupportImageTint
+ 811:813:void onAttachedToWindow() -> onAttachedToWindow
+ 817:819:void onDetachedFromWindow() -> onDetachedFromWindow
+ 276:291:void onMeasure(int,int) -> onMeasure
+ 851:861:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 835:844:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 932:938:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 631:632:void removeOnHideAnimationListener(android.animation.Animator$AnimatorListener) -> removeOnHideAnimationListener
+ 599:600:void removeOnShowAnimationListener(android.animation.Animator$AnimatorListener) -> removeOnShowAnimationListener
+ 1368:1369:void removeTransformationCallback(com.google.android.material.animation.TransformationCallback) -> removeTransformationCallback
+ 905:927:int resolveAdjustedSize(int,int) -> resolveAdjustedSize
+ 507:508:void setBackgroundColor(int) -> setBackgroundColor
+ 497:498:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 502:503:void setBackgroundResource(int) -> setBackgroundResource
+ 374:378:void setBackgroundTintList(android.content.res.ColorStateList) -> setBackgroundTintList
+ 401:405:void setBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setBackgroundTintMode
+ 1220:1221:void setCompatElevation(float) -> setCompatElevation
+ 1232:1233:void setCompatElevationResource(int) -> setCompatElevationResource
+ 1257:1258:void setCompatHoveredFocusedTranslationZ(float) -> setCompatHoveredFocusedTranslationZ
+ 1270:1271:void setCompatHoveredFocusedTranslationZResource(int) -> setCompatHoveredFocusedTranslationZResource
+ 1293:1294:void setCompatPressedTranslationZ(float) -> setCompatPressedTranslationZ
+ 1305:1306:void setCompatPressedTranslationZResource(int) -> setCompatPressedTranslationZResource
+ 753:761:void setCustomSize(int) -> setCustomSize
+ 1196:1198:void setElevation(float) -> setElevation
+ 559:563:void setEnsureMinTouchTargetSize(boolean) -> setEnsureMinTouchTargetSize
+ 636:636:boolean setExpanded(boolean) -> setExpanded
+ 646:647:void setExpandedComponentIdHint(int) -> setExpandedComponentIdHint
+ 1344:1345:void setHideMotionSpec(com.google.android.material.animation.MotionSpec) -> setHideMotionSpec
+ 1353:1354:void setHideMotionSpecResource(int) -> setHideMotionSpecResource
+ 519:526:void setImageDrawable(android.graphics.drawable.Drawable) -> setImageDrawable
+ 513:515:void setImageResource(int) -> setImageResource
+ 328:329:void setRippleColor(int) -> setRippleColor
+ 342:346:void setRippleColor(android.content.res.ColorStateList) -> setRippleColor
+ 1422:1424:void setScaleX(float) -> setScaleX
+ 1428:1430:void setScaleY(float) -> setScaleY
+ 1440:1441:void setShadowPaddingEnabled(boolean) -> setShadowPaddingEnabled
+ 531:532:void setShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearanceModel
+ 1320:1321:void setShowMotionSpec(com.google.android.material.animation.MotionSpec) -> setShowMotionSpec
+ 1329:1330:void setShowMotionSpecResource(int) -> setShowMotionSpecResource
+ 696:701:void setSize(int) -> setSize
+ 413:414:void setSupportBackgroundTintList(android.content.res.ColorStateList) -> setSupportBackgroundTintList
+ 432:433:void setSupportBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setSupportBackgroundTintMode
+ 447:451:void setSupportImageTintList(android.content.res.ColorStateList) -> setSupportImageTintList
+ 461:465:void setSupportImageTintMode(android.graphics.PorterDuff$Mode) -> setSupportImageTintMode
+ 1404:1406:void setTranslationX(float) -> setTranslationX
+ 1410:1412:void setTranslationY(float) -> setTranslationY
+ 1416:1418:void setTranslationZ(float) -> setTranslationZ
+ 664:668:void setUseCompatPadding(boolean) -> setUseCompatPadding
+ 567:568:void setVisibility(int) -> setVisibility
+ 549:549:boolean shouldEnsureMinTouchTargetSize() -> shouldEnsureMinTouchTargetSize
+ 576:577:void show() -> show
+ 587:588:void show(com.google.android.material.floatingactionbutton.FloatingActionButton$OnVisibilityChangedListener) -> show
+ 591:592:void show(com.google.android.material.floatingactionbutton.FloatingActionButton$OnVisibilityChangedListener,boolean) -> show
+ 717:721:com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$InternalVisibilityChangedListener wrapOnVisibilityChangedListener(com.google.android.material.floatingactionbutton.FloatingActionButton$OnVisibilityChangedListener) -> wrapOnVisibilityChangedListener
+com.google.android.material.floatingactionbutton.FloatingActionButton$1 -> com.google.android.material.floatingactionbutton.FloatingActionButton$1:
+ 721:721:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButton,com.google.android.material.floatingactionbutton.FloatingActionButton$OnVisibilityChangedListener) -> <init>
+ 729:730:void onHidden() -> onHidden
+ 724:725:void onShown() -> onShown
+com.google.android.material.floatingactionbutton.FloatingActionButton$BaseBehavior -> com.google.android.material.floatingactionbutton.FloatingActionButton$BaseBehavior:
+ 973:975:void <init>() -> <init>
+ 978:986:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 964:964:boolean getInsetDodgeRect(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.graphics.Rect) -> getInsetDodgeRect
+ 1143:1149:boolean getInsetDodgeRect(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.floatingactionbutton.FloatingActionButton,android.graphics.Rect) -> getInsetDodgeRect
+ 1009:1009:boolean isAutoHideEnabled() -> isAutoHideEnabled
+ 1035:1039:boolean isBottomSheet(android.view.View) -> isBottomSheet
+ 1159:1190:void offsetIfNeeded(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.floatingactionbutton.FloatingActionButton) -> offsetIfNeeded
+ 1014:1019:void onAttachedToLayoutParams(androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams) -> onAttachedToLayoutParams
+ 964:964:boolean onDependentViewChanged(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> onDependentViewChanged
+ 1024:1031:boolean onDependentViewChanged(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.floatingactionbutton.FloatingActionButton,android.view.View) -> onDependentViewChanged
+ 964:964:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 1116:1133:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.floatingactionbutton.FloatingActionButton,int) -> onLayoutChild
+ 997:998:void setAutoHideEnabled(boolean) -> setAutoHideEnabled
+ 1044:1045:void setInternalAutoHideListener(com.google.android.material.floatingactionbutton.FloatingActionButton$OnVisibilityChangedListener) -> setInternalAutoHideListener
+ 1049:1067:boolean shouldUpdateVisibility(android.view.View,com.google.android.material.floatingactionbutton.FloatingActionButton) -> shouldUpdateVisibility
+ 1074:1093:boolean updateFabVisibilityForAppBarLayout(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.appbar.AppBarLayout,com.google.android.material.floatingactionbutton.FloatingActionButton) -> updateFabVisibilityForAppBarLayout
+ 1098:1107:boolean updateFabVisibilityForBottomSheet(android.view.View,com.google.android.material.floatingactionbutton.FloatingActionButton) -> updateFabVisibilityForBottomSheet
+com.google.android.material.floatingactionbutton.FloatingActionButton$Behavior -> com.google.android.material.floatingactionbutton.FloatingActionButton$Behavior:
+ 950:951:void <init>() -> <init>
+ 954:955:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 947:947:boolean getInsetDodgeRect(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.floatingactionbutton.FloatingActionButton,android.graphics.Rect) -> getInsetDodgeRect
+ 947:947:boolean isAutoHideEnabled() -> isAutoHideEnabled
+ 947:947:void onAttachedToLayoutParams(androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams) -> onAttachedToLayoutParams
+ 947:947:boolean onDependentViewChanged(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.floatingactionbutton.FloatingActionButton,android.view.View) -> onDependentViewChanged
+ 947:947:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,com.google.android.material.floatingactionbutton.FloatingActionButton,int) -> onLayoutChild
+ 947:947:void setAutoHideEnabled(boolean) -> setAutoHideEnabled
+ 947:947:void setInternalAutoHideListener(com.google.android.material.floatingactionbutton.FloatingActionButton$OnVisibilityChangedListener) -> setInternalAutoHideListener
+com.google.android.material.floatingactionbutton.FloatingActionButton$OnVisibilityChangedListener -> com.google.android.material.floatingactionbutton.FloatingActionButton$OnVisibilityChangedListener:
+ 113:113:void <init>() -> <init>
+ 127:127:void onHidden(com.google.android.material.floatingactionbutton.FloatingActionButton) -> onHidden
+ 119:119:void onShown(com.google.android.material.floatingactionbutton.FloatingActionButton) -> onShown
+com.google.android.material.floatingactionbutton.FloatingActionButton$ShadowDelegateImpl -> com.google.android.material.floatingactionbutton.FloatingActionButton$ShadowDelegateImpl:
+ 1460:1460:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButton) -> <init>
+ 1464:1464:float getRadius() -> getRadius
+ 1483:1483:boolean isCompatPaddingEnabled() -> isCompatPaddingEnabled
+ 1476:1479:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 1469:1472:void setShadowPadding(int,int,int,int) -> setShadowPadding
+com.google.android.material.floatingactionbutton.FloatingActionButton$TransformationCallbackWrapper -> com.google.android.material.floatingactionbutton.FloatingActionButton$TransformationCallbackWrapper:
+ 1376:1378:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButton,com.google.android.material.animation.TransformationCallback) -> <init>
+ 1392:1393:boolean equals(java.lang.Object) -> equals
+ 1398:1398:int hashCode() -> hashCode
+ 1387:1388:void onScaleChanged() -> onScaleChanged
+ 1382:1383:void onTranslationChanged() -> onTranslationChanged
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl:
+ 68:141:void <clinit>() -> <clinit>
+ 92:182:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButton,com.google.android.material.shadow.ShadowViewDelegate) -> <init>
+ 66:66:int access$002(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl,int) -> access$002
+ 66:66:android.animation.Animator access$102(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl,android.animation.Animator) -> access$102
+ 66:66:float access$202(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl,float) -> access$202
+ 401:405:void addOnHideAnimationListener(android.animation.Animator$AnimatorListener) -> addOnHideAnimationListener
+ 385:389:void addOnShowAnimationListener(android.animation.Animator$AnimatorListener) -> addOnShowAnimationListener
+ 623:627:void addTransformationCallback(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$InternalTransformationCallback) -> addTransformationCallback
+ 293:307:void calculateImageMatrixFromScale(float,android.graphics.Matrix) -> calculateImageMatrixFromScale
+ 563:600:android.animation.AnimatorSet createAnimator(com.google.android.material.animation.MotionSpec,float,float,float) -> createAnimator
+ 769:775:android.animation.ValueAnimator createElevationAnimator(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$ShadowAnimatorImpl) -> createElevationAnimator
+ 743:744:com.google.android.material.shape.MaterialShapeDrawable createShapeDrawable() -> createShapeDrawable
+ 656:656:android.graphics.drawable.Drawable getContentBackground() -> getContentBackground
+ 552:557:com.google.android.material.animation.MotionSpec getDefaultHideMotionSpec() -> getDefaultHideMotionSpec
+ 543:548:com.google.android.material.animation.MotionSpec getDefaultShowMotionSpec() -> getDefaultShowMotionSpec
+ 246:246:float getElevation() -> getElevation
+ 352:352:boolean getEnsureMinTouchTargetSize() -> getEnsureMinTouchTargetSize
+ 340:340:com.google.android.material.animation.MotionSpec getHideMotionSpec() -> getHideMotionSpec
+ 250:250:float getHoveredFocusedTranslationZ() -> getHoveredFocusedTranslationZ
+ 728:739:android.view.ViewTreeObserver$OnPreDrawListener getOrCreatePreDrawListener() -> getOrCreatePreDrawListener
+ 671:679:void getPadding(android.graphics.Rect) -> getPadding
+ 254:254:float getPressedTranslationZ() -> getPressedTranslationZ
+ 326:326:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearance() -> getShapeAppearance
+ 331:331:com.google.android.material.animation.MotionSpec getShowMotionSpec() -> getShowMotionSpec
+ 417:477:void hide(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$InternalVisibilityChangedListener,boolean) -> hide
+ 191:210:void initializeBackgroundDrawable(android.content.res.ColorStateList,android.graphics.PorterDuff$Mode,android.content.res.ColorStateList,int) -> initializeBackgroundDrawable
+ 758:763:boolean isOrWillBeHidden() -> isOrWillBeHidden
+ 748:753:boolean isOrWillBeShown() -> isOrWillBeShown
+ 381:382:void jumpDrawableToCurrentState() -> jumpDrawableToCurrentState
+ 697:704:void onAttachedToWindow() -> onAttachedToWindow
+ 661:661:void onCompatShadowChanged() -> onCompatShadowChanged
+ 707:712:void onDetachedFromWindow() -> onDetachedFromWindow
+ 377:378:void onDrawableStateChanged(int[]) -> onDrawableStateChanged
+ 366:368:void onElevationsChanged(float,float,float) -> onElevationsChanged
+ 682:690:void onPaddingUpdated(android.graphics.Rect) -> onPaddingUpdated
+ 719:724:void onPreDraw() -> onPreDraw
+ 647:652:void onScaleChanged() -> onScaleChanged
+ 639:644:void onTranslationChanged() -> onTranslationChanged
+ 408:414:void removeOnHideAnimationListener(android.animation.Animator$AnimatorListener) -> removeOnHideAnimationListener
+ 392:398:void removeOnShowAnimationListener(android.animation.Animator$AnimatorListener) -> removeOnShowAnimationListener
+ 630:636:void removeTransformationCallback(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$InternalTransformationCallback) -> removeTransformationCallback
+ 715:715:boolean requirePreDrawListener() -> requirePreDrawListener
+ 213:219:void setBackgroundTintList(android.content.res.ColorStateList) -> setBackgroundTintList
+ 222:225:void setBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setBackgroundTintMode
+ 239:243:void setElevation(float) -> setElevation
+ 356:357:void setEnsureMinTouchTargetSize(boolean) -> setEnsureMinTouchTargetSize
+ 344:345:void setHideMotionSpec(com.google.android.material.animation.MotionSpec) -> setHideMotionSpec
+ 258:262:void setHoveredFocusedTranslationZ(float) -> setHoveredFocusedTranslationZ
+ 285:290:void setImageMatrixScale(float) -> setImageMatrixScale
+ 272:276:void setMaxImageSize(int) -> setMaxImageSize
+ 228:229:void setMinTouchTargetSize(int) -> setMinTouchTargetSize
+ 265:269:void setPressedTranslationZ(float) -> setPressedTranslationZ
+ 232:236:void setRippleColor(android.content.res.ColorStateList) -> setRippleColor
+ 360:362:void setShadowPaddingEnabled(boolean) -> setShadowPaddingEnabled
+ 310:322:void setShapeAppearance(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearance
+ 335:336:void setShowMotionSpec(com.google.android.material.animation.MotionSpec) -> setShowMotionSpec
+ 693:693:boolean shouldAddPadding() -> shouldAddPadding
+ 846:846:boolean shouldAnimateVisibilityChange() -> shouldAnimateVisibilityChange
+ 348:348:boolean shouldExpandBoundsForA11y() -> shouldExpandBoundsForA11y
+ 480:540:void show(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$InternalVisibilityChangedListener,boolean) -> show
+ 850:868:void updateFromViewRotation() -> updateFromViewRotation
+ 281:282:void updateImageMatrixScale() -> updateImageMatrixScale
+ 664:668:void updatePadding() -> updatePadding
+ 371:374:void updateShapeElevation(float) -> updateShapeElevation
+ 608:620:void workAroundOreoBug(android.animation.ObjectAnimator) -> workAroundOreoBug
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$1 -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$1:
+ 434:434:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl,boolean,com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$InternalVisibilityChangedListener) -> <init>
+ 448:449:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 453:462:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 439:444:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$2 -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$2:
+ 505:505:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl,boolean,com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$InternalVisibilityChangedListener) -> <init>
+ 516:522:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 508:512:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$3 -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$3:
+ 584:584:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl) -> <init>
+ 584:584:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 590:591:android.graphics.Matrix evaluate(float,android.graphics.Matrix,android.graphics.Matrix) -> evaluate
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$4 -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$4:
+ 612:613:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl) -> <init>
+ 612:612:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 616:617:java.lang.Float evaluate(float,java.lang.Float,java.lang.Float) -> evaluate
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$5 -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$5:
+ 730:730:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl) -> <init>
+ 733:734:boolean onPreDraw() -> onPreDraw
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$DisabledElevationAnimation -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$DisabledElevationAnimation:
+ 837:837:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl) -> <init>
+ 841:841:float getTargetShadowSize() -> getTargetShadowSize
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$ElevateToHoveredFocusedTranslationZAnimation -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$ElevateToHoveredFocusedTranslationZAnimation:
+ 819:819:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl) -> <init>
+ 823:823:float getTargetShadowSize() -> getTargetShadowSize
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$ElevateToPressedTranslationZAnimation -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$ElevateToPressedTranslationZAnimation:
+ 828:828:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl) -> <init>
+ 832:832:float getTargetShadowSize() -> getTargetShadowSize
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$ResetElevationAnimation -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$ResetElevationAnimation:
+ 810:810:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl) -> <init>
+ 814:814:float getTargetShadowSize() -> getTargetShadowSize
+com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$ShadowAnimatorImpl -> com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$ShadowAnimatorImpl:
+ 778:778:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl) -> <init>
+ 778:778:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButtonImpl,com.google.android.material.floatingactionbutton.FloatingActionButtonImpl$1) -> <init>
+ 801:803:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 787:797:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.floatingactionbutton.FloatingActionButtonImplLollipop -> com.google.android.material.floatingactionbutton.FloatingActionButtonImplLollipop:
+ 53:54:void <init>(com.google.android.material.floatingactionbutton.FloatingActionButton,com.google.android.material.shadow.ShadowViewDelegate) -> <init>
+ 216:225:com.google.android.material.floatingactionbutton.BorderDrawable createBorderDrawable(int,android.content.res.ColorStateList) -> createBorderDrawable
+ 156:162:android.animation.Animator createElevationAnimator(float,float) -> createElevationAnimator
+ 231:232:com.google.android.material.shape.MaterialShapeDrawable createShapeDrawable() -> createShapeDrawable
+ 167:167:float getElevation() -> getElevation
+ 237:245:void getPadding(android.graphics.Rect) -> getPadding
+ 63:85:void initializeBackgroundDrawable(android.content.res.ColorStateList,android.graphics.PorterDuff$Mode,android.content.res.ColorStateList,int) -> initializeBackgroundDrawable
+ 202:202:void jumpDrawableToCurrentState() -> jumpDrawableToCurrentState
+ 172:173:void onCompatShadowChanged() -> onCompatShadowChanged
+ 182:197:void onDrawableStateChanged(int[]) -> onDrawableStateChanged
+ 103:152:void onElevationsChanged(float,float,float) -> onElevationsChanged
+ 211:211:boolean requirePreDrawListener() -> requirePreDrawListener
+ 89:95:void setRippleColor(android.content.res.ColorStateList) -> setRippleColor
+ 177:177:boolean shouldAddPadding() -> shouldAddPadding
+ 207:207:void updateFromViewRotation() -> updateFromViewRotation
+com.google.android.material.floatingactionbutton.FloatingActionButtonImplLollipop$AlwaysStatefulMaterialShapeDrawable -> com.google.android.material.floatingactionbutton.FloatingActionButtonImplLollipop$AlwaysStatefulMaterialShapeDrawable:
+ 256:257:void <init>(com.google.android.material.shape.ShapeAppearanceModel) -> <init>
+ 261:261:boolean isStateful() -> isStateful
+com.google.android.material.imageview.ShapeableImageView -> com.google.android.material.imageview.ShapeableImageView:
+ 60:60:void <clinit>() -> <clinit>
+ 88:89:void <init>(android.content.Context) -> <init>
+ 92:93:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 64:151:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 58:58:com.google.android.material.shape.ShapeAppearanceModel access$000(com.google.android.material.imageview.ShapeableImageView) -> access$000
+ 58:58:com.google.android.material.shape.MaterialShapeDrawable access$100(com.google.android.material.imageview.ShapeableImageView) -> access$100
+ 58:58:com.google.android.material.shape.MaterialShapeDrawable access$102(com.google.android.material.imageview.ShapeableImageView,com.google.android.material.shape.MaterialShapeDrawable) -> access$102
+ 58:58:android.graphics.RectF access$200(com.google.android.material.imageview.ShapeableImageView) -> access$200
+ 491:503:void drawStroke(android.graphics.Canvas) -> drawStroke
+ 272:272:int getContentPaddingBottom() -> getContentPaddingBottom
+ 283:286:int getContentPaddingEnd() -> getContentPaddingEnd
+ 297:305:int getContentPaddingLeft() -> getContentPaddingLeft
+ 315:323:int getContentPaddingRight() -> getContentPaddingRight
+ 334:337:int getContentPaddingStart() -> getContentPaddingStart
+ 348:348:int getContentPaddingTop() -> getContentPaddingTop
+ 401:401:int getPaddingBottom() -> getPaddingBottom
+ 412:412:int getPaddingEnd() -> getPaddingEnd
+ 423:423:int getPaddingLeft() -> getPaddingLeft
+ 434:434:int getPaddingRight() -> getPaddingRight
+ 445:445:int getPaddingStart() -> getPaddingStart
+ 456:456:int getPaddingTop() -> getPaddingTop
+ 475:475:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearanceModel() -> getShapeAppearanceModel
+ 527:527:android.content.res.ColorStateList getStrokeColor() -> getStrokeColor
+ 569:569:float getStrokeWidth() -> getStrokeWidth
+ 262:262:boolean isContentPaddingRelative() -> isContentPaddingRelative
+ 352:352:boolean isRtl() -> isRtl
+ 161:163:void onAttachedToWindow() -> onAttachedToWindow
+ 155:157:void onDetachedFromWindow() -> onDetachedFromWindow
+ 198:201:void onDraw(android.graphics.Canvas) -> onDraw
+ 167:194:void onMeasure(int,int) -> onMeasure
+ 205:207:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 219:234:void setContentPadding(int,int,int,int) -> setContentPadding
+ 249:259:void setContentPaddingRelative(int,int,int,int) -> setContentPaddingRelative
+ 367:372:void setPadding(int,int,int,int) -> setPadding
+ 386:391:void setPaddingRelative(int,int,int,int) -> setPaddingRelative
+ 461:470:void setShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearanceModel
+ 573:575:void setStrokeColor(android.content.res.ColorStateList) -> setStrokeColor
+ 515:516:void setStrokeColorResource(int) -> setStrokeColorResource
+ 540:544:void setStrokeWidth(float) -> setStrokeWidth
+ 556:557:void setStrokeWidthResource(int) -> setStrokeWidthResource
+ 479:488:void updateShapeMask(int,int) -> updateShapeMask
+com.google.android.material.imageview.ShapeableImageView$OutlineProvider -> com.google.android.material.imageview.ShapeableImageView$OutlineProvider:
+ 578:580:void <init>(com.google.android.material.imageview.ShapeableImageView) -> <init>
+ 584:595:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+com.google.android.material.internal.BaselineLayout -> com.google.android.material.internal.BaselineLayout:
+ 31:35:void <init>(android.content.Context) -> <init>
+ 31:39:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 31:43:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 114:114:int getBaseline() -> getBaseline
+ 85:110:void onLayout(boolean,int,int,int,int) -> onLayout
+ 47:81:void onMeasure(int,int) -> onMeasure
+com.google.android.material.internal.CheckableImageButton -> com.google.android.material.internal.CheckableImageButton:
+ 41:41:void <clinit>() -> <clinit>
+ 48:49:void <init>(android.content.Context) -> <init>
+ 52:53:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 44:75:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 144:144:boolean isCheckable() -> isCheckable
+ 88:88:boolean isChecked() -> isChecked
+ 154:154:boolean isPressable() -> isPressable
+ 105:110:int[] onCreateDrawableState(int) -> onCreateDrawableState
+ 125:132:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 117:120:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 136:140:void setCheckable(boolean) -> setCheckable
+ 79:84:void setChecked(boolean) -> setChecked
+ 149:150:void setPressable(boolean) -> setPressable
+ 98:101:void setPressed(boolean) -> setPressed
+ 93:94:void toggle() -> toggle
+com.google.android.material.internal.CheckableImageButton$1 -> com.google.android.material.internal.CheckableImageButton$1:
+ 60:60:void <init>(com.google.android.material.internal.CheckableImageButton) -> <init>
+ 63:65:void onInitializeAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onInitializeAccessibilityEvent
+ 70:73:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+com.google.android.material.internal.CheckableImageButton$SavedState -> com.google.android.material.internal.CheckableImageButton$SavedState:
+ 180:180:void <clinit>() -> <clinit>
+ 162:163:void <init>(android.os.Parcelable) -> <init>
+ 166:168:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 177:178:void readFromParcel(android.os.Parcel) -> readFromParcel
+ 172:174:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.internal.CheckableImageButton$SavedState$1 -> com.google.android.material.internal.CheckableImageButton$SavedState$1:
+ 181:181:void <init>() -> <init>
+ 181:181:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 181:181:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 185:185:com.google.android.material.internal.CheckableImageButton$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 191:191:com.google.android.material.internal.CheckableImageButton$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 181:181:java.lang.Object[] newArray(int) -> newArray
+ 197:197:com.google.android.material.internal.CheckableImageButton$SavedState[] newArray(int) -> newArray
+com.google.android.material.internal.CollapsingTextHelper -> com.google.android.material.internal.CollapsingTextHelper:
+ 70:85:void <clinit>() -> <clinit>
+ 99:174:void <init>(android.view.View) -> <init>
+ 1118:1123:int blendColors(int,int,float) -> blendColors
+ 654:746:void calculateBaseOffsets(boolean) -> calculateBaseOffsets
+ 271:275:float calculateCollapsedTextWidth() -> calculateCollapsedTextWidth
+ 542:543:void calculateCurrentOffsets() -> calculateCurrentOffsets
+ 615:623:float calculateFadeModeTextAlpha(float) -> calculateFadeModeTextAlpha
+ 306:306:float calculateFadeModeThresholdFraction() -> calculateFadeModeThresholdFraction
+ 858:860:boolean calculateIsRtl(java.lang.CharSequence) -> calculateIsRtl
+ 546:611:void calculateOffsets(float) -> calculateOffsets
+ 890:891:void calculateUsingTextSize(float) -> calculateUsingTextSize
+ 895:965:void calculateUsingTextSize(float,boolean) -> calculateUsingTextSize
+ 1043:1047:void clearTexture() -> clearTexture
+ 968:984:android.text.StaticLayout createStaticLayout(int,float,boolean) -> createStaticLayout
+ 773:815:void draw(android.graphics.Canvas) -> draw
+ 822:855:void drawMultilineTransition(android.graphics.Canvas,float,float) -> drawMultilineTransition
+ 988:1008:void ensureExpandedTexture() -> ensureExpandedTexture
+ 239:244:void getCollapsedTextActualBounds(android.graphics.RectF,int,int) -> getCollapsedTextActualBounds
+ 1108:1108:android.content.res.ColorStateList getCollapsedTextColor() -> getCollapsedTextColor
+ 357:357:int getCollapsedTextGravity() -> getCollapsedTextGravity
+ 291:293:float getCollapsedTextHeight() -> getCollapsedTextHeight
+ 247:254:float getCollapsedTextLeftBound(int,int) -> getCollapsedTextLeftBound
+ 259:266:float getCollapsedTextRightBound(android.graphics.RectF,int,int) -> getCollapsedTextRightBound
+ 526:526:float getCollapsedTextSize() -> getCollapsedTextSize
+ 478:478:android.graphics.Typeface getCollapsedTypeface() -> getCollapsedTypeface
+ 639:639:int getCurrentCollapsedTextColor() -> getCurrentCollapsedTextColor
+ 644:650:int getCurrentColor(android.content.res.ColorStateList) -> getCurrentColor
+ 634:634:int getCurrentExpandedTextColor() -> getCurrentExpandedTextColor
+ 1104:1104:android.content.res.ColorStateList getExpandedTextColor() -> getExpandedTextColor
+ 285:287:float getExpandedTextFullHeight() -> getExpandedTextFullHeight
+ 346:346:int getExpandedTextGravity() -> getExpandedTextGravity
+ 279:281:float getExpandedTextHeight() -> getExpandedTextHeight
+ 530:530:float getExpandedTextSize() -> getExpandedTextSize
+ 482:482:android.graphics.Typeface getExpandedTypeface() -> getExpandedTypeface
+ 522:522:float getExpansionFraction() -> getExpansionFraction
+ 518:518:float getFadeModeThresholdFraction() -> getFadeModeThresholdFraction
+ 1092:1092:int getHyphenationFrequency() -> getHyphenationFrequency
+ 1062:1062:int getLineCount() -> getLineCount
+ 1072:1072:float getLineSpacingAdd() -> getLineSpacingAdd
+ 1082:1082:float getLineSpacingMultiplier() -> getLineSpacingMultiplier
+ 1058:1058:int getMaxLines() -> getMaxLines
+ 1039:1039:java.lang.CharSequence getText() -> getText
+ 323:328:void getTextPaintCollapsed(android.text.TextPaint) -> getTextPaintCollapsed
+ 315:320:void getTextPaintExpanded(android.text.TextPaint) -> getTextPaintExpanded
+ 749:760:void interpolateBounds(float) -> interpolateBounds
+ 1100:1100:boolean isClose(float,float) -> isClose
+ 865:865:boolean isDefaultIsRtl() -> isDefaultIsRtl
+ 538:538:boolean isRtlTextDirectionHeuristicsEnabled() -> isRtlTextDirectionHeuristicsEnabled
+ 513:514:boolean isStateful() -> isStateful
+ 869:872:boolean isTextDirectionHeuristicsIsRtl(java.lang.CharSequence,boolean) -> isTextDirectionHeuristicsIsRtl
+ 1128:1131:float lerp(float,float,float,android.animation.TimeInterpolator) -> lerp
+ 331:336:void onBoundsChanged() -> onBoundsChanged
+ 1011:1012:void recalculate() -> recalculate
+ 1015:1021:void recalculate(boolean) -> recalculate
+ 1135:1135:boolean rectEquals(android.graphics.Rect,int,int,int,int) -> rectEquals
+ 227:232:void setCollapsedBounds(int,int,int,int) -> setCollapsedBounds
+ 235:236:void setCollapsedBounds(android.graphics.Rect) -> setCollapsedBounds
+ 361:393:void setCollapsedTextAppearance(int) -> setCollapsedTextAppearance
+ 763:765:void setCollapsedTextBlend(float) -> setCollapsedTextBlend
+ 201:205:void setCollapsedTextColor(android.content.res.ColorStateList) -> setCollapsedTextColor
+ 350:354:void setCollapsedTextGravity(int) -> setCollapsedTextGravity
+ 194:198:void setCollapsedTextSize(float) -> setCollapsedTextSize
+ 430:433:void setCollapsedTypeface(android.graphics.Typeface) -> setCollapsedTypeface
+ 453:460:boolean setCollapsedTypefaceInternal(android.graphics.Typeface) -> setCollapsedTypefaceInternal
+ 297:298:void setCurrentOffsetY(int) -> setCurrentOffsetY
+ 215:220:void setExpandedBounds(int,int,int,int) -> setExpandedBounds
+ 223:224:void setExpandedBounds(android.graphics.Rect) -> setExpandedBounds
+ 396:427:void setExpandedTextAppearance(int) -> setExpandedTextAppearance
+ 768:770:void setExpandedTextBlend(float) -> setExpandedTextBlend
+ 208:212:void setExpandedTextColor(android.content.res.ColorStateList) -> setExpandedTextColor
+ 339:343:void setExpandedTextGravity(int) -> setExpandedTextGravity
+ 187:191:void setExpandedTextSize(float) -> setExpandedTextSize
+ 436:439:void setExpandedTypeface(android.graphics.Typeface) -> setExpandedTypeface
+ 467:474:boolean setExpandedTypefaceInternal(android.graphics.Typeface) -> setExpandedTypefaceInternal
+ 493:499:void setExpansionFraction(float) -> setExpansionFraction
+ 311:312:void setFadeModeEnabled(boolean) -> setFadeModeEnabled
+ 301:303:void setFadeModeStartFraction(float) -> setFadeModeStartFraction
+ 1087:1088:void setHyphenationFrequency(int) -> setHyphenationFrequency
+ 876:887:void setInterpolatedTextSize(float) -> setInterpolatedTextSize
+ 1067:1068:void setLineSpacingAdd(float) -> setLineSpacingAdd
+ 1077:1078:void setLineSpacingMultiplier(float) -> setLineSpacingMultiplier
+ 1050:1055:void setMaxLines(int) -> setMaxLines
+ 182:184:void setPositionInterpolator(android.animation.TimeInterpolator) -> setPositionInterpolator
+ 534:535:void setRtlTextDirectionHeuristicsEnabled(boolean) -> setRtlTextDirectionHeuristicsEnabled
+ 502:509:boolean setState(int[]) -> setState
+ 1029:1035:void setText(java.lang.CharSequence) -> setText
+ 177:179:void setTextSizeInterpolator(android.animation.TimeInterpolator) -> setTextSizeInterpolator
+ 442:447:void setTypefaces(android.graphics.Typeface) -> setTypefaces
+ 818:818:boolean shouldDrawMultiline() -> shouldDrawMultiline
+com.google.android.material.internal.CollapsingTextHelper$1 -> com.google.android.material.internal.CollapsingTextHelper$1:
+ 383:383:void <init>(com.google.android.material.internal.CollapsingTextHelper) -> <init>
+ 386:387:void apply(android.graphics.Typeface) -> apply
+com.google.android.material.internal.CollapsingTextHelper$2 -> com.google.android.material.internal.CollapsingTextHelper$2:
+ 417:417:void <init>(com.google.android.material.internal.CollapsingTextHelper) -> <init>
+ 420:421:void apply(android.graphics.Typeface) -> apply
+com.google.android.material.internal.ContextUtils -> com.google.android.material.internal.ContextUtils:
+ 33:33:void <init>() -> <init>
+ 41:47:android.app.Activity getActivity(android.content.Context) -> getActivity
+com.google.android.material.internal.DescendantOffsetUtils -> com.google.android.material.internal.DescendantOffsetUtils:
+ 37:38:void <clinit>() -> <clinit>
+ 36:36:void <init>() -> <init>
+ 83:85:void getDescendantRect(android.view.ViewGroup,android.view.View,android.graphics.Rect) -> getDescendantRect
+ 89:101:void offsetDescendantMatrix(android.view.ViewParent,android.view.View,android.graphics.Matrix) -> offsetDescendantMatrix
+ 50:72:void offsetDescendantRect(android.view.ViewGroup,android.view.View,android.graphics.Rect) -> offsetDescendantRect
+com.google.android.material.internal.FlowLayout -> com.google.android.material.internal.FlowLayout:
+ 50:51:void <init>(android.content.Context) -> <init>
+ 54:55:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 58:61:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 66:69:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 88:88:int getItemSpacing() -> getItemSpacing
+ 80:80:int getLineSpacing() -> getLineSpacing
+ 178:184:int getMeasuredDimension(int,int,int) -> getMeasuredDimension
+ 248:248:int getRowCount() -> getRowCount
+ 253:257:int getRowIndex(android.view.View) -> getRowIndex
+ 97:97:boolean isSingleLine() -> isSingleLine
+ 72:77:void loadFromAttributes(android.content.Context,android.util.AttributeSet) -> loadFromAttributes
+ 190:245:void onLayout(boolean,int,int,int,int) -> onLayout
+ 107:175:void onMeasure(int,int) -> onMeasure
+ 92:93:void setItemSpacing(int) -> setItemSpacing
+ 84:85:void setLineSpacing(int) -> setLineSpacing
+ 102:103:void setSingleLine(boolean) -> setSingleLine
+com.google.android.material.internal.ForegroundLinearLayout -> com.google.android.material.internal.ForegroundLinearLayout:
+ 54:55:void <init>(android.content.Context) -> <init>
+ 58:59:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 43:81:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 205:236:void draw(android.graphics.Canvas) -> draw
+ 242:246:void drawableHotspotChanged(float,float) -> drawableHotspotChanged
+ 138:142:void drawableStateChanged() -> drawableStateChanged
+ 188:188:android.graphics.drawable.Drawable getForeground() -> getForeground
+ 91:91:int getForegroundGravity() -> getForegroundGravity
+ 130:134:void jumpDrawablesToCurrentState() -> jumpDrawablesToCurrentState
+ 193:195:void onLayout(boolean,int,int,int,int) -> onLayout
+ 199:201:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 153:177:void setForeground(android.graphics.drawable.Drawable) -> setForeground
+ 102:120:void setForegroundGravity(int) -> setForegroundGravity
+ 124:124:boolean verifyDrawable(android.graphics.drawable.Drawable) -> verifyDrawable
+com.google.android.material.internal.ManufacturerUtils -> com.google.android.material.internal.ManufacturerUtils:
+ 32:32:void <init>() -> <init>
+ 53:53:boolean isDateInputKeyboardMissingSeparatorCharacters() -> isDateInputKeyboardMissingSeparatorCharacters
+ 41:41:boolean isLGEDevice() -> isLGEDevice
+ 36:36:boolean isMeizuDevice() -> isMeizuDevice
+ 46:46:boolean isSamsungDevice() -> isSamsungDevice
+com.google.android.material.internal.NavigationMenu -> com.google.android.material.internal.NavigationMenu:
+ 39:40:void <init>(android.content.Context) -> <init>
+ 45:48:android.view.SubMenu addSubMenu(int,int,int,java.lang.CharSequence) -> addSubMenu
+com.google.android.material.internal.NavigationMenuItemView -> com.google.android.material.internal.NavigationMenuItemView:
+ 55:55:void <clinit>() -> <clinit>
+ 87:88:void <init>(android.content.Context) -> <init>
+ 91:92:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 75:103:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 136:152:void adjustAppearance() -> adjustAppearance
+ 175:184:android.graphics.drawable.StateListDrawable createDefaultBackground() -> createDefaultBackground
+ 189:189:androidx.appcompat.view.menu.MenuItemImpl getItemData() -> getItemData
+ 107:127:void initialize(androidx.appcompat.view.menu.MenuItemImpl,int) -> initialize
+ 255:259:int[] onCreateDrawableState(int) -> onCreateDrawableState
+ 245:245:boolean prefersCondensedTitle() -> prefersCondensedTitle
+ 155:159:void recycle() -> recycle
+ 162:171:void setActionView(android.view.View) -> setActionView
+ 199:205:void setCheckable(boolean) -> setCheckable
+ 209:211:void setChecked(boolean) -> setChecked
+ 284:285:void setHorizontalPadding(int) -> setHorizontalPadding
+ 218:237:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 288:289:void setIconPadding(int) -> setIconPadding
+ 240:241:void setIconSize(int) -> setIconSize
+ 263:269:void setIconTintList(android.content.res.ColorStateList) -> setIconTintList
+ 292:293:void setMaxLines(int) -> setMaxLines
+ 280:281:void setNeedsEmptyIcon(boolean) -> setNeedsEmptyIcon
+ 214:214:void setShortcut(boolean,char) -> setShortcut
+ 272:273:void setTextAppearance(int) -> setTextAppearance
+ 276:277:void setTextColor(android.content.res.ColorStateList) -> setTextColor
+ 194:195:void setTitle(java.lang.CharSequence) -> setTitle
+ 130:132:boolean shouldExpandActionArea() -> shouldExpandActionArea
+ 250:250:boolean showsIcon() -> showsIcon
+com.google.android.material.internal.NavigationMenuItemView$1 -> com.google.android.material.internal.NavigationMenuItemView$1:
+ 76:76:void <init>(com.google.android.material.internal.NavigationMenuItemView) -> <init>
+ 81:83:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+com.google.android.material.internal.NavigationMenuPresenter -> com.google.android.material.internal.NavigationMenuPresenter:
+ 57:408:void <init>() -> <init>
+ 57:57:int access$000(com.google.android.material.internal.NavigationMenuPresenter) -> access$000
+ 228:231:void addHeaderView(android.view.View) -> addHeaderView
+ 161:161:boolean collapseItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> collapseItemActionView
+ 349:359:void dispatchApplyWindowInsets(androidx.core.view.WindowInsetsCompat) -> dispatchApplyWindowInsets
+ 156:156:boolean expandItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> expandItemActionView
+ 151:151:boolean flagActionItems() -> flagActionItems
+ 218:218:androidx.appcompat.view.menu.MenuItemImpl getCheckedItem() -> getCheckedItem
+ 241:241:int getHeaderCount() -> getHeaderCount
+ 245:245:android.view.View getHeaderView(int) -> getHeaderView
+ 166:166:int getId() -> getId
+ 276:276:android.graphics.drawable.Drawable getItemBackground() -> getItemBackground
+ 285:285:int getItemHorizontalPadding() -> getItemHorizontalPadding
+ 294:294:int getItemIconPadding() -> getItemIconPadding
+ 308:308:int getItemMaxLines() -> getItemMaxLines
+ 260:260:android.content.res.ColorStateList getItemTextColor() -> getItemTextColor
+ 250:250:android.content.res.ColorStateList getItemTintList() -> getItemTintList
+ 106:122:androidx.appcompat.view.menu.MenuView getMenuView(android.view.ViewGroup) -> getMenuView
+ 222:224:android.view.View inflateHeaderView(int) -> inflateHeaderView
+ 97:102:void initForMenu(android.content.Context,androidx.appcompat.view.menu.MenuBuilder) -> initForMenu
+ 335:335:boolean isBehindStatusBar() -> isBehindStatusBar
+ 144:147:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 195:210:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 176:190:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 139:139:boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder) -> onSubMenuSelected
+ 234:238:void removeHeaderView(android.view.View) -> removeHeaderView
+ 327:331:void setBehindStatusBar(boolean) -> setBehindStatusBar
+ 134:135:void setCallback(androidx.appcompat.view.menu.MenuPresenter$Callback) -> setCallback
+ 213:214:void setCheckedItem(androidx.appcompat.view.menu.MenuItemImpl) -> setCheckedItem
+ 170:171:void setId(int) -> setId
+ 280:282:void setItemBackground(android.graphics.drawable.Drawable) -> setItemBackground
+ 289:291:void setItemHorizontalPadding(int) -> setItemHorizontalPadding
+ 298:300:void setItemIconPadding(int) -> setItemIconPadding
+ 312:317:void setItemIconSize(int) -> setItemIconSize
+ 254:256:void setItemIconTintList(android.content.res.ColorStateList) -> setItemIconTintList
+ 303:305:void setItemMaxLines(int) -> setItemMaxLines
+ 269:272:void setItemTextAppearance(int) -> setItemTextAppearance
+ 264:266:void setItemTextColor(android.content.res.ColorStateList) -> setItemTextColor
+ 362:366:void setOverScrollMode(int) -> setOverScrollMode
+ 320:323:void setUpdateSuspended(boolean) -> setUpdateSuspended
+ 127:130:void updateMenuView(boolean) -> updateMenuView
+ 339:346:void updateTopPadding() -> updateTopPadding
+com.google.android.material.internal.NavigationMenuPresenter$1 -> com.google.android.material.internal.NavigationMenuPresenter$1:
+ 409:409:void <init>(com.google.android.material.internal.NavigationMenuPresenter) -> <init>
+ 413:426:void onClick(android.view.View) -> onClick
+com.google.android.material.internal.NavigationMenuPresenter$HeaderViewHolder -> com.google.android.material.internal.NavigationMenuPresenter$HeaderViewHolder:
+ 401:402:void <init>(android.view.View) -> <init>
+com.google.android.material.internal.NavigationMenuPresenter$NavigationMenuAdapter -> com.google.android.material.internal.NavigationMenuPresenter$NavigationMenuAdapter:
+ 439:445:void <init>(com.google.android.material.internal.NavigationMenuPresenter) -> <init>
+ 624:628:void appendTransparentIconIfMissing(int,int) -> appendTransparentIconIfMissing
+ 647:666:android.os.Bundle createInstanceState() -> createInstanceState
+ 642:642:androidx.appcompat.view.menu.MenuItemImpl getCheckedItem() -> getCheckedItem
+ 454:454:int getItemCount() -> getItemCount
+ 449:449:long getItemId(int) -> getItemId
+ 459:472:int getItemViewType(int) -> getItemViewType
+ 718:724:int getRowCount() -> getRowCount
+ 429:429:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> onBindViewHolder
+ 493:536:void onBindViewHolder(com.google.android.material.internal.NavigationMenuPresenter$ViewHolder,int) -> onBindViewHolder
+ 429:429:androidx.recyclerview.widget.RecyclerView$ViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 478:488:com.google.android.material.internal.NavigationMenuPresenter$ViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 429:429:void onViewRecycled(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onViewRecycled
+ 540:543:void onViewRecycled(com.google.android.material.internal.NavigationMenuPresenter$ViewHolder) -> onViewRecycled
+ 555:621:void prepareMenuItems() -> prepareMenuItems
+ 670:710:void restoreInstanceState(android.os.Bundle) -> restoreInstanceState
+ 631:639:void setCheckedItem(androidx.appcompat.view.menu.MenuItemImpl) -> setCheckedItem
+ 713:714:void setUpdateSuspended(boolean) -> setUpdateSuspended
+ 546:548:void update() -> update
+com.google.android.material.internal.NavigationMenuPresenter$NavigationMenuHeaderItem -> com.google.android.material.internal.NavigationMenuPresenter$NavigationMenuHeaderItem:
+ 770:770:void <init>() -> <init>
+com.google.android.material.internal.NavigationMenuPresenter$NavigationMenuSeparatorItem -> com.google.android.material.internal.NavigationMenuPresenter$NavigationMenuSeparatorItem:
+ 754:757:void <init>(int,int) -> <init>
+ 764:764:int getPaddingBottom() -> getPaddingBottom
+ 760:760:int getPaddingTop() -> getPaddingTop
+com.google.android.material.internal.NavigationMenuPresenter$NavigationMenuTextItem -> com.google.android.material.internal.NavigationMenuPresenter$NavigationMenuTextItem:
+ 738:740:void <init>(androidx.appcompat.view.menu.MenuItemImpl) -> <init>
+ 743:743:androidx.appcompat.view.menu.MenuItemImpl getMenuItem() -> getMenuItem
+com.google.android.material.internal.NavigationMenuPresenter$NavigationMenuViewAccessibilityDelegate -> com.google.android.material.internal.NavigationMenuPresenter$NavigationMenuViewAccessibilityDelegate:
+ 776:778:void <init>(com.google.android.material.internal.NavigationMenuPresenter,androidx.recyclerview.widget.RecyclerView) -> <init>
+ 783:785:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+com.google.android.material.internal.NavigationMenuPresenter$NormalViewHolder -> com.google.android.material.internal.NavigationMenuPresenter$NormalViewHolder:
+ 379:381:void <init>(android.view.LayoutInflater,android.view.ViewGroup,android.view.View$OnClickListener) -> <init>
+com.google.android.material.internal.NavigationMenuPresenter$SeparatorViewHolder -> com.google.android.material.internal.NavigationMenuPresenter$SeparatorViewHolder:
+ 394:395:void <init>(android.view.LayoutInflater,android.view.ViewGroup) -> <init>
+com.google.android.material.internal.NavigationMenuPresenter$SubheaderViewHolder -> com.google.android.material.internal.NavigationMenuPresenter$SubheaderViewHolder:
+ 387:388:void <init>(android.view.LayoutInflater,android.view.ViewGroup) -> <init>
+com.google.android.material.internal.NavigationMenuPresenter$ViewHolder -> com.google.android.material.internal.NavigationMenuPresenter$ViewHolder:
+ 371:372:void <init>(android.view.View) -> <init>
+com.google.android.material.internal.NavigationMenuView -> com.google.android.material.internal.NavigationMenuView:
+ 34:35:void <init>(android.content.Context) -> <init>
+ 38:39:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 42:44:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 51:51:int getWindowAnimations() -> getWindowAnimations
+ 47:47:void initialize(androidx.appcompat.view.menu.MenuBuilder) -> initialize
+com.google.android.material.internal.NavigationSubMenu -> com.google.android.material.internal.NavigationSubMenu:
+ 37:38:void <init>(android.content.Context,com.google.android.material.internal.NavigationMenu,androidx.appcompat.view.menu.MenuItemImpl) -> <init>
+ 42:44:void onItemsChanged(boolean) -> onItemsChanged
+com.google.android.material.internal.ParcelableSparseArray -> com.google.android.material.internal.ParcelableSparseArray:
+ 66:66:void <clinit>() -> <clinit>
+ 33:34:void <init>() -> <init>
+ 37:45:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 49:49:int describeContents() -> describeContents
+ 54:64:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.internal.ParcelableSparseArray$1 -> com.google.android.material.internal.ParcelableSparseArray$1:
+ 67:67:void <init>() -> <init>
+ 67:67:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 67:67:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 71:71:com.google.android.material.internal.ParcelableSparseArray createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 77:77:com.google.android.material.internal.ParcelableSparseArray createFromParcel(android.os.Parcel) -> createFromParcel
+ 67:67:java.lang.Object[] newArray(int) -> newArray
+ 83:83:com.google.android.material.internal.ParcelableSparseArray[] newArray(int) -> newArray
+com.google.android.material.internal.ParcelableSparseBooleanArray -> com.google.android.material.internal.ParcelableSparseBooleanArray:
+ 70:70:void <clinit>() -> <clinit>
+ 36:37:void <init>() -> <init>
+ 40:41:void <init>(int) -> <init>
+ 44:48:void <init>(android.util.SparseBooleanArray) -> <init>
+ 52:52:int describeContents() -> describeContents
+ 57:68:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.internal.ParcelableSparseBooleanArray$1 -> com.google.android.material.internal.ParcelableSparseBooleanArray$1:
+ 71:71:void <init>() -> <init>
+ 71:71:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 75:88:com.google.android.material.internal.ParcelableSparseBooleanArray createFromParcel(android.os.Parcel) -> createFromParcel
+ 71:71:java.lang.Object[] newArray(int) -> newArray
+ 94:94:com.google.android.material.internal.ParcelableSparseBooleanArray[] newArray(int) -> newArray
+com.google.android.material.internal.ParcelableSparseIntArray -> com.google.android.material.internal.ParcelableSparseIntArray:
+ 70:70:void <clinit>() -> <clinit>
+ 36:37:void <init>() -> <init>
+ 40:41:void <init>(int) -> <init>
+ 44:48:void <init>(android.util.SparseIntArray) -> <init>
+ 52:52:int describeContents() -> describeContents
+ 57:68:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.internal.ParcelableSparseIntArray$1 -> com.google.android.material.internal.ParcelableSparseIntArray$1:
+ 71:71:void <init>() -> <init>
+ 71:71:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 75:88:com.google.android.material.internal.ParcelableSparseIntArray createFromParcel(android.os.Parcel) -> createFromParcel
+ 71:71:java.lang.Object[] newArray(int) -> newArray
+ 94:94:com.google.android.material.internal.ParcelableSparseIntArray[] newArray(int) -> newArray
+com.google.android.material.internal.ScrimInsetsFrameLayout -> com.google.android.material.internal.ScrimInsetsFrameLayout:
+ 50:51:void <init>(android.content.Context) -> <init>
+ 54:55:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 45:92:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 109:143:void draw(android.graphics.Canvas) -> draw
+ 147:151:void onAttachedToWindow() -> onAttachedToWindow
+ 155:159:void onDetachedFromWindow() -> onDetachedFromWindow
+ 161:161:void onInsetsChanged(androidx.core.view.WindowInsetsCompat) -> onInsetsChanged
+ 104:105:void setDrawBottomInsetForeground(boolean) -> setDrawBottomInsetForeground
+ 100:101:void setDrawTopInsetForeground(boolean) -> setDrawTopInsetForeground
+ 96:97:void setScrimInsetForeground(android.graphics.drawable.Drawable) -> setScrimInsetForeground
+com.google.android.material.internal.ScrimInsetsFrameLayout$1 -> com.google.android.material.internal.ScrimInsetsFrameLayout$1:
+ 74:74:void <init>(com.google.android.material.internal.ScrimInsetsFrameLayout) -> <init>
+ 78:89:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+com.google.android.material.internal.StateListAnimator -> com.google.android.material.internal.StateListAnimator:
+ 37:44:void <init>() -> <init>
+ 62:65:void addState(int[],android.animation.ValueAnimator) -> addState
+ 98:102:void cancel() -> cancel
+ 110:114:void jumpToCurrentState() -> jumpToCurrentState
+ 69:90:void setState(int[]) -> setState
+ 93:95:void start(com.google.android.material.internal.StateListAnimator$Tuple) -> start
+com.google.android.material.internal.StateListAnimator$1 -> com.google.android.material.internal.StateListAnimator$1:
+ 45:45:void <init>(com.google.android.material.internal.StateListAnimator) -> <init>
+ 48:51:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.internal.StateListAnimator$Tuple -> com.google.android.material.internal.StateListAnimator$Tuple:
+ 120:123:void <init>(int[],android.animation.ValueAnimator) -> <init>
+com.google.android.material.internal.StaticLayoutBuilderCompat -> com.google.android.material.internal.StaticLayoutBuilderCompat:
+ 56:56:void <clinit>() -> <clinit>
+ 88:101:void <init>(java.lang.CharSequence,android.text.TextPaint,int) -> <init>
+ 224:262:android.text.StaticLayout build() -> build
+ 309:350:void createConstructorWithReflection() -> createConstructorWithReflection
+ 114:114:com.google.android.material.internal.StaticLayoutBuilderCompat obtain(java.lang.CharSequence,android.text.TextPaint,int) -> obtain
+ 125:126:com.google.android.material.internal.StaticLayoutBuilderCompat setAlignment(android.text.Layout$Alignment) -> setAlignment
+ 218:219:com.google.android.material.internal.StaticLayoutBuilderCompat setEllipsize(android.text.TextUtils$TruncateAt) -> setEllipsize
+ 162:163:com.google.android.material.internal.StaticLayoutBuilderCompat setEnd(int) -> setEnd
+ 204:205:com.google.android.material.internal.StaticLayoutBuilderCompat setHyphenationFrequency(int) -> setHyphenationFrequency
+ 139:140:com.google.android.material.internal.StaticLayoutBuilderCompat setIncludePad(boolean) -> setIncludePad
+ 353:354:com.google.android.material.internal.StaticLayoutBuilderCompat setIsRtl(boolean) -> setIsRtl
+ 190:192:com.google.android.material.internal.StaticLayoutBuilderCompat setLineSpacing(float,float) -> setLineSpacing
+ 176:177:com.google.android.material.internal.StaticLayoutBuilderCompat setMaxLines(int) -> setMaxLines
+ 150:151:com.google.android.material.internal.StaticLayoutBuilderCompat setStart(int) -> setStart
+com.google.android.material.internal.StaticLayoutBuilderCompat$StaticLayoutBuilderCompatException -> com.google.android.material.internal.StaticLayoutBuilderCompat$StaticLayoutBuilderCompatException:
+ 360:361:void <init>(java.lang.Throwable) -> <init>
+com.google.android.material.internal.TextDrawableHelper -> com.google.android.material.internal.TextDrawableHelper:
+ 41:78:void <init>(com.google.android.material.internal.TextDrawableHelper$TextDrawableDelegate) -> <init>
+ 39:39:boolean access$002(com.google.android.material.internal.TextDrawableHelper,boolean) -> access$002
+ 39:39:java.lang.ref.WeakReference access$100(com.google.android.material.internal.TextDrawableHelper) -> access$100
+ 110:113:float calculateTextWidth(java.lang.CharSequence) -> calculateTextWidth
+ 123:123:com.google.android.material.resources.TextAppearance getTextAppearance() -> getTextAppearance
+ 87:87:android.text.TextPaint getTextPaint() -> getTextPaint
+ 100:106:float getTextWidth(java.lang.String) -> getTextWidth
+ 95:95:boolean isTextWidthDirty() -> isTextWidthDirty
+ 82:83:void setDelegate(com.google.android.material.internal.TextDrawableHelper$TextDrawableDelegate) -> setDelegate
+ 134:153:void setTextAppearance(com.google.android.material.resources.TextAppearance,android.content.Context) -> setTextAppearance
+ 91:92:void setTextWidthDirty(boolean) -> setTextWidthDirty
+ 156:157:void updateTextPaintDrawState(android.content.Context) -> updateTextPaintDrawState
+com.google.android.material.internal.TextDrawableHelper$1 -> com.google.android.material.internal.TextDrawableHelper$1:
+ 44:44:void <init>(com.google.android.material.internal.TextDrawableHelper) -> <init>
+ 59:65:void onFontRetrievalFailed(int) -> onFontRetrievalFailed
+ 47:55:void onFontRetrieved(android.graphics.Typeface,boolean) -> onFontRetrieved
+com.google.android.material.internal.TextScale -> com.google.android.material.internal.TextScale:
+ 34:34:void <init>() -> <init>
+ 44:45:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 39:40:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 48:52:void captureValues(androidx.transition.TransitionValues) -> captureValues
+ 59:87:android.animation.Animator createAnimator(android.view.ViewGroup,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> createAnimator
+com.google.android.material.internal.TextScale$1 -> com.google.android.material.internal.TextScale$1:
+ 79:79:void <init>(com.google.android.material.internal.TextScale,android.widget.TextView) -> <init>
+ 82:85:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.internal.TextWatcherAdapter -> com.google.android.material.internal.TextWatcherAdapter:
+ 33:33:void <init>() -> <init>
+ 42:42:void afterTextChanged(android.text.Editable) -> afterTextChanged
+ 36:36:void beforeTextChanged(java.lang.CharSequence,int,int,int) -> beforeTextChanged
+ 39:39:void onTextChanged(java.lang.CharSequence,int,int,int) -> onTextChanged
+com.google.android.material.internal.ThemeEnforcement -> com.google.android.material.internal.ThemeEnforcement:
+ 43:46:void <clinit>() -> <clinit>
+ 49:49:void <init>() -> <init>
+ 213:214:void checkAppCompatTheme(android.content.Context) -> checkAppCompatTheme
+ 129:149:void checkCompatibleTheme(android.content.Context,android.util.AttributeSet,int,int) -> checkCompatibleTheme
+ 217:218:void checkMaterialTheme(android.content.Context) -> checkMaterialTheme
+ 158:191:void checkTextAppearance(android.content.Context,android.util.AttributeSet,int[],int,int,int[]) -> checkTextAppearance
+ 242:248:void checkTheme(android.content.Context,int[],java.lang.String) -> checkTheme
+ 221:221:boolean isAppCompatTheme(android.content.Context) -> isAppCompatTheme
+ 200:209:boolean isCustomTextAppearanceValid(android.content.Context,android.util.AttributeSet,int[],int,int,int[]) -> isCustomTextAppearanceValid
+ 225:225:boolean isMaterialTheme(android.content.Context) -> isMaterialTheme
+ 229:237:boolean isTheme(android.content.Context,int[]) -> isTheme
+ 76:82:android.content.res.TypedArray obtainStyledAttributes(android.content.Context,android.util.AttributeSet,int[],int,int,int[]) -> obtainStyledAttributes
+ 115:121:androidx.appcompat.widget.TintTypedArray obtainTintedStyledAttributes(android.content.Context,android.util.AttributeSet,int[],int,int,int[]) -> obtainTintedStyledAttributes
+com.google.android.material.internal.ToolbarUtils -> com.google.android.material.internal.ToolbarUtils:
+ 41:43:void <init>() -> <init>
+ 114:126:androidx.appcompat.view.menu.ActionMenuItemView getActionMenuItemView(androidx.appcompat.widget.Toolbar,int) -> getActionMenuItemView
+ 83:89:androidx.appcompat.widget.ActionMenuView getActionMenuView(androidx.appcompat.widget.Toolbar) -> getActionMenuView
+ 94:107:android.widget.ImageButton getNavigationIconButton(androidx.appcompat.widget.Toolbar) -> getNavigationIconButton
+ 71:78:android.view.View getSecondaryActionMenuItemView(androidx.appcompat.widget.Toolbar) -> getSecondaryActionMenuItemView
+ 52:52:android.widget.TextView getSubtitleTextView(androidx.appcompat.widget.Toolbar) -> getSubtitleTextView
+ 57:66:android.widget.TextView getTextView(androidx.appcompat.widget.Toolbar,java.lang.CharSequence) -> getTextView
+ 47:47:android.widget.TextView getTitleTextView(androidx.appcompat.widget.Toolbar) -> getTitleTextView
+com.google.android.material.internal.ViewGroupOverlayApi14 -> com.google.android.material.internal.ViewGroupOverlayApi14:
+ 27:28:void <init>(android.content.Context,android.view.ViewGroup,android.view.View) -> <init>
+ 36:37:void add(android.view.View) -> add
+ 31:31:com.google.android.material.internal.ViewGroupOverlayApi14 createFrom(android.view.ViewGroup) -> createFrom
+ 41:42:void remove(android.view.View) -> remove
+com.google.android.material.internal.ViewGroupOverlayApi18 -> com.google.android.material.internal.ViewGroupOverlayApi18:
+ 31:33:void <init>(android.view.ViewGroup) -> <init>
+ 37:38:void add(android.graphics.drawable.Drawable) -> add
+ 47:48:void add(android.view.View) -> add
+ 42:43:void remove(android.graphics.drawable.Drawable) -> remove
+ 52:53:void remove(android.view.View) -> remove
+com.google.android.material.internal.ViewOverlayApi14 -> com.google.android.material.internal.ViewOverlayApi14:
+ 45:47:void <init>(android.content.Context,android.view.ViewGroup,android.view.View) -> <init>
+ 66:67:void add(android.graphics.drawable.Drawable) -> add
+ 50:61:com.google.android.material.internal.ViewOverlayApi14 createFrom(android.view.View) -> createFrom
+ 71:72:void remove(android.graphics.drawable.Drawable) -> remove
+com.google.android.material.internal.ViewOverlayApi14$OverlayViewGroup -> com.google.android.material.internal.ViewOverlayApi14$OverlayViewGroup:
+ 99:105:void <clinit>() -> <clinit>
+ 115:130:void <init>(android.content.Context,android.view.ViewGroup,android.view.View,com.google.android.material.internal.ViewOverlayApi14) -> <init>
+ 140:151:void add(android.graphics.drawable.Drawable) -> add
+ 169:195:void add(android.view.View) -> add
+ 203:208:void assertNotDisposed() -> assertNotDisposed
+ 225:238:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 135:135:boolean dispatchTouchEvent(android.view.MotionEvent) -> dispatchTouchEvent
+ 211:215:void disposeIfEmpty() -> disposeIfEmpty
+ 255:261:void getOffset(int[]) -> getOffset
+ 283:297:android.view.ViewParent invalidateChildInParent(int[],android.graphics.Rect) -> invalidateChildInParent
+ 266:277:android.view.ViewParent invalidateChildInParentFast(int,int,android.graphics.Rect) -> invalidateChildInParentFast
+ 220:221:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 243:243:void onLayout(boolean,int,int,int,int) -> onLayout
+ 155:161:void remove(android.graphics.drawable.Drawable) -> remove
+ 198:200:void remove(android.view.View) -> remove
+ 165:165:boolean verifyDrawable(android.graphics.drawable.Drawable) -> verifyDrawable
+com.google.android.material.internal.ViewOverlayApi18 -> com.google.android.material.internal.ViewOverlayApi18:
+ 30:32:void <init>(android.view.View) -> <init>
+ 36:37:void add(android.graphics.drawable.Drawable) -> add
+ 41:42:void remove(android.graphics.drawable.Drawable) -> remove
+com.google.android.material.internal.ViewUtils -> com.google.android.material.internal.ViewUtils:
+ 55:55:void <init>() -> <init>
+ 322:325:void addOnGlobalLayoutListener(android.view.View,android.view.ViewTreeObserver$OnGlobalLayoutListener) -> addOnGlobalLayoutListener
+ 150:151:void doOnApplyWindowInsets(android.view.View,android.util.AttributeSet,int,int) -> doOnApplyWindowInsets
+ 163:209:void doOnApplyWindowInsets(android.view.View,android.util.AttributeSet,int,int,com.google.android.material.internal.ViewUtils$OnApplyWindowInsetsListener) -> doOnApplyWindowInsets
+ 218:236:void doOnApplyWindowInsets(android.view.View,com.google.android.material.internal.ViewUtils$OnApplyWindowInsetsListener) -> doOnApplyWindowInsets
+ 81:82:float dpToPx(android.content.Context,int) -> dpToPx
+ 291:309:android.view.ViewGroup getContentView(android.view.View) -> getContentView
+ 317:317:com.google.android.material.internal.ViewOverlayImpl getContentViewOverlay(android.view.View) -> getContentViewOverlay
+ 279:283:com.google.android.material.internal.ViewOverlayImpl getOverlay(android.view.View) -> getOverlay
+ 264:270:float getParentAbsoluteElevation(android.view.View) -> getParentAbsoluteElevation
+ 77:77:boolean isLayoutRtl(android.view.View) -> isLayoutRtl
+ 58:72:android.graphics.PorterDuff$Mode parseTintMode(int,android.graphics.PorterDuff$Mode) -> parseTintMode
+ 329:332:void removeOnGlobalLayoutListener(android.view.View,android.view.ViewTreeObserver$OnGlobalLayoutListener) -> removeOnGlobalLayoutListener
+ 336:341:void removeOnGlobalLayoutListener(android.view.ViewTreeObserver,android.view.ViewTreeObserver$OnGlobalLayoutListener) -> removeOnGlobalLayoutListener
+ 240:257:void requestApplyInsetsWhenAttached(android.view.View) -> requestApplyInsetsWhenAttached
+ 86:97:void requestFocusAndShowKeyboard(android.view.View) -> requestFocusAndShowKeyboard
+com.google.android.material.internal.ViewUtils$1 -> com.google.android.material.internal.ViewUtils$1:
+ 88:88:void <init>(android.view.View) -> <init>
+ 91:95:void run() -> run
+com.google.android.material.internal.ViewUtils$2 -> com.google.android.material.internal.ViewUtils$2:
+ 178:178:void <init>(boolean,boolean,boolean,com.google.android.material.internal.ViewUtils$OnApplyWindowInsetsListener) -> <init>
+ 185:205:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat,com.google.android.material.internal.ViewUtils$RelativePadding) -> onApplyWindowInsets
+com.google.android.material.internal.ViewUtils$3 -> com.google.android.material.internal.ViewUtils$3:
+ 228:228:void <init>(com.google.android.material.internal.ViewUtils$OnApplyWindowInsetsListener,com.google.android.material.internal.ViewUtils$RelativePadding) -> <init>
+ 231:231:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+com.google.android.material.internal.ViewUtils$4 -> com.google.android.material.internal.ViewUtils$4:
+ 246:246:void <init>() -> <init>
+ 249:251:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 254:254:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+com.google.android.material.internal.ViewUtils$RelativePadding -> com.google.android.material.internal.ViewUtils$RelativePadding:
+ 124:129:void <init>(int,int,int,int) -> <init>
+ 131:136:void <init>(com.google.android.material.internal.ViewUtils$RelativePadding) -> <init>
+ 140:141:void applyToView(android.view.View) -> applyToView
+com.google.android.material.internal.VisibilityAwareImageButton -> com.google.android.material.internal.VisibilityAwareImageButton:
+ 39:40:void <init>(android.content.Context) -> <init>
+ 43:44:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 47:49:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 64:64:int getUserSetVisibility() -> getUserSetVisibility
+ 57:61:void internalSetVisibility(int,boolean) -> internalSetVisibility
+ 53:54:void setVisibility(int) -> setVisibility
+com.google.android.material.math.MathUtils -> com.google.android.material.math.MathUtils:
+ 24:24:void <init>() -> <init>
+ 28:30:float dist(float,float,float,float) -> dist
+ 65:69:float distanceToFurthestCorner(float,float,float,float,float,float) -> distanceToFurthestCorner
+ 82:87:float floorMod(float,int) -> floorMod
+ 95:100:int floorMod(int,int) -> floorMod
+ 49:49:boolean geq(float,float,float) -> geq
+ 37:37:float lerp(float,float,float) -> lerp
+ 74:74:float max(float,float,float,float) -> max
+com.google.android.material.navigation.NavigationBarItemView -> com.google.android.material.navigation.NavigationBarItemView:
+ 68:68:void <clinit>() -> <clinit>
+ 82:137:void <init>(android.content.Context) -> <init>
+ 66:66:android.widget.ImageView access$000(com.google.android.material.navigation.NavigationBarItemView) -> access$000
+ 66:66:void access$100(com.google.android.material.navigation.NavigationBarItemView,android.view.View) -> access$100
+ 480:483:void calculateTextScaleFactors(float,float) -> calculateTextScaleFactors
+ 507:507:com.google.android.material.badge.BadgeDrawable getBadge() -> getBadge
+ 556:560:android.widget.FrameLayout getCustomParentForBadge(android.view.View) -> getCustomParentForBadge
+ 597:597:int getItemBackgroundResId() -> getItemBackgroundResId
+ 215:215:androidx.appcompat.view.menu.MenuItemImpl getItemData() -> getItemData
+ 607:607:int getItemDefaultMarginResId() -> getItemDefaultMarginResId
+ 187:187:int getItemPosition() -> getItemPosition
+ 358:367:int getItemVisiblePosition() -> getItemVisiblePosition
+ 578:587:int getSuggestedIconHeight() -> getSuggestedIconHeight
+ 564:574:int getSuggestedIconWidth() -> getSuggestedIconWidth
+ 150:153:int getSuggestedMinimumHeight() -> getSuggestedMinimumHeight
+ 141:145:int getSuggestedMinimumWidth() -> getSuggestedMinimumWidth
+ 515:515:boolean hasBadge() -> hasBadge
+ 159:180:void initialize(androidx.appcompat.view.menu.MenuItemImpl,int) -> initialize
+ 407:411:int[] onCreateDrawableState(int) -> onCreateDrawableState
+ 326:349:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 439:439:boolean prefersCondensedTitle() -> prefersCondensedTitle
+ 511:512:void removeBadge() -> removeBadge
+ 499:503:void setBadge(com.google.android.material.badge.BadgeDrawable) -> setBadge
+ 238:239:void setCheckable(boolean) -> setCheckable
+ 243:322:void setChecked(boolean) -> setChecked
+ 391:402:void setEnabled(boolean) -> setEnabled
+ 419:435:void setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 456:460:void setIconSize(int) -> setIconSize
+ 448:453:void setIconTintList(android.content.res.ColorStateList) -> setIconTintList
+ 486:489:void setItemBackground(int) -> setItemBackground
+ 492:496:void setItemBackground(android.graphics.drawable.Drawable) -> setItemBackground
+ 183:184:void setItemPosition(int) -> setItemPosition
+ 202:210:void setLabelVisibilityMode(int) -> setLabelVisibilityMode
+ 191:199:void setShifting(boolean) -> setShifting
+ 415:415:void setShortcut(boolean,char) -> setShortcut
+ 468:470:void setTextAppearanceActive(int) -> setTextAppearanceActive
+ 463:465:void setTextAppearanceInactive(int) -> setTextAppearanceInactive
+ 473:477:void setTextColor(android.content.res.ColorStateList) -> setTextColor
+ 220:234:void setTitle(java.lang.CharSequence) -> setTitle
+ 371:375:void setViewLayoutParams(android.view.View,int,int) -> setViewLayoutParams
+ 379:382:void setViewScaleValues(android.view.View,float,float,int) -> setViewScaleValues
+ 444:444:boolean showsIcon() -> showsIcon
+ 527:538:void tryAttachBadgeToAnchor(android.view.View) -> tryAttachBadgeToAnchor
+ 541:552:void tryRemoveBadgeFromAnchor(android.view.View) -> tryRemoveBadgeFromAnchor
+ 519:524:void tryUpdateBadgeBounds(android.view.View) -> tryUpdateBadgeBounds
+ 385:387:void updateViewPaddingBottom(android.view.View,int) -> updateViewPaddingBottom
+com.google.android.material.navigation.NavigationBarItemView$1 -> com.google.android.material.navigation.NavigationBarItemView$1:
+ 119:119:void <init>(com.google.android.material.navigation.NavigationBarItemView) -> <init>
+ 131:134:void onLayoutChange(android.view.View,int,int,int,int,int,int,int,int) -> onLayoutChange
+com.google.android.material.navigation.NavigationBarMenu -> com.google.android.material.navigation.NavigationBarMenu:
+ 44:47:void <init>(android.content.Context,java.lang.Class,int) -> <init>
+ 65:82:android.view.MenuItem addInternal(int,int,int,java.lang.CharSequence) -> addInternal
+ 57:58:android.view.SubMenu addSubMenu(int,int,int,java.lang.CharSequence) -> addSubMenu
+ 51:51:int getMaxItemCount() -> getMaxItemCount
+com.google.android.material.navigation.NavigationBarMenuView -> com.google.android.material.navigation.NavigationBarMenuView:
+ 63:64:void <clinit>() -> <clinit>
+ 68:117:void <init>(android.content.Context) -> <init>
+ 59:59:com.google.android.material.navigation.NavigationBarPresenter access$000(com.google.android.material.navigation.NavigationBarMenuView) -> access$000
+ 59:59:androidx.appcompat.view.menu.MenuBuilder access$100(com.google.android.material.navigation.NavigationBarMenuView) -> access$100
+ 397:451:void buildMenuView() -> buildMenuView
+ 372:387:android.content.res.ColorStateList createDefaultColorStateList(int) -> createDefaultColorStateList
+ 603:611:com.google.android.material.navigation.NavigationBarItemView findItemView(int) -> findItemView
+ 536:536:com.google.android.material.badge.BadgeDrawable getBadge(int) -> getBadge
+ 522:522:android.util.SparseArray getBadgeDrawables() -> getBadgeDrawables
+ 162:162:android.content.res.ColorStateList getIconTintList() -> getIconTintList
+ 315:320:android.graphics.drawable.Drawable getItemBackground() -> getItemBackground
+ 291:291:int getItemBackgroundRes() -> getItemBackgroundRes
+ 184:184:int getItemIconSize() -> getItemIconSize
+ 266:266:int getItemTextAppearanceActive() -> getItemTextAppearanceActive
+ 237:237:int getItemTextAppearanceInactive() -> getItemTextAppearanceInactive
+ 208:208:android.content.res.ColorStateList getItemTextColor() -> getItemTextColor
+ 347:347:int getLabelVisibilityMode() -> getLabelVisibilityMode
+ 624:624:androidx.appcompat.view.menu.MenuBuilder getMenu() -> getMenu
+ 490:494:com.google.android.material.navigation.NavigationBarItemView getNewItem() -> getNewItem
+ 547:558:com.google.android.material.badge.BadgeDrawable getOrCreateBadge(int) -> getOrCreateBadge
+ 498:498:int getSelectedItemId() -> getSelectedItemId
+ 619:619:int getSelectedItemPosition() -> getSelectedItemPosition
+ 126:126:int getWindowAnimations() -> getWindowAnimations
+ 121:122:void initialize(androidx.appcompat.view.menu.MenuBuilder) -> initialize
+ 503:503:boolean isShifting(int,int) -> isShifting
+ 628:628:boolean isValidId(int) -> isValidId
+ 131:139:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 562:571:void removeBadge(int) -> removeBadge
+ 587:599:void removeUnusedBadges() -> removeUnusedBadges
+ 526:532:void setBadgeDrawables(android.util.SparseArray) -> setBadgeDrawables
+ 574:584:void setBadgeIfNeeded(com.google.android.material.navigation.NavigationBarItemView) -> setBadgeIfNeeded
+ 147:153:void setIconTintList(android.content.res.ColorStateList) -> setIconTintList
+ 300:306:void setItemBackground(android.graphics.drawable.Drawable) -> setItemBackground
+ 275:281:void setItemBackgroundRes(int) -> setItemBackgroundRes
+ 173:179:void setItemIconSize(int) -> setItemIconSize
+ 356:368:void setItemOnTouchListener(int,android.view.View$OnTouchListener) -> setItemOnTouchListener
+ 246:257:void setItemTextAppearanceActive(int) -> setItemTextAppearanceActive
+ 217:228:void setItemTextAppearanceInactive(int) -> setItemTextAppearanceInactive
+ 193:199:void setItemTextColor(android.content.res.ColorStateList) -> setItemTextColor
+ 338:339:void setLabelVisibilityMode(int) -> setLabelVisibilityMode
+ 392:393:void setPresenter(com.google.android.material.navigation.NavigationBarPresenter) -> setPresenter
+ 509:519:void tryRestoreSelectedItemId(int) -> tryRestoreSelectedItemId
+ 454:487:void updateMenuView() -> updateMenuView
+ 632:635:void validateMenuItemId(int) -> validateMenuItemId
+com.google.android.material.navigation.NavigationBarMenuView$1 -> com.google.android.material.navigation.NavigationBarMenuView$1:
+ 105:105:void <init>(com.google.android.material.navigation.NavigationBarMenuView) -> <init>
+ 108:113:void onClick(android.view.View) -> onClick
+com.google.android.material.navigation.NavigationBarPresenter -> com.google.android.material.navigation.NavigationBarPresenter:
+ 44:47:void <init>() -> <init>
+ 101:101:boolean collapseItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> collapseItemActionView
+ 96:96:boolean expandItemActionView(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.view.menu.MenuItemImpl) -> expandItemActionView
+ 91:91:boolean flagActionItems() -> flagActionItems
+ 110:110:int getId() -> getId
+ 63:63:androidx.appcompat.view.menu.MenuView getMenuView(android.view.ViewGroup) -> getMenuView
+ 56:58:void initForMenu(android.content.Context,androidx.appcompat.view.menu.MenuBuilder) -> initForMenu
+ 87:87:void onCloseMenu(androidx.appcompat.view.menu.MenuBuilder,boolean) -> onCloseMenu
+ 125:132:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 116:120:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 83:83:boolean onSubMenuSelected(androidx.appcompat.view.menu.SubMenuBuilder) -> onSubMenuSelected
+ 79:79:void setCallback(androidx.appcompat.view.menu.MenuPresenter$Callback) -> setCallback
+ 105:106:void setId(int) -> setId
+ 51:52:void setMenuView(com.google.android.material.navigation.NavigationBarMenuView) -> setMenuView
+ 135:136:void setUpdateSuspended(boolean) -> setUpdateSuspended
+ 68:76:void updateMenuView(boolean) -> updateMenuView
+com.google.android.material.navigation.NavigationBarPresenter$SavedState -> com.google.android.material.navigation.NavigationBarPresenter$SavedState:
+ 160:160:void <clinit>() -> <clinit>
+ 142:142:void <init>() -> <init>
+ 144:147:void <init>(android.os.Parcel) -> <init>
+ 151:151:int describeContents() -> describeContents
+ 156:158:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.navigation.NavigationBarPresenter$SavedState$1 -> com.google.android.material.navigation.NavigationBarPresenter$SavedState$1:
+ 161:161:void <init>() -> <init>
+ 161:161:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 165:165:com.google.android.material.navigation.NavigationBarPresenter$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 161:161:java.lang.Object[] newArray(int) -> newArray
+ 171:171:com.google.android.material.navigation.NavigationBarPresenter$SavedState[] newArray(int) -> newArray
+com.google.android.material.navigation.NavigationBarView -> com.google.android.material.navigation.NavigationBarView:
+ 129:249:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 82:82:com.google.android.material.navigation.NavigationBarView$OnItemReselectedListener access$000(com.google.android.material.navigation.NavigationBarView) -> access$000
+ 82:82:com.google.android.material.navigation.NavigationBarView$OnItemSelectedListener access$100(com.google.android.material.navigation.NavigationBarView) -> access$100
+ 252:273:void applyWindowInsets() -> applyWindowInsets
+ 277:284:com.google.android.material.shape.MaterialShapeDrawable createMaterialShapeDrawableBackground(android.content.Context) -> createMaterialShapeDrawableBackground
+ 656:656:com.google.android.material.badge.BadgeDrawable getBadge(int) -> getBadge
+ 476:476:android.graphics.drawable.Drawable getItemBackground() -> getItemBackground
+ 451:451:int getItemBackgroundResource() -> getItemBackgroundResource
+ 414:414:int getItemIconSize() -> getItemIconSize
+ 369:369:android.content.res.ColorStateList getItemIconTintList() -> getItemIconTintList
+ 502:502:android.content.res.ColorStateList getItemRippleColor() -> getItemRippleColor
+ 635:635:int getItemTextAppearanceActive() -> getItemTextAppearanceActive
+ 616:616:int getItemTextAppearanceInactive() -> getItemTextAppearanceInactive
+ 427:427:android.content.res.ColorStateList getItemTextColor() -> getItemTextColor
+ 597:597:int getLabelVisibilityMode() -> getLabelVisibilityMode
+ 333:333:android.view.Menu getMenu() -> getMenu
+ 721:724:android.view.MenuInflater getMenuInflater() -> getMenuInflater
+ 344:344:androidx.appcompat.view.menu.MenuView getMenuView() -> getMenuView
+ 669:669:com.google.android.material.badge.BadgeDrawable getOrCreateBadge(int) -> getOrCreateBadge
+ 729:729:com.google.android.material.navigation.NavigationBarPresenter getPresenter() -> getPresenter
+ 550:550:int getSelectedItemId() -> getSelectedItemId
+ 355:359:void inflateMenu(int) -> inflateMenu
+ 289:292:void onAttachedToWindow() -> onAttachedToWindow
+ 744:751:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 735:739:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 680:681:void removeBadge(int) -> removeBadge
+ 301:305:void setElevation(float) -> setElevation
+ 489:491:void setItemBackground(android.graphics.drawable.Drawable) -> setItemBackground
+ 464:466:void setItemBackgroundResource(int) -> setItemBackgroundResource
+ 391:392:void setItemIconSize(int) -> setItemIconSize
+ 403:404:void setItemIconSizeRes(int) -> setItemIconSizeRes
+ 379:380:void setItemIconTintList(android.content.res.ColorStateList) -> setItemIconTintList
+ 643:644:void setItemOnTouchListener(int,android.view.View$OnTouchListener) -> setItemOnTouchListener
+ 514:541:void setItemRippleColor(android.content.res.ColorStateList) -> setItemRippleColor
+ 625:626:void setItemTextAppearanceActive(int) -> setItemTextAppearanceActive
+ 606:607:void setItemTextAppearanceInactive(int) -> setItemTextAppearanceInactive
+ 438:439:void setItemTextColor(android.content.res.ColorStateList) -> setItemTextColor
+ 583:587:void setLabelVisibilityMode(int) -> setLabelVisibilityMode
+ 327:328:void setOnItemReselectedListener(com.google.android.material.navigation.NavigationBarView$OnItemReselectedListener) -> setOnItemReselectedListener
+ 316:317:void setOnItemSelectedListener(com.google.android.material.navigation.NavigationBarView$OnItemSelectedListener) -> setOnItemSelectedListener
+ 560:566:void setSelectedItemId(int) -> setSelectedItemId
+com.google.android.material.navigation.NavigationBarView$1 -> com.google.android.material.navigation.NavigationBarView$1:
+ 234:234:void <init>(com.google.android.material.navigation.NavigationBarView) -> <init>
+ 237:241:boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onMenuItemSelected
+ 245:245:void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder) -> onMenuModeChange
+com.google.android.material.navigation.NavigationBarView$2 -> com.google.android.material.navigation.NavigationBarView$2:
+ 254:254:void <init>(com.google.android.material.navigation.NavigationBarView) -> <init>
+ 262:270:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat,com.google.android.material.internal.ViewUtils$RelativePadding) -> onApplyWindowInsets
+com.google.android.material.navigation.NavigationBarView$SavedState -> com.google.android.material.navigation.NavigationBarView$SavedState:
+ 778:778:void <clinit>() -> <clinit>
+ 757:758:void <init>(android.os.Parcelable) -> <init>
+ 761:766:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 775:776:void readFromParcel(android.os.Parcel,java.lang.ClassLoader) -> readFromParcel
+ 770:772:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.navigation.NavigationBarView$SavedState$1 -> com.google.android.material.navigation.NavigationBarView$SavedState$1:
+ 779:779:void <init>() -> <init>
+ 779:779:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 779:779:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 783:783:com.google.android.material.navigation.NavigationBarView$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 789:789:com.google.android.material.navigation.NavigationBarView$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 779:779:java.lang.Object[] newArray(int) -> newArray
+ 795:795:com.google.android.material.navigation.NavigationBarView$SavedState[] newArray(int) -> newArray
+com.google.android.material.navigation.NavigationView -> com.google.android.material.navigation.NavigationView:
+ 100:103:void <clinit>() -> <clinit>
+ 118:119:void <init>(android.content.Context) -> <init>
+ 122:123:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 107:247:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 98:98:int[] access$000(com.google.android.material.navigation.NavigationView) -> access$000
+ 98:98:com.google.android.material.internal.NavigationMenuPresenter access$100(com.google.android.material.navigation.NavigationView) -> access$100
+ 396:397:void addHeaderView(android.view.View) -> addHeaderView
+ 643:658:android.content.res.ColorStateList createDefaultColorStateList(int) -> createDefaultColorStateList
+ 285:301:android.graphics.drawable.Drawable createDefaultItemBackground(androidx.appcompat.widget.TintTypedArray) -> createDefaultItemBackground
+ 594:594:android.view.MenuItem getCheckedItem() -> getCheckedItem
+ 414:414:int getHeaderCount() -> getHeaderCount
+ 425:425:android.view.View getHeaderView(int) -> getHeaderView
+ 478:478:android.graphics.drawable.Drawable getItemBackground() -> getItemBackground
+ 510:510:int getItemHorizontalPadding() -> getItemHorizontalPadding
+ 541:541:int getItemIconPadding() -> getItemIconPadding
+ 436:436:android.content.res.ColorStateList getItemIconTintList() -> getItemIconTintList
+ 631:631:int getItemMaxLines() -> getItemMaxLines
+ 457:457:android.content.res.ColorStateList getItemTextColor() -> getItemTextColor
+ 377:377:android.view.Menu getMenu() -> getMenu
+ 635:638:android.view.MenuInflater getMenuInflater() -> getMenuInflater
+ 258:259:boolean hasShapeAppearance(androidx.appcompat.widget.TintTypedArray) -> hasShapeAppearance
+ 387:387:android.view.View inflateHeaderView(int) -> inflateHeaderView
+ 368:372:void inflateMenu(int) -> inflateMenu
+ 264:267:void onAttachedToWindow() -> onAttachedToWindow
+ 664:670:void onDetachedFromWindow() -> onDetachedFromWindow
+ 357:358:void onInsetsChanged(androidx.core.view.WindowInsetsCompat) -> onInsetsChanged
+ 336:351:void onMeasure(int,int) -> onMeasure
+ 315:322:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 306:310:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 405:406:void removeHeaderView(android.view.View) -> removeHeaderView
+ 570:574:void setCheckedItem(int) -> setCheckedItem
+ 582:589:void setCheckedItem(android.view.MenuItem) -> setCheckedItem
+ 271:275:void setElevation(float) -> setElevation
+ 499:500:void setItemBackground(android.graphics.drawable.Drawable) -> setItemBackground
+ 489:490:void setItemBackgroundResource(int) -> setItemBackgroundResource
+ 520:521:void setItemHorizontalPadding(int) -> setItemHorizontalPadding
+ 530:531:void setItemHorizontalPaddingResource(int) -> setItemHorizontalPaddingResource
+ 551:552:void setItemIconPadding(int) -> setItemIconPadding
+ 561:562:void setItemIconPaddingResource(int) -> setItemIconPaddingResource
+ 613:614:void setItemIconSize(int) -> setItemIconSize
+ 446:447:void setItemIconTintList(android.content.res.ColorStateList) -> setItemIconTintList
+ 622:623:void setItemMaxLines(int) -> setItemMaxLines
+ 603:604:void setItemTextAppearance(int) -> setItemTextAppearance
+ 467:468:void setItemTextColor(android.content.res.ColorStateList) -> setItemTextColor
+ 331:332:void setNavigationItemSelectedListener(com.google.android.material.navigation.NavigationView$OnNavigationItemSelectedListener) -> setNavigationItemSelectedListener
+ 251:255:void setOverScrollMode(int) -> setOverScrollMode
+ 678:701:void setupInsetScrimsListener() -> setupInsetScrimsListener
+com.google.android.material.navigation.NavigationView$1 -> com.google.android.material.navigation.NavigationView$1:
+ 214:214:void <init>(com.google.android.material.navigation.NavigationView) -> <init>
+ 217:217:boolean onMenuItemSelected(androidx.appcompat.view.menu.MenuBuilder,android.view.MenuItem) -> onMenuItemSelected
+ 221:221:void onMenuModeChange(androidx.appcompat.view.menu.MenuBuilder) -> onMenuModeChange
+com.google.android.material.navigation.NavigationView$2 -> com.google.android.material.navigation.NavigationView$2:
+ 678:678:void <init>(com.google.android.material.navigation.NavigationView) -> <init>
+ 681:695:void onGlobalLayout() -> onGlobalLayout
+com.google.android.material.navigation.NavigationView$SavedState -> com.google.android.material.navigation.NavigationView$SavedState:
+ 736:736:void <clinit>() -> <clinit>
+ 722:724:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 727:728:void <init>(android.os.Parcelable) -> <init>
+ 732:734:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.navigation.NavigationView$SavedState$1 -> com.google.android.material.navigation.NavigationView$SavedState$1:
+ 737:737:void <init>() -> <init>
+ 737:737:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 737:737:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 741:741:com.google.android.material.navigation.NavigationView$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 747:747:com.google.android.material.navigation.NavigationView$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 737:737:java.lang.Object[] newArray(int) -> newArray
+ 753:753:com.google.android.material.navigation.NavigationView$SavedState[] newArray(int) -> newArray
+com.google.android.material.navigationrail.NavigationRailItemView -> com.google.android.material.navigationrail.NavigationRailItemView:
+ 36:37:void <init>(android.content.Context) -> <init>
+ 64:64:int getItemDefaultMarginResId() -> getItemDefaultMarginResId
+ 58:58:int getItemLayoutResId() -> getItemLayoutResId
+ 41:53:void onMeasure(int,int) -> onMeasure
+com.google.android.material.navigationrail.NavigationRailMenuView -> com.google.android.material.navigationrail.NavigationRailMenuView:
+ 39:47:void <init>(android.content.Context) -> <init>
+ 86:86:com.google.android.material.navigation.NavigationBarItemView createNavigationBarItemView(android.content.Context) -> createNavigationBarItemView
+ 152:152:int getMenuGravity() -> getMenuGravity
+ 156:156:boolean isTopGravity() -> isTopGravity
+ 90:92:int makeSharedHeightSpec(int,int,int) -> makeSharedHeightSpec
+ 136:141:int measureChildHeight(android.view.View,int,int) -> measureChildHeight
+ 112:132:int measureSharedChildHeights(int,int,int,android.view.View) -> measureSharedChildHeights
+ 96:107:int measureShiftingChildHeights(int,int,int) -> measureShiftingChildHeights
+ 70:81:void onLayout(boolean,int,int,int,int) -> onLayout
+ 51:66:void onMeasure(int,int) -> onMeasure
+ 145:149:void setMenuGravity(int) -> setMenuGravity
+com.google.android.material.navigationrail.NavigationRailView -> com.google.android.material.navigationrail.NavigationRailView:
+ 102:103:void <init>(android.content.Context) -> <init>
+ 106:107:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 111:112:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 116:137:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 187:188:void addHeaderView(int) -> addHeaderView
+ 200:207:void addHeaderView(android.view.View) -> addHeaderView
+ 92:92:com.google.android.material.navigation.NavigationBarMenuView createNavigationBarMenuView(android.content.Context) -> createNavigationBarMenuView
+ 260:260:com.google.android.material.navigationrail.NavigationRailMenuView createNavigationBarMenuView(android.content.Context) -> createNavigationBarMenuView
+ 219:219:android.view.View getHeaderView() -> getHeaderView
+ 248:248:int getMaxItemCount() -> getMaxItemCount
+ 243:243:int getMenuGravity() -> getMenuGravity
+ 252:252:com.google.android.material.navigationrail.NavigationRailMenuView getNavigationRailMenuView() -> getNavigationRailMenuView
+ 276:276:boolean isHeaderViewVisible() -> isHeaderViewVisible
+ 264:272:int makeMinWidthSpec(int) -> makeMinWidthSpec
+ 153:174:void onLayout(boolean,int,int,int,int) -> onLayout
+ 141:149:void onMeasure(int,int) -> onMeasure
+ 230:234:void removeHeaderView() -> removeHeaderView
+ 238:239:void setMenuGravity(int) -> setMenuGravity
+com.google.android.material.progressindicator.AnimatorDurationScaleProvider -> com.google.android.material.progressindicator.AnimatorDurationScaleProvider:
+ 38:38:void <clinit>() -> <clinit>
+ 35:35:void <init>() -> <init>
+ 42:43:float getSystemAnimatorDurationScale(android.content.ContentResolver) -> getSystemAnimatorDurationScale
+ 60:61:void setDefaultSystemAnimatorDurationScale(float) -> setDefaultSystemAnimatorDurationScale
+com.google.android.material.progressindicator.BaseProgressIndicator -> com.google.android.material.progressindicator.BaseProgressIndicator:
+ 80:80:void <clinit>() -> <clinit>
+ 120:825:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 70:70:void access$000(com.google.android.material.progressindicator.BaseProgressIndicator) -> access$000
+ 70:70:void access$100(com.google.android.material.progressindicator.BaseProgressIndicator) -> access$100
+ 70:70:long access$202(com.google.android.material.progressindicator.BaseProgressIndicator,long) -> access$202
+ 70:70:int access$300(com.google.android.material.progressindicator.BaseProgressIndicator) -> access$300
+ 70:70:boolean access$400(com.google.android.material.progressindicator.BaseProgressIndicator) -> access$400
+ 70:70:boolean access$500(com.google.android.material.progressindicator.BaseProgressIndicator) -> access$500
+ 70:70:int access$600(com.google.android.material.progressindicator.BaseProgressIndicator) -> access$600
+ 276:282:void applyNewVisibility(boolean) -> applyNewVisibility
+ 356:356:android.graphics.drawable.Drawable getCurrentDrawable() -> getCurrentDrawable
+ 362:367:com.google.android.material.progressindicator.DrawingDelegate getCurrentDrawingDelegate() -> getCurrentDrawingDelegate
+ 672:672:int getHideAnimationBehavior() -> getHideAnimationBehavior
+ 70:70:android.graphics.drawable.Drawable getIndeterminateDrawable() -> getIndeterminateDrawable
+ 426:426:com.google.android.material.progressindicator.IndeterminateDrawable getIndeterminateDrawable() -> getIndeterminateDrawable
+ 562:562:int[] getIndicatorColor() -> getIndicatorColor
+ 70:70:android.graphics.drawable.Drawable getProgressDrawable() -> getProgressDrawable
+ 420:420:com.google.android.material.progressindicator.DeterminateDrawable getProgressDrawable() -> getProgressDrawable
+ 647:647:int getShowAnimationBehavior() -> getShowAnimationBehavior
+ 594:594:int getTrackColor() -> getTrackColor
+ 621:621:int getTrackCornerRadius() -> getTrackCornerRadius
+ 535:535:int getTrackThickness() -> getTrackThickness
+ 225:239:void hide() -> hide
+ 249:255:void internalHide() -> internalHide
+ 213:218:void internalShow() -> internalShow
+ 344:348:void invalidate() -> invalidate
+ 463:476:boolean isEffectivelyVisible() -> isEffectivelyVisible
+ 484:485:boolean isNoLongerNeedToBeVisible() -> isNoLongerNeedToBeVisible
+ 286:292:void onAttachedToWindow() -> onAttachedToWindow
+ 297:302:void onDetachedFromWindow() -> onDetachedFromWindow
+ 307:322:void onDraw(android.graphics.Canvas) -> onDraw
+ 325:340:void onMeasure(int,int) -> onMeasure
+ 259:261:void onVisibilityChanged(android.view.View,int) -> onVisibilityChanged
+ 265:267:void onWindowVisibilityChanged(int) -> onWindowVisibilityChanged
+ 163:179:void registerAnimationCallbacks() -> registerAnimationCallbacks
+ 763:770:void setAnimatorDurationScaleProvider(com.google.android.material.progressindicator.AnimatorDurationScaleProvider) -> setAnimatorDurationScaleProvider
+ 684:686:void setHideAnimationBehavior(int) -> setHideAnimationBehavior
+ 497:524:void setIndeterminate(boolean) -> setIndeterminate
+ 404:415:void setIndeterminateDrawable(android.graphics.drawable.Drawable) -> setIndeterminateDrawable
+ 574:583:void setIndicatorColor(int[]) -> setIndicatorColor
+ 698:703:void setProgress(int) -> setProgress
+ 716:742:void setProgressCompat(int,boolean) -> setProgressCompat
+ 379:394:void setProgressDrawable(android.graphics.drawable.Drawable) -> setProgressDrawable
+ 659:661:void setShowAnimationBehavior(int) -> setShowAnimationBehavior
+ 606:610:void setTrackColor(int) -> setTrackColor
+ 633:636:void setTrackCornerRadius(int) -> setTrackCornerRadius
+ 547:551:void setTrackThickness(int) -> setTrackThickness
+ 750:756:void setVisibilityAfterHide(int) -> setVisibilityAfterHide
+ 198:204:void show() -> show
+ 182:189:void unregisterAnimationCallbacks() -> unregisterAnimationCallbacks
+ 434:436:boolean visibleToUser() -> visibleToUser
+com.google.android.material.progressindicator.BaseProgressIndicator$1 -> com.google.android.material.progressindicator.BaseProgressIndicator$1:
+ 780:780:void <init>(com.google.android.material.progressindicator.BaseProgressIndicator) -> <init>
+ 783:784:void run() -> run
+com.google.android.material.progressindicator.BaseProgressIndicator$2 -> com.google.android.material.progressindicator.BaseProgressIndicator$2:
+ 793:793:void <init>(com.google.android.material.progressindicator.BaseProgressIndicator) -> <init>
+ 796:798:void run() -> run
+com.google.android.material.progressindicator.BaseProgressIndicator$3 -> com.google.android.material.progressindicator.BaseProgressIndicator$3:
+ 808:808:void <init>(com.google.android.material.progressindicator.BaseProgressIndicator) -> <init>
+ 812:817:void onAnimationEnd(android.graphics.drawable.Drawable) -> onAnimationEnd
+com.google.android.material.progressindicator.BaseProgressIndicator$4 -> com.google.android.material.progressindicator.BaseProgressIndicator$4:
+ 826:826:void <init>(com.google.android.material.progressindicator.BaseProgressIndicator) -> <init>
+ 829:835:void onAnimationEnd(android.graphics.drawable.Drawable) -> onAnimationEnd
+com.google.android.material.progressindicator.BaseProgressIndicatorSpec -> com.google.android.material.progressindicator.BaseProgressIndicatorSpec:
+ 57:111:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 178:178:boolean isHideAnimationEnabled() -> isHideAnimationEnabled
+ 174:174:boolean isShowAnimationEnabled() -> isShowAnimationEnabled
+ 122:146:void loadIndicatorColors(android.content.Context,android.content.res.TypedArray) -> loadIndicatorColors
+ 157:171:void loadTrackColor(android.content.Context,android.content.res.TypedArray) -> loadTrackColor
+com.google.android.material.progressindicator.CircularDrawingDelegate -> com.google.android.material.progressindicator.CircularDrawingDelegate:
+ 33:41:void <init>(com.google.android.material.progressindicator.CircularProgressIndicatorSpec) -> <init>
+ 66:99:void adjustCanvas(android.graphics.Canvas,float) -> adjustCanvas
+ 203:219:void drawRoundedEnd(android.graphics.Canvas,android.graphics.Paint,float,float,float,boolean,android.graphics.RectF) -> drawRoundedEnd
+ 120:168:void fillIndicator(android.graphics.Canvas,android.graphics.Paint,float,float,int) -> fillIndicator
+ 178:189:void fillTrack(android.graphics.Canvas,android.graphics.Paint) -> fillTrack
+ 50:50:int getPreferredHeight() -> getPreferredHeight
+ 45:45:int getPreferredWidth() -> getPreferredWidth
+ 192:192:int getSize() -> getSize
+com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate -> com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate:
+ 44:250:void <clinit>() -> <clinit>
+ 61:72:void <init>(com.google.android.material.progressindicator.CircularProgressIndicatorSpec) -> <init>
+ 34:34:int access$000(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate) -> access$000
+ 34:34:int access$002(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate,int) -> access$002
+ 34:34:com.google.android.material.progressindicator.BaseProgressIndicatorSpec access$100(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate) -> access$100
+ 34:34:float access$200(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate) -> access$200
+ 34:34:float access$300(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate) -> access$300
+ 34:34:void access$400(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate,float) -> access$400
+ 120:123:void cancelAnimatorImmediately() -> cancelAnimatorImmediately
+ 214:214:float getAnimationFraction() -> getAnimationFraction
+ 227:227:float getCompleteEndFraction() -> getCompleteEndFraction
+ 141:142:void invalidateSpecValues() -> invalidateSpecValues
+ 85:116:void maybeInitializeAnimators() -> maybeInitializeAnimators
+ 182:201:void maybeUpdateSegmentColors(int) -> maybeUpdateSegmentColors
+ 146:147:void registerAnimatorsCompleteCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> registerAnimatorsCompleteCallback
+ 128:137:void requestCancelAnimatorAfterCurrentCycle() -> requestCancelAnimatorAfterCurrentCycle
+ 205:209:void resetPropertiesForNewStart() -> resetPropertiesForNewStart
+ 219:224:void setAnimationFraction(float) -> setAnimationFraction
+ 231:232:void setCompleteEndFraction(float) -> setCompleteEndFraction
+ 78:82:void startAnimator() -> startAnimator
+ 151:152:void unregisterAnimatorsCompleteCallback() -> unregisterAnimatorsCompleteCallback
+ 159:178:void updateSegmentPositions(int) -> updateSegmentPositions
+com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate$1 -> com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate$1:
+ 92:92:void <init>(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate) -> <init>
+ 95:98:void onAnimationRepeat(android.animation.Animator) -> onAnimationRepeat
+com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate$2 -> com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate$2:
+ 107:107:void <init>(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate) -> <init>
+ 110:113:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate$3 -> com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate$3:
+ 237:237:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 237:237:java.lang.Object get(java.lang.Object) -> get
+ 240:240:java.lang.Float get(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate) -> get
+ 237:237:void set(java.lang.Object,java.lang.Object) -> set
+ 245:246:void set(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate,java.lang.Float) -> set
+com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate$4 -> com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate$4:
+ 252:252:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 252:252:java.lang.Object get(java.lang.Object) -> get
+ 255:255:java.lang.Float get(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate) -> get
+ 252:252:void set(java.lang.Object,java.lang.Object) -> set
+ 260:261:void set(com.google.android.material.progressindicator.CircularIndeterminateAnimatorDelegate,java.lang.Float) -> set
+com.google.android.material.progressindicator.CircularProgressIndicator -> com.google.android.material.progressindicator.CircularProgressIndicator:
+ 55:55:void <clinit>() -> <clinit>
+ 64:65:void <init>(android.content.Context) -> <init>
+ 68:69:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 73:76:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 53:53:com.google.android.material.progressindicator.BaseProgressIndicatorSpec createSpec(android.content.Context,android.util.AttributeSet) -> createSpec
+ 82:82:com.google.android.material.progressindicator.CircularProgressIndicatorSpec createSpec(android.content.Context,android.util.AttributeSet) -> createSpec
+ 174:174:int getIndicatorDirection() -> getIndicatorDirection
+ 118:118:int getIndicatorInset() -> getIndicatorInset
+ 145:145:int getIndicatorSize() -> getIndicatorSize
+ 88:90:void initializeDrawables() -> initializeDrawables
+ 186:188:void setIndicatorDirection(int) -> setIndicatorDirection
+ 130:134:void setIndicatorInset(int) -> setIndicatorInset
+ 157:163:void setIndicatorSize(int) -> setIndicatorSize
+ 105:107:void setTrackThickness(int) -> setTrackThickness
+com.google.android.material.progressindicator.CircularProgressIndicatorSpec -> com.google.android.material.progressindicator.CircularProgressIndicatorSpec:
+ 63:64:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 68:69:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 76:106:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 109:109:void validateSpec() -> validateSpec
+com.google.android.material.progressindicator.DeterminateDrawable -> com.google.android.material.progressindicator.DeterminateDrawable:
+ 221:221:void <clinit>() -> <clinit>
+ 45:64:void <init>(android.content.Context,com.google.android.material.progressindicator.BaseProgressIndicatorSpec,com.google.android.material.progressindicator.DrawingDelegate) -> <init>
+ 29:29:float access$000(com.google.android.material.progressindicator.DeterminateDrawable) -> access$000
+ 29:29:void access$100(com.google.android.material.progressindicator.DeterminateDrawable,float) -> access$100
+ 29:29:void clearAnimationCallbacks() -> clearAnimationCallbacks
+ 89:89:com.google.android.material.progressindicator.DeterminateDrawable createCircularDrawable(android.content.Context,com.google.android.material.progressindicator.CircularProgressIndicatorSpec) -> createCircularDrawable
+ 76:76:com.google.android.material.progressindicator.DeterminateDrawable createLinearDrawable(android.content.Context,com.google.android.material.progressindicator.LinearProgressIndicatorSpec) -> createLinearDrawable
+ 179:196:void draw(android.graphics.Canvas) -> draw
+ 29:29:int getAlpha() -> getAlpha
+ 211:211:com.google.android.material.progressindicator.DrawingDelegate getDrawingDelegate() -> getDrawingDelegate
+ 201:201:float getIndicatorFraction() -> getIndicatorFraction
+ 161:161:int getIntrinsicHeight() -> getIntrinsicHeight
+ 156:156:int getIntrinsicWidth() -> getIntrinsicWidth
+ 29:29:int getOpacity() -> getOpacity
+ 29:29:boolean hideNow() -> hideNow
+ 29:29:boolean isHiding() -> isHiding
+ 29:29:boolean isRunning() -> isRunning
+ 29:29:boolean isShowing() -> isShowing
+ 132:134:void jumpToCurrentState() -> jumpToCurrentState
+ 144:151:boolean onLevelChange(int) -> onLevelChange
+ 29:29:void registerAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> registerAnimationCallback
+ 29:29:void setAlpha(int) -> setAlpha
+ 29:29:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 215:217:void setDrawingDelegate(com.google.android.material.progressindicator.DrawingDelegate) -> setDrawingDelegate
+ 205:207:void setIndicatorFraction(float) -> setIndicatorFraction
+ 172:173:void setLevelByFraction(float) -> setLevelByFraction
+ 29:29:boolean setVisible(boolean,boolean) -> setVisible
+ 29:29:boolean setVisible(boolean,boolean,boolean) -> setVisible
+ 113:124:boolean setVisibleInternal(boolean,boolean,boolean) -> setVisibleInternal
+ 29:29:void start() -> start
+ 29:29:void stop() -> stop
+ 29:29:boolean unregisterAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> unregisterAnimationCallback
+com.google.android.material.progressindicator.DeterminateDrawable$1 -> com.google.android.material.progressindicator.DeterminateDrawable$1:
+ 222:222:void <init>(java.lang.String) -> <init>
+ 222:222:float getValue(java.lang.Object) -> getValue
+ 225:225:float getValue(com.google.android.material.progressindicator.DeterminateDrawable) -> getValue
+ 222:222:void setValue(java.lang.Object,float) -> setValue
+ 230:231:void setValue(com.google.android.material.progressindicator.DeterminateDrawable,float) -> setValue
+com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange -> com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange:
+ 423:423:void <clinit>() -> <clinit>
+ 77:89:void <init>(android.content.Context,com.google.android.material.progressindicator.BaseProgressIndicatorSpec) -> <init>
+ 42:42:void access$000(com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange) -> access$000
+ 42:42:boolean access$101(com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange,boolean,boolean) -> access$101
+ 42:42:void access$200(com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange) -> access$200
+ 151:153:void clearAnimationCallbacks() -> clearAnimationCallbacks
+ 178:186:void dispatchAnimationEnd() -> dispatchAnimationEnd
+ 166:174:void dispatchAnimationStart() -> dispatchAnimationStart
+ 298:304:void endAnimatorWithoutCallbacks(android.animation.ValueAnimator[]) -> endAnimatorWithoutCallbacks
+ 316:316:int getAlpha() -> getAlpha
+ 390:397:float getGrowFraction() -> getGrowFraction
+ 357:357:android.animation.ValueAnimator getHideAnimator() -> getHideAnimator
+ 327:327:int getOpacity() -> getOpacity
+ 217:217:boolean hideNow() -> hideNow
+ 212:212:boolean isHiding() -> isHiding
+ 204:204:boolean isRunning() -> isRunning
+ 208:208:boolean isShowing() -> isShowing
+ 94:106:void maybeInitializeAnimators() -> maybeInitializeAnimators
+ 122:128:void registerAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> registerAnimationCallback
+ 310:312:void setAlpha(int) -> setAlpha
+ 321:323:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 401:405:void setGrowFraction(float) -> setGrowFraction
+ 367:386:void setHideAnimator(android.animation.ValueAnimator) -> setHideAnimator
+ 161:162:void setInternalAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> setInternalAnimationCallback
+ 417:419:void setMockHideAnimationRunning(boolean,float) -> setMockHideAnimationRunning
+ 410:412:void setMockShowAnimationRunning(boolean,float) -> setMockShowAnimationRunning
+ 337:353:void setShowAnimator(android.animation.ValueAnimator) -> setShowAnimator
+ 222:222:boolean setVisible(boolean,boolean) -> setVisible
+ 236:240:boolean setVisible(boolean,boolean,boolean) -> setVisible
+ 253:294:boolean setVisibleInternal(boolean,boolean,boolean) -> setVisibleInternal
+ 193:194:void start() -> start
+ 199:200:void stop() -> stop
+ 138:145:boolean unregisterAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> unregisterAnimationCallback
+com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange$1 -> com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange$1:
+ 345:345:void <init>(com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange) -> <init>
+ 348:351:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange$2 -> com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange$2:
+ 376:376:void <init>(com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange) -> <init>
+ 379:384:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange$3 -> com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange$3:
+ 424:424:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 424:424:java.lang.Object get(java.lang.Object) -> get
+ 427:427:java.lang.Float get(com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange) -> get
+ 424:424:void set(java.lang.Object,java.lang.Object) -> set
+ 432:433:void set(com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange,java.lang.Float) -> set
+com.google.android.material.progressindicator.DrawingDelegate -> com.google.android.material.progressindicator.DrawingDelegate:
+ 30:32:void <init>(com.google.android.material.progressindicator.BaseProgressIndicatorSpec) -> <init>
+ 85:86:void registerDrawable(com.google.android.material.progressindicator.DrawableWithAnimatedVisibilityChange) -> registerDrawable
+ 90:92:void validateSpecAndAdjustCanvas(android.graphics.Canvas,float) -> validateSpecAndAdjustCanvas
+com.google.android.material.progressindicator.IndeterminateAnimatorDelegate -> com.google.android.material.progressindicator.IndeterminateAnimatorDelegate:
+ 40:43:void <init>(int) -> <init>
+ 51:51:float getFractionInRange(int,int,int) -> getFractionInRange
+ 47:48:void registerDrawable(com.google.android.material.progressindicator.IndeterminateDrawable) -> registerDrawable
+com.google.android.material.progressindicator.IndeterminateDrawable -> com.google.android.material.progressindicator.IndeterminateDrawable:
+ 40:44:void <init>(android.content.Context,com.google.android.material.progressindicator.BaseProgressIndicatorSpec,com.google.android.material.progressindicator.DrawingDelegate,com.google.android.material.progressindicator.IndeterminateAnimatorDelegate) -> <init>
+ 27:27:void clearAnimationCallbacks() -> clearAnimationCallbacks
+ 76:76:com.google.android.material.progressindicator.IndeterminateDrawable createCircularDrawable(android.content.Context,com.google.android.material.progressindicator.CircularProgressIndicatorSpec) -> createCircularDrawable
+ 56:56:com.google.android.material.progressindicator.IndeterminateDrawable createLinearDrawable(android.content.Context,com.google.android.material.progressindicator.LinearProgressIndicatorSpec) -> createLinearDrawable
+ 132:156:void draw(android.graphics.Canvas) -> draw
+ 27:27:int getAlpha() -> getAlpha
+ 162:162:com.google.android.material.progressindicator.IndeterminateAnimatorDelegate getAnimatorDelegate() -> getAnimatorDelegate
+ 173:173:com.google.android.material.progressindicator.DrawingDelegate getDrawingDelegate() -> getDrawingDelegate
+ 124:124:int getIntrinsicHeight() -> getIntrinsicHeight
+ 119:119:int getIntrinsicWidth() -> getIntrinsicWidth
+ 27:27:int getOpacity() -> getOpacity
+ 27:27:boolean hideNow() -> hideNow
+ 27:27:boolean isHiding() -> isHiding
+ 27:27:boolean isRunning() -> isRunning
+ 27:27:boolean isShowing() -> isShowing
+ 27:27:void registerAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> registerAnimationCallback
+ 27:27:void setAlpha(int) -> setAlpha
+ 167:169:void setAnimatorDelegate(com.google.android.material.progressindicator.IndeterminateAnimatorDelegate) -> setAnimatorDelegate
+ 27:27:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 177:179:void setDrawingDelegate(com.google.android.material.progressindicator.DrawingDelegate) -> setDrawingDelegate
+ 27:27:boolean setVisible(boolean,boolean) -> setVisible
+ 27:27:boolean setVisible(boolean,boolean,boolean) -> setVisible
+ 99:114:boolean setVisibleInternal(boolean,boolean,boolean) -> setVisibleInternal
+ 27:27:void start() -> start
+ 27:27:void stop() -> stop
+ 27:27:boolean unregisterAnimationCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> unregisterAnimationCallback
+com.google.android.material.progressindicator.LinearDrawingDelegate -> com.google.android.material.progressindicator.LinearDrawingDelegate:
+ 34:41:void <init>(com.google.android.material.progressindicator.LinearProgressIndicatorSpec) -> <init>
+ 65:98:void adjustCanvas(android.graphics.Canvas,float) -> adjustCanvas
+ 226:243:void drawRoundedEnd(android.graphics.Canvas,android.graphics.Paint,float,float,float,boolean,android.graphics.RectF) -> drawRoundedEnd
+ 119:168:void fillIndicator(android.graphics.Canvas,android.graphics.Paint,float,float,int) -> fillIndicator
+ 178:215:void fillTrack(android.graphics.Canvas,android.graphics.Paint) -> fillTrack
+ 50:50:int getPreferredHeight() -> getPreferredHeight
+ 45:45:int getPreferredWidth() -> getPreferredWidth
+com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate -> com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate:
+ 171:171:void <clinit>() -> <clinit>
+ 50:60:void <init>(com.google.android.material.progressindicator.LinearProgressIndicatorSpec) -> <init>
+ 36:36:int access$000(com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate) -> access$000
+ 36:36:int access$002(com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate,int) -> access$002
+ 36:36:com.google.android.material.progressindicator.BaseProgressIndicatorSpec access$100(com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate) -> access$100
+ 36:36:boolean access$202(com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate,boolean) -> access$202
+ 36:36:float access$300(com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate) -> access$300
+ 94:97:void cancelAnimatorImmediately() -> cancelAnimatorImmediately
+ 156:156:float getAnimationFraction() -> getAnimationFraction
+ 107:108:void invalidateSpecValues() -> invalidateSpecValues
+ 73:90:void maybeInitializeAnimators() -> maybeInitializeAnimators
+ 134:142:void maybeUpdateSegmentColors() -> maybeUpdateSegmentColors
+ 113:113:void registerAnimatorsCompleteCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> registerAnimatorsCompleteCallback
+ 103:103:void requestCancelAnimatorAfterCurrentCycle() -> requestCancelAnimatorAfterCurrentCycle
+ 146:151:void resetPropertiesForNewStart() -> resetPropertiesForNewStart
+ 161:166:void setAnimationFraction(float) -> setAnimationFraction
+ 66:70:void startAnimator() -> startAnimator
+ 118:118:void unregisterAnimatorsCompleteCallback() -> unregisterAnimatorsCompleteCallback
+ 124:130:void updateSegmentPositions(int) -> updateSegmentPositions
+com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate$1 -> com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate$1:
+ 80:80:void <init>(com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate) -> <init>
+ 83:87:void onAnimationRepeat(android.animation.Animator) -> onAnimationRepeat
+com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate$2 -> com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate$2:
+ 173:173:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 173:173:java.lang.Object get(java.lang.Object) -> get
+ 176:176:java.lang.Float get(com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate) -> get
+ 173:173:void set(java.lang.Object,java.lang.Object) -> set
+ 181:182:void set(com.google.android.material.progressindicator.LinearIndeterminateContiguousAnimatorDelegate,java.lang.Float) -> set
+com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate -> com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate:
+ 47:205:void <clinit>() -> <clinit>
+ 58:81:void <init>(android.content.Context,com.google.android.material.progressindicator.LinearProgressIndicatorSpec) -> <init>
+ 42:42:int access$000(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate) -> access$000
+ 42:42:int access$002(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate,int) -> access$002
+ 42:42:com.google.android.material.progressindicator.BaseProgressIndicatorSpec access$100(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate) -> access$100
+ 42:42:boolean access$202(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate,boolean) -> access$202
+ 42:42:boolean access$300(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate) -> access$300
+ 42:42:boolean access$302(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate,boolean) -> access$302
+ 42:42:android.animation.ObjectAnimator access$400(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate) -> access$400
+ 42:42:float access$500(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate) -> access$500
+ 124:127:void cancelAnimatorImmediately() -> cancelAnimatorImmediately
+ 190:190:float getAnimationFraction() -> getAnimationFraction
+ 141:142:void invalidateSpecValues() -> invalidateSpecValues
+ 94:120:void maybeInitializeAnimators() -> maybeInitializeAnimators
+ 169:176:void maybeUpdateSegmentColors() -> maybeUpdateSegmentColors
+ 146:147:void registerAnimatorsCompleteCallback(androidx.vectordrawable.graphics.drawable.Animatable2Compat$AnimationCallback) -> registerAnimatorsCompleteCallback
+ 131:137:void requestCancelAnimatorAfterCurrentCycle() -> requestCancelAnimatorAfterCurrentCycle
+ 180:185:void resetPropertiesForNewStart() -> resetPropertiesForNewStart
+ 195:200:void setAnimationFraction(float) -> setAnimationFraction
+ 87:91:void startAnimator() -> startAnimator
+ 151:152:void unregisterAnimatorsCompleteCallback() -> unregisterAnimatorsCompleteCallback
+ 158:165:void updateSegmentPositions(int) -> updateSegmentPositions
+com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate$1 -> com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate$1:
+ 101:101:void <init>(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate) -> <init>
+ 111:117:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 104:107:void onAnimationRepeat(android.animation.Animator) -> onAnimationRepeat
+com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate$2 -> com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate$2:
+ 207:207:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 207:207:java.lang.Object get(java.lang.Object) -> get
+ 210:210:java.lang.Float get(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate) -> get
+ 207:207:void set(java.lang.Object,java.lang.Object) -> set
+ 215:216:void set(com.google.android.material.progressindicator.LinearIndeterminateDisjointAnimatorDelegate,java.lang.Float) -> set
+com.google.android.material.progressindicator.LinearProgressIndicator -> com.google.android.material.progressindicator.LinearProgressIndicator:
+ 54:54:void <clinit>() -> <clinit>
+ 67:68:void <init>(android.content.Context) -> <init>
+ 71:72:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 76:79:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 52:52:com.google.android.material.progressindicator.BaseProgressIndicatorSpec createSpec(android.content.Context,android.util.AttributeSet) -> createSpec
+ 85:85:com.google.android.material.progressindicator.LinearProgressIndicatorSpec createSpec(android.content.Context,android.util.AttributeSet) -> createSpec
+ 159:159:int getIndeterminateAnimationType() -> getIndeterminateAnimationType
+ 201:201:int getIndicatorDirection() -> getIndicatorDirection
+ 118:120:void initializeDrawables() -> initializeDrawables
+ 90:99:void onLayout(boolean,int,int,int,int) -> onLayout
+ 103:113:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 172:190:void setIndeterminateAnimationType(int) -> setIndeterminateAnimationType
+ 133:135:void setIndicatorColor(int[]) -> setIndicatorColor
+ 213:221:void setIndicatorDirection(int) -> setIndicatorDirection
+ 236:242:void setProgressCompat(int,boolean) -> setProgressCompat
+ 146:149:void setTrackCornerRadius(int) -> setTrackCornerRadius
+com.google.android.material.progressindicator.LinearProgressIndicatorSpec -> com.google.android.material.progressindicator.LinearProgressIndicatorSpec:
+ 59:60:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 64:65:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 72:95:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 99:114:void validateSpec() -> validateSpec
+com.google.android.material.radiobutton.MaterialRadioButton -> com.google.android.material.radiobutton.MaterialRadioButton:
+ 45:47:void <clinit>() -> <clinit>
+ 58:59:void <init>(android.content.Context) -> <init>
+ 62:63:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 67:88:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 119:136:android.content.res.ColorStateList getMaterialThemeColorsTintList() -> getMaterialThemeColorsTintList
+ 115:115:boolean isUseMaterialThemeColors() -> isUseMaterialThemeColors
+ 92:97:void onAttachedToWindow() -> onAttachedToWindow
+ 105:111:void setUseMaterialThemeColors(boolean) -> setUseMaterialThemeColors
+com.google.android.material.resources.CancelableFontCallback -> com.google.android.material.resources.CancelableFontCallback:
+ 42:45:void <init>(com.google.android.material.resources.CancelableFontCallback$ApplyFont,android.graphics.Typeface) -> <init>
+ 64:65:void cancel() -> cancel
+ 54:55:void onFontRetrievalFailed(int) -> onFontRetrievalFailed
+ 49:50:void onFontRetrieved(android.graphics.Typeface,boolean) -> onFontRetrieved
+ 68:71:void updateIfNotCancelled(android.graphics.Typeface) -> updateIfNotCancelled
+com.google.android.material.resources.MaterialAttributes -> com.google.android.material.resources.MaterialAttributes:
+ 38:38:void <init>() -> <init>
+ 46:50:android.util.TypedValue resolve(android.content.Context,int) -> resolve
+ 106:107:boolean resolveBoolean(android.content.Context,int,boolean) -> resolveBoolean
+ 97:97:boolean resolveBooleanOrThrow(android.content.Context,int,java.lang.String) -> resolveBooleanOrThrow
+ 138:142:int resolveDimension(android.content.Context,int,int) -> resolveDimension
+ 118:119:int resolveInteger(android.content.Context,int,int) -> resolveInteger
+ 127:127:int resolveMinimumAccessibleTouchTarget(android.content.Context) -> resolveMinimumAccessibleTouchTarget
+ 62:74:int resolveOrThrow(android.content.Context,int,java.lang.String) -> resolveOrThrow
+ 84:85:int resolveOrThrow(android.view.View,int) -> resolveOrThrow
+com.google.android.material.resources.MaterialResources -> com.google.android.material.resources.MaterialResources:
+ 48:48:void <init>() -> <init>
+ 57:76:android.content.res.ColorStateList getColorStateList(android.content.Context,android.content.res.TypedArray,int) -> getColorStateList
+ 86:105:android.content.res.ColorStateList getColorStateList(android.content.Context,androidx.appcompat.widget.TintTypedArray,int) -> getColorStateList
+ 168:176:int getDimensionPixelSize(android.content.Context,android.content.res.TypedArray,int,int) -> getDimensionPixelSize
+ 117:126:android.graphics.drawable.Drawable getDrawable(android.content.Context,android.content.res.TypedArray,int) -> getDrawable
+ 200:203:int getIndexWithValue(android.content.res.TypedArray,int,int) -> getIndexWithValue
+ 137:143:com.google.android.material.resources.TextAppearance getTextAppearance(android.content.Context,android.content.res.TypedArray,int) -> getTextAppearance
+ 183:183:boolean isFontScaleAtLeast1_3(android.content.Context) -> isFontScaleAtLeast1_3
+ 190:190:boolean isFontScaleAtLeast2_0(android.content.Context) -> isFontScaleAtLeast2_0
+com.google.android.material.resources.TextAppearance -> com.google.android.material.resources.TextAppearance:
+ 76:121:void <init>(android.content.Context,int) -> <init>
+ 48:48:android.graphics.Typeface access$000(com.google.android.material.resources.TextAppearance) -> access$000
+ 48:48:android.graphics.Typeface access$002(com.google.android.material.resources.TextAppearance,android.graphics.Typeface) -> access$002
+ 48:48:boolean access$102(com.google.android.material.resources.TextAppearance,boolean) -> access$102
+ 268:290:void createFallbackFont() -> createFallbackFont
+ 262:263:android.graphics.Typeface getFallbackFont() -> getFallbackFont
+ 131:153:android.graphics.Typeface getFont(android.content.Context) -> getFont
+ 171:217:void getFontAsync(android.content.Context,com.google.android.material.resources.TextAppearanceFontCallback) -> getFontAsync
+ 234:251:void getFontAsync(android.content.Context,android.text.TextPaint,com.google.android.material.resources.TextAppearanceFontCallback) -> getFontAsync
+ 357:364:boolean shouldLoadFontSynchronously(android.content.Context) -> shouldLoadFontSynchronously
+ 302:315:void updateDrawState(android.content.Context,android.text.TextPaint,com.google.android.material.resources.TextAppearanceFontCallback) -> updateDrawState
+ 327:332:void updateMeasureState(android.content.Context,android.text.TextPaint,com.google.android.material.resources.TextAppearanceFontCallback) -> updateMeasureState
+ 341:354:void updateTextPaintMeasureState(android.text.TextPaint,android.graphics.Typeface) -> updateTextPaintMeasureState
+com.google.android.material.resources.TextAppearance$1 -> com.google.android.material.resources.TextAppearance$1:
+ 193:193:void <init>(com.google.android.material.resources.TextAppearance,com.google.android.material.resources.TextAppearanceFontCallback) -> <init>
+ 203:205:void onFontRetrievalFailed(int) -> onFontRetrievalFailed
+ 196:199:void onFontRetrieved(android.graphics.Typeface) -> onFontRetrieved
+com.google.android.material.resources.TextAppearance$2 -> com.google.android.material.resources.TextAppearance$2:
+ 238:238:void <init>(com.google.android.material.resources.TextAppearance,android.text.TextPaint,com.google.android.material.resources.TextAppearanceFontCallback) -> <init>
+ 248:249:void onFontRetrievalFailed(int) -> onFontRetrievalFailed
+ 242:244:void onFontRetrieved(android.graphics.Typeface,boolean) -> onFontRetrieved
+com.google.android.material.resources.TextAppearanceConfig -> com.google.android.material.resources.TextAppearanceConfig:
+ 28:28:void <init>() -> <init>
+ 38:39:void setShouldLoadFontSynchronously(boolean) -> setShouldLoadFontSynchronously
+ 43:43:boolean shouldLoadFontSynchronously() -> shouldLoadFontSynchronously
+com.google.android.material.resources.TextAppearanceFontCallback -> com.google.android.material.resources.TextAppearanceFontCallback:
+ 30:30:void <init>() -> <init>
+com.google.android.material.ripple.RippleDrawableCompat -> com.google.android.material.ripple.RippleDrawableCompat:
+ 47:47:void <init>(com.google.android.material.ripple.RippleDrawableCompat$RippleDrawableCompatState,com.google.android.material.ripple.RippleDrawableCompat$1) -> <init>
+ 58:59:void <init>(com.google.android.material.shape.ShapeAppearanceModel) -> <init>
+ 62:64:void <init>(com.google.android.material.ripple.RippleDrawableCompat$RippleDrawableCompatState) -> <init>
+ 126:129:void draw(android.graphics.Canvas) -> draw
+ 140:140:android.graphics.drawable.Drawable$ConstantState getConstantState() -> getConstantState
+ 163:163:int getOpacity() -> getOpacity
+ 95:95:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearanceModel() -> getShapeAppearanceModel
+ 104:104:boolean isStateful() -> isStateful
+ 46:46:android.graphics.drawable.Drawable mutate() -> mutate
+ 146:148:com.google.android.material.ripple.RippleDrawableCompat mutate() -> mutate
+ 133:135:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 109:120:boolean onStateChange(int[]) -> onStateChange
+ 153:154:void setAlpha(int) -> setAlpha
+ 158:159:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 83:84:void setShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearanceModel
+ 68:69:void setTint(int) -> setTint
+ 78:79:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 73:74:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+com.google.android.material.ripple.RippleDrawableCompat$RippleDrawableCompatState -> com.google.android.material.ripple.RippleDrawableCompat$RippleDrawableCompatState:
+ 175:178:void <init>(com.google.android.material.shape.MaterialShapeDrawable) -> <init>
+ 180:183:void <init>(com.google.android.material.ripple.RippleDrawableCompat$RippleDrawableCompatState) -> <init>
+ 193:193:int getChangingConfigurations() -> getChangingConfigurations
+ 170:170:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 188:188:com.google.android.material.ripple.RippleDrawableCompat newDrawable() -> newDrawable
+com.google.android.material.ripple.RippleUtils -> com.google.android.material.ripple.RippleUtils:
+ 42:77:void <clinit>() -> <clinit>
+ 84:84:void <init>() -> <init>
+ 112:184:android.content.res.ColorStateList convertToRippleDrawableColor(android.content.res.ColorStateList) -> convertToRippleDrawableColor
+ 256:257:int doubleAlpha(int) -> doubleAlpha
+ 241:246:int getColorForState(android.content.res.ColorStateList,int[]) -> getColorForState
+ 203:213:android.content.res.ColorStateList sanitizeRippleDrawableColor(android.content.res.ColorStateList) -> sanitizeRippleDrawableColor
+ 221:235:boolean shouldDrawRippleCompat(int[]) -> shouldDrawRippleCompat
+com.google.android.material.shadow.ShadowDrawableWrapper -> com.google.android.material.shadow.ShadowDrawableWrapper:
+ 45:45:void <clinit>() -> <clinit>
+ 72:100:void <init>(android.content.Context,android.graphics.drawable.Drawable,float,float,float) -> <init>
+ 361:376:void buildComponents(android.graphics.Rect) -> buildComponents
+ 310:355:void buildShadowCorners() -> buildShadowCorners
+ 181:184:float calculateHorizontalPadding(float,float,boolean) -> calculateHorizontalPadding
+ 172:175:float calculateVerticalPadding(float,float,boolean) -> calculateVerticalPadding
+ 205:212:void draw(android.graphics.Canvas) -> draw
+ 222:307:void drawShadow(android.graphics.Canvas) -> drawShadow
+ 379:379:float getCornerRadius() -> getCornerRadius
+ 387:387:float getMaxShadowSize() -> getMaxShadowSize
+ 396:398:float getMinHeight() -> getMinHeight
+ 391:392:float getMinWidth() -> getMinWidth
+ 190:190:int getOpacity() -> getOpacity
+ 158:167:boolean getPadding(android.graphics.Rect) -> getPadding
+ 153:153:float getShadowSize() -> getShadowSize
+ 122:123:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 109:111:void setAddPaddingForCorners(boolean) -> setAddPaddingForCorners
+ 115:118:void setAlpha(int) -> setAlpha
+ 194:201:void setCornerRadius(float) -> setCornerRadius
+ 383:384:void setMaxShadowSize(float) -> setMaxShadowSize
+ 215:219:void setRotation(float) -> setRotation
+ 126:146:void setShadowSize(float,float) -> setShadowSize
+ 149:150:void setShadowSize(float) -> setShadowSize
+ 104:105:int toEven(float) -> toEven
+com.google.android.material.shadow.ShadowRenderer -> com.google.android.material.shadow.ShadowRenderer:
+ 60:66:void <clinit>() -> <clinit>
+ 72:73:void <init>() -> <init>
+ 68:84:void <init>(int) -> <init>
+ 130:183:void drawCornerShadow(android.graphics.Canvas,android.graphics.Matrix,android.graphics.RectF,int,float,float) -> drawCornerShadow
+ 96:117:void drawEdgeShadow(android.graphics.Canvas,android.graphics.Matrix,android.graphics.RectF,int) -> drawEdgeShadow
+ 187:187:android.graphics.Paint getShadowPaint() -> getShadowPaint
+ 87:91:void setShadowColor(int) -> setShadowColor
+com.google.android.material.shape.AbsoluteCornerSize -> com.google.android.material.shape.AbsoluteCornerSize:
+ 28:30:void <init>(float) -> <init>
+ 46:53:boolean equals(java.lang.Object) -> equals
+ 34:34:float getCornerSize(android.graphics.RectF) -> getCornerSize
+ 41:41:float getCornerSize() -> getCornerSize
+ 58:59:int hashCode() -> hashCode
+com.google.android.material.shape.AdjustedCornerSize -> com.google.android.material.shape.AdjustedCornerSize:
+ 37:46:void <init>(float,com.google.android.material.shape.CornerSize) -> <init>
+ 55:62:boolean equals(java.lang.Object) -> equals
+ 50:50:float getCornerSize(android.graphics.RectF) -> getCornerSize
+ 67:68:int hashCode() -> hashCode
+com.google.android.material.shape.CornerTreatment -> com.google.android.material.shape.CornerTreatment:
+ 30:30:void <init>() -> <init>
+ 50:50:void getCornerPath(float,float,com.google.android.material.shape.ShapePath) -> getCornerPath
+ 70:71:void getCornerPath(com.google.android.material.shape.ShapePath,float,float,float) -> getCornerPath
+ 98:99:void getCornerPath(com.google.android.material.shape.ShapePath,float,float,android.graphics.RectF,com.google.android.material.shape.CornerSize) -> getCornerPath
+com.google.android.material.shape.CutCornerTreatment -> com.google.android.material.shape.CutCornerTreatment:
+ 24:26:void <init>() -> <init>
+ 24:42:void <init>(float) -> <init>
+ 47:53:void getCornerPath(com.google.android.material.shape.ShapePath,float,float,float) -> getCornerPath
+com.google.android.material.shape.EdgeTreatment -> com.google.android.material.shape.EdgeTreatment:
+ 29:29:void <init>() -> <init>
+ 73:73:boolean forceIntersection() -> forceIntersection
+ 38:40:void getEdgePath(float,float,com.google.android.material.shape.ShapePath) -> getEdgePath
+ 64:65:void getEdgePath(float,float,float,com.google.android.material.shape.ShapePath) -> getEdgePath
+com.google.android.material.shape.InterpolateOnScrollPositionChangeHelper -> com.google.android.material.shape.InterpolateOnScrollPositionChangeHelper:
+ 31:56:void <init>(android.view.View,com.google.android.material.shape.MaterialShapeDrawable,android.widget.ScrollView) -> <init>
+ 73:74:void setContainingScrollView(android.widget.ScrollView) -> setContainingScrollView
+ 64:65:void setMaterialShapeDrawable(com.google.android.material.shape.MaterialShapeDrawable) -> setMaterialShapeDrawable
+ 83:84:void startListeningForScrollChanges(android.view.ViewTreeObserver) -> startListeningForScrollChanges
+ 93:94:void stopListeningForScrollChanges(android.view.ViewTreeObserver) -> stopListeningForScrollChanges
+ 101:131:void updateInterpolationForScreenPosition() -> updateInterpolationForScreenPosition
+com.google.android.material.shape.InterpolateOnScrollPositionChangeHelper$1 -> com.google.android.material.shape.InterpolateOnScrollPositionChangeHelper$1:
+ 34:34:void <init>(com.google.android.material.shape.InterpolateOnScrollPositionChangeHelper) -> <init>
+ 37:38:void onScrollChanged() -> onScrollChanged
+com.google.android.material.shape.MarkerEdgeTreatment -> com.google.android.material.shape.MarkerEdgeTreatment:
+ 32:34:void <init>(float) -> <init>
+ 48:48:boolean forceIntersection() -> forceIntersection
+ 39:44:void getEdgePath(float,float,float,com.google.android.material.shape.ShapePath) -> getEdgePath
+com.google.android.material.shape.MaterialShapeDrawable -> com.google.android.material.shape.MaterialShapeDrawable:
+ 77:109:void <clinit>() -> <clinit>
+ 75:75:void <init>(com.google.android.material.shape.MaterialShapeDrawable$MaterialShapeDrawableState,com.google.android.material.shape.MaterialShapeDrawable$1) -> <init>
+ 181:182:void <init>() -> <init>
+ 189:190:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 194:195:void <init>(com.google.android.material.shape.ShapePathModel) -> <init>
+ 202:203:void <init>(com.google.android.material.shape.ShapeAppearanceModel) -> <init>
+ 114:229:void <init>(com.google.android.material.shape.MaterialShapeDrawable$MaterialShapeDrawableState) -> <init>
+ 75:75:java.util.BitSet access$000(com.google.android.material.shape.MaterialShapeDrawable) -> access$000
+ 75:75:com.google.android.material.shape.ShapePath$ShadowCompatOperation[] access$100(com.google.android.material.shape.MaterialShapeDrawable) -> access$100
+ 75:75:com.google.android.material.shape.ShapePath$ShadowCompatOperation[] access$200(com.google.android.material.shape.MaterialShapeDrawable) -> access$200
+ 75:75:boolean access$402(com.google.android.material.shape.MaterialShapeDrawable,boolean) -> access$402
+ 1251:1258:android.graphics.PorterDuffColorFilter calculatePaintColorTintFilter(android.graphics.Paint,boolean) -> calculatePaintColorTintFilter
+ 1201:1212:void calculatePath(android.graphics.RectF,android.graphics.Path) -> calculatePath
+ 1140:1146:void calculatePathForSize(android.graphics.RectF,android.graphics.Path) -> calculatePathForSize
+ 1152:1173:void calculateStrokePath() -> calculateStrokePath
+ 1266:1270:android.graphics.PorterDuffColorFilter calculateTintColorTintFilter(android.content.res.ColorStateList,android.graphics.PorterDuff$Mode,boolean) -> calculateTintColorTintFilter
+ 1243:1245:android.graphics.PorterDuffColorFilter calculateTintFilter(android.content.res.ColorStateList,android.graphics.PorterDuff$Mode,android.graphics.Paint,boolean) -> calculateTintFilter
+ 606:608:int compositeElevationOverlayIfNeeded(int) -> compositeElevationOverlayIfNeeded
+ 158:158:com.google.android.material.shape.MaterialShapeDrawable createWithElevationOverlay(android.content.Context) -> createWithElevationOverlay
+ 170:177:com.google.android.material.shape.MaterialShapeDrawable createWithElevationOverlay(android.content.Context,float) -> createWithElevationOverlay
+ 942:968:void draw(android.graphics.Canvas) -> draw
+ 1087:1111:void drawCompatShadow(android.graphics.Canvas) -> drawCompatShadow
+ 1049:1050:void drawFillShape(android.graphics.Canvas) -> drawFillShape
+ 1028:1029:void drawShape(android.graphics.Canvas,android.graphics.Paint,android.graphics.Path,android.graphics.RectF) -> drawShape
+ 1038:1046:void drawShape(android.graphics.Canvas,android.graphics.Paint,android.graphics.Path,com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF) -> drawShape
+ 1053:1055:void drawStrokeShape(android.graphics.Canvas) -> drawStrokeShape
+ 1351:1354:float getBottomLeftCornerResolvedSize() -> getBottomLeftCornerResolvedSize
+ 1359:1362:float getBottomRightCornerResolvedSize() -> getBottomRightCornerResolvedSize
+ 473:474:android.graphics.RectF getBoundsAsRectF() -> getBoundsAsRectF
+ 1327:1330:android.graphics.RectF getBoundsInsetByStroke() -> getBoundsInsetByStroke
+ 234:234:android.graphics.drawable.Drawable$ConstantState getConstantState() -> getConstantState
+ 657:657:float getElevation() -> getElevation
+ 317:317:android.content.res.ColorStateList getFillColor() -> getFillColor
+ 620:620:float getInterpolation() -> getInterpolation
+ 444:444:int getOpacity() -> getOpacity
+ 1178:1198:void getOutline(android.graphics.Outline) -> getOutline
+ 507:511:boolean getPadding(android.graphics.Rect) -> getPadding
+ 901:901:android.graphics.Paint$Style getPaintStyle() -> getPaintStyle
+ 640:640:float getParentAbsoluteElevation() -> getParentAbsoluteElevation
+ 1130:1131:void getPathForSize(int,int,android.graphics.Path) -> getPathForSize
+ 837:837:float getScale() -> getScale
+ 784:784:int getShadowCompatRotation() -> getShadowCompatRotation
+ 502:502:int getShadowCompatibilityMode() -> getShadowCompatibilityMode
+ 727:727:int getShadowElevation() -> getShadowElevation
+ 1115:1117:int getShadowOffsetX() -> getShadowOffsetX
+ 1122:1124:int getShadowOffsetY() -> getShadowOffsetY
+ 808:808:int getShadowRadius() -> getShadowRadius
+ 749:749:int getShadowVerticalOffset() -> getShadowVerticalOffset
+ 271:271:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearanceModel() -> getShapeAppearanceModel
+ 294:295:com.google.android.material.shape.ShapePathModel getShapedViewModel() -> getShapedViewModel
+ 339:339:android.content.res.ColorStateList getStrokeColor() -> getStrokeColor
+ 1319:1322:float getStrokeInsetLength() -> getStrokeInsetLength
+ 371:371:android.content.res.ColorStateList getStrokeTintList() -> getStrokeTintList
+ 427:427:float getStrokeWidth() -> getStrokeWidth
+ 361:361:android.content.res.ColorStateList getTintList() -> getTintList
+ 1335:1338:float getTopLeftCornerResolvedSize() -> getTopLeftCornerResolvedSize
+ 1343:1346:float getTopRightCornerResolvedSize() -> getTopRightCornerResolvedSize
+ 678:678:float getTranslationZ() -> getTranslationZ
+ 463:468:android.graphics.Region getTransparentRegion() -> getTransparentRegion
+ 699:699:float getZ() -> getZ
+ 916:918:boolean hasCompatShadow() -> hasCompatShadow
+ 923:923:boolean hasFill() -> hasFill
+ 929:931:boolean hasStroke() -> hasStroke
+ 599:601:void initializeElevationOverlay(android.content.Context) -> initializeElevationOverlay
+ 854:856:void invalidateSelf() -> invalidateSelf
+ 863:864:void invalidateSelfIgnoreShape() -> invalidateSelfIgnoreShape
+ 583:584:boolean isElevationOverlayEnabled() -> isElevationOverlayEnabled
+ 589:589:boolean isElevationOverlayInitialized() -> isElevationOverlayInitialized
+ 497:497:boolean isPointInTransparentRegion(int,int) -> isPointInTransparentRegion
+ 1373:1373:boolean isRoundRect() -> isRoundRect
+ 557:557:boolean isShadowEnabled() -> isShadowEnabled
+ 1275:1279:boolean isStateful() -> isStateful
+ 971:1015:void maybeDrawCompatShadow(android.graphics.Canvas) -> maybeDrawCompatShadow
+ 246:247:int modulateAlpha(int,int) -> modulateAlpha
+ 240:242:android.graphics.drawable.Drawable mutate() -> mutate
+ 936:938:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 1284:1290:boolean onStateChange(int[]) -> onStateChange
+ 1059:1077:void prepareCanvasForShadow(android.graphics.Canvas) -> prepareCanvasForShadow
+ 827:828:boolean requiresCompatShadow() -> requiresCompatShadow
+ 449:453:void setAlpha(int) -> setAlpha
+ 457:459:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 479:480:void setCornerSize(float) -> setCornerSize
+ 484:485:void setCornerSize(com.google.android.material.shape.CornerSize) -> setCornerSize
+ 759:760:void setEdgeIntersectionCheckEnable(boolean) -> setEdgeIntersectionCheckEnable
+ 666:670:void setElevation(float) -> setElevation
+ 304:308:void setFillColor(android.content.res.ColorStateList) -> setFillColor
+ 631:636:void setInterpolation(float) -> setInterpolation
+ 524:530:void setPadding(int,int,int,int) -> setPadding
+ 910:912:void setPaintStyle(android.graphics.Paint$Style) -> setPaintStyle
+ 645:649:void setParentAbsoluteElevation(float) -> setParentAbsoluteElevation
+ 846:850:void setScale(float) -> setScale
+ 754:755:void setShadowBitmapDrawingEnable(boolean) -> setShadowBitmapDrawingEnable
+ 890:893:void setShadowColor(int) -> setShadowColor
+ 796:800:void setShadowCompatRotation(int) -> setShadowCompatRotation
+ 543:547:void setShadowCompatibilityMode(int) -> setShadowCompatibilityMode
+ 738:739:void setShadowElevation(int) -> setShadowElevation
+ 574:576:void setShadowEnabled(boolean) -> setShadowEnabled
+ 819:820:void setShadowRadius(int) -> setShadowRadius
+ 773:777:void setShadowVerticalOffset(int) -> setShadowVerticalOffset
+ 258:260:void setShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setShapeAppearanceModel
+ 282:283:void setShapedViewModel(com.google.android.material.shape.ShapePathModel) -> setShapedViewModel
+ 406:408:void setStroke(float,int) -> setStroke
+ 417:419:void setStroke(float,android.content.res.ColorStateList) -> setStroke
+ 326:330:void setStrokeColor(android.content.res.ColorStateList) -> setStrokeColor
+ 385:388:void setStrokeTint(android.content.res.ColorStateList) -> setStrokeTint
+ 396:397:void setStrokeTint(int) -> setStrokeTint
+ 436:438:void setStrokeWidth(float) -> setStrokeWidth
+ 376:377:void setTint(int) -> setTint
+ 353:356:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 344:349:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 687:691:void setTranslationZ(float) -> setTranslationZ
+ 874:878:void setUseTintColorForShadow(boolean) -> setUseTintColorForShadow
+ 708:709:void setZ(float) -> setZ
+ 1294:1315:boolean updateColorsForState(int[]) -> updateColorsForState
+ 1215:1234:boolean updateTintFilter() -> updateTintFilter
+ 712:718:void updateZ() -> updateZ
+com.google.android.material.shape.MaterialShapeDrawable$1 -> com.google.android.material.shape.MaterialShapeDrawable$1:
+ 215:215:void <init>(com.google.android.material.shape.MaterialShapeDrawable) -> <init>
+ 219:221:void onCornerPathCreated(com.google.android.material.shape.ShapePath,android.graphics.Matrix,int) -> onCornerPathCreated
+ 225:227:void onEdgePathCreated(com.google.android.material.shape.ShapePath,android.graphics.Matrix,int) -> onEdgePathCreated
+com.google.android.material.shape.MaterialShapeDrawable$2 -> com.google.android.material.shape.MaterialShapeDrawable$2:
+ 1156:1156:void <init>(com.google.android.material.shape.MaterialShapeDrawable,float) -> <init>
+ 1162:1162:com.google.android.material.shape.CornerSize apply(com.google.android.material.shape.CornerSize) -> apply
+com.google.android.material.shape.MaterialShapeDrawable$MaterialShapeDrawableState -> com.google.android.material.shape.MaterialShapeDrawable$MaterialShapeDrawableState:
+ 1382:1411:void <init>(com.google.android.material.shape.ShapeAppearanceModel,com.google.android.material.elevation.ElevationOverlayProvider) -> <init>
+ 1382:1438:void <init>(com.google.android.material.shape.MaterialShapeDrawable$MaterialShapeDrawableState) -> <init>
+ 1451:1451:int getChangingConfigurations() -> getChangingConfigurations
+ 1443:1446:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+com.google.android.material.shape.MaterialShapeUtils -> com.google.android.material.shape.MaterialShapeUtils:
+ 27:27:void <init>() -> <init>
+ 31:37:com.google.android.material.shape.CornerTreatment createCornerTreatment(int) -> createCornerTreatment
+ 43:43:com.google.android.material.shape.CornerTreatment createDefaultCornerTreatment() -> createDefaultCornerTreatment
+ 48:48:com.google.android.material.shape.EdgeTreatment createDefaultEdgeTreatment() -> createDefaultEdgeTreatment
+ 57:61:void setElevation(android.view.View,float) -> setElevation
+ 70:74:void setParentAbsoluteElevation(android.view.View) -> setParentAbsoluteElevation
+ 83:86:void setParentAbsoluteElevation(android.view.View,com.google.android.material.shape.MaterialShapeDrawable) -> setParentAbsoluteElevation
+com.google.android.material.shape.OffsetEdgeTreatment -> com.google.android.material.shape.OffsetEdgeTreatment:
+ 27:30:void <init>(com.google.android.material.shape.EdgeTreatment,float) -> <init>
+ 40:40:boolean forceIntersection() -> forceIntersection
+ 35:36:void getEdgePath(float,float,float,com.google.android.material.shape.ShapePath) -> getEdgePath
+com.google.android.material.shape.RelativeCornerSize -> com.google.android.material.shape.RelativeCornerSize:
+ 36:38:void <init>(float) -> <init>
+ 53:60:boolean equals(java.lang.Object) -> equals
+ 48:48:float getCornerSize(android.graphics.RectF) -> getCornerSize
+ 43:43:float getRelativePercent() -> getRelativePercent
+ 65:66:int hashCode() -> hashCode
+com.google.android.material.shape.RoundedCornerTreatment -> com.google.android.material.shape.RoundedCornerTreatment:
+ 24:26:void <init>() -> <init>
+ 24:38:void <init>(float) -> <init>
+ 43:45:void getCornerPath(com.google.android.material.shape.ShapePath,float,float,float) -> getCornerPath
+com.google.android.material.shape.ShapeAppearanceModel -> com.google.android.material.shape.ShapeAppearanceModel:
+ 565:565:void <clinit>() -> <clinit>
+ 41:41:void <init>(com.google.android.material.shape.ShapeAppearanceModel$Builder,com.google.android.material.shape.ShapeAppearanceModel$1) -> <init>
+ 580:595:void <init>(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> <init>
+ 598:613:void <init>() -> <init>
+ 435:435:com.google.android.material.shape.ShapeAppearanceModel$Builder builder() -> builder
+ 444:444:com.google.android.material.shape.ShapeAppearanceModel$Builder builder(android.content.Context,android.util.AttributeSet,int,int) -> builder
+ 454:454:com.google.android.material.shape.ShapeAppearanceModel$Builder builder(android.content.Context,android.util.AttributeSet,int,int,int) -> builder
+ 465:472:com.google.android.material.shape.ShapeAppearanceModel$Builder builder(android.content.Context,android.util.AttributeSet,int,int,com.google.android.material.shape.CornerSize) -> builder
+ 480:480:com.google.android.material.shape.ShapeAppearanceModel$Builder builder(android.content.Context,int,int) -> builder
+ 489:489:com.google.android.material.shape.ShapeAppearanceModel$Builder builder(android.content.Context,int,int,int) -> builder
+ 503:541:com.google.android.material.shape.ShapeAppearanceModel$Builder builder(android.content.Context,int,int,com.google.android.material.shape.CornerSize) -> builder
+ 732:732:com.google.android.material.shape.EdgeTreatment getBottomEdge() -> getBottomEdge
+ 652:652:com.google.android.material.shape.CornerTreatment getBottomLeftCorner() -> getBottomLeftCorner
+ 692:692:com.google.android.material.shape.CornerSize getBottomLeftCornerSize() -> getBottomLeftCornerSize
+ 642:642:com.google.android.material.shape.CornerTreatment getBottomRightCorner() -> getBottomRightCorner
+ 682:682:com.google.android.material.shape.CornerSize getBottomRightCornerSize() -> getBottomRightCornerSize
+ 547:560:com.google.android.material.shape.CornerSize getCornerSize(android.content.res.TypedArray,int,com.google.android.material.shape.CornerSize) -> getCornerSize
+ 702:702:com.google.android.material.shape.EdgeTreatment getLeftEdge() -> getLeftEdge
+ 722:722:com.google.android.material.shape.EdgeTreatment getRightEdge() -> getRightEdge
+ 712:712:com.google.android.material.shape.EdgeTreatment getTopEdge() -> getTopEdge
+ 622:622:com.google.android.material.shape.CornerTreatment getTopLeftCorner() -> getTopLeftCorner
+ 662:662:com.google.android.material.shape.CornerSize getTopLeftCornerSize() -> getTopLeftCornerSize
+ 632:632:com.google.android.material.shape.CornerTreatment getTopRightCorner() -> getTopRightCorner
+ 672:672:com.google.android.material.shape.CornerSize getTopRightCornerSize() -> getTopRightCornerSize
+ 791:810:boolean isRoundRect(android.graphics.RectF) -> isRoundRect
+ 738:738:com.google.android.material.shape.ShapeAppearanceModel$Builder toBuilder() -> toBuilder
+ 747:747:com.google.android.material.shape.ShapeAppearanceModel withCornerSize(float) -> withCornerSize
+ 752:752:com.google.android.material.shape.ShapeAppearanceModel withCornerSize(com.google.android.material.shape.CornerSize) -> withCornerSize
+ 775:780:com.google.android.material.shape.ShapeAppearanceModel withTransformedCornerSizes(com.google.android.material.shape.ShapeAppearanceModel$CornerSizeUnaryOperator) -> withTransformedCornerSizes
+com.google.android.material.shape.ShapeAppearanceModel$Builder -> com.google.android.material.shape.ShapeAppearanceModel$Builder:
+ 46:68:void <init>() -> <init>
+ 46:85:void <init>(com.google.android.material.shape.ShapeAppearanceModel) -> <init>
+ 44:44:com.google.android.material.shape.CornerTreatment access$100(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$100
+ 44:44:com.google.android.material.shape.EdgeTreatment access$1000(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$1000
+ 44:44:com.google.android.material.shape.EdgeTreatment access$1100(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$1100
+ 44:44:com.google.android.material.shape.EdgeTreatment access$1200(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$1200
+ 44:44:com.google.android.material.shape.CornerTreatment access$200(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$200
+ 44:44:com.google.android.material.shape.CornerTreatment access$300(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$300
+ 44:44:com.google.android.material.shape.CornerTreatment access$400(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$400
+ 44:44:com.google.android.material.shape.CornerSize access$500(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$500
+ 44:44:com.google.android.material.shape.CornerSize access$600(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$600
+ 44:44:com.google.android.material.shape.CornerSize access$700(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$700
+ 44:44:com.google.android.material.shape.CornerSize access$800(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$800
+ 44:44:com.google.android.material.shape.EdgeTreatment access$900(com.google.android.material.shape.ShapeAppearanceModel$Builder) -> access$900
+ 429:429:com.google.android.material.shape.ShapeAppearanceModel build() -> build
+ 418:423:float compatCornerTreatmentSize(com.google.android.material.shape.CornerTreatment) -> compatCornerTreatmentSize
+ 122:125:com.google.android.material.shape.ShapeAppearanceModel$Builder setAllCornerSizes(com.google.android.material.shape.CornerSize) -> setAllCornerSizes
+ 131:134:com.google.android.material.shape.ShapeAppearanceModel$Builder setAllCornerSizes(float) -> setAllCornerSizes
+ 98:99:com.google.android.material.shape.ShapeAppearanceModel$Builder setAllCorners(int,float) -> setAllCorners
+ 109:112:com.google.android.material.shape.ShapeAppearanceModel$Builder setAllCorners(com.google.android.material.shape.CornerTreatment) -> setAllCorners
+ 366:369:com.google.android.material.shape.ShapeAppearanceModel$Builder setAllEdges(com.google.android.material.shape.EdgeTreatment) -> setAllEdges
+ 412:413:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomEdge(com.google.android.material.shape.EdgeTreatment) -> setBottomEdge
+ 326:327:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomLeftCorner(int,float) -> setBottomLeftCorner
+ 339:340:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomLeftCorner(int,com.google.android.material.shape.CornerSize) -> setBottomLeftCorner
+ 350:356:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomLeftCorner(com.google.android.material.shape.CornerTreatment) -> setBottomLeftCorner
+ 182:183:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomLeftCornerSize(float) -> setBottomLeftCornerSize
+ 189:190:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomLeftCornerSize(com.google.android.material.shape.CornerSize) -> setBottomLeftCornerSize
+ 284:285:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomRightCorner(int,float) -> setBottomRightCorner
+ 297:298:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomRightCorner(int,com.google.android.material.shape.CornerSize) -> setBottomRightCorner
+ 308:314:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomRightCorner(com.google.android.material.shape.CornerTreatment) -> setBottomRightCorner
+ 168:169:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomRightCornerSize(float) -> setBottomRightCornerSize
+ 175:176:com.google.android.material.shape.ShapeAppearanceModel$Builder setBottomRightCornerSize(com.google.android.material.shape.CornerSize) -> setBottomRightCornerSize
+ 379:380:com.google.android.material.shape.ShapeAppearanceModel$Builder setLeftEdge(com.google.android.material.shape.EdgeTreatment) -> setLeftEdge
+ 401:402:com.google.android.material.shape.ShapeAppearanceModel$Builder setRightEdge(com.google.android.material.shape.EdgeTreatment) -> setRightEdge
+ 390:391:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopEdge(com.google.android.material.shape.EdgeTreatment) -> setTopEdge
+ 201:202:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopLeftCorner(int,float) -> setTopLeftCorner
+ 214:215:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopLeftCorner(int,com.google.android.material.shape.CornerSize) -> setTopLeftCorner
+ 225:231:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopLeftCorner(com.google.android.material.shape.CornerTreatment) -> setTopLeftCorner
+ 140:141:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopLeftCornerSize(float) -> setTopLeftCornerSize
+ 147:148:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopLeftCornerSize(com.google.android.material.shape.CornerSize) -> setTopLeftCornerSize
+ 242:243:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopRightCorner(int,float) -> setTopRightCorner
+ 255:256:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopRightCorner(int,com.google.android.material.shape.CornerSize) -> setTopRightCorner
+ 266:272:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopRightCorner(com.google.android.material.shape.CornerTreatment) -> setTopRightCorner
+ 154:155:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopRightCornerSize(float) -> setTopRightCornerSize
+ 161:162:com.google.android.material.shape.ShapeAppearanceModel$Builder setTopRightCornerSize(com.google.android.material.shape.CornerSize) -> setTopRightCornerSize
+com.google.android.material.shape.ShapeAppearancePathProvider -> com.google.android.material.shape.ShapeAppearancePathProvider:
+ 55:77:void <init>() -> <init>
+ 325:325:float angleOfEdge(int) -> angleOfEdge
+ 170:182:void appendCornerPath(com.google.android.material.shape.ShapeAppearancePathProvider$ShapeAppearancePathSpec,int) -> appendCornerPath
+ 185:230:void appendEdgePath(com.google.android.material.shape.ShapeAppearancePathProvider$ShapeAppearancePathSpec,int) -> appendEdgePath
+ 99:100:void calculatePath(com.google.android.material.shape.ShapeAppearanceModel,float,android.graphics.RectF,android.graphics.Path) -> calculatePath
+ 118:145:void calculatePath(com.google.android.material.shape.ShapeAppearanceModel,float,android.graphics.RectF,com.google.android.material.shape.ShapeAppearancePathProvider$PathListener,android.graphics.Path) -> calculatePath
+ 307:322:void getCoordinatesOfCorner(int,android.graphics.RectF,android.graphics.PointF) -> getCoordinatesOfCorner
+ 278:287:com.google.android.material.shape.CornerSize getCornerSizeForIndex(int,com.google.android.material.shape.ShapeAppearanceModel) -> getCornerSizeForIndex
+ 263:272:com.google.android.material.shape.CornerTreatment getCornerTreatmentForIndex(int,com.google.android.material.shape.ShapeAppearanceModel) -> getCornerTreatmentForIndex
+ 247:257:float getEdgeCenterForIndex(android.graphics.RectF,int) -> getEdgeCenterForIndex
+ 293:302:com.google.android.material.shape.EdgeTreatment getEdgeTreatmentForIndex(int,com.google.android.material.shape.ShapeAppearanceModel) -> getEdgeTreatmentForIndex
+ 83:83:com.google.android.material.shape.ShapeAppearancePathProvider getInstance() -> getInstance
+ 234:243:boolean pathOverlapsCorner(android.graphics.Path,int) -> pathOverlapsCorner
+ 148:157:void setCornerPathAndTransform(com.google.android.material.shape.ShapeAppearancePathProvider$ShapeAppearancePathSpec,int) -> setCornerPathAndTransform
+ 329:330:void setEdgeIntersectionCheckEnable(boolean) -> setEdgeIntersectionCheckEnable
+ 160:167:void setEdgePathAndTransform(int) -> setEdgePathAndTransform
+com.google.android.material.shape.ShapeAppearancePathProvider$Lazy -> com.google.android.material.shape.ShapeAppearancePathProvider$Lazy:
+ 39:39:void <clinit>() -> <clinit>
+ 38:38:void <init>() -> <init>
+com.google.android.material.shape.ShapeAppearancePathProvider$ShapeAppearancePathSpec -> com.google.android.material.shape.ShapeAppearancePathProvider$ShapeAppearancePathSpec:
+ 348:354:void <init>(com.google.android.material.shape.ShapeAppearanceModel,float,android.graphics.RectF,com.google.android.material.shape.ShapeAppearancePathProvider$PathListener,android.graphics.Path) -> <init>
+com.google.android.material.shape.ShapePath -> com.google.android.material.shape.ShapePath:
+ 90:96:void <init>() -> <init>
+ 90:100:void <init>(float,float) -> <init>
+ 211:233:void addArc(float,float,float,float,float,float) -> addArc
+ 293:308:void addConnectingShadowIfNecessary(float) -> addConnectingShadowIfNecessary
+ 275:278:void addShadowCompatOperation(com.google.android.material.shape.ShapePath$ShadowCompatOperation,float,float) -> addShadowCompatOperation
+ 242:246:void applyToPath(android.graphics.Matrix,android.graphics.Path) -> applyToPath
+ 285:285:boolean containsIncompatibleShadowOp() -> containsIncompatibleShadowOp
+ 255:258:com.google.android.material.shape.ShapePath$ShadowCompatOperation createShadowCompatOperation(android.graphics.Matrix) -> createShadowCompatOperation
+ 189:197:void cubicToPoint(float,float,float,float,float,float) -> cubicToPoint
+ 327:327:float getCurrentShadowAngle() -> getCurrentShadowAngle
+ 331:331:float getEndShadowAngle() -> getEndShadowAngle
+ 319:319:float getEndX() -> getEndX
+ 323:323:float getEndY() -> getEndY
+ 311:311:float getStartX() -> getStartX
+ 315:315:float getStartY() -> getStartY
+ 130:145:void lineTo(float,float) -> lineTo
+ 160:171:void quadToPoint(float,float,float,float) -> quadToPoint
+ 107:108:void reset(float,float) -> reset
+ 112:121:void reset(float,float,float,float) -> reset
+ 351:352:void setCurrentShadowAngle(float) -> setCurrentShadowAngle
+ 355:356:void setEndShadowAngle(float) -> setEndShadowAngle
+ 343:344:void setEndX(float) -> setEndX
+ 347:348:void setEndY(float) -> setEndY
+ 335:336:void setStartX(float) -> setStartX
+ 339:340:void setStartY(float) -> setStartY
+com.google.android.material.shape.ShapePath$1 -> com.google.android.material.shape.ShapePath$1:
+ 258:258:void <init>(com.google.android.material.shape.ShapePath,java.util.List,android.graphics.Matrix) -> <init>
+ 262:265:void draw(android.graphics.Matrix,com.google.android.material.shadow.ShadowRenderer,int,android.graphics.Canvas) -> draw
+com.google.android.material.shape.ShapePath$ArcShadowOperation -> com.google.android.material.shape.ShapePath$ArcShadowOperation:
+ 415:417:void <init>(com.google.android.material.shape.ShapePath$PathArcOperation) -> <init>
+ 425:432:void draw(android.graphics.Matrix,com.google.android.material.shadow.ShadowRenderer,int,android.graphics.Canvas) -> draw
+com.google.android.material.shape.ShapePath$LineShadowOperation -> com.google.android.material.shape.ShapePath$LineShadowOperation:
+ 383:387:void <init>(com.google.android.material.shape.ShapePath$PathLineOperation,float,float) -> <init>
+ 395:403:void draw(android.graphics.Matrix,com.google.android.material.shadow.ShadowRenderer,int,android.graphics.Canvas) -> draw
+ 406:406:float getAngle() -> getAngle
+com.google.android.material.shape.ShapePath$PathArcOperation -> com.google.android.material.shape.ShapePath$PathArcOperation:
+ 527:527:void <clinit>() -> <clinit>
+ 560:565:void <init>(float,float,float,float) -> <init>
+ 526:526:float access$1000(com.google.android.material.shape.ShapePath$PathArcOperation) -> access$1000
+ 526:526:float access$1100(com.google.android.material.shape.ShapePath$PathArcOperation) -> access$1100
+ 526:526:float access$1200(com.google.android.material.shape.ShapePath$PathArcOperation) -> access$1200
+ 526:526:float access$1300(com.google.android.material.shape.ShapePath$PathArcOperation) -> access$1300
+ 526:526:void access$600(com.google.android.material.shape.ShapePath$PathArcOperation,float) -> access$600
+ 526:526:void access$700(com.google.android.material.shape.ShapePath$PathArcOperation,float) -> access$700
+ 526:526:float access$800(com.google.android.material.shape.ShapePath$PathArcOperation) -> access$800
+ 526:526:float access$900(com.google.android.material.shape.ShapePath$PathArcOperation) -> access$900
+ 569:575:void applyToPath(android.graphics.Matrix,android.graphics.Path) -> applyToPath
+ 590:590:float getBottom() -> getBottom
+ 578:578:float getLeft() -> getLeft
+ 586:586:float getRight() -> getRight
+ 610:610:float getStartAngle() -> getStartAngle
+ 614:614:float getSweepAngle() -> getSweepAngle
+ 582:582:float getTop() -> getTop
+ 606:607:void setBottom(float) -> setBottom
+ 594:595:void setLeft(float) -> setLeft
+ 602:603:void setRight(float) -> setRight
+ 618:619:void setStartAngle(float) -> setStartAngle
+ 622:623:void setSweepAngle(float) -> setSweepAngle
+ 598:599:void setTop(float) -> setTop
+com.google.android.material.shape.ShapePath$PathCubicOperation -> com.google.android.material.shape.ShapePath$PathCubicOperation:
+ 647:654:void <init>(float,float,float,float,float,float) -> <init>
+ 658:663:void applyToPath(android.graphics.Matrix,android.graphics.Path) -> applyToPath
+ 666:666:float getControlX1() -> getControlX1
+ 682:682:float getControlX2() -> getControlX2
+ 674:674:float getControlY1() -> getControlY1
+ 690:690:float getControlY2() -> getControlY2
+ 698:698:float getEndX() -> getEndX
+ 706:706:float getEndY() -> getEndY
+ 670:671:void setControlX1(float) -> setControlX1
+ 686:687:void setControlX2(float) -> setControlX2
+ 678:679:void setControlY1(float) -> setControlY1
+ 694:695:void setControlY2(float) -> setControlY2
+ 702:703:void setEndX(float) -> setEndX
+ 710:711:void setEndY(float) -> setEndY
+com.google.android.material.shape.ShapePath$PathLineOperation -> com.google.android.material.shape.ShapePath$PathLineOperation:
+ 446:446:void <init>() -> <init>
+ 446:446:float access$000(com.google.android.material.shape.ShapePath$PathLineOperation) -> access$000
+ 446:446:float access$002(com.google.android.material.shape.ShapePath$PathLineOperation,float) -> access$002
+ 446:446:float access$100(com.google.android.material.shape.ShapePath$PathLineOperation) -> access$100
+ 446:446:float access$102(com.google.android.material.shape.ShapePath$PathLineOperation,float) -> access$102
+ 452:457:void applyToPath(android.graphics.Matrix,android.graphics.Path) -> applyToPath
+com.google.android.material.shape.ShapePath$PathOperation -> com.google.android.material.shape.ShapePath$PathOperation:
+ 436:439:void <init>() -> <init>
+com.google.android.material.shape.ShapePath$PathQuadOperation -> com.google.android.material.shape.ShapePath$PathQuadOperation:
+ 461:461:void <init>() -> <init>
+ 461:461:void access$200(com.google.android.material.shape.ShapePath$PathQuadOperation,float) -> access$200
+ 461:461:void access$300(com.google.android.material.shape.ShapePath$PathQuadOperation,float) -> access$300
+ 461:461:void access$400(com.google.android.material.shape.ShapePath$PathQuadOperation,float) -> access$400
+ 461:461:void access$500(com.google.android.material.shape.ShapePath$PathQuadOperation,float) -> access$500
+ 485:490:void applyToPath(android.graphics.Matrix,android.graphics.Path) -> applyToPath
+ 517:517:float getControlX() -> getControlX
+ 501:501:float getControlY() -> getControlY
+ 493:493:float getEndX() -> getEndX
+ 509:509:float getEndY() -> getEndY
+ 521:522:void setControlX(float) -> setControlX
+ 505:506:void setControlY(float) -> setControlY
+ 497:498:void setEndX(float) -> setEndX
+ 513:514:void setEndY(float) -> setEndY
+com.google.android.material.shape.ShapePath$ShadowCompatOperation -> com.google.android.material.shape.ShapePath$ShadowCompatOperation:
+ 364:364:void <clinit>() -> <clinit>
+ 362:362:void <init>() -> <init>
+ 368:369:void draw(com.google.android.material.shadow.ShadowRenderer,int,android.graphics.Canvas) -> draw
+com.google.android.material.shape.ShapePathModel -> com.google.android.material.shape.ShapePathModel:
+ 26:26:void <init>() -> <init>
+ 36:40:void setAllCorners(com.google.android.material.shape.CornerTreatment) -> setAllCorners
+ 50:54:void setAllEdges(com.google.android.material.shape.EdgeTreatment) -> setAllEdges
+ 172:173:void setBottomEdge(com.google.android.material.shape.EdgeTreatment) -> setBottomEdge
+ 139:140:void setBottomLeftCorner(com.google.android.material.shape.CornerTreatment) -> setBottomLeftCorner
+ 128:129:void setBottomRightCorner(com.google.android.material.shape.CornerTreatment) -> setBottomRightCorner
+ 71:75:void setCornerTreatments(com.google.android.material.shape.CornerTreatment,com.google.android.material.shape.CornerTreatment,com.google.android.material.shape.CornerTreatment,com.google.android.material.shape.CornerTreatment) -> setCornerTreatments
+ 92:96:void setEdgeTreatments(com.google.android.material.shape.EdgeTreatment,com.google.android.material.shape.EdgeTreatment,com.google.android.material.shape.EdgeTreatment,com.google.android.material.shape.EdgeTreatment) -> setEdgeTreatments
+ 183:184:void setLeftEdge(com.google.android.material.shape.EdgeTreatment) -> setLeftEdge
+ 161:162:void setRightEdge(com.google.android.material.shape.EdgeTreatment) -> setRightEdge
+ 150:151:void setTopEdge(com.google.android.material.shape.EdgeTreatment) -> setTopEdge
+ 106:107:void setTopLeftCorner(com.google.android.material.shape.CornerTreatment) -> setTopLeftCorner
+ 117:118:void setTopRightCorner(com.google.android.material.shape.CornerTreatment) -> setTopRightCorner
+com.google.android.material.shape.TriangleEdgeTreatment -> com.google.android.material.shape.TriangleEdgeTreatment:
+ 42:45:void <init>(float,boolean) -> <init>
+ 50:54:void getEdgePath(float,float,float,com.google.android.material.shape.ShapePath) -> getEdgePath
+com.google.android.material.slider.BaseSlider -> com.google.android.material.slider.BaseSlider:
+ 196:218:void <clinit>() -> <clinit>
+ 316:317:void <init>(android.content.Context) -> <init>
+ 320:321:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 240:384:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 190:190:com.google.android.material.tooltip.TooltipDrawable access$000(android.content.Context,android.content.res.TypedArray) -> access$000
+ 190:190:java.util.List access$100(com.google.android.material.slider.BaseSlider) -> access$100
+ 190:190:com.google.android.material.slider.BaseSlider$AccessibilityHelper access$300(com.google.android.material.slider.BaseSlider) -> access$300
+ 190:190:java.lang.String access$500(com.google.android.material.slider.BaseSlider,float) -> access$500
+ 190:190:boolean access$600(com.google.android.material.slider.BaseSlider,int,float) -> access$600
+ 190:190:void access$700(com.google.android.material.slider.BaseSlider) -> access$700
+ 190:190:float access$800(com.google.android.material.slider.BaseSlider,int) -> access$800
+ 823:824:void addOnChangeListener(com.google.android.material.slider.BaseOnChangeListener) -> addOnChangeListener
+ 846:847:void addOnSliderTouchListener(com.google.android.material.slider.BaseOnSliderTouchListener) -> addOnSliderTouchListener
+ 1430:1431:void attachLabelToContentView(com.google.android.material.tooltip.TooltipDrawable) -> attachLabelToContentView
+ 2265:2278:java.lang.Float calculateIncrementForKey(int) -> calculateIncrementForKey
+ 2284:2284:float calculateStepIncrement() -> calculateStepIncrement
+ 2292:2298:float calculateStepIncrement(int) -> calculateStepIncrement
+ 1514:1515:int calculateTop() -> calculateTop
+ 837:838:void clearOnChangeListeners() -> clearOnChangeListeners
+ 860:861:void clearOnSliderTouchListeners() -> clearOnSliderTouchListeners
+ 1924:1948:android.animation.ValueAnimator createLabelAnimator(boolean) -> createLabelAnimator
+ 719:743:void createLabelPool() -> createLabelPool
+ 1448:1453:void detachLabelFromContentView(com.google.android.material.tooltip.TooltipDrawable) -> detachLabelFromContentView
+ 1870:1873:float dimenToValue(float) -> dimenToValue
+ 2349:2349:boolean dispatchHoverEvent(android.view.MotionEvent) -> dispatchHoverEvent
+ 2356:2356:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 2074:2080:void dispatchOnChangedFromUser(int) -> dispatchOnChangedFromUser
+ 2065:2070:void dispatchOnChangedProgramatically() -> dispatchOnChangedProgramatically
+ 1591:1595:void drawActiveTrack(android.graphics.Canvas,int,int) -> drawActiveTrack
+ 1565:1576:void drawInactiveTrack(android.graphics.Canvas,int,int) -> drawInactiveTrack
+ 1627:1642:void drawThumbs(android.graphics.Canvas,int,int) -> drawThumbs
+ 2098:2114:void drawableStateChanged() -> drawableStateChanged
+ 1973:2007:void ensureLabelsAdded() -> ensureLabelsAdded
+ 1954:1970:void ensureLabelsRemoved() -> ensureLabelsRemoved
+ 2316:2334:void focusThumbOnFocusGained(int) -> focusThumbOnFocusGained
+ 2123:2124:void forceDrawCompatHalo(boolean) -> forceDrawCompatHalo
+ 2010:2014:java.lang.String formatValue(float) -> formatValue
+ 2344:2344:java.lang.CharSequence getAccessibilityClassName() -> getAccessibilityClassName
+ 2338:2338:int getAccessibilityFocusedVirtualViewId() -> getAccessibilityFocusedVirtualViewId
+ 1555:1561:float[] getActiveRange() -> getActiveRange
+ 813:813:int getActiveThumbIndex() -> getActiveThumbIndex
+ 1906:1912:float getAnimatorCurrentValueOrDefault(android.animation.ValueAnimator,float) -> getAnimatorCurrentValueOrDefault
+ 1858:1866:float getClampedValue(int,float) -> getClampedValue
+ 2118:2118:int getColorForState(android.content.res.ColorStateList) -> getColorForState
+ 794:794:int getFocusedThumbIndex() -> getFocusedThumbIndex
+ 1047:1047:int getHaloRadius() -> getHaloRadius
+ 1151:1151:android.content.res.ColorStateList getHaloTintList() -> getHaloTintList
+ 1089:1089:int getLabelBehavior() -> getLabelBehavior
+ 1881:1881:float getMinSeparation() -> getMinSeparation
+ 755:755:float getStepSize() -> getStepSize
+ 889:889:float getThumbElevation() -> getThumbElevation
+ 921:921:int getThumbRadius() -> getThumbRadius
+ 994:994:android.content.res.ColorStateList getThumbStrokeColor() -> getThumbStrokeColor
+ 1035:1035:float getThumbStrokeWidth() -> getThumbStrokeWidth
+ 1185:1185:android.content.res.ColorStateList getThumbTintList() -> getThumbTintList
+ 1248:1248:android.content.res.ColorStateList getTickActiveTintList() -> getTickActiveTintList
+ 1277:1277:android.content.res.ColorStateList getTickInactiveTintList() -> getTickInactiveTintList
+ 1217:1222:android.content.res.ColorStateList getTickTintList() -> getTickTintList
+ 1364:1364:android.content.res.ColorStateList getTrackActiveTintList() -> getTrackActiveTintList
+ 1126:1126:int getTrackHeight() -> getTrackHeight
+ 1393:1393:android.content.res.ColorStateList getTrackInactiveTintList() -> getTrackInactiveTintList
+ 1109:1109:int getTrackSidePadding() -> getTrackSidePadding
+ 1333:1338:android.content.res.ColorStateList getTrackTintList() -> getTrackTintList
+ 1115:1115:int getTrackWidth() -> getTrackWidth
+ 600:600:float getValueFrom() -> getValueFrom
+ 1885:1891:float getValueOfTouchPosition() -> getValueOfTouchPosition
+ 1820:1824:float getValueOfTouchPositionAbsolute() -> getValueOfTouchPositionAbsolute
+ 626:626:float getValueTo() -> getValueTo
+ 647:647:java.util.List getValues() -> getValues
+ 868:868:boolean hasLabelFormatter() -> hasLabelFormatter
+ 2037:2041:void invalidateTrack() -> invalidateTrack
+ 2051:2060:boolean isInVerticalScrollingContainer() -> isInVerticalScrollingContainer
+ 2219:2219:boolean isRtl() -> isRtl
+ 1303:1303:boolean isTickVisible() -> isTickVisible
+ 387:397:void loadResources(android.content.res.Resources) -> loadResources
+ 1472:1490:void maybeCalculateTicksCoordinates() -> maybeCalculateTicksCoordinates
+ 1646:1659:void maybeDrawHalo(android.graphics.Canvas,int,int) -> maybeDrawHalo
+ 1598:1622:void maybeDrawTicks(android.graphics.Canvas) -> maybeDrawTicks
+ 494:499:void maybeIncreaseTrackSidePadding() -> maybeIncreaseTrackSidePadding
+ 2231:2244:boolean moveFocus(int) -> moveFocus
+ 2255:2259:boolean moveFocusInAbsoluteDirection(int) -> moveFocusInAbsoluteDirection
+ 1583:1587:float normalizeValue(float) -> normalizeValue
+ 1422:1427:void onAttachedToWindow() -> onAttachedToWindow
+ 1435:1445:void onDetachedFromWindow() -> onDetachedFromWindow
+ 1520:1548:void onDraw(android.graphics.Canvas) -> onDraw
+ 2304:2313:void onFocusChanged(boolean,int,android.graphics.Rect) -> onFocusChanged
+ 2128:2172:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 2176:2209:java.lang.Boolean onKeyDownNoActiveThumb(int,android.view.KeyEvent) -> onKeyDownNoActiveThumb
+ 2214:2215:boolean onKeyUp(int,android.view.KeyEvent) -> onKeyUp
+ 1457:1463:void onMeasure(int,int) -> onMeasure
+ 2403:2414:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 2391:2398:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 1467:1469:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 2084:2087:void onStartTrackingTouch() -> onStartTrackingTouch
+ 2091:2094:void onStopTrackingTouch() -> onStopTrackingTouch
+ 1669:1749:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 486:490:com.google.android.material.tooltip.TooltipDrawable parseLabelDrawable(android.content.Context,android.content.res.TypedArray) -> parseLabelDrawable
+ 1778:1816:boolean pickActiveThumb() -> pickActiveThumb
+ 1760:1760:int pivotIndex(float[],float) -> pivotIndex
+ 400:481:void processAttributes(android.content.Context,android.util.AttributeSet,int) -> processAttributes
+ 832:833:void removeOnChangeListener(com.google.android.material.slider.BaseOnChangeListener) -> removeOnChangeListener
+ 855:856:void removeOnSliderTouchListener(com.google.android.material.slider.BaseOnSliderTouchListener) -> removeOnSliderTouchListener
+ 2365:2372:void scheduleAccessibilityEventSender(int) -> scheduleAccessibilityEventSender
+ 808:809:void setActiveThumbIndex(int) -> setActiveThumbIndex
+ 1414:1418:void setEnabled(boolean) -> setEnabled
+ 799:805:void setFocusedThumbIndex(int) -> setFocusedThumbIndex
+ 1057:1069:void setHaloRadius(int) -> setHaloRadius
+ 1078:1079:void setHaloRadiusResource(int) -> setHaloRadiusResource
+ 1161:1175:void setHaloTintList(android.content.res.ColorStateList) -> setHaloTintList
+ 1100:1104:void setLabelBehavior(int) -> setLabelBehavior
+ 878:879:void setLabelFormatter(com.google.android.material.slider.LabelFormatter) -> setLabelFormatter
+ 1877:1878:void setSeparationUnit(int) -> setSeparationUnit
+ 777:790:void setStepSize(float) -> setStepSize
+ 899:900:void setThumbElevation(float) -> setThumbElevation
+ 909:910:void setThumbElevationResource(int) -> setThumbElevationResource
+ 931:943:void setThumbRadius(int) -> setThumbRadius
+ 952:953:void setThumbRadiusResource(int) -> setThumbRadiusResource
+ 965:967:void setThumbStrokeColor(android.content.res.ColorStateList) -> setThumbStrokeColor
+ 979:983:void setThumbStrokeColorResource(int) -> setThumbStrokeColorResource
+ 1007:1009:void setThumbStrokeWidth(float) -> setThumbStrokeWidth
+ 1021:1024:void setThumbStrokeWidthResource(int) -> setThumbStrokeWidthResource
+ 1195:1201:void setThumbTintList(android.content.res.ColorStateList) -> setThumbTintList
+ 1259:1265:void setTickActiveTintList(android.content.res.ColorStateList) -> setTickActiveTintList
+ 1288:1294:void setTickInactiveTintList(android.content.res.ColorStateList) -> setTickInactiveTintList
+ 1234:1236:void setTickTintList(android.content.res.ColorStateList) -> setTickTintList
+ 1313:1317:void setTickVisible(boolean) -> setTickVisible
+ 1375:1381:void setTrackActiveTintList(android.content.res.ColorStateList) -> setTrackActiveTintList
+ 1136:1141:void setTrackHeight(int) -> setTrackHeight
+ 1404:1410:void setTrackInactiveTintList(android.content.res.ColorStateList) -> setTrackInactiveTintList
+ 1350:1352:void setTrackTintList(android.content.res.ColorStateList) -> setTrackTintList
+ 2018:2034:void setValueForLabel(com.google.android.material.tooltip.TooltipDrawable,float) -> setValueForLabel
+ 614:617:void setValueFrom(float) -> setValueFrom
+ 640:643:void setValueTo(float) -> setValueTo
+ 666:669:void setValues(java.lang.Float[]) -> setValues
+ 687:688:void setValues(java.util.List) -> setValues
+ 695:715:void setValuesInternal(java.util.ArrayList) -> setValuesInternal
+ 1662:1664:boolean shouldDrawCompatHalo() -> shouldDrawCompatHalo
+ 1838:1838:boolean snapActiveThumbToValue(float) -> snapActiveThumbToValue
+ 1764:1769:double snapPosition(float) -> snapPosition
+ 1843:1853:boolean snapThumbToValue(int,float) -> snapThumbToValue
+ 1834:1834:boolean snapTouchPosition() -> snapTouchPosition
+ 2468:2472:void updateBoundsForVirturalViewId(int,android.graphics.Rect) -> updateBoundsForVirturalViewId
+ 1502:1511:void updateHaloHotspot() -> updateHaloHotspot
+ 1494:1498:void updateTrackWidth(int) -> updateTrackWidth
+ 583:591:void validateConfigurationIfDirty() -> validateConfigurationIfDirty
+ 531:539:void validateStepSize() -> validateStepSize
+ 502:507:void validateValueFrom() -> validateValueFrom
+ 510:515:void validateValueTo() -> validateValueTo
+ 542:561:void validateValues() -> validateValues
+ 520:527:boolean valueLandsOnTick(float) -> valueLandsOnTick
+ 1895:1895:float valueToX(float) -> valueToX
+ 564:580:void warnAboutFloatingPointError() -> warnAboutFloatingPointError
+com.google.android.material.slider.BaseSlider$1 -> com.google.android.material.slider.BaseSlider$1:
+ 357:357:void <init>(com.google.android.material.slider.BaseSlider,android.util.AttributeSet,int) -> <init>
+ 360:365:com.google.android.material.tooltip.TooltipDrawable createTooltipDrawable() -> createTooltipDrawable
+com.google.android.material.slider.BaseSlider$2 -> com.google.android.material.slider.BaseSlider$2:
+ 1937:1937:void <init>(com.google.android.material.slider.BaseSlider) -> <init>
+ 1940:1946:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.slider.BaseSlider$3 -> com.google.android.material.slider.BaseSlider$3:
+ 1959:1959:void <init>(com.google.android.material.slider.BaseSlider) -> <init>
+ 1962:1966:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.slider.BaseSlider$AccessibilityEventSender -> com.google.android.material.slider.BaseSlider$AccessibilityEventSender:
+ 2375:2376:void <init>(com.google.android.material.slider.BaseSlider) -> <init>
+ 2375:2375:void <init>(com.google.android.material.slider.BaseSlider,com.google.android.material.slider.BaseSlider$1) -> <init>
+ 2384:2386:void run() -> run
+ 2379:2380:void setVirtualViewId(int) -> setVirtualViewId
+com.google.android.material.slider.BaseSlider$AccessibilityHelper -> com.google.android.material.slider.BaseSlider$AccessibilityHelper:
+ 2477:2482:void <init>(com.google.android.material.slider.BaseSlider) -> <init>
+ 2486:2493:int getVirtualViewAt(float,float) -> getVirtualViewAt
+ 2498:2501:void getVisibleVirtualViews(java.util.List) -> getVisibleVirtualViews
+ 2558:2608:boolean onPerformActionForVirtualView(int,int,android.os.Bundle) -> onPerformActionForVirtualView
+ 2507:2539:void onPopulateNodeForVirtualView(int,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onPopulateNodeForVirtualView
+ 2543:2552:java.lang.String startOrEndDescription(int) -> startOrEndDescription
+com.google.android.material.slider.BaseSlider$SliderState -> com.google.android.material.slider.BaseSlider$SliderState:
+ 2424:2424:void <clinit>() -> <clinit>
+ 2416:2416:void <init>(android.os.Parcel,com.google.android.material.slider.BaseSlider$1) -> <init>
+ 2441:2442:void <init>(android.os.Parcelable) -> <init>
+ 2445:2452:void <init>(android.os.Parcel) -> <init>
+ 2456:2464:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.slider.BaseSlider$SliderState$1 -> com.google.android.material.slider.BaseSlider$SliderState$1:
+ 2425:2425:void <init>() -> <init>
+ 2425:2425:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 2430:2430:com.google.android.material.slider.BaseSlider$SliderState createFromParcel(android.os.Parcel) -> createFromParcel
+ 2425:2425:java.lang.Object[] newArray(int) -> newArray
+ 2436:2436:com.google.android.material.slider.BaseSlider$SliderState[] newArray(int) -> newArray
+com.google.android.material.slider.BasicLabelFormatter -> com.google.android.material.slider.BasicLabelFormatter:
+ 27:27:void <init>() -> <init>
+ 37:47:java.lang.String getFormattedValue(float) -> getFormattedValue
+com.google.android.material.slider.RangeSlider -> com.google.android.material.slider.RangeSlider:
+ 57:58:void <init>(android.content.Context) -> <init>
+ 61:62:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 65:77:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 51:51:void clearOnChangeListeners() -> clearOnChangeListeners
+ 51:51:void clearOnSliderTouchListeners() -> clearOnSliderTouchListeners
+ 118:122:java.util.List convertToFloat(android.content.res.TypedArray) -> convertToFloat
+ 51:51:boolean dispatchHoverEvent(android.view.MotionEvent) -> dispatchHoverEvent
+ 51:51:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 51:51:java.lang.CharSequence getAccessibilityClassName() -> getAccessibilityClassName
+ 51:51:int getActiveThumbIndex() -> getActiveThumbIndex
+ 51:51:int getFocusedThumbIndex() -> getFocusedThumbIndex
+ 51:51:int getHaloRadius() -> getHaloRadius
+ 51:51:android.content.res.ColorStateList getHaloTintList() -> getHaloTintList
+ 51:51:int getLabelBehavior() -> getLabelBehavior
+ 133:133:float getMinSeparation() -> getMinSeparation
+ 51:51:float getStepSize() -> getStepSize
+ 51:51:float getThumbElevation() -> getThumbElevation
+ 51:51:int getThumbRadius() -> getThumbRadius
+ 51:51:android.content.res.ColorStateList getThumbStrokeColor() -> getThumbStrokeColor
+ 51:51:float getThumbStrokeWidth() -> getThumbStrokeWidth
+ 51:51:android.content.res.ColorStateList getThumbTintList() -> getThumbTintList
+ 51:51:android.content.res.ColorStateList getTickActiveTintList() -> getTickActiveTintList
+ 51:51:android.content.res.ColorStateList getTickInactiveTintList() -> getTickInactiveTintList
+ 51:51:android.content.res.ColorStateList getTickTintList() -> getTickTintList
+ 51:51:android.content.res.ColorStateList getTrackActiveTintList() -> getTrackActiveTintList
+ 51:51:int getTrackHeight() -> getTrackHeight
+ 51:51:android.content.res.ColorStateList getTrackInactiveTintList() -> getTrackInactiveTintList
+ 51:51:int getTrackSidePadding() -> getTrackSidePadding
+ 51:51:android.content.res.ColorStateList getTrackTintList() -> getTrackTintList
+ 51:51:int getTrackWidth() -> getTrackWidth
+ 51:51:float getValueFrom() -> getValueFrom
+ 51:51:float getValueTo() -> getValueTo
+ 114:114:java.util.List getValues() -> getValues
+ 51:51:boolean hasLabelFormatter() -> hasLabelFormatter
+ 51:51:boolean isTickVisible() -> isTickVisible
+ 51:51:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 51:51:boolean onKeyUp(int,android.view.KeyEvent) -> onKeyUp
+ 176:182:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 165:171:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 51:51:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 51:51:void setEnabled(boolean) -> setEnabled
+ 51:51:void setFocusedThumbIndex(int) -> setFocusedThumbIndex
+ 51:51:void setHaloRadius(int) -> setHaloRadius
+ 51:51:void setHaloRadiusResource(int) -> setHaloRadiusResource
+ 51:51:void setHaloTintList(android.content.res.ColorStateList) -> setHaloTintList
+ 51:51:void setLabelBehavior(int) -> setLabelBehavior
+ 51:51:void setLabelFormatter(com.google.android.material.slider.LabelFormatter) -> setLabelFormatter
+ 143:146:void setMinSeparation(float) -> setMinSeparation
+ 157:160:void setMinSeparationValue(float) -> setMinSeparationValue
+ 51:51:void setStepSize(float) -> setStepSize
+ 51:51:void setThumbElevation(float) -> setThumbElevation
+ 51:51:void setThumbElevationResource(int) -> setThumbElevationResource
+ 51:51:void setThumbRadius(int) -> setThumbRadius
+ 51:51:void setThumbRadiusResource(int) -> setThumbRadiusResource
+ 51:51:void setThumbStrokeColor(android.content.res.ColorStateList) -> setThumbStrokeColor
+ 51:51:void setThumbStrokeColorResource(int) -> setThumbStrokeColorResource
+ 51:51:void setThumbStrokeWidth(float) -> setThumbStrokeWidth
+ 51:51:void setThumbStrokeWidthResource(int) -> setThumbStrokeWidthResource
+ 51:51:void setThumbTintList(android.content.res.ColorStateList) -> setThumbTintList
+ 51:51:void setTickActiveTintList(android.content.res.ColorStateList) -> setTickActiveTintList
+ 51:51:void setTickInactiveTintList(android.content.res.ColorStateList) -> setTickInactiveTintList
+ 51:51:void setTickTintList(android.content.res.ColorStateList) -> setTickTintList
+ 51:51:void setTickVisible(boolean) -> setTickVisible
+ 51:51:void setTrackActiveTintList(android.content.res.ColorStateList) -> setTrackActiveTintList
+ 51:51:void setTrackHeight(int) -> setTrackHeight
+ 51:51:void setTrackInactiveTintList(android.content.res.ColorStateList) -> setTrackInactiveTintList
+ 51:51:void setTrackTintList(android.content.res.ColorStateList) -> setTrackTintList
+ 51:51:void setValueFrom(float) -> setValueFrom
+ 51:51:void setValueTo(float) -> setValueTo
+ 97:98:void setValues(java.lang.Float[]) -> setValues
+ 107:108:void setValues(java.util.List) -> setValues
+com.google.android.material.slider.RangeSlider$RangeSliderState -> com.google.android.material.slider.RangeSlider$RangeSliderState:
+ 206:206:void <clinit>() -> <clinit>
+ 184:184:void <init>(android.os.Parcel,com.google.android.material.slider.RangeSlider$1) -> <init>
+ 190:191:void <init>(android.os.Parcelable) -> <init>
+ 194:197:void <init>(android.os.Parcel) -> <init>
+ 184:184:float access$000(com.google.android.material.slider.RangeSlider$RangeSliderState) -> access$000
+ 184:184:float access$002(com.google.android.material.slider.RangeSlider$RangeSliderState,float) -> access$002
+ 184:184:int access$100(com.google.android.material.slider.RangeSlider$RangeSliderState) -> access$100
+ 184:184:int access$102(com.google.android.material.slider.RangeSlider$RangeSliderState,int) -> access$102
+ 201:204:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.slider.RangeSlider$RangeSliderState$1 -> com.google.android.material.slider.RangeSlider$RangeSliderState$1:
+ 207:207:void <init>() -> <init>
+ 207:207:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 210:210:com.google.android.material.slider.RangeSlider$RangeSliderState createFromParcel(android.os.Parcel) -> createFromParcel
+ 207:207:java.lang.Object[] newArray(int) -> newArray
+ 215:215:com.google.android.material.slider.RangeSlider$RangeSliderState[] newArray(int) -> newArray
+com.google.android.material.slider.Slider -> com.google.android.material.slider.Slider:
+ 52:53:void <init>(android.content.Context) -> <init>
+ 56:57:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 60:66:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 40:40:void clearOnChangeListeners() -> clearOnChangeListeners
+ 40:40:void clearOnSliderTouchListeners() -> clearOnSliderTouchListeners
+ 40:40:boolean dispatchHoverEvent(android.view.MotionEvent) -> dispatchHoverEvent
+ 40:40:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 40:40:java.lang.CharSequence getAccessibilityClassName() -> getAccessibilityClassName
+ 40:40:int getActiveThumbIndex() -> getActiveThumbIndex
+ 40:40:int getFocusedThumbIndex() -> getFocusedThumbIndex
+ 40:40:int getHaloRadius() -> getHaloRadius
+ 40:40:android.content.res.ColorStateList getHaloTintList() -> getHaloTintList
+ 40:40:int getLabelBehavior() -> getLabelBehavior
+ 40:40:float getStepSize() -> getStepSize
+ 40:40:float getThumbElevation() -> getThumbElevation
+ 40:40:int getThumbRadius() -> getThumbRadius
+ 40:40:android.content.res.ColorStateList getThumbStrokeColor() -> getThumbStrokeColor
+ 40:40:float getThumbStrokeWidth() -> getThumbStrokeWidth
+ 40:40:android.content.res.ColorStateList getThumbTintList() -> getThumbTintList
+ 40:40:android.content.res.ColorStateList getTickActiveTintList() -> getTickActiveTintList
+ 40:40:android.content.res.ColorStateList getTickInactiveTintList() -> getTickInactiveTintList
+ 40:40:android.content.res.ColorStateList getTickTintList() -> getTickTintList
+ 40:40:android.content.res.ColorStateList getTrackActiveTintList() -> getTrackActiveTintList
+ 40:40:int getTrackHeight() -> getTrackHeight
+ 40:40:android.content.res.ColorStateList getTrackInactiveTintList() -> getTrackInactiveTintList
+ 40:40:int getTrackSidePadding() -> getTrackSidePadding
+ 40:40:android.content.res.ColorStateList getTrackTintList() -> getTrackTintList
+ 40:40:int getTrackWidth() -> getTrackWidth
+ 75:75:float getValue() -> getValue
+ 40:40:float getValueFrom() -> getValueFrom
+ 40:40:float getValueTo() -> getValueTo
+ 40:40:boolean hasLabelFormatter() -> hasLabelFormatter
+ 40:40:boolean isTickVisible() -> isTickVisible
+ 40:40:boolean onKeyDown(int,android.view.KeyEvent) -> onKeyDown
+ 40:40:boolean onKeyUp(int,android.view.KeyEvent) -> onKeyUp
+ 40:40:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 100:105:boolean pickActiveThumb() -> pickActiveThumb
+ 40:40:void setEnabled(boolean) -> setEnabled
+ 40:40:void setFocusedThumbIndex(int) -> setFocusedThumbIndex
+ 40:40:void setHaloRadius(int) -> setHaloRadius
+ 40:40:void setHaloRadiusResource(int) -> setHaloRadiusResource
+ 40:40:void setHaloTintList(android.content.res.ColorStateList) -> setHaloTintList
+ 40:40:void setLabelBehavior(int) -> setLabelBehavior
+ 40:40:void setLabelFormatter(com.google.android.material.slider.LabelFormatter) -> setLabelFormatter
+ 40:40:void setStepSize(float) -> setStepSize
+ 40:40:void setThumbElevation(float) -> setThumbElevation
+ 40:40:void setThumbElevationResource(int) -> setThumbElevationResource
+ 40:40:void setThumbRadius(int) -> setThumbRadius
+ 40:40:void setThumbRadiusResource(int) -> setThumbRadiusResource
+ 40:40:void setThumbStrokeColor(android.content.res.ColorStateList) -> setThumbStrokeColor
+ 40:40:void setThumbStrokeColorResource(int) -> setThumbStrokeColorResource
+ 40:40:void setThumbStrokeWidth(float) -> setThumbStrokeWidth
+ 40:40:void setThumbStrokeWidthResource(int) -> setThumbStrokeWidthResource
+ 40:40:void setThumbTintList(android.content.res.ColorStateList) -> setThumbTintList
+ 40:40:void setTickActiveTintList(android.content.res.ColorStateList) -> setTickActiveTintList
+ 40:40:void setTickInactiveTintList(android.content.res.ColorStateList) -> setTickInactiveTintList
+ 40:40:void setTickTintList(android.content.res.ColorStateList) -> setTickTintList
+ 40:40:void setTickVisible(boolean) -> setTickVisible
+ 40:40:void setTrackActiveTintList(android.content.res.ColorStateList) -> setTrackActiveTintList
+ 40:40:void setTrackHeight(int) -> setTrackHeight
+ 40:40:void setTrackInactiveTintList(android.content.res.ColorStateList) -> setTrackInactiveTintList
+ 40:40:void setTrackTintList(android.content.res.ColorStateList) -> setTrackTintList
+ 95:96:void setValue(float) -> setValue
+ 40:40:void setValueFrom(float) -> setValueFrom
+ 40:40:void setValueTo(float) -> setValueTo
+com.google.android.material.snackbar.BaseTransientBottomBar -> com.google.android.material.snackbar.BaseTransientBottomBar:
+ 227:254:void <clinit>() -> <clinit>
+ 353:354:void <init>(android.view.ViewGroup,android.view.View,com.google.android.material.snackbar.ContentViewCallback) -> <init>
+ 266:712:void <init>(android.content.Context,android.view.ViewGroup,android.view.View,com.google.android.material.snackbar.ContentViewCallback) -> <init>
+ 95:95:boolean access$000(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$000
+ 95:95:int access$1002(com.google.android.material.snackbar.BaseTransientBottomBar,int) -> access$1002
+ 95:95:int access$102(com.google.android.material.snackbar.BaseTransientBottomBar,int) -> access$102
+ 95:95:int access$1102(com.google.android.material.snackbar.BaseTransientBottomBar,int) -> access$1102
+ 95:95:void access$1200(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$1200
+ 95:95:void access$1400(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$1400
+ 95:95:void access$1500(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$1500
+ 95:95:com.google.android.material.snackbar.ContentViewCallback access$1600(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$1600
+ 95:95:boolean access$1700() -> access$1700
+ 95:95:int access$200(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$200
+ 95:95:void access$300(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$300
+ 95:95:android.content.Context access$400(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$400
+ 95:95:int access$500(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$500
+ 95:95:int access$600(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$600
+ 95:95:int access$700(com.google.android.material.snackbar.BaseTransientBottomBar) -> access$700
+ 95:95:int access$702(com.google.android.material.snackbar.BaseTransientBottomBar,int) -> access$702
+ 95:95:java.lang.String access$800() -> access$800
+ 95:95:int access$902(com.google.android.material.snackbar.BaseTransientBottomBar,int) -> access$902
+ 669:676:com.google.android.material.snackbar.BaseTransientBottomBar addCallback(com.google.android.material.snackbar.BaseTransientBottomBar$BaseCallback) -> addCallback
+ 887:905:void animateViewIn() -> animateViewIn
+ 908:913:void animateViewOut(int) -> animateViewOut
+ 870:882:int calculateBottomMarginForAnchorView() -> calculateBottomMarginForAnchorView
+ 653:654:void dismiss() -> dismiss
+ 657:658:void dispatchDismiss(int) -> dispatchDismiss
+ 946:955:android.animation.ValueAnimator getAlphaAnimator(float[]) -> getAlphaAnimator
+ 569:569:android.view.View getAnchorView() -> getAnchorView
+ 547:547:int getAnimationMode() -> getAnimationMode
+ 631:631:com.google.android.material.snackbar.BaseTransientBottomBar$Behavior getBehavior() -> getBehavior
+ 637:637:android.content.Context getContext() -> getContext
+ 515:515:int getDuration() -> getDuration
+ 729:729:com.google.android.material.behavior.SwipeDismissBehavior getNewBehavior() -> getNewBehavior
+ 959:970:android.animation.ValueAnimator getScaleAnimator(float[]) -> getScaleAnimator
+ 817:820:int getScreenHeight() -> getScreenHeight
+ 481:481:int getSnackbarBaseLayoutResId() -> getSnackbarBaseLayoutResId
+ 1058:1063:int getTranslationYBottom() -> getTranslationYBottom
+ 643:643:android.view.View getView() -> getView
+ 810:812:int getViewAbsoluteBottom() -> getViewAbsoluteBottom
+ 490:493:boolean hasSnackbarStyleAttr() -> hasSnackbarStyleAttr
+ 1067:1073:void hideView(int) -> hideView
+ 601:601:boolean isAnchorViewLayoutListenerEnabled() -> isAnchorViewLayoutListenerEnabled
+ 537:537:boolean isGestureInsetBottomIgnored() -> isGestureInsetBottomIgnored
+ 701:701:boolean isShown() -> isShown
+ 709:709:boolean isShownOrQueued() -> isShownOrQueued
+ 473:475:boolean isSwipeDismissable() -> isSwipeDismissable
+ 1089:1103:void onViewHidden(int) -> onViewHidden
+ 1076:1085:void onViewShown() -> onViewShown
+ 688:696:com.google.android.material.snackbar.BaseTransientBottomBar removeCallback(com.google.android.material.snackbar.BaseTransientBottomBar$BaseCallback) -> removeCallback
+ 575:578:com.google.android.material.snackbar.BaseTransientBottomBar setAnchorView(android.view.View) -> setAnchorView
+ 588:592:com.google.android.material.snackbar.BaseTransientBottomBar setAnchorView(int) -> setAnchorView
+ 610:611:void setAnchorViewLayoutListenerEnabled(boolean) -> setAnchorViewLayoutListenerEnabled
+ 558:559:com.google.android.material.snackbar.BaseTransientBottomBar setAnimationMode(int) -> setAnimationMode
+ 621:622:com.google.android.material.snackbar.BaseTransientBottomBar setBehavior(com.google.android.material.snackbar.BaseTransientBottomBar$Behavior) -> setBehavior
+ 504:505:com.google.android.material.snackbar.BaseTransientBottomBar setDuration(int) -> setDuration
+ 528:529:com.google.android.material.snackbar.BaseTransientBottomBar setGestureInsetBottomIgnored(boolean) -> setGestureInsetBottomIgnored
+ 825:867:void setUpBehavior(androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams) -> setUpBehavior
+ 1107:1113:boolean shouldAnimate() -> shouldAnimate
+ 469:469:boolean shouldUpdateGestureInset() -> shouldUpdateGestureInset
+ 648:649:void show() -> show
+ 733:794:void showView() -> showView
+ 797:807:void showViewImpl() -> showViewImpl
+ 916:930:void startFadeInAnimation() -> startFadeInAnimation
+ 933:943:void startFadeOutAnimation(int) -> startFadeOutAnimation
+ 974:1017:void startSlideInAnimation() -> startSlideInAnimation
+ 1020:1055:void startSlideOutAnimation(int) -> startSlideOutAnimation
+ 447:466:void updateMargins() -> updateMargins
+com.google.android.material.snackbar.BaseTransientBottomBar$1 -> com.google.android.material.snackbar.BaseTransientBottomBar$1:
+ 239:239:void <init>() -> <init>
+ 242:250:boolean handleMessage(android.os.Message) -> handleMessage
+com.google.android.material.snackbar.BaseTransientBottomBar$10 -> com.google.android.material.snackbar.BaseTransientBottomBar$10:
+ 888:888:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 891:903:void run() -> run
+com.google.android.material.snackbar.BaseTransientBottomBar$11 -> com.google.android.material.snackbar.BaseTransientBottomBar$11:
+ 923:923:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 926:927:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.snackbar.BaseTransientBottomBar$12 -> com.google.android.material.snackbar.BaseTransientBottomBar$12:
+ 936:936:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar,int) -> <init>
+ 939:940:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.snackbar.BaseTransientBottomBar$13 -> com.google.android.material.snackbar.BaseTransientBottomBar$13:
+ 949:949:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 952:953:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.snackbar.BaseTransientBottomBar$14 -> com.google.android.material.snackbar.BaseTransientBottomBar$14:
+ 962:962:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 965:968:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.snackbar.BaseTransientBottomBar$15 -> com.google.android.material.snackbar.BaseTransientBottomBar$15:
+ 986:986:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 995:996:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 989:991:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.snackbar.BaseTransientBottomBar$16 -> com.google.android.material.snackbar.BaseTransientBottomBar$16:
+ 999:1000:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar,int) -> <init>
+ 1004:1014:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.snackbar.BaseTransientBottomBar$17 -> com.google.android.material.snackbar.BaseTransientBottomBar$17:
+ 1025:1025:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar,int) -> <init>
+ 1033:1034:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 1028:1029:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.snackbar.BaseTransientBottomBar$18 -> com.google.android.material.snackbar.BaseTransientBottomBar$18:
+ 1037:1038:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 1042:1052:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.snackbar.BaseTransientBottomBar$2 -> com.google.android.material.snackbar.BaseTransientBottomBar$2:
+ 268:268:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 271:276:void onGlobalLayout() -> onGlobalLayout
+com.google.android.material.snackbar.BaseTransientBottomBar$3 -> com.google.android.material.snackbar.BaseTransientBottomBar$3:
+ 281:281:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 284:308:void run() -> run
+com.google.android.material.snackbar.BaseTransientBottomBar$4 -> com.google.android.material.snackbar.BaseTransientBottomBar$4:
+ 406:406:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 412:416:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+com.google.android.material.snackbar.BaseTransientBottomBar$5 -> com.google.android.material.snackbar.BaseTransientBottomBar$5:
+ 423:423:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 427:430:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 434:438:boolean performAccessibilityAction(android.view.View,int,android.os.Bundle) -> performAccessibilityAction
+com.google.android.material.snackbar.BaseTransientBottomBar$6 -> com.google.android.material.snackbar.BaseTransientBottomBar$6:
+ 714:714:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 722:724:void dismiss(int) -> dismiss
+ 717:718:void show() -> show
+com.google.android.material.snackbar.BaseTransientBottomBar$7 -> com.google.android.material.snackbar.BaseTransientBottomBar$7:
+ 734:734:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 737:744:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 748:761:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+com.google.android.material.snackbar.BaseTransientBottomBar$7$1 -> com.google.android.material.snackbar.BaseTransientBottomBar$7$1:
+ 754:754:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar$7) -> <init>
+ 757:758:void run() -> run
+com.google.android.material.snackbar.BaseTransientBottomBar$8 -> com.google.android.material.snackbar.BaseTransientBottomBar$8:
+ 787:787:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 790:792:void onLayoutChange(android.view.View,int,int,int,int) -> onLayoutChange
+com.google.android.material.snackbar.BaseTransientBottomBar$9 -> com.google.android.material.snackbar.BaseTransientBottomBar$9:
+ 835:835:void <init>(com.google.android.material.snackbar.BaseTransientBottomBar) -> <init>
+ 838:842:void onDismiss(android.view.View) -> onDismiss
+ 846:859:void onDragStateChanged(int) -> onDragStateChanged
+com.google.android.material.snackbar.BaseTransientBottomBar$BaseCallback -> com.google.android.material.snackbar.BaseTransientBottomBar$BaseCallback:
+ 119:119:void <init>() -> <init>
+ 159:159:void onDismissed(java.lang.Object,int) -> onDismissed
+ 169:169:void onShown(java.lang.Object) -> onShown
+com.google.android.material.snackbar.BaseTransientBottomBar$Behavior -> com.google.android.material.snackbar.BaseTransientBottomBar$Behavior:
+ 1299:1301:void <init>() -> <init>
+ 1296:1296:void access$1300(com.google.android.material.snackbar.BaseTransientBottomBar$Behavior,com.google.android.material.snackbar.BaseTransientBottomBar) -> access$1300
+ 1310:1310:boolean canSwipeDismissView(android.view.View) -> canSwipeDismissView
+ 1316:1317:boolean onInterceptTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onInterceptTouchEvent
+ 1305:1306:void setBaseTransientBottomBar(com.google.android.material.snackbar.BaseTransientBottomBar) -> setBaseTransientBottomBar
+com.google.android.material.snackbar.BaseTransientBottomBar$BehaviorDelegate -> com.google.android.material.snackbar.BaseTransientBottomBar$BehaviorDelegate:
+ 1327:1331:void <init>(com.google.android.material.behavior.SwipeDismissBehavior) -> <init>
+ 1339:1339:boolean canSwipeDismissView(android.view.View) -> canSwipeDismissView
+ 1344:1359:void onInterceptTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onInterceptTouchEvent
+ 1335:1336:void setBaseTransientBottomBar(com.google.android.material.snackbar.BaseTransientBottomBar) -> setBaseTransientBottomBar
+com.google.android.material.snackbar.BaseTransientBottomBar$SnackbarBaseLayout -> com.google.android.material.snackbar.BaseTransientBottomBar$SnackbarBaseLayout:
+ 1120:1120:void <clinit>() -> <clinit>
+ 1139:1140:void <init>(android.content.Context) -> <init>
+ 1143:1170:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1274:1290:android.graphics.drawable.Drawable createThemedBackground() -> createThemedBackground
+ 1269:1269:float getActionTextColorAlpha() -> getActionTextColorAlpha
+ 1257:1257:int getAnimationMode() -> getAnimationMode
+ 1265:1265:float getBackgroundOverlayColorAlpha() -> getBackgroundOverlayColorAlpha
+ 1229:1235:void onAttachedToWindow() -> onAttachedToWindow
+ 1239:1243:void onDetachedFromWindow() -> onDetachedFromWindow
+ 1221:1225:void onLayout(boolean,int,int,int,int) -> onLayout
+ 1261:1262:void setAnimationMode(int) -> setAnimationMode
+ 1174:1175:void setBackground(android.graphics.drawable.Drawable) -> setBackground
+ 1179:1185:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 1189:1198:void setBackgroundTintList(android.content.res.ColorStateList) -> setBackgroundTintList
+ 1202:1210:void setBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setBackgroundTintMode
+ 1252:1253:void setOnAttachStateChangeListener(com.google.android.material.snackbar.BaseTransientBottomBar$OnAttachStateChangeListener) -> setOnAttachStateChangeListener
+ 1215:1217:void setOnClickListener(android.view.View$OnClickListener) -> setOnClickListener
+ 1247:1248:void setOnLayoutChangeListener(com.google.android.material.snackbar.BaseTransientBottomBar$OnLayoutChangeListener) -> setOnLayoutChangeListener
+com.google.android.material.snackbar.BaseTransientBottomBar$SnackbarBaseLayout$1 -> com.google.android.material.snackbar.BaseTransientBottomBar$SnackbarBaseLayout$1:
+ 1121:1121:void <init>() -> <init>
+ 1126:1126:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+com.google.android.material.snackbar.Snackbar -> com.google.android.material.snackbar.Snackbar:
+ 69:70:void <clinit>() -> <clinit>
+ 111:114:void <init>(android.content.Context,android.view.ViewGroup,android.view.View,com.google.android.material.snackbar.ContentViewCallback) -> <init>
+ 127:128:void dismiss() -> dismiss
+ 267:291:android.view.ViewGroup findSuitableParent(android.view.View) -> findSuitableParent
+ 363:375:int getDuration() -> getDuration
+ 230:233:boolean hasSnackbarButtonStyleAttr(android.content.Context) -> hasSnackbarButtonStyleAttr
+ 237:241:boolean hasSnackbarContentStyleAttrs(android.content.Context) -> hasSnackbarContentStyleAttrs
+ 134:134:boolean isShown() -> isShown
+ 157:157:com.google.android.material.snackbar.Snackbar make(android.view.View,java.lang.CharSequence,int) -> make
+ 184:184:com.google.android.material.snackbar.Snackbar make(android.content.Context,android.view.View,java.lang.CharSequence,int) -> make
+ 262:262:com.google.android.material.snackbar.Snackbar make(android.view.View,int,int) -> make
+ 196:218:com.google.android.material.snackbar.Snackbar makeInternal(android.content.Context,android.view.View,java.lang.CharSequence,int) -> makeInternal
+ 325:325:com.google.android.material.snackbar.Snackbar setAction(int,android.view.View$OnClickListener) -> setAction
+ 337:357:com.google.android.material.snackbar.Snackbar setAction(java.lang.CharSequence,android.view.View$OnClickListener) -> setAction
+ 410:413:com.google.android.material.snackbar.Snackbar setActionTextColor(android.content.res.ColorStateList) -> setActionTextColor
+ 433:436:com.google.android.material.snackbar.Snackbar setActionTextColor(int) -> setActionTextColor
+ 442:442:com.google.android.material.snackbar.Snackbar setBackgroundTint(int) -> setBackgroundTint
+ 448:449:com.google.android.material.snackbar.Snackbar setBackgroundTintList(android.content.res.ColorStateList) -> setBackgroundTintList
+ 454:455:com.google.android.material.snackbar.Snackbar setBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setBackgroundTintMode
+ 474:483:com.google.android.material.snackbar.Snackbar setCallback(com.google.android.material.snackbar.Snackbar$Callback) -> setCallback
+ 422:424:com.google.android.material.snackbar.Snackbar setMaxInlineActionWidth(int) -> setMaxInlineActionWidth
+ 301:304:com.google.android.material.snackbar.Snackbar setText(java.lang.CharSequence) -> setText
+ 314:314:com.google.android.material.snackbar.Snackbar setText(int) -> setText
+ 386:389:com.google.android.material.snackbar.Snackbar setTextColor(android.content.res.ColorStateList) -> setTextColor
+ 398:401:com.google.android.material.snackbar.Snackbar setTextColor(int) -> setTextColor
+ 120:121:void show() -> show
+com.google.android.material.snackbar.Snackbar$1 -> com.google.android.material.snackbar.Snackbar$1:
+ 348:348:void <init>(com.google.android.material.snackbar.Snackbar,android.view.View$OnClickListener) -> <init>
+ 351:354:void onClick(android.view.View) -> onClick
+com.google.android.material.snackbar.Snackbar$Callback -> com.google.android.material.snackbar.Snackbar$Callback:
+ 81:81:void <init>() -> <init>
+ 81:81:void onDismissed(java.lang.Object,int) -> onDismissed
+ 101:101:void onDismissed(com.google.android.material.snackbar.Snackbar,int) -> onDismissed
+ 81:81:void onShown(java.lang.Object) -> onShown
+ 96:96:void onShown(com.google.android.material.snackbar.Snackbar) -> onShown
+com.google.android.material.snackbar.Snackbar$SnackbarLayout -> com.google.android.material.snackbar.Snackbar$SnackbarLayout:
+ 493:494:void <init>(android.content.Context) -> <init>
+ 497:498:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 502:517:void onMeasure(int,int) -> onMeasure
+ 490:490:void setBackground(android.graphics.drawable.Drawable) -> setBackground
+ 490:490:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 490:490:void setBackgroundTintList(android.content.res.ColorStateList) -> setBackgroundTintList
+ 490:490:void setBackgroundTintMode(android.graphics.PorterDuff$Mode) -> setBackgroundTintMode
+ 490:490:void setOnClickListener(android.view.View$OnClickListener) -> setOnClickListener
+com.google.android.material.snackbar.SnackbarContentLayout -> com.google.android.material.snackbar.SnackbarContentLayout:
+ 45:46:void <init>(android.content.Context) -> <init>
+ 49:55:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 148:155:void animateContentIn(int,int) -> animateContentIn
+ 159:166:void animateContentOut(int,int) -> animateContentOut
+ 69:69:android.widget.Button getActionView() -> getActionView
+ 65:65:android.widget.TextView getMessageView() -> getMessageView
+ 59:62:void onFinishInflate() -> onFinishInflate
+ 84:115:void onMeasure(int,int) -> onMeasure
+ 169:170:void setMaxInlineActionWidth(int) -> setMaxInlineActionWidth
+ 73:80:void updateActionTextColorAlphaIfNeeded(float) -> updateActionTextColorAlphaIfNeeded
+ 134:144:void updateTopBottomPadding(android.view.View,int,int) -> updateTopBottomPadding
+ 119:129:boolean updateViewsWithinLayout(int,int,int) -> updateViewsWithinLayout
+com.google.android.material.snackbar.SnackbarManager -> com.google.android.material.snackbar.SnackbarManager:
+ 49:66:void <init>() -> <init>
+ 205:212:boolean cancelSnackbarLocked(com.google.android.material.snackbar.SnackbarManager$SnackbarRecord,int) -> cancelSnackbarLocked
+ 107:114:void dismiss(com.google.android.material.snackbar.SnackbarManager$Callback,int) -> dismiss
+ 37:40:com.google.android.material.snackbar.SnackbarManager getInstance() -> getInstance
+ 240:245:void handleTimeout(com.google.android.material.snackbar.SnackbarManager$SnackbarRecord) -> handleTimeout
+ 163:165:boolean isCurrent(com.google.android.material.snackbar.SnackbarManager$Callback) -> isCurrent
+ 169:171:boolean isCurrentOrNext(com.google.android.material.snackbar.SnackbarManager$Callback) -> isCurrentOrNext
+ 216:216:boolean isCurrentSnackbarLocked(com.google.android.material.snackbar.SnackbarManager$Callback) -> isCurrentSnackbarLocked
+ 220:220:boolean isNextSnackbarLocked(com.google.android.material.snackbar.SnackbarManager$Callback) -> isNextSnackbarLocked
+ 121:130:void onDismissed(com.google.android.material.snackbar.SnackbarManager$Callback) -> onDismissed
+ 137:142:void onShown(com.google.android.material.snackbar.SnackbarManager$Callback) -> onShown
+ 145:151:void pauseTimeout(com.google.android.material.snackbar.SnackbarManager$Callback) -> pauseTimeout
+ 154:160:void restoreTimeoutIfPaused(com.google.android.material.snackbar.SnackbarManager$Callback) -> restoreTimeoutIfPaused
+ 224:237:void scheduleTimeoutLocked(com.google.android.material.snackbar.SnackbarManager$SnackbarRecord) -> scheduleTimeoutLocked
+ 75:104:void show(int,com.google.android.material.snackbar.SnackbarManager$Callback) -> show
+ 190:202:void showNextSnackbarLocked() -> showNextSnackbarLocked
+com.google.android.material.snackbar.SnackbarManager$1 -> com.google.android.material.snackbar.SnackbarManager$1:
+ 54:54:void <init>(com.google.android.material.snackbar.SnackbarManager) -> <init>
+ 57:62:boolean handleMessage(android.os.Message) -> handleMessage
+com.google.android.material.snackbar.SnackbarManager$SnackbarRecord -> com.google.android.material.snackbar.SnackbarManager$SnackbarRecord:
+ 179:182:void <init>(int,com.google.android.material.snackbar.SnackbarManager$Callback) -> <init>
+ 185:185:boolean isSnackbar(com.google.android.material.snackbar.SnackbarManager$Callback) -> isSnackbar
+com.google.android.material.stateful.ExtendableSavedState -> com.google.android.material.stateful.ExtendableSavedState:
+ 91:91:void <clinit>() -> <clinit>
+ 36:36:void <init>(android.os.Parcel,java.lang.ClassLoader,com.google.android.material.stateful.ExtendableSavedState$1) -> <init>
+ 41:43:void <init>(android.os.Parcelable) -> <init>
+ 46:60:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 84:85:java.lang.String toString() -> toString
+ 64:79:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.stateful.ExtendableSavedState$1 -> com.google.android.material.stateful.ExtendableSavedState$1:
+ 92:92:void <init>() -> <init>
+ 92:92:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 92:92:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 97:97:com.google.android.material.stateful.ExtendableSavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 103:103:com.google.android.material.stateful.ExtendableSavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 92:92:java.lang.Object[] newArray(int) -> newArray
+ 109:109:com.google.android.material.stateful.ExtendableSavedState[] newArray(int) -> newArray
+com.google.android.material.switchmaterial.SwitchMaterial -> com.google.android.material.switchmaterial.SwitchMaterial:
+ 46:47:void <clinit>() -> <clinit>
+ 62:63:void <init>(android.content.Context) -> <init>
+ 66:67:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 70:84:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 121:141:android.content.res.ColorStateList getMaterialThemeColorsThumbTintList() -> getMaterialThemeColorsThumbTintList
+ 145:162:android.content.res.ColorStateList getMaterialThemeColorsTrackTintList() -> getMaterialThemeColorsTrackTintList
+ 117:117:boolean isUseMaterialThemeColors() -> isUseMaterialThemeColors
+ 88:96:void onAttachedToWindow() -> onAttachedToWindow
+ 105:113:void setUseMaterialThemeColors(boolean) -> setUseMaterialThemeColors
+com.google.android.material.tabs.ElasticTabIndicatorInterpolator -> com.google.android.material.tabs.ElasticTabIndicatorInterpolator:
+ 32:32:void <init>() -> <init>
+ 43:43:float accInterp(float) -> accInterp
+ 37:37:float decInterp(float) -> decInterp
+ 55:78:void setIndicatorBoundsForOffset(com.google.android.material.tabs.TabLayout,android.view.View,android.view.View,float,android.graphics.drawable.Drawable) -> setIndicatorBoundsForOffset
+com.google.android.material.tabs.TabIndicatorInterpolator -> com.google.android.material.tabs.TabIndicatorInterpolator:
+ 48:48:void <init>() -> <init>
+ 104:114:android.graphics.RectF calculateIndicatorWidthForTab(com.google.android.material.tabs.TabLayout,android.view.View) -> calculateIndicatorWidthForTab
+ 72:87:android.graphics.RectF calculateTabViewContentBounds(com.google.android.material.tabs.TabLayout$TabView,int) -> calculateTabViewContentBounds
+ 161:170:void setIndicatorBoundsForOffset(com.google.android.material.tabs.TabLayout,android.view.View,android.view.View,float,android.graphics.drawable.Drawable) -> setIndicatorBoundsForOffset
+ 129:135:void setIndicatorBoundsForTab(com.google.android.material.tabs.TabLayout,android.view.View,android.graphics.drawable.Drawable) -> setIndicatorBoundsForTab
+com.google.android.material.tabs.TabItem -> com.google.android.material.tabs.TabItem:
+ 48:49:void <init>(android.content.Context) -> <init>
+ 52:60:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+com.google.android.material.tabs.TabLayout -> com.google.android.material.tabs.TabLayout:
+ 179:200:void <clinit>() -> <clinit>
+ 484:485:void <init>(android.content.Context) -> <init>
+ 488:489:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 425:613:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 177:177:com.google.android.material.tabs.TabIndicatorInterpolator access$1200(com.google.android.material.tabs.TabLayout) -> access$1200
+ 177:177:int access$1400(com.google.android.material.tabs.TabLayout) -> access$1400
+ 801:802:void addOnTabSelectedListener(com.google.android.material.tabs.TabLayout$OnTabSelectedListener) -> addOnTabSelectedListener
+ 816:819:void addOnTabSelectedListener(com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener) -> addOnTabSelectedListener
+ 704:705:void addTab(com.google.android.material.tabs.TabLayout$Tab) -> addTab
+ 715:716:void addTab(com.google.android.material.tabs.TabLayout$Tab,int) -> addTab
+ 725:726:void addTab(com.google.android.material.tabs.TabLayout$Tab,boolean) -> addTab
+ 736:745:void addTab(com.google.android.material.tabs.TabLayout$Tab,int,boolean) -> addTab
+ 748:762:void addTabFromItemView(com.google.android.material.tabs.TabItem) -> addTabFromItemView
+ 1576:1580:void addTabView(com.google.android.material.tabs.TabLayout$Tab) -> addTabView
+ 1584:1585:void addView(android.view.View) -> addView
+ 1589:1590:void addView(android.view.View,int) -> addView
+ 1594:1595:void addView(android.view.View,android.view.ViewGroup$LayoutParams) -> addView
+ 1599:1600:void addView(android.view.View,int,android.view.ViewGroup$LayoutParams) -> addView
+ 1603:1608:void addViewInternal(android.view.View) -> addViewInternal
+ 1739:1764:void animateToTab(int) -> animateToTab
+ 1922:1938:void applyGravityForModeScrollable(int) -> applyGravityForModeScrollable
+ 1895:1919:void applyModeAndGravity() -> applyModeAndGravity
+ 1873:1891:int calculateScrollXForTab(int,float) -> calculateScrollXForTab
+ 845:846:void clearOnTabSelectedListeners() -> clearOnTabSelectedListeners
+ 1566:1573:void configureTab(com.google.android.material.tabs.TabLayout$Tab,int) -> configureTab
+ 3274:3287:android.content.res.ColorStateList createColorStateList(int,int) -> createColorStateList
+ 1612:1615:android.widget.LinearLayout$LayoutParams createLayoutParamsForTabs() -> createLayoutParamsForTabs
+ 869:873:com.google.android.material.tabs.TabLayout$Tab createTabFromPool() -> createTabFromPool
+ 1550:1562:com.google.android.material.tabs.TabLayout$TabView createTabView(com.google.android.material.tabs.TabLayout$Tab) -> createTabView
+ 1867:1870:void dispatchTabReselected(com.google.android.material.tabs.TabLayout$Tab) -> dispatchTabReselected
+ 1855:1858:void dispatchTabSelected(com.google.android.material.tabs.TabLayout$Tab) -> dispatchTabSelected
+ 1861:1864:void dispatchTabUnselected(com.google.android.material.tabs.TabLayout$Tab) -> dispatchTabUnselected
+ 1767:1779:void ensureScrollAnimator() -> ensureScrollAnimator
+ 176:176:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 3318:3318:android.widget.FrameLayout$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 3292:3300:int getDefaultHeight() -> getDefaultHeight
+ 902:902:int getSelectedTabPosition() -> getSelectedTabPosition
+ 893:893:com.google.android.material.tabs.TabLayout$Tab getTabAt(int) -> getTabAt
+ 887:887:int getTabCount() -> getTabCount
+ 1014:1014:int getTabGravity() -> getTabGravity
+ 1263:1263:android.content.res.ColorStateList getTabIconTint() -> getTabIconTint
+ 1088:1088:int getTabIndicatorAnimationMode() -> getTabIndicatorAnimationMode
+ 1047:1047:int getTabIndicatorGravity() -> getTabIndicatorGravity
+ 3322:3322:int getTabMaxWidth() -> getTabMaxWidth
+ 3304:3309:int getTabMinWidth() -> getTabMinWidth
+ 991:991:int getTabMode() -> getTabMode
+ 1274:1274:android.content.res.ColorStateList getTabRippleColor() -> getTabRippleColor
+ 1499:1500:int getTabScrollRange() -> getTabScrollRange
+ 1321:1321:android.graphics.drawable.Drawable getTabSelectedIndicator() -> getTabSelectedIndicator
+ 1225:1225:android.content.res.ColorStateList getTabTextColors() -> getTabTextColors
+ 1207:1207:boolean hasUnboundedRipple() -> hasUnboundedRipple
+ 1163:1163:boolean isInlineLabel() -> isInlineLabel
+ 1120:1120:boolean isTabIndicatorFullWidth() -> isTabIndicatorFullWidth
+ 857:864:com.google.android.material.tabs.TabLayout$Tab newTab() -> newTab
+ 1471:1485:void onAttachedToWindow() -> onAttachedToWindow
+ 1489:1496:void onDetachedFromWindow() -> onDetachedFromWindow
+ 1651:1659:void onDraw(android.graphics.Canvas) -> onDraw
+ 1638:1646:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 1665:1726:void onMeasure(int,int) -> onMeasure
+ 1524:1540:void populateFromPagerAdapter() -> populateFromPagerAdapter
+ 878:878:boolean releaseFromTabPool(com.google.android.material.tabs.TabLayout$Tab) -> releaseFromTabPool
+ 948:960:void removeAllTabs() -> removeAllTabs
+ 828:829:void removeOnTabSelectedListener(com.google.android.material.tabs.TabLayout$OnTabSelectedListener) -> removeOnTabSelectedListener
+ 840:841:void removeOnTabSelectedListener(com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener) -> removeOnTabSelectedListener
+ 912:917:void removeTab(com.google.android.material.tabs.TabLayout$Tab) -> removeTab
+ 926:943:void removeTabAt(int) -> removeTabAt
+ 1729:1736:void removeTabViewAt(int) -> removeTabViewAt
+ 1809:1810:void selectTab(com.google.android.material.tabs.TabLayout$Tab) -> selectTab
+ 1821:1852:void selectTab(com.google.android.material.tabs.TabLayout$Tab,boolean) -> selectTab
+ 1631:1634:void setElevation(float) -> setElevation
+ 1131:1141:void setInlineLabel(boolean) -> setInlineLabel
+ 1152:1153:void setInlineLabelResource(int) -> setInlineLabelResource
+ 770:771:void setOnTabSelectedListener(com.google.android.material.tabs.TabLayout$OnTabSelectedListener) -> setOnTabSelectedListener
+ 781:790:void setOnTabSelectedListener(com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener) -> setOnTabSelectedListener
+ 1504:1521:void setPagerAdapter(androidx.viewpager.widget.PagerAdapter,boolean) -> setPagerAdapter
+ 1782:1784:void setScrollAnimatorListener(android.animation.Animator$AnimatorListener) -> setScrollAnimatorListener
+ 655:656:void setScrollPosition(int,float,boolean) -> setScrollPosition
+ 675:695:void setScrollPosition(int,float,boolean,boolean) -> setScrollPosition
+ 1338:1342:void setSelectedTabIndicator(android.graphics.drawable.Drawable) -> setSelectedTabIndicator
+ 1355:1361:void setSelectedTabIndicator(int) -> setSelectedTabIndicator
+ 627:628:void setSelectedTabIndicatorColor(int) -> setSelectedTabIndicatorColor
+ 1032:1036:void setSelectedTabIndicatorGravity(int) -> setSelectedTabIndicatorGravity
+ 640:641:void setSelectedTabIndicatorHeight(int) -> setSelectedTabIndicatorHeight
+ 1792:1800:void setSelectedTabView(int) -> setSelectedTabView
+ 1001:1005:void setTabGravity(int) -> setTabGravity
+ 1244:1248:void setTabIconTint(android.content.res.ColorStateList) -> setTabIconTint
+ 1257:1258:void setTabIconTintResource(int) -> setTabIconTintResource
+ 1063:1075:void setTabIndicatorAnimationMode(int) -> setTabIndicatorAnimationMode
+ 1107:1109:void setTabIndicatorFullWidth(boolean) -> setTabIndicatorFullWidth
+ 978:982:void setTabMode(int) -> setTabMode
+ 1288:1297:void setTabRippleColor(android.content.res.ColorStateList) -> setTabRippleColor
+ 1309:1310:void setTabRippleColorResource(int) -> setTabRippleColorResource
+ 1216:1220:void setTabTextColors(android.content.res.ColorStateList) -> setTabTextColors
+ 1235:1236:void setTabTextColors(int,int) -> setTabTextColors
+ 1460:1461:void setTabsFromPagerAdapter(androidx.viewpager.widget.PagerAdapter) -> setTabsFromPagerAdapter
+ 1176:1185:void setUnboundedRipple(boolean) -> setUnboundedRipple
+ 1196:1197:void setUnboundedRippleResource(int) -> setUnboundedRippleResource
+ 1372:1373:void setupWithViewPager(androidx.viewpager.widget.ViewPager) -> setupWithViewPager
+ 1392:1393:void setupWithViewPager(androidx.viewpager.widget.ViewPager,boolean) -> setupWithViewPager
+ 1397:1451:void setupWithViewPager(androidx.viewpager.widget.ViewPager,boolean,boolean) -> setupWithViewPager
+ 1466:1466:boolean shouldDelayChildPressedState() -> shouldDelayChildPressedState
+ 1543:1546:void updateAllTabs() -> updateAllTabs
+ 1619:1626:void updateTabViewLayoutParams(android.widget.LinearLayout$LayoutParams) -> updateTabViewLayoutParams
+ 1941:1949:void updateTabViews(boolean) -> updateTabViews
+com.google.android.material.tabs.TabLayout$1 -> com.google.android.material.tabs.TabLayout$1:
+ 1772:1772:void <init>(com.google.android.material.tabs.TabLayout) -> <init>
+ 1775:1776:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.tabs.TabLayout$AdapterChangeListener -> com.google.android.material.tabs.TabLayout$AdapterChangeListener:
+ 3432:3432:void <init>(com.google.android.material.tabs.TabLayout) -> <init>
+ 3439:3442:void onAdapterChanged(androidx.viewpager.widget.ViewPager,androidx.viewpager.widget.PagerAdapter,androidx.viewpager.widget.PagerAdapter) -> onAdapterChanged
+ 3445:3446:void setAutoRefresh(boolean) -> setAutoRefresh
+com.google.android.material.tabs.TabLayout$PagerAdapterObserver -> com.google.android.material.tabs.TabLayout$PagerAdapterObserver:
+ 3416:3416:void <init>(com.google.android.material.tabs.TabLayout) -> <init>
+ 3420:3421:void onChanged() -> onChanged
+ 3425:3426:void onInvalidated() -> onInvalidated
+com.google.android.material.tabs.TabLayout$SlidingTabIndicator -> com.google.android.material.tabs.TabLayout$SlidingTabIndicator:
+ 2961:2971:void <init>(com.google.android.material.tabs.TabLayout,android.content.Context) -> <init>
+ 2959:2959:void access$1300(com.google.android.material.tabs.TabLayout$SlidingTabIndicator,android.view.View,android.view.View,float) -> access$1300
+ 3151:3156:void animateIndicatorToPosition(int,int) -> animateIndicatorToPosition
+ 2980:2986:boolean childrenNeedLayout() -> childrenNeedLayout
+ 3215:3269:void draw(android.graphics.Canvas) -> draw
+ 3011:3011:float getIndicatorPosition() -> getIndicatorPosition
+ 3107:3110:void jumpIndicatorToSelectedPosition() -> jumpIndicatorToSelectedPosition
+ 3090:3103:void onLayout(boolean,int,int,int,int) -> onLayout
+ 3030:3086:void onMeasure(int,int) -> onMeasure
+ 3016:3026:void onRtlPropertiesChanged(int) -> onRtlPropertiesChanged
+ 2997:3008:void setIndicatorPositionFromTabPosition(int,float) -> setIndicatorPositionFromTabPosition
+ 2974:2977:void setSelectedIndicatorHeight(int) -> setSelectedIndicatorHeight
+ 3128:3139:void tweenIndicatorPosition(android.view.View,android.view.View,float) -> tweenIndicatorPosition
+ 3168:3211:void updateOrRecreateIndicatorAnimation(boolean,int,int) -> updateOrRecreateIndicatorAnimation
+com.google.android.material.tabs.TabLayout$SlidingTabIndicator$1 -> com.google.android.material.tabs.TabLayout$SlidingTabIndicator$1:
+ 3179:3179:void <init>(com.google.android.material.tabs.TabLayout$SlidingTabIndicator,android.view.View,android.view.View) -> <init>
+ 3182:3183:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.tabs.TabLayout$SlidingTabIndicator$2 -> com.google.android.material.tabs.TabLayout$SlidingTabIndicator$2:
+ 3194:3194:void <init>(com.google.android.material.tabs.TabLayout$SlidingTabIndicator,int) -> <init>
+ 3202:3203:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 3197:3198:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.tabs.TabLayout$Tab -> com.google.android.material.tabs.TabLayout$Tab:
+ 1969:1982:void <init>() -> <init>
+ 1953:1953:int access$000(com.google.android.material.tabs.TabLayout$Tab) -> access$000
+ 1953:1953:int access$1100(com.google.android.material.tabs.TabLayout$Tab) -> access$1100
+ 1953:1953:java.lang.CharSequence access$200(com.google.android.material.tabs.TabLayout$Tab) -> access$200
+ 1953:1953:java.lang.CharSequence access$300(com.google.android.material.tabs.TabLayout$Tab) -> access$300
+ 2200:2200:com.google.android.material.badge.BadgeDrawable getBadge() -> getBadge
+ 2304:2304:java.lang.CharSequence getContentDescription() -> getContentDescription
+ 2031:2031:android.view.View getCustomView() -> getCustomView
+ 2077:2077:android.graphics.drawable.Drawable getIcon() -> getIcon
+ 2020:2020:int getId() -> getId
+ 2183:2183:com.google.android.material.badge.BadgeDrawable getOrCreateBadge() -> getOrCreateBadge
+ 2087:2087:int getPosition() -> getPosition
+ 2241:2241:int getTabLabelVisibility() -> getTabLabelVisibility
+ 1987:1987:java.lang.Object getTag() -> getTag
+ 2101:2101:java.lang.CharSequence getText() -> getText
+ 2254:2257:boolean isSelected() -> isSelected
+ 2191:2192:void removeBadge() -> removeBadge
+ 2314:2323:void reset() -> reset
+ 2246:2250:void select() -> select
+ 2271:2274:com.google.android.material.tabs.TabLayout$Tab setContentDescription(int) -> setContentDescription
+ 2288:2290:com.google.android.material.tabs.TabLayout$Tab setContentDescription(java.lang.CharSequence) -> setContentDescription
+ 2047:2049:com.google.android.material.tabs.TabLayout$Tab setCustomView(android.view.View) -> setCustomView
+ 2066:2067:com.google.android.material.tabs.TabLayout$Tab setCustomView(int) -> setCustomView
+ 2112:2123:com.google.android.material.tabs.TabLayout$Tab setIcon(android.graphics.drawable.Drawable) -> setIcon
+ 2134:2137:com.google.android.material.tabs.TabLayout$Tab setIcon(int) -> setIcon
+ 2011:2015:com.google.android.material.tabs.TabLayout$Tab setId(int) -> setId
+ 2091:2092:void setPosition(int) -> setPosition
+ 2218:2229:com.google.android.material.tabs.TabLayout$Tab setTabLabelVisibility(int) -> setTabLabelVisibility
+ 1998:1999:com.google.android.material.tabs.TabLayout$Tab setTag(java.lang.Object) -> setTag
+ 2149:2157:com.google.android.material.tabs.TabLayout$Tab setText(java.lang.CharSequence) -> setText
+ 2169:2172:com.google.android.material.tabs.TabLayout$Tab setText(int) -> setText
+ 2308:2311:void updateView() -> updateView
+com.google.android.material.tabs.TabLayout$TabLayoutOnPageChangeListener -> com.google.android.material.tabs.TabLayout$TabLayoutOnPageChangeListener:
+ 3339:3341:void <init>(com.google.android.material.tabs.TabLayout) -> <init>
+ 3345:3347:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 3352:3365:void onPageScrolled(int,float,int) -> onPageScrolled
+ 3369:3381:void onPageSelected(int) -> onPageSelected
+ 3384:3385:void reset() -> reset
+com.google.android.material.tabs.TabLayout$TabView -> com.google.android.material.tabs.TabLayout$TabView:
+ 2339:2351:void <init>(com.google.android.material.tabs.TabLayout,android.content.Context) -> <init>
+ 2327:2327:void access$100(com.google.android.material.tabs.TabLayout$TabView,android.content.Context) -> access$100
+ 2327:2327:void access$1000(com.google.android.material.tabs.TabLayout$TabView,android.view.View) -> access$1000
+ 2327:2327:void access$400(com.google.android.material.tabs.TabLayout$TabView,android.graphics.Canvas) -> access$400
+ 2327:2327:boolean access$500(com.google.android.material.tabs.TabLayout$TabView) -> access$500
+ 2327:2327:com.google.android.material.badge.BadgeDrawable access$600(com.google.android.material.tabs.TabLayout$TabView) -> access$600
+ 2327:2327:com.google.android.material.badge.BadgeDrawable access$700(com.google.android.material.tabs.TabLayout$TabView) -> access$700
+ 2327:2327:void access$800(com.google.android.material.tabs.TabLayout$TabView) -> access$800
+ 2327:2327:com.google.android.material.badge.BadgeDrawable access$900(com.google.android.material.tabs.TabLayout$TabView) -> access$900
+ 2718:2739:void addOnLayoutChangeListener(android.view.View) -> addOnLayoutChangeListener
+ 2955:2955:float approximateLineWidth(android.text.Layout,int,float) -> approximateLineWidth
+ 2799:2806:void clipViewToPaddingForBadge(boolean) -> clipViewToPaddingForBadge
+ 2678:2683:android.widget.FrameLayout createPreApi18BadgeAnchorRoot() -> createPreApi18BadgeAnchorRoot
+ 2409:2413:void drawBackground(android.graphics.Canvas) -> drawBackground
+ 2417:2428:void drawableStateChanged() -> drawableStateChanged
+ 2707:2707:com.google.android.material.badge.BadgeDrawable getBadge() -> getBadge
+ 2933:2945:int getContentHeight() -> getContentHeight
+ 2911:2923:int getContentWidth() -> getContentWidth
+ 2898:2901:android.widget.FrameLayout getCustomParentForBadge(android.view.View) -> getCustomParentForBadge
+ 2695:2702:com.google.android.material.badge.BadgeDrawable getOrCreateBadge() -> getOrCreateBadge
+ 2950:2950:com.google.android.material.tabs.TabLayout$Tab getTab() -> getTab
+ 2893:2893:boolean hasBadgeDrawable() -> hasBadgeDrawable
+ 2651:2661:void inflateAndAddDefaultIconView() -> inflateAndAddDefaultIconView
+ 2664:2674:void inflateAndAddDefaultTextView() -> inflateAndAddDefaultTextView
+ 2471:2491:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 2495:2556:void onMeasure(int,int) -> onMeasure
+ 2432:2441:boolean performClick() -> performClick
+ 2711:2715:void removeBadge() -> removeBadge
+ 2566:2568:void reset() -> reset
+ 2447:2467:void setSelected(boolean) -> setSelected
+ 2559:2563:void setTab(com.google.android.material.tabs.TabLayout$Tab) -> setTab
+ 2774:2783:void tryAttachBadgeToAnchor(android.view.View) -> tryAttachBadgeToAnchor
+ 2786:2794:void tryRemoveBadgeFromAnchor() -> tryRemoveBadgeFromAnchor
+ 2742:2771:void tryUpdateBadgeAnchor() -> tryUpdateBadgeAnchor
+ 2887:2890:void tryUpdateBadgeDrawableBounds(android.view.View) -> tryUpdateBadgeDrawableBounds
+ 2571:2648:void update() -> update
+ 2354:2396:void updateBackgroundDrawable(android.content.Context) -> updateBackgroundDrawable
+ 2809:2815:void updateOrientation() -> updateOrientation
+ 2819:2883:void updateTextAndIcon(android.widget.TextView,android.widget.ImageView) -> updateTextAndIcon
+com.google.android.material.tabs.TabLayout$TabView$1 -> com.google.android.material.tabs.TabLayout$TabView$1:
+ 2722:2722:void <init>(com.google.android.material.tabs.TabLayout$TabView,android.view.View) -> <init>
+ 2734:2737:void onLayoutChange(android.view.View,int,int,int,int,int,int,int,int) -> onLayoutChange
+com.google.android.material.tabs.TabLayout$ViewPagerOnTabSelectedListener -> com.google.android.material.tabs.TabLayout$ViewPagerOnTabSelectedListener:
+ 3395:3397:void <init>(androidx.viewpager.widget.ViewPager) -> <init>
+ 3412:3412:void onTabReselected(com.google.android.material.tabs.TabLayout$Tab) -> onTabReselected
+ 3401:3402:void onTabSelected(com.google.android.material.tabs.TabLayout$Tab) -> onTabSelected
+ 3407:3407:void onTabUnselected(com.google.android.material.tabs.TabLayout$Tab) -> onTabUnselected
+com.google.android.material.tabs.TabLayoutMediator -> com.google.android.material.tabs.TabLayoutMediator:
+ 79:80:void <init>(com.google.android.material.tabs.TabLayout,androidx.viewpager2.widget.ViewPager2,com.google.android.material.tabs.TabLayoutMediator$TabConfigurationStrategy) -> <init>
+ 87:88:void <init>(com.google.android.material.tabs.TabLayout,androidx.viewpager2.widget.ViewPager2,boolean,com.google.android.material.tabs.TabLayoutMediator$TabConfigurationStrategy) -> <init>
+ 95:101:void <init>(com.google.android.material.tabs.TabLayout,androidx.viewpager2.widget.ViewPager2,boolean,boolean,com.google.android.material.tabs.TabLayoutMediator$TabConfigurationStrategy) -> <init>
+ 112:142:void attach() -> attach
+ 150:160:void detach() -> detach
+ 166:166:boolean isAttached() -> isAttached
+ 171:189:void populateTabsFromPagerAdapter() -> populateTabsFromPagerAdapter
+com.google.android.material.tabs.TabLayoutMediator$PagerAdapterObserver -> com.google.android.material.tabs.TabLayoutMediator$PagerAdapterObserver:
+ 283:283:void <init>(com.google.android.material.tabs.TabLayoutMediator) -> <init>
+ 287:288:void onChanged() -> onChanged
+ 292:293:void onItemRangeChanged(int,int) -> onItemRangeChanged
+ 297:298:void onItemRangeChanged(int,int,java.lang.Object) -> onItemRangeChanged
+ 302:303:void onItemRangeInserted(int,int) -> onItemRangeInserted
+ 312:313:void onItemRangeMoved(int,int,int) -> onItemRangeMoved
+ 307:308:void onItemRangeRemoved(int,int) -> onItemRangeRemoved
+com.google.android.material.tabs.TabLayoutMediator$TabLayoutOnPageChangeCallback -> com.google.android.material.tabs.TabLayoutMediator$TabLayoutOnPageChangeCallback:
+ 204:207:void <init>(com.google.android.material.tabs.TabLayout) -> <init>
+ 211:213:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 217:230:void onPageScrolled(int,float,int) -> onPageScrolled
+ 234:246:void onPageSelected(int) -> onPageSelected
+ 249:250:void reset() -> reset
+com.google.android.material.tabs.TabLayoutMediator$ViewPagerOnTabSelectedListener -> com.google.android.material.tabs.TabLayoutMediator$ViewPagerOnTabSelectedListener:
+ 261:264:void <init>(androidx.viewpager2.widget.ViewPager2,boolean) -> <init>
+ 279:279:void onTabReselected(com.google.android.material.tabs.TabLayout$Tab) -> onTabReselected
+ 268:269:void onTabSelected(com.google.android.material.tabs.TabLayout$Tab) -> onTabSelected
+ 274:274:void onTabUnselected(com.google.android.material.tabs.TabLayout$Tab) -> onTabUnselected
+com.google.android.material.textfield.ClearTextEndIconDelegate -> com.google.android.material.textfield.ClearTextEndIconDelegate:
+ 46:109:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 40:40:boolean access$000(android.text.Editable) -> access$000
+ 40:40:void access$100(com.google.android.material.textfield.ClearTextEndIconDelegate,boolean) -> access$100
+ 40:40:android.view.View$OnFocusChangeListener access$200(com.google.android.material.textfield.ClearTextEndIconDelegate) -> access$200
+ 40:40:android.text.TextWatcher access$300(com.google.android.material.textfield.ClearTextEndIconDelegate) -> access$300
+ 143:157:void animateIcon(boolean) -> animateIcon
+ 182:194:android.animation.ValueAnimator getAlphaAnimator(float[]) -> getAlphaAnimator
+ 198:210:android.animation.ValueAnimator getScaleAnimator() -> getScaleAnimator
+ 214:214:boolean hasText(android.text.Editable) -> hasText
+ 160:179:void initAnimators() -> initAnimators
+ 113:132:void initialize() -> initialize
+ 136:140:void onSuffixVisibilityChanged(boolean) -> onSuffixVisibilityChanged
+com.google.android.material.textfield.ClearTextEndIconDelegate$1 -> com.google.android.material.textfield.ClearTextEndIconDelegate$1:
+ 47:47:void <init>(com.google.android.material.textfield.ClearTextEndIconDelegate) -> <init>
+ 56:60:void afterTextChanged(android.text.Editable) -> afterTextChanged
+ 49:49:void beforeTextChanged(java.lang.CharSequence,int,int,int) -> beforeTextChanged
+ 52:52:void onTextChanged(java.lang.CharSequence,int,int,int) -> onTextChanged
+com.google.android.material.textfield.ClearTextEndIconDelegate$2 -> com.google.android.material.textfield.ClearTextEndIconDelegate$2:
+ 63:63:void <init>(com.google.android.material.textfield.ClearTextEndIconDelegate) -> <init>
+ 66:68:void onFocusChange(android.view.View,boolean) -> onFocusChange
+com.google.android.material.textfield.ClearTextEndIconDelegate$3 -> com.google.android.material.textfield.ClearTextEndIconDelegate$3:
+ 71:71:void <init>(com.google.android.material.textfield.ClearTextEndIconDelegate) -> <init>
+ 74:81:void onEditTextAttached(com.google.android.material.textfield.TextInputLayout) -> onEditTextAttached
+com.google.android.material.textfield.ClearTextEndIconDelegate$4 -> com.google.android.material.textfield.ClearTextEndIconDelegate$4:
+ 84:84:void <init>(com.google.android.material.textfield.ClearTextEndIconDelegate) -> <init>
+ 87:101:void onEndIconChanged(com.google.android.material.textfield.TextInputLayout,int) -> onEndIconChanged
+com.google.android.material.textfield.ClearTextEndIconDelegate$4$1 -> com.google.android.material.textfield.ClearTextEndIconDelegate$4$1:
+ 91:91:void <init>(com.google.android.material.textfield.ClearTextEndIconDelegate$4,android.widget.EditText) -> <init>
+ 94:95:void run() -> run
+com.google.android.material.textfield.ClearTextEndIconDelegate$5 -> com.google.android.material.textfield.ClearTextEndIconDelegate$5:
+ 118:118:void <init>(com.google.android.material.textfield.ClearTextEndIconDelegate) -> <init>
+ 121:127:void onClick(android.view.View) -> onClick
+com.google.android.material.textfield.ClearTextEndIconDelegate$6 -> com.google.android.material.textfield.ClearTextEndIconDelegate$6:
+ 165:165:void <init>(com.google.android.material.textfield.ClearTextEndIconDelegate) -> <init>
+ 168:169:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.textfield.ClearTextEndIconDelegate$7 -> com.google.android.material.textfield.ClearTextEndIconDelegate$7:
+ 173:173:void <init>(com.google.android.material.textfield.ClearTextEndIconDelegate) -> <init>
+ 176:177:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.textfield.ClearTextEndIconDelegate$8 -> com.google.android.material.textfield.ClearTextEndIconDelegate$8:
+ 186:186:void <init>(com.google.android.material.textfield.ClearTextEndIconDelegate) -> <init>
+ 189:191:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.textfield.ClearTextEndIconDelegate$9 -> com.google.android.material.textfield.ClearTextEndIconDelegate$9:
+ 202:202:void <init>(com.google.android.material.textfield.ClearTextEndIconDelegate) -> <init>
+ 205:208:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.textfield.CustomEndIconDelegate -> com.google.android.material.textfield.CustomEndIconDelegate:
+ 27:28:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 32:34:void initialize() -> initialize
+com.google.android.material.textfield.CutoutDrawable -> com.google.android.material.textfield.CutoutDrawable:
+ 44:45:void <init>() -> <init>
+ 48:52:void <init>(com.google.android.material.shape.ShapeAppearanceModel) -> <init>
+ 87:94:void draw(android.graphics.Canvas) -> draw
+ 61:61:boolean hasCutout() -> hasCutout
+ 121:124:void postDraw(android.graphics.Canvas) -> postDraw
+ 97:109:void preDraw(android.graphics.Canvas) -> preDraw
+ 82:83:void removeCutout() -> removeCutout
+ 112:118:void saveCanvasLayer(android.graphics.Canvas) -> saveCanvasLayer
+ 67:74:void setCutout(float,float,float,float) -> setCutout
+ 77:78:void setCutout(android.graphics.RectF) -> setCutout
+ 55:58:void setPaintStyles() -> setPaintStyles
+ 127:127:boolean useHardwareLayer(android.graphics.drawable.Drawable$Callback) -> useHardwareLayer
+com.google.android.material.textfield.DropdownMenuEndIconDelegate -> com.google.android.material.textfield.DropdownMenuEndIconDelegate:
+ 69:69:void <clinit>() -> <clinit>
+ 73:203:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 67:67:android.widget.AutoCompleteTextView access$000(android.widget.EditText) -> access$000
+ 67:67:android.view.accessibility.AccessibilityManager access$100(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> access$100
+ 67:67:com.google.android.material.textfield.TextInputLayout$AccessibilityDelegate access$1000(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> access$1000
+ 67:67:android.view.View$OnFocusChangeListener access$1100(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> access$1100
+ 67:67:boolean access$1200() -> access$1200
+ 67:67:boolean access$1300(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> access$1300
+ 67:67:long access$1402(com.google.android.material.textfield.DropdownMenuEndIconDelegate,long) -> access$1402
+ 67:67:boolean access$1500(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> access$1500
+ 67:67:android.animation.ValueAnimator access$1600(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> access$1600
+ 67:67:boolean access$200(android.widget.EditText) -> access$200
+ 67:67:void access$300(com.google.android.material.textfield.DropdownMenuEndIconDelegate,boolean) -> access$300
+ 67:67:boolean access$402(com.google.android.material.textfield.DropdownMenuEndIconDelegate,boolean) -> access$402
+ 67:67:void access$500(com.google.android.material.textfield.DropdownMenuEndIconDelegate,android.widget.AutoCompleteTextView) -> access$500
+ 67:67:void access$600(com.google.android.material.textfield.DropdownMenuEndIconDelegate,android.widget.AutoCompleteTextView) -> access$600
+ 67:67:void access$700(com.google.android.material.textfield.DropdownMenuEndIconDelegate,android.widget.AutoCompleteTextView) -> access$700
+ 67:67:void access$800(com.google.android.material.textfield.DropdownMenuEndIconDelegate,android.widget.AutoCompleteTextView) -> access$800
+ 67:67:android.text.TextWatcher access$900(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> access$900
+ 311:328:void addRippleEffect(android.widget.AutoCompleteTextView) -> addRippleEffect
+ 366:388:void addRippleEffectOnFilledLayout(android.widget.AutoCompleteTextView,int,int[][],com.google.android.material.shape.MaterialShapeDrawable) -> addRippleEffectOnFilledLayout
+ 336:359:void addRippleEffectOnOutlinedLayout(android.widget.AutoCompleteTextView,int,int[][],com.google.android.material.shape.MaterialShapeDrawable) -> addRippleEffectOnOutlinedLayout
+ 444:450:android.widget.AutoCompleteTextView castAutoCompleteTextViewOrThrow(android.widget.EditText) -> castAutoCompleteTextViewOrThrow
+ 479:491:android.animation.ValueAnimator getAlphaAnimator(int,float[]) -> getAlphaAnimator
+ 424:434:com.google.android.material.shape.MaterialShapeDrawable getPopUpMaterialShapeDrawable(float,float,float,int) -> getPopUpMaterialShapeDrawable
+ 466:476:void initAnimators() -> initAnimators
+ 207:261:void initialize() -> initialize
+ 270:270:boolean isBoxBackgroundModeSupported(int) -> isBoxBackgroundModeSupported
+ 438:439:boolean isDropdownPopupActive() -> isDropdownPopupActive
+ 454:454:boolean isEditable(android.widget.EditText) -> isEditable
+ 458:463:void setEndIconChecked(boolean) -> setEndIconChecked
+ 299:307:void setPopupBackground(android.widget.AutoCompleteTextView) -> setPopupBackground
+ 394:419:void setUpDropdownShowHideBehavior(android.widget.AutoCompleteTextView) -> setUpDropdownShowHideBehavior
+ 265:265:boolean shouldTintIconOnError() -> shouldTintIconOnError
+ 274:296:void showHideDropdown(android.widget.AutoCompleteTextView) -> showHideDropdown
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$1 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$1:
+ 74:74:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> <init>
+ 78:95:void afterTextChanged(android.text.Editable) -> afterTextChanged
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$1$1 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$1$1:
+ 87:87:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate$1,android.widget.AutoCompleteTextView) -> <init>
+ 90:93:void run() -> run
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$10 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$10:
+ 483:483:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> <init>
+ 486:488:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$2 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$2:
+ 98:98:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> <init>
+ 101:106:void onFocusChange(android.view.View,boolean) -> onFocusChange
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$3 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$3:
+ 109:109:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate,com.google.android.material.textfield.TextInputLayout) -> <init>
+ 113:123:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+ 127:138:void onPopulateAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent) -> onPopulateAccessibilityEvent
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$4 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$4:
+ 141:141:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> <init>
+ 144:161:void onEditTextAttached(com.google.android.material.textfield.TextInputLayout) -> onEditTextAttached
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$5 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$5:
+ 167:167:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> <init>
+ 170:189:void onEndIconChanged(com.google.android.material.textfield.TextInputLayout,int) -> onEndIconChanged
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$5$1 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$5$1:
+ 175:175:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate$5,android.widget.AutoCompleteTextView) -> <init>
+ 178:179:void run() -> run
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$6 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$6:
+ 249:249:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> <init>
+ 252:254:void onClick(android.view.View) -> onClick
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$7 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$7:
+ 395:395:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate,android.widget.AutoCompleteTextView) -> <init>
+ 398:404:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$8 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$8:
+ 410:410:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> <init>
+ 413:416:void onDismiss() -> onDismiss
+com.google.android.material.textfield.DropdownMenuEndIconDelegate$9 -> com.google.android.material.textfield.DropdownMenuEndIconDelegate$9:
+ 469:469:void <init>(com.google.android.material.textfield.DropdownMenuEndIconDelegate) -> <init>
+ 472:474:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.textfield.EndIconDelegate -> com.google.android.material.textfield.EndIconDelegate:
+ 36:40:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 61:61:boolean isBoxBackgroundModeSupported(int) -> isBoxBackgroundModeSupported
+ 70:70:void onSuffixVisibilityChanged(boolean) -> onSuffixVisibilityChanged
+ 52:52:boolean shouldTintIconOnError() -> shouldTintIconOnError
+com.google.android.material.textfield.IndicatorViewController -> com.google.android.material.textfield.IndicatorViewController:
+ 121:126:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 62:62:int access$002(com.google.android.material.textfield.IndicatorViewController,int) -> access$002
+ 62:62:android.animation.Animator access$102(com.google.android.material.textfield.IndicatorViewController,android.animation.Animator) -> access$102
+ 62:62:android.widget.TextView access$200(com.google.android.material.textfield.IndicatorViewController) -> access$200
+ 391:416:void addIndicator(android.widget.TextView,int) -> addIndicator
+ 356:377:void adjustIndicatorPadding() -> adjustIndicatorPadding
+ 380:380:boolean canAdjustIndicatorPadding() -> canAdjustIndicatorPadding
+ 333:336:void cancelCaptionAnimator() -> cancelCaptionAnimator
+ 303:314:void createCaptionAnimators(java.util.List,boolean,android.widget.TextView,int,int,int) -> createCaptionAnimators
+ 317:321:android.animation.ObjectAnimator createCaptionOpacityAnimator(android.widget.TextView,boolean) -> createCaptionOpacityAnimator
+ 325:329:android.animation.ObjectAnimator createCaptionTranslationYAnimator(android.widget.TextView) -> createCaptionTranslationYAnimator
+ 515:515:boolean errorIsDisplayed() -> errorIsDisplayed
+ 519:519:boolean errorShouldBeShown() -> errorShouldBeShown
+ 344:352:android.widget.TextView getCaptionViewFromDisplayState(int) -> getCaptionViewFromDisplayState
+ 599:599:java.lang.CharSequence getErrorContentDescription() -> getErrorContentDescription
+ 544:544:java.lang.CharSequence getErrorText() -> getErrorText
+ 568:568:int getErrorViewCurrentTextColor() -> getErrorViewCurrentTextColor
+ 573:573:android.content.res.ColorStateList getErrorViewTextColors() -> getErrorViewTextColors
+ 548:548:java.lang.CharSequence getHelperText() -> getHelperText
+ 609:609:android.content.res.ColorStateList getHelperTextViewColors() -> getHelperTextViewColors
+ 604:604:int getHelperTextViewCurrentTextColor() -> getHelperTextViewCurrentTextColor
+ 385:386:int getIndicatorPadding(boolean,int,int) -> getIndicatorPadding
+ 529:529:boolean helperTextIsDisplayed() -> helperTextIsDisplayed
+ 533:533:boolean helperTextShouldBeShown() -> helperTextShouldBeShown
+ 166:180:void hideError() -> hideError
+ 142:150:void hideHelperText() -> hideHelperText
+ 523:525:boolean isCaptionStateError(int) -> isCaptionStateError
+ 537:539:boolean isCaptionStateHelperText(int) -> isCaptionStateHelperText
+ 339:339:boolean isCaptionView(int) -> isCaptionView
+ 473:473:boolean isErrorEnabled() -> isErrorEnabled
+ 477:477:boolean isHelperTextEnabled() -> isHelperTextEnabled
+ 419:430:void removeIndicator(android.widget.TextView,int) -> removeIndicator
+ 270:293:void setCaptionViewVisibilities(int,int) -> setCaptionViewVisibilities
+ 591:595:void setErrorContentDescription(java.lang.CharSequence) -> setErrorContentDescription
+ 440:470:void setErrorEnabled(boolean) -> setErrorEnabled
+ 584:588:void setErrorTextAppearance(int) -> setErrorTextAppearance
+ 577:581:void setErrorViewTextColor(android.content.res.ColorStateList) -> setErrorViewTextColor
+ 620:624:void setHelperTextAppearance(int) -> setHelperTextAppearance
+ 482:512:void setHelperTextEnabled(boolean) -> setHelperTextEnabled
+ 613:617:void setHelperTextViewTextColor(android.content.res.ColorStateList) -> setHelperTextViewTextColor
+ 561:564:void setTextViewTypeface(android.widget.TextView,android.graphics.Typeface) -> setTextViewTypeface
+ 553:558:void setTypefaces(android.graphics.Typeface) -> setTypefaces
+ 433:436:void setViewGroupGoneIfEmpty(android.view.ViewGroup,int) -> setViewGroupGoneIfEmpty
+ 192:196:boolean shouldAnimateCaptionView(android.widget.TextView,java.lang.CharSequence) -> shouldAnimateCaptionView
+ 153:163:void showError(java.lang.CharSequence) -> showError
+ 129:139:void showHelper(java.lang.CharSequence) -> showHelper
+ 204:266:void updateCaptionViewsVisibility(int,int,boolean) -> updateCaptionViewsVisibility
+com.google.android.material.textfield.IndicatorViewController$1 -> com.google.android.material.textfield.IndicatorViewController$1:
+ 234:234:void <init>(com.google.android.material.textfield.IndicatorViewController,int,android.widget.TextView,int,android.widget.TextView) -> <init>
+ 237:250:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 254:257:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.textfield.MaterialAutoCompleteTextView -> com.google.android.material.textfield.MaterialAutoCompleteTextView:
+ 65:66:void <init>(android.content.Context) -> <init>
+ 70:71:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 62:131:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 56:56:androidx.appcompat.widget.ListPopupWindow access$000(com.google.android.material.textfield.MaterialAutoCompleteTextView) -> access$000
+ 56:56:void access$100(com.google.android.material.textfield.MaterialAutoCompleteTextView,java.lang.Object) -> access$100
+ 241:248:com.google.android.material.textfield.TextInputLayout findTextInputLayoutAncestor() -> findTextInputLayoutAncestor
+ 169:173:java.lang.CharSequence getHint() -> getHint
+ 193:236:int measureContentWidth() -> measureContentWidth
+ 150:162:void onAttachedToWindow() -> onAttachedToWindow
+ 178:190:void onMeasure(int,int) -> onMeasure
+ 144:146:void setAdapter(android.widget.ListAdapter) -> setAdapter
+ 135:140:void showDropDown() -> showDropDown
+ 253:261:void updateText(java.lang.Object) -> updateText
+com.google.android.material.textfield.MaterialAutoCompleteTextView$1 -> com.google.android.material.textfield.MaterialAutoCompleteTextView$1:
+ 107:107:void <init>(com.google.android.material.textfield.MaterialAutoCompleteTextView) -> <init>
+ 110:127:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+com.google.android.material.textfield.NoEndIconDelegate -> com.google.android.material.textfield.NoEndIconDelegate:
+ 26:27:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 31:34:void initialize() -> initialize
+com.google.android.material.textfield.PasswordToggleEndIconDelegate -> com.google.android.material.textfield.PasswordToggleEndIconDelegate:
+ 36:82:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 34:34:boolean access$000(com.google.android.material.textfield.PasswordToggleEndIconDelegate) -> access$000
+ 34:34:android.text.TextWatcher access$100(com.google.android.material.textfield.PasswordToggleEndIconDelegate) -> access$100
+ 123:125:boolean hasPasswordTransformation() -> hasPasswordTransformation
+ 86:120:void initialize() -> initialize
+ 129:133:boolean isInputTypePassword(android.widget.EditText) -> isInputTypePassword
+com.google.android.material.textfield.PasswordToggleEndIconDelegate$1 -> com.google.android.material.textfield.PasswordToggleEndIconDelegate$1:
+ 37:37:void <init>(com.google.android.material.textfield.PasswordToggleEndIconDelegate) -> <init>
+ 42:43:void beforeTextChanged(java.lang.CharSequence,int,int,int) -> beforeTextChanged
+com.google.android.material.textfield.PasswordToggleEndIconDelegate$2 -> com.google.android.material.textfield.PasswordToggleEndIconDelegate$2:
+ 47:47:void <init>(com.google.android.material.textfield.PasswordToggleEndIconDelegate) -> <init>
+ 50:57:void onEditTextAttached(com.google.android.material.textfield.TextInputLayout) -> onEditTextAttached
+com.google.android.material.textfield.PasswordToggleEndIconDelegate$3 -> com.google.android.material.textfield.PasswordToggleEndIconDelegate$3:
+ 60:60:void <init>(com.google.android.material.textfield.PasswordToggleEndIconDelegate) -> <init>
+ 63:77:void onEndIconChanged(com.google.android.material.textfield.TextInputLayout,int) -> onEndIconChanged
+com.google.android.material.textfield.PasswordToggleEndIconDelegate$3$1 -> com.google.android.material.textfield.PasswordToggleEndIconDelegate$3$1:
+ 70:70:void <init>(com.google.android.material.textfield.PasswordToggleEndIconDelegate$3,android.widget.EditText) -> <init>
+ 73:74:void run() -> run
+com.google.android.material.textfield.PasswordToggleEndIconDelegate$4 -> com.google.android.material.textfield.PasswordToggleEndIconDelegate$4:
+ 91:91:void <init>(com.google.android.material.textfield.PasswordToggleEndIconDelegate) -> <init>
+ 94:111:void onClick(android.view.View) -> onClick
+com.google.android.material.textfield.TextInputEditText -> com.google.android.material.textfield.TextInputEditText:
+ 55:56:void <init>(android.content.Context) -> <init>
+ 59:60:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 51:77:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 206:222:java.lang.String getAccessibilityNodeInfoText(com.google.android.material.textfield.TextInputLayout) -> getAccessibilityNodeInfoText
+ 153:161:void getFocusedRect(android.graphics.Rect) -> getFocusedRect
+ 165:173:boolean getGlobalVisibleRect(android.graphics.Rect,android.graphics.Point) -> getGlobalVisibleRect
+ 100:104:java.lang.CharSequence getHint() -> getHint
+ 133:134:java.lang.CharSequence getHintFromLayout() -> getHintFromLayout
+ 121:128:com.google.android.material.textfield.TextInputLayout getTextInputLayout() -> getTextInputLayout
+ 148:148:boolean isTextInputLayoutFocusedRectEnabled() -> isTextInputLayoutFocusedRectEnabled
+ 81:93:void onAttachedToWindow() -> onAttachedToWindow
+ 110:116:android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo) -> onCreateInputConnection
+ 194:202:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 178:189:boolean requestRectangleOnScreen(android.graphics.Rect) -> requestRectangleOnScreen
+ 141:142:void setTextInputLayoutFocusedRectEnabled(boolean) -> setTextInputLayoutFocusedRectEnabled
+com.google.android.material.textfield.TextInputLayout -> com.google.android.material.textfield.TextInputLayout:
+ 181:181:void <clinit>() -> <clinit>
+ 424:425:void <init>(android.content.Context) -> <init>
+ 428:429:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 198:852:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 179:179:boolean access$000(com.google.android.material.textfield.TextInputLayout) -> access$000
+ 179:179:boolean access$100(com.google.android.material.textfield.TextInputLayout) -> access$100
+ 179:179:void access$200(com.google.android.material.textfield.TextInputLayout,int) -> access$200
+ 179:179:com.google.android.material.internal.CheckableImageButton access$300(com.google.android.material.textfield.TextInputLayout) -> access$300
+ 3569:3573:void addOnEditTextAttachedListener(com.google.android.material.textfield.TextInputLayout$OnEditTextAttachedListener) -> addOnEditTextAttachedListener
+ 3541:3542:void addOnEndIconChangedListener(com.google.android.material.textfield.TextInputLayout$OnEndIconChangedListener) -> addOnEndIconChangedListener
+ 2315:2319:void addPlaceholderTextView() -> addPlaceholderTextView
+ 857:874:void addView(android.view.View,int,android.view.ViewGroup$LayoutParams) -> addView
+ 986:1010:void adjustFilledEditTextPaddingForLargeFont() -> adjustFilledEditTextPaddingForLargeFont
+ 4300:4317:void animateToExpansionFraction(float) -> animateToExpansionFraction
+ 2751:2769:void applyBoxAttributes() -> applyBoxAttributes
+ 2773:2781:void applyBoxUnderlineAttributes() -> applyBoxUnderlineAttributes
+ 4105:4107:void applyCutoutPadding(android.graphics.RectF) -> applyCutoutPadding
+ 3832:3834:void applyEndIconTint() -> applyEndIconTint
+ 3946:3961:void applyIconTint(com.google.android.material.internal.CheckableImageButton,boolean,android.content.res.ColorStateList,boolean,android.graphics.PorterDuff$Mode) -> applyIconTint
+ 3800:3806:void applyStartIconTint() -> applyStartIconTint
+ 932:953:void assignBoxBackgroundByMode() -> assignBoxBackgroundByMode
+ 2742:2747:int calculateBoxBackgroundColor() -> calculateBoxBackgroundColor
+ 2649:2672:android.graphics.Rect calculateCollapsedTextBounds(android.graphics.Rect) -> calculateCollapsedTextBounds
+ 2721:2727:int calculateExpandedLabelBottom(android.graphics.Rect,android.graphics.Rect,float) -> calculateExpandedLabelBottom
+ 2713:2716:int calculateExpandedLabelTop(android.graphics.Rect,float) -> calculateExpandedLabelTop
+ 2696:2709:android.graphics.Rect calculateExpandedTextBounds(android.graphics.Rect) -> calculateExpandedTextBounds
+ 2632:2643:int calculateLabelMarginTop() -> calculateLabelMarginTop
+ 2784:2784:boolean canDrawOutlineStroke() -> canDrawOutlineStroke
+ 2788:2788:boolean canDrawStroke() -> canDrawStroke
+ 3587:3588:void clearOnEditTextAttachedListeners() -> clearOnEditTextAttachedListeners
+ 3556:3557:void clearOnEndIconChangedListeners() -> clearOnEndIconChangedListeners
+ 4099:4102:void closeCutout() -> closeCutout
+ 4051:4067:void collapseHint(boolean) -> collapseHint
+ 4070:4070:boolean cutoutEnabled() -> cutoutEnabled
+ 4111:4111:boolean cutoutIsOpen() -> cutoutIsOpen
+ 3794:3797:void dispatchOnEditTextAttached() -> dispatchOnEditTextAttached
+ 3813:3816:void dispatchOnEndIconChanged(int) -> dispatchOnEndIconChanged
+ 1351:1387:void dispatchProvideAutofillStructure(android.view.ViewStructure,int) -> dispatchProvideAutofillStructure
+ 2937:2940:void dispatchRestoreInstanceState(android.util.SparseArray) -> dispatchRestoreInstanceState
+ 4030:4033:void draw(android.graphics.Canvas) -> draw
+ 4042:4048:void drawBoxUnderline(android.graphics.Canvas) -> drawBoxUnderline
+ 4036:4039:void drawHint(android.graphics.Canvas) -> drawHint
+ 4116:4146:void drawableStateChanged() -> drawableStateChanged
+ 4280:4296:void expandHint(boolean) -> expandHint
+ 1496:1499:int getBaseline() -> getBaseline
+ 878:881:com.google.android.material.shape.MaterialShapeDrawable getBoxBackground() -> getBoxBackground
+ 1224:1224:int getBoxBackgroundColor() -> getBoxBackgroundColor
+ 917:917:int getBoxBackgroundMode() -> getBoxBackgroundMode
+ 1308:1308:float getBoxCornerRadiusBottomEnd() -> getBoxCornerRadiusBottomEnd
+ 1318:1318:float getBoxCornerRadiusBottomStart() -> getBoxCornerRadiusBottomStart
+ 1298:1298:float getBoxCornerRadiusTopEnd() -> getBoxCornerRadiusTopEnd
+ 1288:1288:float getBoxCornerRadiusTopStart() -> getBoxCornerRadiusTopStart
+ 1107:1107:int getBoxStrokeColor() -> getBoxStrokeColor
+ 1157:1157:android.content.res.ColorStateList getBoxStrokeErrorColor() -> getBoxStrokeErrorColor
+ 1045:1045:int getBoxStrokeWidth() -> getBoxStrokeWidth
+ 1082:1082:int getBoxStrokeWidthFocused() -> getBoxStrokeWidthFocused
+ 2577:2577:int getCounterMaxLength() -> getCounterMaxLength
+ 2586:2589:java.lang.CharSequence getCounterOverflowDescription() -> getCounterOverflowDescription
+ 2150:2150:android.content.res.ColorStateList getCounterOverflowTextColor() -> getCounterOverflowTextColor
+ 2107:2107:android.content.res.ColorStateList getCounterTextColor() -> getCounterTextColor
+ 1808:1808:android.content.res.ColorStateList getDefaultHintTextColor() -> getDefaultHintTextColor
+ 1552:1552:android.widget.EditText getEditText() -> getEditText
+ 3493:3493:java.lang.CharSequence getEndIconContentDescription() -> getEndIconContentDescription
+ 3789:3790:com.google.android.material.textfield.EndIconDelegate getEndIconDelegate() -> getEndIconDelegate
+ 3453:3453:android.graphics.drawable.Drawable getEndIconDrawable() -> getEndIconDrawable
+ 3297:3297:int getEndIconMode() -> getEndIconMode
+ 3931:3936:com.google.android.material.internal.CheckableImageButton getEndIconToUpdateDummyDrawable() -> getEndIconToUpdateDummyDrawable
+ 3785:3785:com.google.android.material.internal.CheckableImageButton getEndIconView() -> getEndIconView
+ 2950:2950:java.lang.CharSequence getError() -> getError
+ 1940:1940:java.lang.CharSequence getErrorContentDescription() -> getErrorContentDescription
+ 1839:1839:int getErrorCurrentTextColors() -> getErrorCurrentTextColors
+ 2000:2000:android.graphics.drawable.Drawable getErrorIconDrawable() -> getErrorIconDrawable
+ 4341:4341:int getErrorTextCurrentColor() -> getErrorTextCurrentColor
+ 2962:2963:java.lang.CharSequence getHelperText() -> getHelperText
+ 1916:1916:int getHelperTextCurrentTextColor() -> getHelperTextCurrentTextColor
+ 1680:1680:java.lang.CharSequence getHint() -> getHint
+ 4336:4336:float getHintCollapsedTextHeight() -> getHintCollapsedTextHeight
+ 4331:4331:int getHintCurrentCollapsedTextColor() -> getHintCurrentCollapsedTextColor
+ 1789:1789:android.content.res.ColorStateList getHintTextColor() -> getHintTextColor
+ 2677:2682:int getLabelLeftBoundAlightWithPrefix(int,boolean) -> getLabelLeftBoundAlightWithPrefix
+ 2686:2691:int getLabelRightBoundAlignedWithSuffix(int,boolean) -> getLabelRightBoundAlignedWithSuffix
+ 1634:1634:int getMaxWidth() -> getMaxWidth
+ 1593:1593:int getMinWidth() -> getMinWidth
+ 3678:3678:java.lang.CharSequence getPasswordVisibilityToggleContentDescription() -> getPasswordVisibilityToggleContentDescription
+ 3664:3664:android.graphics.drawable.Drawable getPasswordVisibilityToggleDrawable() -> getPasswordVisibilityToggleDrawable
+ 2260:2260:java.lang.CharSequence getPlaceholderText() -> getPlaceholderText
+ 2371:2371:int getPlaceholderTextAppearance() -> getPlaceholderTextAppearance
+ 2348:2348:android.content.res.ColorStateList getPlaceholderTextColor() -> getPlaceholderTextColor
+ 2396:2396:java.lang.CharSequence getPrefixText() -> getPrefixText
+ 2433:2433:android.content.res.ColorStateList getPrefixTextColor() -> getPrefixTextColor
+ 2409:2409:android.widget.TextView getPrefixTextView() -> getPrefixTextView
+ 3224:3224:java.lang.CharSequence getStartIconContentDescription() -> getStartIconContentDescription
+ 3107:3107:android.graphics.drawable.Drawable getStartIconDrawable() -> getStartIconDrawable
+ 2482:2482:java.lang.CharSequence getSuffixText() -> getSuffixText
+ 2524:2524:android.content.res.ColorStateList getSuffixTextColor() -> getSuffixTextColor
+ 2495:2495:android.widget.TextView getSuffixTextView() -> getSuffixTextView
+ 1345:1345:android.graphics.Typeface getTypeface() -> getTypeface
+ 3809:3809:boolean hasEndIcon() -> hasEndIcon
+ 2308:2312:void hidePlaceholderText() -> hidePlaceholderText
+ 2160:2160:boolean isCounterEnabled() -> isCounterEnabled
+ 3415:3415:boolean isEndIconCheckable() -> isEndIconCheckable
+ 3375:3375:boolean isEndIconVisible() -> isEndIconVisible
+ 1863:1863:boolean isErrorEnabled() -> isErrorEnabled
+ 4249:4249:boolean isErrorIconVisible() -> isErrorIconVisible
+ 2995:2995:boolean isExpandedHintEnabled() -> isExpandedHintEnabled
+ 4326:4326:boolean isHelperTextDisplayed() -> isHelperTextDisplayed
+ 1910:1910:boolean isHelperTextEnabled() -> isHelperTextEnabled
+ 2974:2974:boolean isHintAnimationEnabled() -> isHintAnimationEnabled
+ 1733:1733:boolean isHintEnabled() -> isHintEnabled
+ 4321:4321:boolean isHintExpanded() -> isHintExpanded
+ 3689:3689:boolean isPasswordVisibilityToggleEnabled() -> isPasswordVisibilityToggleEnabled
+ 1745:1745:boolean isProvidingHint() -> isProvidingHint
+ 2731:2732:boolean isSingleLineFilledTextField() -> isSingleLineFilledTextField
+ 3184:3184:boolean isStartIconCheckable() -> isStartIconCheckable
+ 3153:3153:boolean isStartIconVisible() -> isStartIconVisible
+ 4268:4276:int[] mergeIconState(com.google.android.material.internal.CheckableImageButton) -> mergeIconState
+ 921:929:void onApplyBoxBackgroundMode() -> onApplyBoxBackgroundMode
+ 3995:4019:void onLayout(boolean,int,int,int,int) -> onLayout
+ 3014:3030:void onMeasure(int,int) -> onMeasure
+ 2910:2933:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 2896:2905:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 4074:4088:void openCutout() -> openCutout
+ 3761:3767:void passwordVisibilityToggleRequested(boolean) -> passwordVisibilityToggleRequested
+ 2562:2569:void recursiveSetEnabled(android.view.ViewGroup,boolean) -> recursiveSetEnabled
+ 3392:3393:void refreshEndIconDrawableState() -> refreshEndIconDrawableState
+ 3353:3354:void refreshErrorIconDrawableState() -> refreshErrorIconDrawableState
+ 4254:4265:void refreshIconDrawableState(com.google.android.material.internal.CheckableImageButton,android.content.res.ColorStateList) -> refreshIconDrawableState
+ 3161:3162:void refreshStartIconDrawableState() -> refreshStartIconDrawableState
+ 3582:3583:void removeOnEditTextAttachedListener(com.google.android.material.textfield.TextInputLayout$OnEditTextAttachedListener) -> removeOnEditTextAttachedListener
+ 3551:3552:void removeOnEndIconChangedListener(com.google.android.material.textfield.TextInputLayout$OnEndIconChangedListener) -> removeOnEndIconChangedListener
+ 2322:2325:void removePlaceholderTextView() -> removePlaceholderTextView
+ 1185:1192:void setBoxBackgroundColor(int) -> setBoxBackgroundColor
+ 1170:1171:void setBoxBackgroundColorResource(int) -> setBoxBackgroundColorResource
+ 1204:1215:void setBoxBackgroundColorStateList(android.content.res.ColorStateList) -> setBoxBackgroundColorStateList
+ 900:907:void setBoxBackgroundMode(int) -> setBoxBackgroundMode
+ 1265:1279:void setBoxCornerRadii(float,float,float,float) -> setBoxCornerRadii
+ 1241:1246:void setBoxCornerRadiiResources(int,int,int,int) -> setBoxCornerRadiiResources
+ 1094:1098:void setBoxStrokeColor(int) -> setBoxStrokeColor
+ 1116:1132:void setBoxStrokeColorStateList(android.content.res.ColorStateList) -> setBoxStrokeColorStateList
+ 1143:1147:void setBoxStrokeErrorColor(android.content.res.ColorStateList) -> setBoxStrokeErrorColor
+ 1034:1036:void setBoxStrokeWidth(int) -> setBoxStrokeWidth
+ 1071:1073:void setBoxStrokeWidthFocused(int) -> setBoxStrokeWidthFocused
+ 1059:1060:void setBoxStrokeWidthFocusedResource(int) -> setBoxStrokeWidthFocusedResource
+ 1022:1023:void setBoxStrokeWidthResource(int) -> setBoxStrokeWidthResource
+ 2047:2067:void setCounterEnabled(boolean) -> setCounterEnabled
+ 2170:2180:void setCounterMaxLength(int) -> setCounterMaxLength
+ 2118:2122:void setCounterOverflowTextAppearance(int) -> setCounterOverflowTextAppearance
+ 2134:2138:void setCounterOverflowTextColor(android.content.res.ColorStateList) -> setCounterOverflowTextColor
+ 2077:2081:void setCounterTextAppearance(int) -> setCounterTextAppearance
+ 2092:2096:void setCounterTextColor(android.content.res.ColorStateList) -> setCounterTextColor
+ 1794:1800:void setDefaultHintTextColor(android.content.res.ColorStateList) -> setDefaultHintTextColor
+ 1391:1478:void setEditText(android.widget.EditText) -> setEditText
+ 957:960:void setEditTextBoxBackground() -> setEditTextBoxBackground
+ 2557:2559:void setEnabled(boolean) -> setEnabled
+ 3384:3385:void setEndIconActivated(boolean) -> setEndIconActivated
+ 3406:3407:void setEndIconCheckable(boolean) -> setEndIconCheckable
+ 3466:3467:void setEndIconContentDescription(int) -> setEndIconContentDescription
+ 3480:3483:void setEndIconContentDescription(java.lang.CharSequence) -> setEndIconContentDescription
+ 3428:3429:void setEndIconDrawable(int) -> setEndIconDrawable
+ 3441:3443:void setEndIconDrawable(android.graphics.drawable.Drawable) -> setEndIconDrawable
+ 3272:3286:void setEndIconMode(int) -> setEndIconMode
+ 3308:3309:void setEndIconOnClickListener(android.view.View$OnClickListener) -> setEndIconOnClickListener
+ 3331:3333:void setEndIconOnLongClickListener(android.view.View$OnLongClickListener) -> setEndIconOnLongClickListener
+ 3508:3513:void setEndIconTintList(android.content.res.ColorStateList) -> setEndIconTintList
+ 3524:3529:void setEndIconTintMode(android.graphics.PorterDuff$Mode) -> setEndIconTintMode
+ 3362:3367:void setEndIconVisible(boolean) -> setEndIconVisible
+ 1954:1968:void setError(java.lang.CharSequence) -> setError
+ 1930:1931:void setErrorContentDescription(java.lang.CharSequence) -> setErrorContentDescription
+ 1819:1820:void setErrorEnabled(boolean) -> setErrorEnabled
+ 1977:1979:void setErrorIconDrawable(int) -> setErrorIconDrawable
+ 1988:1990:void setErrorIconDrawable(android.graphics.drawable.Drawable) -> setErrorIconDrawable
+ 3319:3320:void setErrorIconOnClickListener(android.view.View$OnClickListener) -> setErrorIconOnClickListener
+ 3344:3346:void setErrorIconOnLongClickListener(android.view.View$OnLongClickListener) -> setErrorIconOnLongClickListener
+ 2010:2020:void setErrorIconTintList(android.content.res.ColorStateList) -> setErrorIconTintList
+ 2030:2039:void setErrorIconTintMode(android.graphics.PorterDuff$Mode) -> setErrorIconTintMode
+ 4240:4246:void setErrorIconVisible(boolean) -> setErrorIconVisible
+ 1828:1829:void setErrorTextAppearance(int) -> setErrorTextAppearance
+ 1833:1834:void setErrorTextColor(android.content.res.ColorStateList) -> setErrorTextColor
+ 3006:3010:void setExpandedHintEnabled(boolean) -> setExpandedHintEnabled
+ 1891:1901:void setHelperText(java.lang.CharSequence) -> setHelperText
+ 1853:1854:void setHelperTextColor(android.content.res.ColorStateList) -> setHelperTextColor
+ 1874:1875:void setHelperTextEnabled(boolean) -> setHelperTextEnabled
+ 1848:1849:void setHelperTextTextAppearance(int) -> setHelperTextTextAppearance
+ 1644:1648:void setHint(java.lang.CharSequence) -> setHint
+ 1658:1659:void setHint(int) -> setHint
+ 2984:2985:void setHintAnimationEnabled(boolean) -> setHintAnimationEnabled
+ 1695:1724:void setHintEnabled(boolean) -> setHintEnabled
+ 1662:1670:void setHintInternal(java.lang.CharSequence) -> setHintInternal
+ 1754:1762:void setHintTextAppearance(int) -> setHintTextAppearance
+ 1769:1780:void setHintTextColor(android.content.res.ColorStateList) -> setHintTextColor
+ 3979:3991:void setIconClickable(com.google.android.material.internal.CheckableImageButton,android.view.View$OnLongClickListener) -> setIconClickable
+ 3967:3969:void setIconOnClickListener(com.google.android.material.internal.CheckableImageButton,android.view.View$OnClickListener,android.view.View$OnLongClickListener) -> setIconOnClickListener
+ 3973:3975:void setIconOnLongClickListener(com.google.android.material.internal.CheckableImageButton,android.view.View$OnLongClickListener) -> setIconOnLongClickListener
+ 1606:1610:void setMaxWidth(int) -> setMaxWidth
+ 1622:1623:void setMaxWidthResource(int) -> setMaxWidthResource
+ 1565:1569:void setMinWidth(int) -> setMinWidth
+ 1581:1582:void setMinWidthResource(int) -> setMinWidthResource
+ 3634:3636:void setPasswordVisibilityToggleContentDescription(int) -> setPasswordVisibilityToggleContentDescription
+ 3651:3652:void setPasswordVisibilityToggleContentDescription(java.lang.CharSequence) -> setPasswordVisibilityToggleContentDescription
+ 3602:3604:void setPasswordVisibilityToggleDrawable(int) -> setPasswordVisibilityToggleDrawable
+ 3618:3619:void setPasswordVisibilityToggleDrawable(android.graphics.drawable.Drawable) -> setPasswordVisibilityToggleDrawable
+ 3704:3711:void setPasswordVisibilityToggleEnabled(boolean) -> setPasswordVisibilityToggleEnabled
+ 3727:3730:void setPasswordVisibilityToggleTintList(android.content.res.ColorStateList) -> setPasswordVisibilityToggleTintList
+ 3743:3746:void setPasswordVisibilityToggleTintMode(android.graphics.PorterDuff$Mode) -> setPasswordVisibilityToggleTintMode
+ 2240:2250:void setPlaceholderText(java.lang.CharSequence) -> setPlaceholderText
+ 2358:2362:void setPlaceholderTextAppearance(int) -> setPlaceholderTextAppearance
+ 2333:2339:void setPlaceholderTextColor(android.content.res.ColorStateList) -> setPlaceholderTextColor
+ 2265:2285:void setPlaceholderTextEnabled(boolean) -> setPlaceholderTextEnabled
+ 2383:2386:void setPrefixText(java.lang.CharSequence) -> setPrefixText
+ 2442:2443:void setPrefixTextAppearance(int) -> setPrefixTextAppearance
+ 2423:2424:void setPrefixTextColor(android.content.res.ColorStateList) -> setPrefixTextColor
+ 3175:3176:void setStartIconCheckable(boolean) -> setStartIconCheckable
+ 3197:3198:void setStartIconContentDescription(int) -> setStartIconContentDescription
+ 3211:3214:void setStartIconContentDescription(java.lang.CharSequence) -> setStartIconContentDescription
+ 3073:3074:void setStartIconDrawable(int) -> setStartIconDrawable
+ 3086:3096:void setStartIconDrawable(android.graphics.drawable.Drawable) -> setStartIconDrawable
+ 3118:3119:void setStartIconOnClickListener(android.view.View$OnClickListener) -> setStartIconOnClickListener
+ 3130:3132:void setStartIconOnLongClickListener(android.view.View$OnLongClickListener) -> setStartIconOnLongClickListener
+ 3239:3244:void setStartIconTintList(android.content.res.ColorStateList) -> setStartIconTintList
+ 3255:3260:void setStartIconTintMode(android.graphics.PorterDuff$Mode) -> setStartIconTintMode
+ 3140:3145:void setStartIconVisible(boolean) -> setStartIconVisible
+ 2469:2472:void setSuffixText(java.lang.CharSequence) -> setSuffixText
+ 2533:2534:void setSuffixTextAppearance(int) -> setSuffixTextAppearance
+ 2514:2515:void setSuffixTextColor(android.content.res.ColorStateList) -> setSuffixTextColor
+ 2607:2629:void setTextAppearanceCompatWithErrorFallback(android.widget.TextView,int) -> setTextAppearanceCompatWithErrorFallback
+ 3778:3781:void setTextInputAccessibilityDelegate(com.google.android.material.textfield.TextInputLayout$AccessibilityDelegate) -> setTextInputAccessibilityDelegate
+ 1328:1338:void setTypeface(android.graphics.Typeface) -> setTypeface
+ 3923:3926:boolean shouldUpdateEndDummyDrawable() -> shouldUpdateEndDummyDrawable
+ 3918:3919:boolean shouldUpdateStartDummyDrawable() -> shouldUpdateStartDummyDrawable
+ 965:967:boolean shouldUseEditTextBackgroundForBoxBackground() -> shouldUseEditTextBackgroundForBoxBackground
+ 2300:2305:void showPlaceholderText() -> showPlaceholderText
+ 3819:3829:void tintEndIconOnError(boolean) -> tintEndIconOnError
+ 972:983:void updateBoxCollapsedPaddingTop() -> updateBoxCollapsedPaddingTop
+ 4022:4026:void updateBoxUnderlineBounds(android.graphics.Rect) -> updateBoxUnderlineBounds
+ 2183:2186:void updateCounter() -> updateCounter
+ 2189:2213:void updateCounter(int) -> updateCounter
+ 2221:2228:void updateCounterContentDescription(android.content.Context,android.widget.TextView,int,int,boolean) -> updateCounterContentDescription
+ 2593:2603:void updateCounterTextAppearanceAndColor() -> updateCounterTextAppearanceAndColor
+ 4092:4096:void updateCutout() -> updateCutout
+ 3841:3914:boolean updateDummyDrawables() -> updateDummyDrawables
+ 2794:2823:void updateEditTextBackground() -> updateEditTextBackground
+ 3033:3046:boolean updateEditTextHeightBasedOnIcon() -> updateEditTextHeightBasedOnIcon
+ 1483:1492:void updateInputLayoutMargins() -> updateInputLayoutMargins
+ 1504:1505:void updateLabelState(boolean) -> updateLabelState
+ 1508:1547:void updateLabelState(boolean,boolean) -> updateLabelState
+ 3050:3061:void updatePlaceholderMeasurementsBasedOnEditText() -> updatePlaceholderMeasurementsBasedOnEditText
+ 2288:2289:void updatePlaceholderText() -> updatePlaceholderText
+ 2292:2297:void updatePlaceholderText(int) -> updatePlaceholderText
+ 2446:2458:void updatePrefixTextViewPadding() -> updatePrefixTextViewPadding
+ 2413:2415:void updatePrefixTextVisibility() -> updatePrefixTextVisibility
+ 4221:4237:void updateStrokeErrorColor(boolean,boolean) -> updateStrokeErrorColor
+ 2537:2550:void updateSuffixTextViewPadding() -> updateSuffixTextViewPadding
+ 2499:2506:void updateSuffixTextVisibility() -> updateSuffixTextVisibility
+ 4149:4218:void updateTextInputBoxState() -> updateTextInputBoxState
+com.google.android.material.textfield.TextInputLayout$1 -> com.google.android.material.textfield.TextInputLayout$1:
+ 1419:1419:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 1422:1429:void afterTextChanged(android.text.Editable) -> afterTextChanged
+ 1432:1432:void beforeTextChanged(java.lang.CharSequence,int,int,int) -> beforeTextChanged
+ 1435:1435:void onTextChanged(java.lang.CharSequence,int,int,int) -> onTextChanged
+com.google.android.material.textfield.TextInputLayout$2 -> com.google.android.material.textfield.TextInputLayout$2:
+ 2920:2920:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 2923:2926:void run() -> run
+com.google.android.material.textfield.TextInputLayout$3 -> com.google.android.material.textfield.TextInputLayout$3:
+ 3020:3020:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 3023:3024:void run() -> run
+com.google.android.material.textfield.TextInputLayout$4 -> com.google.android.material.textfield.TextInputLayout$4:
+ 4308:4308:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 4311:4312:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.textfield.TextInputLayout$AccessibilityDelegate -> com.google.android.material.textfield.TextInputLayout$AccessibilityDelegate:
+ 4353:4355:void <init>(com.google.android.material.textfield.TextInputLayout) -> <init>
+ 4360:4410:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+com.google.android.material.textfield.TextInputLayout$SavedState -> com.google.android.material.textfield.TextInputLayout$SavedState:
+ 2871:2871:void <clinit>() -> <clinit>
+ 2833:2834:void <init>(android.os.Parcelable) -> <init>
+ 2837:2843:void <init>(android.os.Parcel,java.lang.ClassLoader) -> <init>
+ 2858:2859:java.lang.String toString() -> toString
+ 2847:2853:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.textfield.TextInputLayout$SavedState$1 -> com.google.android.material.textfield.TextInputLayout$SavedState$1:
+ 2872:2872:void <init>() -> <init>
+ 2872:2872:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 2872:2872:java.lang.Object createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 2876:2876:com.google.android.material.textfield.TextInputLayout$SavedState createFromParcel(android.os.Parcel,java.lang.ClassLoader) -> createFromParcel
+ 2882:2882:com.google.android.material.textfield.TextInputLayout$SavedState createFromParcel(android.os.Parcel) -> createFromParcel
+ 2872:2872:java.lang.Object[] newArray(int) -> newArray
+ 2888:2888:com.google.android.material.textfield.TextInputLayout$SavedState[] newArray(int) -> newArray
+com.google.android.material.textview.MaterialTextView -> com.google.android.material.textview.MaterialTextView:
+ 79:80:void <init>(android.content.Context) -> <init>
+ 83:84:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 88:89:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 93:107:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 119:131:void applyLineHeightFromViewAppearance(android.content.res.Resources$Theme,int) -> applyLineHeightFromViewAppearance
+ 134:134:boolean canApplyTextAppearanceLineHeight(android.content.Context) -> canApplyTextAppearanceLineHeight
+ 172:178:int findViewAppearanceResourceId(android.content.res.Resources$Theme,android.util.AttributeSet,int,int) -> findViewAppearanceResourceId
+ 141:147:int readFirstAvailableDimension(android.content.Context,android.content.res.TypedArray,int[]) -> readFirstAvailableDimension
+ 111:116:void setTextAppearance(android.content.Context,int) -> setTextAppearance
+ 156:167:boolean viewAttrsHasLineHeight(android.content.Context,android.content.res.Resources$Theme,android.util.AttributeSet,int,int) -> viewAttrsHasLineHeight
+com.google.android.material.theme.MaterialComponentsViewInflater -> com.google.android.material.theme.MaterialComponentsViewInflater:
+ 39:39:void <init>() -> <init>
+ 68:68:androidx.appcompat.widget.AppCompatAutoCompleteTextView createAutoCompleteTextView(android.content.Context,android.util.AttributeSet) -> createAutoCompleteTextView
+ 43:43:androidx.appcompat.widget.AppCompatButton createButton(android.content.Context,android.util.AttributeSet) -> createButton
+ 49:49:androidx.appcompat.widget.AppCompatCheckBox createCheckBox(android.content.Context,android.util.AttributeSet) -> createCheckBox
+ 55:55:androidx.appcompat.widget.AppCompatRadioButton createRadioButton(android.content.Context,android.util.AttributeSet) -> createRadioButton
+ 61:61:androidx.appcompat.widget.AppCompatTextView createTextView(android.content.Context,android.util.AttributeSet) -> createTextView
+com.google.android.material.theme.overlay.MaterialThemeOverlay -> com.google.android.material.theme.overlay.MaterialThemeOverlay:
+ 48:51:void <clinit>() -> <clinit>
+ 45:46:void <init>() -> <init>
+ 94:99:int obtainAndroidThemeOverlayId(android.content.Context,android.util.AttributeSet) -> obtainAndroidThemeOverlayId
+ 112:118:int obtainMaterialThemeOverlayId(android.content.Context,android.util.AttributeSet,int,int) -> obtainMaterialThemeOverlayId
+ 66:84:android.content.Context wrap(android.content.Context,android.util.AttributeSet,int,int) -> wrap
+com.google.android.material.timepicker.ChipTextInputComboView -> com.google.android.material.timepicker.ChipTextInputComboView:
+ 58:59:void <init>(android.content.Context) -> <init>
+ 62:63:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 67:80:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 49:49:java.lang.String access$100(com.google.android.material.timepicker.ChipTextInputComboView,java.lang.CharSequence) -> access$100
+ 49:49:com.google.android.material.chip.Chip access$200(com.google.android.material.timepicker.ChipTextInputComboView) -> access$200
+ 145:149:void addInputFilter(android.text.InputFilter) -> addInputFilter
+ 123:123:java.lang.String formatText(java.lang.CharSequence) -> formatText
+ 152:152:com.google.android.material.textfield.TextInputLayout getTextInput() -> getTextInput
+ 92:92:boolean isChecked() -> isChecked
+ 176:178:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 97:106:void setChecked(boolean) -> setChecked
+ 156:157:void setChipDelegate(androidx.core.view.AccessibilityDelegateCompat) -> setChipDelegate
+ 141:142:void setCursorVisible(boolean) -> setCursorVisible
+ 137:138:void setHelperText(java.lang.CharSequence) -> setHelperText
+ 128:129:void setOnClickListener(android.view.View$OnClickListener) -> setOnClickListener
+ 133:134:void setTag(int,java.lang.Object) -> setTag
+ 114:120:void setText(java.lang.CharSequence) -> setText
+ 110:111:void toggle() -> toggle
+ 83:88:void updateHintLocales() -> updateHintLocales
+com.google.android.material.timepicker.ChipTextInputComboView$TextFormatter -> com.google.android.material.timepicker.ChipTextInputComboView$TextFormatter:
+ 159:159:void <init>(com.google.android.material.timepicker.ChipTextInputComboView) -> <init>
+ 159:159:void <init>(com.google.android.material.timepicker.ChipTextInputComboView,com.google.android.material.timepicker.ChipTextInputComboView$1) -> <init>
+ 165:171:void afterTextChanged(android.text.Editable) -> afterTextChanged
+com.google.android.material.timepicker.ClickActionDelegate -> com.google.android.material.timepicker.ClickActionDelegate:
+ 28:32:void <init>(android.content.Context,int) -> <init>
+ 36:38:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+com.google.android.material.timepicker.ClockFaceView -> com.google.android.material.timepicker.ClockFaceView:
+ 89:90:void <init>(android.content.Context) -> <init>
+ 93:94:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 69:178:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 62:62:com.google.android.material.timepicker.ClockHandView access$000(com.google.android.material.timepicker.ClockFaceView) -> access$000
+ 62:62:int access$100(com.google.android.material.timepicker.ClockFaceView) -> access$100
+ 62:62:android.util.SparseArray access$200(com.google.android.material.timepicker.ClockFaceView) -> access$200
+ 251:266:void findIntersectingTextView() -> findIntersectingTextView
+ 269:276:android.graphics.RadialGradient getGradientForTextView(android.graphics.RectF,android.graphics.RectF) -> getGradientForTextView
+ 308:308:float max3(float,float,float) -> max3
+ 221:229:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 241:243:void onLayout(boolean,int,int,int,int) -> onLayout
+ 292:305:void onMeasure(int,int) -> onMeasure
+ 284:288:void onRotate(float,boolean) -> onRotate
+ 246:248:void setHandRotation(float) -> setHandRotation
+ 233:237:void setRadius(int) -> setRadius
+ 185:187:void setValues(java.lang.String[],int) -> setValues
+ 190:217:void updateTextViews(int) -> updateTextViews
+com.google.android.material.timepicker.ClockFaceView$1 -> com.google.android.material.timepicker.ClockFaceView$1:
+ 132:132:void <init>(com.google.android.material.timepicker.ClockFaceView) -> <init>
+ 135:142:boolean onPreDraw() -> onPreDraw
+com.google.android.material.timepicker.ClockFaceView$2 -> com.google.android.material.timepicker.ClockFaceView$2:
+ 149:149:void <init>(com.google.android.material.timepicker.ClockFaceView) -> <init>
+ 153:167:void onInitializeAccessibilityNodeInfo(android.view.View,androidx.core.view.accessibility.AccessibilityNodeInfoCompat) -> onInitializeAccessibilityNodeInfo
+com.google.android.material.timepicker.ClockHandView -> com.google.android.material.timepicker.ClockHandView:
+ 87:88:void <init>(android.content.Context) -> <init>
+ 91:92:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 67:116:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 47:47:void access$000(com.google.android.material.timepicker.ClockHandView,float,boolean) -> access$000
+ 209:210:void addOnRotateListener(com.google.android.material.timepicker.ClockHandView$OnRotateListener) -> addOnRotateListener
+ 229:252:void drawSelector(android.graphics.Canvas) -> drawSelector
+ 256:256:android.graphics.RectF getCurrentSelectorBox() -> getCurrentSelectorBox
+ 334:342:int getDegreesFromXY(float,float) -> getDegreesFromXY
+ 218:218:float getHandRotation() -> getHandRotation
+ 261:261:int getSelectorRadius() -> getSelectorRadius
+ 161:176:android.util.Pair getValuesForAnimation(float) -> getValuesForAnimation
+ 319:330:boolean handleTouchInput(float,float,boolean,boolean,boolean) -> handleTouchInput
+ 223:226:void onDraw(android.graphics.Canvas) -> onDraw
+ 120:123:void onLayout(boolean,int,int,int,int) -> onLayout
+ 276:314:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 205:206:void setAnimateOnTouchUp(boolean) -> setAnimateOnTouchUp
+ 269:271:void setCircleRadius(int) -> setCircleRadius
+ 126:127:void setHandRotation(float) -> setHandRotation
+ 130:158:void setHandRotation(float,boolean) -> setHandRotation
+ 181:202:void setHandRotationInternal(float,boolean) -> setHandRotationInternal
+ 213:214:void setOnActionUpListener(com.google.android.material.timepicker.ClockHandView$OnActionUpListener) -> setOnActionUpListener
+com.google.android.material.timepicker.ClockHandView$1 -> com.google.android.material.timepicker.ClockHandView$1:
+ 142:142:void <init>(com.google.android.material.timepicker.ClockHandView) -> <init>
+ 145:147:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.timepicker.ClockHandView$2 -> com.google.android.material.timepicker.ClockHandView$2:
+ 150:150:void <init>(com.google.android.material.timepicker.ClockHandView) -> <init>
+ 153:154:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+com.google.android.material.timepicker.MaterialTimePicker -> com.google.android.material.timepicker.MaterialTimePicker:
+ 59:99:void <init>() -> <init>
+ 59:59:java.util.Set access$1000(com.google.android.material.timepicker.MaterialTimePicker) -> access$1000
+ 59:59:com.google.android.material.timepicker.MaterialTimePicker access$1100(com.google.android.material.timepicker.MaterialTimePicker$Builder) -> access$1100
+ 59:59:int access$500(com.google.android.material.timepicker.MaterialTimePicker) -> access$500
+ 59:59:int access$502(com.google.android.material.timepicker.MaterialTimePicker,int) -> access$502
+ 59:59:com.google.android.material.button.MaterialButton access$600(com.google.android.material.timepicker.MaterialTimePicker) -> access$600
+ 59:59:void access$700(com.google.android.material.timepicker.MaterialTimePicker,com.google.android.material.button.MaterialButton) -> access$700
+ 59:59:com.google.android.material.timepicker.TimePickerTextInputPresenter access$800(com.google.android.material.timepicker.MaterialTimePicker) -> access$800
+ 59:59:java.util.Set access$900(com.google.android.material.timepicker.MaterialTimePicker) -> access$900
+ 396:396:boolean addOnCancelListener(android.content.DialogInterface$OnCancelListener) -> addOnCancelListener
+ 420:420:boolean addOnDismissListener(android.content.DialogInterface$OnDismissListener) -> addOnDismissListener
+ 368:368:boolean addOnNegativeButtonClickListener(android.view.View$OnClickListener) -> addOnNegativeButtonClickListener
+ 347:347:boolean addOnPositiveButtonClickListener(android.view.View$OnClickListener) -> addOnPositiveButtonClickListener
+ 412:413:void clearOnCancelListeners() -> clearOnCancelListeners
+ 436:437:void clearOnDismissListeners() -> clearOnDismissListeners
+ 384:385:void clearOnNegativeButtonClickListeners() -> clearOnNegativeButtonClickListeners
+ 363:364:void clearOnPositiveButtonClickListeners() -> clearOnPositiveButtonClickListeners
+ 330:337:android.util.Pair dataForMode(int) -> dataForMode
+ 125:125:int getHour() -> getHour
+ 130:130:int getInputMode() -> getInputMode
+ 119:119:int getMinute() -> getMinute
+ 440:444:int getThemeResId() -> getThemeResId
+ 342:342:com.google.android.material.timepicker.TimePickerClockPresenter getTimePickerClockPresenter() -> getTimePickerClockPresenter
+ 310:326:com.google.android.material.timepicker.TimePickerPresenter initializeOrRetrieveActivePresenterForMode(int) -> initializeOrRetrieveActivePresenterForMode
+ 103:114:com.google.android.material.timepicker.MaterialTimePicker newInstance(com.google.android.material.timepicker.MaterialTimePicker$Builder) -> newInstance
+ 281:285:void onCancel(android.content.DialogInterface) -> onCancel
+ 174:176:void onCreate(android.os.Bundle) -> onCreate
+ 136:169:android.app.Dialog onCreateDialog(android.os.Bundle) -> onCreateDialog
+ 209:267:android.view.View onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle) -> onCreateView
+ 289:294:void onDismiss(android.content.DialogInterface) -> onDismiss
+ 180:186:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 272:277:void onStop() -> onStop
+ 404:404:boolean removeOnCancelListener(android.content.DialogInterface$OnCancelListener) -> removeOnCancelListener
+ 428:428:boolean removeOnDismissListener(android.content.DialogInterface$OnDismissListener) -> removeOnDismissListener
+ 376:376:boolean removeOnNegativeButtonClickListener(android.view.View$OnClickListener) -> removeOnNegativeButtonClickListener
+ 355:355:boolean removeOnPositiveButtonClickListener(android.view.View$OnClickListener) -> removeOnPositiveButtonClickListener
+ 189:201:void restoreState(android.os.Bundle) -> restoreState
+ 297:307:void updateInputMode(com.google.android.material.button.MaterialButton) -> updateInputMode
+com.google.android.material.timepicker.MaterialTimePicker$1 -> com.google.android.material.timepicker.MaterialTimePicker$1:
+ 213:213:void <init>(com.google.android.material.timepicker.MaterialTimePicker) -> <init>
+ 216:219:void onDoubleTap() -> onDoubleTap
+com.google.android.material.timepicker.MaterialTimePicker$2 -> com.google.android.material.timepicker.MaterialTimePicker$2:
+ 236:236:void <init>(com.google.android.material.timepicker.MaterialTimePicker) -> <init>
+ 239:243:void onClick(android.view.View) -> onClick
+com.google.android.material.timepicker.MaterialTimePicker$3 -> com.google.android.material.timepicker.MaterialTimePicker$3:
+ 248:248:void <init>(com.google.android.material.timepicker.MaterialTimePicker) -> <init>
+ 251:255:void onClick(android.view.View) -> onClick
+com.google.android.material.timepicker.MaterialTimePicker$4 -> com.google.android.material.timepicker.MaterialTimePicker$4:
+ 259:259:void <init>(com.google.android.material.timepicker.MaterialTimePicker) -> <init>
+ 262:264:void onClick(android.view.View) -> onClick
+com.google.android.material.timepicker.MaterialTimePicker$Builder -> com.google.android.material.timepicker.MaterialTimePicker$Builder:
+ 448:455:void <init>() -> <init>
+ 448:448:com.google.android.material.timepicker.TimeModel access$000(com.google.android.material.timepicker.MaterialTimePicker$Builder) -> access$000
+ 448:448:int access$100(com.google.android.material.timepicker.MaterialTimePicker$Builder) -> access$100
+ 448:448:int access$200(com.google.android.material.timepicker.MaterialTimePicker$Builder) -> access$200
+ 448:448:int access$300(com.google.android.material.timepicker.MaterialTimePicker$Builder) -> access$300
+ 448:448:java.lang.CharSequence access$400(com.google.android.material.timepicker.MaterialTimePicker$Builder) -> access$400
+ 527:527:com.google.android.material.timepicker.MaterialTimePicker build() -> build
+ 472:473:com.google.android.material.timepicker.MaterialTimePicker$Builder setHour(int) -> setHour
+ 460:461:com.google.android.material.timepicker.MaterialTimePicker$Builder setInputMode(int) -> setInputMode
+ 479:480:com.google.android.material.timepicker.MaterialTimePicker$Builder setMinute(int) -> setMinute
+ 520:521:com.google.android.material.timepicker.MaterialTimePicker$Builder setTheme(int) -> setTheme
+ 491:496:com.google.android.material.timepicker.MaterialTimePicker$Builder setTimeFormat(int) -> setTimeFormat
+ 504:505:com.google.android.material.timepicker.MaterialTimePicker$Builder setTitleText(int) -> setTitleText
+ 513:514:com.google.android.material.timepicker.MaterialTimePicker$Builder setTitleText(java.lang.CharSequence) -> setTitleText
+com.google.android.material.timepicker.MaxInputValidator -> com.google.android.material.timepicker.MaxInputValidator:
+ 26:28:void <init>(int) -> <init>
+ 42:52:java.lang.CharSequence filter(java.lang.CharSequence,int,int,android.text.Spanned,int,int) -> filter
+ 35:35:int getMax() -> getMax
+ 31:32:void setMax(int) -> setMax
+com.google.android.material.timepicker.RadialViewGroup -> com.google.android.material.timepicker.RadialViewGroup:
+ 55:56:void <init>(android.content.Context) -> <init>
+ 59:60:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 63:77:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 94:99:void addView(android.view.View,int,android.view.ViewGroup$LayoutParams) -> addView
+ 80:83:android.graphics.drawable.Drawable createBackground() -> createBackground
+ 158:158:int getRadius() -> getRadius
+ 119:121:void onFinishInflate() -> onFinishInflate
+ 103:106:void onViewRemoved(android.view.View) -> onViewRemoved
+ 89:90:void setBackgroundColor(int) -> setBackgroundColor
+ 152:154:void setRadius(int) -> setRadius
+ 162:162:boolean shouldSkipView(android.view.View) -> shouldSkipView
+ 125:149:void updateLayoutParams() -> updateLayoutParams
+ 110:115:void updateLayoutParamsAsync() -> updateLayoutParamsAsync
+com.google.android.material.timepicker.RadialViewGroup$1 -> com.google.android.material.timepicker.RadialViewGroup$1:
+ 70:70:void <init>(com.google.android.material.timepicker.RadialViewGroup) -> <init>
+ 73:74:void run() -> run
+com.google.android.material.timepicker.TimeModel -> com.google.android.material.timepicker.TimeModel:
+ 159:159:void <clinit>() -> <clinit>
+ 52:53:void <init>() -> <init>
+ 56:57:void <init>(int) -> <init>
+ 59:67:void <init>(int,int,int,int) -> <init>
+ 70:71:void <init>(android.os.Parcel) -> <init>
+ 147:147:int describeContents() -> describeContents
+ 130:139:boolean equals(java.lang.Object) -> equals
+ 183:183:java.lang.String formatText(android.content.res.Resources,java.lang.CharSequence) -> formatText
+ 187:190:java.lang.String formatText(android.content.res.Resources,java.lang.CharSequence,java.lang.String) -> formatText
+ 99:111:int getHourForDisplay() -> getHourForDisplay
+ 119:119:com.google.android.material.timepicker.MaxInputValidator getHourInputValidator() -> getHourInputValidator
+ 115:115:com.google.android.material.timepicker.MaxInputValidator getMinuteInputValidator() -> getMinuteInputValidator
+ 81:81:int getPeriod(int) -> getPeriod
+ 124:125:int hashCode() -> hashCode
+ 86:92:void setHour(int) -> setHour
+ 75:77:void setHourOfDay(int) -> setHourOfDay
+ 95:96:void setMinute(int) -> setMinute
+ 172:180:void setPeriod(int) -> setPeriod
+ 152:156:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+com.google.android.material.timepicker.TimeModel$1 -> com.google.android.material.timepicker.TimeModel$1:
+ 159:159:void <init>() -> <init>
+ 159:159:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 162:162:com.google.android.material.timepicker.TimeModel createFromParcel(android.os.Parcel) -> createFromParcel
+ 159:159:java.lang.Object[] newArray(int) -> newArray
+ 167:167:com.google.android.material.timepicker.TimeModel[] newArray(int) -> newArray
+com.google.android.material.timepicker.TimePickerClockPresenter -> com.google.android.material.timepicker.TimePickerClockPresenter:
+ 47:53:void <clinit>() -> <clinit>
+ 64:70:void <init>(com.google.android.material.timepicker.TimePickerView,com.google.android.material.timepicker.TimeModel) -> <init>
+ 110:110:int getDegreesPerHour() -> getDegreesPerHour
+ 106:106:java.lang.String[] getHourClockValues() -> getHourClockValues
+ 102:103:void hide() -> hide
+ 74:84:void initialize() -> initialize
+ 88:93:void invalidate() -> invalidate
+ 174:202:void onActionUp(float,boolean) -> onActionUp
+ 153:154:void onPeriodChange(int) -> onPeriodChange
+ 115:137:void onRotate(float,boolean) -> onRotate
+ 148:149:void onSelectionChanged(int) -> onSelectionChanged
+ 140:144:void performHapticFeedback(int,int) -> performHapticFeedback
+ 157:170:void setSelection(int,boolean) -> setSelection
+ 97:98:void show() -> show
+ 205:206:void updateTime() -> updateTime
+ 210:213:void updateValues() -> updateValues
+ 216:219:void updateValues(java.lang.String[],java.lang.String) -> updateValues
+com.google.android.material.timepicker.TimePickerTextInputKeyController -> com.google.android.material.timepicker.TimePickerTextInputKeyController:
+ 47:56:void <init>(com.google.android.material.timepicker.ChipTextInputComboView,com.google.android.material.timepicker.ChipTextInputComboView,com.google.android.material.timepicker.TimeModel) -> <init>
+ 60:71:void bind() -> bind
+ 74:77:void moveSelection(int) -> moveSelection
+ 81:86:boolean onEditorAction(android.widget.TextView,int,android.view.KeyEvent) -> onEditorAction
+ 119:136:boolean onHourKeyPress(int,android.view.KeyEvent,android.widget.EditText) -> onHourKeyPress
+ 91:102:boolean onKey(android.view.View,int,android.view.KeyEvent) -> onKey
+ 106:115:boolean onMinuteKeyPress(int,android.view.KeyEvent,android.widget.EditText) -> onMinuteKeyPress
+com.google.android.material.timepicker.TimePickerTextInputPresenter -> com.google.android.material.timepicker.TimePickerTextInputPresenter:
+ 58:145:void <init>(android.widget.LinearLayout,com.google.android.material.timepicker.TimeModel) -> <init>
+ 54:54:com.google.android.material.timepicker.TimeModel access$000(com.google.android.material.timepicker.TimePickerTextInputPresenter) -> access$000
+ 155:157:void addTextWatchers() -> addTextWatchers
+ 268:270:void clearCheck() -> clearCheck
+ 217:229:void hide() -> hide
+ 149:152:void initialize() -> initialize
+ 233:234:void invalidate() -> invalidate
+ 204:208:void onSelectionChanged(int) -> onSelectionChanged
+ 160:162:void removeTextWatchers() -> removeTextWatchers
+ 263:265:void resetChecked() -> resetChecked
+ 243:260:void setCursorDrawableColor(android.widget.EditText,int) -> setCursorDrawableColor
+ 165:173:void setTime(com.google.android.material.timepicker.TimeModel) -> setTime
+ 176:189:void setupPeriodToggle() -> setupPeriodToggle
+ 212:213:void show() -> show
+ 192:200:void updateSelection() -> updateSelection
+com.google.android.material.timepicker.TimePickerTextInputPresenter$1 -> com.google.android.material.timepicker.TimePickerTextInputPresenter$1:
+ 59:59:void <init>(com.google.android.material.timepicker.TimePickerTextInputPresenter) -> <init>
+ 63:72:void afterTextChanged(android.text.Editable) -> afterTextChanged
+com.google.android.material.timepicker.TimePickerTextInputPresenter$2 -> com.google.android.material.timepicker.TimePickerTextInputPresenter$2:
+ 76:76:void <init>(com.google.android.material.timepicker.TimePickerTextInputPresenter) -> <init>
+ 80:89:void afterTextChanged(android.text.Editable) -> afterTextChanged
+com.google.android.material.timepicker.TimePickerTextInputPresenter$3 -> com.google.android.material.timepicker.TimePickerTextInputPresenter$3:
+ 117:117:void <init>(com.google.android.material.timepicker.TimePickerTextInputPresenter) -> <init>
+ 120:121:void onClick(android.view.View) -> onClick
+com.google.android.material.timepicker.TimePickerTextInputPresenter$4 -> com.google.android.material.timepicker.TimePickerTextInputPresenter$4:
+ 179:179:void <init>(com.google.android.material.timepicker.TimePickerTextInputPresenter) -> <init>
+ 183:185:void onButtonChecked(com.google.android.material.button.MaterialButtonToggleGroup,int,boolean) -> onButtonChecked
+com.google.android.material.timepicker.TimePickerView -> com.google.android.material.timepicker.TimePickerView:
+ 91:92:void <init>(android.content.Context) -> <init>
+ 95:96:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 76:122:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 55:55:com.google.android.material.timepicker.TimePickerView$OnSelectionChange access$000(com.google.android.material.timepicker.TimePickerView) -> access$000
+ 55:55:com.google.android.material.timepicker.TimePickerView$OnPeriodChangeListener access$100(com.google.android.material.timepicker.TimePickerView) -> access$100
+ 55:55:com.google.android.material.timepicker.TimePickerView$OnDoubleTapListener access$200(com.google.android.material.timepicker.TimePickerView) -> access$200
+ 212:213:void addOnRotateListener(com.google.android.material.timepicker.ClockHandView$OnRotateListener) -> addOnRotateListener
+ 246:248:void onAttachedToWindow() -> onAttachedToWindow
+ 238:242:void onVisibilityChanged(android.view.View,int) -> onVisibilityChanged
+ 207:209:void setActiveSelection(int) -> setActiveSelection
+ 188:189:void setAnimateOnTouchUp(boolean) -> setAnimateOnTouchUp
+ 180:181:void setHandRotation(float) -> setHandRotation
+ 184:185:void setHandRotation(float,boolean) -> setHandRotation
+ 162:163:void setHourClickDelegate(androidx.core.view.AccessibilityDelegateCompat) -> setHourClickDelegate
+ 158:159:void setMinuteHourDelegate(androidx.core.view.AccessibilityDelegateCompat) -> setMinuteHourDelegate
+ 216:217:void setOnActionUpListener(com.google.android.material.timepicker.ClockHandView$OnActionUpListener) -> setOnActionUpListener
+ 229:230:void setOnDoubleTapListener(com.google.android.material.timepicker.TimePickerView$OnDoubleTapListener) -> setOnDoubleTapListener
+ 220:221:void setOnPeriodChangeListener(com.google.android.material.timepicker.TimePickerView$OnPeriodChangeListener) -> setOnPeriodChangeListener
+ 225:226:void setOnSelectionChangeListener(com.google.android.material.timepicker.TimePickerView$OnSelectionChange) -> setOnSelectionChangeListener
+ 166:171:void setUpDisplay() -> setUpDisplay
+ 175:176:void setValues(java.lang.String[],int) -> setValues
+ 126:155:void setupDoubleTap() -> setupDoubleTap
+ 233:234:void showToggle() -> showToggle
+ 194:203:void updateTime(int,int,int) -> updateTime
+ 251:261:void updateToggleConstraints() -> updateToggleConstraints
+com.google.android.material.timepicker.TimePickerView$1 -> com.google.android.material.timepicker.TimePickerView$1:
+ 77:77:void <init>(com.google.android.material.timepicker.TimePickerView) -> <init>
+ 80:83:void onClick(android.view.View) -> onClick
+com.google.android.material.timepicker.TimePickerView$2 -> com.google.android.material.timepicker.TimePickerView$2:
+ 104:104:void <init>(com.google.android.material.timepicker.TimePickerView) -> <init>
+ 108:112:void onButtonChecked(com.google.android.material.button.MaterialButtonToggleGroup,int,boolean) -> onButtonChecked
+com.google.android.material.timepicker.TimePickerView$3 -> com.google.android.material.timepicker.TimePickerView$3:
+ 129:129:void <init>(com.google.android.material.timepicker.TimePickerView) -> <init>
+ 132:137:boolean onDoubleTap(android.view.MotionEvent) -> onDoubleTap
+com.google.android.material.timepicker.TimePickerView$4 -> com.google.android.material.timepicker.TimePickerView$4:
+ 142:142:void <init>(com.google.android.material.timepicker.TimePickerView,android.view.GestureDetector) -> <init>
+ 145:149:boolean onTouch(android.view.View,android.view.MotionEvent) -> onTouch
+com.google.android.material.tooltip.TooltipDrawable -> com.google.android.material.tooltip.TooltipDrawable:
+ 67:68:void <clinit>() -> <clinit>
+ 72:145:void <init>(android.content.Context,android.util.AttributeSet,int,int) -> <init>
+ 65:65:void access$000(com.google.android.material.tooltip.TooltipDrawable,android.view.View) -> access$000
+ 463:469:float calculatePointerOffset() -> calculatePointerOffset
+ 524:525:float calculateTextCenterFromBaseline() -> calculateTextCenterFromBaseline
+ 508:508:float calculateTextOriginAndAlignment(android.graphics.Rect) -> calculateTextOriginAndAlignment
+ 133:133:com.google.android.material.tooltip.TooltipDrawable create(android.content.Context) -> create
+ 118:121:com.google.android.material.tooltip.TooltipDrawable createFromAttributes(android.content.Context,android.util.AttributeSet,int,int) -> createFromAttributes
+ 128:128:com.google.android.material.tooltip.TooltipDrawable createFromAttributes(android.content.Context,android.util.AttributeSet) -> createFromAttributes
+ 473:478:com.google.android.material.shape.EdgeTreatment createMarkerEdge() -> createMarkerEdge
+ 387:391:void detachView(android.view.View) -> detachView
+ 405:432:void draw(android.graphics.Canvas) -> draw
+ 482:497:void drawText(android.graphics.Canvas) -> drawText
+ 400:400:int getIntrinsicHeight() -> getIntrinsicHeight
+ 395:395:int getIntrinsicWidth() -> getIntrinsicWidth
+ 329:329:int getLayoutMargin() -> getLayoutMargin
+ 285:285:int getMinHeight() -> getMinHeight
+ 263:263:int getMinWidth() -> getMinWidth
+ 197:197:java.lang.CharSequence getText() -> getText
+ 233:233:com.google.android.material.resources.TextAppearance getTextAppearance() -> getTextAppearance
+ 307:307:int getTextPadding() -> getTextPadding
+ 500:503:float getTextWidth() -> getTextWidth
+ 149:188:void loadFromAttributes(android.util.AttributeSet,int,int) -> loadFromAttributes
+ 436:442:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 447:447:boolean onStateChange(int[]) -> onStateChange
+ 452:453:void onTextSizeChange() -> onTextSizeChange
+ 340:342:void setLayoutMargin(int) -> setLayoutMargin
+ 296:298:void setMinHeight(int) -> setMinHeight
+ 274:276:void setMinWidth(int) -> setMinWidth
+ 373:379:void setRelativeToView(android.view.View) -> setRelativeToView
+ 359:364:void setRevealFraction(float) -> setRevealFraction
+ 219:224:void setText(java.lang.CharSequence) -> setText
+ 253:254:void setTextAppearance(com.google.android.material.resources.TextAppearance) -> setTextAppearance
+ 243:244:void setTextAppearanceResource(int) -> setTextAppearanceResource
+ 318:320:void setTextPadding(int) -> setTextPadding
+ 208:209:void setTextResource(int) -> setTextResource
+ 456:460:void updateLocationOnScreen(android.view.View) -> updateLocationOnScreen
+com.google.android.material.tooltip.TooltipDrawable$1 -> com.google.android.material.tooltip.TooltipDrawable$1:
+ 80:80:void <init>(com.google.android.material.tooltip.TooltipDrawable) -> <init>
+ 92:93:void onLayoutChange(android.view.View,int,int,int,int,int,int,int,int) -> onLayoutChange
+com.google.android.material.transformation.ExpandableBehavior -> com.google.android.material.transformation.ExpandableBehavior:
+ 65:67:void <init>() -> <init>
+ 65:71:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 43:43:int access$000(com.google.android.material.transformation.ExpandableBehavior) -> access$000
+ 150:155:boolean didStateChange(boolean) -> didStateChange
+ 139:146:com.google.android.material.expandable.ExpandableWidget findExpandableWidget(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> findExpandableWidget
+ 168:177:com.google.android.material.transformation.ExpandableBehavior from(android.view.View,java.lang.Class) -> from
+ 126:133:boolean onDependentViewChanged(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> onDependentViewChanged
+ 98:120:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+com.google.android.material.transformation.ExpandableBehavior$1 -> com.google.android.material.transformation.ExpandableBehavior$1:
+ 106:106:void <init>(com.google.android.material.transformation.ExpandableBehavior,android.view.View,int,com.google.android.material.expandable.ExpandableWidget) -> <init>
+ 109:114:boolean onPreDraw() -> onPreDraw
+com.google.android.material.transformation.ExpandableTransformationBehavior -> com.google.android.material.transformation.ExpandableTransformationBehavior:
+ 46:46:void <init>() -> <init>
+ 49:50:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 42:42:android.animation.AnimatorSet access$002(com.google.android.material.transformation.ExpandableTransformationBehavior,android.animation.AnimatorSet) -> access$002
+ 75:97:boolean onExpandedStateChange(android.view.View,android.view.View,boolean,boolean) -> onExpandedStateChange
+com.google.android.material.transformation.ExpandableTransformationBehavior$1 -> com.google.android.material.transformation.ExpandableTransformationBehavior$1:
+ 83:83:void <init>(com.google.android.material.transformation.ExpandableTransformationBehavior) -> <init>
+ 86:87:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transformation.FabTransformationBehavior -> com.google.android.material.transformation.FabTransformationBehavior:
+ 79:89:void <init>() -> <init>
+ 79:93:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 710:722:android.view.ViewGroup calculateChildContentContainer(android.view.View) -> calculateChildContentContainer
+ 668:686:void calculateChildVisibleBoundsAtEndOfExpansion(android.view.View,com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec,com.google.android.material.animation.MotionTiming,com.google.android.material.animation.MotionTiming,float,float,float,float,android.graphics.RectF) -> calculateChildVisibleBoundsAtEndOfExpansion
+ 626:628:void calculateDependencyWindowBounds(android.view.View,android.graphics.RectF) -> calculateDependencyWindowBounds
+ 542:556:android.util.Pair calculateMotionTiming(float,float,boolean,com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec) -> calculateMotionTiming
+ 632:641:float calculateRevealCenterX(android.view.View,android.view.View,com.google.android.material.animation.Positioning) -> calculateRevealCenterX
+ 646:655:float calculateRevealCenterY(android.view.View,android.view.View,com.google.android.material.animation.Positioning) -> calculateRevealCenterY
+ 561:582:float calculateTranslationX(android.view.View,android.view.View,com.google.android.material.animation.Positioning) -> calculateTranslationX
+ 587:608:float calculateTranslationY(android.view.View,android.view.View,com.google.android.material.animation.Positioning) -> calculateTranslationY
+ 690:703:float calculateValueOfAnimationAtEndOfExpansion(com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec,com.google.android.material.animation.MotionTiming,float,float) -> calculateValueOfAnimationAtEndOfExpansion
+ 612:623:void calculateWindowBounds(android.view.View,android.graphics.RectF) -> calculateWindowBounds
+ 502:532:void createChildrenFadeAnimation(android.view.View,android.view.View,boolean,boolean,com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec,java.util.List,java.util.List) -> createChildrenFadeAnimation
+ 462:492:void createColorAnimation(android.view.View,android.view.View,boolean,boolean,com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec,java.util.List,java.util.List) -> createColorAnimation
+ 230:256:void createDependencyTranslationAnimation(android.view.View,android.view.View,boolean,com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec,java.util.List) -> createDependencyTranslationAnimation
+ 207:222:void createElevationAnimation(android.view.View,android.view.View,boolean,boolean,com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec,java.util.List,java.util.List) -> createElevationAnimation
+ 377:452:void createExpansionAnimation(android.view.View,android.view.View,boolean,boolean,com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec,float,float,java.util.List,java.util.List) -> createExpansionAnimation
+ 315:365:void createIconFadeAnimation(android.view.View,android.view.View,boolean,boolean,com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec,java.util.List,java.util.List) -> createIconFadeAnimation
+ 774:785:void createPostFillRadialExpansion(android.view.View,long,long,long,int,int,float,java.util.List) -> createPostFillRadialExpansion
+ 751:762:void createPreFillRadialExpansion(android.view.View,long,int,int,float,java.util.List) -> createPreFillRadialExpansion
+ 267:305:void createTranslationAnimation(android.view.View,android.view.View,boolean,boolean,com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec,java.util.List,java.util.List,android.graphics.RectF) -> createTranslationAnimation
+ 735:739:int getBackgroundTint(android.view.View) -> getBackgroundTint
+ 99:109:boolean layoutDependsOn(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> layoutDependsOn
+ 115:120:void onAttachedToLayoutParams(androidx.coordinatorlayout.widget.CoordinatorLayout$LayoutParams) -> onAttachedToLayoutParams
+ 129:193:android.animation.AnimatorSet onCreateExpandedStateChangeAnimation(android.view.View,android.view.View,boolean,boolean) -> onCreateExpandedStateChangeAnimation
+ 727:730:android.view.ViewGroup toViewGroupOrNull(android.view.View) -> toViewGroupOrNull
+com.google.android.material.transformation.FabTransformationBehavior$1 -> com.google.android.material.transformation.FabTransformationBehavior$1:
+ 169:169:void <init>(com.google.android.material.transformation.FabTransformationBehavior,boolean,android.view.View,android.view.View) -> <init>
+ 182:188:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 172:178:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.transformation.FabTransformationBehavior$2 -> com.google.android.material.transformation.FabTransformationBehavior$2:
+ 342:342:void <init>(com.google.android.material.transformation.FabTransformationBehavior,android.view.View) -> <init>
+ 345:346:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.transformation.FabTransformationBehavior$3 -> com.google.android.material.transformation.FabTransformationBehavior$3:
+ 353:353:void <init>(com.google.android.material.transformation.FabTransformationBehavior,com.google.android.material.circularreveal.CircularRevealWidget,android.graphics.drawable.Drawable) -> <init>
+ 362:363:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 357:358:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.transformation.FabTransformationBehavior$4 -> com.google.android.material.transformation.FabTransformationBehavior$4:
+ 405:405:void <init>(com.google.android.material.transformation.FabTransformationBehavior,com.google.android.material.circularreveal.CircularRevealWidget) -> <init>
+ 410:413:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec -> com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec:
+ 788:788:void <init>() -> <init>
+com.google.android.material.transformation.FabTransformationScrimBehavior -> com.google.android.material.transformation.FabTransformationScrimBehavior:
+ 52:55:void <init>() -> <init>
+ 52:59:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 112:126:void createScrimAnimation(android.view.View,boolean,boolean,java.util.List,java.util.List) -> createScrimAnimation
+ 63:63:boolean layoutDependsOn(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> layoutDependsOn
+ 80:103:android.animation.AnimatorSet onCreateExpandedStateChangeAnimation(android.view.View,android.view.View,boolean,boolean) -> onCreateExpandedStateChangeAnimation
+ 70:70:boolean onTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onTouchEvent
+com.google.android.material.transformation.FabTransformationScrimBehavior$1 -> com.google.android.material.transformation.FabTransformationScrimBehavior$1:
+ 88:88:void <init>(com.google.android.material.transformation.FabTransformationScrimBehavior,boolean,android.view.View) -> <init>
+ 98:101:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 91:94:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.google.android.material.transformation.FabTransformationSheetBehavior -> com.google.android.material.transformation.FabTransformationSheetBehavior:
+ 53:53:void <init>() -> <init>
+ 56:57:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 63:72:com.google.android.material.transformation.FabTransformationBehavior$FabTransformationSpec onCreateMotionSpec(android.content.Context,boolean) -> onCreateMotionSpec
+ 79:80:boolean onExpandedStateChange(android.view.View,android.view.View,boolean,boolean) -> onExpandedStateChange
+ 84:127:void updateImportantForAccessibility(android.view.View,boolean) -> updateImportantForAccessibility
+com.google.android.material.transformation.TransformationChildCard -> com.google.android.material.transformation.TransformationChildCard:
+ 39:40:void <init>(android.content.Context) -> <init>
+ 43:44:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+com.google.android.material.transformation.TransformationChildLayout -> com.google.android.material.transformation.TransformationChildLayout:
+ 42:43:void <init>(android.content.Context) -> <init>
+ 46:47:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+com.google.android.material.transition.FadeModeEvaluators -> com.google.android.material.transition.FadeModeEvaluators:
+ 29:62:void <clinit>() -> <clinit>
+ 91:91:void <init>() -> <init>
+ 77:87:com.google.android.material.transition.FadeModeEvaluator get(int,boolean) -> get
+com.google.android.material.transition.FadeModeEvaluators$1 -> com.google.android.material.transition.FadeModeEvaluators$1:
+ 30:30:void <init>() -> <init>
+ 34:36:com.google.android.material.transition.FadeModeResult evaluate(float,float,float,float) -> evaluate
+com.google.android.material.transition.FadeModeEvaluators$2 -> com.google.android.material.transition.FadeModeEvaluators$2:
+ 41:41:void <init>() -> <init>
+ 45:47:com.google.android.material.transition.FadeModeResult evaluate(float,float,float,float) -> evaluate
+com.google.android.material.transition.FadeModeEvaluators$3 -> com.google.android.material.transition.FadeModeEvaluators$3:
+ 52:52:void <init>() -> <init>
+ 56:58:com.google.android.material.transition.FadeModeResult evaluate(float,float,float,float) -> evaluate
+com.google.android.material.transition.FadeModeEvaluators$4 -> com.google.android.material.transition.FadeModeEvaluators$4:
+ 63:63:void <init>() -> <init>
+ 67:72:com.google.android.material.transition.FadeModeResult evaluate(float,float,float,float) -> evaluate
+com.google.android.material.transition.FadeModeResult -> com.google.android.material.transition.FadeModeResult:
+ 32:36:void <init>(int,int,boolean) -> <init>
+ 29:29:com.google.android.material.transition.FadeModeResult endOnTop(int,int) -> endOnTop
+ 25:25:com.google.android.material.transition.FadeModeResult startOnTop(int,int) -> startOnTop
+com.google.android.material.transition.FadeProvider -> com.google.android.material.transition.FadeProvider:
+ 32:34:void <init>() -> <init>
+ 60:61:android.animation.Animator createAppear(android.view.ViewGroup,android.view.View) -> createAppear
+ 73:74:android.animation.Animator createDisappear(android.view.ViewGroup,android.view.View) -> createDisappear
+ 90:107:android.animation.Animator createFadeAnimator(android.view.View,float,float,float,float,float) -> createFadeAnimator
+ 42:42:float getIncomingEndThreshold() -> getIncomingEndThreshold
+ 54:55:void setIncomingEndThreshold(float) -> setIncomingEndThreshold
+com.google.android.material.transition.FadeProvider$1 -> com.google.android.material.transition.FadeProvider$1:
+ 92:92:void <init>(android.view.View,float,float,float,float) -> <init>
+ 95:97:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.transition.FadeProvider$2 -> com.google.android.material.transition.FadeProvider$2:
+ 100:100:void <init>(android.view.View,float) -> <init>
+ 104:105:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transition.FadeThroughProvider -> com.google.android.material.transition.FadeThroughProvider:
+ 36:40:void <init>() -> <init>
+ 65:66:android.animation.Animator createAppear(android.view.ViewGroup,android.view.View) -> createAppear
+ 78:79:android.animation.Animator createDisappear(android.view.ViewGroup,android.view.View) -> createDisappear
+ 95:112:android.animation.Animator createFadeThroughAnimator(android.view.View,float,float,float,float,float) -> createFadeThroughAnimator
+ 49:49:float getProgressThreshold() -> getProgressThreshold
+ 59:60:void setProgressThreshold(float) -> setProgressThreshold
+com.google.android.material.transition.FadeThroughProvider$1 -> com.google.android.material.transition.FadeThroughProvider$1:
+ 97:97:void <init>(android.view.View,float,float,float,float) -> <init>
+ 100:102:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.transition.FadeThroughProvider$2 -> com.google.android.material.transition.FadeThroughProvider$2:
+ 105:105:void <init>(android.view.View,float) -> <init>
+ 109:110:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transition.FitModeEvaluators -> com.google.android.material.transition.FitModeEvaluators:
+ 29:75:void <clinit>() -> <clinit>
+ 148:148:void <init>() -> <init>
+ 124:132:com.google.android.material.transition.FitModeEvaluator get(int,boolean,android.graphics.RectF,android.graphics.RectF) -> get
+ 138:145:boolean shouldAutoFitToWidth(boolean,android.graphics.RectF,android.graphics.RectF) -> shouldAutoFitToWidth
+com.google.android.material.transition.FitModeEvaluators$1 -> com.google.android.material.transition.FitModeEvaluators$1:
+ 30:30:void <init>() -> <init>
+ 69:72:void applyMask(android.graphics.RectF,float,com.google.android.material.transition.FitModeResult) -> applyMask
+ 41:53:com.google.android.material.transition.FitModeResult evaluate(float,float,float,float,float,float,float) -> evaluate
+ 64:64:boolean shouldMaskStartBounds(com.google.android.material.transition.FitModeResult) -> shouldMaskStartBounds
+com.google.android.material.transition.FitModeEvaluators$2 -> com.google.android.material.transition.FitModeEvaluators$2:
+ 76:76:void <init>() -> <init>
+ 115:119:void applyMask(android.graphics.RectF,float,com.google.android.material.transition.FitModeResult) -> applyMask
+ 87:99:com.google.android.material.transition.FitModeResult evaluate(float,float,float,float,float,float,float) -> evaluate
+ 110:110:boolean shouldMaskStartBounds(com.google.android.material.transition.FitModeResult) -> shouldMaskStartBounds
+com.google.android.material.transition.FitModeResult -> com.google.android.material.transition.FitModeResult:
+ 33:40:void <init>(float,float,float,float,float,float) -> <init>
+com.google.android.material.transition.Hold -> com.google.android.material.transition.Hold:
+ 32:32:void <init>() -> <init>
+ 41:41:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onAppear
+ 51:51:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onDisappear
+com.google.android.material.transition.MaskEvaluator -> com.google.android.material.transition.MaskEvaluator:
+ 37:43:void <init>() -> <init>
+ 83:89:void clip(android.graphics.Canvas) -> clip
+ 59:79:void evaluate(float,com.google.android.material.shape.ShapeAppearanceModel,com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF,android.graphics.RectF,android.graphics.RectF,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds) -> evaluate
+ 96:96:com.google.android.material.shape.ShapeAppearanceModel getCurrentShapeAppearanceModel() -> getCurrentShapeAppearanceModel
+ 92:92:android.graphics.Path getPath() -> getPath
+com.google.android.material.transition.MaterialArcMotion -> com.google.android.material.transition.MaterialArcMotion:
+ 32:32:void <init>() -> <init>
+ 46:49:android.graphics.PointF getControlPoint(float,float,float,float) -> getControlPoint
+ 37:42:android.graphics.Path getPath(float,float,float,float) -> getPath
+com.google.android.material.transition.MaterialContainerTransform -> com.google.android.material.transition.MaterialContainerTransform:
+ 193:223:void <clinit>() -> <clinit>
+ 232:260:void <init>() -> <init>
+ 232:265:void <init>(android.content.Context,boolean) -> <init>
+ 121:121:boolean access$300(com.google.android.material.transition.MaterialContainerTransform) -> access$300
+ 1045:1050:com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup buildThresholdsGroup(boolean) -> buildThresholdsGroup
+ 1022:1027:android.graphics.RectF calculateDrawableBounds(android.view.View,android.view.View,float,float) -> calculateDrawableBounds
+ 806:807:void captureEndValues(androidx.transition.TransitionValues) -> captureEndValues
+ 844:846:com.google.android.material.shape.ShapeAppearanceModel captureShapeAppearance(android.view.View,android.graphics.RectF,com.google.android.material.shape.ShapeAppearanceModel) -> captureShapeAppearance
+ 801:802:void captureStartValues(androidx.transition.TransitionValues) -> captureStartValues
+ 814:837:void captureValues(androidx.transition.TransitionValues,android.view.View,int,com.google.android.material.shape.ShapeAppearanceModel) -> captureValues
+ 888:1003:android.animation.Animator createAnimator(android.view.ViewGroup,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> createAnimator
+ 486:486:int getContainerColor() -> getContainerColor
+ 458:458:int getDrawingViewId() -> getDrawingViewId
+ 1017:1017:float getElevationOrDefault(float,android.view.View) -> getElevationOrDefault
+ 545:545:int getEndContainerColor() -> getEndContainerColor
+ 442:442:float getEndElevation() -> getEndElevation
+ 378:378:com.google.android.material.shape.ShapeAppearanceModel getEndShapeAppearanceModel() -> getEndShapeAppearanceModel
+ 335:335:android.view.View getEndView() -> getEndView
+ 303:303:int getEndViewId() -> getEndViewId
+ 632:632:int getFadeMode() -> getFadeMode
+ 671:671:com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds getFadeProgressThresholds() -> getFadeProgressThresholds
+ 652:652:int getFitMode() -> getFitMode
+ 713:713:com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds getScaleMaskProgressThresholds() -> getScaleMaskProgressThresholds
+ 692:692:com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds getScaleProgressThresholds() -> getScaleProgressThresholds
+ 586:586:int getScrimColor() -> getScrimColor
+ 853:871:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearance(android.view.View,com.google.android.material.shape.ShapeAppearanceModel) -> getShapeAppearance
+ 735:735:com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds getShapeMaskProgressThresholds() -> getShapeMaskProgressThresholds
+ 518:518:int getStartContainerColor() -> getStartContainerColor
+ 422:422:float getStartElevation() -> getStartElevation
+ 353:353:com.google.android.material.shape.ShapeAppearanceModel getStartShapeAppearanceModel() -> getStartShapeAppearanceModel
+ 320:320:android.view.View getStartView() -> getStartView
+ 270:270:int getStartViewId() -> getStartViewId
+ 1058:1064:com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup getThresholdsOrDefault(boolean,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup) -> getThresholdsOrDefault
+ 614:614:int getTransitionDirection() -> getTransitionDirection
+ 796:796:java.lang.String[] getTransitionProperties() -> getTransitionProperties
+ 876:879:int getTransitionShapeAppearanceResId(android.content.Context) -> getTransitionShapeAppearanceResId
+ 775:775:boolean isDrawDebugEnabled() -> isDrawDebugEnabled
+ 396:396:boolean isElevationShadowEnabled() -> isElevationShadowEnabled
+ 1032:1040:boolean isEntering(android.graphics.RectF,android.graphics.RectF) -> isEntering
+ 756:756:boolean isHoldAtEndEnabled() -> isHoldAtEndEnabled
+ 1007:1014:void maybeApplyThemeValues(android.content.Context,boolean) -> maybeApplyThemeValues
+ 575:578:void setAllContainerColors(int) -> setAllContainerColors
+ 508:509:void setContainerColor(int) -> setContainerColor
+ 784:785:void setDrawDebugEnabled(boolean) -> setDrawDebugEnabled
+ 476:477:void setDrawingViewId(int) -> setDrawingViewId
+ 412:413:void setElevationShadowEnabled(boolean) -> setElevationShadowEnabled
+ 560:561:void setEndContainerColor(int) -> setEndContainerColor
+ 452:453:void setEndElevation(float) -> setEndElevation
+ 388:389:void setEndShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setEndShapeAppearanceModel
+ 344:345:void setEndView(android.view.View) -> setEndView
+ 314:315:void setEndViewId(int) -> setEndViewId
+ 646:647:void setFadeMode(int) -> setFadeMode
+ 682:683:void setFadeProgressThresholds(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds) -> setFadeProgressThresholds
+ 661:662:void setFitMode(int) -> setFitMode
+ 766:767:void setHoldAtEndEnabled(boolean) -> setHoldAtEndEnabled
+ 789:791:void setPathMotion(androidx.transition.PathMotion) -> setPathMotion
+ 725:726:void setScaleMaskProgressThresholds(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds) -> setScaleMaskProgressThresholds
+ 703:704:void setScaleProgressThresholds(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds) -> setScaleProgressThresholds
+ 602:603:void setScrimColor(int) -> setScrimColor
+ 747:748:void setShapeMaskProgressThresholds(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds) -> setShapeMaskProgressThresholds
+ 535:536:void setStartContainerColor(int) -> setStartContainerColor
+ 432:433:void setStartElevation(float) -> setStartElevation
+ 369:370:void setStartShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setStartShapeAppearanceModel
+ 329:330:void setStartView(android.view.View) -> setStartView
+ 288:289:void setStartViewId(int) -> setStartViewId
+ 626:627:void setTransitionDirection(int) -> setTransitionDirection
+com.google.android.material.transition.MaterialContainerTransform$1 -> com.google.android.material.transition.MaterialContainerTransform$1:
+ 968:968:void <init>(com.google.android.material.transition.MaterialContainerTransform,com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable) -> <init>
+ 971:972:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.transition.MaterialContainerTransform$2 -> com.google.android.material.transition.MaterialContainerTransform$2:
+ 976:976:void <init>(com.google.android.material.transition.MaterialContainerTransform,android.view.View,com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable,android.view.View,android.view.View) -> <init>
+ 989:1000:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 980:985:void onTransitionStart(androidx.transition.Transition) -> onTransitionStart
+com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds -> com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds:
+ 1540:1543:void <init>(float,float) -> <init>
+ 1531:1531:float access$1000(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds) -> access$1000
+ 1531:1531:float access$1100(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds) -> access$1100
+ 1552:1552:float getEnd() -> getEnd
+ 1547:1547:float getStart() -> getStart
+com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup -> com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup:
+ 1556:1556:void <init>(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.MaterialContainerTransform$1) -> <init>
+ 1566:1571:void <init>(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds) -> <init>
+ 1556:1556:com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds access$400(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup) -> access$400
+ 1556:1556:com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds access$500(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup) -> access$500
+ 1556:1556:com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds access$600(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup) -> access$600
+ 1556:1556:com.google.android.material.transition.MaterialContainerTransform$ProgressThresholds access$700(com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup) -> access$700
+com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable -> com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable:
+ 1071:1071:void <init>(androidx.transition.PathMotion,android.view.View,android.graphics.RectF,com.google.android.material.shape.ShapeAppearanceModel,float,android.view.View,android.graphics.RectF,com.google.android.material.shape.ShapeAppearanceModel,float,int,int,int,int,boolean,boolean,com.google.android.material.transition.FadeModeEvaluator,com.google.android.material.transition.FitModeEvaluator,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup,boolean,com.google.android.material.transition.MaterialContainerTransform$1) -> <init>
+ 1094:1211:void <init>(androidx.transition.PathMotion,android.view.View,android.graphics.RectF,com.google.android.material.shape.ShapeAppearanceModel,float,android.view.View,android.graphics.RectF,com.google.android.material.shape.ShapeAppearanceModel,float,int,int,int,int,boolean,boolean,com.google.android.material.transition.FadeModeEvaluator,com.google.android.material.transition.FitModeEvaluator,com.google.android.material.transition.MaterialContainerTransform$ProgressThresholdsGroup,boolean) -> <init>
+ 1071:1071:void access$200(com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable,float) -> access$200
+ 1071:1071:android.view.View access$800(com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable) -> access$800
+ 1071:1071:android.view.View access$900(com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable) -> access$900
+ 1485:1485:float calculateElevationDxMultiplier(android.graphics.RectF,float) -> calculateElevationDxMultiplier
+ 1497:1497:float calculateElevationDyMultiplier(android.graphics.RectF,float) -> calculateElevationDyMultiplier
+ 1215:1247:void draw(android.graphics.Canvas) -> draw
+ 1502:1511:void drawDebugCumulativePath(android.graphics.Canvas,android.graphics.RectF,android.graphics.Path,int) -> drawDebugCumulativePath
+ 1514:1516:void drawDebugRect(android.graphics.Canvas,android.graphics.RectF,int) -> drawDebugRect
+ 1251:1261:void drawElevationShadow(android.graphics.Canvas) -> drawElevationShadow
+ 1278:1287:void drawElevationShadowWithMaterialShapeDrawable(android.graphics.Canvas) -> drawElevationShadowWithMaterialShapeDrawable
+ 1264:1275:void drawElevationShadowWithPaintShadowLayer(android.graphics.Canvas) -> drawElevationShadowWithPaintShadowLayer
+ 1309:1323:void drawEndView(android.graphics.Canvas) -> drawEndView
+ 1291:1305:void drawStartView(android.graphics.Canvas) -> drawStartView
+ 1467:1467:android.graphics.PointF getMotionPathPoint(android.graphics.RectF) -> getMotionPathPoint
+ 1345:1345:int getOpacity() -> getOpacity
+ 1329:1332:void maybeDrawContainerColor(android.graphics.Canvas,android.graphics.Paint) -> maybeDrawContainerColor
+ 1336:1336:void setAlpha(int) -> setAlpha
+ 1340:1340:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 1349:1352:void setProgress(float) -> setProgress
+ 1355:1464:void updateProgress(float) -> updateProgress
+com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable$1 -> com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable$1:
+ 1299:1299:void <init>(com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable) -> <init>
+ 1302:1303:void run(android.graphics.Canvas) -> run
+com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable$2 -> com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable$2:
+ 1317:1317:void <init>(com.google.android.material.transition.MaterialContainerTransform$TransitionDrawable) -> <init>
+ 1320:1321:void run(android.graphics.Canvas) -> run
+com.google.android.material.transition.MaterialElevationScale -> com.google.android.material.transition.MaterialElevationScale:
+ 33:35:void <init>(boolean) -> <init>
+ 26:26:void addAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> addAdditionalAnimatorProvider
+ 26:26:void clearAdditionalAnimatorProvider() -> clearAdditionalAnimatorProvider
+ 42:45:com.google.android.material.transition.ScaleProvider createPrimaryAnimatorProvider(boolean) -> createPrimaryAnimatorProvider
+ 49:49:com.google.android.material.transition.VisibilityAnimatorProvider createSecondaryAnimatorProvider() -> createSecondaryAnimatorProvider
+ 26:26:com.google.android.material.transition.VisibilityAnimatorProvider getSecondaryAnimatorProvider() -> getSecondaryAnimatorProvider
+ 38:38:boolean isGrowing() -> isGrowing
+ 26:26:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onAppear
+ 26:26:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onDisappear
+ 26:26:boolean removeAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> removeAdditionalAnimatorProvider
+ 26:26:void setSecondaryAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> setSecondaryAnimatorProvider
+com.google.android.material.transition.MaterialFade -> com.google.android.material.transition.MaterialFade:
+ 40:45:void <clinit>() -> <clinit>
+ 48:49:void <init>() -> <init>
+ 34:34:void addAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> addAdditionalAnimatorProvider
+ 34:34:void clearAdditionalAnimatorProvider() -> clearAdditionalAnimatorProvider
+ 52:54:com.google.android.material.transition.FadeProvider createPrimaryAnimatorProvider() -> createPrimaryAnimatorProvider
+ 58:61:com.google.android.material.transition.VisibilityAnimatorProvider createSecondaryAnimatorProvider() -> createSecondaryAnimatorProvider
+ 81:81:android.animation.TimeInterpolator getDefaultEasingInterpolator(boolean) -> getDefaultEasingInterpolator
+ 67:67:int getDurationThemeAttrResId(boolean) -> getDurationThemeAttrResId
+ 75:75:int getEasingThemeAttrResId(boolean) -> getEasingThemeAttrResId
+ 34:34:com.google.android.material.transition.VisibilityAnimatorProvider getSecondaryAnimatorProvider() -> getSecondaryAnimatorProvider
+ 34:34:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onAppear
+ 34:34:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onDisappear
+ 34:34:boolean removeAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> removeAdditionalAnimatorProvider
+ 34:34:void setSecondaryAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> setSecondaryAnimatorProvider
+com.google.android.material.transition.MaterialFadeThrough -> com.google.android.material.transition.MaterialFadeThrough:
+ 35:36:void <clinit>() -> <clinit>
+ 39:40:void <init>() -> <init>
+ 31:31:void addAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> addAdditionalAnimatorProvider
+ 31:31:void clearAdditionalAnimatorProvider() -> clearAdditionalAnimatorProvider
+ 43:43:com.google.android.material.transition.FadeThroughProvider createPrimaryAnimatorProvider() -> createPrimaryAnimatorProvider
+ 47:50:com.google.android.material.transition.VisibilityAnimatorProvider createSecondaryAnimatorProvider() -> createSecondaryAnimatorProvider
+ 56:56:int getDurationThemeAttrResId(boolean) -> getDurationThemeAttrResId
+ 62:62:int getEasingThemeAttrResId(boolean) -> getEasingThemeAttrResId
+ 31:31:com.google.android.material.transition.VisibilityAnimatorProvider getSecondaryAnimatorProvider() -> getSecondaryAnimatorProvider
+ 31:31:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onAppear
+ 31:31:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onDisappear
+ 31:31:boolean removeAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> removeAdditionalAnimatorProvider
+ 31:31:void setSecondaryAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> setSecondaryAnimatorProvider
+com.google.android.material.transition.MaterialSharedAxis -> com.google.android.material.transition.MaterialSharedAxis:
+ 86:87:void <clinit>() -> <clinit>
+ 90:93:void <init>(int,boolean) -> <init>
+ 51:51:void addAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> addAdditionalAnimatorProvider
+ 51:51:void clearAdditionalAnimatorProvider() -> clearAdditionalAnimatorProvider
+ 106:114:com.google.android.material.transition.VisibilityAnimatorProvider createPrimaryAnimatorProvider(int,boolean) -> createPrimaryAnimatorProvider
+ 119:119:com.google.android.material.transition.VisibilityAnimatorProvider createSecondaryAnimatorProvider() -> createSecondaryAnimatorProvider
+ 97:97:int getAxis() -> getAxis
+ 125:125:int getDurationThemeAttrResId(boolean) -> getDurationThemeAttrResId
+ 131:131:int getEasingThemeAttrResId(boolean) -> getEasingThemeAttrResId
+ 51:51:com.google.android.material.transition.VisibilityAnimatorProvider getPrimaryAnimatorProvider() -> getPrimaryAnimatorProvider
+ 51:51:com.google.android.material.transition.VisibilityAnimatorProvider getSecondaryAnimatorProvider() -> getSecondaryAnimatorProvider
+ 101:101:boolean isForward() -> isForward
+ 51:51:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onAppear
+ 51:51:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onDisappear
+ 51:51:boolean removeAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> removeAdditionalAnimatorProvider
+ 51:51:void setSecondaryAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> setSecondaryAnimatorProvider
+com.google.android.material.transition.MaterialVisibility -> com.google.android.material.transition.MaterialVisibility:
+ 40:46:void <init>(com.google.android.material.transition.VisibilityAnimatorProvider,com.google.android.material.transition.VisibilityAnimatorProvider) -> <init>
+ 87:88:void addAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> addAdditionalAnimatorProvider
+ 147:157:void addAnimatorIfNeeded(java.util.List,com.google.android.material.transition.VisibilityAnimatorProvider,android.view.ViewGroup,android.view.View,boolean) -> addAnimatorIfNeeded
+ 107:108:void clearAdditionalAnimatorProvider() -> clearAdditionalAnimatorProvider
+ 124:138:android.animation.Animator createAnimator(android.view.ViewGroup,android.view.View,boolean) -> createAnimator
+ 177:177:android.animation.TimeInterpolator getDefaultEasingInterpolator(boolean) -> getDefaultEasingInterpolator
+ 167:167:int getDurationThemeAttrResId(boolean) -> getDurationThemeAttrResId
+ 172:172:int getEasingThemeAttrResId(boolean) -> getEasingThemeAttrResId
+ 54:54:com.google.android.material.transition.VisibilityAnimatorProvider getPrimaryAnimatorProvider() -> getPrimaryAnimatorProvider
+ 65:65:com.google.android.material.transition.VisibilityAnimatorProvider getSecondaryAnimatorProvider() -> getSecondaryAnimatorProvider
+ 160:163:void maybeApplyThemeValues(android.content.Context,boolean) -> maybeApplyThemeValues
+ 113:113:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onAppear
+ 119:119:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,androidx.transition.TransitionValues,androidx.transition.TransitionValues) -> onDisappear
+ 97:97:boolean removeAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> removeAdditionalAnimatorProvider
+ 74:75:void setSecondaryAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider) -> setSecondaryAnimatorProvider
+com.google.android.material.transition.ScaleProvider -> com.google.android.material.transition.ScaleProvider:
+ 47:48:void <init>() -> <init>
+ 38:52:void <init>(boolean) -> <init>
+ 150:153:android.animation.Animator createAppear(android.view.ViewGroup,android.view.View) -> createAppear
+ 160:167:android.animation.Animator createDisappear(android.view.ViewGroup,android.view.View) -> createDisappear
+ 172:189:android.animation.Animator createScaleAnimator(android.view.View,float,float) -> createScaleAnimator
+ 136:136:float getIncomingEndScale() -> getIncomingEndScale
+ 120:120:float getIncomingStartScale() -> getIncomingStartScale
+ 104:104:float getOutgoingEndScale() -> getOutgoingEndScale
+ 88:88:float getOutgoingStartScale() -> getOutgoingStartScale
+ 56:56:boolean isGrowing() -> isGrowing
+ 70:70:boolean isScaleOnDisappear() -> isScaleOnDisappear
+ 61:62:void setGrowing(boolean) -> setGrowing
+ 144:145:void setIncomingEndScale(float) -> setIncomingEndScale
+ 128:129:void setIncomingStartScale(float) -> setIncomingStartScale
+ 112:113:void setOutgoingEndScale(float) -> setOutgoingEndScale
+ 96:97:void setOutgoingStartScale(float) -> setOutgoingStartScale
+ 80:81:void setScaleOnDisappear(boolean) -> setScaleOnDisappear
+com.google.android.material.transition.ScaleProvider$1 -> com.google.android.material.transition.ScaleProvider$1:
+ 182:182:void <init>(android.view.View,float,float) -> <init>
+ 185:187:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transition.SlideDistanceProvider -> com.google.android.material.transition.SlideDistanceProvider:
+ 59:63:void <init>(int) -> <init>
+ 106:107:android.animation.Animator createAppear(android.view.ViewGroup,android.view.View) -> createAppear
+ 113:114:android.animation.Animator createDisappear(android.view.ViewGroup,android.view.View) -> createDisappear
+ 129:153:android.animation.Animator createTranslationAppearAnimator(android.view.View,android.view.View,int,int) -> createTranslationAppearAnimator
+ 159:183:android.animation.Animator createTranslationDisappearAnimator(android.view.View,android.view.View,int,int) -> createTranslationDisappearAnimator
+ 192:203:android.animation.Animator createTranslationXAnimator(android.view.View,float,float,float) -> createTranslationXAnimator
+ 211:222:android.animation.Animator createTranslationYAnimator(android.view.View,float,float,float) -> createTranslationYAnimator
+ 82:82:int getSlideDistance() -> getSlideDistance
+ 118:124:int getSlideDistanceOrDefault(android.content.Context) -> getSlideDistanceOrDefault
+ 67:67:int getSlideEdge() -> getSlideEdge
+ 226:226:boolean isRtl(android.view.View) -> isRtl
+ 95:101:void setSlideDistance(int) -> setSlideDistance
+ 71:72:void setSlideEdge(int) -> setSlideEdge
+com.google.android.material.transition.SlideDistanceProvider$1 -> com.google.android.material.transition.SlideDistanceProvider$1:
+ 197:197:void <init>(android.view.View,float) -> <init>
+ 200:201:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transition.SlideDistanceProvider$2 -> com.google.android.material.transition.SlideDistanceProvider$2:
+ 216:216:void <init>(android.view.View,float) -> <init>
+ 219:220:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transition.TransitionListenerAdapter -> com.google.android.material.transition.TransitionListenerAdapter:
+ 21:21:void <init>() -> <init>
+ 30:30:void onTransitionCancel(androidx.transition.Transition) -> onTransitionCancel
+ 27:27:void onTransitionEnd(androidx.transition.Transition) -> onTransitionEnd
+ 33:33:void onTransitionPause(androidx.transition.Transition) -> onTransitionPause
+ 36:36:void onTransitionResume(androidx.transition.Transition) -> onTransitionResume
+ 24:24:void onTransitionStart(androidx.transition.Transition) -> onTransitionStart
+com.google.android.material.transition.TransitionUtils -> com.google.android.material.transition.TransitionUtils:
+ 388:388:void <clinit>() -> <clinit>
+ 65:65:void <init>() -> <init>
+ 385:385:float calculateArea(android.graphics.RectF) -> calculateArea
+ 188:188:com.google.android.material.shape.ShapeAppearanceModel convertToRelativeCornerSizes(com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF) -> convertToRelativeCornerSizes
+ 334:334:android.graphics.Shader createColorShader(int) -> createColorShader
+ 381:381:java.lang.Object defaultIfNull(java.lang.Object,java.lang.Object) -> defaultIfNull
+ 346:358:android.view.View findAncestorById(android.view.View,int) -> findAncestorById
+ 338:342:android.view.View findDescendantOrAncestorById(android.view.View,int) -> findDescendantOrAncestorById
+ 152:158:float getControlPoint(java.lang.String[],int) -> getControlPoint
+ 146:148:java.lang.String getEasingContent(java.lang.String,java.lang.String) -> getEasingContent
+ 370:376:android.graphics.RectF getLocationOnScreen(android.view.View) -> getLocationOnScreen
+ 362:362:android.graphics.RectF getRelativeBounds(android.view.View) -> getRelativeBounds
+ 366:366:android.graphics.Rect getRelativeBoundsRect(android.view.View) -> getRelativeBoundsRect
+ 141:142:boolean isEasingType(java.lang.String,java.lang.String) -> isEasingType
+ 237:240:boolean isShapeAppearanceSignificant(com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF) -> isShapeAppearanceSignificant
+ 249:249:float lerp(float,float,float) -> lerp
+ 259:259:float lerp(float,float,float,float,float) -> lerp
+ 270:280:float lerp(float,float,float,float,float,boolean) -> lerp
+ 289:296:int lerp(int,int,float,float,float) -> lerp
+ 307:314:com.google.android.material.shape.ShapeAppearanceModel lerp(com.google.android.material.shape.ShapeAppearanceModel,com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF,android.graphics.RectF,float,float,float) -> lerp
+ 431:434:void maybeAddTransition(androidx.transition.TransitionSet,androidx.transition.Transition) -> maybeAddTransition
+ 83:90:boolean maybeApplyThemeDuration(androidx.transition.Transition,android.content.Context,int) -> maybeApplyThemeDuration
+ 72:78:boolean maybeApplyThemeInterpolator(androidx.transition.Transition,android.content.Context,int,android.animation.TimeInterpolator) -> maybeApplyThemeInterpolator
+ 95:102:boolean maybeApplyThemePath(androidx.transition.Transition,android.content.Context,int) -> maybeApplyThemePath
+ 437:440:void maybeRemoveTransition(androidx.transition.TransitionSet,androidx.transition.Transition) -> maybeRemoveTransition
+ 107:137:android.animation.TimeInterpolator resolveThemeInterpolator(android.content.Context,int,android.animation.TimeInterpolator) -> resolveThemeInterpolator
+ 163:183:androidx.transition.PathMotion resolveThemePath(android.content.Context,int) -> resolveThemePath
+ 391:393:int saveLayerAlphaCompat(android.graphics.Canvas,android.graphics.Rect,int) -> saveLayerAlphaCompat
+ 412:424:void transform(android.graphics.Canvas,android.graphics.Rect,float,float,float,int,com.google.android.material.transition.TransitionUtils$CanvasOperation) -> transform
+ 210:232:com.google.android.material.shape.ShapeAppearanceModel transformCornerSizes(com.google.android.material.shape.ShapeAppearanceModel,com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF,com.google.android.material.transition.TransitionUtils$CornerSizeBinaryOperator) -> transformCornerSizes
+com.google.android.material.transition.TransitionUtils$1 -> com.google.android.material.transition.TransitionUtils$1:
+ 189:189:void <init>(android.graphics.RectF) -> <init>
+ 193:195:com.google.android.material.shape.CornerSize apply(com.google.android.material.shape.CornerSize) -> apply
+com.google.android.material.transition.TransitionUtils$2 -> com.google.android.material.transition.TransitionUtils$2:
+ 318:318:void <init>(android.graphics.RectF,android.graphics.RectF,float,float,float) -> <init>
+ 323:328:com.google.android.material.shape.CornerSize apply(com.google.android.material.shape.CornerSize,com.google.android.material.shape.CornerSize) -> apply
+com.google.android.material.transition.platform.FadeModeEvaluators -> com.google.android.material.transition.platform.FadeModeEvaluators:
+ 34:67:void <clinit>() -> <clinit>
+ 96:96:void <init>() -> <init>
+ 82:92:com.google.android.material.transition.platform.FadeModeEvaluator get(int,boolean) -> get
+com.google.android.material.transition.platform.FadeModeEvaluators$1 -> com.google.android.material.transition.platform.FadeModeEvaluators$1:
+ 35:35:void <init>() -> <init>
+ 39:41:com.google.android.material.transition.platform.FadeModeResult evaluate(float,float,float,float) -> evaluate
+com.google.android.material.transition.platform.FadeModeEvaluators$2 -> com.google.android.material.transition.platform.FadeModeEvaluators$2:
+ 46:46:void <init>() -> <init>
+ 50:52:com.google.android.material.transition.platform.FadeModeResult evaluate(float,float,float,float) -> evaluate
+com.google.android.material.transition.platform.FadeModeEvaluators$3 -> com.google.android.material.transition.platform.FadeModeEvaluators$3:
+ 57:57:void <init>() -> <init>
+ 61:63:com.google.android.material.transition.platform.FadeModeResult evaluate(float,float,float,float) -> evaluate
+com.google.android.material.transition.platform.FadeModeEvaluators$4 -> com.google.android.material.transition.platform.FadeModeEvaluators$4:
+ 68:68:void <init>() -> <init>
+ 72:77:com.google.android.material.transition.platform.FadeModeResult evaluate(float,float,float,float) -> evaluate
+com.google.android.material.transition.platform.FadeModeResult -> com.google.android.material.transition.platform.FadeModeResult:
+ 37:41:void <init>(int,int,boolean) -> <init>
+ 34:34:com.google.android.material.transition.platform.FadeModeResult endOnTop(int,int) -> endOnTop
+ 30:30:com.google.android.material.transition.platform.FadeModeResult startOnTop(int,int) -> startOnTop
+com.google.android.material.transition.platform.FadeProvider -> com.google.android.material.transition.platform.FadeProvider:
+ 37:39:void <init>() -> <init>
+ 65:66:android.animation.Animator createAppear(android.view.ViewGroup,android.view.View) -> createAppear
+ 78:79:android.animation.Animator createDisappear(android.view.ViewGroup,android.view.View) -> createDisappear
+ 95:112:android.animation.Animator createFadeAnimator(android.view.View,float,float,float,float,float) -> createFadeAnimator
+ 47:47:float getIncomingEndThreshold() -> getIncomingEndThreshold
+ 59:60:void setIncomingEndThreshold(float) -> setIncomingEndThreshold
+com.google.android.material.transition.platform.FadeProvider$1 -> com.google.android.material.transition.platform.FadeProvider$1:
+ 97:97:void <init>(android.view.View,float,float,float,float) -> <init>
+ 100:102:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.transition.platform.FadeProvider$2 -> com.google.android.material.transition.platform.FadeProvider$2:
+ 105:105:void <init>(android.view.View,float) -> <init>
+ 109:110:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transition.platform.FadeThroughProvider -> com.google.android.material.transition.platform.FadeThroughProvider:
+ 41:45:void <init>() -> <init>
+ 70:71:android.animation.Animator createAppear(android.view.ViewGroup,android.view.View) -> createAppear
+ 83:84:android.animation.Animator createDisappear(android.view.ViewGroup,android.view.View) -> createDisappear
+ 100:117:android.animation.Animator createFadeThroughAnimator(android.view.View,float,float,float,float,float) -> createFadeThroughAnimator
+ 54:54:float getProgressThreshold() -> getProgressThreshold
+ 64:65:void setProgressThreshold(float) -> setProgressThreshold
+com.google.android.material.transition.platform.FadeThroughProvider$1 -> com.google.android.material.transition.platform.FadeThroughProvider$1:
+ 102:102:void <init>(android.view.View,float,float,float,float) -> <init>
+ 105:107:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.transition.platform.FadeThroughProvider$2 -> com.google.android.material.transition.platform.FadeThroughProvider$2:
+ 110:110:void <init>(android.view.View,float) -> <init>
+ 114:115:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transition.platform.FitModeEvaluators -> com.google.android.material.transition.platform.FitModeEvaluators:
+ 34:80:void <clinit>() -> <clinit>
+ 153:153:void <init>() -> <init>
+ 129:137:com.google.android.material.transition.platform.FitModeEvaluator get(int,boolean,android.graphics.RectF,android.graphics.RectF) -> get
+ 143:150:boolean shouldAutoFitToWidth(boolean,android.graphics.RectF,android.graphics.RectF) -> shouldAutoFitToWidth
+com.google.android.material.transition.platform.FitModeEvaluators$1 -> com.google.android.material.transition.platform.FitModeEvaluators$1:
+ 35:35:void <init>() -> <init>
+ 74:77:void applyMask(android.graphics.RectF,float,com.google.android.material.transition.platform.FitModeResult) -> applyMask
+ 46:58:com.google.android.material.transition.platform.FitModeResult evaluate(float,float,float,float,float,float,float) -> evaluate
+ 69:69:boolean shouldMaskStartBounds(com.google.android.material.transition.platform.FitModeResult) -> shouldMaskStartBounds
+com.google.android.material.transition.platform.FitModeEvaluators$2 -> com.google.android.material.transition.platform.FitModeEvaluators$2:
+ 81:81:void <init>() -> <init>
+ 120:124:void applyMask(android.graphics.RectF,float,com.google.android.material.transition.platform.FitModeResult) -> applyMask
+ 92:104:com.google.android.material.transition.platform.FitModeResult evaluate(float,float,float,float,float,float,float) -> evaluate
+ 115:115:boolean shouldMaskStartBounds(com.google.android.material.transition.platform.FitModeResult) -> shouldMaskStartBounds
+com.google.android.material.transition.platform.FitModeResult -> com.google.android.material.transition.platform.FitModeResult:
+ 38:45:void <init>(float,float,float,float,float,float) -> <init>
+com.google.android.material.transition.platform.Hold -> com.google.android.material.transition.platform.Hold:
+ 37:37:void <init>() -> <init>
+ 46:46:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onAppear
+ 56:56:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onDisappear
+com.google.android.material.transition.platform.MaskEvaluator -> com.google.android.material.transition.platform.MaskEvaluator:
+ 42:48:void <init>() -> <init>
+ 88:94:void clip(android.graphics.Canvas) -> clip
+ 64:84:void evaluate(float,com.google.android.material.shape.ShapeAppearanceModel,com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF,android.graphics.RectF,android.graphics.RectF,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds) -> evaluate
+ 101:101:com.google.android.material.shape.ShapeAppearanceModel getCurrentShapeAppearanceModel() -> getCurrentShapeAppearanceModel
+ 97:97:android.graphics.Path getPath() -> getPath
+com.google.android.material.transition.platform.MaterialArcMotion -> com.google.android.material.transition.platform.MaterialArcMotion:
+ 37:37:void <init>() -> <init>
+ 51:54:android.graphics.PointF getControlPoint(float,float,float,float) -> getControlPoint
+ 42:47:android.graphics.Path getPath(float,float,float,float) -> getPath
+com.google.android.material.transition.platform.MaterialContainerTransform -> com.google.android.material.transition.platform.MaterialContainerTransform:
+ 198:228:void <clinit>() -> <clinit>
+ 237:265:void <init>() -> <init>
+ 237:270:void <init>(android.content.Context,boolean) -> <init>
+ 126:126:boolean access$300(com.google.android.material.transition.platform.MaterialContainerTransform) -> access$300
+ 1050:1055:com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup buildThresholdsGroup(boolean) -> buildThresholdsGroup
+ 1027:1032:android.graphics.RectF calculateDrawableBounds(android.view.View,android.view.View,float,float) -> calculateDrawableBounds
+ 811:812:void captureEndValues(android.transition.TransitionValues) -> captureEndValues
+ 849:851:com.google.android.material.shape.ShapeAppearanceModel captureShapeAppearance(android.view.View,android.graphics.RectF,com.google.android.material.shape.ShapeAppearanceModel) -> captureShapeAppearance
+ 806:807:void captureStartValues(android.transition.TransitionValues) -> captureStartValues
+ 819:842:void captureValues(android.transition.TransitionValues,android.view.View,int,com.google.android.material.shape.ShapeAppearanceModel) -> captureValues
+ 893:1008:android.animation.Animator createAnimator(android.view.ViewGroup,android.transition.TransitionValues,android.transition.TransitionValues) -> createAnimator
+ 491:491:int getContainerColor() -> getContainerColor
+ 463:463:int getDrawingViewId() -> getDrawingViewId
+ 1022:1022:float getElevationOrDefault(float,android.view.View) -> getElevationOrDefault
+ 550:550:int getEndContainerColor() -> getEndContainerColor
+ 447:447:float getEndElevation() -> getEndElevation
+ 383:383:com.google.android.material.shape.ShapeAppearanceModel getEndShapeAppearanceModel() -> getEndShapeAppearanceModel
+ 340:340:android.view.View getEndView() -> getEndView
+ 308:308:int getEndViewId() -> getEndViewId
+ 637:637:int getFadeMode() -> getFadeMode
+ 676:676:com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds getFadeProgressThresholds() -> getFadeProgressThresholds
+ 657:657:int getFitMode() -> getFitMode
+ 718:718:com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds getScaleMaskProgressThresholds() -> getScaleMaskProgressThresholds
+ 697:697:com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds getScaleProgressThresholds() -> getScaleProgressThresholds
+ 591:591:int getScrimColor() -> getScrimColor
+ 858:876:com.google.android.material.shape.ShapeAppearanceModel getShapeAppearance(android.view.View,com.google.android.material.shape.ShapeAppearanceModel) -> getShapeAppearance
+ 740:740:com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds getShapeMaskProgressThresholds() -> getShapeMaskProgressThresholds
+ 523:523:int getStartContainerColor() -> getStartContainerColor
+ 427:427:float getStartElevation() -> getStartElevation
+ 358:358:com.google.android.material.shape.ShapeAppearanceModel getStartShapeAppearanceModel() -> getStartShapeAppearanceModel
+ 325:325:android.view.View getStartView() -> getStartView
+ 275:275:int getStartViewId() -> getStartViewId
+ 1063:1069:com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup getThresholdsOrDefault(boolean,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup) -> getThresholdsOrDefault
+ 619:619:int getTransitionDirection() -> getTransitionDirection
+ 801:801:java.lang.String[] getTransitionProperties() -> getTransitionProperties
+ 881:884:int getTransitionShapeAppearanceResId(android.content.Context) -> getTransitionShapeAppearanceResId
+ 780:780:boolean isDrawDebugEnabled() -> isDrawDebugEnabled
+ 401:401:boolean isElevationShadowEnabled() -> isElevationShadowEnabled
+ 1037:1045:boolean isEntering(android.graphics.RectF,android.graphics.RectF) -> isEntering
+ 761:761:boolean isHoldAtEndEnabled() -> isHoldAtEndEnabled
+ 1012:1019:void maybeApplyThemeValues(android.content.Context,boolean) -> maybeApplyThemeValues
+ 580:583:void setAllContainerColors(int) -> setAllContainerColors
+ 513:514:void setContainerColor(int) -> setContainerColor
+ 789:790:void setDrawDebugEnabled(boolean) -> setDrawDebugEnabled
+ 481:482:void setDrawingViewId(int) -> setDrawingViewId
+ 417:418:void setElevationShadowEnabled(boolean) -> setElevationShadowEnabled
+ 565:566:void setEndContainerColor(int) -> setEndContainerColor
+ 457:458:void setEndElevation(float) -> setEndElevation
+ 393:394:void setEndShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setEndShapeAppearanceModel
+ 349:350:void setEndView(android.view.View) -> setEndView
+ 319:320:void setEndViewId(int) -> setEndViewId
+ 651:652:void setFadeMode(int) -> setFadeMode
+ 687:688:void setFadeProgressThresholds(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds) -> setFadeProgressThresholds
+ 666:667:void setFitMode(int) -> setFitMode
+ 771:772:void setHoldAtEndEnabled(boolean) -> setHoldAtEndEnabled
+ 794:796:void setPathMotion(android.transition.PathMotion) -> setPathMotion
+ 730:731:void setScaleMaskProgressThresholds(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds) -> setScaleMaskProgressThresholds
+ 708:709:void setScaleProgressThresholds(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds) -> setScaleProgressThresholds
+ 607:608:void setScrimColor(int) -> setScrimColor
+ 752:753:void setShapeMaskProgressThresholds(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds) -> setShapeMaskProgressThresholds
+ 540:541:void setStartContainerColor(int) -> setStartContainerColor
+ 437:438:void setStartElevation(float) -> setStartElevation
+ 374:375:void setStartShapeAppearanceModel(com.google.android.material.shape.ShapeAppearanceModel) -> setStartShapeAppearanceModel
+ 334:335:void setStartView(android.view.View) -> setStartView
+ 293:294:void setStartViewId(int) -> setStartViewId
+ 631:632:void setTransitionDirection(int) -> setTransitionDirection
+com.google.android.material.transition.platform.MaterialContainerTransform$1 -> com.google.android.material.transition.platform.MaterialContainerTransform$1:
+ 973:973:void <init>(com.google.android.material.transition.platform.MaterialContainerTransform,com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable) -> <init>
+ 976:977:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.google.android.material.transition.platform.MaterialContainerTransform$2 -> com.google.android.material.transition.platform.MaterialContainerTransform$2:
+ 981:981:void <init>(com.google.android.material.transition.platform.MaterialContainerTransform,android.view.View,com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable,android.view.View,android.view.View) -> <init>
+ 994:1005:void onTransitionEnd(android.transition.Transition) -> onTransitionEnd
+ 985:990:void onTransitionStart(android.transition.Transition) -> onTransitionStart
+com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds -> com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds:
+ 1545:1548:void <init>(float,float) -> <init>
+ 1536:1536:float access$1000(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds) -> access$1000
+ 1536:1536:float access$1100(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds) -> access$1100
+ 1557:1557:float getEnd() -> getEnd
+ 1552:1552:float getStart() -> getStart
+com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup -> com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup:
+ 1561:1561:void <init>(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.platform.MaterialContainerTransform$1) -> <init>
+ 1571:1576:void <init>(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds) -> <init>
+ 1561:1561:com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds access$400(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup) -> access$400
+ 1561:1561:com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds access$500(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup) -> access$500
+ 1561:1561:com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds access$600(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup) -> access$600
+ 1561:1561:com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholds access$700(com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup) -> access$700
+com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable -> com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable:
+ 1076:1076:void <init>(android.transition.PathMotion,android.view.View,android.graphics.RectF,com.google.android.material.shape.ShapeAppearanceModel,float,android.view.View,android.graphics.RectF,com.google.android.material.shape.ShapeAppearanceModel,float,int,int,int,int,boolean,boolean,com.google.android.material.transition.platform.FadeModeEvaluator,com.google.android.material.transition.platform.FitModeEvaluator,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup,boolean,com.google.android.material.transition.platform.MaterialContainerTransform$1) -> <init>
+ 1099:1216:void <init>(android.transition.PathMotion,android.view.View,android.graphics.RectF,com.google.android.material.shape.ShapeAppearanceModel,float,android.view.View,android.graphics.RectF,com.google.android.material.shape.ShapeAppearanceModel,float,int,int,int,int,boolean,boolean,com.google.android.material.transition.platform.FadeModeEvaluator,com.google.android.material.transition.platform.FitModeEvaluator,com.google.android.material.transition.platform.MaterialContainerTransform$ProgressThresholdsGroup,boolean) -> <init>
+ 1076:1076:void access$200(com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable,float) -> access$200
+ 1076:1076:android.view.View access$800(com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable) -> access$800
+ 1076:1076:android.view.View access$900(com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable) -> access$900
+ 1490:1490:float calculateElevationDxMultiplier(android.graphics.RectF,float) -> calculateElevationDxMultiplier
+ 1502:1502:float calculateElevationDyMultiplier(android.graphics.RectF,float) -> calculateElevationDyMultiplier
+ 1220:1252:void draw(android.graphics.Canvas) -> draw
+ 1507:1516:void drawDebugCumulativePath(android.graphics.Canvas,android.graphics.RectF,android.graphics.Path,int) -> drawDebugCumulativePath
+ 1519:1521:void drawDebugRect(android.graphics.Canvas,android.graphics.RectF,int) -> drawDebugRect
+ 1256:1266:void drawElevationShadow(android.graphics.Canvas) -> drawElevationShadow
+ 1283:1292:void drawElevationShadowWithMaterialShapeDrawable(android.graphics.Canvas) -> drawElevationShadowWithMaterialShapeDrawable
+ 1269:1280:void drawElevationShadowWithPaintShadowLayer(android.graphics.Canvas) -> drawElevationShadowWithPaintShadowLayer
+ 1314:1328:void drawEndView(android.graphics.Canvas) -> drawEndView
+ 1296:1310:void drawStartView(android.graphics.Canvas) -> drawStartView
+ 1472:1472:android.graphics.PointF getMotionPathPoint(android.graphics.RectF) -> getMotionPathPoint
+ 1350:1350:int getOpacity() -> getOpacity
+ 1334:1337:void maybeDrawContainerColor(android.graphics.Canvas,android.graphics.Paint) -> maybeDrawContainerColor
+ 1341:1341:void setAlpha(int) -> setAlpha
+ 1345:1345:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 1354:1357:void setProgress(float) -> setProgress
+ 1360:1469:void updateProgress(float) -> updateProgress
+com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable$1 -> com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable$1:
+ 1304:1304:void <init>(com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable) -> <init>
+ 1307:1308:void run(android.graphics.Canvas) -> run
+com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable$2 -> com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable$2:
+ 1322:1322:void <init>(com.google.android.material.transition.platform.MaterialContainerTransform$TransitionDrawable) -> <init>
+ 1325:1326:void run(android.graphics.Canvas) -> run
+com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback -> com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback:
+ 52:60:void <init>() -> <init>
+ 52:52:void access$000(android.view.Window) -> access$000
+ 52:52:void access$100(android.view.Window) -> access$100
+ 52:52:java.lang.ref.WeakReference access$200() -> access$200
+ 52:52:java.lang.ref.WeakReference access$202(java.lang.ref.WeakReference) -> access$202
+ 172:172:com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback$ShapeProvider getShapeProvider() -> getShapeProvider
+ 217:217:boolean isSharedElementReenterTransitionEnabled() -> isSharedElementReenterTransitionEnabled
+ 193:193:boolean isTransparentWindowBackgroundEnabled() -> isTransparentWindowBackgroundEnabled
+ 88:89:android.os.Parcelable onCaptureSharedElementSnapshot(android.view.View,android.graphics.Matrix,android.graphics.RectF) -> onCaptureSharedElementSnapshot
+ 95:106:android.view.View onCreateSnapshotView(android.content.Context,android.os.Parcelable) -> onCreateSnapshotView
+ 112:126:void onMapSharedElements(java.util.List,java.util.Map) -> onMapSharedElements
+ 156:167:void onSharedElementEnd(java.util.List,java.util.List,java.util.List) -> onSharedElementEnd
+ 133:149:void onSharedElementStart(java.util.List,java.util.List,java.util.List) -> onSharedElementStart
+ 301:308:void removeWindowBackground(android.view.Window) -> removeWindowBackground
+ 316:317:void restoreWindowBackground(android.view.Window) -> restoreWindowBackground
+ 183:184:void setShapeProvider(com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback$ShapeProvider) -> setShapeProvider
+ 227:228:void setSharedElementReenterTransitionEnabled(boolean) -> setSharedElementReenterTransitionEnabled
+ 208:209:void setTransparentWindowBackgroundEnabled(boolean) -> setTransparentWindowBackgroundEnabled
+ 231:253:void setUpEnterTransform(android.view.Window) -> setUpEnterTransform
+ 256:289:void setUpReturnTransform(android.app.Activity,android.view.Window) -> setUpReturnTransform
+ 325:328:void updateBackgroundFadeDuration(android.view.Window,com.google.android.material.transition.platform.MaterialContainerTransform) -> updateBackgroundFadeDuration
+com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback$1 -> com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback$1:
+ 240:240:void <init>(com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback,android.view.Window) -> <init>
+ 248:249:void onTransitionEnd(android.transition.Transition) -> onTransitionEnd
+ 243:244:void onTransitionStart(android.transition.Transition) -> onTransitionStart
+com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback$2 -> com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback$2:
+ 261:261:void <init>(com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback,android.app.Activity) -> <init>
+ 265:276:void onTransitionEnd(android.transition.Transition) -> onTransitionEnd
+com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback$3 -> com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback$3:
+ 281:281:void <init>(com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback,android.view.Window) -> <init>
+ 284:285:void onTransitionStart(android.transition.Transition) -> onTransitionStart
+com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback$ShapeableViewShapeProvider -> com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback$ShapeableViewShapeProvider:
+ 72:72:void <init>() -> <init>
+ 76:77:com.google.android.material.shape.ShapeAppearanceModel provideShape(android.view.View) -> provideShape
+com.google.android.material.transition.platform.MaterialElevationScale -> com.google.android.material.transition.platform.MaterialElevationScale:
+ 38:40:void <init>(boolean) -> <init>
+ 30:30:void addAdditionalAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> addAdditionalAnimatorProvider
+ 30:30:void clearAdditionalAnimatorProvider() -> clearAdditionalAnimatorProvider
+ 47:50:com.google.android.material.transition.platform.ScaleProvider createPrimaryAnimatorProvider(boolean) -> createPrimaryAnimatorProvider
+ 54:54:com.google.android.material.transition.platform.VisibilityAnimatorProvider createSecondaryAnimatorProvider() -> createSecondaryAnimatorProvider
+ 30:30:com.google.android.material.transition.platform.VisibilityAnimatorProvider getSecondaryAnimatorProvider() -> getSecondaryAnimatorProvider
+ 43:43:boolean isGrowing() -> isGrowing
+ 30:30:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onAppear
+ 30:30:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onDisappear
+ 30:30:boolean removeAdditionalAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> removeAdditionalAnimatorProvider
+ 30:30:void setSecondaryAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> setSecondaryAnimatorProvider
+com.google.android.material.transition.platform.MaterialFade -> com.google.android.material.transition.platform.MaterialFade:
+ 45:50:void <clinit>() -> <clinit>
+ 53:54:void <init>() -> <init>
+ 38:38:void addAdditionalAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> addAdditionalAnimatorProvider
+ 38:38:void clearAdditionalAnimatorProvider() -> clearAdditionalAnimatorProvider
+ 57:59:com.google.android.material.transition.platform.FadeProvider createPrimaryAnimatorProvider() -> createPrimaryAnimatorProvider
+ 63:66:com.google.android.material.transition.platform.VisibilityAnimatorProvider createSecondaryAnimatorProvider() -> createSecondaryAnimatorProvider
+ 86:86:android.animation.TimeInterpolator getDefaultEasingInterpolator(boolean) -> getDefaultEasingInterpolator
+ 72:72:int getDurationThemeAttrResId(boolean) -> getDurationThemeAttrResId
+ 80:80:int getEasingThemeAttrResId(boolean) -> getEasingThemeAttrResId
+ 38:38:com.google.android.material.transition.platform.VisibilityAnimatorProvider getSecondaryAnimatorProvider() -> getSecondaryAnimatorProvider
+ 38:38:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onAppear
+ 38:38:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onDisappear
+ 38:38:boolean removeAdditionalAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> removeAdditionalAnimatorProvider
+ 38:38:void setSecondaryAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> setSecondaryAnimatorProvider
+com.google.android.material.transition.platform.MaterialFadeThrough -> com.google.android.material.transition.platform.MaterialFadeThrough:
+ 40:41:void <clinit>() -> <clinit>
+ 44:45:void <init>() -> <init>
+ 35:35:void addAdditionalAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> addAdditionalAnimatorProvider
+ 35:35:void clearAdditionalAnimatorProvider() -> clearAdditionalAnimatorProvider
+ 48:48:com.google.android.material.transition.platform.FadeThroughProvider createPrimaryAnimatorProvider() -> createPrimaryAnimatorProvider
+ 52:55:com.google.android.material.transition.platform.VisibilityAnimatorProvider createSecondaryAnimatorProvider() -> createSecondaryAnimatorProvider
+ 61:61:int getDurationThemeAttrResId(boolean) -> getDurationThemeAttrResId
+ 67:67:int getEasingThemeAttrResId(boolean) -> getEasingThemeAttrResId
+ 35:35:com.google.android.material.transition.platform.VisibilityAnimatorProvider getSecondaryAnimatorProvider() -> getSecondaryAnimatorProvider
+ 35:35:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onAppear
+ 35:35:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onDisappear
+ 35:35:boolean removeAdditionalAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> removeAdditionalAnimatorProvider
+ 35:35:void setSecondaryAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> setSecondaryAnimatorProvider
+com.google.android.material.transition.platform.MaterialSharedAxis -> com.google.android.material.transition.platform.MaterialSharedAxis:
+ 91:92:void <clinit>() -> <clinit>
+ 95:98:void <init>(int,boolean) -> <init>
+ 55:55:void addAdditionalAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> addAdditionalAnimatorProvider
+ 55:55:void clearAdditionalAnimatorProvider() -> clearAdditionalAnimatorProvider
+ 111:119:com.google.android.material.transition.platform.VisibilityAnimatorProvider createPrimaryAnimatorProvider(int,boolean) -> createPrimaryAnimatorProvider
+ 124:124:com.google.android.material.transition.platform.VisibilityAnimatorProvider createSecondaryAnimatorProvider() -> createSecondaryAnimatorProvider
+ 102:102:int getAxis() -> getAxis
+ 130:130:int getDurationThemeAttrResId(boolean) -> getDurationThemeAttrResId
+ 136:136:int getEasingThemeAttrResId(boolean) -> getEasingThemeAttrResId
+ 55:55:com.google.android.material.transition.platform.VisibilityAnimatorProvider getPrimaryAnimatorProvider() -> getPrimaryAnimatorProvider
+ 55:55:com.google.android.material.transition.platform.VisibilityAnimatorProvider getSecondaryAnimatorProvider() -> getSecondaryAnimatorProvider
+ 106:106:boolean isForward() -> isForward
+ 55:55:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onAppear
+ 55:55:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onDisappear
+ 55:55:boolean removeAdditionalAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> removeAdditionalAnimatorProvider
+ 55:55:void setSecondaryAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> setSecondaryAnimatorProvider
+com.google.android.material.transition.platform.MaterialVisibility -> com.google.android.material.transition.platform.MaterialVisibility:
+ 45:51:void <init>(com.google.android.material.transition.platform.VisibilityAnimatorProvider,com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> <init>
+ 92:93:void addAdditionalAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> addAdditionalAnimatorProvider
+ 152:162:void addAnimatorIfNeeded(java.util.List,com.google.android.material.transition.platform.VisibilityAnimatorProvider,android.view.ViewGroup,android.view.View,boolean) -> addAnimatorIfNeeded
+ 112:113:void clearAdditionalAnimatorProvider() -> clearAdditionalAnimatorProvider
+ 129:143:android.animation.Animator createAnimator(android.view.ViewGroup,android.view.View,boolean) -> createAnimator
+ 182:182:android.animation.TimeInterpolator getDefaultEasingInterpolator(boolean) -> getDefaultEasingInterpolator
+ 172:172:int getDurationThemeAttrResId(boolean) -> getDurationThemeAttrResId
+ 177:177:int getEasingThemeAttrResId(boolean) -> getEasingThemeAttrResId
+ 59:59:com.google.android.material.transition.platform.VisibilityAnimatorProvider getPrimaryAnimatorProvider() -> getPrimaryAnimatorProvider
+ 70:70:com.google.android.material.transition.platform.VisibilityAnimatorProvider getSecondaryAnimatorProvider() -> getSecondaryAnimatorProvider
+ 165:168:void maybeApplyThemeValues(android.content.Context,boolean) -> maybeApplyThemeValues
+ 118:118:android.animation.Animator onAppear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onAppear
+ 124:124:android.animation.Animator onDisappear(android.view.ViewGroup,android.view.View,android.transition.TransitionValues,android.transition.TransitionValues) -> onDisappear
+ 102:102:boolean removeAdditionalAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> removeAdditionalAnimatorProvider
+ 79:80:void setSecondaryAnimatorProvider(com.google.android.material.transition.platform.VisibilityAnimatorProvider) -> setSecondaryAnimatorProvider
+com.google.android.material.transition.platform.ScaleProvider -> com.google.android.material.transition.platform.ScaleProvider:
+ 52:53:void <init>() -> <init>
+ 43:57:void <init>(boolean) -> <init>
+ 155:158:android.animation.Animator createAppear(android.view.ViewGroup,android.view.View) -> createAppear
+ 165:172:android.animation.Animator createDisappear(android.view.ViewGroup,android.view.View) -> createDisappear
+ 177:194:android.animation.Animator createScaleAnimator(android.view.View,float,float) -> createScaleAnimator
+ 141:141:float getIncomingEndScale() -> getIncomingEndScale
+ 125:125:float getIncomingStartScale() -> getIncomingStartScale
+ 109:109:float getOutgoingEndScale() -> getOutgoingEndScale
+ 93:93:float getOutgoingStartScale() -> getOutgoingStartScale
+ 61:61:boolean isGrowing() -> isGrowing
+ 75:75:boolean isScaleOnDisappear() -> isScaleOnDisappear
+ 66:67:void setGrowing(boolean) -> setGrowing
+ 149:150:void setIncomingEndScale(float) -> setIncomingEndScale
+ 133:134:void setIncomingStartScale(float) -> setIncomingStartScale
+ 117:118:void setOutgoingEndScale(float) -> setOutgoingEndScale
+ 101:102:void setOutgoingStartScale(float) -> setOutgoingStartScale
+ 85:86:void setScaleOnDisappear(boolean) -> setScaleOnDisappear
+com.google.android.material.transition.platform.ScaleProvider$1 -> com.google.android.material.transition.platform.ScaleProvider$1:
+ 187:187:void <init>(android.view.View,float,float) -> <init>
+ 190:192:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transition.platform.SlideDistanceProvider -> com.google.android.material.transition.platform.SlideDistanceProvider:
+ 64:68:void <init>(int) -> <init>
+ 111:112:android.animation.Animator createAppear(android.view.ViewGroup,android.view.View) -> createAppear
+ 118:119:android.animation.Animator createDisappear(android.view.ViewGroup,android.view.View) -> createDisappear
+ 134:158:android.animation.Animator createTranslationAppearAnimator(android.view.View,android.view.View,int,int) -> createTranslationAppearAnimator
+ 164:188:android.animation.Animator createTranslationDisappearAnimator(android.view.View,android.view.View,int,int) -> createTranslationDisappearAnimator
+ 197:208:android.animation.Animator createTranslationXAnimator(android.view.View,float,float,float) -> createTranslationXAnimator
+ 216:227:android.animation.Animator createTranslationYAnimator(android.view.View,float,float,float) -> createTranslationYAnimator
+ 87:87:int getSlideDistance() -> getSlideDistance
+ 123:129:int getSlideDistanceOrDefault(android.content.Context) -> getSlideDistanceOrDefault
+ 72:72:int getSlideEdge() -> getSlideEdge
+ 231:231:boolean isRtl(android.view.View) -> isRtl
+ 100:106:void setSlideDistance(int) -> setSlideDistance
+ 76:77:void setSlideEdge(int) -> setSlideEdge
+com.google.android.material.transition.platform.SlideDistanceProvider$1 -> com.google.android.material.transition.platform.SlideDistanceProvider$1:
+ 202:202:void <init>(android.view.View,float) -> <init>
+ 205:206:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transition.platform.SlideDistanceProvider$2 -> com.google.android.material.transition.platform.SlideDistanceProvider$2:
+ 221:221:void <init>(android.view.View,float) -> <init>
+ 224:225:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.google.android.material.transition.platform.TransitionListenerAdapter -> com.google.android.material.transition.platform.TransitionListenerAdapter:
+ 26:26:void <init>() -> <init>
+ 35:35:void onTransitionCancel(android.transition.Transition) -> onTransitionCancel
+ 32:32:void onTransitionEnd(android.transition.Transition) -> onTransitionEnd
+ 38:38:void onTransitionPause(android.transition.Transition) -> onTransitionPause
+ 41:41:void onTransitionResume(android.transition.Transition) -> onTransitionResume
+ 29:29:void onTransitionStart(android.transition.Transition) -> onTransitionStart
+com.google.android.material.transition.platform.TransitionUtils -> com.google.android.material.transition.platform.TransitionUtils:
+ 393:393:void <clinit>() -> <clinit>
+ 70:70:void <init>() -> <init>
+ 390:390:float calculateArea(android.graphics.RectF) -> calculateArea
+ 193:193:com.google.android.material.shape.ShapeAppearanceModel convertToRelativeCornerSizes(com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF) -> convertToRelativeCornerSizes
+ 339:339:android.graphics.Shader createColorShader(int) -> createColorShader
+ 386:386:java.lang.Object defaultIfNull(java.lang.Object,java.lang.Object) -> defaultIfNull
+ 351:363:android.view.View findAncestorById(android.view.View,int) -> findAncestorById
+ 343:347:android.view.View findDescendantOrAncestorById(android.view.View,int) -> findDescendantOrAncestorById
+ 157:163:float getControlPoint(java.lang.String[],int) -> getControlPoint
+ 151:153:java.lang.String getEasingContent(java.lang.String,java.lang.String) -> getEasingContent
+ 375:381:android.graphics.RectF getLocationOnScreen(android.view.View) -> getLocationOnScreen
+ 367:367:android.graphics.RectF getRelativeBounds(android.view.View) -> getRelativeBounds
+ 371:371:android.graphics.Rect getRelativeBoundsRect(android.view.View) -> getRelativeBoundsRect
+ 146:147:boolean isEasingType(java.lang.String,java.lang.String) -> isEasingType
+ 242:245:boolean isShapeAppearanceSignificant(com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF) -> isShapeAppearanceSignificant
+ 254:254:float lerp(float,float,float) -> lerp
+ 264:264:float lerp(float,float,float,float,float) -> lerp
+ 275:285:float lerp(float,float,float,float,float,boolean) -> lerp
+ 294:301:int lerp(int,int,float,float,float) -> lerp
+ 312:319:com.google.android.material.shape.ShapeAppearanceModel lerp(com.google.android.material.shape.ShapeAppearanceModel,com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF,android.graphics.RectF,float,float,float) -> lerp
+ 436:439:void maybeAddTransition(android.transition.TransitionSet,android.transition.Transition) -> maybeAddTransition
+ 88:95:boolean maybeApplyThemeDuration(android.transition.Transition,android.content.Context,int) -> maybeApplyThemeDuration
+ 77:83:boolean maybeApplyThemeInterpolator(android.transition.Transition,android.content.Context,int,android.animation.TimeInterpolator) -> maybeApplyThemeInterpolator
+ 100:107:boolean maybeApplyThemePath(android.transition.Transition,android.content.Context,int) -> maybeApplyThemePath
+ 442:445:void maybeRemoveTransition(android.transition.TransitionSet,android.transition.Transition) -> maybeRemoveTransition
+ 112:142:android.animation.TimeInterpolator resolveThemeInterpolator(android.content.Context,int,android.animation.TimeInterpolator) -> resolveThemeInterpolator
+ 168:188:android.transition.PathMotion resolveThemePath(android.content.Context,int) -> resolveThemePath
+ 396:398:int saveLayerAlphaCompat(android.graphics.Canvas,android.graphics.Rect,int) -> saveLayerAlphaCompat
+ 417:429:void transform(android.graphics.Canvas,android.graphics.Rect,float,float,float,int,com.google.android.material.transition.platform.TransitionUtils$CanvasOperation) -> transform
+ 215:237:com.google.android.material.shape.ShapeAppearanceModel transformCornerSizes(com.google.android.material.shape.ShapeAppearanceModel,com.google.android.material.shape.ShapeAppearanceModel,android.graphics.RectF,com.google.android.material.transition.platform.TransitionUtils$CornerSizeBinaryOperator) -> transformCornerSizes
+com.google.android.material.transition.platform.TransitionUtils$1 -> com.google.android.material.transition.platform.TransitionUtils$1:
+ 194:194:void <init>(android.graphics.RectF) -> <init>
+ 198:200:com.google.android.material.shape.CornerSize apply(com.google.android.material.shape.CornerSize) -> apply
+com.google.android.material.transition.platform.TransitionUtils$2 -> com.google.android.material.transition.platform.TransitionUtils$2:
+ 323:323:void <init>(android.graphics.RectF,android.graphics.RectF,float,float,float) -> <init>
+ 328:333:com.google.android.material.shape.CornerSize apply(com.google.android.material.shape.CornerSize,com.google.android.material.shape.CornerSize) -> apply
+com.google.gson.DefaultDateTypeAdapter -> com.google.gson.DefaultDateTypeAdapter:
+ 54:73:void <init>(java.lang.Class,java.lang.String) -> <init>
+ 54:99:void <init>(java.lang.Class,int,int) -> <init>
+ 158:162:java.lang.String toString() -> toString
+ 102:105:java.lang.Class verifyDateType(java.lang.Class) -> verifyDateType
+ 44:44:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 112:120:void write(com.google.gson.stream.JsonWriter,java.util.Date) -> write
+com.google.gson.FieldAttributes -> com.google.gson.FieldAttributes:
+ 44:47:void <init>(java.lang.reflect.Field) -> <init>
+com.google.gson.FieldNamingPolicy -> com.google.gson.FieldNamingPolicy:
+ 31:136:void <clinit>() -> <clinit>
+ 31:31:void <init>(java.lang.String,int) -> <init>
+ 31:31:void <init>(java.lang.String,int,com.google.gson.FieldNamingPolicy$1) -> <init>
+ 185:187:java.lang.String modifyString(char,java.lang.String,int) -> modifyString
+ 147:155:java.lang.String separateCamelCase(java.lang.String,java.lang.String) -> separateCamelCase
+ 162:180:java.lang.String upperCaseFirstLetter(java.lang.String) -> upperCaseFirstLetter
+ 31:31:com.google.gson.FieldNamingPolicy valueOf(java.lang.String) -> valueOf
+ 31:31:com.google.gson.FieldNamingPolicy[] values() -> values
+com.google.gson.FieldNamingPolicy$1 -> com.google.gson.FieldNamingPolicy$1:
+ 37:37:void <init>(java.lang.String,int) -> <init>
+ 39:39:java.lang.String translateName(java.lang.reflect.Field) -> translateName
+com.google.gson.FieldNamingPolicy$2 -> com.google.gson.FieldNamingPolicy$2:
+ 53:53:void <init>(java.lang.String,int) -> <init>
+ 55:55:java.lang.String translateName(java.lang.reflect.Field) -> translateName
+com.google.gson.FieldNamingPolicy$3 -> com.google.gson.FieldNamingPolicy$3:
+ 72:72:void <init>(java.lang.String,int) -> <init>
+ 74:74:java.lang.String translateName(java.lang.reflect.Field) -> translateName
+com.google.gson.FieldNamingPolicy$4 -> com.google.gson.FieldNamingPolicy$4:
+ 90:90:void <init>(java.lang.String,int) -> <init>
+ 92:92:java.lang.String translateName(java.lang.reflect.Field) -> translateName
+com.google.gson.FieldNamingPolicy$5 -> com.google.gson.FieldNamingPolicy$5:
+ 113:113:void <init>(java.lang.String,int) -> <init>
+ 115:115:java.lang.String translateName(java.lang.reflect.Field) -> translateName
+com.google.gson.FieldNamingPolicy$6 -> com.google.gson.FieldNamingPolicy$6:
+ 136:136:void <init>(java.lang.String,int) -> <init>
+ 138:138:java.lang.String translateName(java.lang.reflect.Field) -> translateName
+com.google.gson.Gson -> com.google.gson.Gson:
+ 114:114:void <clinit>() -> <clinit>
+ 186:193:void <init>() -> <init>
+ 124:281:void <init>(com.google.gson.internal.Excluder,com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.google.gson.LongSerializationPolicy,java.lang.String,int,int,java.util.List,java.util.List,java.util.List) -> <init>
+ 388:396:com.google.gson.TypeAdapter atomicLongAdapter(com.google.gson.TypeAdapter) -> atomicLongAdapter
+ 400:423:com.google.gson.TypeAdapter atomicLongArrayAdapter(com.google.gson.TypeAdapter) -> atomicLongArrayAdapter
+ 358:363:void checkValidFloatingPoint(double) -> checkValidFloatingPoint
+ 310:313:com.google.gson.TypeAdapter doubleAdapter(boolean) -> doubleAdapter
+ 334:337:com.google.gson.TypeAdapter floatAdapter(boolean) -> floatAdapter
+ 434:470:com.google.gson.TypeAdapter getAdapter(com.google.gson.reflect.TypeToken) -> getAdapter
+ 556:556:com.google.gson.TypeAdapter getAdapter(java.lang.Class) -> getAdapter
+ 528:546:com.google.gson.TypeAdapter getDelegateAdapter(com.google.gson.TypeAdapterFactory,com.google.gson.reflect.TypeToken) -> getDelegateAdapter
+ 366:369:com.google.gson.TypeAdapter longAdapter(com.google.gson.LongSerializationPolicy) -> longAdapter
+ 750:758:com.google.gson.stream.JsonWriter newJsonWriter(java.io.Writer) -> newJsonWriter
+ 615:618:java.lang.String toJson(java.lang.Object) -> toJson
+ 637:639:java.lang.String toJson(java.lang.Object,java.lang.reflect.Type) -> toJson
+ 682:687:void toJson(java.lang.Object,java.lang.reflect.Type,java.lang.Appendable) -> toJson
+ 696:714:void toJson(java.lang.Object,java.lang.reflect.Type,com.google.gson.stream.JsonWriter) -> toJson
+ 724:726:java.lang.String toJson(com.google.gson.JsonElement) -> toJson
+ 739:744:void toJson(com.google.gson.JsonElement,java.lang.Appendable) -> toJson
+ 775:792:void toJson(com.google.gson.JsonElement,com.google.gson.stream.JsonWriter) -> toJson
+ 1024:1029:java.lang.String toString() -> toString
+com.google.gson.Gson$1 -> com.google.gson.Gson$1:
+ 313:313:void <init>(com.google.gson.Gson) -> <init>
+ 313:313:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 322:329:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write
+com.google.gson.Gson$2 -> com.google.gson.Gson$2:
+ 337:337:void <init>(com.google.gson.Gson) -> <init>
+ 337:337:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 346:353:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write
+com.google.gson.Gson$3 -> com.google.gson.Gson$3:
+ 369:369:void <init>() -> <init>
+ 369:369:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 378:383:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write
+com.google.gson.Gson$4 -> com.google.gson.Gson$4:
+ 388:388:void <init>(com.google.gson.TypeAdapter) -> <init>
+ 388:388:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 390:391:void write(com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicLong) -> write
+com.google.gson.Gson$5 -> com.google.gson.Gson$5:
+ 400:400:void <init>(com.google.gson.TypeAdapter) -> <init>
+ 400:400:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 402:407:void write(com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicLongArray) -> write
+com.google.gson.Gson$FutureTypeAdapter -> com.google.gson.Gson$FutureTypeAdapter:
+ 997:997:void <init>() -> <init>
+ 1001:1005:void setDelegate(com.google.gson.TypeAdapter) -> setDelegate
+ 1015:1019:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+com.google.gson.GsonBuilder -> com.google.gson.GsonBuilder:
+ 79:105:void <init>() -> <init>
+ 611:626:void addTypeAdaptersForDate(java.lang.String,int,int,java.util.List) -> addTypeAdaptersForDate
+ 587:597:com.google.gson.Gson create() -> create
+ 193:194:com.google.gson.GsonBuilder serializeNulls() -> serializeNulls
+ 386:387:com.google.gson.GsonBuilder setPrettyPrinting() -> setPrettyPrinting
+com.google.gson.JsonArray -> com.google.gson.JsonArray:
+ 39:41:void <init>() -> <init>
+ 105:109:void add(com.google.gson.JsonElement) -> add
+ 377:377:boolean equals(java.lang.Object) -> equals
+ 382:382:int hashCode() -> hashCode
+ 182:182:java.util.Iterator iterator() -> iterator
+com.google.gson.JsonElement -> com.google.gson.JsonElement:
+ 33:33:void <init>() -> <init>
+ 104:107:com.google.gson.JsonArray getAsJsonArray() -> getAsJsonArray
+ 88:91:com.google.gson.JsonObject getAsJsonObject() -> getAsJsonObject
+ 120:123:com.google.gson.JsonPrimitive getAsJsonPrimitive() -> getAsJsonPrimitive
+ 47:47:boolean isJsonArray() -> isJsonArray
+ 75:75:boolean isJsonNull() -> isJsonNull
+ 56:56:boolean isJsonObject() -> isJsonObject
+ 65:65:boolean isJsonPrimitive() -> isJsonPrimitive
+ 322:328:java.lang.String toString() -> toString
+com.google.gson.JsonIOException -> com.google.gson.JsonIOException:
+ 29:30:void <init>(java.lang.String) -> <init>
+ 33:34:void <init>(java.lang.String,java.lang.Throwable) -> <init>
+ 43:44:void <init>(java.lang.Throwable) -> <init>
+com.google.gson.JsonNull -> com.google.gson.JsonNull:
+ 32:32:void <clinit>() -> <clinit>
+ 39:41:void <init>() -> <init>
+ 65:65:boolean equals(java.lang.Object) -> equals
+ 57:57:int hashCode() -> hashCode
+com.google.gson.JsonObject -> com.google.gson.JsonObject:
+ 32:33:void <init>() -> <init>
+ 58:62:void add(java.lang.String,com.google.gson.JsonElement) -> add
+ 136:136:java.util.Set entrySet() -> entrySet
+ 210:211:boolean equals(java.lang.Object) -> equals
+ 216:216:int hashCode() -> hashCode
+com.google.gson.JsonParseException -> com.google.gson.JsonParseException:
+ 42:43:void <init>(java.lang.String) -> <init>
+ 52:53:void <init>(java.lang.String,java.lang.Throwable) -> <init>
+ 62:63:void <init>(java.lang.Throwable) -> <init>
+com.google.gson.JsonPrimitive -> com.google.gson.JsonPrimitive:
+ 35:35:void <clinit>() -> <clinit>
+ 46:48:void <init>(java.lang.Boolean) -> <init>
+ 55:57:void <init>(java.lang.Number) -> <init>
+ 64:66:void <init>(java.lang.String) -> <init>
+ 310:330:boolean equals(java.lang.Object) -> equals
+ 136:140:boolean getAsBoolean() -> getAsBoolean
+ 126:126:java.lang.Boolean getAsBooleanWrapper() -> getAsBooleanWrapper
+ 161:161:java.lang.Number getAsNumber() -> getAsNumber
+ 180:185:java.lang.String getAsString() -> getAsString
+ 293:305:int hashCode() -> hashCode
+ 116:116:boolean isBoolean() -> isBoolean
+ 338:343:boolean isIntegral(com.google.gson.JsonPrimitive) -> isIntegral
+ 150:150:boolean isNumber() -> isNumber
+ 278:288:boolean isPrimitiveOrString(java.lang.Object) -> isPrimitiveOrString
+ 170:170:boolean isString() -> isString
+ 98:108:void setValue(java.lang.Object) -> setValue
+com.google.gson.LongSerializationPolicy -> com.google.gson.LongSerializationPolicy:
+ 27:45:void <clinit>() -> <clinit>
+ 27:27:void <init>(java.lang.String,int) -> <init>
+ 27:27:void <init>(java.lang.String,int,com.google.gson.LongSerializationPolicy$1) -> <init>
+ 27:27:com.google.gson.LongSerializationPolicy valueOf(java.lang.String) -> valueOf
+ 27:27:com.google.gson.LongSerializationPolicy[] values() -> values
+com.google.gson.LongSerializationPolicy$1 -> com.google.gson.LongSerializationPolicy$1:
+ 34:34:void <init>(java.lang.String,int) -> <init>
+com.google.gson.LongSerializationPolicy$2 -> com.google.gson.LongSerializationPolicy$2:
+ 45:45:void <init>(java.lang.String,int) -> <init>
+com.google.gson.TypeAdapter -> com.google.gson.TypeAdapter:
+ 119:119:void <init>() -> <init>
+ 186:186:com.google.gson.TypeAdapter nullSafe() -> nullSafe
+ 233:237:com.google.gson.JsonElement toJsonTree(java.lang.Object) -> toJsonTree
+com.google.gson.TypeAdapter$1 -> com.google.gson.TypeAdapter$1:
+ 186:186:void <init>(com.google.gson.TypeAdapter) -> <init>
+ 188:193:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+com.google.gson.internal.$Gson$Preconditions -> com.google.gson.internal.$Gson$Preconditions:
+# {"id":"sourceFile","fileName":"$Gson$Preconditions.java"}
+ 45:48:void checkArgument(boolean) -> checkArgument
+ 38:41:java.lang.Object checkNotNull(java.lang.Object) -> checkNotNull
+com.google.gson.internal.$Gson$Types -> com.google.gson.internal.$Gson$Types:
+# {"id":"sourceFile","fileName":"$Gson$Types.java"}
+ 40:40:void <clinit>() -> <clinit>
+ 64:64:java.lang.reflect.GenericArrayType arrayOf(java.lang.reflect.Type) -> arrayOf
+ 104:123:java.lang.reflect.Type canonicalize(java.lang.reflect.Type) -> canonicalize
+ 457:458:void checkNotPrimitive(java.lang.reflect.Type) -> checkNotPrimitive
+ 450:451:java.lang.Class declaringClassOf(java.lang.reflect.TypeVariable) -> declaringClassOf
+ 162:162:boolean equal(java.lang.Object,java.lang.Object) -> equal
+ 169:219:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type) -> equals
+ 292:294:java.lang.reflect.Type getArrayComponentType(java.lang.reflect.Type) -> getArrayComponentType
+ 302:310:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class) -> getCollectionElementType
+ 237:267:java.lang.reflect.Type getGenericSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class) -> getGenericSupertype
+ 323:333:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class) -> getMapKeyAndValueTypes
+ 128:156:java.lang.Class getRawType(java.lang.reflect.Type) -> getRawType
+ 278:284:java.lang.reflect.Type getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class) -> getSupertype
+ 224:224:int hashCodeOrZero(java.lang.Object) -> hashCodeOrZero
+ 437:442:int indexOf(java.lang.Object[],java.lang.Object) -> indexOf
+ 54:54:java.lang.reflect.ParameterizedType newParameterizedTypeWithOwner(java.lang.reflect.Type,java.lang.reflect.Type,java.lang.reflect.Type[]) -> newParameterizedTypeWithOwner
+ 337:337:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type) -> resolve
+ 344:414:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type,java.util.Collection) -> resolve
+ 420:433:java.lang.reflect.Type resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable) -> resolveTypeVariable
+ 75:80:java.lang.reflect.WildcardType subtypeOf(java.lang.reflect.Type) -> subtypeOf
+ 90:95:java.lang.reflect.WildcardType supertypeOf(java.lang.reflect.Type) -> supertypeOf
+ 228:228:java.lang.String typeToString(java.lang.reflect.Type) -> typeToString
+com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl -> com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl:
+# {"id":"sourceFile","fileName":"$Gson$Types.java"}
+ 527:529:void <init>(java.lang.reflect.Type) -> <init>
+ 536:537:boolean equals(java.lang.Object) -> equals
+ 532:532:java.lang.reflect.Type getGenericComponentType() -> getGenericComponentType
+ 541:541:int hashCode() -> hashCode
+ 545:545:java.lang.String toString() -> toString
+com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl -> com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl:
+# {"id":"sourceFile","fileName":"$Gson$Types.java"}
+ 465:482:void <init>(java.lang.reflect.Type,java.lang.reflect.Type,java.lang.reflect.Type[]) -> <init>
+ 497:498:boolean equals(java.lang.Object) -> equals
+ 485:485:java.lang.reflect.Type[] getActualTypeArguments() -> getActualTypeArguments
+ 493:493:java.lang.reflect.Type getOwnerType() -> getOwnerType
+ 489:489:java.lang.reflect.Type getRawType() -> getRawType
+ 502:504:int hashCode() -> hashCode
+ 508:518:java.lang.String toString() -> toString
+com.google.gson.internal.$Gson$Types$WildcardTypeImpl -> com.google.gson.internal.$Gson$Types$WildcardTypeImpl:
+# {"id":"sourceFile","fileName":"$Gson$Types.java"}
+ 560:577:void <init>(java.lang.reflect.Type[],java.lang.reflect.Type[]) -> <init>
+ 588:589:boolean equals(java.lang.Object) -> equals
+ 584:584:java.lang.reflect.Type[] getLowerBounds() -> getLowerBounds
+ 580:580:java.lang.reflect.Type[] getUpperBounds() -> getUpperBounds
+ 594:595:int hashCode() -> hashCode
+ 599:604:java.lang.String toString() -> toString
+com.google.gson.internal.ConstructorConstructor -> com.google.gson.internal.ConstructorConstructor:
+ 51:55:void <init>(java.util.Map) -> <init>
+ 58:96:com.google.gson.internal.ObjectConstructor get(com.google.gson.reflect.TypeToken) -> get
+ 101:125:com.google.gson.internal.ObjectConstructor newDefaultConstructor(java.lang.Class) -> newDefaultConstructor
+ 136:215:com.google.gson.internal.ObjectConstructor newDefaultImplementationConstructor(java.lang.reflect.Type,java.lang.Class) -> newDefaultImplementationConstructor
+ 220:220:com.google.gson.internal.ObjectConstructor newUnsafeAllocator(java.lang.reflect.Type,java.lang.Class) -> newUnsafeAllocator
+ 236:236:java.lang.String toString() -> toString
+com.google.gson.internal.ConstructorConstructor$1 -> com.google.gson.internal.ConstructorConstructor$1:
+ 66:66:void <init>(com.google.gson.internal.ConstructorConstructor,com.google.gson.InstanceCreator,java.lang.reflect.Type) -> <init>
+ 68:68:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$10 -> com.google.gson.internal.ConstructorConstructor$10:
+ 188:188:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 190:190:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$11 -> com.google.gson.internal.ConstructorConstructor$11:
+ 194:194:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 196:196:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$12 -> com.google.gson.internal.ConstructorConstructor$12:
+ 201:201:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 203:203:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$13 -> com.google.gson.internal.ConstructorConstructor$13:
+ 207:207:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 209:209:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$14 -> com.google.gson.internal.ConstructorConstructor$14:
+ 220:221:void <init>(com.google.gson.internal.ConstructorConstructor,java.lang.Class,java.lang.reflect.Type) -> <init>
+ 225:228:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$2 -> com.google.gson.internal.ConstructorConstructor$2:
+ 78:78:void <init>(com.google.gson.internal.ConstructorConstructor,com.google.gson.InstanceCreator,java.lang.reflect.Type) -> <init>
+ 80:80:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$3 -> com.google.gson.internal.ConstructorConstructor$3:
+ 105:105:void <init>(com.google.gson.internal.ConstructorConstructor,java.lang.reflect.Constructor) -> <init>
+ 109:120:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$4 -> com.google.gson.internal.ConstructorConstructor$4:
+ 138:138:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 140:140:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$5 -> com.google.gson.internal.ConstructorConstructor$5:
+ 144:144:void <init>(com.google.gson.internal.ConstructorConstructor,java.lang.reflect.Type) -> <init>
+ 147:155:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$6 -> com.google.gson.internal.ConstructorConstructor$6:
+ 160:160:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 162:162:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$7 -> com.google.gson.internal.ConstructorConstructor$7:
+ 166:166:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 168:168:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$8 -> com.google.gson.internal.ConstructorConstructor$8:
+ 172:172:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 174:174:java.lang.Object construct() -> construct
+com.google.gson.internal.ConstructorConstructor$9 -> com.google.gson.internal.ConstructorConstructor$9:
+ 182:182:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 184:184:java.lang.Object construct() -> construct
+com.google.gson.internal.Excluder -> com.google.gson.internal.Excluder:
+ 52:52:void <clinit>() -> <clinit>
+ 50:59:void <init>() -> <init>
+ 50:50:java.lang.Object clone() -> clone
+ 63:65:com.google.gson.internal.Excluder clone() -> clone
+ 112:122:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+ 210:211:boolean excludeClass(java.lang.Class,boolean) -> excludeClass
+ 194:206:boolean excludeClassChecks(java.lang.Class) -> excludeClassChecks
+ 215:221:boolean excludeClassInStrategy(java.lang.Class,boolean) -> excludeClassInStrategy
+ 152:190:boolean excludeField(java.lang.reflect.Field,boolean) -> excludeField
+ 225:226:boolean isAnonymousOrLocal(java.lang.Class) -> isAnonymousOrLocal
+ 230:230:boolean isInnerClass(java.lang.Class) -> isInnerClass
+ 234:234:boolean isStatic(java.lang.Class) -> isStatic
+ 242:248:boolean isValidSince(com.google.gson.annotations.Since) -> isValidSince
+ 252:258:boolean isValidUntil(com.google.gson.annotations.Until) -> isValidUntil
+ 238:238:boolean isValidVersion(com.google.gson.annotations.Since,com.google.gson.annotations.Until) -> isValidVersion
+com.google.gson.internal.Excluder$1 -> com.google.gson.internal.Excluder$1:
+ 122:122:void <init>(com.google.gson.internal.Excluder,boolean,boolean,com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> <init>
+ 143:146:com.google.gson.TypeAdapter delegate() -> delegate
+ 135:140:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+com.google.gson.internal.JavaVersion -> com.google.gson.internal.JavaVersion:
+ 26:26:void <clinit>() -> <clinit>
+ 29:30:int determineMajorJavaVersion() -> determineMajorJavaVersion
+ 62:73:int extractBeginningInt(java.lang.String) -> extractBeginningInt
+ 35:42:int getMajorJavaVersion(java.lang.String) -> getMajorJavaVersion
+ 81:81:int getMajorJavaVersion() -> getMajorJavaVersion
+ 88:88:boolean isJava9OrLater() -> isJava9OrLater
+ 48:56:int parseDotted(java.lang.String) -> parseDotted
+com.google.gson.internal.LazilyParsedNumber -> com.google.gson.internal.LazilyParsedNumber:
+ 30:32:void <init>(java.lang.String) -> <init>
+ 63:63:double doubleValue() -> doubleValue
+ 87:94:boolean equals(java.lang.Object) -> equals
+ 58:58:float floatValue() -> floatValue
+ 82:82:int hashCode() -> hashCode
+ 37:42:int intValue() -> intValue
+ 50:52:long longValue() -> longValue
+ 68:68:java.lang.String toString() -> toString
+ 77:77:java.lang.Object writeReplace() -> writeReplace
+com.google.gson.internal.LinkedTreeMap -> com.google.gson.internal.LinkedTreeMap:
+ 38:40:void <clinit>() -> <clinit>
+ 60:61:void <init>() -> <init>
+ 48:75:void <init>(java.util.Comparator) -> <init>
+ 101:108:void clear() -> clear
+ 87:87:boolean containsKey(java.lang.Object) -> containsKey
+ 430:431:java.util.Set entrySet() -> entrySet
+ 208:208:boolean equal(java.lang.Object,java.lang.Object) -> equal
+ 122:180:com.google.gson.internal.LinkedTreeMap$Node find(java.lang.Object,boolean) -> find
+ 202:204:com.google.gson.internal.LinkedTreeMap$Node findByEntry(java.util.Map$Entry) -> findByEntry
+ 186:188:com.google.gson.internal.LinkedTreeMap$Node findByObject(java.lang.Object) -> findByObject
+ 82:83:java.lang.Object get(java.lang.Object) -> get
+ 435:436:java.util.Set keySet() -> keySet
+ 91:97:java.lang.Object put(java.lang.Object,java.lang.Object) -> put
+ 311:368:void rebalance(com.google.gson.internal.LinkedTreeMap$Node,boolean) -> rebalance
+ 111:112:java.lang.Object remove(java.lang.Object) -> remove
+ 218:274:void removeInternal(com.google.gson.internal.LinkedTreeMap$Node,boolean) -> removeInternal
+ 277:281:com.google.gson.internal.LinkedTreeMap$Node removeInternalByKey(java.lang.Object) -> removeInternalByKey
+ 285:301:void replaceInParent(com.google.gson.internal.LinkedTreeMap$Node,com.google.gson.internal.LinkedTreeMap$Node) -> replaceInParent
+ 374:396:void rotateLeft(com.google.gson.internal.LinkedTreeMap$Node) -> rotateLeft
+ 402:424:void rotateRight(com.google.gson.internal.LinkedTreeMap$Node) -> rotateRight
+ 78:78:int size() -> size
+ 628:628:java.lang.Object writeReplace() -> writeReplace
+com.google.gson.internal.LinkedTreeMap$1 -> com.google.gson.internal.LinkedTreeMap$1:
+ 40:40:void <init>() -> <init>
+ 40:40:int compare(java.lang.Object,java.lang.Object) -> compare
+ 42:42:int compare(java.lang.Comparable,java.lang.Comparable) -> compare
+com.google.gson.internal.LinkedTreeMap$EntrySet -> com.google.gson.internal.LinkedTreeMap$EntrySet:
+ 560:560:void <init>(com.google.gson.internal.LinkedTreeMap) -> <init>
+ 591:592:void clear() -> clear
+ 574:574:boolean contains(java.lang.Object) -> contains
+ 566:566:java.util.Iterator iterator() -> iterator
+ 578:587:boolean remove(java.lang.Object) -> remove
+ 562:562:int size() -> size
+com.google.gson.internal.LinkedTreeMap$EntrySet$1 -> com.google.gson.internal.LinkedTreeMap$EntrySet$1:
+ 566:566:void <init>(com.google.gson.internal.LinkedTreeMap$EntrySet) -> <init>
+ 566:566:java.lang.Object next() -> next
+ 568:568:java.util.Map$Entry next() -> next
+com.google.gson.internal.LinkedTreeMap$KeySet -> com.google.gson.internal.LinkedTreeMap$KeySet:
+ 595:595:void <init>(com.google.gson.internal.LinkedTreeMap) -> <init>
+ 617:618:void clear() -> clear
+ 609:609:boolean contains(java.lang.Object) -> contains
+ 601:601:java.util.Iterator iterator() -> iterator
+ 613:613:boolean remove(java.lang.Object) -> remove
+ 597:597:int size() -> size
+com.google.gson.internal.LinkedTreeMap$KeySet$1 -> com.google.gson.internal.LinkedTreeMap$KeySet$1:
+ 601:601:void <init>(com.google.gson.internal.LinkedTreeMap$KeySet) -> <init>
+ 603:603:java.lang.Object next() -> next
+com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator -> com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator:
+ 527:532:void <init>(com.google.gson.internal.LinkedTreeMap) -> <init>
+ 535:535:boolean hasNext() -> hasNext
+ 539:547:com.google.gson.internal.LinkedTreeMap$Node nextNode() -> nextNode
+ 551:557:void remove() -> remove
+com.google.gson.internal.LinkedTreeMap$Node -> com.google.gson.internal.LinkedTreeMap$Node:
+ 450:453:void <init>() -> <init>
+ 456:464:void <init>(com.google.gson.internal.LinkedTreeMap$Node,java.lang.Object,com.google.gson.internal.LinkedTreeMap$Node,com.google.gson.internal.LinkedTreeMap$Node) -> <init>
+ 482:487:boolean equals(java.lang.Object) -> equals
+ 503:509:com.google.gson.internal.LinkedTreeMap$Node first() -> first
+ 467:467:java.lang.Object getKey() -> getKey
+ 471:471:java.lang.Object getValue() -> getValue
+ 491:492:int hashCode() -> hashCode
+ 516:522:com.google.gson.internal.LinkedTreeMap$Node last() -> last
+ 475:477:java.lang.Object setValue(java.lang.Object) -> setValue
+ 496:496:java.lang.String toString() -> toString
+com.google.gson.internal.PreJava9DateFormatProvider -> com.google.gson.internal.PreJava9DateFormatProvider:
+ 59:69:java.lang.String getDatePartOfDateTimePattern(int) -> getDatePartOfDateTimePattern
+ 74:83:java.lang.String getTimePartOfDateTimePattern(int) -> getTimePartOfDateTimePattern
+ 39:40:java.text.DateFormat getUSDateTimeFormat(int,int) -> getUSDateTimeFormat
+com.google.gson.internal.Primitives -> com.google.gson.internal.Primitives:
+ 45:60:void <clinit>() -> <clinit>
+ 64:66:void add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class) -> add
+ 72:72:boolean isPrimitive(java.lang.reflect.Type) -> isPrimitive
+com.google.gson.internal.Streams -> com.google.gson.internal.Streams:
+ 72:73:void write(com.google.gson.JsonElement,com.google.gson.stream.JsonWriter) -> write
+ 76:76:java.io.Writer writerForAppendable(java.lang.Appendable) -> writerForAppendable
+com.google.gson.internal.Streams$AppendableWriter -> com.google.gson.internal.Streams$AppendableWriter:
+ 85:89:void <init>(java.lang.Appendable) -> <init>
+ 101:101:void close() -> close
+ 100:100:void flush() -> flush
+ 92:94:void write(char[],int,int) -> write
+ 97:98:void write(int) -> write
+com.google.gson.internal.Streams$AppendableWriter$CurrentWrite -> com.google.gson.internal.Streams$AppendableWriter$CurrentWrite:
+ 106:106:void <init>() -> <init>
+ 112:112:char charAt(int) -> charAt
+ 109:109:int length() -> length
+ 115:115:java.lang.CharSequence subSequence(int,int) -> subSequence
+com.google.gson.internal.UnsafeAllocator -> com.google.gson.internal.UnsafeAllocator:
+ 31:31:void <init>() -> <init>
+ 115:122:void assertInstantiable(java.lang.Class) -> assertInstantiable
+ 40:101:com.google.gson.internal.UnsafeAllocator create() -> create
+com.google.gson.internal.UnsafeAllocator$1 -> com.google.gson.internal.UnsafeAllocator$1:
+ 45:45:void <init>(java.lang.reflect.Method,java.lang.Object) -> <init>
+ 49:50:java.lang.Object newInstance(java.lang.Class) -> newInstance
+com.google.gson.internal.UnsafeAllocator$2 -> com.google.gson.internal.UnsafeAllocator$2:
+ 69:69:void <init>(java.lang.reflect.Method,int) -> <init>
+ 73:74:java.lang.Object newInstance(java.lang.Class) -> newInstance
+com.google.gson.internal.UnsafeAllocator$3 -> com.google.gson.internal.UnsafeAllocator$3:
+ 89:89:void <init>(java.lang.reflect.Method) -> <init>
+ 93:94:java.lang.Object newInstance(java.lang.Class) -> newInstance
+com.google.gson.internal.UnsafeAllocator$4 -> com.google.gson.internal.UnsafeAllocator$4:
+ 101:101:void <init>() -> <init>
+ 104:104:java.lang.Object newInstance(java.lang.Class) -> newInstance
+com.google.gson.internal.bind.ArrayTypeAdapter -> com.google.gson.internal.bind.ArrayTypeAdapter:
+ 39:39:void <clinit>() -> <clinit>
+ 57:61:void <init>(com.google.gson.Gson,com.google.gson.TypeAdapter,java.lang.Class) -> <init>
+ 87:98:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+com.google.gson.internal.bind.ArrayTypeAdapter$1 -> com.google.gson.internal.bind.ArrayTypeAdapter$1:
+ 39:39:void <init>() -> <init>
+ 42:50:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+com.google.gson.internal.bind.CollectionTypeAdapterFactory -> com.google.gson.internal.bind.CollectionTypeAdapterFactory:
+ 39:41:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 45:58:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter -> com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter:
+ 67:71:void <init>(com.google.gson.Gson,java.lang.reflect.Type,com.google.gson.TypeAdapter,com.google.gson.internal.ObjectConstructor) -> <init>
+ 61:61:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 90:100:void write(com.google.gson.stream.JsonWriter,java.util.Collection) -> write
+com.google.gson.internal.bind.DateTypeAdapter -> com.google.gson.internal.bind.DateTypeAdapter:
+ 47:47:void <clinit>() -> <clinit>
+ 58:68:void <init>() -> <init>
+ 46:46:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 91:98:void write(com.google.gson.stream.JsonWriter,java.util.Date) -> write
+com.google.gson.internal.bind.DateTypeAdapter$1 -> com.google.gson.internal.bind.DateTypeAdapter$1:
+ 47:47:void <init>() -> <init>
+ 50:50:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory -> com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory:
+ 37:39:void <init>(com.google.gson.internal.ConstructorConstructor) -> <init>
+ 44:49:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+ 55:81:com.google.gson.TypeAdapter getTypeAdapter(com.google.gson.internal.ConstructorConstructor,com.google.gson.Gson,com.google.gson.reflect.TypeToken,com.google.gson.annotations.JsonAdapter) -> getTypeAdapter
+com.google.gson.internal.bind.JsonTreeWriter -> com.google.gson.internal.bind.JsonTreeWriter:
+ 34:46:void <clinit>() -> <clinit>
+ 49:59:void <init>() -> <init>
+ 95:98:com.google.gson.stream.JsonWriter beginArray() -> beginArray
+ 114:117:com.google.gson.stream.JsonWriter beginObject() -> beginObject
+ 203:207:void close() -> close
+ 102:110:com.google.gson.stream.JsonWriter endArray() -> endArray
+ 121:129:com.google.gson.stream.JsonWriter endObject() -> endObject
+ 200:200:void flush() -> flush
+ 65:68:com.google.gson.JsonElement get() -> get
+ 133:141:com.google.gson.stream.JsonWriter name(java.lang.String) -> name
+ 153:154:com.google.gson.stream.JsonWriter nullValue() -> nullValue
+ 72:72:com.google.gson.JsonElement peek() -> peek
+ 76:92:void put(com.google.gson.JsonElement) -> put
+ 145:149:com.google.gson.stream.JsonWriter value(java.lang.String) -> value
+ 158:159:com.google.gson.stream.JsonWriter value(boolean) -> value
+ 163:167:com.google.gson.stream.JsonWriter value(java.lang.Boolean) -> value
+ 179:180:com.google.gson.stream.JsonWriter value(long) -> value
+ 184:196:com.google.gson.stream.JsonWriter value(java.lang.Number) -> value
+com.google.gson.internal.bind.JsonTreeWriter$1 -> com.google.gson.internal.bind.JsonTreeWriter$1:
+ 34:34:void <init>() -> <init>
+ 42:42:void close() -> close
+ 39:39:void flush() -> flush
+ 36:36:void write(char[],int,int) -> write
+com.google.gson.internal.bind.MapTypeAdapterFactory -> com.google.gson.internal.bind.MapTypeAdapterFactory:
+ 110:113:void <init>(com.google.gson.internal.ConstructorConstructor,boolean) -> <init>
+ 116:133:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+ 140:142:com.google.gson.TypeAdapter getKeyAdapter(com.google.gson.Gson,java.lang.reflect.Type) -> getKeyAdapter
+com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter -> com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter:
+ 152:158:void <init>(com.google.gson.internal.bind.MapTypeAdapterFactory,com.google.gson.Gson,java.lang.reflect.Type,com.google.gson.TypeAdapter,java.lang.reflect.Type,com.google.gson.TypeAdapter,com.google.gson.internal.ObjectConstructor) -> <init>
+ 246:260:java.lang.String keyToString(com.google.gson.JsonElement) -> keyToString
+ 145:145:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 199:243:void write(com.google.gson.stream.JsonWriter,java.util.Map) -> write
+com.google.gson.internal.bind.ObjectTypeAdapter -> com.google.gson.internal.bind.ObjectTypeAdapter:
+ 38:38:void <clinit>() -> <clinit>
+ 50:52:void <init>(com.google.gson.Gson) -> <init>
+ 95:108:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+com.google.gson.internal.bind.ObjectTypeAdapter$1 -> com.google.gson.internal.bind.ObjectTypeAdapter$1:
+ 38:38:void <init>() -> <init>
+ 41:44:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+com.google.gson.internal.bind.ReflectiveTypeAdapterFactory -> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory:
+ 53:62:void <init>(com.google.gson.internal.ConstructorConstructor,com.google.gson.FieldNamingStrategy,com.google.gson.internal.Excluder,com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory) -> <init>
+ 95:102:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+ 108:120:com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField createBoundField(com.google.gson.Gson,java.lang.reflect.Field,java.lang.String,com.google.gson.reflect.TypeToken,boolean,boolean) -> createBoundField
+ 65:65:boolean excludeField(java.lang.reflect.Field,boolean) -> excludeField
+ 69:69:boolean excludeField(java.lang.reflect.Field,boolean,com.google.gson.internal.Excluder) -> excludeField
+ 145:179:java.util.Map getBoundFields(com.google.gson.Gson,com.google.gson.reflect.TypeToken,java.lang.Class) -> getBoundFields
+ 74:91:java.util.List getFieldNames(java.lang.reflect.Field) -> getFieldNames
+com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1 -> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1:
+ 120:120:void <init>(com.google.gson.internal.bind.ReflectiveTypeAdapterFactory,java.lang.String,boolean,boolean,java.lang.reflect.Field,boolean,com.google.gson.TypeAdapter,com.google.gson.Gson,com.google.gson.reflect.TypeToken,boolean) -> <init>
+ 124:128:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 137:139:boolean writeField(java.lang.Object) -> writeField
+com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter -> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter:
+ 201:204:void <init>(com.google.gson.internal.ObjectConstructor,java.util.Map) -> <init>
+ 235:252:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField -> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField:
+ 187:191:void <init>(java.lang.String,boolean,boolean) -> <init>
+com.google.gson.internal.bind.SqlDateTypeAdapter -> com.google.gson.internal.bind.SqlDateTypeAdapter:
+ 39:39:void <clinit>() -> <clinit>
+ 38:47:void <init>() -> <init>
+ 38:38:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 64:66:void write(com.google.gson.stream.JsonWriter,java.sql.Date) -> write
+com.google.gson.internal.bind.SqlDateTypeAdapter$1 -> com.google.gson.internal.bind.SqlDateTypeAdapter$1:
+ 39:39:void <init>() -> <init>
+ 42:42:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+com.google.gson.internal.bind.TimeTypeAdapter -> com.google.gson.internal.bind.TimeTypeAdapter:
+ 41:41:void <clinit>() -> <clinit>
+ 40:48:void <init>() -> <init>
+ 40:40:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 63:65:void write(com.google.gson.stream.JsonWriter,java.sql.Time) -> write
+com.google.gson.internal.bind.TimeTypeAdapter$1 -> com.google.gson.internal.bind.TimeTypeAdapter$1:
+ 41:41:void <init>() -> <init>
+ 44:44:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+com.google.gson.internal.bind.TreeTypeAdapter -> com.google.gson.internal.bind.TreeTypeAdapter:
+ 47:59:void <init>(com.google.gson.JsonSerializer,com.google.gson.JsonDeserializer,com.google.gson.Gson,com.google.gson.reflect.TypeToken,com.google.gson.TypeAdapterFactory) -> <init>
+ 86:89:com.google.gson.TypeAdapter delegate() -> delegate
+ 73:83:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl -> com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl:
+ 153:153:void <init>(com.google.gson.internal.bind.TreeTypeAdapter) -> <init>
+ 153:153:void <init>(com.google.gson.internal.bind.TreeTypeAdapter,com.google.gson.internal.bind.TreeTypeAdapter$1) -> <init>
+com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper -> com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper:
+ 33:37:void <init>(com.google.gson.Gson,com.google.gson.TypeAdapter,java.lang.reflect.Type) -> <init>
+ 76:80:java.lang.reflect.Type getRuntimeTypeIfMoreSpecific(java.lang.reflect.Type,java.lang.Object) -> getRuntimeTypeIfMoreSpecific
+ 53:70:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+com.google.gson.internal.bind.TypeAdapters -> com.google.gson.internal.bind.TypeAdapters:
+ 69:808:void <clinit>() -> <clinit>
+ 834:834:com.google.gson.TypeAdapterFactory newFactory(java.lang.Class,com.google.gson.TypeAdapter) -> newFactory
+ 847:847:com.google.gson.TypeAdapterFactory newFactory(java.lang.Class,java.lang.Class,com.google.gson.TypeAdapter) -> newFactory
+ 862:862:com.google.gson.TypeAdapterFactory newFactoryForMultipleTypes(java.lang.Class,java.lang.Class,com.google.gson.TypeAdapter) -> newFactoryForMultipleTypes
+ 881:881:com.google.gson.TypeAdapterFactory newTypeHierarchyFactory(java.lang.Class,com.google.gson.TypeAdapter) -> newTypeHierarchyFactory
+com.google.gson.internal.bind.TypeAdapters$1 -> com.google.gson.internal.bind.TypeAdapters$1:
+ 69:69:void <init>() -> <init>
+ 69:69:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 72:73:void write(com.google.gson.stream.JsonWriter,java.lang.Class) -> write
+com.google.gson.internal.bind.TypeAdapters$10 -> com.google.gson.internal.bind.TypeAdapters$10:
+ 265:265:void <init>() -> <init>
+ 265:265:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 286:291:void write(com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicIntegerArray) -> write
+com.google.gson.internal.bind.TypeAdapters$11 -> com.google.gson.internal.bind.TypeAdapters$11:
+ 296:296:void <init>() -> <init>
+ 296:296:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 311:312:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write
+com.google.gson.internal.bind.TypeAdapters$12 -> com.google.gson.internal.bind.TypeAdapters$12:
+ 315:315:void <init>() -> <init>
+ 315:315:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 326:327:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write
+com.google.gson.internal.bind.TypeAdapters$13 -> com.google.gson.internal.bind.TypeAdapters$13:
+ 330:330:void <init>() -> <init>
+ 330:330:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 341:342:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write
+com.google.gson.internal.bind.TypeAdapters$14 -> com.google.gson.internal.bind.TypeAdapters$14:
+ 345:345:void <init>() -> <init>
+ 345:345:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 362:363:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write
+com.google.gson.internal.bind.TypeAdapters$15 -> com.google.gson.internal.bind.TypeAdapters$15:
+ 368:368:void <init>() -> <init>
+ 368:368:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 383:384:void write(com.google.gson.stream.JsonWriter,java.lang.Character) -> write
+com.google.gson.internal.bind.TypeAdapters$16 -> com.google.gson.internal.bind.TypeAdapters$16:
+ 390:390:void <init>() -> <init>
+ 390:390:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 406:407:void write(com.google.gson.stream.JsonWriter,java.lang.String) -> write
+com.google.gson.internal.bind.TypeAdapters$17 -> com.google.gson.internal.bind.TypeAdapters$17:
+ 410:410:void <init>() -> <init>
+ 410:410:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 424:425:void write(com.google.gson.stream.JsonWriter,java.math.BigDecimal) -> write
+com.google.gson.internal.bind.TypeAdapters$18 -> com.google.gson.internal.bind.TypeAdapters$18:
+ 428:428:void <init>() -> <init>
+ 428:428:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 442:443:void write(com.google.gson.stream.JsonWriter,java.math.BigInteger) -> write
+com.google.gson.internal.bind.TypeAdapters$19 -> com.google.gson.internal.bind.TypeAdapters$19:
+ 448:448:void <init>() -> <init>
+ 448:448:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 459:460:void write(com.google.gson.stream.JsonWriter,java.lang.StringBuilder) -> write
+com.google.gson.internal.bind.TypeAdapters$2 -> com.google.gson.internal.bind.TypeAdapters$2:
+ 84:84:void <init>() -> <init>
+ 84:84:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 122:128:void write(com.google.gson.stream.JsonWriter,java.util.BitSet) -> write
+com.google.gson.internal.bind.TypeAdapters$20 -> com.google.gson.internal.bind.TypeAdapters$20:
+ 466:466:void <init>() -> <init>
+ 466:466:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 477:478:void write(com.google.gson.stream.JsonWriter,java.lang.StringBuffer) -> write
+com.google.gson.internal.bind.TypeAdapters$21 -> com.google.gson.internal.bind.TypeAdapters$21:
+ 484:484:void <init>() -> <init>
+ 484:484:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 496:497:void write(com.google.gson.stream.JsonWriter,java.net.URL) -> write
+com.google.gson.internal.bind.TypeAdapters$22 -> com.google.gson.internal.bind.TypeAdapters$22:
+ 502:502:void <init>() -> <init>
+ 502:502:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 518:519:void write(com.google.gson.stream.JsonWriter,java.net.URI) -> write
+com.google.gson.internal.bind.TypeAdapters$23 -> com.google.gson.internal.bind.TypeAdapters$23:
+ 524:524:void <init>() -> <init>
+ 524:524:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 536:537:void write(com.google.gson.stream.JsonWriter,java.net.InetAddress) -> write
+com.google.gson.internal.bind.TypeAdapters$24 -> com.google.gson.internal.bind.TypeAdapters$24:
+ 543:543:void <init>() -> <init>
+ 543:543:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 554:555:void write(com.google.gson.stream.JsonWriter,java.util.UUID) -> write
+com.google.gson.internal.bind.TypeAdapters$25 -> com.google.gson.internal.bind.TypeAdapters$25:
+ 560:560:void <init>() -> <init>
+ 560:560:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 567:568:void write(com.google.gson.stream.JsonWriter,java.util.Currency) -> write
+com.google.gson.internal.bind.TypeAdapters$26 -> com.google.gson.internal.bind.TypeAdapters$26:
+ 572:572:void <init>() -> <init>
+ 575:580:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+com.google.gson.internal.bind.TypeAdapters$26$1 -> com.google.gson.internal.bind.TypeAdapters$26$1:
+ 580:580:void <init>(com.google.gson.internal.bind.TypeAdapters$26,com.google.gson.TypeAdapter) -> <init>
+ 580:580:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 587:588:void write(com.google.gson.stream.JsonWriter,java.sql.Timestamp) -> write
+com.google.gson.internal.bind.TypeAdapters$27 -> com.google.gson.internal.bind.TypeAdapters$27:
+ 593:593:void <init>() -> <init>
+ 593:593:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 637:655:void write(com.google.gson.stream.JsonWriter,java.util.Calendar) -> write
+com.google.gson.internal.bind.TypeAdapters$28 -> com.google.gson.internal.bind.TypeAdapters$28:
+ 661:661:void <init>() -> <init>
+ 661:661:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 692:693:void write(com.google.gson.stream.JsonWriter,java.util.Locale) -> write
+com.google.gson.internal.bind.TypeAdapters$29 -> com.google.gson.internal.bind.TypeAdapters$29:
+ 698:698:void <init>() -> <init>
+ 698:698:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 737:767:void write(com.google.gson.stream.JsonWriter,com.google.gson.JsonElement) -> write
+com.google.gson.internal.bind.TypeAdapters$3 -> com.google.gson.internal.bind.TypeAdapters$3:
+ 133:133:void <init>() -> <init>
+ 133:133:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 148:149:void write(com.google.gson.stream.JsonWriter,java.lang.Boolean) -> write
+com.google.gson.internal.bind.TypeAdapters$30 -> com.google.gson.internal.bind.TypeAdapters$30:
+ 808:808:void <init>() -> <init>
+ 811:818:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+com.google.gson.internal.bind.TypeAdapters$32 -> com.google.gson.internal.bind.TypeAdapters$32:
+ 834:834:void <init>(java.lang.Class,com.google.gson.TypeAdapter) -> <init>
+ 837:837:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+ 840:840:java.lang.String toString() -> toString
+com.google.gson.internal.bind.TypeAdapters$33 -> com.google.gson.internal.bind.TypeAdapters$33:
+ 847:847:void <init>(java.lang.Class,java.lang.Class,com.google.gson.TypeAdapter) -> <init>
+ 850:851:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+ 854:855:java.lang.String toString() -> toString
+com.google.gson.internal.bind.TypeAdapters$34 -> com.google.gson.internal.bind.TypeAdapters$34:
+ 862:862:void <init>(java.lang.Class,java.lang.Class,com.google.gson.TypeAdapter) -> <init>
+ 865:866:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+ 869:870:java.lang.String toString() -> toString
+com.google.gson.internal.bind.TypeAdapters$35 -> com.google.gson.internal.bind.TypeAdapters$35:
+ 881:881:void <init>(java.lang.Class,com.google.gson.TypeAdapter) -> <init>
+ 884:888:com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken) -> create
+ 904:904:java.lang.String toString() -> toString
+com.google.gson.internal.bind.TypeAdapters$35$1 -> com.google.gson.internal.bind.TypeAdapters$35$1:
+ 888:888:void <init>(com.google.gson.internal.bind.TypeAdapters$35,java.lang.Class) -> <init>
+ 890:891:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+com.google.gson.internal.bind.TypeAdapters$4 -> com.google.gson.internal.bind.TypeAdapters$4:
+ 156:156:void <init>() -> <init>
+ 156:156:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 166:167:void write(com.google.gson.stream.JsonWriter,java.lang.Boolean) -> write
+com.google.gson.internal.bind.TypeAdapters$5 -> com.google.gson.internal.bind.TypeAdapters$5:
+ 173:173:void <init>() -> <init>
+ 173:173:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 189:190:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write
+com.google.gson.internal.bind.TypeAdapters$6 -> com.google.gson.internal.bind.TypeAdapters$6:
+ 196:196:void <init>() -> <init>
+ 196:196:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 211:212:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write
+com.google.gson.internal.bind.TypeAdapters$7 -> com.google.gson.internal.bind.TypeAdapters$7:
+ 218:218:void <init>() -> <init>
+ 218:218:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 233:234:void write(com.google.gson.stream.JsonWriter,java.lang.Number) -> write
+com.google.gson.internal.bind.TypeAdapters$8 -> com.google.gson.internal.bind.TypeAdapters$8:
+ 239:239:void <init>() -> <init>
+ 239:239:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 248:249:void write(com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicInteger) -> write
+com.google.gson.internal.bind.TypeAdapters$9 -> com.google.gson.internal.bind.TypeAdapters$9:
+ 254:254:void <init>() -> <init>
+ 254:254:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 259:260:void write(com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicBoolean) -> write
+com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter -> com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter:
+ 774:794:void <init>(java.lang.Class) -> <init>
+ 773:773:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write
+ 804:805:void write(com.google.gson.stream.JsonWriter,java.lang.Enum) -> write
+com.google.gson.internal.reflect.PreJava9ReflectionAccessor -> com.google.gson.internal.reflect.PreJava9ReflectionAccessor:
+ 26:26:void <init>() -> <init>
+ 31:32:void makeAccessible(java.lang.reflect.AccessibleObject) -> makeAccessible
+com.google.gson.internal.reflect.ReflectionAccessor -> com.google.gson.internal.reflect.ReflectionAccessor:
+ 36:36:void <clinit>() -> <clinit>
+ 33:33:void <init>() -> <init>
+ 52:52:com.google.gson.internal.reflect.ReflectionAccessor getInstance() -> getInstance
+com.google.gson.internal.reflect.UnsafeReflectionAccessor -> com.google.gson.internal.reflect.UnsafeReflectionAccessor:
+ 31:35:void <init>() -> <init>
+ 81:83:java.lang.reflect.Field getOverrideField() -> getOverrideField
+ 70:75:java.lang.Object getUnsafeInstance() -> getUnsafeInstance
+ 40:51:void makeAccessible(java.lang.reflect.AccessibleObject) -> makeAccessible
+ 55:65:boolean makeAccessibleWithUnsafe(java.lang.reflect.AccessibleObject) -> makeAccessibleWithUnsafe
+com.google.gson.reflect.TypeToken -> com.google.gson.reflect.TypeToken:
+ 61:65:void <init>() -> <init>
+ 71:75:void <init>(java.lang.reflect.Type) -> <init>
+ 284:285:boolean equals(java.lang.Object) -> equals
+ 296:296:com.google.gson.reflect.TypeToken get(java.lang.reflect.Type) -> get
+ 303:303:com.google.gson.reflect.TypeToken get(java.lang.Class) -> get
+ 94:94:java.lang.Class getRawType() -> getRawType
+ 82:87:java.lang.reflect.Type getSuperclassTypeParameter(java.lang.Class) -> getSuperclassTypeParameter
+ 101:101:java.lang.reflect.Type getType() -> getType
+ 280:280:int hashCode() -> hashCode
+ 289:289:java.lang.String toString() -> toString
+com.google.gson.stream.JsonWriter -> com.google.gson.stream.JsonWriter:
+ 145:162:void <clinit>() -> <clinit>
+ 167:202:void <init>(java.io.Writer) -> <init>
+ 612:620:void beforeName() -> beforeName
+ 629:658:void beforeValue() -> beforeValue
+ 287:288:com.google.gson.stream.JsonWriter beginArray() -> beginArray
+ 307:308:com.google.gson.stream.JsonWriter beginObject() -> beginObject
+ 337:350:com.google.gson.stream.JsonWriter close(int,int,java.lang.String) -> close
+ 555:562:void close() -> close
+ 297:297:com.google.gson.stream.JsonWriter endArray() -> endArray
+ 317:317:com.google.gson.stream.JsonWriter endObject() -> endObject
+ 543:547:void flush() -> flush
+ 277:277:boolean getSerializeNulls() -> getSerializeNulls
+ 261:261:boolean isHtmlSafe() -> isHtmlSafe
+ 242:242:boolean isLenient() -> isLenient
+ 386:396:com.google.gson.stream.JsonWriter name(java.lang.String) -> name
+ 597:605:void newline() -> newline
+ 446:456:com.google.gson.stream.JsonWriter nullValue() -> nullValue
+ 325:328:com.google.gson.stream.JsonWriter open(int,java.lang.String) -> open
+ 366:369:int peek() -> peek
+ 354:360:void push(int) -> push
+ 376:377:void replaceTop(int) -> replaceTop
+ 253:254:void setHtmlSafe(boolean) -> setHtmlSafe
+ 213:220:void setIndent(java.lang.String) -> setIndent
+ 235:236:void setLenient(boolean) -> setLenient
+ 269:270:void setSerializeNulls(boolean) -> setSerializeNulls
+ 565:594:void string(java.lang.String) -> string
+ 414:420:com.google.gson.stream.JsonWriter value(java.lang.String) -> value
+ 465:468:com.google.gson.stream.JsonWriter value(boolean) -> value
+ 477:483:com.google.gson.stream.JsonWriter value(java.lang.Boolean) -> value
+ 509:512:com.google.gson.stream.JsonWriter value(long) -> value
+ 523:535:com.google.gson.stream.JsonWriter value(java.lang.Number) -> value
+ 400:405:void writeDeferredName() -> writeDeferredName
+com.qmuiteam.qmui.QMUIInterpolatorStaticHolder -> com.qmuiteam.qmui.QMUIInterpolatorStaticHolder:
+ 35:42:void <clinit>() -> <clinit>
+com.qmuiteam.qmui.QMUIInterpolatorStaticHolder$1 -> com.qmuiteam.qmui.QMUIInterpolatorStaticHolder$1:
+ 42:42:void <init>() -> <init>
+ 45:46:float getInterpolation(float) -> getInterpolation
+com.qmuiteam.qmui.QMUILog -> com.qmuiteam.qmui.QMUILog:
+ 33:33:void <clinit>() -> <clinit>
+ 58:61:void d(java.lang.String,java.lang.String,java.lang.Object[]) -> d
+ 40:43:void e(java.lang.String,java.lang.String,java.lang.Object[]) -> e
+ 64:67:void printErrStackTrace(java.lang.String,java.lang.Throwable,java.lang.String,java.lang.Object[]) -> printErrStackTrace
+ 46:49:void w(java.lang.String,java.lang.String,java.lang.Object[]) -> w
+com.qmuiteam.qmui.alpha.QMUIAlphaButton -> com.qmuiteam.qmui.alpha.QMUIAlphaButton:
+ 31:32:void <init>(android.content.Context) -> <init>
+ 35:36:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 39:40:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 43:46:com.qmuiteam.qmui.alpha.QMUIAlphaViewHelper getAlphaViewHelper() -> getAlphaViewHelper
+ 78:79:void setChangeAlphaWhenDisable(boolean) -> setChangeAlphaWhenDisable
+ 68:69:void setChangeAlphaWhenPress(boolean) -> setChangeAlphaWhenPress
+ 57:59:void setEnabled(boolean) -> setEnabled
+ 51:53:void setPressed(boolean) -> setPressed
+com.qmuiteam.qmui.alpha.QMUIAlphaConstraintLayout -> com.qmuiteam.qmui.alpha.QMUIAlphaConstraintLayout:
+ 32:33:void <init>(android.content.Context) -> <init>
+ 36:37:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 40:41:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 44:47:com.qmuiteam.qmui.alpha.QMUIAlphaViewHelper getAlphaViewHelper() -> getAlphaViewHelper
+ 79:80:void setChangeAlphaWhenDisable(boolean) -> setChangeAlphaWhenDisable
+ 69:70:void setChangeAlphaWhenPress(boolean) -> setChangeAlphaWhenPress
+ 58:60:void setEnabled(boolean) -> setEnabled
+ 52:54:void setPressed(boolean) -> setPressed
+com.qmuiteam.qmui.alpha.QMUIAlphaFrameLayout -> com.qmuiteam.qmui.alpha.QMUIAlphaFrameLayout:
+ 31:32:void <init>(android.content.Context) -> <init>
+ 35:36:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 39:40:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 43:46:com.qmuiteam.qmui.alpha.QMUIAlphaViewHelper getAlphaViewHelper() -> getAlphaViewHelper
+ 78:79:void setChangeAlphaWhenDisable(boolean) -> setChangeAlphaWhenDisable
+ 68:69:void setChangeAlphaWhenPress(boolean) -> setChangeAlphaWhenPress
+ 57:59:void setEnabled(boolean) -> setEnabled
+ 51:53:void setPressed(boolean) -> setPressed
+com.qmuiteam.qmui.alpha.QMUIAlphaImageButton -> com.qmuiteam.qmui.alpha.QMUIAlphaImageButton:
+ 28:29:void <init>(android.content.Context) -> <init>
+ 32:33:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 36:37:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 40:43:com.qmuiteam.qmui.alpha.QMUIAlphaViewHelper getAlphaViewHelper() -> getAlphaViewHelper
+ 75:76:void setChangeAlphaWhenDisable(boolean) -> setChangeAlphaWhenDisable
+ 65:66:void setChangeAlphaWhenPress(boolean) -> setChangeAlphaWhenPress
+ 54:56:void setEnabled(boolean) -> setEnabled
+ 48:50:void setPressed(boolean) -> setPressed
+com.qmuiteam.qmui.alpha.QMUIAlphaLinearLayout -> com.qmuiteam.qmui.alpha.QMUIAlphaLinearLayout:
+ 31:32:void <init>(android.content.Context) -> <init>
+ 35:36:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 39:40:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 43:46:com.qmuiteam.qmui.alpha.QMUIAlphaViewHelper getAlphaViewHelper() -> getAlphaViewHelper
+ 78:79:void setChangeAlphaWhenDisable(boolean) -> setChangeAlphaWhenDisable
+ 68:69:void setChangeAlphaWhenPress(boolean) -> setChangeAlphaWhenPress
+ 57:59:void setEnabled(boolean) -> setEnabled
+ 51:53:void setPressed(boolean) -> setPressed
+com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout -> com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout:
+ 31:32:void <init>(android.content.Context) -> <init>
+ 35:36:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 39:40:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 43:46:com.qmuiteam.qmui.alpha.QMUIAlphaViewHelper getAlphaViewHelper() -> getAlphaViewHelper
+ 78:79:void setChangeAlphaWhenDisable(boolean) -> setChangeAlphaWhenDisable
+ 68:69:void setChangeAlphaWhenPress(boolean) -> setChangeAlphaWhenPress
+ 57:59:void setEnabled(boolean) -> setEnabled
+ 51:53:void setPressed(boolean) -> setPressed
+com.qmuiteam.qmui.alpha.QMUIAlphaTextView -> com.qmuiteam.qmui.alpha.QMUIAlphaTextView:
+ 32:33:void <init>(android.content.Context) -> <init>
+ 36:37:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 40:41:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 44:47:com.qmuiteam.qmui.alpha.QMUIAlphaViewHelper getAlphaViewHelper() -> getAlphaViewHelper
+ 52:54:void onSetPressed(boolean) -> onSetPressed
+ 79:80:void setChangeAlphaWhenDisable(boolean) -> setChangeAlphaWhenDisable
+ 69:70:void setChangeAlphaWhenPress(boolean) -> setChangeAlphaWhenPress
+ 58:60:void setEnabled(boolean) -> setEnabled
+com.qmuiteam.qmui.alpha.QMUIAlphaViewHelper -> com.qmuiteam.qmui.alpha.QMUIAlphaViewHelper:
+ 34:49:void <init>(android.view.View) -> <init>
+ 82:96:void onEnabledChanged(android.view.View,boolean) -> onEnabledChanged
+ 63:74:void onPressedChanged(android.view.View,boolean) -> onPressedChanged
+ 113:119:void setChangeAlphaWhenDisable(boolean) -> setChangeAlphaWhenDisable
+ 104:105:void setChangeAlphaWhenPress(boolean) -> setChangeAlphaWhenPress
+com.qmuiteam.qmui.layout.QMUIButton -> com.qmuiteam.qmui.layout.QMUIButton:
+ 34:36:void <init>(android.content.Context) -> <init>
+ 39:41:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 44:46:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 288:291:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 135:135:int getHideRadiusSide() -> getHideRadiusSide
+ 177:177:int getRadius() -> getRadius
+ 248:248:float getShadowAlpha() -> getShadowAlpha
+ 258:258:int getShadowColor() -> getShadowColor
+ 238:238:int getShadowElevation() -> getShadowElevation
+ 49:52:void init(android.content.Context,android.util.AttributeSet,int) -> init
+ 140:148:void onMeasure(int,int) -> onMeasure
+ 93:95:void onlyShowLeftDivider(int,int,int,int) -> onlyShowLeftDivider
+ 80:82:void onlyShowTopDivider(int,int,int,int) -> onlyShowTopDivider
+ 187:189:void setBorderColor(int) -> setBorderColor
+ 193:195:void setBorderWidth(int) -> setBorderWidth
+ 111:113:void setBottomDividerAlpha(int) -> setBottomDividerAlpha
+ 129:131:void setHideRadiusSide(int) -> setHideRadiusSide
+ 117:119:void setLeftDividerAlpha(int) -> setLeftDividerAlpha
+ 263:264:void setOuterNormalColor(int) -> setOuterNormalColor
+ 228:229:void setOutlineExcludePadding(boolean) -> setOutlineExcludePadding
+ 167:168:void setRadius(int) -> setRadius
+ 123:125:void setRightDividerAlpha(int) -> setRightDividerAlpha
+ 243:244:void setShadowAlpha(float) -> setShadowAlpha
+ 253:254:void setShadowColor(int) -> setShadowColor
+ 233:234:void setShadowElevation(int) -> setShadowElevation
+ 199:201:void setShowBorderOnlyBeforeL(boolean) -> setShowBorderOnlyBeforeL
+ 105:107:void setTopDividerAlpha(int) -> setTopDividerAlpha
+ 268:269:void updateBottomSeparatorColor(int) -> updateBottomSeparatorColor
+ 273:274:void updateLeftSeparatorColor(int) -> updateLeftSeparatorColor
+ 278:279:void updateRightSeparatorColor(int) -> updateRightSeparatorColor
+ 283:284:void updateTopSeparatorColor(int) -> updateTopSeparatorColor
+com.qmuiteam.qmui.layout.QMUIConstraintLayout -> com.qmuiteam.qmui.layout.QMUIConstraintLayout:
+ 36:38:void <init>(android.content.Context) -> <init>
+ 41:43:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 46:48:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 291:298:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 202:202:int getHideRadiusSide() -> getHideRadiusSide
+ 169:169:int getRadius() -> getRadius
+ 285:285:float getShadowAlpha() -> getShadowAlpha
+ 275:275:int getShadowColor() -> getShadowColor
+ 260:260:int getShadowElevation() -> getShadowElevation
+ 51:54:void init(android.content.Context,android.util.AttributeSet,int) -> init
+ 132:140:void onMeasure(int,int) -> onMeasure
+ 90:92:void onlyShowBottomDivider(int,int,int,int) -> onlyShowBottomDivider
+ 179:181:void setBorderColor(int) -> setBorderColor
+ 185:187:void setBorderWidth(int) -> setBorderWidth
+ 114:116:void setBottomDividerAlpha(int) -> setBottomDividerAlpha
+ 197:198:void setHideRadiusSide(int) -> setHideRadiusSide
+ 120:122:void setLeftDividerAlpha(int) -> setLeftDividerAlpha
+ 280:281:void setOuterNormalColor(int) -> setOuterNormalColor
+ 230:231:void setOutlineExcludePadding(boolean) -> setOutlineExcludePadding
+ 159:160:void setRadius(int) -> setRadius
+ 126:128:void setRightDividerAlpha(int) -> setRightDividerAlpha
+ 265:266:void setShadowAlpha(float) -> setShadowAlpha
+ 270:271:void setShadowColor(int) -> setShadowColor
+ 255:256:void setShadowElevation(int) -> setShadowElevation
+ 191:193:void setShowBorderOnlyBeforeL(boolean) -> setShowBorderOnlyBeforeL
+ 108:110:void setTopDividerAlpha(int) -> setTopDividerAlpha
+ 64:66:void updateBottomDivider(int,int,int,int) -> updateBottomDivider
+ 235:236:void updateBottomSeparatorColor(int) -> updateBottomSeparatorColor
+ 240:241:void updateLeftSeparatorColor(int) -> updateLeftSeparatorColor
+ 245:246:void updateRightSeparatorColor(int) -> updateRightSeparatorColor
+ 58:60:void updateTopDivider(int,int,int,int) -> updateTopDivider
+ 250:251:void updateTopSeparatorColor(int) -> updateTopSeparatorColor
+com.qmuiteam.qmui.layout.QMUIFrameLayout -> com.qmuiteam.qmui.layout.QMUIFrameLayout:
+ 35:37:void <init>(android.content.Context) -> <init>
+ 40:42:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 45:47:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 290:293:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 184:184:int getHideRadiusSide() -> getHideRadiusSide
+ 169:169:int getRadius() -> getRadius
+ 250:250:float getShadowAlpha() -> getShadowAlpha
+ 260:260:int getShadowColor() -> getShadowColor
+ 240:240:int getShadowElevation() -> getShadowElevation
+ 50:53:void init(android.content.Context,android.util.AttributeSet,int) -> init
+ 57:65:void onMeasure(int,int) -> onMeasure
+ 189:191:void setBorderColor(int) -> setBorderColor
+ 195:197:void setBorderWidth(int) -> setBorderWidth
+ 126:128:void setBottomDividerAlpha(int) -> setBottomDividerAlpha
+ 179:180:void setHideRadiusSide(int) -> setHideRadiusSide
+ 132:134:void setLeftDividerAlpha(int) -> setLeftDividerAlpha
+ 265:266:void setOuterNormalColor(int) -> setOuterNormalColor
+ 230:231:void setOutlineExcludePadding(boolean) -> setOutlineExcludePadding
+ 159:160:void setRadius(int) -> setRadius
+ 138:140:void setRightDividerAlpha(int) -> setRightDividerAlpha
+ 245:246:void setShadowAlpha(float) -> setShadowAlpha
+ 255:256:void setShadowColor(int) -> setShadowColor
+ 235:236:void setShadowElevation(int) -> setShadowElevation
+ 201:203:void setShowBorderOnlyBeforeL(boolean) -> setShowBorderOnlyBeforeL
+ 120:122:void setTopDividerAlpha(int) -> setTopDividerAlpha
+ 270:271:void updateBottomSeparatorColor(int) -> updateBottomSeparatorColor
+ 275:276:void updateLeftSeparatorColor(int) -> updateLeftSeparatorColor
+ 280:281:void updateRightSeparatorColor(int) -> updateRightSeparatorColor
+ 285:286:void updateTopSeparatorColor(int) -> updateTopSeparatorColor
+com.qmuiteam.qmui.layout.QMUILayoutHelper -> com.qmuiteam.qmui.layout.QMUILayoutHelper:
+ 113:114:void <init>(android.content.Context,android.util.AttributeSet,int,android.view.View) -> <init>
+ 53:211:void <init>(android.content.Context,android.util.AttributeSet,int,int,android.view.View) -> <init>
+ 48:48:int access$000(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> access$000
+ 48:48:boolean access$100(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> access$100
+ 48:48:int access$200(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> access$200
+ 48:48:int access$300(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> access$300
+ 48:48:int access$400(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> access$400
+ 48:48:int access$500(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> access$500
+ 48:48:int access$600(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> access$600
+ 48:48:boolean access$700(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> access$700
+ 48:48:float access$800(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> access$800
+ 48:48:int access$900(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> access$900
+ 768:856:void dispatchRoundBorderDraw(android.graphics.Canvas) -> dispatchRoundBorderDraw
+ 698:748:void drawDividers(android.graphics.Canvas,int,int) -> drawDividers
+ 859:863:void drawRoundRect(android.graphics.Canvas,android.graphics.RectF,float[],android.graphics.Paint) -> drawRoundRect
+ 390:390:int getHideRadiusSide() -> getHideRadiusSide
+ 639:650:int getMeasuredHeightSpec(int) -> getMeasuredHeightSpec
+ 623:635:int getMeasuredWidthSpec(int) -> getMeasuredWidthSpec
+ 410:410:int getRadius() -> getRadius
+ 752:764:int getRealRadius() -> getRealRadius
+ 289:289:float getShadowAlpha() -> getShadowAlpha
+ 294:294:int getShadowColor() -> getShadowColor
+ 284:284:int getShadowElevation() -> getShadowElevation
+ 615:619:int handleMiniHeight(int,int) -> handleMiniHeight
+ 607:611:int handleMiniWidth(int,int) -> handleMiniWidth
+ 373:378:void invalidate() -> invalidate
+ 358:370:void invalidateOutline() -> invalidateOutline
+ 514:514:boolean isRadiusWithSideHidden() -> isRadiusWithSideHidden
+ 563:567:void onlyShowBottomDivider(int,int,int,int) -> onlyShowBottomDivider
+ 571:575:void onlyShowLeftDivider(int,int,int,int) -> onlyShowLeftDivider
+ 554:558:void onlyShowTopDivider(int,int,int,int) -> onlyShowTopDivider
+ 655:656:void setBorderColor(int) -> setBorderColor
+ 660:661:void setBorderWidth(int) -> setBorderWidth
+ 592:593:void setBottomDividerAlpha(int) -> setBottomDividerAlpha
+ 382:386:void setHideRadiusSide(int) -> setHideRadiusSide
+ 597:598:void setLeftDividerAlpha(int) -> setLeftDividerAlpha
+ 665:670:void setOuterNormalColor(int) -> setOuterNormalColor
+ 221:230:void setOutlineExcludePadding(boolean) -> setOutlineExcludePadding
+ 395:398:void setRadius(int) -> setRadius
+ 402:406:void setRadius(int,int) -> setRadius
+ 415:416:void setRadiusAndShadow(int,int,float) -> setRadiusAndShadow
+ 420:421:void setRadiusAndShadow(int,int,int,float) -> setRadiusAndShadow
+ 425:506:void setRadiusAndShadow(int,int,int,int,float) -> setRadiusAndShadow
+ 602:603:void setRightDividerAlpha(int) -> setRightDividerAlpha
+ 330:335:void setShadowAlpha(float) -> setShadowAlpha
+ 339:344:void setShadowColor(int) -> setShadowColor
+ 347:355:void setShadowColorInner(int) -> setShadowColorInner
+ 321:326:void setShadowElevation(int) -> setShadowElevation
+ 315:317:void setShowBorderOnlyBeforeL(boolean) -> setShowBorderOnlyBeforeL
+ 587:588:void setTopDividerAlpha(int) -> setTopDividerAlpha
+ 529:533:void updateBottomDivider(int,int,int,int) -> updateBottomDivider
+ 260:264:void updateBottomSeparatorColor(int) -> updateBottomSeparatorColor
+ 537:541:void updateLeftDivider(int,int,int,int) -> updateLeftDivider
+ 252:256:void updateLeftSeparatorColor(int) -> updateLeftSeparatorColor
+ 276:280:void updateRightSeparatorColor(int) -> updateRightSeparatorColor
+ 521:525:void updateTopDivider(int,int,int,int) -> updateTopDivider
+ 268:272:void updateTopSeparatorColor(int) -> updateTopSeparatorColor
+ 866:866:boolean useFeature() -> useFeature
+com.qmuiteam.qmui.layout.QMUILayoutHelper$1 -> com.qmuiteam.qmui.layout.QMUILayoutHelper$1:
+ 446:446:void <init>(com.qmuiteam.qmui.layout.QMUILayoutHelper) -> <init>
+ 450:500:void getOutline(android.view.View,android.graphics.Outline) -> getOutline
+com.qmuiteam.qmui.layout.QMUILinearLayout -> com.qmuiteam.qmui.layout.QMUILinearLayout:
+ 35:37:void <init>(android.content.Context) -> <init>
+ 40:42:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 45:47:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 289:292:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 201:201:int getHideRadiusSide() -> getHideRadiusSide
+ 168:168:int getRadius() -> getRadius
+ 284:284:float getShadowAlpha() -> getShadowAlpha
+ 274:274:int getShadowColor() -> getShadowColor
+ 259:259:int getShadowElevation() -> getShadowElevation
+ 50:53:void init(android.content.Context,android.util.AttributeSet,int) -> init
+ 131:139:void onMeasure(int,int) -> onMeasure
+ 178:180:void setBorderColor(int) -> setBorderColor
+ 184:186:void setBorderWidth(int) -> setBorderWidth
+ 113:115:void setBottomDividerAlpha(int) -> setBottomDividerAlpha
+ 196:197:void setHideRadiusSide(int) -> setHideRadiusSide
+ 119:121:void setLeftDividerAlpha(int) -> setLeftDividerAlpha
+ 279:280:void setOuterNormalColor(int) -> setOuterNormalColor
+ 229:230:void setOutlineExcludePadding(boolean) -> setOutlineExcludePadding
+ 158:159:void setRadius(int) -> setRadius
+ 163:164:void setRadius(int,int) -> setRadius
+ 125:127:void setRightDividerAlpha(int) -> setRightDividerAlpha
+ 264:265:void setShadowAlpha(float) -> setShadowAlpha
+ 269:270:void setShadowColor(int) -> setShadowColor
+ 254:255:void setShadowElevation(int) -> setShadowElevation
+ 190:192:void setShowBorderOnlyBeforeL(boolean) -> setShowBorderOnlyBeforeL
+ 107:109:void setTopDividerAlpha(int) -> setTopDividerAlpha
+ 234:235:void updateBottomSeparatorColor(int) -> updateBottomSeparatorColor
+ 239:240:void updateLeftSeparatorColor(int) -> updateLeftSeparatorColor
+ 244:245:void updateRightSeparatorColor(int) -> updateRightSeparatorColor
+ 249:250:void updateTopSeparatorColor(int) -> updateTopSeparatorColor
+com.qmuiteam.qmui.layout.QMUIPriorityLinearLayout -> com.qmuiteam.qmui.layout.QMUIPriorityLinearLayout:
+ 32:37:void <init>(android.content.Context) -> <init>
+ 32:41:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 319:319:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 224:273:void dispatchSpaceToDisposableChildList(java.util.ArrayList,int,int,int) -> dispatchSpaceToDisposableChildList
+ 277:294:void dispatchSpaceToMiniWidthChildList(java.util.ArrayList,int,int) -> dispatchSpaceToMiniWidthChildList
+ 31:31:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 31:31:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 309:309:android.widget.LinearLayout$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 314:314:android.widget.LinearLayout$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 297:304:int getVisibleChildCount() -> getVisibleChildCount
+ 55:114:void handleHorizontal(int,int) -> handleHorizontal
+ 179:219:int handlePriorityIncompressible(int,int) -> handlePriorityIncompressible
+ 117:176:void handleVertical(int,int) -> handleVertical
+ 45:52:void onMeasure(int,int) -> onMeasure
+com.qmuiteam.qmui.layout.QMUIPriorityLinearLayout$LayoutParams -> com.qmuiteam.qmui.layout.QMUIPriorityLinearLayout$LayoutParams:
+ 327:348:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 327:360:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 322:322:int access$000(com.qmuiteam.qmui.layout.QMUIPriorityLinearLayout$LayoutParams) -> access$000
+ 396:414:void backupOrRestore() -> backupOrRestore
+ 380:392:int getPriority(int) -> getPriority
+com.qmuiteam.qmui.layout.QMUIRelativeLayout -> com.qmuiteam.qmui.layout.QMUIRelativeLayout:
+ 35:37:void <init>(android.content.Context) -> <init>
+ 40:42:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 45:47:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 287:290:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 183:183:int getHideRadiusSide() -> getHideRadiusSide
+ 168:168:int getRadius() -> getRadius
+ 262:262:float getShadowAlpha() -> getShadowAlpha
+ 252:252:int getShadowColor() -> getShadowColor
+ 238:238:int getShadowElevation() -> getShadowElevation
+ 50:53:void init(android.content.Context,android.util.AttributeSet,int) -> init
+ 131:139:void onMeasure(int,int) -> onMeasure
+ 188:190:void setBorderColor(int) -> setBorderColor
+ 194:196:void setBorderWidth(int) -> setBorderWidth
+ 113:115:void setBottomDividerAlpha(int) -> setBottomDividerAlpha
+ 178:179:void setHideRadiusSide(int) -> setHideRadiusSide
+ 119:121:void setLeftDividerAlpha(int) -> setLeftDividerAlpha
+ 257:258:void setOuterNormalColor(int) -> setOuterNormalColor
+ 229:230:void setOutlineExcludePadding(boolean) -> setOutlineExcludePadding
+ 158:159:void setRadius(int) -> setRadius
+ 125:127:void setRightDividerAlpha(int) -> setRightDividerAlpha
+ 242:243:void setShadowAlpha(float) -> setShadowAlpha
+ 247:248:void setShadowColor(int) -> setShadowColor
+ 234:235:void setShadowElevation(int) -> setShadowElevation
+ 200:202:void setShowBorderOnlyBeforeL(boolean) -> setShowBorderOnlyBeforeL
+ 107:109:void setTopDividerAlpha(int) -> setTopDividerAlpha
+ 63:65:void updateBottomDivider(int,int,int,int) -> updateBottomDivider
+ 267:268:void updateBottomSeparatorColor(int) -> updateBottomSeparatorColor
+ 272:273:void updateLeftSeparatorColor(int) -> updateLeftSeparatorColor
+ 277:278:void updateRightSeparatorColor(int) -> updateRightSeparatorColor
+ 282:283:void updateTopSeparatorColor(int) -> updateTopSeparatorColor
+com.qmuiteam.qmui.link.QMUILinkTouchDecorHelper -> com.qmuiteam.qmui.link.QMUILinkTouchDecorHelper:
+ 36:36:void <init>() -> <init>
+ 112:144:com.qmuiteam.qmui.link.ITouchableSpan getPressedSpan(android.widget.TextView,android.text.Spannable,android.view.MotionEvent) -> getPressedSpan
+ 40:106:boolean onTouchEvent(android.widget.TextView,android.text.Spannable,android.view.MotionEvent) -> onTouchEvent
+com.qmuiteam.qmui.link.QMUILinkTouchMovementMethod -> com.qmuiteam.qmui.link.QMUILinkTouchMovementMethod:
+ 49:49:void <clinit>() -> <clinit>
+ 33:33:void <init>() -> <init>
+ 42:45:android.text.method.MovementMethod getInstance() -> getInstance
+ 37:38:boolean onTouchEvent(android.widget.TextView,android.text.Spannable,android.view.MotionEvent) -> onTouchEvent
+com.qmuiteam.qmui.link.QMUILinkify -> com.qmuiteam.qmui.link.QMUILinkify:
+ 79:204:void <clinit>() -> <clinit>
+ 265:308:boolean addLinks(android.text.Spannable,int,android.content.res.ColorStateList,android.content.res.ColorStateList,com.qmuiteam.qmui.span.QMUIOnSpanClickListener) -> addLinks
+ 454:473:void applyLink(java.lang.String,int,int,android.text.Spannable,android.content.res.ColorStateList,android.content.res.ColorStateList,com.qmuiteam.qmui.span.QMUIOnSpanClickListener) -> applyLink
+ 535:551:void gatherLinks(java.util.ArrayList,android.text.Spannable,java.util.regex.Pattern,java.lang.String[],com.qmuiteam.qmui.link.QMUILinkify$MatchFilter,com.qmuiteam.qmui.link.QMUILinkify$TransformFilter) -> gatherLinks
+ 623:660:void gatherMapLinks(java.util.ArrayList,android.text.Spannable) -> gatherMapLinks
+ 556:576:void gatherPhoneLinks(java.util.ArrayList,android.text.Spannable,java.util.regex.Pattern,java.util.regex.Pattern[],java.lang.String[],com.qmuiteam.qmui.link.QMUILinkify$MatchFilter,com.qmuiteam.qmui.link.QMUILinkify$TransformFilter) -> gatherPhoneLinks
+ 579:586:boolean isInExcepts(java.lang.CharSequence,java.util.regex.Pattern[]) -> isInExcepts
+ 592:607:boolean isTooLarge(java.lang.CharSequence) -> isTooLarge
+ 504:529:java.lang.String makeUrl(java.lang.String,java.lang.String[],java.util.regex.Matcher,com.qmuiteam.qmui.link.QMUILinkify$TransformFilter) -> makeUrl
+ 663:714:void pruneOverlaps(java.util.ArrayList) -> pruneOverlaps
+com.qmuiteam.qmui.link.QMUILinkify$1 -> com.qmuiteam.qmui.link.QMUILinkify$1:
+ 121:121:void <init>() -> <init>
+ 124:124:java.util.regex.Pattern getPattern() -> getPattern
+com.qmuiteam.qmui.link.QMUILinkify$2 -> com.qmuiteam.qmui.link.QMUILinkify$2:
+ 128:128:void <init>() -> <init>
+ 131:131:java.util.regex.Pattern getPattern() -> getPattern
+com.qmuiteam.qmui.link.QMUILinkify$3 -> com.qmuiteam.qmui.link.QMUILinkify$3:
+ 147:147:void <init>() -> <init>
+ 150:173:boolean acceptMatch(java.lang.CharSequence,int,int) -> acceptMatch
+com.qmuiteam.qmui.link.QMUILinkify$4 -> com.qmuiteam.qmui.link.QMUILinkify$4:
+ 181:181:void <init>() -> <init>
+ 183:193:boolean acceptMatch(java.lang.CharSequence,int,int) -> acceptMatch
+com.qmuiteam.qmui.link.QMUILinkify$5 -> com.qmuiteam.qmui.link.QMUILinkify$5:
+ 204:204:void <init>() -> <init>
+ 206:206:java.lang.String transformUrl(java.util.regex.Matcher,java.lang.String) -> transformUrl
+com.qmuiteam.qmui.link.QMUILinkify$6 -> com.qmuiteam.qmui.link.QMUILinkify$6:
+ 454:454:void <init>(java.lang.String,com.qmuiteam.qmui.span.QMUIOnSpanClickListener,android.content.res.ColorStateList,android.content.res.ColorStateList) -> <init>
+ 458:470:void updateDrawState(android.text.TextPaint) -> updateDrawState
+com.qmuiteam.qmui.link.QMUILinkify$7 -> com.qmuiteam.qmui.link.QMUILinkify$7:
+ 663:663:void <init>() -> <init>
+ 663:663:int compare(java.lang.Object,java.lang.Object) -> compare
+ 665:681:int compare(com.qmuiteam.qmui.link.QMUILinkify$LinkSpec,com.qmuiteam.qmui.link.QMUILinkify$LinkSpec) -> compare
+com.qmuiteam.qmui.link.QMUILinkify$LinkSpec -> com.qmuiteam.qmui.link.QMUILinkify$LinkSpec:
+ 716:716:void <init>() -> <init>
+ 716:716:void <init>(com.qmuiteam.qmui.link.QMUILinkify$1) -> <init>
+com.qmuiteam.qmui.link.QMUILinkify$StyleableURLSpan -> com.qmuiteam.qmui.link.QMUILinkify$StyleableURLSpan:
+ 477:485:void <init>(java.lang.String,com.qmuiteam.qmui.span.QMUIOnSpanClickListener) -> <init>
+ 494:498:void onClick(android.view.View) -> onClick
+ 489:490:void setPressed(boolean) -> setPressed
+com.qmuiteam.qmui.link.QMUILinkify$WebUrlPattern -> com.qmuiteam.qmui.link.QMUILinkify$WebUrlPattern:
+ 725:805:void <clinit>() -> <clinit>
+ 722:722:java.util.regex.Pattern access$000() -> access$000
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomAreaBehavior -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomAreaBehavior:
+ 34:44:void <init>() -> <init>
+ 34:48:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 80:105:void layoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> layoutChild
+ 124:124:boolean layoutDependsOn(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> layoutDependsOn
+ 129:130:boolean onDependentViewChanged(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View) -> onDependentViewChanged
+ 109:115:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 52:75:boolean onMeasureChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int,int,int,int) -> onMeasureChild
+ 119:119:int resolveGravity(int) -> resolveGravity
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomDelegateLayout -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomDelegateLayout:
+ 79:80:void <init>(android.content.Context) -> <init>
+ 83:84:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 62:106:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 48:48:android.view.View access$100(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomDelegateLayout) -> access$100
+ 48:48:androidx.core.view.NestedScrollingChildHelper access$200(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomDelegateLayout) -> access$200
+ 200:206:void checkLayout() -> checkLayout
+ 231:241:void consumeScroll(int) -> consumeScroll
+ 377:377:boolean dispatchNestedFling(float,float,boolean) -> dispatchNestedFling
+ 382:382:boolean dispatchNestedPreFling(float,float) -> dispatchNestedPreFling
+ 333:333:boolean dispatchNestedPreScroll(int,int,int[],int[],int) -> dispatchNestedPreScroll
+ 372:372:boolean dispatchNestedPreScroll(int,int,int[],int[]) -> dispatchNestedPreScroll
+ 326:326:boolean dispatchNestedScroll(int,int,int,int,int[],int) -> dispatchNestedScroll
+ 366:366:boolean dispatchNestedScroll(int,int,int,int,int[]) -> dispatchNestedScroll
+ 479:482:void ensureVelocityTracker() -> ensureVelocityTracker
+ 166:166:int getContentBottomMargin() -> getContentBottomMargin
+ 138:147:int getContentHeight() -> getContentHeight
+ 113:113:android.view.View getContentView() -> getContentView
+ 255:256:int getCurrentScroll() -> getCurrentScroll
+ 162:162:int getHeaderHeightLayoutParam() -> getHeaderHeightLayoutParam
+ 157:157:int getHeaderStickyHeight() -> getHeaderStickyHeight
+ 109:109:android.view.View getHeaderView() -> getHeaderView
+ 125:133:int getMiniOffset() -> getMiniOffset
+ 469:469:int getNestedScrollAxes() -> getNestedScrollAxes
+ 117:117:int getOffsetCurrent() -> getOffsetCurrent
+ 121:121:int getOffsetRange() -> getOffsetRange
+ 261:265:int getScrollOffsetRange() -> getScrollOffsetRange
+ 320:320:boolean hasNestedScrollingParent(int) -> hasNestedScrollingParent
+ 360:360:boolean hasNestedScrollingParent() -> hasNestedScrollingParent
+ 345:345:boolean isNestedScrollingEnabled() -> isNestedScrollingEnabled
+ 474:475:boolean isPointInHeaderBounds(int,int) -> isPointInHeaderBounds
+ 209:225:int offsetBy(int) -> offsetBy
+ 486:545:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 181:192:void onLayout(boolean,int,int,int,int) -> onLayout
+ 171:177:void onMeasure(int,int) -> onMeasure
+ 455:459:boolean onNestedFling(android.view.View,float,float,boolean) -> onNestedFling
+ 464:464:boolean onNestedPreFling(android.view.View,float,float) -> onNestedPreFling
+ 417:422:void onNestedPreScroll(android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 450:451:void onNestedPreScroll(android.view.View,int,int,int[]) -> onNestedPreScroll
+ 409:412:void onNestedScroll(android.view.View,int,int,int,int,int) -> onNestedScroll
+ 444:446:void onNestedScroll(android.view.View,int,int,int,int) -> onNestedScroll
+ 396:398:void onNestedScrollAccepted(android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 433:434:void onNestedScrollAccepted(android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 390:390:boolean onStartNestedScroll(android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 428:428:boolean onStartNestedScroll(android.view.View,android.view.View,int) -> onStartNestedScroll
+ 402:404:void onStopNestedScroll(android.view.View,int) -> onStopNestedScroll
+ 438:439:void onStopNestedScroll(android.view.View) -> onStopNestedScroll
+ 550:645:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 195:197:void postCheckLayout() -> postCheckLayout
+ 340:341:void setNestedScrollingEnabled(boolean) -> setNestedScrollingEnabled
+ 310:310:boolean startNestedScroll(int,int) -> startNestedScroll
+ 350:350:boolean startNestedScroll(int) -> startNestedScroll
+ 315:316:void stopNestedScroll(int) -> stopNestedScroll
+ 355:356:void stopNestedScroll() -> stopNestedScroll
+ 250:251:void stopScroll() -> stopScroll
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomDelegateLayout$1 -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomDelegateLayout$1:
+ 71:71:void <init>(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomDelegateLayout) -> <init>
+ 74:75:void run() -> run
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomDelegateLayout$ViewFlinger -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomDelegateLayout$ViewFlinger:
+ 651:661:void <init>(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomDelegateLayout) -> <init>
+ 711:723:void fling(int) -> fling
+ 705:708:void internalPostOnAnimation() -> internalPostOnAnimation
+ 697:702:void postOnAnimation() -> postOnAnimation
+ 665:694:void run() -> run
+ 727:729:void stop() -> stop
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomRecyclerView -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomRecyclerView:
+ 38:43:void <init>(android.content.Context) -> <init>
+ 38:48:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 38:53:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 31:31:com.qmuiteam.qmui.nestedScroll.IQMUIContinuousNestedScrollCommon$OnScrollNotifier access$000(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomRecyclerView) -> access$000
+ 87:112:void consumeScroll(int) -> consumeScroll
+ 116:128:int getContentHeight() -> getContentHeight
+ 138:138:int getCurrentScroll() -> getCurrentScroll
+ 143:143:int getScrollOffsetRange() -> getScrollOffsetRange
+ 56:83:void init() -> init
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomRecyclerView$1 -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomRecyclerView$1:
+ 57:57:void <init>(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomRecyclerView) -> <init>
+ 60:72:void onScrollStateChanged(androidx.recyclerview.widget.RecyclerView,int) -> onScrollStateChanged
+ 76:81:void onScrolled(androidx.recyclerview.widget.RecyclerView,int,int) -> onScrolled
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedScrollLayout -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedScrollLayout:
+ 63:64:void <init>(android.content.Context) -> <init>
+ 67:68:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 46:72:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 288:322:void checkLayout() -> checkLayout
+ 116:116:com.qmuiteam.qmui.nestedScroll.QMUIDraggableScrollBar createScrollBar(android.content.Context) -> createScrollBar
+ 345:355:void dispatchScroll(int,int,int,int,int,int) -> dispatchScroll
+ 367:371:void dispatchScrollStateChange(int,boolean) -> dispatchScrollStateChange
+ 488:512:boolean dispatchTouchEvent(android.view.MotionEvent) -> dispatchTouchEvent
+ 75:84:void ensureScrollBar() -> ensureScrollBar
+ 237:237:com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedBottomAreaBehavior getBottomAreaBehavior() -> getBottomAreaBehavior
+ 229:229:com.qmuiteam.qmui.nestedScroll.IQMUIContinuousNestedBottomView getBottomView() -> getBottomView
+ 136:144:int getCurrentScroll() -> getCurrentScroll
+ 161:165:float getCurrentScrollPercent() -> getCurrentScrollPercent
+ 439:439:int getOffsetCurrent() -> getOffsetCurrent
+ 443:450:int getOffsetRange() -> getOffsetRange
+ 148:157:int getScrollRange() -> getScrollRange
+ 233:233:com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopAreaBehavior getTopAreaBehavior() -> getTopAreaBehavior
+ 225:225:com.qmuiteam.qmui.nestedScroll.IQMUIContinuousNestedTopView getTopView() -> getTopView
+ 133:133:void onDragEnd() -> onDragEnd
+ 121:122:void onDragStarted() -> onDragStarted
+ 126:128:void onDragToPercent(float) -> onDragToPercent
+ 278:280:void onLayout(boolean,int,int,int,int) -> onLayout
+ 359:364:void onNestedScroll(android.view.View,int,int,int,int,int) -> onNestedScroll
+ 455:460:void onTopAreaOffset(int) -> onTopAreaOffset
+ 482:484:void onTopBehaviorFlingOrScrollEnd() -> onTopBehaviorFlingOrScrollEnd
+ 476:478:void onTopBehaviorFlingOrScrollStart() -> onTopBehaviorFlingOrScrollStart
+ 464:466:void onTopBehaviorTouchBegin() -> onTopBehaviorTouchBegin
+ 470:472:void onTopBehaviorTouchEnd() -> onTopBehaviorTouchEnd
+ 283:285:void postCheckLayout() -> postCheckLayout
+ 374:379:void scrollBy(int) -> scrollBy
+ 87:98:void setDraggableScrollBarEnabled(boolean) -> setDraggableScrollBarEnabled
+ 101:113:void setEnableScrollBarFadeInOut(boolean) -> setEnableScrollBarFadeInOut
+ 180:181:void setKeepBottomAreaStableWhenCheckLayout(boolean) -> setKeepBottomAreaStableWhenCheckLayout
+ 393:399:void stopScroll() -> stopScroll
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedScrollLayout$1 -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedScrollLayout$1:
+ 47:47:void <init>(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedScrollLayout) -> <init>
+ 50:51:void run() -> run
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopAreaBehavior -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopAreaBehavior:
+ 41:61:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 36:36:boolean access$000(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopAreaBehavior) -> access$000
+ 36:36:boolean access$002(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopAreaBehavior,boolean) -> access$002
+ 36:36:com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopAreaBehavior$Callback access$100(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopAreaBehavior) -> access$100
+ 269:272:void ensureVelocityTracker() -> ensureVelocityTracker
+ 408:414:android.view.View findBottomView(androidx.coordinatorlayout.widget.CoordinatorLayout) -> findBottomView
+ 74:158:boolean onInterceptTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onInterceptTouchEvent
+ 278:296:boolean onMeasureChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int,int,int,int) -> onMeasureChild
+ 303:340:void onNestedPreScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 346:398:void onNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,int,int,int,int,int) -> onNestedScroll
+ 404:404:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 163:244:boolean onTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onTouchEvent
+ 248:258:void scroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> scroll
+ 544:548:boolean setTopAndBottomOffset(int) -> setTopAndBottomOffset
+ 265:266:void stopFlingOrScroll() -> stopFlingOrScroll
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopAreaBehavior$ViewFlinger -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopAreaBehavior$ViewFlinger:
+ 421:434:void <init>(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopAreaBehavior,android.content.Context) -> <init>
+ 494:498:void fling(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> fling
+ 486:491:void internalPostOnAnimation() -> internalPostOnAnimation
+ 535:539:void onFlingOrScrollEnd() -> onFlingOrScrollEnd
+ 507:521:void onFlingOrScrollStart(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View) -> onFlingOrScrollStart
+ 478:483:void postOnAnimation() -> postOnAnimation
+ 438:475:void run() -> run
+ 525:532:void stop() -> stop
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopDelegateLayout -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopDelegateLayout:
+ 61:62:void <init>(android.content.Context) -> <init>
+ 65:66:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 49:77:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 187:221:void checkLayout() -> checkLayout
+ 271:356:int consumeScroll(int) -> consumeScroll
+ 483:483:boolean dispatchNestedFling(float,float,boolean) -> dispatchNestedFling
+ 488:488:boolean dispatchNestedPreFling(float,float) -> dispatchNestedPreFling
+ 439:439:boolean dispatchNestedPreScroll(int,int,int[],int[],int) -> dispatchNestedPreScroll
+ 478:478:boolean dispatchNestedPreScroll(int,int,int[],int[]) -> dispatchNestedPreScroll
+ 432:432:boolean dispatchNestedScroll(int,int,int,int,int[],int) -> dispatchNestedScroll
+ 472:472:boolean dispatchNestedScroll(int,int,int,int,int[]) -> dispatchNestedScroll
+ 262:266:int getContainerHeaderOffsetRange() -> getContainerHeaderOffsetRange
+ 254:254:int getContainerOffsetCurrent() -> getContainerOffsetCurrent
+ 258:258:int getContainerOffsetRange() -> getContainerOffsetRange
+ 361:365:int getCurrentScroll() -> getCurrentScroll
+ 242:242:com.qmuiteam.qmui.nestedScroll.IQMUIContinuousNestedTopView getDelegateView() -> getDelegateView
+ 250:250:android.view.View getFooterView() -> getFooterView
+ 246:246:android.view.View getHeaderView() -> getHeaderView
+ 607:607:int getNestedScrollAxes() -> getNestedScrollAxes
+ 370:374:int getScrollOffsetRange() -> getScrollOffsetRange
+ 426:426:boolean hasNestedScrollingParent(int) -> hasNestedScrollingParent
+ 466:466:boolean hasNestedScrollingParent() -> hasNestedScrollingParent
+ 379:393:void injectScrollNotifier(com.qmuiteam.qmui.nestedScroll.IQMUIContinuousNestedScrollCommon$OnScrollNotifier) -> injectScrollNotifier
+ 451:451:boolean isNestedScrollingEnabled() -> isNestedScrollingEnabled
+ 224:239:void offsetTo(int) -> offsetTo
+ 135:179:void onLayout(boolean,int,int,int,int) -> onLayout
+ 107:131:void onMeasure(int,int) -> onMeasure
+ 597:597:boolean onNestedFling(android.view.View,float,float,boolean) -> onNestedFling
+ 602:602:boolean onNestedPreFling(android.view.View,float,float) -> onNestedPreFling
+ 540:564:void onNestedPreScroll(android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 592:593:void onNestedPreScroll(android.view.View,int,int,int[]) -> onNestedPreScroll
+ 515:535:void onNestedScroll(android.view.View,int,int,int,int,int) -> onNestedScroll
+ 586:588:void onNestedScroll(android.view.View,int,int,int,int) -> onNestedScroll
+ 502:504:void onNestedScrollAccepted(android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 575:576:void onNestedScrollAccepted(android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 496:496:boolean onStartNestedScroll(android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 570:570:boolean onStartNestedScroll(android.view.View,android.view.View,int) -> onStartNestedScroll
+ 508:510:void onStopNestedScroll(android.view.View,int) -> onStopNestedScroll
+ 580:581:void onStopNestedScroll(android.view.View) -> onStopNestedScroll
+ 182:184:void postCheckLayout() -> postCheckLayout
+ 86:97:void setDelegateView(com.qmuiteam.qmui.nestedScroll.IQMUIContinuousNestedTopView) -> setDelegateView
+ 100:103:void setFooterView(android.view.View) -> setFooterView
+ 80:83:void setHeaderView(android.view.View) -> setHeaderView
+ 446:447:void setNestedScrollingEnabled(boolean) -> setNestedScrollingEnabled
+ 416:416:boolean startNestedScroll(int,int) -> startNestedScroll
+ 456:456:boolean startNestedScroll(int) -> startNestedScroll
+ 421:422:void stopNestedScroll(int) -> stopNestedScroll
+ 461:462:void stopNestedScroll() -> stopNestedScroll
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopDelegateLayout$1 -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopDelegateLayout$1:
+ 53:53:void <init>(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopDelegateLayout) -> <init>
+ 56:57:void run() -> run
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopDelegateLayout$2 -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopDelegateLayout$2:
+ 381:381:void <init>(com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopDelegateLayout,com.qmuiteam.qmui.nestedScroll.IQMUIContinuousNestedScrollCommon$OnScrollNotifier) -> <init>
+ 384:385:void notify(int,int) -> notify
+ 390:390:void onScrollStateChange(android.view.View,int) -> onScrollStateChange
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopLinearLayout -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopLinearLayout:
+ 31:32:void <init>(android.content.Context) -> <init>
+ 35:36:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 39:40:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 45:45:int consumeScroll(int) -> consumeScroll
+ 50:50:int getCurrentScroll() -> getCurrentScroll
+ 55:55:int getScrollOffsetRange() -> getScrollOffsetRange
+ 61:61:void injectScrollNotifier(com.qmuiteam.qmui.nestedScroll.IQMUIContinuousNestedScrollCommon$OnScrollNotifier) -> injectScrollNotifier
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopRecyclerView -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopRecyclerView:
+ 38:40:void <init>(android.content.Context) -> <init>
+ 43:45:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 35:50:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 58:85:int consumeScroll(int) -> consumeScroll
+ 90:90:int getCurrentScroll() -> getCurrentScroll
+ 95:95:int getScrollOffsetRange() -> getScrollOffsetRange
+ 53:54:void init() -> init
+ 100:101:void injectScrollNotifier(com.qmuiteam.qmui.nestedScroll.IQMUIContinuousNestedScrollCommon$OnScrollNotifier) -> injectScrollNotifier
+ 105:109:void onScrolled(int,int) -> onScrolled
+com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopWebView -> com.qmuiteam.qmui.nestedScroll.QMUIContinuousNestedTopWebView:
+ 35:37:void <init>(android.content.Context) -> <init>
+ 40:42:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 45:47:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 56:67:int consumeScroll(int) -> consumeScroll
+ 72:74:int getCurrentScroll() -> getCurrentScroll
+ 79:79:int getScrollOffsetRange() -> getScrollOffsetRange
+ 50:51:void init() -> init
+ 84:85:void injectScrollNotifier(com.qmuiteam.qmui.nestedScroll.IQMUIContinuousNestedScrollCommon$OnScrollNotifier) -> injectScrollNotifier
+ 89:93:void onScrollChanged(int,int,int,int) -> onScrollChanged
+com.qmuiteam.qmui.nestedScroll.QMUIDraggableScrollBar -> com.qmuiteam.qmui.nestedScroll.QMUIDraggableScrollBar:
+ 78:79:void <init>(android.content.Context) -> <init>
+ 53:88:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 190:198:void awakenScrollBar() -> awakenScrollBar
+ 274:274:int getScrollBarBottomMargin() -> getScrollBarBottomMargin
+ 270:270:int getScrollBarTopMargin() -> getScrollBarTopMargin
+ 181:187:void onDragging(android.graphics.drawable.Drawable,float) -> onDragging
+ 202:267:void onDraw(android.graphics.Canvas) -> onDraw
+ 132:139:void onMeasure(int,int) -> onMeasure
+ 143:177:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 95:96:void setAdjustDistanceWithAnimation(boolean) -> setAdjustDistanceWithAnimation
+ 91:92:void setCallback(com.qmuiteam.qmui.nestedScroll.QMUIDraggableScrollBar$Callback) -> setCallback
+ 115:117:void setDragDrawable(android.graphics.drawable.Drawable) -> setDragDrawable
+ 107:108:void setEnableFadeInAndOut(boolean) -> setEnableFadeInAndOut
+ 99:100:void setKeepShownTime(int) -> setKeepShownTime
+ 120:123:void setPercent(float) -> setPercent
+ 126:128:void setPercentInternal(float) -> setPercentInternal
+ 103:104:void setTransitionDuration(int) -> setTransitionDuration
+com.qmuiteam.qmui.nestedScroll.QMUIDraggableScrollBar$1 -> com.qmuiteam.qmui.nestedScroll.QMUIDraggableScrollBar$1:
+ 62:62:void <init>(com.qmuiteam.qmui.nestedScroll.QMUIDraggableScrollBar) -> <init>
+ 65:66:void run() -> run
+com.qmuiteam.qmui.nestedScroll.QMUIViewOffsetBehavior -> com.qmuiteam.qmui.nestedScroll.QMUIViewOffsetBehavior:
+ 47:51:void <init>() -> <init>
+ 47:55:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 117:120:int getLayoutTop() -> getLayoutTop
+ 103:103:int getTopAndBottomOffset() -> getTopAndBottomOffset
+ 81:82:void layoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> layoutChild
+ 60:76:boolean onLayoutChild(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,int) -> onLayoutChild
+ 85:90:boolean setTopAndBottomOffset(int) -> setTopAndBottomOffset
+com.qmuiteam.qmui.qqface.QMUINoQQFaceManager -> com.qmuiteam.qmui.qqface.QMUINoQQFaceManager:
+ 20:20:void <init>() -> <init>
+ 44:44:int getDoubleUnicodeEmoji(int,int) -> getDoubleUnicodeEmoji
+ 39:39:int getEmojiResource(int) -> getEmojiResource
+ 49:49:int getQQfaceResource(java.lang.CharSequence) -> getQQfaceResource
+ 29:29:int getSoftbankEmojiResource(char) -> getSoftbankEmojiResource
+ 54:54:android.graphics.drawable.Drawable getSpecialBoundsDrawable(java.lang.CharSequence) -> getSpecialBoundsDrawable
+ 59:59:int getSpecialDrawableMaxHeight() -> getSpecialDrawableMaxHeight
+ 34:34:boolean maybeEmoji(int) -> maybeEmoji
+ 24:24:boolean maybeSoftBankEmoji(char) -> maybeSoftBankEmoji
+com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler -> com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler:
+ 45:46:void <clinit>() -> <clinit>
+ 72:75:void <init>(com.qmuiteam.qmui.qqface.IQMUIQQFaceManager) -> <init>
+ 43:43:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementList access$000(com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler,java.lang.CharSequence,int,int,boolean) -> access$000
+ 82:85:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementList compile(java.lang.CharSequence) -> compile
+ 89:89:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementList compile(java.lang.CharSequence,int,int) -> compile
+ 93:148:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementList compile(java.lang.CharSequence,int,int,boolean) -> compile
+ 58:58:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler getDefaultInstance() -> getDefaultInstance
+ 63:69:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler getInstance(com.qmuiteam.qmui.qqface.IQMUIQQFaceManager) -> getInstance
+ 78:78:int getSpecialBoundsMaxHeight() -> getSpecialBoundsMaxHeight
+ 157:279:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementList realCompile(java.lang.CharSequence,int,int,com.qmuiteam.qmui.span.QMUITouchableSpan[],int[]) -> realCompile
+com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$1 -> com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$1:
+ 117:117:void <init>(com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler,android.text.Spannable) -> <init>
+ 117:117:int compare(java.lang.Object,java.lang.Object) -> compare
+ 120:127:int compare(com.qmuiteam.qmui.span.QMUITouchableSpan,com.qmuiteam.qmui.span.QMUITouchableSpan) -> compare
+com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$Element -> com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$Element:
+ 290:290:void <init>() -> <init>
+ 330:333:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$Element createDrawableElement(int) -> createDrawableElement
+ 354:356:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$Element createNextLineElement() -> createNextLineElement
+ 337:340:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$Element createSpeaicalBoundsDrawableElement(android.graphics.drawable.Drawable) -> createSpeaicalBoundsDrawableElement
+ 323:326:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$Element createTextElement(java.lang.CharSequence) -> createTextElement
+ 346:350:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$Element createTouchSpanElement(java.lang.CharSequence,com.qmuiteam.qmui.span.QMUITouchableSpan,com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler) -> createTouchSpanElement
+ 311:311:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementList getChildList() -> getChildList
+ 307:307:int getDrawableRes() -> getDrawableRes
+ 319:319:android.graphics.drawable.Drawable getSpecialBoundsDrawable() -> getSpecialBoundsDrawable
+ 303:303:java.lang.CharSequence getText() -> getText
+ 315:315:com.qmuiteam.qmui.span.QMUITouchableSpan getTouchableSpan() -> getTouchableSpan
+ 299:299:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementType getType() -> getType
+com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementList -> com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementList:
+ 364:372:void <init>(int,int) -> <init>
+ 391:403:void add(com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$Element) -> add
+ 406:406:java.util.List getElements() -> getElements
+ 379:379:int getEnd() -> getEnd
+ 383:383:int getNewLineCount() -> getNewLineCount
+ 387:387:int getQQFaceCount() -> getQQFaceCount
+ 375:375:int getStart() -> getStart
+com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementType -> com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementType:
+ 282:287:void <clinit>() -> <clinit>
+ 282:282:void <init>(java.lang.String,int) -> <init>
+ 282:282:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementType valueOf(java.lang.String) -> valueOf
+ 282:282:com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler$ElementType[] values() -> values
+com.qmuiteam.qmui.qqface.QMUIQQFaceView -> com.qmuiteam.qmui.qqface.QMUIQQFaceView:
+ 115:116:void <init>(android.content.Context) -> <init>
+ 119:120:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 71:1406:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 66:66:com.qmuiteam.qmui.qqface.QMUIQQFaceView$PressCancelAction access$000(com.qmuiteam.qmui.qqface.QMUIQQFaceView) -> access$000
+ 66:66:int access$100(com.qmuiteam.qmui.qqface.QMUIQQFaceView) -> access$100
+ 66:66:int access$200(com.qmuiteam.qmui.qqface.QMUIQQFaceView) -> access$200
+ 594:615:int calculateFontHeight() -> calculateFontHeight
+ 651:682:int calculateLinesAndContentWidth(int) -> calculateLinesAndContentWidth
+ 698:753:void calculateLinesInner(java.util.List,int) -> calculateLinesInner
+ 686:694:void calculateNeedDrawLine(int) -> calculateNeedDrawLine
+ 917:975:void drawElements(android.graphics.Canvas,java.util.List,int) -> drawElements
+ 978:1026:void drawMoreActionText(android.graphics.Canvas,int) -> drawMoreActionText
+ 1460:1512:void drawQQFace(android.graphics.Canvas,int,android.graphics.drawable.Drawable,int,boolean,boolean) -> drawQQFace
+ 1289:1321:void drawText(android.graphics.Canvas,java.lang.CharSequence,int,int,int) -> drawText
+ 619:619:int getFontHeight() -> getFontHeight
+ 631:631:int getFontHeightCalBottom(android.graphics.Paint$FontMetricsInt,boolean) -> getFontHeightCalBottom
+ 627:627:int getFontHeightCalTop(android.graphics.Paint$FontMetricsInt,boolean) -> getFontHeightCalTop
+ 182:182:int getGravity() -> getGravity
+ 459:459:int getLineCount() -> getLineCount
+ 623:623:int getLineSpace() -> getLineSpace
+ 455:455:int getMaxLine() -> getMaxLine
+ 193:193:int getMaxWidth() -> getMaxWidth
+ 1103:1108:int getMiddleEllipsizeLine() -> getMiddleEllipsizeLine
+ 516:516:android.graphics.Rect getMoreHitRect() -> getMoreHitRect
+ 486:486:android.text.TextPaint getPaint() -> getPaint
+ 507:507:java.lang.CharSequence getText() -> getText
+ 503:503:int getTextSize() -> getTextSize
+ 766:767:void gotoCalNextLine(int) -> gotoCalNextLine
+ 770:782:void gotoCalNextLine(int,boolean) -> gotoCalNextLine
+ 1410:1447:void handleQQFaceAfterMiddleEllipsize(android.graphics.Canvas,int,android.graphics.drawable.Drawable,int,int,int,boolean,boolean) -> handleQQFaceAfterMiddleEllipsize
+ 1243:1286:void handleTextAfterMiddleEllipsize(android.graphics.Canvas,java.lang.CharSequence,float[],int,int,int,int) -> handleTextAfterMiddleEllipsize
+ 756:758:boolean isElementEmpty() -> isElementEmpty
+ 397:402:void measureMoreActionTextLength() -> measureMoreActionTextLength
+ 786:809:void measureText(java.lang.CharSequence,int,int) -> measureText
+ 886:896:void onDraw(android.graphics.Canvas) -> onDraw
+ 1324:1404:void onDrawQQFace(android.graphics.Canvas,int,android.graphics.drawable.Drawable,int,int,boolean,boolean) -> onDrawQQFace
+ 1116:1239:void onDrawText(android.graphics.Canvas,java.lang.CharSequence,float[],int,int,int) -> onDrawText
+ 817:882:void onMeasure(int,int) -> onMeasure
+ 1451:1457:void onRealDrawQQFace(android.graphics.Canvas,int,android.graphics.drawable.Drawable,int,int,int,boolean,boolean) -> onRealDrawQQFace
+ 1084:1099:void onRealDrawText(android.graphics.Canvas,java.lang.CharSequence,float[],int,int,int) -> onRealDrawText
+ 200:288:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 899:907:void pickTextPaintColor() -> pickTextPaintColor
+ 292:296:void setCompiler(com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler) -> setCompiler
+ 762:763:void setContentCalMaxWidth(int) -> setContentCalMaxWidth
+ 439:444:void setEllipsize(android.text.TextUtils$TruncateAt) -> setEllipsize
+ 178:179:void setGravity(int) -> setGravity
+ 413:419:void setIncludeFontPadding(boolean) -> setIncludeFontPadding
+ 431:436:void setLineSpace(int) -> setLineSpace
+ 350:351:void setLinkUnderLineColor(int) -> setLinkUnderLineColor
+ 354:358:void setLinkUnderLineColor(android.content.res.ColorStateList) -> setLinkUnderLineColor
+ 361:365:void setLinkUnderLineHeight(int) -> setLinkUnderLineHeight
+ 812:813:void setListener(com.qmuiteam.qmui.qqface.QMUIQQFaceView$QQFaceViewListener) -> setListener
+ 447:452:void setMaxLine(int) -> setMaxLine
+ 186:190:void setMaxWidth(int) -> setMaxWidth
+ 386:387:void setMoreActionBgColor(int) -> setMoreActionBgColor
+ 390:394:void setMoreActionBgColor(android.content.res.ColorStateList) -> setMoreActionBgColor
+ 375:376:void setMoreActionColor(int) -> setMoreActionColor
+ 379:383:void setMoreActionColor(android.content.res.ColorStateList) -> setMoreActionColor
+ 341:347:void setMoreActionText(java.lang.String) -> setMoreActionText
+ 368:372:void setNeedUnderlineForMoreText(boolean) -> setNeedUnderlineForMoreText
+ 174:175:void setOpenQQFace(boolean) -> setOpenQQFace
+ 636:640:void setPadding(int,int,int,int) -> setPadding
+ 333:338:void setParagraphSpace(int) -> setParagraphSpace
+ 422:428:void setQQFaceSizeAddon(int) -> setQQFaceSizeAddon
+ 467:472:void setSingleLine(boolean) -> setSingleLine
+ 405:410:void setSpecialDrawablePadding(int) -> setSpecialDrawablePadding
+ 1066:1081:void setStartDrawUsedWidth(int,int) -> setStartDrawUsedWidth
+ 520:521:void setText(java.lang.CharSequence) -> setText
+ 524:589:void setText(java.lang.CharSequence,boolean) -> setText
+ 475:476:void setTextColor(int) -> setTextColor
+ 479:483:void setTextColor(android.content.res.ColorStateList) -> setTextColor
+ 490:500:void setTextSize(int) -> setTextSize
+ 299:306:void setTypeface(android.graphics.Typeface) -> setTypeface
+ 1029:1030:void toNewDrawLine(int,int) -> toNewDrawLine
+ 1036:1063:void toNewDrawLine(int,boolean,int) -> toNewDrawLine
+com.qmuiteam.qmui.qqface.QMUIQQFaceView$1 -> com.qmuiteam.qmui.qqface.QMUIQQFaceView$1:
+ 268:268:void <init>(com.qmuiteam.qmui.qqface.QMUIQQFaceView) -> <init>
+ 271:274:void run() -> run
+com.qmuiteam.qmui.qqface.QMUIQQFaceView$PressCancelAction -> com.qmuiteam.qmui.qqface.QMUIQQFaceView$PressCancelAction:
+ 1600:1602:void <init>(com.qmuiteam.qmui.qqface.QMUIQQFaceView$SpanInfo) -> <init>
+ 1606:1611:void run() -> run
+com.qmuiteam.qmui.qqface.QMUIQQFaceView$SpanInfo -> com.qmuiteam.qmui.qqface.QMUIQQFaceView$SpanInfo:
+ 1517:1524:void <init>(com.qmuiteam.qmui.qqface.QMUIQQFaceView,com.qmuiteam.qmui.link.ITouchableSpan) -> <init>
+ 1545:1561:void invalidateSpan() -> invalidateSpan
+ 1541:1542:void onClick() -> onClick
+ 1565:1591:boolean onTouch(int,int) -> onTouch
+ 1536:1538:void setEnd(int,int) -> setEnd
+ 1532:1533:void setPressed(boolean) -> setPressed
+ 1527:1529:void setStart(int,int) -> setStart
+com.qmuiteam.qmui.recyclerView.QMUIRVDraggableScrollBar -> com.qmuiteam.qmui.recyclerView.QMUIRVDraggableScrollBar:
+ 462:468:float calculatePercent(androidx.recyclerview.widget.RecyclerView) -> calculatePercent
+ 389:414:void drawScrollBar(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView) -> drawScrollBar
+ 472:476:android.graphics.drawable.Drawable ensureScrollBar(android.content.Context) -> ensureScrollBar
+ 455:458:int getCurrentOffset(androidx.recyclerview.widget.RecyclerView) -> getCurrentOffset
+ 447:450:int getScrollRange(androidx.recyclerview.widget.RecyclerView) -> getScrollRange
+ 417:420:int getUsefulSpace(androidx.recyclerview.widget.RecyclerView) -> getUsefulSpace
+ 484:493:void handle(androidx.recyclerview.widget.RecyclerView,com.qmuiteam.qmui.skin.QMUISkinManager,int,android.content.res.Resources$Theme) -> handle
+ 190:195:void invalidate() -> invalidate
+ 424:427:boolean needDrawScrollBar(androidx.recyclerview.widget.RecyclerView) -> needDrawScrollBar
+ 379:379:void onDraw(android.graphics.Canvas,com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout) -> onDraw
+ 371:374:void onDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDrawOver
+ 383:386:void onDrawOver(android.graphics.Canvas,com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout) -> onDrawOver
+ 431:444:void setScrollBarBounds(androidx.recyclerview.widget.RecyclerView,android.graphics.drawable.Drawable) -> setScrollBarBounds
+ 198:206:void setScrollBarDrawable(android.graphics.drawable.Drawable) -> setScrollBarDrawable
+com.qmuiteam.qmui.recyclerView.QMUIRVItemSwipeAction -> com.qmuiteam.qmui.recyclerView.QMUIRVItemSwipeAction:
+ 728:776:int checkSwipe(androidx.recyclerview.widget.RecyclerView$ViewHolder,int,boolean) -> checkSwipe
+ 814:826:void endRecoverAnimation(androidx.recyclerview.widget.RecyclerView$ViewHolder,boolean) -> endRecoverAnimation
+ 682:692:void getSelectedDxDy(float[]) -> getSelectedDxDy
+ 392:392:void onChildViewAttachedToWindow(android.view.View) -> onChildViewAttachedToWindow
+ 396:408:void onChildViewDetachedFromWindow(android.view.View) -> onChildViewDetachedFromWindow
+ 380:387:void onDraw(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDraw
+ 369:376:void onDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDrawOver
+ 581:582:void select(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> select
+ 585:678:void select(androidx.recyclerview.widget.RecyclerView$ViewHolder,boolean) -> select
+com.qmuiteam.qmui.recyclerView.QMUIRVItemSwipeAction$RecoverAnimation -> com.qmuiteam.qmui.recyclerView.QMUIRVItemSwipeAction$RecoverAnimation:
+ 944:945:void cancel() -> cancel
+ 983:984:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 975:979:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 989:989:void onAnimationRepeat(android.animation.Animator) -> onAnimationRepeat
+ 971:971:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+ 948:949:void setFraction(float) -> setFraction
+com.qmuiteam.qmui.skin.QMUISkinHelper -> com.qmuiteam.qmui.skin.QMUISkinHelper:
+ 36:36:void <clinit>() -> <clinit>
+ 50:50:int getSkinColor(android.view.View,int) -> getSkinColor
+ 54:54:android.content.res.ColorStateList getSkinColorStateList(android.view.View,int) -> getSkinColorStateList
+ 59:59:android.graphics.drawable.Drawable getSkinDrawable(android.view.View,int) -> getSkinDrawable
+ 39:46:android.content.res.Resources$Theme getSkinTheme(android.view.View) -> getSkinTheme
+ 81:85:void refreshRVItemDecoration(androidx.recyclerview.widget.RecyclerView,com.qmuiteam.qmui.skin.IQMUISkinHandlerDecoration) -> refreshRVItemDecoration
+ 96:100:void refreshViewSkin(android.view.View) -> refreshViewSkin
+ 114:115:void setSkinDefaultProvider(android.view.View,com.qmuiteam.qmui.skin.defaultAttr.IQMUISkinDefaultAttrProvider) -> setSkinDefaultProvider
+ 64:65:void setSkinValue(android.view.View,com.qmuiteam.qmui.skin.QMUISkinValueBuilder) -> setSkinValue
+ 68:71:void setSkinValue(android.view.View,java.lang.String) -> setSkinValue
+ 139:141:void warnRuleNotSupport(android.view.View,java.lang.String) -> warnRuleNotSupport
+com.qmuiteam.qmui.skin.QMUISkinLayoutInflaterFactory -> com.qmuiteam.qmui.skin.QMUISkinLayoutInflaterFactory:
+ 41:53:void <clinit>() -> <clinit>
+ 59:62:void <init>(android.app.Activity,android.view.LayoutInflater) -> <init>
+ 65:68:com.qmuiteam.qmui.skin.QMUISkinLayoutInflaterFactory cloneForLayoutInflaterIfNeeded(android.view.LayoutInflater) -> cloneForLayoutInflaterIfNeeded
+ 156:222:void getSkinValueFromAttributeSet(android.content.Context,android.util.AttributeSet,com.qmuiteam.qmui.skin.QMUISkinValueBuilder) -> getSkinValueFromAttributeSet
+ 73:133:android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 151:151:android.view.View onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 139:146:android.view.View originCreateViewForLowSDK(java.lang.String,android.content.Context,android.util.AttributeSet) -> originCreateViewForLowSDK
+com.qmuiteam.qmui.skin.QMUISkinManager -> com.qmuiteam.qmui.skin.QMUISkinManager:
+ 75:194:void <clinit>() -> <clinit>
+ 129:500:void <init>(java.lang.String,android.content.res.Resources,java.lang.String) -> <init>
+ 72:72:java.util.HashMap access$000() -> access$000
+ 72:72:android.content.res.Resources access$100(com.qmuiteam.qmui.skin.QMUISkinManager) -> access$100
+ 342:370:void applyTheme(android.view.View,int,android.content.res.Resources$Theme) -> applyTheme
+ 585:593:boolean containSkinObserver(java.lang.Object) -> containSkinObserver
+ 402:411:void defaultHandleSkinAttr(android.view.View,android.content.res.Resources$Theme,java.lang.String,int) -> defaultHandleSkinAttr
+ 389:399:void defaultHandleSkinAttrs(android.view.View,android.content.res.Resources$Theme,androidx.collection.SimpleArrayMap) -> defaultHandleSkinAttrs
+ 266:286:void dispatch(android.view.View,int) -> dispatch
+ 470:470:int getAttrFromName(java.lang.String) -> getAttrFromName
+ 415:466:androidx.collection.SimpleArrayMap getSkinAttrs(android.view.View) -> getSkinAttrs
+ 225:229:android.content.res.Resources$Theme getTheme(int) -> getTheme
+ 258:262:com.qmuiteam.qmui.skin.QMUISkinManager$ViewSkinCurrent getViewSkinCurrent(android.view.View) -> getViewSkinCurrent
+ 109:114:com.qmuiteam.qmui.skin.QMUISkinManager of(java.lang.String,android.content.res.Resources,java.lang.String) -> of
+ 119:120:com.qmuiteam.qmui.skin.QMUISkinManager of(java.lang.String,android.content.Context) -> of
+ 375:379:void refreshRecyclerDecoration(androidx.recyclerview.widget.RecyclerView,com.qmuiteam.qmui.skin.IQMUISkinHandlerDecoration,int) -> refreshRecyclerDecoration
+ 382:386:void refreshTheme(android.view.View,int) -> refreshTheme
+ 536:543:void register(android.app.Dialog) -> register
+ 572:581:void removeSkinObserver(java.lang.Object) -> removeSkinObserver
+ 290:339:void runDispatch(android.view.View,int,android.content.res.Resources$Theme) -> runDispatch
+ 546:547:void unRegister(android.app.Dialog) -> unRegister
+com.qmuiteam.qmui.skin.QMUISkinManager$1 -> com.qmuiteam.qmui.skin.QMUISkinManager$1:
+ 78:78:void <init>() -> <init>
+ 82:88:com.qmuiteam.qmui.skin.QMUISkinManager$DispatchListenStrategy select(android.view.ViewGroup) -> select
+com.qmuiteam.qmui.skin.QMUISkinManager$2 -> com.qmuiteam.qmui.skin.QMUISkinManager$2:
+ 168:168:void <init>() -> <init>
+ 173:190:void onLayoutChange(android.view.View,int,int,int,int,int,int,int,int) -> onLayoutChange
+com.qmuiteam.qmui.skin.QMUISkinManager$3 -> com.qmuiteam.qmui.skin.QMUISkinManager$3:
+ 194:194:void <init>() -> <init>
+ 197:204:void onChildViewAdded(android.view.View,android.view.View) -> onChildViewAdded
+ 209:209:void onChildViewRemoved(android.view.View,android.view.View) -> onChildViewRemoved
+com.qmuiteam.qmui.skin.QMUISkinManager$DispatchListenStrategy -> com.qmuiteam.qmui.skin.QMUISkinManager$DispatchListenStrategy:
+ 690:692:void <clinit>() -> <clinit>
+ 690:690:void <init>(java.lang.String,int) -> <init>
+ 690:690:com.qmuiteam.qmui.skin.QMUISkinManager$DispatchListenStrategy valueOf(java.lang.String) -> valueOf
+ 690:690:com.qmuiteam.qmui.skin.QMUISkinManager$DispatchListenStrategy[] values() -> values
+com.qmuiteam.qmui.skin.QMUISkinManager$SkinItem -> com.qmuiteam.qmui.skin.QMUISkinManager$SkinItem:
+ 486:492:android.content.res.Resources$Theme getTheme() -> getTheme
+com.qmuiteam.qmui.skin.QMUISkinManager$ViewSkinCurrent -> com.qmuiteam.qmui.skin.QMUISkinManager$ViewSkinCurrent:
+ 665:668:void <init>(com.qmuiteam.qmui.skin.QMUISkinManager,java.lang.String,int) -> <init>
+ 672:676:boolean equals(java.lang.Object) -> equals
+ 681:681:int hashCode() -> hashCode
+com.qmuiteam.qmui.skin.QMUISkinValueBuilder -> com.qmuiteam.qmui.skin.QMUISkinValueBuilder:
+ 69:73:void <init>() -> <init>
+ 49:56:com.qmuiteam.qmui.skin.QMUISkinValueBuilder acquire() -> acquire
+ 256:257:com.qmuiteam.qmui.skin.QMUISkinValueBuilder alpha(int) -> alpha
+ 76:77:com.qmuiteam.qmui.skin.QMUISkinValueBuilder background(int) -> background
+ 276:277:com.qmuiteam.qmui.skin.QMUISkinValueBuilder bgTintColor(int) -> bgTintColor
+ 206:207:com.qmuiteam.qmui.skin.QMUISkinValueBuilder border(int) -> border
+ 236:237:com.qmuiteam.qmui.skin.QMUISkinValueBuilder bottomSeparator(int) -> bottomSeparator
+ 327:342:java.lang.String build() -> build
+ 306:307:com.qmuiteam.qmui.skin.QMUISkinValueBuilder clear() -> clear
+ 176:177:com.qmuiteam.qmui.skin.QMUISkinValueBuilder hintColor(int) -> hintColor
+ 323:323:boolean isEmpty() -> isEmpty
+ 246:247:com.qmuiteam.qmui.skin.QMUISkinValueBuilder leftSeparator(int) -> leftSeparator
+ 106:107:com.qmuiteam.qmui.skin.QMUISkinValueBuilder moreBgColor(int) -> moreBgColor
+ 96:97:com.qmuiteam.qmui.skin.QMUISkinValueBuilder moreTextColor(int) -> moreTextColor
+ 186:187:com.qmuiteam.qmui.skin.QMUISkinValueBuilder progressColor(int) -> progressColor
+ 60:67:void release(com.qmuiteam.qmui.skin.QMUISkinValueBuilder) -> release
+ 346:347:void release() -> release
+ 226:227:com.qmuiteam.qmui.skin.QMUISkinValueBuilder rightSeparator(int) -> rightSeparator
+ 286:287:com.qmuiteam.qmui.skin.QMUISkinValueBuilder secondTextColor(int) -> secondTextColor
+ 196:197:com.qmuiteam.qmui.skin.QMUISkinValueBuilder src(int) -> src
+ 166:167:com.qmuiteam.qmui.skin.QMUISkinValueBuilder textColor(int) -> textColor
+ 146:147:com.qmuiteam.qmui.skin.QMUISkinValueBuilder textCompoundBottomSrc(int) -> textCompoundBottomSrc
+ 156:157:com.qmuiteam.qmui.skin.QMUISkinValueBuilder textCompoundLeftSrc(int) -> textCompoundLeftSrc
+ 136:137:com.qmuiteam.qmui.skin.QMUISkinValueBuilder textCompoundRightSrc(int) -> textCompoundRightSrc
+ 116:117:com.qmuiteam.qmui.skin.QMUISkinValueBuilder textCompoundTintColor(int) -> textCompoundTintColor
+ 126:127:com.qmuiteam.qmui.skin.QMUISkinValueBuilder textCompoundTopSrc(int) -> textCompoundTopSrc
+ 266:267:com.qmuiteam.qmui.skin.QMUISkinValueBuilder tintColor(int) -> tintColor
+ 216:217:com.qmuiteam.qmui.skin.QMUISkinValueBuilder topSeparator(int) -> topSeparator
+ 86:87:com.qmuiteam.qmui.skin.QMUISkinValueBuilder underline(int) -> underline
+com.qmuiteam.qmui.skin.defaultAttr.QMUISkinSimpleDefaultAttrProvider -> com.qmuiteam.qmui.skin.defaultAttr.QMUISkinSimpleDefaultAttrProvider:
+ 20:22:void <init>() -> <init>
+ 30:30:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 25:26:void setDefaultSkinAttr(java.lang.String,int) -> setDefaultSkinAttr
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleAlphaHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleAlphaHandler:
+ 22:22:void <init>() -> <init>
+ 26:27:void handle(android.view.View,java.lang.String,float) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleBackgroundHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleBackgroundHandler:
+ 31:31:void <init>() -> <init>
+ 35:46:void handle(com.qmuiteam.qmui.skin.QMUISkinManager,android.view.View,android.content.res.Resources$Theme,java.lang.String,int) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleBgTintColorHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleBgTintColorHandler:
+ 27:27:void <init>() -> <init>
+ 31:36:void handle(android.view.View,java.lang.String,android.content.res.ColorStateList) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleBorderHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleBorderHandler:
+ 29:29:void <init>() -> <init>
+ 33:47:void handle(android.view.View,java.lang.String,android.content.res.ColorStateList) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleColorHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleColorHandler:
+ 28:28:void <init>() -> <init>
+ 32:33:void handle(com.qmuiteam.qmui.skin.QMUISkinManager,android.view.View,android.content.res.Resources$Theme,java.lang.String,int) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleColorStateListHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleColorStateListHandler:
+ 29:29:void <init>() -> <init>
+ 33:34:void handle(com.qmuiteam.qmui.skin.QMUISkinManager,android.view.View,android.content.res.Resources$Theme,java.lang.String,int) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleDrawableHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleDrawableHandler:
+ 29:29:void <init>() -> <init>
+ 35:36:void handle(com.qmuiteam.qmui.skin.QMUISkinManager,android.view.View,android.content.res.Resources$Theme,java.lang.String,int) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleFloatHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleFloatHandler:
+ 28:28:void <init>() -> <init>
+ 32:33:void handle(com.qmuiteam.qmui.skin.QMUISkinManager,android.view.View,android.content.res.Resources$Theme,java.lang.String,int) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleHintColorHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleHintColorHandler:
+ 13:13:void <init>() -> <init>
+ 16:25:void handle(android.view.View,java.lang.String,android.content.res.ColorStateList) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleMoreBgColorHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleMoreBgColorHandler:
+ 26:26:void <init>() -> <init>
+ 30:35:void handle(android.view.View,java.lang.String,android.content.res.ColorStateList) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleMoreTextColorHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleMoreTextColorHandler:
+ 26:26:void <init>() -> <init>
+ 30:35:void handle(android.view.View,java.lang.String,android.content.res.ColorStateList) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleProgressColorHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleProgressColorHandler:
+ 26:26:void <init>() -> <init>
+ 30:37:void handle(android.view.View,java.lang.String,int) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleSeparatorHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleSeparatorHandler:
+ 26:26:void <init>() -> <init>
+ 30:43:void handle(android.view.View,java.lang.String,int) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleSrcHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleSrcHandler:
+ 27:27:void <init>() -> <init>
+ 32:39:void handle(android.view.View,java.lang.String,android.graphics.drawable.Drawable) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleTextColorHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleTextColorHandler:
+ 28:28:void <init>() -> <init>
+ 32:44:void handle(android.view.View,java.lang.String,android.content.res.ColorStateList) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleTextCompoundSrcHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleTextCompoundSrcHandler:
+ 12:12:void <init>() -> <init>
+ 15:34:void handle(android.view.View,java.lang.String,android.graphics.drawable.Drawable) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleTextCompoundTintColorHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleTextCompoundTintColorHandler:
+ 16:16:void <init>() -> <init>
+ 20:44:void handle(android.view.View,java.lang.String,android.content.res.ColorStateList) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleTintColorHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleTintColorHandler:
+ 33:33:void <init>() -> <init>
+ 37:51:void handle(android.view.View,java.lang.String,android.content.res.ColorStateList) -> handle
+com.qmuiteam.qmui.skin.handler.QMUISkinRuleUnderlineHandler -> com.qmuiteam.qmui.skin.handler.QMUISkinRuleUnderlineHandler:
+ 28:28:void <init>() -> <init>
+ 32:37:void handle(android.view.View,java.lang.String,android.content.res.ColorStateList) -> handle
+com.qmuiteam.qmui.span.QMUIAlignMiddleImageSpan -> com.qmuiteam.qmui.span.QMUIAlignMiddleImageSpan:
+ 66:67:void <init>(android.graphics.drawable.Drawable,int) -> <init>
+ 50:80:void <init>(android.graphics.drawable.Drawable,int,float) -> <init>
+ 109:131:void draw(android.graphics.Canvas,java.lang.CharSequence,int,int,float,int,int,int,android.graphics.Paint) -> draw
+ 93:103:int getSize(android.graphics.Paint,java.lang.CharSequence,int,int,android.graphics.Paint$FontMetricsInt) -> getSize
+ 142:146:void handle(android.view.View,com.qmuiteam.qmui.skin.QMUISkinManager,int,android.content.res.Resources$Theme) -> handle
+ 137:138:void setAvoidSuperChangeFontMetrics(boolean) -> setAvoidSuperChangeFontMetrics
+ 83:89:void setSkinSupportWithTintColor(android.view.View,int) -> setSkinSupportWithTintColor
+com.qmuiteam.qmui.span.QMUIMarginImageSpan -> com.qmuiteam.qmui.span.QMUIMarginImageSpan:
+ 32:45:void <init>(android.graphics.drawable.Drawable,int,int,int,int) -> <init>
+ 61:66:void draw(android.graphics.Canvas,java.lang.CharSequence,int,int,float,int,int,int,android.graphics.Paint) -> draw
+ 49:54:int getSize(android.graphics.Paint,java.lang.CharSequence,int,int,android.graphics.Paint$FontMetricsInt) -> getSize
+com.qmuiteam.qmui.span.QMUITouchableSpan -> com.qmuiteam.qmui.span.QMUITouchableSpan:
+ 99:99:int getNormalBackgroundColor() -> getNormalBackgroundColor
+ 111:111:int getNormalTextColor() -> getNormalTextColor
+ 115:115:int getPressedBackgroundColor() -> getPressedBackgroundColor
+ 119:119:int getPressedTextColor() -> getPressedTextColor
+ 148:169:void handle(android.view.View,com.qmuiteam.qmui.skin.QMUISkinManager,int,android.content.res.Resources$Theme) -> handle
+ 135:135:boolean isNeedUnderline() -> isNeedUnderline
+ 127:127:boolean isPressed() -> isPressed
+ 61:64:void onClick(android.view.View) -> onClick
+ 123:124:void setPressed(boolean) -> setPressed
+ 140:144:void updateDrawState(android.text.TextPaint) -> updateDrawState
+com.qmuiteam.qmui.util.QMUICollapsingTextHelper -> com.qmuiteam.qmui.util.QMUICollapsingTextHelper:
+ 63:77:void <clinit>() -> <clinit>
+ 140:141:void <init>(android.view.View) -> <init>
+ 87:152:void <init>(android.view.View,float) -> <init>
+ 473:544:void calculateBaseOffsets() -> calculateBaseOffsets
+ 413:414:void calculateCurrentOffsets() -> calculateCurrentOffsets
+ 604:608:boolean calculateIsRtl(java.lang.CharSequence) -> calculateIsRtl
+ 417:446:void calculateOffsets(float) -> calculateOffsets
+ 626:697:void calculateUsingTextSize(float) -> calculateUsingTextSize
+ 755:759:void clearTexture() -> clearTexture
+ 560:601:void draw(android.graphics.Canvas) -> draw
+ 700:725:void ensureExpandedTexture() -> ensureExpandedTexture
+ 298:298:int getCollapsedTextGravity() -> getCollapsedTextGravity
+ 774:774:float getCollapsedTextHeight() -> getCollapsedTextHeight
+ 766:766:float getCollapsedTextWidth() -> getCollapsedTextWidth
+ 357:357:android.graphics.Typeface getCollapsedTypeface() -> getCollapsedTypeface
+ 462:468:int getCurrentCollapsedTextColor() -> getCurrentCollapsedTextColor
+ 450:456:int getCurrentExpandedTextColor() -> getCurrentExpandedTextColor
+ 287:287:int getExpandedTextGravity() -> getExpandedTextGravity
+ 770:770:float getExpandedTextHeight() -> getExpandedTextHeight
+ 762:762:float getExpandedTextWidth() -> getExpandedTextWidth
+ 361:361:android.graphics.Typeface getExpandedTypeface() -> getExpandedTypeface
+ 401:401:float getExpansionFraction() -> getExpansionFraction
+ 751:751:java.lang.CharSequence getText() -> getText
+ 547:555:void interpolateBounds(float) -> interpolateBounds
+ 791:791:boolean isClose(float,float) -> isClose
+ 396:397:boolean isStateful() -> isStateful
+ 804:807:float lerp(float,float,float,android.view.animation.Interpolator) -> lerp
+ 275:277:void onBoundsChanged() -> onBoundsChanged
+ 314:324:android.graphics.Typeface readFontFamilyTypeface(int) -> readFontFamilyTypeface
+ 728:734:void recalculate() -> recalculate
+ 811:811:boolean rectEquals(android.graphics.Rect,int,int,int,int) -> rectEquals
+ 267:272:void setCollapsedBounds(int,int,int,int) -> setCollapsedBounds
+ 215:232:void setCollapsedTextAppearance(int) -> setCollapsedTextAppearance
+ 189:193:void setCollapsedTextColor(android.content.res.ColorStateList) -> setCollapsedTextColor
+ 291:295:void setCollapsedTextGravity(int) -> setCollapsedTextGravity
+ 338:342:void setCollapsedTypeface(android.graphics.Typeface) -> setCollapsedTypeface
+ 259:264:void setExpandedBounds(int,int,int,int) -> setExpandedBounds
+ 235:256:void setExpandedTextAppearance(int) -> setExpandedTextAppearance
+ 196:200:void setExpandedTextColor(android.content.res.ColorStateList) -> setExpandedTextColor
+ 280:284:void setExpandedTextGravity(int) -> setExpandedTextGravity
+ 345:349:void setExpandedTypeface(android.graphics.Typeface) -> setExpandedTypeface
+ 372:378:void setExpansionFraction(float) -> setExpansionFraction
+ 302:309:void setGravity(int,int,boolean) -> setGravity
+ 612:623:void setInterpolatedTextSize(float) -> setInterpolatedTextSize
+ 160:162:void setPositionInterpolator(android.view.animation.Interpolator) -> setPositionInterpolator
+ 381:388:boolean setState(int[]) -> setState
+ 742:748:void setText(java.lang.CharSequence) -> setText
+ 204:211:void setTextColor(android.content.res.ColorStateList,android.content.res.ColorStateList,boolean) -> setTextColor
+ 165:172:void setTextSize(float,float,boolean) -> setTextSize
+ 155:157:void setTextSizeInterpolator(android.view.animation.Interpolator) -> setTextSizeInterpolator
+ 328:335:void setTypeface(android.graphics.Typeface,android.graphics.Typeface,boolean) -> setTypeface
+ 392:393:void setTypefaceUpdateAreaPercent(float) -> setTypefaceUpdateAreaPercent
+com.qmuiteam.qmui.util.QMUIColorHelper -> com.qmuiteam.qmui.util.QMUIColorHelper:
+ 56:74:int computeColor(int,int,float) -> computeColor
+com.qmuiteam.qmui.util.QMUIDeviceHelper -> com.qmuiteam.qmui.util.QMUIDeviceHelper:
+ 60:112:void <clinit>() -> <clinit>
+ 400:408:java.lang.String getLowerCaseName(java.util.Properties,java.lang.reflect.Method,java.lang.String) -> getLowerCaseName
+ 135:135:boolean isFlyme() -> isFlyme
+ 227:227:boolean isHuawei() -> isHuawei
+ 207:207:boolean isMeizu() -> isMeizu
+ 223:223:boolean isOppo() -> isOppo
+ 250:259:boolean isPhone(java.lang.String[]) -> isPhone
+ 219:219:boolean isVivo() -> isVivo
+ 215:215:boolean isXiaomi() -> isXiaomi
+com.qmuiteam.qmui.util.QMUIDeviceHelper$1 -> com.qmuiteam.qmui.util.QMUIDeviceHelper$1:
+ 65:65:void <init>() -> <init>
+ 69:69:boolean accept(java.io.File) -> accept
+com.qmuiteam.qmui.util.QMUIDisplayHelper -> com.qmuiteam.qmui.util.QMUIDisplayHelper:
+ 55:62:void <clinit>() -> <clinit>
+ 294:294:int dp2px(android.content.Context,int) -> dp2px
+ 83:83:int dpToPx(int) -> dpToPx
+ 97:97:float getDensity(android.content.Context) -> getDensity
+ 73:73:android.util.DisplayMetrics getDisplayMetrics(android.content.Context) -> getDisplayMetrics
+ 101:101:float getFontDensity(android.content.Context) -> getFontDensity
+ 407:411:int getResourceNavHeight(android.content.Context) -> getResourceNavHeight
+ 119:123:int getScreenHeight(android.content.Context) -> getScreenHeight
+ 365:383:int getStatusBarHeight(android.content.Context) -> getStatusBarHeight
+ 628:629:boolean huaweiIsNotchSetToShowInSetting(android.content.Context) -> huaweiIsNotchSetToShowInSetting
+ 314:314:int px2dp(android.content.Context,int) -> px2dp
+ 304:304:int sp2px(android.content.Context,int) -> sp2px
+ 620:621:boolean xiaomiNavigationGestureEnabled(android.content.Context) -> xiaomiNavigationGestureEnabled
+com.qmuiteam.qmui.util.QMUIDrawableHelper -> com.qmuiteam.qmui.util.QMUIDrawableHelper:
+ 53:56:void <clinit>() -> <clinit>
+ 52:52:void <init>() -> <init>
+ 273:276:android.graphics.drawable.Drawable getVectorDrawable(android.content.Context,int) -> getVectorDrawable
+ 177:181:android.graphics.ColorFilter setDrawableTintColor(android.graphics.drawable.Drawable,int) -> setDrawableTintColor
+com.qmuiteam.qmui.util.QMUILangHelper -> com.qmuiteam.qmui.util.QMUILangHelper:
+ 89:96:void close(java.io.Closeable) -> close
+ 104:104:int constrain(int,int,int) -> constrain
+ 108:108:float constrain(float,float,float) -> constrain
+ 51:59:java.lang.String formatNumberToLimitedDigits(int,int) -> formatNumberToLimitedDigits
+ 39:40:int getNumberDigits(int) -> getNumberDigits
+ 85:85:boolean isNullOrEmpty(java.lang.CharSequence) -> isNullOrEmpty
+ 100:100:boolean objectEquals(java.lang.Object,java.lang.Object) -> objectEquals
+com.qmuiteam.qmui.util.QMUINotchHelper -> com.qmuiteam.qmui.util.QMUINotchHelper:
+ 46:52:void <clinit>() -> <clinit>
+ 156:163:boolean attachHasOfficialNotch(android.view.View) -> attachHasOfficialNotch
+ 251:253:void clearLandscapeRectInfo() -> clearLandscapeRectInfo
+ 289:316:android.graphics.Rect get3rdSafeInsetRect(android.content.Context) -> get3rdSafeInsetRect
+ 446:446:int getNotchHeightInVivo(android.content.Context) -> getNotchHeightInVivo
+ 434:438:int getNotchHeightInXiaomi(android.content.Context) -> getNotchHeightInXiaomi
+ 406:422:int[] getNotchSizeInHuawei(android.content.Context) -> getNotchSizeInHuawei
+ 276:285:void getOfficialSafeInsetRect(android.view.View,android.graphics.Rect) -> getOfficialSafeInsetRect
+ 321:338:android.graphics.Rect getRectInfoRotation0(android.content.Context) -> getRectInfoRotation0
+ 364:379:android.graphics.Rect getRectInfoRotation180(android.content.Context) -> getRectInfoRotation180
+ 383:401:android.graphics.Rect getRectInfoRotation270(android.content.Context) -> getRectInfoRotation270
+ 342:360:android.graphics.Rect getRectInfoRotation90(android.content.Context) -> getRectInfoRotation90
+ 217:220:int getSafeInsetBottom(android.view.View) -> getSafeInsetBottom
+ 224:227:int getSafeInsetLeft(android.view.View) -> getSafeInsetLeft
+ 266:271:android.graphics.Rect getSafeInsetRect(android.view.View) -> getSafeInsetRect
+ 231:234:int getSafeInsetRight(android.view.View) -> getSafeInsetRight
+ 210:213:int getSafeInsetTop(android.view.View) -> getSafeInsetTop
+ 456:465:int getScreenRotation(android.content.Context) -> getScreenRotation
+ 168:177:boolean has3rdNotch(android.content.Context) -> has3rdNotch
+ 115:124:boolean hasNotch(android.view.View) -> hasNotch
+ 79:92:boolean hasNotchInHuawei(android.content.Context) -> hasNotchInHuawei
+ 96:97:boolean hasNotchInOppo(android.content.Context) -> hasNotchInOppo
+ 55:74:boolean hasNotchInVivo(android.content.Context) -> hasNotchInVivo
+ 103:111:boolean hasNotchInXiaomi(android.content.Context) -> hasNotchInXiaomi
+ 469:469:boolean isNotchOfficialSupport() -> isNotchOfficialSupport
+com.qmuiteam.qmui.util.QMUIResHelper -> com.qmuiteam.qmui.util.QMUIResHelper:
+ 174:229:void assignTextViewWithAttr(android.widget.TextView,int) -> assignTextViewWithAttr
+ 56:56:int getAttrColor(android.content.Context,int) -> getAttrColor
+ 60:69:int getAttrColor(android.content.res.Resources$Theme,int) -> getAttrColor
+ 79:98:android.content.res.ColorStateList getAttrColorStateList(android.content.Context,android.content.res.Resources$Theme,int) -> getAttrColorStateList
+ 143:149:int getAttrDimen(android.content.Context,int) -> getAttrDimen
+ 103:103:android.graphics.drawable.Drawable getAttrDrawable(android.content.Context,int) -> getAttrDrawable
+ 108:128:android.graphics.drawable.Drawable getAttrDrawable(android.content.Context,android.content.res.Resources$Theme,int) -> getAttrDrawable
+ 133:139:android.graphics.drawable.Drawable getAttrDrawable(android.content.Context,android.content.res.TypedArray,int) -> getAttrDrawable
+ 42:42:float getAttrFloatValue(android.content.Context,int) -> getAttrFloatValue
+ 46:52:float getAttrFloatValue(android.content.res.Resources$Theme,int) -> getAttrFloatValue
+com.qmuiteam.qmui.util.QMUISpanHelper -> com.qmuiteam.qmui.util.QMUISpanHelper:
+ 105:138:java.lang.CharSequence generateHorIconText(java.lang.CharSequence,int,android.graphics.drawable.Drawable,int,int,android.graphics.drawable.Drawable,int,int,android.view.View) -> generateHorIconText
+ 61:61:java.lang.CharSequence generateSideIconText(boolean,int,java.lang.CharSequence,android.graphics.drawable.Drawable,int,android.view.View) -> generateSideIconText
+ 69:71:java.lang.CharSequence generateSideIconText(boolean,int,java.lang.CharSequence,android.graphics.drawable.Drawable,int,int,android.view.View) -> generateSideIconText
+com.qmuiteam.qmui.util.QMUIStatusBarHelper -> com.qmuiteam.qmui.util.QMUIStatusBarHelper:
+ 49:53:void <clinit>() -> <clinit>
+ 414:417:int getStatusbarHeight(android.content.Context) -> getStatusbarHeight
+ 422:455:void initStatusBarHeight(android.content.Context) -> initStatusBarHeight
+com.qmuiteam.qmui.util.QMUIViewHelper -> com.qmuiteam.qmui.util.QMUIViewHelper:
+ 71:74:void <clinit>() -> <clinit>
+ 79:86:void checkAppCompatTheme(android.content.Context) -> checkAppCompatTheme
+ 285:286:int generateViewId() -> generateViewId
+ 752:754:void getDescendantRect(android.view.ViewGroup,android.view.View,android.graphics.Rect) -> getDescendantRect
+ 631:642:void safeRequestDisallowInterceptTouchEvent(android.view.View,boolean) -> safeRequestDisallowInterceptTouchEvent
+ 700:710:void safeSetImageViewSelected(android.widget.ImageView,boolean) -> safeSetImageViewSelected
+ 143:146:void setBackgroundKeepingPadding(android.view.View,android.graphics.drawable.Drawable) -> setBackgroundKeepingPadding
+com.qmuiteam.qmui.util.QMUIViewHelper$ViewGroupHelper -> com.qmuiteam.qmui.util.QMUIViewHelper$ViewGroupHelper:
+ 758:759:void <clinit>() -> <clinit>
+ 784:796:void offsetDescendantMatrix(android.view.ViewParent,android.view.View,android.graphics.Matrix) -> offsetDescendantMatrix
+ 762:781:void offsetDescendantRect(android.view.ViewGroup,android.view.View,android.graphics.Rect) -> offsetDescendantRect
+com.qmuiteam.qmui.util.QMUIViewOffsetHelper -> com.qmuiteam.qmui.util.QMUIViewOffsetHelper:
+ 56:61:void <init>(android.view.View) -> <init>
+ 76:78:void applyOffsets() -> applyOffsets
+ 137:137:int getLayoutTop() -> getLayoutTop
+ 133:133:int getLeftAndRightOffset() -> getLeftAndRightOffset
+ 129:129:int getTopAndBottomOffset() -> getTopAndBottomOffset
+ 64:65:void onViewLayout() -> onViewLayout
+ 68:73:void onViewLayout(boolean) -> onViewLayout
+ 102:107:boolean setLeftAndRightOffset(int) -> setLeftAndRightOffset
+ 87:92:boolean setTopAndBottomOffset(int) -> setTopAndBottomOffset
+com.qmuiteam.qmui.util.QMUIWindowHelper -> com.qmuiteam.qmui.util.QMUIWindowHelper:
+ 104:136:java.lang.Object getAttachInfoFromView(android.view.View) -> getAttachInfoFromView
+ 83:100:android.graphics.Rect unSafeGetContentInsets(android.view.View) -> unSafeGetContentInsets
+ 60:77:android.graphics.Rect unSafeGetWindowVisibleInsets(android.view.View) -> unSafeGetWindowVisibleInsets
+com.qmuiteam.qmui.util.QMUIWindowInsetHelper -> com.qmuiteam.qmui.util.QMUIWindowInsetHelper:
+ 44:80:void <clinit>() -> <clinit>
+ 42:42:void access$000(android.view.WindowInsets,android.view.View) -> access$000
+ 235:296:androidx.core.graphics.Insets adapterInsetsWithGravity(android.view.View,androidx.core.graphics.Insets) -> adapterInsetsWithGravity
+ 226:232:void callCompatInsetAnimationCallback(android.view.WindowInsets,android.view.View) -> callCompatInsetAnimationCallback
+ 88:89:void handleWindowInsets(android.view.View,int) -> handleWindowInsets
+ 92:93:void handleWindowInsets(android.view.View,int,boolean) -> handleWindowInsets
+ 96:97:void handleWindowInsets(android.view.View,int,boolean,boolean) -> handleWindowInsets
+ 123:136:void handleWindowInsets(android.view.View,int,com.qmuiteam.qmui.util.QMUIWindowInsetHelper$InsetHandler,boolean,boolean,boolean) -> handleWindowInsets
+ 149:150:void overrideWithDoNotHandleWindowInsets(android.view.View) -> overrideWithDoNotHandleWindowInsets
+ 159:216:void setOnApplyWindowInsetsListener(android.view.View,androidx.core.view.OnApplyWindowInsetsListener,boolean) -> setOnApplyWindowInsetsListener
+com.qmuiteam.qmui.util.QMUIWindowInsetHelper$1 -> com.qmuiteam.qmui.util.QMUIWindowInsetHelper$1:
+ 44:44:void <init>() -> <init>
+ 47:48:void handleInset(android.view.View,androidx.core.graphics.Insets) -> handleInset
+com.qmuiteam.qmui.util.QMUIWindowInsetHelper$2 -> com.qmuiteam.qmui.util.QMUIWindowInsetHelper$2:
+ 51:51:void <init>() -> <init>
+ 54:55:void handleInset(android.view.View,androidx.core.graphics.Insets) -> handleInset
+com.qmuiteam.qmui.util.QMUIWindowInsetHelper$3 -> com.qmuiteam.qmui.util.QMUIWindowInsetHelper$3:
+ 58:58:void <init>() -> <init>
+ 61:62:void handleInset(android.view.View,androidx.core.graphics.Insets) -> handleInset
+com.qmuiteam.qmui.util.QMUIWindowInsetHelper$4 -> com.qmuiteam.qmui.util.QMUIWindowInsetHelper$4:
+ 65:65:void <init>() -> <init>
+ 68:70:void handleInset(android.view.View,androidx.core.graphics.Insets) -> handleInset
+com.qmuiteam.qmui.util.QMUIWindowInsetHelper$5 -> com.qmuiteam.qmui.util.QMUIWindowInsetHelper$5:
+ 73:73:void <init>() -> <init>
+ 76:76:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+com.qmuiteam.qmui.util.QMUIWindowInsetHelper$6 -> com.qmuiteam.qmui.util.QMUIWindowInsetHelper$6:
+ 80:80:void <init>() -> <init>
+ 83:83:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+com.qmuiteam.qmui.util.QMUIWindowInsetHelper$7 -> com.qmuiteam.qmui.util.QMUIWindowInsetHelper$7:
+ 123:123:void <init>(boolean,int,com.qmuiteam.qmui.util.QMUIWindowInsetHelper$InsetHandler,boolean) -> <init>
+ 126:133:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+com.qmuiteam.qmui.util.QMUIWindowInsetHelper$8 -> com.qmuiteam.qmui.util.QMUIWindowInsetHelper$8:
+ 173:175:void <init>(android.view.View,boolean,androidx.core.view.OnApplyWindowInsetsListener) -> <init>
+ 180:213:android.view.WindowInsets onApplyWindowInsets(android.view.View,android.view.WindowInsets) -> onApplyWindowInsets
+com.qmuiteam.qmui.widget.QMUIAnimationListView -> com.qmuiteam.qmui.widget.QMUIAnimationListView:
+ 105:106:void <init>(android.content.Context) -> <init>
+ 84:111:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 84:116:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 524:524:boolean dispatchTouchEvent(android.view.MotionEvent) -> dispatchTouchEvent
+ 378:378:long getChangeDisappearDuration() -> getChangeDisappearDuration
+ 182:182:float getOffsetDurationUnit() -> getOffsetDurationUnit
+ 513:519:int getPositionForId(long) -> getPositionForId
+ 128:128:android.widget.ListAdapter getRealAdapter() -> getRealAdapter
+ 124:125:void init() -> init
+ 384:409:void onDraw(android.graphics.Canvas) -> onDraw
+ 76:76:void setAdapter(android.widget.Adapter) -> setAdapter
+ 133:136:void setAdapter(android.widget.ListAdapter) -> setAdapter
+ 139:140:void setAnimationManipulateDurationLimit(int) -> setAnimationManipulateDurationLimit
+ 186:187:void setOffsetDurationUnit(float) -> setOffsetDurationUnit
+ 204:205:void setOffsetInterpolator(android.view.animation.Interpolator) -> setOffsetInterpolator
+ 200:201:void setOpenChangeDisappearAnimation(boolean) -> setOpenChangeDisappearAnimation
+com.qmuiteam.qmui.widget.QMUIAnimationListView$WrapperAdapter -> com.qmuiteam.qmui.widget.QMUIAnimationListView$WrapperAdapter:
+ 533:552:void <init>(android.widget.ListAdapter) -> <init>
+ 531:531:boolean access$700(com.qmuiteam.qmui.widget.QMUIAnimationListView$WrapperAdapter) -> access$700
+ 573:573:int getCount() -> getCount
+ 588:588:java.lang.Object getItem(int) -> getItem
+ 593:593:long getItemId(int) -> getItemId
+ 578:578:int getItemViewType(int) -> getItemViewType
+ 598:598:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+ 583:583:int getViewTypeCount() -> getViewTypeCount
+ 603:605:boolean hasStableIds() -> hasStableIds
+ 564:569:void notifyDataSetChanged() -> notifyDataSetChanged
+com.qmuiteam.qmui.widget.QMUIAnimationListView$WrapperAdapter$1 -> com.qmuiteam.qmui.widget.QMUIAnimationListView$WrapperAdapter$1:
+ 534:534:void <init>(com.qmuiteam.qmui.widget.QMUIAnimationListView$WrapperAdapter) -> <init>
+ 537:540:void onChanged() -> onChanged
+ 544:545:void onInvalidated() -> onInvalidated
+com.qmuiteam.qmui.widget.QMUIAppBarLayout -> com.qmuiteam.qmui.widget.QMUIAppBarLayout:
+ 28:29:void <init>(android.content.Context) -> <init>
+ 32:33:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout -> com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout:
+ 140:141:void <init>(android.content.Context) -> <init>
+ 144:145:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 104:245:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 100:100:int access$000(com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout) -> access$000
+ 100:100:java.util.ArrayList access$100(com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout) -> access$100
+ 600:623:void animateScrim(int) -> animateScrim
+ 1115:1115:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 414:416:android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets) -> dispatchApplyWindowInsets
+ 296:321:void draw(android.graphics.Canvas) -> draw
+ 335:341:boolean drawChild(android.graphics.Canvas,android.view.View,long) -> drawChild
+ 750:770:void drawableStateChanged() -> drawableStateChanged
+ 353:383:void ensureToolbar() -> ensureToolbar
+ 396:402:android.view.View findDirectChild(android.view.View) -> findDirectChild
+ 248:252:void followTopBarCommonSkin() -> followTopBarCommonSkin
+ 100:100:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 100:100:android.widget.FrameLayout$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 1120:1120:com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 100:100:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 100:100:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 1125:1125:android.widget.FrameLayout$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 1130:1130:android.widget.FrameLayout$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 870:870:int getCollapsedTitleGravity() -> getCollapsedTitleGravity
+ 938:938:android.graphics.Typeface getCollapsedTitleTypeface() -> getCollapsedTitleTypeface
+ 702:702:android.graphics.drawable.Drawable getContentScrim() -> getContentScrim
+ 921:921:int getExpandedTitleGravity() -> getExpandedTitleGravity
+ 1040:1040:int getExpandedTitleMarginBottom() -> getExpandedTitleMarginBottom
+ 1021:1021:int getExpandedTitleMarginEnd() -> getExpandedTitleMarginEnd
+ 983:983:int getExpandedTitleMarginStart() -> getExpandedTitleMarginStart
+ 1002:1002:int getExpandedTitleMarginTop() -> getExpandedTitleMarginTop
+ 955:955:android.graphics.Typeface getExpandedTitleTypeface() -> getExpandedTitleTypeface
+ 487:492:int getHeightWithMargins(android.view.View) -> getHeightWithMargins
+ 1260:1262:int getMaxOffsetForPinChild(android.view.View) -> getMaxOffsetForPinChild
+ 637:637:int getScrimAlpha() -> getScrimAlpha
+ 1110:1110:long getScrimAnimationDuration() -> getScrimAnimationDuration
+ 1078:1094:int getScrimVisibleHeightTrigger() -> getScrimVisibleHeightTrigger
+ 819:819:android.graphics.drawable.Drawable getStatusBarScrim() -> getStatusBarScrim
+ 520:520:java.lang.CharSequence getTitle() -> getTitle
+ 496:501:com.qmuiteam.qmui.util.QMUIViewOffsetHelper getViewOffsetHelper(android.view.View) -> getViewOffsetHelper
+ 324:327:int getWindowInsetTop() -> getWindowInsetTop
+ 1321:1337:boolean intercept(int,android.content.res.Resources$Theme) -> intercept
+ 386:388:boolean isToolbarChild(android.view.View) -> isToolbarChild
+ 264:280:void onAttachedToWindow() -> onAttachedToWindow
+ 285:291:void onDetachedFromWindow() -> onDetachedFromWindow
+ 421:484:void onLayout(boolean,int,int,int,int) -> onLayout
+ 408:410:void onMeasure(int,int) -> onMeasure
+ 346:350:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 256:260:void onViewAdded(android.view.View) -> onViewAdded
+ 850:855:void setCollapsedTextColorSkinAttr(int) -> setCollapsedTextColorSkinAttr
+ 863:864:void setCollapsedTitleGravity(int) -> setCollapsedTitleGravity
+ 827:828:void setCollapsedTitleTextAppearance(int) -> setCollapsedTitleTextAppearance
+ 836:837:void setCollapsedTitleTextColor(int) -> setCollapsedTitleTextColor
+ 845:847:void setCollapsedTitleTextColor(android.content.res.ColorStateList) -> setCollapsedTitleTextColor
+ 930:931:void setCollapsedTitleTypeface(android.graphics.Typeface) -> setCollapsedTitleTypeface
+ 655:657:void setContentScrim(android.graphics.drawable.Drawable) -> setContentScrim
+ 681:682:void setContentScrimColor(int) -> setContentScrimColor
+ 660:672:void setContentScrimInner(android.graphics.drawable.Drawable) -> setContentScrimInner
+ 691:693:void setContentScrimResource(int) -> setContentScrimResource
+ 641:645:void setContentScrimSkinAttr(int) -> setContentScrimSkinAttr
+ 901:906:void setExpandedTextColorSkinAttr(int) -> setExpandedTextColorSkinAttr
+ 887:888:void setExpandedTitleColor(int) -> setExpandedTitleColor
+ 914:915:void setExpandedTitleGravity(int) -> setExpandedTitleGravity
+ 1050:1052:void setExpandedTitleMarginBottom(int) -> setExpandedTitleMarginBottom
+ 1031:1033:void setExpandedTitleMarginEnd(int) -> setExpandedTitleMarginEnd
+ 993:995:void setExpandedTitleMarginStart(int) -> setExpandedTitleMarginStart
+ 1012:1014:void setExpandedTitleMarginTop(int) -> setExpandedTitleMarginTop
+ 878:879:void setExpandedTitleTextAppearance(int) -> setExpandedTitleTextAppearance
+ 896:898:void setExpandedTitleTextColor(android.content.res.ColorStateList) -> setExpandedTitleTextColor
+ 947:948:void setExpandedTitleTypeface(android.graphics.Typeface) -> setExpandedTitleTypeface
+ 626:634:void setScrimAlpha(int) -> setScrimAlpha
+ 1103:1104:void setScrimAnimationDuration(long) -> setScrimAnimationDuration
+ 584:597:void setScrimUpdateListener(android.animation.ValueAnimator$AnimatorUpdateListener) -> setScrimUpdateListener
+ 1064:1069:void setScrimVisibleHeightTrigger(int) -> setScrimVisibleHeightTrigger
+ 557:558:void setScrimsShown(boolean) -> setScrimsShown
+ 570:578:void setScrimsShown(boolean,boolean) -> setScrimsShown
+ 715:717:void setStatusBarScrim(android.graphics.drawable.Drawable) -> setStatusBarScrim
+ 799:800:void setStatusBarScrimColor(int) -> setStatusBarScrimColor
+ 720:737:void setStatusBarScrimInner(android.graphics.drawable.Drawable) -> setStatusBarScrimInner
+ 809:810:void setStatusBarScrimResource(int) -> setStatusBarScrimResource
+ 740:744:void setStatusBarScrimSkinAttr(int) -> setStatusBarScrimSkinAttr
+ 511:512:void setTitle(java.lang.CharSequence) -> setTitle
+ 532:536:void setTitleEnabled(boolean) -> setTitleEnabled
+ 779:788:void setVisibility(int) -> setVisibility
+ 1253:1256:void updateScrimVisibility() -> updateScrimVisibility
+ 774:774:boolean verifyDrawable(android.graphics.drawable.Drawable) -> verifyDrawable
+com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout$1 -> com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout$1:
+ 225:225:void <init>(com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout) -> <init>
+ 228:239:void handleInset(android.view.View,androidx.core.graphics.Insets) -> handleInset
+com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout$2 -> com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout$2:
+ 608:608:void <init>(com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout) -> <init>
+ 611:612:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout$LayoutParams -> com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout$LayoutParams:
+ 1165:1180:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 1165:1184:void <init>(int,int) -> <init>
+ 1165:1192:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+ 1235:1236:void setParallaxMultiplier(float) -> setParallaxMultiplier
+com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout$OffsetUpdateListener -> com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout$OffsetUpdateListener:
+ 1274:1275:void <init>(com.qmuiteam.qmui.widget.QMUICollapsingTopBarLayout) -> <init>
+ 1279:1316:void onOffsetChanged(com.google.android.material.appbar.AppBarLayout,int) -> onOffsetChanged
+com.qmuiteam.qmui.widget.QMUIEmptyView -> com.qmuiteam.qmui.widget.QMUIEmptyView:
+ 46:47:void <init>(android.content.Context) -> <init>
+ 50:51:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 54:63:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 128:133:void hide() -> hide
+ 66:71:void init() -> init
+ 180:181:void setBtnSkinValue(com.qmuiteam.qmui.skin.QMUISkinValueBuilder) -> setBtnSkinValue
+ 184:187:void setButton(java.lang.String,android.view.View$OnClickListener) -> setButton
+ 164:165:void setDetailColor(int) -> setDetailColor
+ 172:173:void setDetailSkinValue(com.qmuiteam.qmui.skin.QMUISkinValueBuilder) -> setDetailSkinValue
+ 153:155:void setDetailText(java.lang.String) -> setDetailText
+ 144:145:void setLoadingShowing(boolean) -> setLoadingShowing
+ 176:177:void setLoadingSkinValue(com.qmuiteam.qmui.skin.QMUISkinValueBuilder) -> setLoadingSkinValue
+ 159:160:void setTitleColor(int) -> setTitleColor
+ 168:169:void setTitleSkinValue(com.qmuiteam.qmui.skin.QMUISkinValueBuilder) -> setTitleSkinValue
+ 148:150:void setTitleText(java.lang.String) -> setTitleText
+ 83:88:void show(boolean,java.lang.String,java.lang.String,java.lang.String,android.view.View$OnClickListener) -> show
+ 96:101:void show(boolean) -> show
+ 121:122:void show() -> show
+com.qmuiteam.qmui.widget.QMUIFloatLayout -> com.qmuiteam.qmui.widget.QMUIFloatLayout:
+ 70:71:void <init>(android.content.Context) -> <init>
+ 74:75:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 48:80:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 421:421:int getGravity() -> getGravity
+ 460:460:int getLineCount() -> getLineCount
+ 469:469:int getMaxLines() -> getMaxLines
+ 440:440:int getMaxNumber() -> getMaxNumber
+ 83:99:void init(android.content.Context,android.util.AttributeSet) -> init
+ 263:316:void layoutWithGravityCenterHorizontal(int) -> layoutWithGravityCenterHorizontal
+ 322:350:void layoutWithGravityLeft(int) -> layoutWithGravityLeft
+ 356:408:void layoutWithGravityRight(int) -> layoutWithGravityRight
+ 241:257:void onLayout(boolean,int,int,int,int) -> onLayout
+ 104:237:void onMeasure(int,int) -> onMeasure
+ 476:478:void setChildHorizontalSpacing(int) -> setChildHorizontalSpacing
+ 484:486:void setChildVerticalSpacing(int) -> setChildVerticalSpacing
+ 414:418:void setGravity(int) -> setGravity
+ 450:453:void setMaxLines(int) -> setMaxLines
+ 431:434:void setMaxNumber(int) -> setMaxNumber
+ 456:457:void setOnLineCountChangeListener(com.qmuiteam.qmui.widget.QMUIFloatLayout$OnLineCountChangeListener) -> setOnLineCountChangeListener
+com.qmuiteam.qmui.widget.QMUIFontFitTextView -> com.qmuiteam.qmui.widget.QMUIFontFitTextView:
+ 42:43:void <init>(android.content.Context) -> <init>
+ 46:59:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 98:103:void onMeasure(int,int) -> onMeasure
+ 112:115:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 107:108:void onTextChanged(java.lang.CharSequence,int,int,int) -> onTextChanged
+ 65:94:void refitText(java.lang.String,int) -> refitText
+com.qmuiteam.qmui.widget.QMUIItemViewsAdapter -> com.qmuiteam.qmui.widget.QMUIItemViewsAdapter:
+ 42:49:void <init>(android.view.ViewGroup) -> <init>
+ 95:96:com.qmuiteam.qmui.widget.QMUIItemViewsAdapter addItem(java.lang.Object) -> addItem
+ 76:78:void clear() -> clear
+ 52:73:void detach(int) -> detach
+ 125:131:java.lang.Object getItem(int) -> getItem
+ 150:153:int getSize() -> getSize
+ 81:85:android.view.View getView() -> getView
+ 146:146:java.util.List getViews() -> getViews
+ 100:122:void setup() -> setup
+com.qmuiteam.qmui.widget.QMUILoadingView -> com.qmuiteam.qmui.widget.QMUILoadingView:
+ 55:57:void <clinit>() -> <clinit>
+ 60:61:void <init>(android.content.Context) -> <init>
+ 64:65:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 47:102:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 43:43:int access$002(com.qmuiteam.qmui.widget.QMUILoadingView,int) -> access$002
+ 134:147:void drawLoading(android.graphics.Canvas,int) -> drawLoading
+ 186:186:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 85:89:void initPaint() -> initPaint
+ 164:166:void onAttachedToWindow() -> onAttachedToWindow
+ 170:172:void onDetachedFromWindow() -> onDetachedFromWindow
+ 156:160:void onDraw(android.graphics.Canvas) -> onDraw
+ 151:152:void onMeasure(int,int) -> onMeasure
+ 176:182:void onVisibilityChanged(android.view.View,int) -> onVisibilityChanged
+ 92:95:void setColor(int) -> setColor
+ 98:100:void setSize(int) -> setSize
+ 111:122:void start() -> start
+ 125:131:void stop() -> stop
+com.qmuiteam.qmui.widget.QMUILoadingView$1 -> com.qmuiteam.qmui.widget.QMUILoadingView$1:
+ 102:102:void <init>(com.qmuiteam.qmui.widget.QMUILoadingView) -> <init>
+ 105:107:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.qmuiteam.qmui.widget.QMUINotchConsumeLayout -> com.qmuiteam.qmui.widget.QMUINotchConsumeLayout:
+ 32:33:void <init>(android.content.Context) -> <init>
+ 36:37:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 40:48:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 67:73:boolean notifyInsetMaybeChanged() -> notifyInsetMaybeChanged
+ 52:56:void onAttachedToWindow() -> onAttachedToWindow
+ 60:64:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+com.qmuiteam.qmui.widget.QMUINotchConsumeLayout$1 -> com.qmuiteam.qmui.widget.QMUINotchConsumeLayout$1:
+ 41:41:void <init>(com.qmuiteam.qmui.widget.QMUINotchConsumeLayout) -> <init>
+ 44:45:androidx.core.view.WindowInsetsCompat onApplyWindowInsets(android.view.View,androidx.core.view.WindowInsetsCompat) -> onApplyWindowInsets
+com.qmuiteam.qmui.widget.QMUIObservableScrollView -> com.qmuiteam.qmui.widget.QMUIObservableScrollView:
+ 36:42:void <init>(android.content.Context) -> <init>
+ 36:46:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 36:50:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 81:81:int getScrollOffset() -> getScrollOffset
+ 71:78:void onScrollChanged(int,int,int,int) -> onScrollChanged
+com.qmuiteam.qmui.widget.QMUIPagerAdapter -> com.qmuiteam.qmui.widget.QMUIPagerAdapter:
+ 31:34:void <init>() -> <init>
+ 63:64:void destroyItem(android.view.ViewGroup,int,java.lang.Object) -> destroyItem
+ 52:58:java.lang.Object instantiateItem(android.view.ViewGroup,int) -> instantiateItem
+com.qmuiteam.qmui.widget.QMUIProgressBar -> com.qmuiteam.qmui.widget.QMUIProgressBar:
+ 59:59:void <clinit>() -> <clinit>
+ 79:101:void <init>(android.content.Context) -> <init>
+ 79:106:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 79:111:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 45:45:com.qmuiteam.qmui.widget.QMUIProgressBar$OnProgressChangeListener access$000(com.qmuiteam.qmui.widget.QMUIProgressBar) -> access$000
+ 45:45:int access$100(com.qmuiteam.qmui.widget.QMUIProgressBar) -> access$100
+ 45:45:int access$200(com.qmuiteam.qmui.widget.QMUIProgressBar) -> access$200
+ 168:197:void configPaint(int,int,boolean,int) -> configPaint
+ 158:165:void configShape() -> configShape
+ 333:346:void drawCircle(android.graphics.Canvas,boolean) -> drawCircle
+ 310:318:void drawRect(android.graphics.Canvas) -> drawRect
+ 321:330:void drawRoundRect(android.graphics.Canvas) -> drawRoundRect
+ 385:385:int getMaxValue() -> getMaxValue
+ 353:353:int getProgress() -> getProgress
+ 264:264:com.qmuiteam.qmui.widget.QMUIProgressBar$QMUIProgressBarTextGenerator getQMUIProgressBarTextGenerator() -> getQMUIProgressBarTextGenerator
+ 269:297:void onDraw(android.graphics.Canvas) -> onDraw
+ 301:307:void onMeasure(int,int) -> onMeasure
+ 349:349:int parseValueToWidth() -> parseValueToWidth
+ 215:218:void setBackgroundColor(int) -> setBackgroundColor
+ 389:390:void setMaxValue(int) -> setMaxValue
+ 143:144:void setOnProgressChangeListener(com.qmuiteam.qmui.widget.QMUIProgressBar$OnProgressChangeListener) -> setOnProgressChangeListener
+ 357:358:void setProgress(int) -> setProgress
+ 361:382:void setProgress(int,boolean) -> setProgress
+ 221:224:void setProgressColor(int) -> setProgressColor
+ 260:261:void setQMUIProgressBarTextGenerator(com.qmuiteam.qmui.widget.QMUIProgressBar$QMUIProgressBarTextGenerator) -> setQMUIProgressBarTextGenerator
+ 252:254:void setStrokeRoundCap(boolean) -> setStrokeRoundCap
+ 147:155:void setStrokeWidth(int) -> setStrokeWidth
+ 244:246:void setTextColor(int) -> setTextColor
+ 233:235:void setTextSize(int) -> setTextSize
+ 200:203:void setType(int) -> setType
+ 114:140:void setup(android.content.Context,android.util.AttributeSet) -> setup
+com.qmuiteam.qmui.widget.QMUIProgressBar$1 -> com.qmuiteam.qmui.widget.QMUIProgressBar$1:
+ 88:88:void <init>(com.qmuiteam.qmui.widget.QMUIProgressBar) -> <init>
+ 91:94:void run() -> run
+com.qmuiteam.qmui.widget.QMUIRadiusImageView -> com.qmuiteam.qmui.widget.QMUIRadiusImageView:
+ 56:56:void <clinit>() -> <clinit>
+ 91:92:void <init>(android.content.Context) -> <init>
+ 95:96:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 59:134:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 495:512:void drawBitmap(android.graphics.Canvas,int) -> drawBitmap
+ 515:536:void drawBorder(android.graphics.Canvas,int) -> drawBorder
+ 344:390:android.graphics.Bitmap getBitmap() -> getBitmap
+ 227:227:int getBorderColor() -> getBorderColor
+ 231:231:int getBorderWidth() -> getBorderWidth
+ 235:235:int getCornerRadius() -> getCornerRadius
+ 239:239:int getSelectedBorderColor() -> getSelectedBorderColor
+ 243:243:int getSelectedBorderWidth() -> getSelectedBorderWidth
+ 247:247:int getSelectedMaskColor() -> getSelectedMaskColor
+ 260:260:boolean isSelected() -> isSelected
+ 540:561:void onDraw(android.graphics.Canvas) -> onDraw
+ 301:328:void onMeasure(int,int) -> onMeasure
+ 565:584:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 138:141:void setAdjustViewBounds(boolean) -> setAdjustViewBounds
+ 151:155:void setBorderColor(int) -> setBorderColor
+ 144:148:void setBorderWidth(int) -> setBorderWidth
+ 202:207:void setCircle(boolean) -> setCircle
+ 290:297:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 158:164:void setCornerRadius(int) -> setCornerRadius
+ 333:335:void setImageDrawable(android.graphics.drawable.Drawable) -> setImageDrawable
+ 339:341:void setImageURI(android.net.Uri) -> setImageURI
+ 210:224:void setOval(boolean) -> setOval
+ 264:268:void setSelected(boolean) -> setSelected
+ 167:174:void setSelectedBorderColor(int) -> setSelectedBorderColor
+ 177:183:void setSelectedBorderWidth(int) -> setSelectedBorderWidth
+ 279:286:void setSelectedColorFilter(android.graphics.ColorFilter) -> setSelectedColorFilter
+ 186:198:void setSelectedMaskColor(int) -> setSelectedMaskColor
+ 271:272:void setTouchSelectModeEnabled(boolean) -> setTouchSelectModeEnabled
+ 396:415:void setupBitmap() -> setupBitmap
+ 418:426:void updateBitmapShader() -> updateBitmapShader
+ 429:487:void updateMatrix(android.graphics.Matrix,android.graphics.Bitmap,android.graphics.RectF) -> updateMatrix
+ 490:492:void updateScaleTypeMatrix(android.graphics.Matrix,android.graphics.Bitmap,android.graphics.RectF) -> updateScaleTypeMatrix
+com.qmuiteam.qmui.widget.QMUIRadiusImageView2 -> com.qmuiteam.qmui.widget.QMUIRadiusImageView2:
+ 46:63:void <init>(android.content.Context) -> <init>
+ 46:68:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 46:73:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 490:493:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 110:113:com.qmuiteam.qmui.alpha.QMUIAlphaViewHelper getAlphaViewHelper() -> getAlphaViewHelper
+ 164:164:int getBorderColor() -> getBorderColor
+ 168:168:int getBorderWidth() -> getBorderWidth
+ 172:172:int getCornerRadius() -> getCornerRadius
+ 422:422:int getHideRadiusSide() -> getHideRadiusSide
+ 343:343:int getRadius() -> getRadius
+ 176:176:int getSelectedBorderColor() -> getSelectedBorderColor
+ 180:180:int getSelectedBorderWidth() -> getSelectedBorderWidth
+ 184:184:int getSelectedMaskColor() -> getSelectedMaskColor
+ 485:485:float getShadowAlpha() -> getShadowAlpha
+ 475:475:int getShadowColor() -> getShadowColor
+ 460:460:int getShadowElevation() -> getShadowElevation
+ 76:106:void init(android.content.Context,android.util.AttributeSet,int) -> init
+ 193:193:boolean isSelected() -> isSelected
+ 198:218:void onMeasure(int,int) -> onMeasure
+ 546:564:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 353:360:void setBorderColor(int) -> setBorderColor
+ 364:371:void setBorderWidth(int) -> setBorderWidth
+ 299:301:void setBottomDividerAlpha(int) -> setBottomDividerAlpha
+ 152:153:void setChangeAlphaWhenDisable(boolean) -> setChangeAlphaWhenDisable
+ 143:144:void setChangeAlphaWhenPress(boolean) -> setChangeAlphaWhenPress
+ 156:161:void setCircle(boolean) -> setCircle
+ 535:542:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 117:118:void setCornerRadius(int) -> setCornerRadius
+ 133:135:void setEnabled(boolean) -> setEnabled
+ 122:122:boolean setFrame(int,int,int,int) -> setFrame
+ 417:418:void setHideRadiusSide(int) -> setHideRadiusSide
+ 305:307:void setLeftDividerAlpha(int) -> setLeftDividerAlpha
+ 480:481:void setOuterNormalColor(int) -> setOuterNormalColor
+ 450:451:void setOutlineExcludePadding(boolean) -> setOutlineExcludePadding
+ 127:129:void setPressed(boolean) -> setPressed
+ 333:334:void setRadius(int) -> setRadius
+ 311:313:void setRightDividerAlpha(int) -> setRightDividerAlpha
+ 497:513:void setSelected(boolean) -> setSelected
+ 374:382:void setSelectedBorderColor(int) -> setSelectedBorderColor
+ 385:392:void setSelectedBorderWidth(int) -> setSelectedBorderWidth
+ 524:531:void setSelectedColorFilter(android.graphics.ColorFilter) -> setSelectedColorFilter
+ 395:407:void setSelectedMaskColor(int) -> setSelectedMaskColor
+ 465:466:void setShadowAlpha(float) -> setShadowAlpha
+ 470:471:void setShadowColor(int) -> setShadowColor
+ 455:456:void setShadowElevation(int) -> setShadowElevation
+ 411:413:void setShowBorderOnlyBeforeL(boolean) -> setShowBorderOnlyBeforeL
+ 293:295:void setTopDividerAlpha(int) -> setTopDividerAlpha
+ 516:517:void setTouchSelectModeEnabled(boolean) -> setTouchSelectModeEnabled
+ 273:274:void updateBottomSeparatorColor(int) -> updateBottomSeparatorColor
+ 278:279:void updateLeftSeparatorColor(int) -> updateLeftSeparatorColor
+ 283:284:void updateRightSeparatorColor(int) -> updateRightSeparatorColor
+ 288:289:void updateTopSeparatorColor(int) -> updateTopSeparatorColor
+com.qmuiteam.qmui.widget.QMUISeekBar -> com.qmuiteam.qmui.widget.QMUISeekBar:
+ 25:28:void <clinit>() -> <clinit>
+ 31:32:void <init>(android.content.Context) -> <init>
+ 35:36:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 39:48:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 66:67:void drawRect(android.graphics.Canvas,android.graphics.RectF,int,android.graphics.Paint,boolean) -> drawRect
+ 73:89:void drawTick(android.graphics.Canvas,int,int,int,int,float,android.graphics.Paint,int,int) -> drawTick
+ 93:93:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 61:61:int getTickHeight() -> getTickHeight
+ 51:53:void setTickHeight(int) -> setTickHeight
+ 56:58:void setTickWidth(int) -> setTickWidth
+com.qmuiteam.qmui.widget.QMUISlider -> com.qmuiteam.qmui.widget.QMUISlider:
+ 75:79:void <clinit>() -> <clinit>
+ 83:84:void <init>(android.content.Context) -> <init>
+ 87:88:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 52:137:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 45:45:boolean access$002(com.qmuiteam.qmui.widget.QMUISlider,boolean) -> access$002
+ 45:45:int access$100(com.qmuiteam.qmui.widget.QMUISlider) -> access$100
+ 45:45:int access$200(com.qmuiteam.qmui.widget.QMUISlider) -> access$200
+ 45:45:int access$300(com.qmuiteam.qmui.widget.QMUISlider) -> access$300
+ 45:45:void access$400(com.qmuiteam.qmui.widget.QMUISlider,int,int) -> access$400
+ 45:45:boolean access$502(com.qmuiteam.qmui.widget.QMUISlider,boolean) -> access$502
+ 45:45:com.qmuiteam.qmui.widget.QMUISlider$IThumbView access$600(com.qmuiteam.qmui.widget.QMUISlider) -> access$600
+ 45:45:com.qmuiteam.qmui.widget.QMUISlider$Callback access$700(com.qmuiteam.qmui.widget.QMUISlider) -> access$700
+ 45:45:int access$800(com.qmuiteam.qmui.widget.QMUISlider) -> access$800
+ 471:478:void calculateByThumbPosition(int) -> calculateByThumbPosition
+ 330:347:void checkTouch(int,int) -> checkTouch
+ 491:491:android.view.View convertThumbToView() -> convertThumbToView
+ 409:411:void drawRecordProgress(android.graphics.Canvas,android.graphics.RectF,android.graphics.Paint) -> drawRecordProgress
+ 404:406:void drawRect(android.graphics.Canvas,android.graphics.RectF,int,android.graphics.Paint,boolean) -> drawRect
+ 416:416:void drawTick(android.graphics.Canvas,int,int,int,int,float,android.graphics.Paint,int,int) -> drawTick
+ 426:426:int getBarHeight() -> getBarHeight
+ 437:437:int getBarNormalColor() -> getBarNormalColor
+ 448:448:int getBarProgressColor() -> getBarProgressColor
+ 168:168:int getCurrentProgress() -> getCurrentProgress
+ 531:531:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 516:518:int getMaxThumbOffset() -> getMaxThumbOffset
+ 463:463:int getRecordProgress() -> getRecordProgress
+ 459:459:int getRecordProgressColor() -> getRecordProgressColor
+ 181:181:int getTickCount() -> getTickCount
+ 505:512:boolean isRecordProgressClicked(int) -> isRecordProgressClicked
+ 495:495:boolean isThumbTouched(float,float) -> isThumbTouched
+ 499:501:boolean isThumbViewTouched(android.view.View,float,float) -> isThumbViewTouched
+ 486:486:android.widget.FrameLayout$LayoutParams onCreateThumbLayoutParams() -> onCreateThumbLayoutParams
+ 482:482:com.qmuiteam.qmui.widget.QMUISlider$IThumbView onCreateThumbView(android.content.Context,int,int) -> onCreateThumbView
+ 368:401:void onDraw(android.graphics.Canvas) -> onDraw
+ 222:222:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 204:214:void onLayout(boolean,int,int,int,int) -> onLayout
+ 218:218:void onLayoutCustomChildren(boolean,int,int,int,int) -> onLayoutCustomChildren
+ 195:200:void onMeasure(int,int) -> onMeasure
+ 227:326:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 189:191:void safeSetCurrentProgress(int) -> safeSetCurrentProgress
+ 419:423:void setBarHeight(int) -> setBarHeight
+ 430:434:void setBarNormalColor(int) -> setBarNormalColor
+ 441:445:void setBarProgressColor(int) -> setBarProgressColor
+ 140:141:void setCallback(com.qmuiteam.qmui.widget.QMUISlider$Callback) -> setCallback
+ 351:352:void setClickToChangeProgress(boolean) -> setClickToChangeProgress
+ 467:468:void setConstraintThumbInMoving(boolean) -> setConstraintThumbInMoving
+ 144:155:void setCurrentProgress(int) -> setCurrentProgress
+ 355:356:void setLongTouchToChangeProgress(boolean) -> setLongTouchToChangeProgress
+ 158:165:void setRecordProgress(int) -> setRecordProgress
+ 452:456:void setRecordProgressColor(int) -> setRecordProgressColor
+ 185:186:void setThumbSkin(com.qmuiteam.qmui.skin.QMUISkinValueBuilder) -> setThumbSkin
+ 172:178:void setTickCount(int) -> setTickCount
+com.qmuiteam.qmui.widget.QMUISlider$DefaultThumbView -> com.qmuiteam.qmui.widget.QMUISlider$DefaultThumbView:
+ 590:593:void <clinit>() -> <clinit>
+ 596:601:void <init>(android.content.Context,int,int) -> <init>
+ 605:608:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 638:638:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 633:633:int getLeftRightMargin() -> getLeftRightMargin
+ 617:618:void onMeasure(int,int) -> onMeasure
+ 624:624:void render(int,int) -> render
+ 611:613:void setBorderColor(int) -> setBorderColor
+ 629:629:void setPress(boolean) -> setPress
+com.qmuiteam.qmui.widget.QMUISlider$LongPressAction -> com.qmuiteam.qmui.widget.QMUISlider$LongPressAction:
+ 642:642:void <init>(com.qmuiteam.qmui.widget.QMUISlider) -> <init>
+ 646:654:void run() -> run
+com.qmuiteam.qmui.widget.QMUITopBar -> com.qmuiteam.qmui.widget.QMUITopBar:
+ 111:114:void <clinit>() -> <clinit>
+ 117:118:void <init>(android.content.Context) -> <init>
+ 121:122:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 103:128:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 379:381:void disableBackgroundSetter() -> disableBackgroundSetter
+ 410:411:android.widget.RelativeLayout$LayoutParams generateTitleContainerViewLp() -> generateTitleContainerViewLp
+ 851:851:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 340:340:com.qmuiteam.qmui.widget.textview.QMUISpanTouchFixTextView getSubTitleView() -> getSubTitleView
+ 242:245:java.lang.CharSequence getTitle() -> getTitle
+ 363:371:android.graphics.Rect getTitleContainerRect() -> getTitleContainerRect
+ 375:375:android.widget.LinearLayout getTitleContainerView() -> getTitleContainerView
+ 250:250:com.qmuiteam.qmui.qqface.QMUIQQFaceView getTitleView() -> getTitleView
+ 728:731:int getTopBarHeight() -> getTopBarHeight
+ 830:846:void handle(com.qmuiteam.qmui.skin.QMUISkinManager,int,android.content.res.Resources$Theme,androidx.collection.SimpleArrayMap) -> handle
+ 142:179:void init(android.content.Context,android.util.AttributeSet,int) -> init
+ 131:135:void initVar() -> initVar
+ 393:401:android.widget.LinearLayout makeSureTitleContainerView() -> makeSureTitleContainerView
+ 183:192:void onAttachedToWindow() -> onAttachedToWindow
+ 801:826:void onLayout(boolean,int,int,int,int) -> onLayout
+ 760:797:void onMeasure(int,int) -> onMeasure
+ 740:741:void setBackgroundAlpha(int) -> setBackgroundAlpha
+ 385:388:void setBackgroundDrawable(android.graphics.drawable.Drawable) -> setBackgroundDrawable
+ 200:214:void setCenterView(android.view.View) -> setCenterView
+ 349:360:void setTitleGravity(int) -> setTitleGravity
+com.qmuiteam.qmui.widget.QMUITopBarLayout -> com.qmuiteam.qmui.widget.QMUITopBarLayout:
+ 55:56:void <init>(android.content.Context) -> <init>
+ 59:60:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 52:78:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 224:224:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 115:115:com.qmuiteam.qmui.widget.textview.QMUISpanTouchFixTextView getSubTitleView() -> getSubTitleView
+ 110:110:com.qmuiteam.qmui.qqface.QMUIQQFaceView getTitleView() -> getTitleView
+ 81:81:com.qmuiteam.qmui.widget.QMUITopBar getTopBar() -> getTopBar
+ 200:201:void setBackgroundAlpha(int) -> setBackgroundAlpha
+ 85:86:void setCenterView(android.view.View) -> setCenterView
+ 119:120:void setTitleGravity(int) -> setTitleGravity
+com.qmuiteam.qmui.widget.QMUIVerticalTextView -> com.qmuiteam.qmui.widget.QMUIVerticalTextView:
+ 41:50:void <init>(android.content.Context) -> <init>
+ 41:55:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 41:60:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 63:63:void init() -> init
+ 234:252:boolean isCJKCharacter(int) -> isCJKCharacter
+ 170:230:void onDraw(android.graphics.Canvas) -> onDraw
+ 69:165:void onMeasure(int,int) -> onMeasure
+ 260:262:void setVerticalMode(boolean) -> setVerticalMode
+com.qmuiteam.qmui.widget.QMUIViewPager -> com.qmuiteam.qmui.widget.QMUIViewPager:
+ 48:49:void <init>(android.content.Context) -> <init>
+ 42:54:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 39:39:boolean access$000(com.qmuiteam.qmui.widget.QMUIViewPager) -> access$000
+ 39:39:int access$100(com.qmuiteam.qmui.widget.QMUIViewPager) -> access$100
+ 61:61:int getInfiniteRatio() -> getInfiniteRatio
+ 99:101:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 107:110:void onMeasure(int,int) -> onMeasure
+ 90:92:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 83:85:void onViewAdded(android.view.View) -> onViewAdded
+ 118:123:void setAdapter(androidx.viewpager.widget.PagerAdapter) -> setAdapter
+ 73:79:void setEnableLoop(boolean) -> setEnableLoop
+ 65:66:void setInfiniteRatio(int) -> setInfiniteRatio
+ 57:58:void setSwipeable(boolean) -> setSwipeable
+com.qmuiteam.qmui.widget.QMUIViewPager$WrapperPagerAdapter -> com.qmuiteam.qmui.widget.QMUIViewPager$WrapperPagerAdapter:
+ 128:130:void <init>(com.qmuiteam.qmui.widget.QMUIViewPager,com.qmuiteam.qmui.widget.QMUIPagerAdapter) -> <init>
+ 153:158:void destroyItem(android.view.ViewGroup,int,java.lang.Object) -> destroyItem
+ 183:184:void finishUpdate(android.view.ViewGroup) -> finishUpdate
+ 134:138:int getCount() -> getCount
+ 220:220:int getItemPosition(java.lang.Object) -> getItemPosition
+ 188:189:java.lang.CharSequence getPageTitle(int) -> getPageTitle
+ 194:194:float getPageWidth(int) -> getPageWidth
+ 144:148:java.lang.Object instantiateItem(android.view.ViewGroup,int) -> instantiateItem
+ 162:162:boolean isViewFromObject(android.view.View,java.lang.Object) -> isViewFromObject
+ 214:216:void notifyDataSetChanged() -> notifyDataSetChanged
+ 209:210:void registerDataSetObserver(android.database.DataSetObserver) -> registerDataSetObserver
+ 168:169:void restoreState(android.os.Parcelable,java.lang.ClassLoader) -> restoreState
+ 173:173:android.os.Parcelable saveState() -> saveState
+ 199:200:void setPrimaryItem(android.view.ViewGroup,int,java.lang.Object) -> setPrimaryItem
+ 178:179:void startUpdate(android.view.ViewGroup) -> startUpdate
+ 204:205:void unregisterDataSetObserver(android.database.DataSetObserver) -> unregisterDataSetObserver
+com.qmuiteam.qmui.widget.QMUIWindowInsetLayout -> com.qmuiteam.qmui.widget.QMUIWindowInsetLayout:
+ 32:33:void <init>(android.content.Context) -> <init>
+ 36:37:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 40:41:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 45:47:void onViewAdded(android.view.View) -> onViewAdded
+com.qmuiteam.qmui.widget.QMUIWindowInsetLayout2 -> com.qmuiteam.qmui.widget.QMUIWindowInsetLayout2:
+ 31:32:void <init>(android.content.Context) -> <init>
+ 35:36:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 39:40:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 49:51:void onViewAdded(android.view.View) -> onViewAdded
+ 45:45:void setFitsSystemWindows(boolean) -> setFitsSystemWindows
+com.qmuiteam.qmui.widget.QMUIWrapContentListView -> com.qmuiteam.qmui.widget.QMUIWrapContentListView:
+ 28:32:void <init>(android.content.Context) -> <init>
+ 28:41:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 28:45:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 56:59:void onMeasure(int,int) -> onMeasure
+ 48:52:void setMaxHeight(int) -> setMaxHeight
+com.qmuiteam.qmui.widget.QMUIWrapContentScrollView -> com.qmuiteam.qmui.widget.QMUIWrapContentScrollView:
+ 30:34:void <init>(android.content.Context) -> <init>
+ 30:43:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 30:47:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 58:69:void onMeasure(int,int) -> onMeasure
+ 50:54:void setMaxHeight(int) -> setMaxHeight
+com.qmuiteam.qmui.widget.dialog.QMUIBaseDialog -> com.qmuiteam.qmui.widget.dialog.QMUIBaseDialog:
+ 35:43:void <init>(android.content.Context,int) -> <init>
+ 120:136:void dismiss() -> dismiss
+ 66:72:android.view.LayoutInflater getLayoutInflater() -> getLayoutInflater
+ 94:94:void onSetCancelable(boolean) -> onSetCancelable
+ 57:61:void onStart() -> onStart
+ 77:81:void onStop() -> onStop
+ 85:90:void setCancelable(boolean) -> setCancelable
+ 98:104:void setCanceledOnTouchOutside(boolean) -> setCanceledOnTouchOutside
+ 46:53:void setSkinManager(com.qmuiteam.qmui.skin.QMUISkinManager) -> setSkinManager
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet:
+ 62:62:com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetBehavior access$200(com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet) -> access$200
+ 246:246:void addContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> addContentView
+ 164:171:void cancel() -> cancel
+ 175:182:void dismiss() -> dismiss
+ 144:152:void onCreate(android.os.Bundle) -> onCreate
+ 138:140:void onSetCancelable(boolean) -> onSetCancelable
+ 156:160:void onStart() -> onStart
+ 228:228:void setContentView(android.view.View) -> setContentView
+ 234:234:void setContentView(int) -> setContentView
+ 240:240:void setContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> setContentView
+ 214:220:void setToExpandWhenShow() -> setToExpandWhenShow
+ 202:211:void show() -> show
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet$4 -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet$4:
+ 214:214:void <init>(com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet) -> <init>
+ 217:218:void run() -> run
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetBehavior -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetBehavior:
+ 28:30:void <init>() -> <init>
+ 28:28:boolean onInterceptTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onInterceptTouchEvent
+ 65:76:boolean onInterceptTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.ViewGroup,android.view.MotionEvent) -> onInterceptTouchEvent
+ 28:28:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 84:87:boolean onStartNestedScroll(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.ViewGroup,android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 28:28:boolean onTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.View,android.view.MotionEvent) -> onTouchEvent
+ 45:58:boolean onTouchEvent(androidx.coordinatorlayout.widget.CoordinatorLayout,android.view.ViewGroup,android.view.MotionEvent) -> onTouchEvent
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetGridItemView -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetGridItemView:
+ 50:51:void <init>(android.content.Context) -> <init>
+ 54:55:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 58:90:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 113:113:java.lang.Object getModelTag() -> getModelTag
+ 93:93:androidx.appcompat.widget.AppCompatImageView onCreateIconView(android.content.Context) -> onCreateIconView
+ 97:97:android.widget.TextView onCreateTitleView(android.content.Context) -> onCreateTitleView
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetGridLineLayout -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetGridLineLayout:
+ 37:37:void <clinit>() -> <clinit>
+ 165:168:int calculateItemWidth(int,int,int,int) -> calculateItemWidth
+ 161:162:void measureChild(android.view.View,int,int) -> measureChild
+ 113:133:void onMeasure(int,int) -> onMeasure
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetGridLineLayout$1 -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetGridLineLayout$1:
+ 37:37:void <init>() -> <init>
+ 40:55:int calculate(android.content.Context,int,int,int,int,int) -> calculate
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter:
+ 29:29:com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter$OnItemClickListener access$000(com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter) -> access$000
+ 29:29:android.view.View access$100(com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter) -> access$100
+ 29:29:java.util.List access$200(com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter) -> access$200
+ 124:124:int getItemCount() -> getItemCount
+ 73:83:int getItemViewType(int) -> getItemViewType
+ 29:29:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> onBindViewHolder
+ 111:120:void onBindViewHolder(com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter$VH,int) -> onBindViewHolder
+ 29:29:androidx.recyclerview.widget.RecyclerView$ViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 89:106:com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter$VH onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter$1 -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter$1:
+ 96:96:void <init>(com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter,com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter$VH) -> <init>
+ 99:104:void onClick(android.view.View) -> onClick
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter$VH -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListAdapter$VH:
+ 130:131:void <init>(android.view.View) -> <init>
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListItemDecoration -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListItemDecoration:
+ 83:86:void handle(androidx.recyclerview.widget.RecyclerView,com.qmuiteam.qmui.skin.QMUISkinManager,int,android.content.res.Resources$Theme) -> handle
+ 54:76:void onDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDrawOver
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListItemView -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListItemView:
+ 45:143:void <init>(android.content.Context,boolean,boolean) -> <init>
+ 197:198:void onMeasure(int,int) -> onMeasure
+ 146:193:void render(com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetListItemModel,boolean) -> render
+com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetRootLayout -> com.qmuiteam.qmui.widget.dialog.QMUIBottomSheetRootLayout:
+ 35:36:void <init>(android.content.Context) -> <init>
+ 39:54:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 58:70:void onMeasure(int,int) -> onMeasure
+com.qmuiteam.qmui.widget.dialog.QMUIDialog -> com.qmuiteam.qmui.widget.dialog.QMUIDialog:
+ 74:75:void <init>(android.content.Context) -> <init>
+ 78:81:void <init>(android.content.Context,int) -> <init>
+ 84:86:void init() -> init
+com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder -> com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder:
+ 306:312:void <init>(android.content.Context) -> <init>
+ 422:422:void configRightImageView(androidx.appcompat.widget.AppCompatImageView,android.widget.EditText) -> configRightImageView
+ 425:432:androidx.constraintlayout.widget.ConstraintLayout$LayoutParams createEditTextLayoutParams(android.content.Context) -> createEditTextLayoutParams
+ 436:440:androidx.constraintlayout.widget.ConstraintLayout$LayoutParams createRightIconLayoutParams(android.content.Context) -> createRightIconLayoutParams
+ 468:468:android.widget.EditText getEditText() -> getEditText
+ 445:460:void onAfterCreate(com.qmuiteam.qmui.widget.dialog.QMUIDialog,com.qmuiteam.qmui.widget.dialog.QMUIDialogRootLayout,android.content.Context) -> onAfterCreate
+ 369:417:android.view.View onCreateContent(com.qmuiteam.qmui.widget.dialog.QMUIDialog,com.qmuiteam.qmui.widget.dialog.QMUIDialogView,android.content.Context) -> onCreateContent
+ 357:363:androidx.constraintlayout.widget.ConstraintLayout$LayoutParams onCreateContentLayoutParams(android.content.Context) -> onCreateContentLayoutParams
+ 346:347:com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder setInputType(int) -> setInputType
+ 318:319:com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder setPlaceholder(java.lang.String) -> setPlaceholder
+com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder$1 -> com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder$1:
+ 447:447:void <init>(com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder,android.view.inputmethod.InputMethodManager) -> <init>
+ 450:451:void onDismiss(android.content.DialogInterface) -> onDismiss
+com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder$2 -> com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder$2:
+ 453:453:void <init>(com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder,android.view.inputmethod.InputMethodManager) -> <init>
+ 456:458:void run() -> run
+com.qmuiteam.qmui.widget.dialog.QMUIDialog$MessageDialogBuilder -> com.qmuiteam.qmui.widget.dialog.QMUIDialog$MessageDialogBuilder:
+ 128:129:void <init>(android.content.Context) -> <init>
+ 190:209:void assignMessageTvWithAttr(android.widget.TextView,boolean,int) -> assignMessageTvWithAttr
+ 149:162:android.view.View onCreateContent(com.qmuiteam.qmui.widget.dialog.QMUIDialog,com.qmuiteam.qmui.widget.dialog.QMUIDialogView,android.content.Context) -> onCreateContent
+ 168:186:android.view.View onCreateTitle(com.qmuiteam.qmui.widget.dialog.QMUIDialog,com.qmuiteam.qmui.widget.dialog.QMUIDialogView,android.content.Context) -> onCreateTitle
+ 135:136:com.qmuiteam.qmui.widget.dialog.QMUIDialog$MessageDialogBuilder setMessage(java.lang.CharSequence) -> setMessage
+com.qmuiteam.qmui.widget.dialog.QMUIDialogAction -> com.qmuiteam.qmui.widget.dialog.QMUIDialogAction:
+ 74:75:void <init>(java.lang.CharSequence) -> <init>
+ 58:84:void <init>(java.lang.CharSequence,com.qmuiteam.qmui.widget.dialog.QMUIDialogAction$ActionListener) -> <init>
+ 44:44:com.qmuiteam.qmui.widget.dialog.QMUIDialogAction$ActionListener access$000(com.qmuiteam.qmui.widget.dialog.QMUIDialogAction) -> access$000
+ 44:44:com.qmuiteam.qmui.layout.QMUIButton access$100(com.qmuiteam.qmui.widget.dialog.QMUIDialogAction) -> access$100
+ 135:145:com.qmuiteam.qmui.layout.QMUIButton buildActionView(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> buildActionView
+ 153:230:com.qmuiteam.qmui.layout.QMUIButton generateActionButton(android.content.Context,java.lang.CharSequence,int,int,int,int) -> generateActionButton
+ 92:93:com.qmuiteam.qmui.widget.dialog.QMUIDialogAction iconRes(int) -> iconRes
+ 97:98:com.qmuiteam.qmui.widget.dialog.QMUIDialogAction onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialogAction$ActionListener) -> onClick
+ 87:88:com.qmuiteam.qmui.widget.dialog.QMUIDialogAction prop(int) -> prop
+ 122:123:com.qmuiteam.qmui.widget.dialog.QMUIDialogAction skinSeparatorColorAttr(int) -> skinSeparatorColorAttr
+com.qmuiteam.qmui.widget.dialog.QMUIDialogAction$1 -> com.qmuiteam.qmui.widget.dialog.QMUIDialogAction$1:
+ 137:137:void <init>(com.qmuiteam.qmui.widget.dialog.QMUIDialogAction,com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> <init>
+ 140:143:void onClick(android.view.View) -> onClick
+com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder -> com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder:
+ 79:79:void <clinit>() -> <clinit>
+ 88:109:void <init>(android.content.Context) -> <init>
+ 67:67:android.content.Context access$000(com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder) -> access$000
+ 242:242:com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder addAction(java.lang.CharSequence,com.qmuiteam.qmui.widget.dialog.QMUIDialogAction$ActionListener) -> addAction
+ 291:296:com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder addAction(int,java.lang.CharSequence,int,com.qmuiteam.qmui.widget.dialog.QMUIDialogAction$ActionListener) -> addAction
+ 426:429:void checkAndSetId(android.view.View,int) -> checkAndSetId
+ 433:433:void configRootLayout(com.qmuiteam.qmui.widget.dialog.QMUIDialogRootLayout) -> configRootLayout
+ 343:414:com.qmuiteam.qmui.widget.dialog.QMUIDialog create(int) -> create
+ 632:636:android.view.View createActionContainerSpace(android.content.Context) -> createActionContainerSpace
+ 308:308:boolean hasTitle() -> hasTitle
+ 419:419:void onAfterCreate(com.qmuiteam.qmui.widget.dialog.QMUIDialog,com.qmuiteam.qmui.widget.dialog.QMUIDialogRootLayout,android.content.Context) -> onAfterCreate
+ 505:509:androidx.constraintlayout.widget.ConstraintLayout$LayoutParams onCreateContentLayoutParams(android.content.Context) -> onCreateContentLayoutParams
+ 465:465:android.widget.FrameLayout$LayoutParams onCreateDialogLayoutParams() -> onCreateDialogLayoutParams
+ 456:460:com.qmuiteam.qmui.widget.dialog.QMUIDialogView onCreateDialogView(android.content.Context) -> onCreateDialogView
+ 515:618:android.view.View onCreateOperatorLayout(com.qmuiteam.qmui.widget.dialog.QMUIDialog,com.qmuiteam.qmui.widget.dialog.QMUIDialogView,android.content.Context) -> onCreateOperatorLayout
+ 623:628:androidx.constraintlayout.widget.ConstraintLayout$LayoutParams onCreateOperatorLayoutLayoutParams(android.content.Context) -> onCreateOperatorLayoutLayoutParams
+ 471:479:android.view.View onCreateTitle(com.qmuiteam.qmui.widget.dialog.QMUIDialog,com.qmuiteam.qmui.widget.dialog.QMUIDialogView,android.content.Context) -> onCreateTitle
+ 484:489:androidx.constraintlayout.widget.ConstraintLayout$LayoutParams onCreateTitleLayoutParams(android.content.Context) -> onCreateTitleLayoutParams
+ 423:423:void onOverlayOccurredInMeasure() -> onOverlayOccurredInMeasure
+ 120:123:com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder setTitle(java.lang.String) -> setTitle
+ 448:452:void skinConfigActionContainer(android.view.ViewGroup) -> skinConfigActionContainer
+ 436:440:void skinConfigDialogView(com.qmuiteam.qmui.widget.dialog.QMUIDialogView) -> skinConfigDialogView
+ 442:446:void skinConfigTitleView(android.widget.TextView) -> skinConfigTitleView
+ 498:501:com.qmuiteam.qmui.widget.QMUIWrapContentScrollView wrapWithScroll(android.view.View) -> wrapWithScroll
+com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder$1 -> com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder$1:
+ 349:349:void <init>(com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder) -> <init>
+ 352:353:void call() -> call
+com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder$2 -> com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder$2:
+ 597:597:void <init>(com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder,com.qmuiteam.qmui.layout.QMUILinearLayout) -> <init>
+ 600:613:void onLayoutChange(android.view.View,int,int,int,int,int,int,int,int) -> onLayoutChange
+com.qmuiteam.qmui.widget.dialog.QMUIDialogMenuItemView -> com.qmuiteam.qmui.widget.dialog.QMUIDialogMenuItemView:
+ 48:58:void <init>(android.content.Context) -> <init>
+ 62:84:android.widget.TextView createItemTextView(android.content.Context) -> createItemTextView
+ 88:88:int getMenuIndex() -> getMenuIndex
+ 97:97:void notifyCheckChange(boolean) -> notifyCheckChange
+ 117:120:boolean performClick() -> performClick
+ 104:106:void setChecked(boolean) -> setChecked
+ 109:113:void setListener(com.qmuiteam.qmui.widget.dialog.QMUIDialogMenuItemView$MenuItemViewListener) -> setListener
+ 92:93:void setMenuIndex(int) -> setMenuIndex
+com.qmuiteam.qmui.widget.dialog.QMUIDialogMenuItemView$CheckItemView -> com.qmuiteam.qmui.widget.dialog.QMUIDialogMenuItemView$CheckItemView:
+ 302:302:java.lang.CharSequence getText() -> getText
+ 307:308:void notifyCheckChange(boolean) -> notifyCheckChange
+ 298:299:void setText(java.lang.CharSequence) -> setText
+com.qmuiteam.qmui.widget.dialog.QMUIDialogMenuItemView$MarkItemView -> com.qmuiteam.qmui.widget.dialog.QMUIDialogMenuItemView$MarkItemView:
+ 177:217:void <init>(android.content.Context) -> <init>
+ 230:231:void notifyCheckChange(boolean) -> notifyCheckChange
+ 225:226:void setText(java.lang.CharSequence) -> setText
+com.qmuiteam.qmui.widget.dialog.QMUIDialogMenuItemView$TextItemView -> com.qmuiteam.qmui.widget.dialog.QMUIDialogMenuItemView$TextItemView:
+ 131:133:void <init>(android.content.Context) -> <init>
+ 142:149:void init() -> init
+ 152:153:void setText(java.lang.CharSequence) -> setText
+ 157:158:void setTextColor(int) -> setTextColor
+ 161:167:void setTextColorAttr(int) -> setTextColorAttr
+com.qmuiteam.qmui.widget.dialog.QMUIDialogRootLayout -> com.qmuiteam.qmui.widget.dialog.QMUIDialogRootLayout:
+ 41:63:void <init>(android.content.Context,com.qmuiteam.qmui.widget.dialog.QMUIDialogView,android.widget.FrameLayout$LayoutParams) -> <init>
+ 183:186:boolean dispatchTouchEvent(android.view.MotionEvent) -> dispatchTouchEvent
+ 174:174:com.qmuiteam.qmui.widget.dialog.QMUIDialogView getDialogView() -> getDialogView
+ 166:171:void onLayout(boolean,int,int,int,int) -> onLayout
+ 95:162:void onMeasure(int,int) -> onMeasure
+ 86:87:void setCheckKeyboardOverlay(boolean) -> setCheckKeyboardOverlay
+ 74:75:void setInsetHor(int) -> setInsetHor
+ 78:79:void setInsetVer(int) -> setInsetVer
+ 90:91:void setMaxPercent(float) -> setMaxPercent
+ 70:71:void setMaxWidth(int) -> setMaxWidth
+ 66:67:void setMinWidth(int) -> setMinWidth
+ 82:83:void setOverlayOccurInMeasureCallback(com.qmuiteam.qmui.widget.dialog.QMUIDialogRootLayout$OverlayOccurInMeasureCallback) -> setOverlayOccurInMeasureCallback
+com.qmuiteam.qmui.widget.dialog.QMUIDialogView -> com.qmuiteam.qmui.widget.dialog.QMUIDialogView:
+ 38:39:void <init>(android.content.Context) -> <init>
+ 42:43:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 46:48:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 64:68:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 56:60:void onDraw(android.graphics.Canvas) -> onDraw
+ 51:52:void setOnDecorationListener(com.qmuiteam.qmui.widget.dialog.QMUIDialogView$OnDecorationListener) -> setOnDecorationListener
+com.qmuiteam.qmui.widget.dialog.QMUITipDialog -> com.qmuiteam.qmui.widget.dialog.QMUITipDialog:
+ 62:63:void <init>(android.content.Context) -> <init>
+ 66:68:void <init>(android.content.Context,int) -> <init>
+com.qmuiteam.qmui.widget.dialog.QMUITipDialog$CustomBuilder -> com.qmuiteam.qmui.widget.dialog.QMUITipDialog$CustomBuilder:
+ 246:248:void <init>(android.content.Context) -> <init>
+ 261:267:com.qmuiteam.qmui.widget.dialog.QMUITipDialog create() -> create
+ 256:257:com.qmuiteam.qmui.widget.dialog.QMUITipDialog$CustomBuilder setContent(int) -> setContent
+com.qmuiteam.qmui.widget.dialog.QMUITipDialogView -> com.qmuiteam.qmui.widget.dialog.QMUITipDialogView:
+ 36:53:void <init>(android.content.Context) -> <init>
+ 57:77:void onMeasure(int,int) -> onMeasure
+com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView -> com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView:
+ 146:147:void <init>(android.content.Context) -> <init>
+ 150:151:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 125:156:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 542:542:android.view.ViewGroup getAccessoryContainerView() -> getAccessoryContainerView
+ 519:526:android.widget.ImageView getAccessoryImageView() -> getAccessoryImageView
+ 515:515:android.view.ViewGroup$LayoutParams getAccessoryLayoutParams() -> getAccessoryLayoutParams
+ 457:457:int getAccessoryType() -> getAccessoryType
+ 253:253:java.lang.CharSequence getDetailText() -> getDetailText
+ 534:534:android.widget.TextView getDetailTextView() -> getDetailTextView
+ 267:267:int getOrientation() -> getOrientation
+ 538:538:android.widget.CheckBox getSwitch() -> getSwitch
+ 205:205:java.lang.CharSequence getText() -> getText
+ 530:530:android.widget.TextView getTextView() -> getTextView
+ 159:178:void init(android.content.Context,android.util.AttributeSet,int) -> init
+ 466:512:void setAccessoryType(int) -> setAccessoryType
+ 258:264:void setDetailText(java.lang.CharSequence) -> setDetailText
+ 557:562:void setDisableSwitchSelf(boolean) -> setDisableSwitchSelf
+ 189:195:void setImageDrawable(android.graphics.drawable.Drawable) -> setImageDrawable
+ 271:276:void setOrientation(int) -> setOrientation
+ 565:598:void setSkinConfig(com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView$SkinConfig) -> setSkinConfig
+ 209:215:void setText(java.lang.CharSequence) -> setText
+ 198:202:void setTipPosition(int) -> setTipPosition
+ 182:186:void updateImageViewLp(com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView$LayoutParamConfig) -> updateImageViewLp
+ 279:367:void updateLayoutParams() -> updateLayoutParams
+ 415:431:void updateTipLeftHorRelatedLayoutParam(android.view.View,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> updateTipLeftHorRelatedLayoutParam
+ 373:388:void updateTipLeftVerRelatedLayoutParam(android.view.View,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> updateTipLeftVerRelatedLayoutParam
+ 437:454:void updateTipRightHorRelatedLayoutParam(android.view.View,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> updateTipRightHorRelatedLayoutParam
+ 394:409:void updateTipRightVerRelatedLayoutParam(android.view.View,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams,androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> updateTipRightVerRelatedLayoutParam
+com.qmuiteam.qmui.widget.grouplist.QMUIGroupListSectionHeaderFooterView -> com.qmuiteam.qmui.widget.grouplist.QMUIGroupListSectionHeaderFooterView:
+ 42:43:void <init>(android.content.Context) -> <init>
+ 47:48:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 51:53:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 56:58:void <init>(android.content.Context,java.lang.CharSequence) -> <init>
+ 61:69:void <init>(android.content.Context,java.lang.CharSequence,boolean) -> <init>
+ 88:88:android.widget.TextView getTextView() -> getTextView
+ 72:76:void init(android.content.Context) -> init
+ 79:85:void setText(java.lang.CharSequence) -> setText
+ 92:93:void setTextGravity(int) -> setTextGravity
+com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView -> com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView:
+ 55:56:void <init>(android.content.Context) -> <init>
+ 59:60:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 63:66:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 49:49:void access$200(com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView,com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section) -> access$200
+ 117:118:void addSection(com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section) -> addSection
+ 83:90:com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView createItemView(android.graphics.drawable.Drawable,java.lang.CharSequence,java.lang.String,int,int,int) -> createItemView
+ 95:100:com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView createItemView(android.graphics.drawable.Drawable,java.lang.CharSequence,java.lang.String,int,int) -> createItemView
+ 105:105:com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView createItemView(java.lang.CharSequence) -> createItemView
+ 79:79:int getSectionCount() -> getSectionCount
+ 74:74:com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section newSection(android.content.Context) -> newSection
+com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section -> com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section:
+ 151:167:void <init>(android.content.Context) -> <init>
+ 145:145:int access$000(com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section) -> access$000
+ 145:145:int access$100(com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section) -> access$100
+ 177:177:com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section addItemView(com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView,android.view.View$OnClickListener) -> addItemView
+ 189:198:com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section addItemView(com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView,android.view.View$OnClickListener,android.view.View$OnLongClickListener) -> addItemView
+ 278:339:void addTo(com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView) -> addTo
+ 366:366:com.qmuiteam.qmui.widget.grouplist.QMUIGroupListSectionHeaderFooterView createSectionFooter(java.lang.CharSequence) -> createSectionFooter
+ 359:359:com.qmuiteam.qmui.widget.grouplist.QMUIGroupListSectionHeaderFooterView createSectionHeader(java.lang.CharSequence) -> createSectionHeader
+ 217:218:com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section setDescription(java.lang.CharSequence) -> setDescription
+ 232:234:com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section setLeftIconSize(int,int) -> setLeftIconSize
+ 207:208:com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section setTitle(java.lang.CharSequence) -> setTitle
+com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section$1 -> com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section$1:
+ 291:291:void <init>(com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView$Section) -> <init>
+ 294:296:androidx.constraintlayout.widget.ConstraintLayout$LayoutParams onConfig(androidx.constraintlayout.widget.ConstraintLayout$LayoutParams) -> onConfig
+com.qmuiteam.qmui.widget.popup.QMUIQuickAction$DefaultItemView -> com.qmuiteam.qmui.widget.popup.QMUIQuickAction$DefaultItemView:
+ 444:445:void <init>(android.content.Context) -> <init>
+ 448:482:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+com.qmuiteam.qmui.widget.popup.QMUIQuickAction$ItemView -> com.qmuiteam.qmui.widget.popup.QMUIQuickAction$ItemView:
+ 429:430:void <init>(android.content.Context) -> <init>
+ 433:434:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+com.qmuiteam.qmui.widget.pullLayout.QMUIAlwaysFollowOffsetCalculator -> com.qmuiteam.qmui.widget.pullLayout.QMUIAlwaysFollowOffsetCalculator:
+ 19:19:void <init>() -> <init>
+ 23:23:int calculateOffset(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction,int) -> calculateOffset
+com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout -> com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout:
+ 93:94:void <init>(android.content.Context) -> <init>
+ 97:98:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 74:108:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 46:46:java.lang.Runnable access$1002(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout,java.lang.Runnable) -> access$1002
+ 46:46:void access$1100(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout,boolean) -> access$1100
+ 46:46:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$StopTargetViewFlingImpl access$900(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout) -> access$900
+ 796:816:int checkEdgeBottomScrollDown(int,int[],int) -> checkEdgeBottomScrollDown
+ 820:839:int checkEdgeBottomScrollUp(int,int[],int) -> checkEdgeBottomScrollUp
+ 866:886:int checkEdgeLeftScrollLeft(int,int[],int) -> checkEdgeLeftScrollLeft
+ 843:862:int checkEdgeLeftScrollRight(int,int[],int) -> checkEdgeLeftScrollRight
+ 914:933:int checkEdgeRightScrollLeft(int,int[],int) -> checkEdgeRightScrollLeft
+ 890:910:int checkEdgeRightScrollRight(int,int[],int) -> checkEdgeRightScrollRight
+ 749:768:int checkEdgeTopScrollDown(int,int[],int) -> checkEdgeTopScrollDown
+ 772:792:int checkEdgeTopScrollUp(int,int[],int) -> checkEdgeTopScrollUp
+ 953:953:boolean checkLayoutParams(android.view.ViewGroup$LayoutParams) -> checkLayoutParams
+ 546:675:void checkScrollToTargetOffsetOrInitOffset(boolean) -> checkScrollToTargetOffsetOrInitOffset
+ 685:702:void checkStopTargetFling(android.view.View,int,int,int) -> checkStopTargetFling
+ 147:194:void computeScroll() -> computeScroll
+ 45:45:android.view.ViewGroup$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 948:948:android.widget.FrameLayout$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+ 45:45:android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 45:45:android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 938:938:android.widget.FrameLayout$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams) -> generateLayoutParams
+ 943:943:android.widget.FrameLayout$LayoutParams generateLayoutParams(android.util.AttributeSet) -> generateLayoutParams
+ 271:280:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction getPullAction(int) -> getPullAction
+ 216:218:void innerSetTargetView(android.view.View) -> innerSetTargetView
+ 266:266:boolean isEdgeEnabled(int) -> isEdgeEnabled
+ 493:503:void onActionTriggered(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction) -> onActionTriggered
+ 112:143:void onFinishInflate() -> onFinishInflate
+ 285:319:void onLayout(boolean,int,int,int,int) -> onLayout
+ 405:475:boolean onNestedPreFling(android.view.View,float,float) -> onNestedPreFling
+ 354:368:void onNestedPreScroll(android.view.View,int,int,int[],int) -> onNestedPreScroll
+ 372:373:void onNestedPreScroll(android.view.View,int,int,int[]) -> onNestedPreScroll
+ 378:391:void onNestedScroll(android.view.View,int,int,int,int,int,int[]) -> onNestedScroll
+ 395:396:void onNestedScroll(android.view.View,int,int,int,int,int) -> onNestedScroll
+ 400:401:void onNestedScroll(android.view.View,int,int,int,int) -> onNestedScroll
+ 338:344:void onNestedScrollAccepted(android.view.View,android.view.View,int,int) -> onNestedScrollAccepted
+ 348:349:void onNestedScrollAccepted(android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 327:328:boolean onStartNestedScroll(android.view.View,android.view.View,int,int) -> onStartNestedScroll
+ 333:333:boolean onStartNestedScroll(android.view.View,android.view.View,int) -> onStartNestedScroll
+ 480:486:void onStopNestedScroll(android.view.View,int) -> onStopNestedScroll
+ 746:746:void onTargetViewLeftAndRightOffsetChanged(int) -> onTargetViewLeftAndRightOffsetChanged
+ 742:742:void onTargetViewTopAndBottomOffsetChanged(int) -> onTargetViewTopAndBottomOffsetChanged
+ 678:682:void removeStopTargetFlingRunnable() -> removeStopTargetFlingRunnable
+ 489:489:int scrollDuration(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction,int) -> scrollDuration
+ 258:259:void setActionListener(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$ActionListener) -> setActionListener
+ 221:233:void setActionView(android.view.View,com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$LayoutParams) -> setActionView
+ 236:255:void setActionView(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder) -> setActionView
+ 262:263:void setEnabledEdges(int) -> setEnabledEdges
+ 705:720:void setHorOffsetToTargetOffsetHelper(int) -> setHorOffsetToTargetOffsetHelper
+ 201:202:void setMinScrollDuration(int) -> setMinScrollDuration
+ 322:323:void setNestedPreFlingVelocityScaleDown(float) -> setNestedPreFlingVelocityScaleDown
+ 197:198:void setStopTargetViewFlingImpl(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$StopTargetViewFlingImpl) -> setStopTargetViewFlingImpl
+ 205:213:void setTargetView(android.view.View) -> setTargetView
+ 723:738:void setVerOffsetToTargetOffsetHelper(int) -> setVerOffsetToTargetOffsetHelper
+com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$1 -> com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$1:
+ 692:692:void <init>(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout,android.view.View) -> <init>
+ 695:698:void run() -> run
+com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$DefaultStopTargetViewFlingImpl -> com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$DefaultStopTargetViewFlingImpl:
+ 1248:1250:void <init>() -> <init>
+ 1242:1245:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$DefaultStopTargetViewFlingImpl getInstance() -> getInstance
+ 1254:1257:void stopFling(android.view.View) -> stopFling
+com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$LayoutParams -> com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$LayoutParams:
+ 957:1002:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 957:1006:void <init>(int,int) -> <init>
+ 957:1010:void <init>(android.view.ViewGroup$LayoutParams) -> <init>
+com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction -> com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction:
+ 1033:1062:void <init>(android.view.View,int,boolean,float,int,int,float,boolean,float,boolean,boolean,com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$ActionViewOffsetCalculator) -> <init>
+ 1017:1017:boolean access$1200(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction) -> access$1200
+ 1017:1017:boolean access$1300(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction) -> access$1300
+ 1017:1017:android.view.View access$200(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction) -> access$200
+ 1017:1017:com.qmuiteam.qmui.util.QMUIViewOffsetHelper access$300(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction) -> access$300
+ 1017:1017:float access$400(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction) -> access$400
+ 1017:1017:boolean access$500(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction) -> access$500
+ 1017:1017:boolean access$502(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction,boolean) -> access$502
+ 1017:1017:boolean access$700(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction) -> access$700
+ 1017:1017:boolean access$800(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction) -> access$800
+ 1072:1072:int getActionInitOffset() -> getActionInitOffset
+ 1065:1068:int getActionPullSize() -> getActionPullSize
+ 1103:1103:float getFlingRate(int) -> getFlingRate
+ 1087:1087:float getPullRate() -> getPullRate
+ 1076:1079:int getTargetTriggerOffset() -> getTargetTriggerOffset
+ 1107:1107:boolean isCanOverPull() -> isCanOverPull
+ 1127:1129:void onTargetMoved(int) -> onTargetMoved
+ 1115:1124:void updateOffset(int) -> updateOffset
+com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder -> com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder:
+ 1135:1151:void <init>(android.view.View,int) -> <init>
+ 1132:1132:android.view.View access$000(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder) -> access$000
+ 1132:1132:int access$100(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder) -> access$100
+ 1194:1195:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder actionInitOffset(int) -> actionInitOffset
+ 1205:1208:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction build() -> build
+ 1169:1170:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder canOverPull(boolean) -> canOverPull
+ 1179:1180:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder needReceiveFlingFromTargetView(boolean) -> needReceiveFlingFromTargetView
+ 1184:1185:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder pullRate(float) -> pullRate
+ 1174:1175:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder receivedFlingFraction(float) -> receivedFlingFraction
+ 1189:1190:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder scrollSpeedPerPixel(float) -> scrollSpeedPerPixel
+ 1159:1160:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder scrollToTriggerOffsetAfterTouchUp(boolean) -> scrollToTriggerOffsetAfterTouchUp
+ 1164:1165:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder targetTriggerOffset(int) -> targetTriggerOffset
+ 1154:1155:com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullActionBuilder triggerUntilScrollToTriggerOffset(boolean) -> triggerUntilScrollToTriggerOffset
+com.qmuiteam.qmui.widget.pullLayout.QMUIPullLoadMoreView -> com.qmuiteam.qmui.widget.pullLayout.QMUIPullLoadMoreView:
+ 55:56:void <init>(android.content.Context) -> <init>
+ 59:61:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 45:157:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 187:192:void onActionTriggered() -> onActionTriggered
+ 161:162:void onMeasure(int,int) -> onMeasure
+ 166:183:void onPull(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction,int) -> onPull
+com.qmuiteam.qmui.widget.pullLayout.QMUIPullRefreshView -> com.qmuiteam.qmui.widget.pullLayout.QMUIPullRefreshView:
+ 49:51:void <clinit>() -> <clinit>
+ 54:55:void <init>(android.content.Context) -> <init>
+ 58:68:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 145:145:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 77:78:void onActionTriggered() -> onActionTriggered
+ 87:89:void onDetachedFromWindow() -> onDetachedFromWindow
+ 72:73:void onMeasure(int,int) -> onMeasure
+ 93:102:void onPull(com.qmuiteam.qmui.widget.pullLayout.QMUIPullLayout$PullAction,int) -> onPull
+ 140:141:void setColorSchemeColors(int[]) -> setColorSchemeColors
+ 131:137:void setColorSchemeResources(int[]) -> setColorSchemeResources
+ 105:120:void setSize(int) -> setSize
+com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIDefaultRefreshOffsetCalculator -> com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIDefaultRefreshOffsetCalculator:
+ 27:27:void <init>() -> <init>
+ 32:40:int calculateRefreshOffset(int,int,int,int,int,int) -> calculateRefreshOffset
+com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout -> com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout:
+ 144:145:void <init>(android.content.Context) -> <init>
+ 148:149:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 72:192:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 64:64:android.view.View access$000(com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout) -> access$000
+ 64:64:int access$102(com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout,int) -> access$102
+ 64:64:int access$200(com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout) -> access$200
+ 64:64:int access$300(com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout,int,boolean) -> access$300
+ 921:925:void acquireVelocityTracker(android.view.MotionEvent) -> acquireVelocityTracker
+ 262:274:void addRefreshView() -> addRefreshView
+ 913:917:int calculateTargetOffset(int,int,int,boolean) -> calculateTargetOffset
+ 779:782:boolean canChildScrollUp() -> canChildScrollUp
+ 979:1008:void computeScroll() -> computeScroll
+ 258:258:android.view.View createRefreshView() -> createRefreshView
+ 195:218:boolean defaultCanScrollUp(android.view.View) -> defaultCanScrollUp
+ 1011:1023:void deliverVelocity() -> deliverVelocity
+ 1033:1055:boolean dispatchTouchEvent(android.view.MotionEvent) -> dispatchTouchEvent
+ 549:564:void ensureTargetView() -> ensureTargetView
+ 579:649:void finishPull(int) -> finishPull
+ 285:295:int getChildDrawingOrder(int,int) -> getChildDrawingOrder
+ 826:826:int getNestedScrollAxes() -> getNestedScrollAxes
+ 940:940:int getRefreshEndOffset() -> getRefreshEndOffset
+ 936:936:int getRefreshInitOffset() -> getRefreshInitOffset
+ 241:241:float getScrollerFriction() -> getScrollerFriction
+ 944:944:int getTargetInitOffset() -> getTargetInitOffset
+ 948:948:int getTargetRefreshOffset() -> getTargetRefreshOffset
+ 957:957:android.view.View getTargetView() -> getTargetView
+ 970:970:boolean hasFlag(int) -> hasFlag
+ 1029:1029:void info(java.lang.String) -> info
+ 756:756:boolean isYDrag(float,float) -> isYDrag
+ 870:871:int moveTargetView(float) -> moveTargetView
+ 875:875:int moveTargetViewTo(int) -> moveTargetViewTo
+ 879:909:int moveTargetViewTo(int,boolean) -> moveTargetViewTo
+ 765:767:void onDetachedFromWindow() -> onDetachedFromWindow
+ 576:576:void onFinishPull(int,int,int,int,int,int,int) -> onFinishPull
+ 396:443:boolean onInterceptTouchEvent(android.view.MotionEvent) -> onInterceptTouchEvent
+ 371:392:void onLayout(boolean,int,int,int,int) -> onLayout
+ 330:367:void onMeasure(int,int) -> onMeasure
+ 966:966:void onMoveRefreshView(int) -> onMoveRefreshView
+ 962:962:void onMoveTargetView(int) -> onMoveTargetView
+ 861:866:boolean onNestedFling(android.view.View,float,float,boolean) -> onNestedFling
+ 845:855:boolean onNestedPreFling(android.view.View,float,float) -> onNestedPreFling
+ 802:813:void onNestedPreScroll(android.view.View,int,int,int[]) -> onNestedPreScroll
+ 817:822:void onNestedScroll(android.view.View,int,int,int,int) -> onNestedScroll
+ 793:798:void onNestedScrollAccepted(android.view.View,android.view.View,int) -> onNestedScrollAccepted
+ 652:660:void onRefresh() -> onRefresh
+ 726:734:void onSecondaryPointerUp(android.view.MotionEvent) -> onSecondaryPointerUp
+ 787:788:boolean onStartNestedScroll(android.view.View,android.view.View,int) -> onStartNestedScroll
+ 831:841:void onStopNestedScroll(android.view.View) -> onStopNestedScroll
+ 571:571:void onSureTargetView(android.view.View) -> onSureTargetView
+ 448:545:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 304:305:void openSafeDisallowInterceptTouchEvent() -> openSafeDisallowInterceptTouchEvent
+ 928:933:void releaseVelocityTracker() -> releaseVelocityTracker
+ 974:975:void removeFlag(int) -> removeFlag
+ 310:325:void requestDisallowInterceptTouchEvent(boolean) -> requestDisallowInterceptTouchEvent
+ 737:742:void reset() -> reset
+ 245:246:void setAutoScrollToRefreshMinOffset(int) -> setAutoScrollToRefreshMinOffset
+ 237:238:void setChildScrollUpCallback(com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout$OnChildScrollUpCallback) -> setChildScrollUpCallback
+ 227:228:void setDisableNestScrollImpl(boolean) -> setDisableNestScrollImpl
+ 232:234:void setDragRate(float) -> setDragRate
+ 710:711:void setEnableOverPull(boolean) -> setEnableOverPull
+ 771:776:void setEnabled(boolean) -> setEnabled
+ 223:224:void setOnPullListener(com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout$OnPullListener) -> setOnPullListener
+ 280:281:void setRefreshOffsetCalculator(com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout$RefreshOffsetCalculator) -> setRefreshOffsetCalculator
+ 952:954:void setTargetRefreshOffset(int) -> setTargetRefreshOffset
+ 714:722:void setTargetViewToTop(android.view.View) -> setTargetViewToTop
+ 675:676:void setToRefreshDirectly(long) -> setToRefreshDirectly
+ 679:706:void setToRefreshDirectly(long,boolean) -> setToRefreshDirectly
+ 745:753:void startDragging(float,float) -> startDragging
+com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout$1 -> com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout$1:
+ 680:680:void <init>(com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout,boolean) -> <init>
+ 683:691:void run() -> run
+com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout$2 -> com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout$2:
+ 699:699:void <init>(com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout,long,boolean) -> <init>
+ 702:703:void run() -> run
+com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout$RefreshView -> com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout$RefreshView:
+ 1111:1113:void <clinit>() -> <clinit>
+ 1116:1126:void <init>(android.content.Context) -> <init>
+ 1171:1172:void doRefresh() -> doRefresh
+ 1189:1189:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 1130:1131:void onMeasure(int,int) -> onMeasure
+ 1135:1146:void onPull(int,int,int) -> onPull
+ 1184:1185:void setColorSchemeColors(int[]) -> setColorSchemeColors
+ 1175:1181:void setColorSchemeResources(int[]) -> setColorSchemeResources
+ 1149:1164:void setSize(int) -> setSize
+ 1167:1168:void stop() -> stop
+com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton -> com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton:
+ 59:63:void <clinit>() -> <clinit>
+ 67:69:void <init>(android.content.Context) -> <init>
+ 72:74:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 77:79:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 111:111:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 102:102:int getStrokeWidth() -> getStrokeWidth
+ 82:86:void init(android.content.Context,android.util.AttributeSet,int) -> init
+ 90:91:void setBackgroundColor(int) -> setBackgroundColor
+ 94:95:void setBgData(android.content.res.ColorStateList) -> setBgData
+ 106:107:void setStrokeColors(android.content.res.ColorStateList) -> setStrokeColors
+com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButtonDrawable -> com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButtonDrawable:
+ 39:46:void <init>() -> <init>
+ 113:144:com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButtonDrawable fromAttributeSet(android.content.Context,android.util.AttributeSet,int) -> fromAttributeSet
+ 66:66:int getStrokeWidth() -> getStrokeWidth
+ 98:100:boolean isStateful() -> isStateful
+ 105:110:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 82:93:boolean onStateChange(int[]) -> onStateChange
+ 53:54:void setBgData(android.content.res.ColorStateList) -> setBgData
+ 77:78:void setIsRadiusAdjustBounds(boolean) -> setIsRadiusAdjustBounds
+ 70:71:void setStrokeColors(android.content.res.ColorStateList) -> setStrokeColors
+ 60:63:void setStrokeData(int,android.content.res.ColorStateList) -> setStrokeData
+com.qmuiteam.qmui.widget.roundwidget.QMUIRoundFrameLayout -> com.qmuiteam.qmui.widget.roundwidget.QMUIRoundFrameLayout:
+ 31:33:void <init>(android.content.Context) -> <init>
+ 36:38:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 41:43:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 46:48:void init(android.content.Context,android.util.AttributeSet,int) -> init
+com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout -> com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout:
+ 32:34:void <init>(android.content.Context) -> <init>
+ 37:39:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 42:44:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 47:49:void init(android.content.Context,android.util.AttributeSet,int) -> init
+com.qmuiteam.qmui.widget.roundwidget.QMUIRoundRelativeLayout -> com.qmuiteam.qmui.widget.roundwidget.QMUIRoundRelativeLayout:
+ 32:34:void <init>(android.content.Context) -> <init>
+ 37:39:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 42:44:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 47:49:void init(android.content.Context,android.util.AttributeSet,int) -> init
+com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter -> com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter:
+ 29:30:void <init>() -> <init>
+ 45:45:com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder onCreateCustomItemViewHolder(android.view.ViewGroup,int) -> onCreateCustomItemViewHolder
+ 39:39:com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder onCreateSectionLoadingViewHolder(android.view.ViewGroup) -> onCreateSectionLoadingViewHolder
+com.qmuiteam.qmui.widget.section.QMUISection -> com.qmuiteam.qmui.widget.section.QMUISection:
+ 73:73:com.qmuiteam.qmui.widget.section.QMUISection$Model getHeader() -> getHeader
+ 129:132:com.qmuiteam.qmui.widget.section.QMUISection$Model getItemAt(int) -> getItemAt
+ 184:184:boolean isCustomItemIndex(int) -> isCustomItemIndex
+ 77:77:boolean isFold() -> isFold
+com.qmuiteam.qmui.widget.section.QMUISectionDiffCallback -> com.qmuiteam.qmui.widget.section.QMUISectionDiffCallback:
+ 225:267:boolean areContentsTheSame(int,int) -> areContentsTheSame
+ 174:174:boolean areCustomContentsTheSame(com.qmuiteam.qmui.widget.section.QMUISection,int,com.qmuiteam.qmui.widget.section.QMUISection,int) -> areCustomContentsTheSame
+ 189:220:boolean areItemsTheSame(int,int) -> areItemsTheSame
+ 184:184:int getNewListSize() -> getNewListSize
+ 179:179:int getOldListSize() -> getOldListSize
+com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter -> com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter:
+ 59:60:void <init>() -> <init>
+ 45:64:void <init>(boolean) -> <init>
+ 36:36:com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$Callback access$000(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter) -> access$000
+ 730:730:int getCustomItemViewType(int,int) -> getCustomItemViewType
+ 597:597:int getItemCount() -> getItemCount
+ 216:219:int getItemIndex(int) -> getItemIndex
+ 686:700:int getItemViewType(int) -> getItemViewType
+ 582:588:int getRelativeStickyPosition(int) -> getRelativeStickyPosition
+ 231:238:com.qmuiteam.qmui.widget.section.QMUISection getSection(int) -> getSection
+ 681:681:void onBindCustomItem(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder,int,com.qmuiteam.qmui.widget.section.QMUISection,int) -> onBindCustomItem
+ 669:669:void onBindSectionHeader(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder,int,com.qmuiteam.qmui.widget.section.QMUISection) -> onBindSectionHeader
+ 673:673:void onBindSectionItem(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder,int,com.qmuiteam.qmui.widget.section.QMUISection,int) -> onBindSectionItem
+ 677:677:void onBindSectionLoadingItem(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder,int,com.qmuiteam.qmui.widget.section.QMUISection,boolean) -> onBindSectionLoadingItem
+ 36:36:void onBindViewHolder(androidx.recyclerview.widget.RecyclerView$ViewHolder,int) -> onBindViewHolder
+ 616:652:void onBindViewHolder(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder,int) -> onBindViewHolder
+ 36:36:androidx.recyclerview.widget.RecyclerView$ViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 603:610:com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder onCreateViewHolder(android.view.ViewGroup,int) -> onCreateViewHolder
+ 36:36:void onViewAttachedToWindow(androidx.recyclerview.widget.RecyclerView$ViewHolder) -> onViewAttachedToWindow
+ 706:727:void onViewAttachedToWindow(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder) -> onViewAttachedToWindow
+ 207:208:void setViewCallback(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewCallback) -> setViewCallback
+com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$1 -> com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$1:
+ 633:633:void <init>(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter,com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder,int) -> <init>
+ 636:640:void onClick(android.view.View) -> onClick
+com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$2 -> com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$2:
+ 642:642:void <init>(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter,com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder,int) -> <init>
+ 645:649:boolean onLongClick(android.view.View) -> onLongClick
+com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder -> com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder:
+ 763:769:void <init>(android.view.View) -> <init>
+com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration -> com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration:
+ 39:97:void <init>(android.view.ViewGroup,com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration$Callback) -> <init>
+ 34:34:int access$000(com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration) -> access$000
+ 34:34:int access$002(com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration,int) -> access$002
+ 34:34:com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration$Callback access$100(com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration) -> access$100
+ 34:34:com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder access$200(com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration) -> access$200
+ 34:34:java.lang.ref.WeakReference access$300(com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration) -> access$300
+ 34:34:void access$400(com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration,boolean) -> access$400
+ 196:199:void bindStickyViewHolder(android.view.ViewGroup,com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder,int) -> bindStickyViewHolder
+ 190:192:com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder createStickyViewHolder(androidx.recyclerview.widget.RecyclerView,int,int) -> createStickyViewHolder
+ 109:109:int getStickyHeaderViewPosition() -> getStickyHeaderViewPosition
+ 185:185:int getTargetTop() -> getTargetTop
+ 117:182:void onDrawOver(android.graphics.Canvas,androidx.recyclerview.widget.RecyclerView,androidx.recyclerview.widget.RecyclerView$State) -> onDrawOver
+ 100:106:void setHeaderVisibility(boolean) -> setHeaderVisibility
+com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration$1 -> com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration$1:
+ 47:47:void <init>(com.qmuiteam.qmui.widget.section.QMUIStickySectionItemDecoration) -> <init>
+ 50:53:void onChanged() -> onChanged
+ 77:85:void onItemRangeChanged(int,int) -> onItemRangeChanged
+ 57:62:void onItemRangeInserted(int,int) -> onItemRangeInserted
+ 66:72:void onItemRangeMoved(int,int,int) -> onItemRangeMoved
+ 89:95:void onItemRangeRemoved(int,int) -> onItemRangeRemoved
+com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout -> com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout:
+ 52:53:void <init>(android.content.Context) -> <init>
+ 56:57:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 42:77:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 37:37:int access$000(com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout) -> access$000
+ 37:37:int access$002(com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout,int) -> access$002
+ 37:37:java.lang.Runnable access$100(com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout) -> access$100
+ 37:37:java.lang.Runnable access$102(com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout,java.lang.Runnable) -> access$102
+ 37:37:androidx.recyclerview.widget.RecyclerView access$200(com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout) -> access$200
+ 275:286:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 104:104:androidx.recyclerview.widget.RecyclerView getRecyclerView() -> getRecyclerView
+ 117:120:int getStickyHeaderPosition() -> getStickyHeaderPosition
+ 109:113:android.view.View getStickySectionView() -> getStickySectionView
+ 100:100:com.qmuiteam.qmui.layout.QMUIFrameLayout getStickySectionWrapView() -> getStickySectionWrapView
+ 290:294:void onDescendantInvalidated(android.view.View,android.view.View) -> onDescendantInvalidated
+ 215:222:void onLayout(boolean,int,int,int,int) -> onLayout
+ 144:145:void setAdapter(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter) -> setAdapter
+ 162:211:void setAdapter(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter,boolean) -> setAdapter
+ 129:130:void setLayoutManager(androidx.recyclerview.widget.RecyclerView$LayoutManager) -> setLayoutManager
+com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout$1 -> com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout$1:
+ 67:67:void <init>(com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout) -> <init>
+ 70:75:void onLayoutChange(android.view.View,int,int,int,int,int,int,int,int) -> onLayoutChange
+com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout$2 -> com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout$2:
+ 163:163:void <init>(com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout,com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter) -> <init>
+ 181:182:void bindViewHolder(com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder,int) -> bindViewHolder
+ 176:176:com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter$ViewHolder createViewHolder(android.view.ViewGroup,int) -> createViewHolder
+ 186:186:int getItemViewType(int) -> getItemViewType
+ 166:166:int getRelativeStickyItemPosition(int) -> getRelativeStickyItemPosition
+ 201:202:void invalidate() -> invalidate
+ 171:171:boolean isHeaderItem(int) -> isHeaderItem
+ 197:197:void onHeaderVisibilityChanged(boolean) -> onHeaderVisibilityChanged
+ 191:192:void registerAdapterDataObserver(androidx.recyclerview.widget.RecyclerView$AdapterDataObserver) -> registerAdapterDataObserver
+com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment -> com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment:
+ 144:148:void <clinit>() -> <clinit>
+ 151:152:void <init>(android.content.Context) -> <init>
+ 155:156:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 111:166:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 101:101:void access$000(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment,com.qmuiteam.qmui.widget.tab.QMUITab,com.qmuiteam.qmui.widget.tab.QMUITab,float) -> access$000
+ 101:101:void access$100(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment,int) -> access$100
+ 101:101:void access$200(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment,int) -> access$200
+ 101:101:void access$300(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment,com.qmuiteam.qmui.widget.tab.QMUITab,boolean) -> access$300
+ 101:101:com.qmuiteam.qmui.widget.tab.QMUITabAdapter access$400(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment) -> access$400
+ 101:101:int access$500(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment) -> access$500
+ 101:101:int access$600(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment) -> access$600
+ 101:101:com.qmuiteam.qmui.widget.tab.QMUITabIndicator access$700(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment) -> access$700
+ 101:101:boolean access$800(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment) -> access$800
+ 306:309:void addOnTabSelectedListener(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment$OnTabSelectedListener) -> addOnTabSelectedListener
+ 290:291:com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment addTab(com.qmuiteam.qmui.widget.tab.QMUITab) -> addTab
+ 223:223:com.qmuiteam.qmui.widget.tab.QMUITabAdapter createTabAdapter(android.view.ViewGroup) -> createTabAdapter
+ 230:233:com.qmuiteam.qmui.widget.tab.QMUITabIndicator createTabIndicatorFromXmlInfo(boolean,int,boolean,boolean) -> createTabIndicatorFromXmlInfo
+ 386:389:void dispatchTabDoubleTap(int) -> dispatchTabDoubleTap
+ 380:383:void dispatchTabReselected(int) -> dispatchTabReselected
+ 368:371:void dispatchTabSelected(int) -> dispatchTabSelected
+ 374:377:void dispatchTabUnselected(int) -> dispatchTabUnselected
+ 1180:1180:androidx.collection.SimpleArrayMap getDefaultSkinAttrs() -> getDefaultSkinAttrs
+ 1067:1067:int getHideRadiusSide() -> getHideRadiusSide
+ 320:320:int getMode() -> getMode
+ 1052:1052:int getRadius() -> getRadius
+ 672:672:int getSelectedIndex() -> getSelectedIndex
+ 1133:1133:float getShadowAlpha() -> getShadowAlpha
+ 1143:1143:int getShadowColor() -> getShadowColor
+ 1123:1123:int getShadowElevation() -> getShadowElevation
+ 676:676:int getTabCount() -> getTabCount
+ 1185:1190:void handle(com.qmuiteam.qmui.skin.QMUISkinManager,int,android.content.res.Resources$Theme,androidx.collection.SimpleArrayMap) -> handle
+ 170:208:void init(android.content.Context,android.util.AttributeSet,int) -> init
+ 563:570:void layoutIndicator(com.qmuiteam.qmui.widget.tab.QMUITab,boolean) -> layoutIndicator
+ 573:586:void layoutIndicatorInTransition(com.qmuiteam.qmui.widget.tab.QMUITab,com.qmuiteam.qmui.widget.tab.QMUITab,float) -> layoutIndicatorInTransition
+ 352:352:boolean needPreventEvent() -> needPreventEvent
+ 299:303:void notifyDataChanged() -> notifyDataChanged
+ 335:349:void onClickTab(com.qmuiteam.qmui.widget.tab.QMUITabView,int) -> onClickTab
+ 357:364:void onDoubleClick(int) -> onDoubleClick
+ 1173:1176:void onDraw(android.graphics.Canvas) -> onDraw
+ 784:796:void onLayout(boolean,int,int,int,int) -> onLayout
+ 655:668:void onMeasure(int,int) -> onMeasure
+ 312:313:void removeOnTabSelectedListener(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment$OnTabSelectedListener) -> removeOnTabSelectedListener
+ 263:269:void reset() -> reset
+ 275:280:void resetSelect() -> resetSelect
+ 396:397:void selectTab(int) -> selectTab
+ 400:560:void selectTab(int,boolean,boolean) -> selectTab
+ 1072:1074:void setBorderColor(int) -> setBorderColor
+ 1078:1080:void setBorderWidth(int) -> setBorderWidth
+ 1009:1011:void setBottomDividerAlpha(int) -> setBottomDividerAlpha
+ 215:216:void setDefaultTabIconPosition(int) -> setDefaultTabIconPosition
+ 252:253:void setHideIndicatorWhenTabCountLessTwo(boolean) -> setHideIndicatorWhenTabCountLessTwo
+ 1062:1063:void setHideRadiusSide(int) -> setHideRadiusSide
+ 247:249:void setIndicator(com.qmuiteam.qmui.widget.tab.QMUITabIndicator) -> setIndicator
+ 256:257:void setItemSpaceInScrollMode(int) -> setItemSpaceInScrollMode
+ 1015:1017:void setLeftDividerAlpha(int) -> setLeftDividerAlpha
+ 324:331:void setMode(int) -> setMode
+ 649:650:void setOnTabClickListener(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment$OnTabClickListener) -> setOnTabClickListener
+ 1148:1149:void setOuterNormalColor(int) -> setOuterNormalColor
+ 1113:1114:void setOutlineExcludePadding(boolean) -> setOutlineExcludePadding
+ 1042:1043:void setRadius(int) -> setRadius
+ 1021:1023:void setRightDividerAlpha(int) -> setRightDividerAlpha
+ 392:393:void setSelectNoAnimation(boolean) -> setSelectNoAnimation
+ 1128:1129:void setShadowAlpha(float) -> setShadowAlpha
+ 1138:1139:void setShadowColor(int) -> setShadowColor
+ 1118:1119:void setShadowElevation(int) -> setShadowElevation
+ 1084:1086:void setShowBorderOnlyBeforeL(boolean) -> setShowBorderOnlyBeforeL
+ 1003:1005:void setTopDividerAlpha(int) -> setTopDividerAlpha
+ 1153:1154:void updateBottomSeparatorColor(int) -> updateBottomSeparatorColor
+ 589:612:void updateIndicatorPosition(int,float) -> updateIndicatorPosition
+ 1158:1159:void updateLeftSeparatorColor(int) -> updateLeftSeparatorColor
+ 1163:1164:void updateRightSeparatorColor(int) -> updateRightSeparatorColor
+ 1168:1169:void updateTopSeparatorColor(int) -> updateTopSeparatorColor
+com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment$1 -> com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment$1:
+ 509:509:void <init>(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment,com.qmuiteam.qmui.widget.tab.QMUITabView,com.qmuiteam.qmui.widget.tab.QMUITabView,com.qmuiteam.qmui.widget.tab.QMUITab,com.qmuiteam.qmui.widget.tab.QMUITab) -> <init>
+ 512:516:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment$2 -> com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment$2:
+ 518:518:void <init>(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment,com.qmuiteam.qmui.widget.tab.QMUITabView,com.qmuiteam.qmui.widget.tab.QMUITabView,int,int,com.qmuiteam.qmui.widget.tab.QMUITab) -> <init>
+ 543:550:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 526:539:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+ 555:555:void onAnimationRepeat(android.animation.Animator) -> onAnimationRepeat
+ 521:522:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment$Container -> com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment$Container:
+ 801:805:void <init>(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment,android.content.Context) -> <init>
+ 943:947:void onDraw(android.graphics.Canvas) -> onDraw
+ 889:939:void onLayout(boolean,int,int,int,int) -> onLayout
+ 810:885:void onMeasure(int,int) -> onMeasure
+com.qmuiteam.qmui.widget.tab.QMUITab -> com.qmuiteam.qmui.widget.tab.QMUITab:
+ 65:93:void <init>(java.lang.CharSequence) -> <init>
+ 105:105:int getIconPosition() -> getIconPosition
+ 222:222:int getIconTextGap() -> getIconTextGap
+ 154:157:int getNormalColor(android.view.View) -> getNormalColor
+ 211:214:int getNormalTabIconHeight() -> getNormalTabIconHeight
+ 204:207:int getNormalTabIconWidth() -> getNormalTabIconWidth
+ 161:164:int getSelectColor(android.view.View) -> getSelectColor
+ 218:218:float getSelectedTabIconScale() -> getSelectedTabIconScale
+ 192:192:com.qmuiteam.qmui.widget.tab.QMUITabIcon getTabIcon() -> getTabIcon
+ 97:97:java.lang.CharSequence getText() -> getText
+ 226:226:boolean isAllowIconDrawOutside() -> isAllowIconDrawOutside
+com.qmuiteam.qmui.widget.tab.QMUITabAdapter -> com.qmuiteam.qmui.widget.tab.QMUITabAdapter:
+ 27:29:void <init>(com.qmuiteam.qmui.widget.tab.QMUIBasicTabSegment,android.view.ViewGroup) -> <init>
+ 23:23:void bind(java.lang.Object,android.view.View,int) -> bind
+ 38:45:void bind(com.qmuiteam.qmui.widget.tab.QMUITab,com.qmuiteam.qmui.widget.tab.QMUITabView,int) -> bind
+ 23:23:android.view.View createView(android.view.ViewGroup) -> createView
+ 33:33:com.qmuiteam.qmui.widget.tab.QMUITabView createView(android.view.ViewGroup) -> createView
+ 55:56:void onBindTab(com.qmuiteam.qmui.widget.tab.QMUITab,com.qmuiteam.qmui.widget.tab.QMUITabView,int) -> onBindTab
+ 60:62:void onClick(com.qmuiteam.qmui.widget.tab.QMUITabView) -> onClick
+ 66:68:void onDoubleClick(com.qmuiteam.qmui.widget.tab.QMUITabView) -> onDoubleClick
+ 72:72:void onLongClick(com.qmuiteam.qmui.widget.tab.QMUITabView) -> onLongClick
+ 23:23:void onViewRecycled(android.view.View) -> onViewRecycled
+ 49:52:void onViewRecycled(com.qmuiteam.qmui.widget.tab.QMUITabView) -> onViewRecycled
+com.qmuiteam.qmui.widget.tab.QMUITabBuilder -> com.qmuiteam.qmui.widget.tab.QMUITabBuilder:
+ 37:160:void <init>(android.content.Context) -> <init>
+ 351:402:com.qmuiteam.qmui.widget.tab.QMUITab build(android.content.Context) -> build
+ 336:337:com.qmuiteam.qmui.widget.tab.QMUITabBuilder setGravity(int) -> setGravity
+ 341:342:com.qmuiteam.qmui.widget.tab.QMUITabBuilder setIconPosition(int) -> setIconPosition
+ 346:347:com.qmuiteam.qmui.widget.tab.QMUITabBuilder setText(java.lang.CharSequence) -> setText
+ 242:244:com.qmuiteam.qmui.widget.tab.QMUITabBuilder setTextSize(int,int) -> setTextSize
+com.qmuiteam.qmui.widget.tab.QMUITabIcon -> com.qmuiteam.qmui.widget.tab.QMUITabIcon:
+ 39:62:void <init>(android.graphics.drawable.Drawable,android.graphics.drawable.Drawable,boolean) -> <init>
+ 188:192:void draw(android.graphics.Canvas) -> draw
+ 148:148:int getIntrinsicHeight() -> getIntrinsicHeight
+ 143:143:int getIntrinsicWidth() -> getIntrinsicWidth
+ 163:163:int getOpacity() -> getOpacity
+ 65:65:boolean hasSelectedIcon() -> hasSelectedIcon
+ 204:208:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 196:200:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 212:216:void scheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable,long) -> scheduleDrawable
+ 154:154:void setAlpha(int) -> setAlpha
+ 159:159:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 172:184:void setSelectFraction(float,int) -> setSelectFraction
+ 127:139:void src(android.graphics.drawable.Drawable,int,int) -> src
+ 91:97:void srcNormal(android.graphics.drawable.Drawable) -> srcNormal
+ 100:108:void srcSelected(android.graphics.drawable.Drawable) -> srcSelected
+ 69:76:void tint(int,int) -> tint
+ 79:81:void tintNormal(int) -> tintNormal
+ 84:88:void tintSelected(int) -> tintSelected
+ 220:224:void unscheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable) -> unscheduleDrawable
+com.qmuiteam.qmui.widget.tab.QMUITabIndicator -> com.qmuiteam.qmui.widget.tab.QMUITabIndicator:
+ 70:71:void <init>(int,boolean,boolean) -> <init>
+ 44:79:void <init>(int,boolean,boolean,int) -> <init>
+ 134:154:void draw(android.view.View,android.graphics.Canvas,int,int) -> draw
+ 159:164:void handleSkinChange(com.qmuiteam.qmui.skin.QMUISkinManager,int,android.content.res.Resources$Theme,com.qmuiteam.qmui.widget.tab.QMUITab) -> handleSkinChange
+ 96:96:boolean isIndicatorWidthFollowContent() -> isIndicatorWidthFollowContent
+ 122:131:void updateColor(int) -> updateColor
+ 105:115:void updateInfo(int,int,int) -> updateInfo
+ 118:119:void updateInfo(int,int,int,float) -> updateInfo
+com.qmuiteam.qmui.widget.tab.QMUITabSegment -> com.qmuiteam.qmui.widget.tab.QMUITabSegment:
+ 41:54:void <init>(android.content.Context) -> <init>
+ 41:58:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 41:62:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 34:34:void access$000(com.qmuiteam.qmui.widget.tab.QMUITabSegment,int) -> access$000
+ 34:34:androidx.viewpager.widget.ViewPager access$100(com.qmuiteam.qmui.widget.tab.QMUITabSegment) -> access$100
+ 66:66:boolean needPreventEvent() -> needPreventEvent
+ 155:174:void populateFromPagerAdapter(boolean) -> populateFromPagerAdapter
+ 178:195:void setPagerAdapter(androidx.viewpager.widget.PagerAdapter,boolean,boolean) -> setPagerAdapter
+ 144:151:void setViewPagerScrollState(int) -> setViewPagerScrollState
+ 76:77:void setupWithViewPager(androidx.viewpager.widget.ViewPager) -> setupWithViewPager
+ 80:81:void setupWithViewPager(androidx.viewpager.widget.ViewPager,boolean) -> setupWithViewPager
+ 91:140:void setupWithViewPager(androidx.viewpager.widget.ViewPager,boolean,boolean) -> setupWithViewPager
+com.qmuiteam.qmui.widget.tab.QMUITabSegment$AdapterChangeListener -> com.qmuiteam.qmui.widget.tab.QMUITabSegment$AdapterChangeListener:
+ 266:268:void <init>(com.qmuiteam.qmui.widget.tab.QMUITabSegment,boolean) -> <init>
+ 273:276:void onAdapterChanged(androidx.viewpager.widget.ViewPager,androidx.viewpager.widget.PagerAdapter,androidx.viewpager.widget.PagerAdapter) -> onAdapterChanged
+ 279:280:void setAutoRefresh(boolean) -> setAutoRefresh
+com.qmuiteam.qmui.widget.tab.QMUITabSegment$PagerAdapterObserver -> com.qmuiteam.qmui.widget.tab.QMUITabSegment$PagerAdapterObserver:
+ 287:289:void <init>(com.qmuiteam.qmui.widget.tab.QMUITabSegment,boolean) -> <init>
+ 293:294:void onChanged() -> onChanged
+ 298:299:void onInvalidated() -> onInvalidated
+com.qmuiteam.qmui.widget.tab.QMUITabSegment$TabLayoutOnPageChangeListener -> com.qmuiteam.qmui.widget.tab.QMUITabSegment$TabLayoutOnPageChangeListener:
+ 200:202:void <init>(com.qmuiteam.qmui.widget.tab.QMUITabSegment) -> <init>
+ 206:211:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 216:220:void onPageScrolled(int,float,int) -> onPageScrolled
+ 224:233:void onPageSelected(int) -> onPageSelected
+com.qmuiteam.qmui.widget.tab.QMUITabSegment$ViewPagerOnTabSelectedListener -> com.qmuiteam.qmui.widget.tab.QMUITabSegment$ViewPagerOnTabSelectedListener:
+ 239:241:void <init>(androidx.viewpager.widget.ViewPager) -> <init>
+ 259:259:void onDoubleTap(int) -> onDoubleTap
+ 254:254:void onTabReselected(int) -> onTabReselected
+ 245:246:void onTabSelected(int) -> onTabSelected
+ 250:250:void onTabUnselected(int) -> onTabUnselected
+com.qmuiteam.qmui.widget.tab.QMUITabSegment2 -> com.qmuiteam.qmui.widget.tab.QMUITabSegment2:
+ 38:48:void <init>(android.content.Context) -> <init>
+ 38:52:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 38:56:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 31:31:void access$000(com.qmuiteam.qmui.widget.tab.QMUITabSegment2,int) -> access$000
+ 60:60:boolean needPreventEvent() -> needPreventEvent
+ 100:107:void setViewPagerScrollState(int) -> setViewPagerScrollState
+ 70:96:void setupWithViewPager(androidx.viewpager2.widget.ViewPager2) -> setupWithViewPager
+com.qmuiteam.qmui.widget.tab.QMUITabSegment2$TabLayoutOnPageChangeListener -> com.qmuiteam.qmui.widget.tab.QMUITabSegment2$TabLayoutOnPageChangeListener:
+ 113:115:void <init>(com.qmuiteam.qmui.widget.tab.QMUITabSegment2) -> <init>
+ 119:124:void onPageScrollStateChanged(int) -> onPageScrollStateChanged
+ 129:133:void onPageScrolled(int,float,int) -> onPageScrolled
+ 137:146:void onPageSelected(int) -> onPageSelected
+com.qmuiteam.qmui.widget.tab.QMUITabSegment2$ViewPagerOnTabSelectedListener -> com.qmuiteam.qmui.widget.tab.QMUITabSegment2$ViewPagerOnTabSelectedListener:
+ 152:154:void <init>(androidx.viewpager2.widget.ViewPager2) -> <init>
+ 172:172:void onDoubleTap(int) -> onDoubleTap
+ 167:167:void onTabReselected(int) -> onTabReselected
+ 158:159:void onTabSelected(int) -> onTabSelected
+ 163:163:void onTabUnselected(int) -> onTabUnselected
+com.qmuiteam.qmui.widget.tab.QMUITabView -> com.qmuiteam.qmui.widget.tab.QMUITabView:
+ 61:125:void <init>(android.content.Context) -> <init>
+ 54:54:com.qmuiteam.qmui.widget.tab.QMUITabView$Callback access$000(com.qmuiteam.qmui.widget.tab.QMUITabView) -> access$000
+ 142:182:void bind(com.qmuiteam.qmui.widget.tab.QMUITab) -> bind
+ 398:422:android.graphics.Point calculateSignCountLayoutPosition() -> calculateSignCountLayoutPosition
+ 292:300:com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton createSignCountView(android.content.Context) -> createSignCountView
+ 685:687:void draw(android.graphics.Canvas) -> draw
+ 277:288:com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton ensureSignCountView(android.content.Context) -> ensureSignCountView
+ 260:272:int getContentViewLeft() -> getContentViewLeft
+ 244:256:int getContentViewWidth() -> getContentViewWidth
+ 186:186:float getSelectFraction() -> getSelectFraction
+ 720:724:void handle(com.qmuiteam.qmui.skin.QMUISkinManager,int,android.content.res.Resources$Theme,androidx.collection.SimpleArrayMap) -> handle
+ 680:681:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 700:716:void onDrawTab(android.graphics.Canvas) -> onDrawTab
+ 691:697:void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) -> onInitializeAccessibilityNodeInfo
+ 376:379:void onLayout(boolean,int,int,int,int) -> onLayout
+ 382:395:void onLayoutSignCount(int,int) -> onLayoutSignCount
+ 426:676:void onLayoutTab(int,int) -> onLayoutTab
+ 305:354:void onMeasure(int,int) -> onMeasure
+ 357:372:void onMeasureTab(int,int) -> onMeasureTab
+ 138:138:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 128:129:void setCallback(com.qmuiteam.qmui.widget.tab.QMUITabView$Callback) -> setCallback
+ 132:134:void setPositionInterpolator(android.view.animation.Interpolator) -> setPositionInterpolator
+ 190:213:void setSelectFraction(float) -> setSelectFraction
+ 216:241:void updateCurrentInfo(float) -> updateCurrentInfo
+ 727:773:void updateSkinInfo(com.qmuiteam.qmui.widget.tab.QMUITab) -> updateSkinInfo
+com.qmuiteam.qmui.widget.tab.QMUITabView$1 -> com.qmuiteam.qmui.widget.tab.QMUITabView$1:
+ 93:93:void <init>(com.qmuiteam.qmui.widget.tab.QMUITabView) -> <init>
+ 97:101:boolean onDoubleTap(android.view.MotionEvent) -> onDoubleTap
+ 115:115:boolean onDown(android.view.MotionEvent) -> onDown
+ 120:123:void onLongPress(android.view.MotionEvent) -> onLongPress
+ 106:110:boolean onSingleTapUp(android.view.MotionEvent) -> onSingleTapUp
+com.qmuiteam.qmui.widget.textview.QMUILinkTextView -> com.qmuiteam.qmui.widget.textview.QMUILinkTextView:
+ 63:89:void <clinit>() -> <clinit>
+ 92:95:void <init>(android.content.Context) -> <init>
+ 65:239:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 60:60:com.qmuiteam.qmui.widget.textview.QMUILinkTextView$OnLinkClickListener access$000(com.qmuiteam.qmui.widget.textview.QMUILinkTextView) -> access$000
+ 213:215:void disallowOnSpanClickInterrupt() -> disallowOnSpanClickInterrupt
+ 128:128:int getAutoLinkMaskCompat() -> getAutoLinkMaskCompat
+ 161:191:boolean onSpanClick(java.lang.String) -> onSpanClick
+ 197:209:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 228:236:boolean performLongClick() -> performLongClick
+ 218:222:boolean performSpanLongClick(java.lang.String) -> performSpanLongClick
+ 132:133:void setAutoLinkMaskCompat(int) -> setAutoLinkMaskCompat
+ 145:146:void setLinkColor(android.content.res.ColorStateList) -> setLinkColor
+ 120:121:void setOnLinkClickListener(com.qmuiteam.qmui.widget.textview.QMUILinkTextView$OnLinkClickListener) -> setOnLinkClickListener
+ 124:125:void setOnLinkLongClickListener(com.qmuiteam.qmui.widget.textview.QMUILinkTextView$OnLinkLongClickListener) -> setOnLinkLongClickListener
+ 150:157:void setText(java.lang.CharSequence,android.widget.TextView$BufferType) -> setText
+com.qmuiteam.qmui.widget.textview.QMUILinkTextView$1 -> com.qmuiteam.qmui.widget.textview.QMUILinkTextView$1:
+ 239:239:void <init>(com.qmuiteam.qmui.widget.textview.QMUILinkTextView,android.os.Looper) -> <init>
+ 242:262:void handleMessage(android.os.Message) -> handleMessage
+com.qmuiteam.qmui.widget.textview.QMUISpanTouchFixTextView -> com.qmuiteam.qmui.widget.textview.QMUISpanTouchFixTextView:
+ 78:79:void <init>(android.content.Context) -> <init>
+ 82:83:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 69:89:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 400:403:void dispatchDraw(android.graphics.Canvas) -> dispatchDraw
+ 247:247:int getHideRadiusSide() -> getHideRadiusSide
+ 289:289:int getRadius() -> getRadius
+ 360:360:float getShadowAlpha() -> getShadowAlpha
+ 370:370:int getShadowColor() -> getShadowColor
+ 350:350:int getShadowElevation() -> getShadowElevation
+ 252:260:void onMeasure(int,int) -> onMeasure
+ 163:164:void onSetPressed(boolean) -> onSetPressed
+ 114:125:boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
+ 139:142:boolean performClick() -> performClick
+ 148:151:boolean performLongClick() -> performLongClick
+ 299:301:void setBorderColor(int) -> setBorderColor
+ 305:307:void setBorderWidth(int) -> setBorderWidth
+ 223:225:void setBottomDividerAlpha(int) -> setBottomDividerAlpha
+ 241:243:void setHideRadiusSide(int) -> setHideRadiusSide
+ 229:231:void setLeftDividerAlpha(int) -> setLeftDividerAlpha
+ 106:110:void setMovementMethodCompat(android.text.method.MovementMethod) -> setMovementMethodCompat
+ 102:103:void setMovementMethodDefault() -> setMovementMethodDefault
+ 92:96:void setNeedForceEventToParent(boolean) -> setNeedForceEventToParent
+ 375:376:void setOuterNormalColor(int) -> setOuterNormalColor
+ 340:341:void setOutlineExcludePadding(boolean) -> setOutlineExcludePadding
+ 156:160:void setPressed(boolean) -> setPressed
+ 279:280:void setRadius(int) -> setRadius
+ 235:237:void setRightDividerAlpha(int) -> setRightDividerAlpha
+ 355:356:void setShadowAlpha(float) -> setShadowAlpha
+ 365:366:void setShadowColor(int) -> setShadowColor
+ 345:346:void setShadowElevation(int) -> setShadowElevation
+ 311:313:void setShowBorderOnlyBeforeL(boolean) -> setShowBorderOnlyBeforeL
+ 217:219:void setTopDividerAlpha(int) -> setTopDividerAlpha
+ 130:134:void setTouchSpanHit(boolean) -> setTouchSpanHit
+ 380:381:void updateBottomSeparatorColor(int) -> updateBottomSeparatorColor
+ 385:386:void updateLeftSeparatorColor(int) -> updateLeftSeparatorColor
+ 390:391:void updateRightSeparatorColor(int) -> updateRightSeparatorColor
+ 395:396:void updateTopSeparatorColor(int) -> updateTopSeparatorColor
+com.qmuiteam.qmui.widget.webview.QMUIWebView -> com.qmuiteam.qmui.widget.webview.QMUIWebView:
+ 45:45:void <clinit>() -> <clinit>
+ 55:62:void <init>(android.content.Context) -> <init>
+ 55:67:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 55:72:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 42:42:boolean access$000(com.qmuiteam.qmui.widget.webview.QMUIWebView) -> access$000
+ 42:42:void access$100(com.qmuiteam.qmui.widget.webview.QMUIWebView,android.graphics.Rect) -> access$100
+ 106:109:void addCustomOnScrollChangeListener(com.qmuiteam.qmui.widget.webview.QMUIWebView$OnScrollChangeListener) -> addCustomOnScrollChangeListener
+ 98:98:void addJavascriptInterface(java.lang.Object,java.lang.String) -> addJavascriptInterface
+ 191:196:void destroy() -> destroy
+ 137:137:boolean dispatchKeyEvent(android.view.KeyEvent) -> dispatchKeyEvent
+ 163:167:void doNotSupportChangeCssEnv() -> doNotSupportChangeCssEnv
+ 261:281:java.lang.Object getAwContentsFieldValueInProvider(java.lang.Object) -> getAwContentsFieldValueInProvider
+ 186:186:int getExtraInsetBottom(float) -> getExtraInsetBottom
+ 178:178:int getExtraInsetLeft(float) -> getExtraInsetLeft
+ 182:182:int getExtraInsetRight(float) -> getExtraInsetRight
+ 174:174:int getExtraInsetTop(float) -> getExtraInsetTop
+ 310:323:java.lang.reflect.Method getSetDisplayCutoutSafeAreaMethodInWebContents(java.lang.Object) -> getSetDisplayCutoutSafeAreaMethodInWebContents
+ 286:305:java.lang.Object getWebContentsFieldValueInAwContents(java.lang.Object) -> getWebContentsFieldValueInAwContents
+ 75:93:void init() -> init
+ 170:170:boolean isNotSupportChangeCssEnv() -> isNotSupportChangeCssEnv
+ 255:257:void onAttachedToWindow() -> onAttachedToWindow
+ 121:125:void onScrollChanged(int,int,int,int) -> onScrollChanged
+ 159:160:void setCallback(com.qmuiteam.qmui.widget.webview.QMUIWebView$Callback) -> setCallback
+ 102:103:void setCustomOnScrollChangeListener(com.qmuiteam.qmui.widget.webview.QMUIWebView$OnScrollChangeListener) -> setCustomOnScrollChangeListener
+ 141:152:void setNeedDispatchSafeAreaInset(boolean) -> setNeedDispatchSafeAreaInset
+ 199:251:void setStyleDisplayCutoutSafeArea(android.graphics.Rect) -> setStyleDisplayCutoutSafeArea
+ 129:133:void setWebViewClient(android.webkit.WebViewClient) -> setWebViewClient
+com.qmuiteam.qmui.widget.webview.QMUIWebView$1 -> com.qmuiteam.qmui.widget.webview.QMUIWebView$1:
+ 78:78:void <init>(com.qmuiteam.qmui.widget.webview.QMUIWebView) -> <init>
+ 81:91:void handleInset(android.view.View,androidx.core.graphics.Insets) -> handleInset
+com.qmuiteam.qmui.widget.webview.QMUIWebViewClient -> com.qmuiteam.qmui.widget.webview.QMUIWebViewClient:
+ 30:30:void access$000(com.qmuiteam.qmui.widget.webview.QMUIWebViewClient,android.webkit.WebView) -> access$000
+ 96:110:void dispatchFullscreenRequestAction(com.qmuiteam.qmui.widget.webview.QMUIWebView) -> dispatchFullscreenRequestAction
+ 113:117:void dispatchFullscreenRequestEvent(android.webkit.WebView) -> dispatchFullscreenRequestEvent
+ 73:73:java.lang.String getJsCodeForDisableVideoFullscreenBtn() -> getJsCodeForDisableVideoFullscreenBtn
+ 84:84:java.lang.String getJsCodeForFullscreenHtml() -> getJsCodeForFullscreenHtml
+ 62:70:void onPageFinished(android.webkit.WebView,java.lang.String) -> onPageFinished
+ 55:57:void onPageStarted(android.webkit.WebView,java.lang.String,android.graphics.Bitmap) -> onPageStarted
+ 120:130:void runJsCode(android.webkit.WebView,java.lang.String,java.lang.Runnable) -> runJsCode
+com.qmuiteam.qmui.widget.webview.QMUIWebViewClient$1 -> com.qmuiteam.qmui.widget.webview.QMUIWebViewClient$1:
+ 104:104:void <init>(com.qmuiteam.qmui.widget.webview.QMUIWebViewClient,com.qmuiteam.qmui.widget.webview.QMUIWebView) -> <init>
+ 107:108:void run() -> run
+com.qmuiteam.qmui.widget.webview.QMUIWebViewClient$2 -> com.qmuiteam.qmui.widget.webview.QMUIWebViewClient$2:
+ 123:123:void <init>(com.qmuiteam.qmui.widget.webview.QMUIWebViewClient,java.lang.Runnable) -> <init>
+ 123:123:void onReceiveValue(java.lang.Object) -> onReceiveValue
+ 126:127:void onReceiveValue(java.lang.String) -> onReceiveValue
+com.qmuiteam.qmui.widget.webview.QMUIWebViewContainer -> com.qmuiteam.qmui.widget.webview.QMUIWebViewContainer:
+ 37:38:void <init>(android.content.Context) -> <init>
+ 41:42:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 61:61:android.widget.FrameLayout$LayoutParams getWebViewLayoutParams() -> getWebViewLayoutParams
+ 82:83:void setCustomOnScrollChangeListener(com.qmuiteam.qmui.widget.webview.QMUIWebView$OnScrollChangeListener) -> setCustomOnScrollChangeListener
+ 67:70:void setNeedDispatchSafeAreaInset(boolean) -> setNeedDispatchSafeAreaInset
+com.shlb.lbble.Application -> com.shlb.lbble.Application:
+ 9:12:void <init>() -> <init>
+ 15:18:void onCreate() -> onCreate
+com.shlb.lbble.MainActivity -> com.shlb.lbble.MainActivity:
+ 59:289:void <init>() -> <init>
+ 59:59:com.shlb.lbble.model.BluetoothLeDeviceStore access$000(com.shlb.lbble.MainActivity) -> access$000
+ 59:59:int access$100(com.shlb.lbble.MainActivity) -> access$100
+ 59:59:com.blakequ.bluetooth_manager_lib.util.BluetoothUtils access$1000(com.shlb.lbble.MainActivity) -> access$1000
+ 59:59:int access$102(com.shlb.lbble.MainActivity,int) -> access$102
+ 59:59:void access$1100(com.shlb.lbble.MainActivity) -> access$1100
+ 59:59:com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager access$1200(com.shlb.lbble.MainActivity) -> access$1200
+ 59:59:com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener access$1300(com.shlb.lbble.MainActivity) -> access$1300
+ 59:59:com.shlb.lbble.adapter.DeviceListAdapter access$1400(com.shlb.lbble.MainActivity) -> access$1400
+ 59:59:void access$1500(com.shlb.lbble.MainActivity,java.lang.String) -> access$1500
+ 59:59:void access$1600(com.shlb.lbble.MainActivity,java.lang.String) -> access$1600
+ 59:59:void access$1700(com.shlb.lbble.MainActivity) -> access$1700
+ 59:59:void access$200(com.shlb.lbble.MainActivity) -> access$200
+ 59:59:void access$300(com.shlb.lbble.MainActivity,java.util.List) -> access$300
+ 59:59:boolean access$400(com.shlb.lbble.MainActivity) -> access$400
+ 59:59:boolean access$402(com.shlb.lbble.MainActivity,boolean) -> access$402
+ 59:59:com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager access$500(com.shlb.lbble.MainActivity) -> access$500
+ 59:59:void access$600(com.shlb.lbble.MainActivity,java.lang.String) -> access$600
+ 59:59:void access$700(com.shlb.lbble.MainActivity,java.lang.String) -> access$700
+ 59:59:com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice access$800(com.shlb.lbble.MainActivity) -> access$800
+ 59:59:com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice access$802(com.shlb.lbble.MainActivity,com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice) -> access$802
+ 59:59:void access$900(com.shlb.lbble.MainActivity,java.lang.String) -> access$900
+ 360:387:boolean checkIsBleState() -> checkIsBleState
+ 627:637:boolean checkPermission() -> checkPermission
+ 91:93:void contentView() -> contentView
+ 241:258:void displayGattServices(java.util.List) -> displayGattServices
+ 261:286:java.lang.String getPropertyString(int) -> getPropertyString
+ 167:234:void initConn() -> initConn
+ 108:108:void initData() -> initData
+ 112:112:void initEvent() -> initEvent
+ 392:518:void initGroupListView() -> initGroupListView
+ 115:164:void initScan() -> initScan
+ 592:595:void initTitlebar() -> initTitlebar
+ 97:102:void initView() -> initView
+ 644:651:void onDestroy() -> onDestroy
+ 578:589:void onEventRefresh(com.shlb.lbble.event.UpdateEvent) -> onEventRefresh
+ 524:570:void showBluetoothDialog() -> showBluetoothDialog
+ 348:357:void startScan() -> startScan
+ 332:341:void updateBleInfo() -> updateBleInfo
+com.shlb.lbble.MainActivity$1 -> com.shlb.lbble.MainActivity$1:
+ 118:118:void <init>(com.shlb.lbble.MainActivity) -> <init>
+ 122:122:void onScanOver() -> onScanOver
+com.shlb.lbble.MainActivity$10 -> com.shlb.lbble.MainActivity$10:
+ 292:578:void <clinit>() -> <clinit>
+com.shlb.lbble.MainActivity$2 -> com.shlb.lbble.MainActivity$2:
+ 125:125:void <init>(com.shlb.lbble.MainActivity) -> <init>
+ 128:129:void onBatchScanResults(java.util.List) -> onBatchScanResults
+ 133:137:void onScanFailed(int) -> onScanFailed
+ 141:159:void onScanResult(int,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat) -> onScanResult
+com.shlb.lbble.MainActivity$3 -> com.shlb.lbble.MainActivity$3:
+ 170:170:void <init>(com.shlb.lbble.MainActivity) -> <init>
+ 195:197:void onCharacteristicChanged(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattCharacteristic) -> onCharacteristicChanged
+ 174:180:void onCharacteristicRead(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattCharacteristic,int) -> onCharacteristicRead
+ 184:191:void onCharacteristicWrite(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattCharacteristic,int) -> onCharacteristicWrite
+ 201:216:void onConnectionStateChange(android.bluetooth.BluetoothGatt,int,int) -> onConnectionStateChange
+ 220:230:void onServicesDiscovered(android.bluetooth.BluetoothGatt,int) -> onServicesDiscovered
+com.shlb.lbble.MainActivity$3$1 -> com.shlb.lbble.MainActivity$3$1:
+ 204:204:void <init>(com.shlb.lbble.MainActivity$3) -> <init>
+ 207:207:void run() -> run
+com.shlb.lbble.MainActivity$3$2 -> com.shlb.lbble.MainActivity$3$2:
+ 210:210:void <init>(com.shlb.lbble.MainActivity$3) -> <init>
+ 213:214:void run() -> run
+com.shlb.lbble.MainActivity$3$3 -> com.shlb.lbble.MainActivity$3$3:
+ 222:222:void <init>(com.shlb.lbble.MainActivity$3,android.bluetooth.BluetoothGatt) -> <init>
+ 225:226:void run() -> run
+com.shlb.lbble.MainActivity$4 -> com.shlb.lbble.MainActivity$4:
+ 289:289:void <init>(com.shlb.lbble.MainActivity) -> <init>
+ 292:328:void onConnectStateChanged(java.lang.String,com.blakequ.bluetooth_manager_lib.connect.ConnectState) -> onConnectStateChanged
+com.shlb.lbble.MainActivity$4$1 -> com.shlb.lbble.MainActivity$4$1:
+ 297:297:void <init>(com.shlb.lbble.MainActivity$4) -> <init>
+ 300:303:void run() -> run
+com.shlb.lbble.MainActivity$4$2 -> com.shlb.lbble.MainActivity$4$2:
+ 309:309:void <init>(com.shlb.lbble.MainActivity$4) -> <init>
+ 312:313:void run() -> run
+com.shlb.lbble.MainActivity$4$3 -> com.shlb.lbble.MainActivity$4$3:
+ 319:319:void <init>(com.shlb.lbble.MainActivity$4) -> <init>
+ 322:323:void run() -> run
+com.shlb.lbble.MainActivity$5 -> com.shlb.lbble.MainActivity$5:
+ 374:374:void <init>(com.shlb.lbble.MainActivity) -> <init>
+ 377:380:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.MainActivity$6 -> com.shlb.lbble.MainActivity$6:
+ 368:368:void <init>(com.shlb.lbble.MainActivity) -> <init>
+ 371:372:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.MainActivity$7 -> com.shlb.lbble.MainActivity$7:
+ 445:445:void <init>(com.shlb.lbble.MainActivity) -> <init>
+ 448:494:void onClick(android.view.View) -> onClick
+com.shlb.lbble.MainActivity$7$1 -> com.shlb.lbble.MainActivity$7$1:
+ 468:468:void <init>(com.shlb.lbble.MainActivity$7) -> <init>
+ 471:477:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.MainActivity$7$2 -> com.shlb.lbble.MainActivity$7$2:
+ 462:462:void <init>(com.shlb.lbble.MainActivity$7) -> <init>
+ 465:466:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.MainActivity$8 -> com.shlb.lbble.MainActivity$8:
+ 532:532:void <init>(com.shlb.lbble.MainActivity) -> <init>
+ 536:547:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+com.shlb.lbble.MainActivity$9 -> com.shlb.lbble.MainActivity$9:
+ 552:552:void <init>(com.shlb.lbble.MainActivity) -> <init>
+ 555:556:void onDismiss(android.content.DialogInterface) -> onDismiss
+com.shlb.lbble.MainActivity_ViewBinding -> com.shlb.lbble.MainActivity_ViewBinding:
+ 22:26:void <init>(com.shlb.lbble.MainActivity,android.view.View) -> <init>
+com.shlb.lbble.SplashActivity -> com.shlb.lbble.SplashActivity:
+ 14:14:void <init>() -> <init>
+ 20:33:void onCreate(android.os.Bundle) -> onCreate
+com.shlb.lbble.SplashActivity$1 -> com.shlb.lbble.SplashActivity$1:
+ 26:26:void <init>(com.shlb.lbble.SplashActivity) -> <init>
+ 29:31:void onAnimationEnd() -> onAnimationEnd
+com.shlb.lbble.activity.AddressActivity -> com.shlb.lbble.activity.AddressActivity:
+ void $r8$lambda$mihdCv96zUMVV2QRb78Z4ltpL8s(com.qmuiteam.qmui.widget.dialog.QMUIDialog,android.view.View) -> $r8$lambda$mihdCv96zUMVV2QRb78Z4ltpL8s
+ # {"id":"com.android.tools.r8.synthesized"}
+ 70:108:void <init>() -> <init>
+ 70:70:void access$000(com.shlb.lbble.activity.AddressActivity,java.lang.String) -> access$000
+ 70:70:void access$100(com.shlb.lbble.activity.AddressActivity,java.lang.String) -> access$100
+ 70:70:void access$200(com.shlb.lbble.activity.AddressActivity,java.lang.String) -> access$200
+ 70:70:void access$300(com.shlb.lbble.activity.AddressActivity,java.lang.String) -> access$300
+ 91:92:void contentView() -> contentView
+ 425:448:java.util.List getWriteData() -> getWriteData
+ 125:167:void initData() -> initData
+ 229:229:void initEvent() -> initEvent
+ 236:284:void initGroupListView() -> initGroupListView
+ 313:315:void initTitlebar() -> initTitlebar
+ 96:106:void initView() -> initView
+ 169:208:void initWrite(java.lang.String) -> initWrite
+ 412:421:byte[] invertStringToBytes(java.lang.String) -> invertStringToBytes
+ 327:328:void lambda$showWriteDialog$0(com.qmuiteam.qmui.widget.dialog.QMUIDialog,android.view.View) -> lambda$showWriteDialog$0
+ 386:396:void onClick(android.view.View) -> onClick
+ 220:224:void onDestroy() -> onDestroy
+ 288:309:void onEventReceiveNotify(com.shlb.lbble.event.UpdateEvent) -> onEventReceiveNotify
+ 211:212:void onPause() -> onPause
+ 216:217:void onResume() -> onResume
+ 322:382:void showWriteDialog(java.lang.String) -> showWriteDialog
+ 398:410:void writeCmd(java.lang.String) -> writeCmd
+com.shlb.lbble.activity.AddressActivity$$ExternalSyntheticLambda0 -> com.shlb.lbble.activity.AddressActivity$$ExternalSyntheticLambda0:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ com.qmuiteam.qmui.widget.dialog.QMUIDialog com.shlb.lbble.activity.AddressActivity$$InternalSyntheticLambda$0$1952186dfcadaddbe400cd70e03b10fe5b2cdace9eec9b065ea2d06915e859e7$0.f$0 -> f$0
+ void com.shlb.lbble.activity.AddressActivity$$InternalSyntheticLambda$0$1952186dfcadaddbe400cd70e03b10fe5b2cdace9eec9b065ea2d06915e859e7$0.<init>(com.qmuiteam.qmui.widget.dialog.QMUIDialog) -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void com.shlb.lbble.activity.AddressActivity$$InternalSyntheticLambda$0$1952186dfcadaddbe400cd70e03b10fe5b2cdace9eec9b065ea2d06915e859e7$0.onClick(android.view.View) -> onClick
+ # {"id":"com.android.tools.r8.synthesized"}
+com.shlb.lbble.activity.AddressActivity$1 -> com.shlb.lbble.activity.AddressActivity$1:
+ 108:108:void <init>(com.shlb.lbble.activity.AddressActivity) -> <init>
+ 111:119:void onConnectStateChanged(java.lang.String,com.blakequ.bluetooth_manager_lib.connect.ConnectState) -> onConnectStateChanged
+com.shlb.lbble.activity.AddressActivity$2 -> com.shlb.lbble.activity.AddressActivity$2:
+ 255:255:void <init>(com.shlb.lbble.activity.AddressActivity) -> <init>
+ 258:270:void onClick(android.view.View) -> onClick
+com.shlb.lbble.activity.AddressActivity$3 -> com.shlb.lbble.activity.AddressActivity$3:
+ 333:333:void <init>(com.shlb.lbble.activity.AddressActivity,android.content.Context) -> <init>
+ 336:336:androidx.recyclerview.widget.RecyclerView$LayoutParams generateDefaultLayoutParams() -> generateDefaultLayoutParams
+com.shlb.lbble.activity.AddressActivity$4 -> com.shlb.lbble.activity.AddressActivity$4:
+ 340:340:void <init>(com.shlb.lbble.activity.AddressActivity,android.widget.EditText) -> <init>
+ 343:349:void onClick(android.view.View) -> onClick
+com.shlb.lbble.activity.AddressActivity$5 -> com.shlb.lbble.activity.AddressActivity$5:
+ 354:354:void <init>(com.shlb.lbble.activity.AddressActivity,java.util.List,com.chad.library.adapter.base.BaseQuickAdapter,android.widget.TextView,android.widget.EditText,java.lang.String) -> <init>
+ 357:368:void onItemClick(com.chad.library.adapter.base.BaseQuickAdapter,android.view.View,int) -> onItemClick
+com.shlb.lbble.activity.AddressActivity$6 -> com.shlb.lbble.activity.AddressActivity$6:
+ 111:111:void <clinit>() -> <clinit>
+com.shlb.lbble.activity.AddressActivity_ViewBinding -> com.shlb.lbble.activity.AddressActivity_ViewBinding:
+ 23:27:void <init>(com.shlb.lbble.activity.AddressActivity,android.view.View) -> <init>
+com.shlb.lbble.activity.ConnActivity -> com.shlb.lbble.activity.ConnActivity:
+ 42:135:void <init>() -> <init>
+ 42:42:int access$002(com.shlb.lbble.activity.ConnActivity,int) -> access$002
+ 42:42:void access$100(com.shlb.lbble.activity.ConnActivity,java.util.List) -> access$100
+ 42:42:void access$200(com.shlb.lbble.activity.ConnActivity,java.lang.String) -> access$200
+ 42:42:void access$300(com.shlb.lbble.activity.ConnActivity,java.lang.String) -> access$300
+ 42:42:void access$400(com.shlb.lbble.activity.ConnActivity) -> access$400
+ 58:59:void contentView() -> contentView
+ 390:399:void disconnect() -> disconnect
+ 224:243:void displayGattServices(java.util.List) -> displayGattServices
+ 246:271:java.lang.String getPropertyString(int) -> getPropertyString
+ 158:215:void initConn(com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice) -> initConn
+ 74:78:void initData() -> initData
+ 83:83:void initEvent() -> initEvent
+ 286:348:void initGroupListView() -> initGroupListView
+ 275:278:void initTitlebar() -> initTitlebar
+ 63:70:void initView() -> initView
+ 436:442:void onBackPressed() -> onBackPressed
+ 87:96:void onClick(android.view.View) -> onClick
+ 446:449:void onDestroy() -> onDestroy
+ 100:133:void onEventRefresh(com.shlb.lbble.event.UpdateEvent) -> onEventRefresh
+ 412:431:void showDisconnectDialog() -> showDisconnectDialog
+ 352:387:void updateUi() -> updateUi
+com.shlb.lbble.activity.ConnActivity$1 -> com.shlb.lbble.activity.ConnActivity$1:
+ 135:135:void <init>(com.shlb.lbble.activity.ConnActivity) -> <init>
+ 138:153:void onConnectStateChanged(java.lang.String,com.blakequ.bluetooth_manager_lib.connect.ConnectState) -> onConnectStateChanged
+com.shlb.lbble.activity.ConnActivity$2 -> com.shlb.lbble.activity.ConnActivity$2:
+ 161:161:void <init>(com.shlb.lbble.activity.ConnActivity) -> <init>
+ 186:188:void onCharacteristicChanged(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattCharacteristic) -> onCharacteristicChanged
+ 165:171:void onCharacteristicRead(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattCharacteristic,int) -> onCharacteristicRead
+ 175:182:void onCharacteristicWrite(android.bluetooth.BluetoothGatt,android.bluetooth.BluetoothGattCharacteristic,int) -> onCharacteristicWrite
+ 192:197:void onConnectionStateChange(android.bluetooth.BluetoothGatt,int,int) -> onConnectionStateChange
+ 201:211:void onServicesDiscovered(android.bluetooth.BluetoothGatt,int) -> onServicesDiscovered
+com.shlb.lbble.activity.ConnActivity$2$1 -> com.shlb.lbble.activity.ConnActivity$2$1:
+ 203:203:void <init>(com.shlb.lbble.activity.ConnActivity$2,android.bluetooth.BluetoothGatt) -> <init>
+ 206:207:void run() -> run
+com.shlb.lbble.activity.ConnActivity$3 -> com.shlb.lbble.activity.ConnActivity$3:
+ 305:305:void <init>(com.shlb.lbble.activity.ConnActivity) -> <init>
+ 308:334:void onClick(android.view.View) -> onClick
+com.shlb.lbble.activity.ConnActivity$4 -> com.shlb.lbble.activity.ConnActivity$4:
+ 421:421:void <init>(com.shlb.lbble.activity.ConnActivity) -> <init>
+ 424:428:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.ConnActivity$5 -> com.shlb.lbble.activity.ConnActivity$5:
+ 415:415:void <init>(com.shlb.lbble.activity.ConnActivity) -> <init>
+ 418:419:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.ConnActivity$6 -> com.shlb.lbble.activity.ConnActivity$6:
+ 100:138:void <clinit>() -> <clinit>
+com.shlb.lbble.activity.ConnActivity_ViewBinding -> com.shlb.lbble.activity.ConnActivity_ViewBinding:
+ 24:29:void <init>(com.shlb.lbble.activity.ConnActivity,android.view.View) -> <init>
+com.shlb.lbble.activity.HomeActivity -> com.shlb.lbble.activity.HomeActivity:
+ 42:320:void <init>() -> <init>
+ 323:329:void ExitApp() -> ExitApp
+ 42:42:com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager access$000(com.shlb.lbble.activity.HomeActivity) -> access$000
+ 42:42:com.shlb.lbble.adapter.HomeDeviceListAdapter access$100(com.shlb.lbble.activity.HomeActivity) -> access$100
+ 42:42:void access$200(com.shlb.lbble.activity.HomeActivity,java.lang.String) -> access$200
+ 42:42:void access$300(com.shlb.lbble.activity.HomeActivity,java.lang.String) -> access$300
+ 42:42:com.shlb.lbble.model.BluetoothLeDeviceStore access$400(com.shlb.lbble.activity.HomeActivity) -> access$400
+ 42:42:com.blakequ.bluetooth_manager_lib.util.BluetoothUtils access$500(com.shlb.lbble.activity.HomeActivity) -> access$500
+ 253:279:boolean checkIsBleState() -> checkIsBleState
+ 300:310:boolean checkPermission() -> checkPermission
+ 62:65:void contentView() -> contentView
+ 86:88:void initData() -> initData
+ 93:93:void initEvent() -> initEvent
+ 99:170:void initScan() -> initScan
+ 286:288:void initTitlebar() -> initTitlebar
+ 69:82:void initView() -> initView
+ 317:318:void onBackPressed() -> onBackPressed
+ 222:245:void onEventRefresh(com.shlb.lbble.event.UpdateEvent) -> onEventRefresh
+ 196:196:void onItemClick(android.widget.AdapterView,android.view.View,int,long) -> onItemClick
+ 174:178:void onPause() -> onPause
+ 182:183:void onResume() -> onResume
+ 204:213:void startScan() -> startScan
+com.shlb.lbble.activity.HomeActivity$1 -> com.shlb.lbble.activity.HomeActivity$1:
+ 72:72:void <init>(com.shlb.lbble.activity.HomeActivity) -> <init>
+ 75:80:void onClick(android.view.View) -> onClick
+com.shlb.lbble.activity.HomeActivity$2 -> com.shlb.lbble.activity.HomeActivity$2:
+ 102:102:void <init>(com.shlb.lbble.activity.HomeActivity) -> <init>
+ 106:119:void buttonClick(android.view.View,int) -> buttonClick
+com.shlb.lbble.activity.HomeActivity$3 -> com.shlb.lbble.activity.HomeActivity$3:
+ 123:123:void <init>(com.shlb.lbble.activity.HomeActivity) -> <init>
+ 127:127:void onScanOver() -> onScanOver
+com.shlb.lbble.activity.HomeActivity$4 -> com.shlb.lbble.activity.HomeActivity$4:
+ 130:130:void <init>(com.shlb.lbble.activity.HomeActivity) -> <init>
+ 133:134:void onBatchScanResults(java.util.List) -> onBatchScanResults
+ 138:142:void onScanFailed(int) -> onScanFailed
+ 146:166:void onScanResult(int,com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat) -> onScanResult
+com.shlb.lbble.activity.HomeActivity$5 -> com.shlb.lbble.activity.HomeActivity$5:
+ 231:231:void <init>(com.shlb.lbble.activity.HomeActivity) -> <init>
+ 234:237:void onClick(android.view.View) -> onClick
+com.shlb.lbble.activity.HomeActivity$6 -> com.shlb.lbble.activity.HomeActivity$6:
+ 267:267:void <init>(com.shlb.lbble.activity.HomeActivity) -> <init>
+ 270:273:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.HomeActivity$7 -> com.shlb.lbble.activity.HomeActivity$7:
+ 261:261:void <init>(com.shlb.lbble.activity.HomeActivity) -> <init>
+ 264:265:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.HomeActivity$8 -> com.shlb.lbble.activity.HomeActivity$8:
+ 222:222:void <clinit>() -> <clinit>
+com.shlb.lbble.activity.HomeActivity_ViewBinding -> com.shlb.lbble.activity.HomeActivity_ViewBinding:
+ 24:29:void <init>(com.shlb.lbble.activity.HomeActivity,android.view.View) -> <init>
+com.shlb.lbble.activity.NormalWriteActivity -> com.shlb.lbble.activity.NormalWriteActivity:
+ void $r8$lambda$dbiLcEqvSH5p0IiGisIV9Ui7E7k(com.shlb.lbble.activity.NormalWriteActivity) -> $r8$lambda$dbiLcEqvSH5p0IiGisIV9Ui7E7k
+ # {"id":"com.android.tools.r8.synthesized"}
+ void $r8$lambda$svajIm8eHnWWCiFzfSSHMKglVbI(com.shlb.lbble.activity.NormalWriteActivity) -> $r8$lambda$svajIm8eHnWWCiFzfSSHMKglVbI
+ # {"id":"com.android.tools.r8.synthesized"}
+ 47:447:void <init>() -> <init>
+ 47:47:void access$000(com.shlb.lbble.activity.NormalWriteActivity,java.lang.String) -> access$000
+ 47:47:byte[] access$100(com.shlb.lbble.activity.NormalWriteActivity,java.lang.String) -> access$100
+ 47:47:void access$200(com.shlb.lbble.activity.NormalWriteActivity) -> access$200
+ 47:47:void access$300(com.shlb.lbble.activity.NormalWriteActivity) -> access$300
+ 47:47:void access$400(com.shlb.lbble.activity.NormalWriteActivity,java.lang.String) -> access$400
+ 47:47:void access$500(com.shlb.lbble.activity.NormalWriteActivity,java.lang.String) -> access$500
+ 67:69:void contentView() -> contentView
+ 82:86:void initData() -> initData
+ 90:92:void initEvent() -> initEvent
+ 250:337:void initGroupListView() -> initGroupListView
+ 545:548:void initTitlebar() -> initTitlebar
+ 73:78:void initView() -> initView
+ 345:385:void initWrite(java.lang.String) -> initWrite
+ 409:418:byte[] invertStringToBytes(java.lang.String) -> invertStringToBytes
+ 395:396:void lambda$writeCmd$0() -> lambda$writeCmd$0
+ 403:404:void lambda$writeCmd$1() -> lambda$writeCmd$1
+ 97:202:void onClick(android.view.View) -> onClick
+ 554:617:void onClickk(android.view.View) -> onClickk
+ 207:236:void onEventReceiveNotify(com.shlb.lbble.event.UpdateEvent) -> onEventReceiveNotify
+ 626:664:void sendYJCmd(int) -> sendYJCmd
+ 465:500:void showEditTextDialog() -> showEditTextDialog
+ 506:542:void showQuickDialog() -> showQuickDialog
+ 388:406:void writeCmd(java.lang.String) -> writeCmd
+com.shlb.lbble.activity.NormalWriteActivity$$ExternalSyntheticLambda0 -> com.shlb.lbble.activity.NormalWriteActivity$$ExternalSyntheticLambda0:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ com.shlb.lbble.activity.NormalWriteActivity com.shlb.lbble.activity.NormalWriteActivity$$InternalSyntheticLambda$0$de11b51032770058a3593b4184978d0f8ab77e9cec67a74dafbcbae3b6ed3295$0.f$0 -> f$0
+ void com.shlb.lbble.activity.NormalWriteActivity$$InternalSyntheticLambda$0$de11b51032770058a3593b4184978d0f8ab77e9cec67a74dafbcbae3b6ed3295$0.<init>(com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void com.shlb.lbble.activity.NormalWriteActivity$$InternalSyntheticLambda$0$de11b51032770058a3593b4184978d0f8ab77e9cec67a74dafbcbae3b6ed3295$0.run() -> run
+ # {"id":"com.android.tools.r8.synthesized"}
+com.shlb.lbble.activity.NormalWriteActivity$$ExternalSyntheticLambda1 -> com.shlb.lbble.activity.NormalWriteActivity$$ExternalSyntheticLambda1:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ com.shlb.lbble.activity.NormalWriteActivity com.shlb.lbble.activity.NormalWriteActivity$$InternalSyntheticLambda$0$de11b51032770058a3593b4184978d0f8ab77e9cec67a74dafbcbae3b6ed3295$1.f$0 -> f$0
+ void com.shlb.lbble.activity.NormalWriteActivity$$InternalSyntheticLambda$0$de11b51032770058a3593b4184978d0f8ab77e9cec67a74dafbcbae3b6ed3295$1.<init>(com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void com.shlb.lbble.activity.NormalWriteActivity$$InternalSyntheticLambda$0$de11b51032770058a3593b4184978d0f8ab77e9cec67a74dafbcbae3b6ed3295$1.run() -> run
+ # {"id":"com.android.tools.r8.synthesized"}
+com.shlb.lbble.activity.NormalWriteActivity$1 -> com.shlb.lbble.activity.NormalWriteActivity$1:
+ 163:163:void <init>(com.shlb.lbble.activity.NormalWriteActivity,java.lang.Integer) -> <init>
+ 166:186:java.lang.Object doInBackground() -> doInBackground
+ 192:192:void onSuccess(java.lang.Object) -> onSuccess
+com.shlb.lbble.activity.NormalWriteActivity$2 -> com.shlb.lbble.activity.NormalWriteActivity$2:
+ 270:270:void <init>(com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 273:300:void onClick(android.view.View) -> onClick
+com.shlb.lbble.activity.NormalWriteActivity$3 -> com.shlb.lbble.activity.NormalWriteActivity$3:
+ 447:447:void <init>(com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 450:458:void onConnectStateChanged(java.lang.String,com.blakequ.bluetooth_manager_lib.connect.ConnectState) -> onConnectStateChanged
+com.shlb.lbble.activity.NormalWriteActivity$4 -> com.shlb.lbble.activity.NormalWriteActivity$4:
+ 475:475:void <init>(com.shlb.lbble.activity.NormalWriteActivity,com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder) -> <init>
+ 478:497:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.NormalWriteActivity$5 -> com.shlb.lbble.activity.NormalWriteActivity$5:
+ 469:469:void <init>(com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 472:473:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.NormalWriteActivity$6 -> com.shlb.lbble.activity.NormalWriteActivity$6:
+ 516:516:void <init>(com.shlb.lbble.activity.NormalWriteActivity,com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder) -> <init>
+ 519:539:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.NormalWriteActivity$7 -> com.shlb.lbble.activity.NormalWriteActivity$7:
+ 510:510:void <init>(com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 513:514:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.NormalWriteActivity$8 -> com.shlb.lbble.activity.NormalWriteActivity$8:
+ 632:632:void <init>(com.shlb.lbble.activity.NormalWriteActivity,int) -> <init>
+ 635:655:java.lang.Object doInBackground() -> doInBackground
+ 661:661:void onSuccess(java.lang.Object) -> onSuccess
+com.shlb.lbble.activity.NormalWriteActivity$9 -> com.shlb.lbble.activity.NormalWriteActivity$9:
+ 450:450:void <clinit>() -> <clinit>
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding:
+ 64:223:void <init>(com.shlb.lbble.activity.NormalWriteActivity,android.view.View) -> <init>
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$1 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$1:
+ 73:73:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 76:77:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$10 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$10:
+ 145:145:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 148:149:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$11 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$11:
+ 153:153:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 156:157:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$12 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$12:
+ 161:161:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 164:165:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$13 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$13:
+ 169:169:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 172:173:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$14 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$14:
+ 177:177:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 180:181:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$15 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$15:
+ 185:185:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 188:189:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$16 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$16:
+ 193:193:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 196:197:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$17 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$17:
+ 201:201:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 204:205:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$18 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$18:
+ 209:209:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 212:213:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$19 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$19:
+ 217:217:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 220:221:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$2 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$2:
+ 81:81:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 84:85:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$3 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$3:
+ 89:89:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 92:93:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$4 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$4:
+ 97:97:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 100:101:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$5 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$5:
+ 105:105:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 108:109:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$6 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$6:
+ 113:113:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 116:117:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$7 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$7:
+ 121:121:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 124:125:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$8 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$8:
+ 129:129:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 132:133:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$9 -> com.shlb.lbble.activity.NormalWriteActivity_ViewBinding$9:
+ 137:137:void <init>(com.shlb.lbble.activity.NormalWriteActivity_ViewBinding,com.shlb.lbble.activity.NormalWriteActivity) -> <init>
+ 140:141:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity -> com.shlb.lbble.activity.WriteActivity:
+ void $r8$lambda$MT8Prah_K7P9DgDRVIhgqgkamHM(com.shlb.lbble.activity.WriteActivity) -> $r8$lambda$MT8Prah_K7P9DgDRVIhgqgkamHM
+ # {"id":"com.android.tools.r8.synthesized"}
+ void $r8$lambda$MnHfRiGynSxDbrd6CnqxtNhd4pM(com.shlb.lbble.activity.WriteActivity) -> $r8$lambda$MnHfRiGynSxDbrd6CnqxtNhd4pM
+ # {"id":"com.android.tools.r8.synthesized"}
+ 47:450:void <init>() -> <init>
+ 47:47:void access$000(com.shlb.lbble.activity.WriteActivity,java.lang.String) -> access$000
+ 47:47:byte[] access$100(com.shlb.lbble.activity.WriteActivity,java.lang.String) -> access$100
+ 47:47:void access$200(com.shlb.lbble.activity.WriteActivity) -> access$200
+ 47:47:void access$300(com.shlb.lbble.activity.WriteActivity) -> access$300
+ 47:47:void access$400(com.shlb.lbble.activity.WriteActivity,java.lang.String) -> access$400
+ 47:47:void access$500(com.shlb.lbble.activity.WriteActivity,java.lang.String) -> access$500
+ 70:72:void contentView() -> contentView
+ 85:89:void initData() -> initData
+ 93:95:void initEvent() -> initEvent
+ 253:340:void initGroupListView() -> initGroupListView
+ 548:551:void initTitlebar() -> initTitlebar
+ 76:81:void initView() -> initView
+ 348:388:void initWrite(java.lang.String) -> initWrite
+ 412:421:byte[] invertStringToBytes(java.lang.String) -> invertStringToBytes
+ 398:399:void lambda$writeCmd$0() -> lambda$writeCmd$0
+ 406:407:void lambda$writeCmd$1() -> lambda$writeCmd$1
+ 100:205:void onClick(android.view.View) -> onClick
+ 557:620:void onClickk(android.view.View) -> onClickk
+ 210:239:void onEventReceiveNotify(com.shlb.lbble.event.UpdateEvent) -> onEventReceiveNotify
+ 627:668:void sendYJCmd(int) -> sendYJCmd
+ 468:503:void showEditTextDialog() -> showEditTextDialog
+ 509:545:void showQuickDialog() -> showQuickDialog
+ 391:409:void writeCmd(java.lang.String) -> writeCmd
+com.shlb.lbble.activity.WriteActivity$$ExternalSyntheticLambda0 -> com.shlb.lbble.activity.WriteActivity$$ExternalSyntheticLambda0:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ com.shlb.lbble.activity.WriteActivity com.shlb.lbble.activity.WriteActivity$$InternalSyntheticLambda$0$d28d529864283f6debdf16f788b0ef600a71ab5b5c47f0345bf8625994be9663$0.f$0 -> f$0
+ void com.shlb.lbble.activity.WriteActivity$$InternalSyntheticLambda$0$d28d529864283f6debdf16f788b0ef600a71ab5b5c47f0345bf8625994be9663$0.<init>(com.shlb.lbble.activity.WriteActivity) -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void com.shlb.lbble.activity.WriteActivity$$InternalSyntheticLambda$0$d28d529864283f6debdf16f788b0ef600a71ab5b5c47f0345bf8625994be9663$0.run() -> run
+ # {"id":"com.android.tools.r8.synthesized"}
+com.shlb.lbble.activity.WriteActivity$$ExternalSyntheticLambda1 -> com.shlb.lbble.activity.WriteActivity$$ExternalSyntheticLambda1:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ com.shlb.lbble.activity.WriteActivity com.shlb.lbble.activity.WriteActivity$$InternalSyntheticLambda$0$d28d529864283f6debdf16f788b0ef600a71ab5b5c47f0345bf8625994be9663$1.f$0 -> f$0
+ void com.shlb.lbble.activity.WriteActivity$$InternalSyntheticLambda$0$d28d529864283f6debdf16f788b0ef600a71ab5b5c47f0345bf8625994be9663$1.<init>(com.shlb.lbble.activity.WriteActivity) -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void com.shlb.lbble.activity.WriteActivity$$InternalSyntheticLambda$0$d28d529864283f6debdf16f788b0ef600a71ab5b5c47f0345bf8625994be9663$1.run() -> run
+ # {"id":"com.android.tools.r8.synthesized"}
+com.shlb.lbble.activity.WriteActivity$1 -> com.shlb.lbble.activity.WriteActivity$1:
+ 166:166:void <init>(com.shlb.lbble.activity.WriteActivity,java.lang.Integer) -> <init>
+ 169:189:java.lang.Object doInBackground() -> doInBackground
+ 195:195:void onSuccess(java.lang.Object) -> onSuccess
+com.shlb.lbble.activity.WriteActivity$2 -> com.shlb.lbble.activity.WriteActivity$2:
+ 273:273:void <init>(com.shlb.lbble.activity.WriteActivity) -> <init>
+ 276:303:void onClick(android.view.View) -> onClick
+com.shlb.lbble.activity.WriteActivity$3 -> com.shlb.lbble.activity.WriteActivity$3:
+ 450:450:void <init>(com.shlb.lbble.activity.WriteActivity) -> <init>
+ 453:461:void onConnectStateChanged(java.lang.String,com.blakequ.bluetooth_manager_lib.connect.ConnectState) -> onConnectStateChanged
+com.shlb.lbble.activity.WriteActivity$4 -> com.shlb.lbble.activity.WriteActivity$4:
+ 478:478:void <init>(com.shlb.lbble.activity.WriteActivity,com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder) -> <init>
+ 481:500:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.WriteActivity$5 -> com.shlb.lbble.activity.WriteActivity$5:
+ 472:472:void <init>(com.shlb.lbble.activity.WriteActivity) -> <init>
+ 475:476:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.WriteActivity$6 -> com.shlb.lbble.activity.WriteActivity$6:
+ 519:519:void <init>(com.shlb.lbble.activity.WriteActivity,com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder) -> <init>
+ 522:542:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.WriteActivity$7 -> com.shlb.lbble.activity.WriteActivity$7:
+ 513:513:void <init>(com.shlb.lbble.activity.WriteActivity) -> <init>
+ 516:517:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.WriteActivity$8 -> com.shlb.lbble.activity.WriteActivity$8:
+ 636:636:void <init>(com.shlb.lbble.activity.WriteActivity,int) -> <init>
+ 639:659:java.lang.Object doInBackground() -> doInBackground
+ 665:665:void onSuccess(java.lang.Object) -> onSuccess
+com.shlb.lbble.activity.WriteActivity$9 -> com.shlb.lbble.activity.WriteActivity$9:
+ 453:453:void <clinit>() -> <clinit>
+com.shlb.lbble.activity.WriteActivity2 -> com.shlb.lbble.activity.WriteActivity2:
+ void $r8$lambda$MCELLOrxf7tvzHwEZ000-jCYP9w(com.shlb.lbble.activity.WriteActivity2) -> $r8$lambda$MCELLOrxf7tvzHwEZ000-jCYP9w
+ # {"id":"com.android.tools.r8.synthesized"}
+ void $r8$lambda$okSRLwKx85Axec8nDxxZaLotQ5c(com.shlb.lbble.activity.WriteActivity2) -> $r8$lambda$okSRLwKx85Axec8nDxxZaLotQ5c
+ # {"id":"com.android.tools.r8.synthesized"}
+ 44:439:void <init>() -> <init>
+ 44:44:void access$000(com.shlb.lbble.activity.WriteActivity2,java.lang.String) -> access$000
+ 44:44:byte[] access$100(com.shlb.lbble.activity.WriteActivity2,java.lang.String) -> access$100
+ 44:44:void access$200(com.shlb.lbble.activity.WriteActivity2) -> access$200
+ 44:44:void access$300(com.shlb.lbble.activity.WriteActivity2) -> access$300
+ 44:44:void access$400(com.shlb.lbble.activity.WriteActivity2,java.lang.String) -> access$400
+ 44:44:void access$500(com.shlb.lbble.activity.WriteActivity2,java.lang.String) -> access$500
+ 60:62:void contentView() -> contentView
+ 75:79:void initData() -> initData
+ 83:85:void initEvent() -> initEvent
+ 242:329:void initGroupListView() -> initGroupListView
+ 537:540:void initTitlebar() -> initTitlebar
+ 66:71:void initView() -> initView
+ 337:377:void initWrite(java.lang.String) -> initWrite
+ 401:410:byte[] invertStringToBytes(java.lang.String) -> invertStringToBytes
+ 387:388:void lambda$writeCmd$0() -> lambda$writeCmd$0
+ 395:396:void lambda$writeCmd$1() -> lambda$writeCmd$1
+ 90:195:void onClick(android.view.View) -> onClick
+ 200:229:void onEventReceiveNotify(com.shlb.lbble.event.UpdateEvent) -> onEventReceiveNotify
+ 457:492:void showEditTextDialog() -> showEditTextDialog
+ 498:534:void showQuickDialog() -> showQuickDialog
+ 380:398:void writeCmd(java.lang.String) -> writeCmd
+com.shlb.lbble.activity.WriteActivity2$$ExternalSyntheticLambda0 -> com.shlb.lbble.activity.WriteActivity2$$ExternalSyntheticLambda0:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ com.shlb.lbble.activity.WriteActivity2 com.shlb.lbble.activity.WriteActivity2$$InternalSyntheticLambda$0$f9c0d5373e435a1e2b1228c885516cd1ba4cc4272b0bd0ffd7b27c37b3a14e83$1.f$0 -> f$0
+ void com.shlb.lbble.activity.WriteActivity2$$InternalSyntheticLambda$0$f9c0d5373e435a1e2b1228c885516cd1ba4cc4272b0bd0ffd7b27c37b3a14e83$1.<init>(com.shlb.lbble.activity.WriteActivity2) -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void com.shlb.lbble.activity.WriteActivity2$$InternalSyntheticLambda$0$f9c0d5373e435a1e2b1228c885516cd1ba4cc4272b0bd0ffd7b27c37b3a14e83$1.run() -> run
+ # {"id":"com.android.tools.r8.synthesized"}
+com.shlb.lbble.activity.WriteActivity2$$ExternalSyntheticLambda1 -> com.shlb.lbble.activity.WriteActivity2$$ExternalSyntheticLambda1:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ com.shlb.lbble.activity.WriteActivity2 com.shlb.lbble.activity.WriteActivity2$$InternalSyntheticLambda$0$f9c0d5373e435a1e2b1228c885516cd1ba4cc4272b0bd0ffd7b27c37b3a14e83$0.f$0 -> f$0
+ void com.shlb.lbble.activity.WriteActivity2$$InternalSyntheticLambda$0$f9c0d5373e435a1e2b1228c885516cd1ba4cc4272b0bd0ffd7b27c37b3a14e83$0.<init>(com.shlb.lbble.activity.WriteActivity2) -> <init>
+ # {"id":"com.android.tools.r8.synthesized"}
+ void com.shlb.lbble.activity.WriteActivity2$$InternalSyntheticLambda$0$f9c0d5373e435a1e2b1228c885516cd1ba4cc4272b0bd0ffd7b27c37b3a14e83$0.run() -> run
+ # {"id":"com.android.tools.r8.synthesized"}
+com.shlb.lbble.activity.WriteActivity2$1 -> com.shlb.lbble.activity.WriteActivity2$1:
+ 156:156:void <init>(com.shlb.lbble.activity.WriteActivity2,java.lang.Integer) -> <init>
+ 159:179:java.lang.Object doInBackground() -> doInBackground
+ 185:185:void onSuccess(java.lang.Object) -> onSuccess
+com.shlb.lbble.activity.WriteActivity2$2 -> com.shlb.lbble.activity.WriteActivity2$2:
+ 262:262:void <init>(com.shlb.lbble.activity.WriteActivity2) -> <init>
+ 265:292:void onClick(android.view.View) -> onClick
+com.shlb.lbble.activity.WriteActivity2$3 -> com.shlb.lbble.activity.WriteActivity2$3:
+ 439:439:void <init>(com.shlb.lbble.activity.WriteActivity2) -> <init>
+ 442:450:void onConnectStateChanged(java.lang.String,com.blakequ.bluetooth_manager_lib.connect.ConnectState) -> onConnectStateChanged
+com.shlb.lbble.activity.WriteActivity2$4 -> com.shlb.lbble.activity.WriteActivity2$4:
+ 467:467:void <init>(com.shlb.lbble.activity.WriteActivity2,com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder) -> <init>
+ 470:489:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.WriteActivity2$5 -> com.shlb.lbble.activity.WriteActivity2$5:
+ 461:461:void <init>(com.shlb.lbble.activity.WriteActivity2) -> <init>
+ 464:465:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.WriteActivity2$6 -> com.shlb.lbble.activity.WriteActivity2$6:
+ 508:508:void <init>(com.shlb.lbble.activity.WriteActivity2,com.qmuiteam.qmui.widget.dialog.QMUIDialog$EditTextDialogBuilder) -> <init>
+ 511:531:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.WriteActivity2$7 -> com.shlb.lbble.activity.WriteActivity2$7:
+ 502:502:void <init>(com.shlb.lbble.activity.WriteActivity2) -> <init>
+ 505:506:void onClick(com.qmuiteam.qmui.widget.dialog.QMUIDialog,int) -> onClick
+com.shlb.lbble.activity.WriteActivity2$8 -> com.shlb.lbble.activity.WriteActivity2$8:
+ 442:442:void <clinit>() -> <clinit>
+com.shlb.lbble.activity.WriteActivity2_ViewBinding -> com.shlb.lbble.activity.WriteActivity2_ViewBinding:
+ 24:29:void <init>(com.shlb.lbble.activity.WriteActivity2,android.view.View) -> <init>
+com.shlb.lbble.activity.WriteActivity_ViewBinding -> com.shlb.lbble.activity.WriteActivity_ViewBinding:
+ 65:225:void <init>(com.shlb.lbble.activity.WriteActivity,android.view.View) -> <init>
+com.shlb.lbble.activity.WriteActivity_ViewBinding$1 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$1:
+ 75:75:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 78:79:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$10 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$10:
+ 147:147:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 150:151:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$11 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$11:
+ 155:155:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 158:159:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$12 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$12:
+ 163:163:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 166:167:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$13 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$13:
+ 171:171:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 174:175:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$14 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$14:
+ 179:179:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 182:183:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$15 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$15:
+ 187:187:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 190:191:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$16 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$16:
+ 195:195:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 198:199:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$17 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$17:
+ 203:203:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 206:207:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$18 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$18:
+ 211:211:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 214:215:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$19 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$19:
+ 219:219:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 222:223:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$2 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$2:
+ 83:83:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 86:87:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$3 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$3:
+ 91:91:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 94:95:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$4 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$4:
+ 99:99:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 102:103:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$5 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$5:
+ 107:107:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 110:111:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$6 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$6:
+ 115:115:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 118:119:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$7 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$7:
+ 123:123:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 126:127:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$8 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$8:
+ 131:131:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 134:135:void doClick(android.view.View) -> doClick
+com.shlb.lbble.activity.WriteActivity_ViewBinding$9 -> com.shlb.lbble.activity.WriteActivity_ViewBinding$9:
+ 139:139:void <init>(com.shlb.lbble.activity.WriteActivity_ViewBinding,com.shlb.lbble.activity.WriteActivity) -> <init>
+ 142:143:void doClick(android.view.View) -> doClick
+com.shlb.lbble.adapter.BaseArrayListAdapter -> com.shlb.lbble.adapter.BaseArrayListAdapter:
+ 48:58:void <init>(android.content.Context) -> <init>
+ 228:228:int getCount() -> getCount
+ 234:237:java.lang.Object getItem(int) -> getItem
+ 243:243:long getItemId(int) -> getItemId
+ 194:199:void refreshData(java.util.List) -> refreshData
+com.shlb.lbble.adapter.DeviceListAdapter -> com.shlb.lbble.adapter.DeviceListAdapter:
+ 24:25:void <init>(android.content.Context) -> <init>
+ 35:61:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+com.shlb.lbble.adapter.DeviceListAdapter$ViewHolder -> com.shlb.lbble.adapter.DeviceListAdapter$ViewHolder:
+ 77:77:void <init>() -> <init>
+com.shlb.lbble.adapter.HomeAdapter -> com.shlb.lbble.adapter.HomeAdapter:
+ 15:15:void convert(com.chad.library.adapter.base.viewholder.BaseViewHolder,java.lang.Object) -> convert
+ 22:24:void convert(com.chad.library.adapter.base.viewholder.BaseViewHolder,com.shlb.lbble.model.HomeItem) -> convert
+com.shlb.lbble.adapter.HomeDeviceListAdapter -> com.shlb.lbble.adapter.HomeDeviceListAdapter:
+ 20:22:void <init>(android.content.Context,com.shlb.lbble.adapter.HomeDeviceListAdapter$setOnItemButtonClick) -> <init>
+ 13:13:com.shlb.lbble.adapter.HomeDeviceListAdapter$setOnItemButtonClick access$000(com.shlb.lbble.adapter.HomeDeviceListAdapter) -> access$000
+ 32:69:android.view.View getView(int,android.view.View,android.view.ViewGroup) -> getView
+com.shlb.lbble.adapter.HomeDeviceListAdapter$1 -> com.shlb.lbble.adapter.HomeDeviceListAdapter$1:
+ 39:39:void <init>(com.shlb.lbble.adapter.HomeDeviceListAdapter,int) -> <init>
+ 42:43:void onClick(android.view.View) -> onClick
+com.shlb.lbble.adapter.HomeDeviceListAdapter$ViewHolder -> com.shlb.lbble.adapter.HomeDeviceListAdapter$ViewHolder:
+ 85:85:void <init>() -> <init>
+com.shlb.lbble.adapter.WriteAdapter -> com.shlb.lbble.adapter.WriteAdapter:
+ 19:20:void <init>(int,java.util.List) -> <init>
+ 17:17:void convert(com.chad.library.adapter.base.viewholder.BaseViewHolder,java.lang.Object) -> convert
+ 24:31:void convert(com.chad.library.adapter.base.viewholder.BaseViewHolder,java.util.Map) -> convert
+com.shlb.lbble.base.BaseActivity -> com.shlb.lbble.base.BaseActivity:
+ 28:29:void <init>() -> <init>
+ 247:248:void Toast(java.lang.String) -> Toast
+ 48:51:void init() -> init
+ 54:58:void initHead() -> initHead
+ 62:64:void initHeadEvent() -> initHeadEvent
+ 82:90:void onClick(android.view.View) -> onClick
+ 40:45:void onCreate(android.os.Bundle) -> onCreate
+ 94:96:void onDestroy() -> onDestroy
+ 268:269:void onPermissionsDenied(int,java.util.List) -> onPermissionsDenied
+ 262:263:void onPermissionsGranted(int,java.util.List) -> onPermissionsGranted
+ 251:255:void onRequestPermissionsResult(int,java.lang.String[],int[]) -> onRequestPermissionsResult
+ 77:78:void setTitle(java.lang.CharSequence) -> setTitle
+ 102:126:void showTips(java.lang.String) -> showTips
+com.shlb.lbble.base.BaseActivity$1 -> com.shlb.lbble.base.BaseActivity$1:
+ 109:109:void <init>(com.shlb.lbble.base.BaseActivity) -> <init>
+ 112:113:void run() -> run
+com.shlb.lbble.databinding.ActivityAddressBinding -> com.shlb.lbble.databinding.ActivityAddressBinding:
+ 18:18:android.view.View getRoot() -> getRoot
+ 34:34:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.ActivityBaseBinding -> com.shlb.lbble.databinding.ActivityBaseBinding:
+ 20:20:android.view.View getRoot() -> getRoot
+ 58:58:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.ActivityConnBinding -> com.shlb.lbble.databinding.ActivityConnBinding:
+ 19:19:android.view.View getRoot() -> getRoot
+ 39:39:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.ActivityHomeBinding -> com.shlb.lbble.databinding.ActivityHomeBinding:
+ 19:19:android.view.View getRoot() -> getRoot
+ 39:39:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.ActivityMainBinding -> com.shlb.lbble.databinding.ActivityMainBinding:
+ 18:18:android.view.View getRoot() -> getRoot
+ 34:34:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.ActivitySplashBinding -> com.shlb.lbble.databinding.ActivitySplashBinding:
+ 18:18:android.view.View getRoot() -> getRoot
+ 33:33:android.widget.RelativeLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.ActivityWrite2Binding -> com.shlb.lbble.databinding.ActivityWrite2Binding:
+ 19:19:android.view.View getRoot() -> getRoot
+ 39:39:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.ActivityWriteBinding -> com.shlb.lbble.databinding.ActivityWriteBinding:
+ 21:21:android.view.View getRoot() -> getRoot
+ 130:130:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.DialogLayoutBluetoothItemBinding -> com.shlb.lbble.databinding.DialogLayoutBluetoothItemBinding:
+ 19:19:android.view.View getRoot() -> getRoot
+ 48:48:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.DialogLayoutBluetoothListBinding -> com.shlb.lbble.databinding.DialogLayoutBluetoothListBinding:
+ 18:18:android.view.View getRoot() -> getRoot
+ 33:33:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.DialogLayoutWriteItemBinding -> com.shlb.lbble.databinding.DialogLayoutWriteItemBinding:
+ 19:19:android.view.View getRoot() -> getRoot
+ 39:39:android.widget.RelativeLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.DialogLayoutWriteListBinding -> com.shlb.lbble.databinding.DialogLayoutWriteListBinding:
+ 22:22:android.view.View getRoot() -> getRoot
+ 59:59:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.HomeItemViewBinding -> com.shlb.lbble.databinding.HomeItemViewBinding:
+ 19:19:android.view.View getRoot() -> getRoot
+ 52:52:androidx.cardview.widget.CardView getRoot() -> getRoot
+com.shlb.lbble.databinding.HomeListBluetoothItemBinding -> com.shlb.lbble.databinding.HomeListBluetoothItemBinding:
+ 20:20:android.view.View getRoot() -> getRoot
+ 57:57:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.IncludeHeadBinding -> com.shlb.lbble.databinding.IncludeHeadBinding:
+ 19:19:android.view.View getRoot() -> getRoot
+ 47:47:android.widget.RelativeLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.LayoutLoadingViewBinding -> com.shlb.lbble.databinding.LayoutLoadingViewBinding:
+ 18:18:android.view.View getRoot() -> getRoot
+ 38:38:android.widget.RelativeLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.ListItemDeviceBinding -> com.shlb.lbble.databinding.ListItemDeviceBinding:
+ 20:20:android.view.View getRoot() -> getRoot
+ 89:89:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.NormalActivityWriteBinding -> com.shlb.lbble.databinding.NormalActivityWriteBinding:
+ 19:19:android.view.View getRoot() -> getRoot
+ 124:124:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.TipdialogCustomBinding -> com.shlb.lbble.databinding.TipdialogCustomBinding:
+ 18:18:android.view.View getRoot() -> getRoot
+ 33:33:android.widget.LinearLayout getRoot() -> getRoot
+com.shlb.lbble.databinding.TopViewBinding -> com.shlb.lbble.databinding.TopViewBinding:
+ 15:15:android.view.View getRoot() -> getRoot
+ 26:26:android.widget.FrameLayout getRoot() -> getRoot
+com.shlb.lbble.event.UpdateEvent -> com.shlb.lbble.event.UpdateEvent:
+ 12:14:void <init>(com.shlb.lbble.event.UpdateEvent$Type) -> <init>
+ 21:25:void <init>(com.shlb.lbble.event.UpdateEvent$Type,java.lang.Object,java.lang.String) -> <init>
+ 41:41:java.lang.String getMsg() -> getMsg
+ 57:57:java.lang.Object getObj() -> getObj
+ 49:49:com.shlb.lbble.event.UpdateEvent$Type getType() -> getType
+com.shlb.lbble.event.UpdateEvent$Type -> com.shlb.lbble.event.UpdateEvent$Type:
+ 64:74:void <clinit>() -> <clinit>
+ 64:64:void <init>(java.lang.String,int) -> <init>
+ 64:64:com.shlb.lbble.event.UpdateEvent$Type valueOf(java.lang.String) -> valueOf
+ 64:64:com.shlb.lbble.event.UpdateEvent$Type[] values() -> values
+com.shlb.lbble.model.BluetoothLeDeviceStore -> com.shlb.lbble.model.BluetoothLeDeviceStore:
+ 29:31:void <init>() -> <init>
+ 39:40:void addDevice(com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice) -> addDevice
+ 43:44:void clear() -> clear
+ 140:155:java.io.FileWriter generateFile(java.io.File,java.lang.String) -> generateFile
+ 47:49:uk.co.alt236.easycursor.objectcursor.EasyObjectCursor getDeviceCursor() -> getDeviceCursor
+ 54:65:java.util.List getDeviceList() -> getDeviceList
+ 73:135:java.lang.String getListAsCsv() -> getListAsCsv
+ 69:69:int size() -> size
+com.shlb.lbble.model.BluetoothLeDeviceStore$1 -> com.shlb.lbble.model.BluetoothLeDeviceStore$1:
+ 57:57:void <init>(com.shlb.lbble.model.BluetoothLeDeviceStore) -> <init>
+ 57:57:int compare(java.lang.Object,java.lang.Object) -> compare
+ 61:61:int compare(com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice,com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice) -> compare
+com.shlb.lbble.model.HomeItem -> com.shlb.lbble.model.HomeItem:
+ 8:9:void <init>() -> <init>
+ 11:15:void <init>(java.lang.String,java.lang.Class,int) -> <init>
+ 34:34:java.lang.Class getActivity() -> getActivity
+ 18:18:int getImageResource() -> getImageResource
+ 26:26:java.lang.String getTitle() -> getTitle
+ 38:39:void setActivity(java.lang.Class) -> setActivity
+ 22:23:void setImageResource(int) -> setImageResource
+ 30:31:void setTitle(java.lang.String) -> setTitle
+com.shlb.lbble.util.CRCutil -> com.shlb.lbble.util.CRCutil:
+ 11:29:java.lang.String getCRC(byte[]) -> getCRC
+com.shlb.lbble.util.CsvWriterHelper -> com.shlb.lbble.util.CsvWriterHelper:
+ 7:7:java.lang.String addStuff(java.lang.Integer) -> addStuff
+ 15:15:java.lang.String addStuff(boolean) -> addStuff
+ 19:24:java.lang.String addStuff(java.lang.String) -> addStuff
+com.shlb.lbble.util.Singletion -> com.shlb.lbble.util.Singletion:
+ 13:13:void <clinit>() -> <clinit>
+ 15:22:void <init>() -> <init>
+ 31:33:void clean() -> clean
+ 19:19:com.shlb.lbble.util.Singletion getInstance() -> getInstance
+com.shlb.lbble.util.TimeFormatter -> com.shlb.lbble.util.TimeFormatter:
+ 9:9:void <clinit>() -> <clinit>
+ 12:12:java.lang.String getIsoDateTime(java.util.Date) -> getIsoDateTime
+ 16:16:java.lang.String getIsoDateTime(long) -> getIsoDateTime
+com.shlb.lbble.view.ParticleView -> com.shlb.lbble.view.ParticleView:
+ 92:93:void <init>(android.content.Context,android.util.AttributeSet) -> <init>
+ 34:98:void <init>(android.content.Context,android.util.AttributeSet,int) -> <init>
+ 32:32:android.graphics.Paint access$000(com.shlb.lbble.view.ParticleView) -> access$000
+ 32:32:com.shlb.lbble.view.particleview.Particle[][] access$100(com.shlb.lbble.view.ParticleView) -> access$100
+ 32:32:void access$1000(com.shlb.lbble.view.ParticleView) -> access$1000
+ 32:32:void access$300(com.shlb.lbble.view.ParticleView) -> access$300
+ 32:32:float access$402(com.shlb.lbble.view.ParticleView,float) -> access$402
+ 32:32:void access$500(com.shlb.lbble.view.ParticleView) -> access$500
+ 32:32:float access$602(com.shlb.lbble.view.ParticleView,float) -> access$602
+ 32:32:float access$702(com.shlb.lbble.view.ParticleView,float) -> access$702
+ 32:32:float access$802(com.shlb.lbble.view.ParticleView,float) -> access$802
+ 32:32:com.shlb.lbble.view.ParticleView$ParticleAnimListener access$900(com.shlb.lbble.view.ParticleView) -> access$900
+ 345:346:int dip2px(float) -> dip2px
+ 375:376:int getB(int) -> getB
+ 370:371:int getG(int) -> getG
+ 365:366:int getR(int) -> getR
+ 355:357:float getTextHeight(java.lang.String,android.graphics.Paint) -> getTextHeight
+ 361:361:float getTextWidth(java.lang.String,android.graphics.Paint) -> getTextWidth
+ 102:133:void initView(android.util.AttributeSet) -> initView
+ 169:192:void onDraw(android.graphics.Canvas) -> onDraw
+ 137:165:void onSizeChanged(int,int,int,int) -> onSizeChanged
+ 337:338:void setOnParticleAnimListener(com.shlb.lbble.view.ParticleView$ParticleAnimListener) -> setOnParticleAnimListener
+ 350:351:int sp2px(float) -> sp2px
+ 311:317:void startAnim() -> startAnim
+ 263:308:void startHostTextAnim() -> startHostTextAnim
+ 196:241:void startParticleAnim() -> startParticleAnim
+ 244:260:void startSpreadAnim() -> startSpreadAnim
+com.shlb.lbble.view.ParticleView$1 -> com.shlb.lbble.view.ParticleView$1:
+ 202:202:void <init>(com.shlb.lbble.view.ParticleView) -> <init>
+ 205:207:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.shlb.lbble.view.ParticleView$10 -> com.shlb.lbble.view.ParticleView$10:
+ 311:311:void <init>(com.shlb.lbble.view.ParticleView) -> <init>
+ 314:315:void run() -> run
+com.shlb.lbble.view.ParticleView$2 -> com.shlb.lbble.view.ParticleView$2:
+ 217:217:void <init>(com.shlb.lbble.view.ParticleView,int,int) -> <init>
+ 220:224:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.shlb.lbble.view.ParticleView$3 -> com.shlb.lbble.view.ParticleView$3:
+ 234:234:void <init>(com.shlb.lbble.view.ParticleView) -> <init>
+ 237:238:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.shlb.lbble.view.ParticleView$4 -> com.shlb.lbble.view.ParticleView$4:
+ 246:246:void <init>(com.shlb.lbble.view.ParticleView) -> <init>
+ 249:251:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.shlb.lbble.view.ParticleView$5 -> com.shlb.lbble.view.ParticleView$5:
+ 253:253:void <init>(com.shlb.lbble.view.ParticleView) -> <init>
+ 256:257:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.shlb.lbble.view.ParticleView$6 -> com.shlb.lbble.view.ParticleView$6:
+ 268:268:void <init>(com.shlb.lbble.view.ParticleView) -> <init>
+ 271:272:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.shlb.lbble.view.ParticleView$7 -> com.shlb.lbble.view.ParticleView$7:
+ 277:277:void <init>(com.shlb.lbble.view.ParticleView) -> <init>
+ 280:281:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.shlb.lbble.view.ParticleView$8 -> com.shlb.lbble.view.ParticleView$8:
+ 286:286:void <init>(com.shlb.lbble.view.ParticleView) -> <init>
+ 289:291:void onAnimationUpdate(android.animation.ValueAnimator) -> onAnimationUpdate
+com.shlb.lbble.view.ParticleView$9 -> com.shlb.lbble.view.ParticleView$9:
+ 298:298:void <init>(com.shlb.lbble.view.ParticleView) -> <init>
+ 301:304:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+com.shlb.lbble.view.ParticleView$AnimListener -> com.shlb.lbble.view.ParticleView$AnimListener:
+ 319:319:void <init>(com.shlb.lbble.view.ParticleView) -> <init>
+ 319:319:void <init>(com.shlb.lbble.view.ParticleView,com.shlb.lbble.view.ParticleView$1) -> <init>
+ 328:328:void onAnimationCancel(android.animation.Animator) -> onAnimationCancel
+ 333:333:void onAnimationRepeat(android.animation.Animator) -> onAnimationRepeat
+ 323:323:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+com.shlb.lbble.view.particleview.LineEvaluator -> com.shlb.lbble.view.particleview.LineEvaluator:
+ 6:6:void <init>() -> <init>
+ 6:6:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 10:14:com.shlb.lbble.view.particleview.Particle evaluate(float,com.shlb.lbble.view.particleview.Particle,com.shlb.lbble.view.particleview.Particle) -> evaluate
+com.shlb.lbble.view.particleview.Particle -> com.shlb.lbble.view.particleview.Particle:
+ 9:10:void <init>() -> <init>
+ 12:16:void <init>(float,float,float) -> <init>
+kotlin.InitializedLazyImpl -> kotlin.InitializedLazyImpl:
+# {"id":"sourceFile","fileName":"Lazy.kt"}
+ 95:95:void <init>(java.lang.Object) -> <init>
+ 95:95:java.lang.Object getValue() -> getValue
+ 99:99:java.lang.String toString() -> toString
+kotlin.KotlinNullPointerException -> kotlin.KotlinNullPointerException:
+# {"id":"sourceFile","fileName":"KotlinNullPointerException.kt"}
+ 9:9:void <init>() -> <init>
+kotlin.Lazy -> kotlin.Lazy:
+# {"id":"sourceFile","fileName":"Lazy.kt"}
+kotlin.LazyKt__LazyJVMKt -> kotlin.LazyKt__LazyJVMKt:
+# {"id":"sourceFile","fileName":"LazyJVM.kt"}
+ 34:38:kotlin.Lazy lazy(kotlin.LazyThreadSafetyMode,kotlin.jvm.functions.Function0) -> lazy
+kotlin.LazyThreadSafetyMode -> kotlin.LazyThreadSafetyMode:
+# {"id":"sourceFile","fileName":"Lazy.kt"}
+ 49:49:void <init>(java.lang.String,int) -> <init>
+kotlin.NoWhenBranchMatchedException -> kotlin.NoWhenBranchMatchedException:
+# {"id":"sourceFile","fileName":"NoWhenBranchMatchedException.kt"}
+ 9:9:void <init>() -> <init>
+kotlin.Pair -> kotlin.Pair:
+# {"id":"sourceFile","fileName":"Tuples.kt"}
+ 26:26:void <init>(java.lang.Object,java.lang.Object) -> <init>
+ 27:27:java.lang.Object getFirst() -> getFirst
+ 28:28:java.lang.Object getSecond() -> getSecond
+ 34:34:java.lang.String toString() -> toString
+kotlin.SafePublicationLazyImpl -> kotlin.SafePublicationLazyImpl:
+# {"id":"sourceFile","fileName":"LazyJVM.kt"}
+ 124:127:void <clinit>() -> <clinit>
+ 90:94:void <init>(kotlin.jvm.functions.Function0) -> <init>
+ 98:114:java.lang.Object getValue() -> getValue
+ 117:117:boolean isInitialized() -> isInitialized
+ 119:119:java.lang.String toString() -> toString
+ 121:121:java.lang.Object writeReplace() -> writeReplace
+kotlin.SafePublicationLazyImpl$$ExternalSyntheticBackportWithForwarding0 -> kotlin.SafePublicationLazyImpl$$ExternalSyntheticBackportWithForwarding0:
+# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
+# {"id":"com.android.tools.r8.synthesized"}
+ boolean kotlin.SafePublicationLazyImpl$$InternalSyntheticBackportWithForwarding$0$4bb09ac4ea9ee019bdc96f1a7824fb2e5ca3ee0b09b00ed4129ec1d661f04798$0.m(java.util.concurrent.atomic.AtomicReferenceFieldUpdater,java.lang.Object,java.lang.Object,java.lang.Object) -> m
+ # {"id":"com.android.tools.r8.synthesized"}
+kotlin.SafePublicationLazyImpl$Companion -> kotlin.SafePublicationLazyImpl$Companion:
+# {"id":"sourceFile","fileName":"LazyJVM.kt"}
+ 123:123:void <init>() -> <init>
+ 123:123:void <init>(kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+kotlin.SynchronizedLazyImpl -> kotlin.SynchronizedLazyImpl:
+# {"id":"sourceFile","fileName":"LazyJVM.kt"}
+ 55:55:void <init>(kotlin.jvm.functions.Function0,java.lang.Object,int,kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+ 55:55:void <init>(kotlin.jvm.functions.Function0,java.lang.Object):55 -> <init>
+ 56:59:void <init>(kotlin.jvm.functions.Function0,java.lang.Object) -> <init>
+ 55:55:void <init>(kotlin.jvm.functions.Function0,java.lang.Object,int,kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+ 63:78:java.lang.Object getValue() -> getValue
+ 82:82:boolean isInitialized() -> isInitialized
+ 84:84:java.lang.String toString() -> toString
+ 86:86:java.lang.Object writeReplace() -> writeReplace
+kotlin.TuplesKt -> kotlin.TuplesKt:
+# {"id":"sourceFile","fileName":"Tuples.kt"}
+ 43:43:kotlin.Pair to(java.lang.Object,java.lang.Object) -> to
+kotlin.TypeCastException -> kotlin.TypeCastException:
+# {"id":"sourceFile","fileName":"TypeCastException.kt"}
+ 11:11:void <init>(java.lang.String) -> <init>
+kotlin.UNINITIALIZED_VALUE -> kotlin.UNINITIALIZED_VALUE:
+# {"id":"sourceFile","fileName":"Lazy.kt"}
+ 71:71:void <clinit>() -> <clinit>
+ 71:71:void <init>() -> <init>
+kotlin.UninitializedPropertyAccessException -> kotlin.UninitializedPropertyAccessException:
+# {"id":"sourceFile","fileName":"UninitializedPropertyAccessException.kt"}
+ 9:9:void <init>() -> <init>
+ 11:11:void <init>(java.lang.String) -> <init>
+kotlin.UnsafeLazyImpl -> kotlin.UnsafeLazyImpl:
+# {"id":"sourceFile","fileName":"Lazy.kt"}
+ 74:76:void <init>(kotlin.jvm.functions.Function0) -> <init>
+ 80:85:java.lang.Object getValue() -> getValue
+ 88:88:boolean isInitialized() -> isInitialized
+ 90:90:java.lang.String toString() -> toString
+ 92:92:java.lang.Object writeReplace() -> writeReplace
+kotlin.collections.ArraysKt__ArraysJVMKt -> kotlin.collections.ArraysKt__ArraysJVMKt:
+# {"id":"sourceFile","fileName":"ArraysJVM.kt"}
+kotlin.collections.ArraysKt__ArraysKt -> kotlin.collections.ArraysKt__ArraysKt:
+# {"id":"sourceFile","fileName":"Arrays.kt"}
+kotlin.collections.ArraysKt___ArraysJvmKt -> kotlin.collections.ArraysKt___ArraysJvmKt:
+# {"id":"sourceFile","fileName":"_ArraysJvm.kt"}
+ 129:129:java.util.List asList(java.lang.Object[]) -> asList
+kotlin.collections.ArraysKt___ArraysKt -> kotlin.collections.ArraysKt___ArraysKt:
+# {"id":"sourceFile","fileName":"_Arrays.kt"}
+ 2702:2705:char single(char[]) -> single
+kotlin.collections.ArraysUtilJVM -> kotlin.collections.ArraysUtilJVM:
+ 13:13:java.util.List asList(java.lang.Object[]) -> asList
+kotlin.collections.CollectionsKt__CollectionsJVMKt -> kotlin.collections.CollectionsKt__CollectionsJVMKt:
+# {"id":"sourceFile","fileName":"CollectionsJVM.kt"}
+kotlin.collections.CollectionsKt__CollectionsKt -> kotlin.collections.CollectionsKt__CollectionsKt:
+# {"id":"sourceFile","fileName":"Collections.kt"}
+ 70:70:java.util.List emptyList() -> emptyList
+ 76:76:java.util.List listOf(java.lang.Object[]) -> listOf
+ 441:441:void throwIndexOverflow() -> throwIndexOverflow
+kotlin.collections.CollectionsKt__IterablesKt -> kotlin.collections.CollectionsKt__IterablesKt:
+# {"id":"sourceFile","fileName":"Iterables.kt"}
+ 39:39:int collectionSizeOrDefault(java.lang.Iterable,int) -> collectionSizeOrDefault
+kotlin.collections.EmptyIterator -> kotlin.collections.EmptyIterator:
+# {"id":"sourceFile","fileName":"Collections.kt"}
+ 14:14:void <clinit>() -> <clinit>
+ 14:14:void <init>() -> <init>
+ 15:15:boolean hasNext() -> hasNext
+ 16:16:boolean hasPrevious() -> hasPrevious
+ 14:14:java.lang.Object next() -> next
+ 19:19:java.lang.Void next() -> next
+ 17:17:int nextIndex() -> nextIndex
+ 14:14:java.lang.Object previous() -> previous
+ 20:20:java.lang.Void previous() -> previous
+ 18:18:int previousIndex() -> previousIndex
+kotlin.collections.EmptyList -> kotlin.collections.EmptyList:
+# {"id":"sourceFile","fileName":"Collections.kt"}
+ 23:23:void <clinit>() -> <clinit>
+ 23:23:void <init>() -> <init>
+ 23:23:boolean contains(java.lang.Object) -> contains
+ 32:32:boolean contains(java.lang.Void) -> contains
+ 33:33:boolean containsAll(java.util.Collection) -> containsAll
+ 26:26:boolean equals(java.lang.Object) -> equals
+ 23:23:java.lang.Object get(int) -> get
+ 35:35:java.lang.Void get(int) -> get
+ 30:30:int getSize() -> getSize
+ 27:27:int hashCode() -> hashCode
+ 23:23:int indexOf(java.lang.Object) -> indexOf
+ 36:36:int indexOf(java.lang.Void) -> indexOf
+ 31:31:boolean isEmpty() -> isEmpty
+ 39:39:java.util.Iterator iterator() -> iterator
+ 23:23:int lastIndexOf(java.lang.Object) -> lastIndexOf
+ 37:37:int lastIndexOf(java.lang.Void) -> lastIndexOf
+ 40:40:java.util.ListIterator listIterator() -> listIterator
+ 42:43:java.util.ListIterator listIterator(int) -> listIterator
+ 51:51:java.lang.Object readResolve() -> readResolve
+ 23:23:int size() -> size
+ 47:48:java.util.List subList(int,int) -> subList
+ 28:28:java.lang.String toString() -> toString
+kotlin.collections.EmptyMap -> kotlin.collections.EmptyMap:
+# {"id":"sourceFile","fileName":"Maps.kt"}
+ 14:14:void <clinit>() -> <clinit>
+ 14:14:void <init>() -> <init>
+ 24:24:boolean containsKey(java.lang.Object) -> containsKey
+ 14:14:boolean containsValue(java.lang.Object) -> containsValue
+ 25:25:boolean containsValue(java.lang.Void) -> containsValue
+ 14:14:java.util.Set entrySet() -> entrySet
+ 17:17:boolean equals(java.lang.Object) -> equals
+ 14:14:java.lang.Object get(java.lang.Object) -> get
+ 26:26:java.lang.Void get(java.lang.Object) -> get
+ 27:27:java.util.Set getEntries() -> getEntries
+ 28:28:java.util.Set getKeys() -> getKeys
+ 21:21:int getSize() -> getSize
+ 29:29:java.util.Collection getValues() -> getValues
+ 18:18:int hashCode() -> hashCode
+ 22:22:boolean isEmpty() -> isEmpty
+ 14:14:java.util.Set keySet() -> keySet
+ 31:31:java.lang.Object readResolve() -> readResolve
+ 14:14:int size() -> size
+ 19:19:java.lang.String toString() -> toString
+ 14:14:java.util.Collection values() -> values
+kotlin.collections.EmptySet -> kotlin.collections.EmptySet:
+# {"id":"sourceFile","fileName":"Sets.kt"}
+ 14:14:void <clinit>() -> <clinit>
+ 14:14:void <init>() -> <init>
+ 14:14:boolean contains(java.lang.Object) -> contains
+ 23:23:boolean contains(java.lang.Void) -> contains
+ 24:24:boolean containsAll(java.util.Collection) -> containsAll
+ 17:17:boolean equals(java.lang.Object) -> equals
+ 21:21:int getSize() -> getSize
+ 18:18:int hashCode() -> hashCode
+ 22:22:boolean isEmpty() -> isEmpty
+ 26:26:java.util.Iterator iterator() -> iterator
+ 28:28:java.lang.Object readResolve() -> readResolve
+ 14:14:int size() -> size
+ 19:19:java.lang.String toString() -> toString
+kotlin.collections.MapsKt__MapWithDefaultKt -> kotlin.collections.MapsKt__MapWithDefaultKt:
+# {"id":"sourceFile","fileName":"MapWithDefault.kt"}
+kotlin.collections.MapsKt__MapsJVMKt -> kotlin.collections.MapsKt__MapsJVMKt:
+# {"id":"sourceFile","fileName":"MapsJVM.kt"}
+ 104:112:int mapCapacity(int) -> mapCapacity
+ 27:27:java.util.Map mapOf(kotlin.Pair) -> mapOf
+ 96:96:java.util.Map toSingletonMap(java.util.Map) -> toSingletonMap
+kotlin.collections.MapsKt__MapsKt -> kotlin.collections.MapsKt__MapsKt:
+# {"id":"sourceFile","fileName":"Maps.kt"}
+ 40:40:java.util.Map emptyMap() -> emptyMap
+ 779:783:java.util.Map optimizeReadOnlyMap(java.util.Map) -> optimizeReadOnlyMap
+ 410:413:void putAll(java.util.Map,java.lang.Iterable) -> putAll
+ 541:548:java.util.Map toMap(java.lang.Iterable) -> toMap
+ 555:555:java.util.Map toMap(java.lang.Iterable,java.util.Map) -> toMap
+kotlin.jvm.JvmClassMappingKt -> kotlin.jvm.JvmClassMappingKt:
+# {"id":"sourceFile","fileName":"JvmClassMapping.kt"}
+ 58:71:java.lang.Class getJavaObjectType(kotlin.reflect.KClass) -> getJavaObjectType
+kotlin.jvm.functions.Function0 -> kotlin.jvm.functions.Function0:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function1 -> kotlin.jvm.functions.Function1:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function10 -> kotlin.jvm.functions.Function10:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function11 -> kotlin.jvm.functions.Function11:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function12 -> kotlin.jvm.functions.Function12:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function13 -> kotlin.jvm.functions.Function13:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function14 -> kotlin.jvm.functions.Function14:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function15 -> kotlin.jvm.functions.Function15:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function16 -> kotlin.jvm.functions.Function16:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function17 -> kotlin.jvm.functions.Function17:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function18 -> kotlin.jvm.functions.Function18:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function19 -> kotlin.jvm.functions.Function19:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function2 -> kotlin.jvm.functions.Function2:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function20 -> kotlin.jvm.functions.Function20:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function21 -> kotlin.jvm.functions.Function21:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function22 -> kotlin.jvm.functions.Function22:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function3 -> kotlin.jvm.functions.Function3:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function4 -> kotlin.jvm.functions.Function4:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function5 -> kotlin.jvm.functions.Function5:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function6 -> kotlin.jvm.functions.Function6:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function7 -> kotlin.jvm.functions.Function7:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function8 -> kotlin.jvm.functions.Function8:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.functions.Function9 -> kotlin.jvm.functions.Function9:
+# {"id":"sourceFile","fileName":"Functions.kt"}
+kotlin.jvm.internal.CallableReference -> kotlin.jvm.internal.CallableReference:
+ 36:36:void <clinit>() -> <clinit>
+ 48:49:void <init>() -> <init>
+ 52:54:void <init>(java.lang.Object) -> <init>
+ 65:70:kotlin.reflect.KCallable compute() -> compute
+ 60:60:java.lang.Object getBoundReceiver() -> getBoundReceiver
+ 97:97:java.lang.String getName() -> getName
+ 89:89:kotlin.reflect.KDeclarationContainer getOwner() -> getOwner
+ 109:109:java.lang.String getSignature() -> getSignature
+kotlin.jvm.internal.CallableReference$NoReceiver -> kotlin.jvm.internal.CallableReference$NoReceiver:
+ 40:40:void <clinit>() -> <clinit>
+ 39:39:void <init>() -> <init>
+ 39:39:kotlin.jvm.internal.CallableReference$NoReceiver access$000() -> access$000
+ 43:43:java.lang.Object readResolve() -> readResolve
+kotlin.jvm.internal.ClassBasedDeclarationContainer -> kotlin.jvm.internal.ClassBasedDeclarationContainer:
+# {"id":"sourceFile","fileName":"ClassBasedDeclarationContainer.kt"}
+kotlin.jvm.internal.ClassReference -> kotlin.jvm.internal.ClassReference:
+# {"id":"sourceFile","fileName":"ClassReference.kt"}
+ 93:99:void <clinit>() -> <clinit>
+ 1376:1376:java.util.List kotlin.collections.CollectionsKt___CollectionsKt.mapIndexed(java.lang.Iterable,kotlin.jvm.functions.Function2) -> <clinit>
+ 1376:1376:void <clinit>():99 -> <clinit>
+ 1407:1409:java.util.Collection kotlin.collections.CollectionsKt___CollectionsKt.mapIndexedTo(java.lang.Iterable,java.util.Collection,kotlin.jvm.functions.Function2) -> <clinit>
+ 1407:1409:void <clinit>():99 -> <clinit>
+ 99:99:void <clinit>() -> <clinit>
+ 1408:1410:java.util.Collection kotlin.collections.CollectionsKt___CollectionsKt.mapIndexedTo(java.lang.Iterable,java.util.Collection,kotlin.jvm.functions.Function2) -> <clinit>
+ 1408:1410:void <clinit>():99 -> <clinit>
+ 99:147:void <clinit>() -> <clinit>
+ 1164:1165:java.util.Map kotlin.collections.CollectionsKt___CollectionsKt.associateTo(java.lang.Iterable,java.util.Map,kotlin.jvm.functions.Function1) -> <clinit>
+ 1164:1165:void <clinit>():124 -> <clinit>
+ 148:148:void <clinit>() -> <clinit>
+ 1164:1167:java.util.Map kotlin.collections.CollectionsKt___CollectionsKt.associateTo(java.lang.Iterable,java.util.Map,kotlin.jvm.functions.Function1) -> <clinit>
+ 1164:1167:void <clinit>():124 -> <clinit>
+ 124:155:void <clinit>() -> <clinit>
+ 433:433:java.util.Map kotlin.collections.MapsKt__MapsKt.mapValues(java.util.Map,kotlin.jvm.functions.Function1) -> <clinit>
+ 433:433:void <clinit>():155 -> <clinit>
+ 383:383:java.util.Map kotlin.collections.MapsKt__MapsKt.mapValuesTo(java.util.Map,java.util.Map,kotlin.jvm.functions.Function1) -> <clinit>
+ 383:383:void <clinit>():155 -> <clinit>
+ 1149:1150:java.util.Map kotlin.collections.CollectionsKt___CollectionsKt.associateByTo(java.lang.Iterable,java.util.Map,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function1) -> <clinit>
+ 1149:1150:void <clinit>():155 -> <clinit>
+ 383:383:java.util.Map kotlin.collections.MapsKt__MapsKt.mapValuesTo(java.util.Map,java.util.Map,kotlin.jvm.functions.Function1) -> <clinit>
+ 383:383:void <clinit>():155 -> <clinit>
+ 155:155:void <clinit>() -> <clinit>
+ 1149:1152:java.util.Map kotlin.collections.CollectionsKt___CollectionsKt.associateByTo(java.lang.Iterable,java.util.Map,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function1) -> <clinit>
+ 1149:1152:void <clinit>():155 -> <clinit>
+ 10:10:java.util.Map access$getFUNCTION_CLASSES$cp() -> <init>
+ 10:10:void <init>(java.lang.Class):10 -> <init>
+ 83:83:boolean equals(java.lang.Object) -> equals
+ 10:10:java.util.Map access$getFUNCTION_CLASSES$cp() -> getJClass
+ 10:10:java.lang.Class getJClass():10 -> getJClass
+ 86:86:int hashCode() -> hashCode
+ 89:89:java.lang.String toString() -> toString
+kotlin.jvm.internal.ClassReference$Companion -> kotlin.jvm.internal.ClassReference$Companion:
+# {"id":"sourceFile","fileName":"ClassReference.kt"}
+ 91:91:void <init>(kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+ 91:91:void <init>():91 -> <init>
+ 91:91:void <init>(kotlin.jvm.internal.DefaultConstructorMarker) -> <init>
+kotlin.jvm.internal.CollectionToArray -> kotlin.jvm.internal.CollectionToArray:
+# {"id":"sourceFile","fileName":"CollectionToArray.kt"}
+ 14:14:void <clinit>() -> <clinit>
+ 19:20:java.lang.Object[] toArray(java.util.Collection) -> toArray
+ 57:58:java.lang.Object[] toArrayImpl(java.util.Collection,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2) -> toArray
+ 57:58:java.lang.Object[] toArray(java.util.Collection):19 -> toArray
+ 21:21:java.lang.Object[] toArray(java.util.Collection) -> toArray
+ 59:60:java.lang.Object[] toArrayImpl(java.util.Collection,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2) -> toArray
+ 59:60:java.lang.Object[] toArray(java.util.Collection):19 -> toArray
+ 21:21:java.lang.Object[] toArray(java.util.Collection) -> toArray
+ 61:61:java.lang.Object[] toArrayImpl(java.util.Collection,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2) -> toArray
+ 61:61:java.lang.Object[] toArray(java.util.Collection):19 -> toArray
+ 22:22:java.lang.Object[] toArray(java.util.Collection) -> toArray
+ 62:78:java.lang.Object[] toArrayImpl(java.util.Collection,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2) -> toArray
+ 62:78:java.lang.Object[] toArray(java.util.Collection):19 -> toArray
+ 23:24:java.lang.Object[] toArray(java.util.Collection) -> toArray
+ 64:79:java.lang.Object[] toArrayImpl(java.util.Collection,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2) -> toArray
+ 64:79:java.lang.Object[] toArray(java.util.Collection):19 -> toArray
+ 30:32:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]) -> toArray
+ 57:58:java.lang.Object[] toArrayImpl(java.util.Collection,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2) -> toArray
+ 57:58:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):31 -> toArray
+ 34:35:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]) -> toArray
+ 59:60:java.lang.Object[] toArrayImpl(java.util.Collection,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2) -> toArray
+ 59:60:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):31 -> toArray
+ 34:35:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]) -> toArray
+ 61:64:java.lang.Object[] toArrayImpl(java.util.Collection,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2) -> toArray
+ 61:64:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):31 -> toArray
+ 38:39:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]) -> toArray
+ 62:78:java.lang.Object[] toArrayImpl(java.util.Collection,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2) -> toArray
+ 62:78:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):31 -> toArray
+ 42:46:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]) -> toArray
+ 64:79:java.lang.Object[] toArrayImpl(java.util.Collection,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2) -> toArray
+ 64:79:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):31 -> toArray
+ 30:39:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]) -> toArray
+kotlin.jvm.internal.FunctionBase -> kotlin.jvm.internal.FunctionBase:
+# {"id":"sourceFile","fileName":"FunctionBase.kt"}
+kotlin.jvm.internal.Intrinsics -> kotlin.jvm.internal.Intrinsics:
+ 16:17:void <init>() -> <init>
+ 162:162:boolean areEqual(java.lang.Object,java.lang.Object) -> areEqual
+ 86:89:void checkExpressionValueIsNotNull(java.lang.Object,java.lang.String) -> checkExpressionValueIsNotNull
+ 124:127:void checkParameterIsNotNull(java.lang.Object,java.lang.String) -> checkParameterIsNotNull
+ 246:246:java.lang.Throwable sanitizeStackTrace(java.lang.Throwable) -> sanitizeStackTrace
+ 250:262:java.lang.Throwable sanitizeStackTrace(java.lang.Throwable,java.lang.String) -> sanitizeStackTrace
+ 36:36:void throwNpe() -> throwNpe
+ 136:150:void throwParameterIsNullException(java.lang.String) -> throwParameterIsNullException
+ 54:54:void throwUninitializedProperty(java.lang.String) -> throwUninitializedProperty
+ 58:59:void throwUninitializedPropertyAccessException(java.lang.String) -> throwUninitializedPropertyAccessException
+kotlin.jvm.internal.Lambda -> kotlin.jvm.internal.Lambda:
+# {"id":"sourceFile","fileName":"Lambda.kt"}
+ 10:10:void <init>(int) -> <init>
+ 11:11:java.lang.String toString() -> toString
+kotlin.jvm.internal.PropertyReference -> kotlin.jvm.internal.PropertyReference:
+ 14:15:void <init>() -> <init>
+ 42:53:boolean equals(java.lang.Object) -> equals
+ 58:58:int hashCode() -> hashCode
+ 63:68:java.lang.String toString() -> toString
+kotlin.jvm.internal.PropertyReference1 -> kotlin.jvm.internal.PropertyReference1:
+ 14:15:void <init>() -> <init>
+ 24:24:kotlin.reflect.KCallable computeReflected() -> computeReflected
+kotlin.jvm.internal.PropertyReference1Impl -> kotlin.jvm.internal.PropertyReference1Impl:
+ 15:19:void <init>(kotlin.reflect.KDeclarationContainer,java.lang.String,java.lang.String) -> <init>
+ 28:28:java.lang.String getName() -> getName
+ 23:23:kotlin.reflect.KDeclarationContainer getOwner() -> getOwner
+ 33:33:java.lang.String getSignature() -> getSignature
+kotlin.jvm.internal.Reflection -> kotlin.jvm.internal.Reflection:
+ 26:39:void <clinit>() -> <clinit>
+ 54:54:kotlin.reflect.KClass getOrCreateKotlinClass(java.lang.Class) -> getOrCreateKotlinClass
+ 98:98:kotlin.reflect.KProperty1 property1(kotlin.jvm.internal.PropertyReference1) -> property1
+ 73:73:java.lang.String renderLambdaToString(kotlin.jvm.internal.Lambda) -> renderLambdaToString
+kotlin.jvm.internal.ReflectionFactory -> kotlin.jvm.internal.ReflectionFactory:
+ 13:13:void <init>() -> <init>
+ 29:29:kotlin.reflect.KClass getOrCreateKotlinClass(java.lang.Class) -> getOrCreateKotlinClass
+ 64:64:kotlin.reflect.KProperty1 property1(kotlin.jvm.internal.PropertyReference1) -> property1
+ 38:38:java.lang.String renderLambdaToString(kotlin.jvm.internal.Lambda) -> renderLambdaToString
+ 43:44:java.lang.String renderLambdaToString(kotlin.jvm.internal.FunctionBase) -> renderLambdaToString
+kotlin.ranges.RangesKt__RangesKt -> kotlin.ranges.RangesKt__RangesKt:
+# {"id":"sourceFile","fileName":"Ranges.kt"}
+kotlin.ranges.RangesKt___RangesKt -> kotlin.ranges.RangesKt___RangesKt:
+# {"id":"sourceFile","fileName":"_Ranges.kt"}
+ 995:995:int coerceAtMost(int,int) -> coerceAtMost
+kotlin.reflect.KCallable -> kotlin.reflect.KCallable:
+# {"id":"sourceFile","fileName":"KCallable.kt"}
+kotlin.reflect.KClass -> kotlin.reflect.KClass:
+# {"id":"sourceFile","fileName":"KClass.kt"}
+kotlin.reflect.KDeclarationContainer -> kotlin.reflect.KDeclarationContainer:
+# {"id":"sourceFile","fileName":"KDeclarationContainer.kt"}
+kotlin.reflect.KProperty -> kotlin.reflect.KProperty:
+# {"id":"sourceFile","fileName":"KProperty.kt"}
+kotlin.reflect.KProperty1 -> kotlin.reflect.KProperty1:
+# {"id":"sourceFile","fileName":"KProperty.kt"}
+kotlin.text.CharsKt__CharJVMKt -> kotlin.text.CharsKt__CharJVMKt:
+# {"id":"sourceFile","fileName":"CharJVM.kt"}
+kotlin.text.CharsKt__CharKt -> kotlin.text.CharsKt__CharKt:
+# {"id":"sourceFile","fileName":"Char.kt"}
+ 32:37:boolean equals(char,char,boolean) -> equals
+kotlin.text.StringsKt__AppendableKt -> kotlin.text.StringsKt__AppendableKt:
+# {"id":"sourceFile","fileName":"Appendable.kt"}
+kotlin.text.StringsKt__IndentKt -> kotlin.text.StringsKt__IndentKt:
+# {"id":"sourceFile","fileName":"Indent.kt"}
+kotlin.text.StringsKt__RegexExtensionsJVMKt -> kotlin.text.StringsKt__RegexExtensionsJVMKt:
+# {"id":"sourceFile","fileName":"RegexExtensionsJVM.kt"}
+kotlin.text.StringsKt__RegexExtensionsKt -> kotlin.text.StringsKt__RegexExtensionsKt:
+# {"id":"sourceFile","fileName":"RegexExtensions.kt"}
+kotlin.text.StringsKt__StringBuilderJVMKt -> kotlin.text.StringsKt__StringBuilderJVMKt:
+# {"id":"sourceFile","fileName":"StringBuilderJVM.kt"}
+kotlin.text.StringsKt__StringBuilderKt -> kotlin.text.StringsKt__StringBuilderKt:
+# {"id":"sourceFile","fileName":"StringBuilder.kt"}
+kotlin.text.StringsKt__StringNumberConversionsJVMKt -> kotlin.text.StringsKt__StringNumberConversionsJVMKt:
+# {"id":"sourceFile","fileName":"StringNumberConversionsJVM.kt"}
+kotlin.text.StringsKt__StringNumberConversionsKt -> kotlin.text.StringsKt__StringNumberConversionsKt:
+# {"id":"sourceFile","fileName":"StringNumberConversions.kt"}
+kotlin.text.StringsKt__StringsJVMKt -> kotlin.text.StringsKt__StringsJVMKt:
+# {"id":"sourceFile","fileName":"StringsJVM.kt"}
+kotlin.text.StringsKt__StringsKt -> kotlin.text.StringsKt__StringsKt:
+# {"id":"sourceFile","fileName":"Strings.kt"}
+ 317:317:int getLastIndex(java.lang.CharSequence) -> getLastIndex
+ 1021:1024:int lastIndexOf(java.lang.CharSequence,char,int,boolean) -> lastIndexOf
+ 1020:1020:int lastIndexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object) -> lastIndexOf$default
+ 860:868:int lastIndexOfAny(java.lang.CharSequence,char[],int,boolean) -> lastIndexOfAny
+ 10843:10843:boolean kotlin.collections.ArraysKt___ArraysKt.any(char[],kotlin.jvm.functions.Function1) -> lastIndexOfAny
+ 10843:10843:int lastIndexOfAny(java.lang.CharSequence,char[],int,boolean):868 -> lastIndexOfAny
+ 868:868:int lastIndexOfAny(java.lang.CharSequence,char[],int,boolean) -> lastIndexOfAny
+ 10844:10844:boolean kotlin.collections.ArraysKt___ArraysKt.any(char[],kotlin.jvm.functions.Function1) -> lastIndexOfAny
+ 10844:10844:int lastIndexOfAny(java.lang.CharSequence,char[],int,boolean):868 -> lastIndexOfAny
+ 866:872:int lastIndexOfAny(java.lang.CharSequence,char[],int,boolean) -> lastIndexOfAny
+ 422:423:java.lang.String substringAfterLast(java.lang.String,char,java.lang.String) -> substringAfterLast
+ 421:421:java.lang.String substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object) -> substringAfterLast$default
+org.greenrobot.eventbus.AsyncPoster -> org.greenrobot.eventbus.AsyncPoster:
+ 29:32:void <init>(org.greenrobot.eventbus.EventBus) -> <init>
+ 35:38:void enqueue(org.greenrobot.eventbus.Subscription,java.lang.Object) -> enqueue
+ 42:47:void run() -> run
+org.greenrobot.eventbus.BackgroundPoster -> org.greenrobot.eventbus.BackgroundPoster:
+ 32:35:void <init>(org.greenrobot.eventbus.EventBus) -> <init>
+ 38:46:void enqueue(org.greenrobot.eventbus.Subscription,java.lang.Object) -> enqueue
+ 53:72:void run() -> run
+org.greenrobot.eventbus.EventBus -> org.greenrobot.eventbus.EventBus:
+ 44:49:void <clinit>() -> <clinit>
+ 104:105:void <init>() -> <init>
+ 55:124:void <init>(org.greenrobot.eventbus.EventBusBuilder) -> <init>
+ 460:466:void addInterfaces(java.util.List,java.lang.Class[]) -> addInterfaces
+ 196:201:void checkPostStickyEventToSubscription(org.greenrobot.eventbus.Subscription,java.lang.Object) -> checkPostStickyEventToSubscription
+ 79:86:org.greenrobot.eventbus.EventBus getDefault() -> getDefault
+ 530:530:java.util.concurrent.ExecutorService getExecutorService() -> getExecutorService
+ 494:517:void handleSubscriberException(org.greenrobot.eventbus.Subscription,java.lang.Object,java.lang.Throwable) -> handleSubscriberException
+ 475:481:void invokeSubscriber(org.greenrobot.eventbus.PendingPost) -> invokeSubscriber
+ 485:491:void invokeSubscriber(org.greenrobot.eventbus.Subscription,java.lang.Object) -> invokeSubscriber
+ 442:455:java.util.List lookupAllEventTypes(java.lang.Class) -> lookupAllEventTypes
+ 239:258:void post(java.lang.Object) -> post
+ 363:384:void postSingleEvent(java.lang.Object,org.greenrobot.eventbus.EventBus$PostingThreadState) -> postSingleEvent
+ 388:410:boolean postSingleEventForEventType(java.lang.Object,org.greenrobot.eventbus.EventBus$PostingThreadState,java.lang.Class) -> postSingleEventForEventType
+ 414:438:void postToSubscription(org.greenrobot.eventbus.Subscription,java.lang.Object,boolean) -> postToSubscription
+ 135:142:void register(java.lang.Object) -> register
+ 146:193:void subscribe(java.lang.Object,org.greenrobot.eventbus.SubscriberMethod) -> subscribe
+ 540:540:java.lang.String toString() -> toString
+ 225:235:void unregister(java.lang.Object) -> unregister
+ 209:222:void unsubscribeByEventType(java.lang.Object,java.lang.Class) -> unsubscribeByEventType
+org.greenrobot.eventbus.EventBus$1 -> org.greenrobot.eventbus.EventBus$1:
+ 55:55:void <init>(org.greenrobot.eventbus.EventBus) -> <init>
+ 55:55:java.lang.Object initialValue() -> initialValue
+ 58:58:org.greenrobot.eventbus.EventBus$PostingThreadState initialValue() -> initialValue
+org.greenrobot.eventbus.EventBus$2 -> org.greenrobot.eventbus.EventBus$2:
+ 414:414:void <clinit>() -> <clinit>
+org.greenrobot.eventbus.EventBus$PostingThreadState -> org.greenrobot.eventbus.EventBus$PostingThreadState:
+ 520:521:void <init>() -> <init>
+org.greenrobot.eventbus.EventBusBuilder -> org.greenrobot.eventbus.EventBusBuilder:
+ 30:30:void <clinit>() -> <clinit>
+ 32:45:void <init>() -> <init>
+org.greenrobot.eventbus.EventBusException -> org.greenrobot.eventbus.EventBusException:
+ 29:30:void <init>(java.lang.String) -> <init>
+ 37:38:void <init>(java.lang.String,java.lang.Throwable) -> <init>
+org.greenrobot.eventbus.HandlerPoster -> org.greenrobot.eventbus.HandlerPoster:
+ 31:35:void <init>(org.greenrobot.eventbus.EventBus,android.os.Looper,int) -> <init>
+ 38:48:void enqueue(org.greenrobot.eventbus.Subscription,java.lang.Object) -> enqueue
+ 52:78:void handleMessage(android.os.Message) -> handleMessage
+org.greenrobot.eventbus.NoSubscriberEvent -> org.greenrobot.eventbus.NoSubscriberEvent:
+ 30:33:void <init>(org.greenrobot.eventbus.EventBus,java.lang.Object) -> <init>
+org.greenrobot.eventbus.PendingPost -> org.greenrobot.eventbus.PendingPost:
+ 22:22:void <clinit>() -> <clinit>
+ 28:31:void <init>(java.lang.Object,org.greenrobot.eventbus.Subscription) -> <init>
+ 34:44:org.greenrobot.eventbus.PendingPost obtainPendingPost(org.greenrobot.eventbus.Subscription,java.lang.Object) -> obtainPendingPost
+ 48:57:void releasePendingPost(org.greenrobot.eventbus.PendingPost) -> releasePendingPost
+org.greenrobot.eventbus.PendingPostQueue -> org.greenrobot.eventbus.PendingPostQueue:
+ 19:19:void <init>() -> <init>
+ 23:36:void enqueue(org.greenrobot.eventbus.PendingPost) -> enqueue
+ 38:46:org.greenrobot.eventbus.PendingPost poll() -> poll
+ 49:53:org.greenrobot.eventbus.PendingPost poll(int) -> poll
+org.greenrobot.eventbus.SubscriberExceptionEvent -> org.greenrobot.eventbus.SubscriberExceptionEvent:
+ 37:42:void <init>(org.greenrobot.eventbus.EventBus,java.lang.Throwable,java.lang.Object,java.lang.Object) -> <init>
+org.greenrobot.eventbus.SubscriberMethod -> org.greenrobot.eventbus.SubscriberMethod:
+ 30:36:void <init>(java.lang.reflect.Method,java.lang.Class,org.greenrobot.eventbus.ThreadMode,int,boolean) -> <init>
+ 53:62:void checkMethodString() -> checkMethodString
+ 40:49:boolean equals(java.lang.Object) -> equals
+ 66:66:int hashCode() -> hashCode
+org.greenrobot.eventbus.SubscriberMethodFinder -> org.greenrobot.eventbus.SubscriberMethodFinder:
+ 39:46:void <clinit>() -> <clinit>
+ 49:53:void <init>(java.util.List,boolean,boolean) -> <init>
+ 56:71:java.util.List findSubscriberMethods(java.lang.Class) -> findSubscriberMethods
+ 76:92:java.util.List findUsingInfo(java.lang.Class) -> findUsingInfo
+ 141:147:java.util.List findUsingReflection(java.lang.Class) -> findUsingReflection
+ 154:185:void findUsingReflectionInSingleClass(org.greenrobot.eventbus.SubscriberMethodFinder$FindState) -> findUsingReflectionInSingleClass
+ 96:106:java.util.List getMethodsAndRelease(org.greenrobot.eventbus.SubscriberMethodFinder$FindState) -> getMethodsAndRelease
+ 123:137:org.greenrobot.eventbus.meta.SubscriberInfo getSubscriberInfo(org.greenrobot.eventbus.SubscriberMethodFinder$FindState) -> getSubscriberInfo
+ 110:119:org.greenrobot.eventbus.SubscriberMethodFinder$FindState prepareFindState() -> prepareFindState
+org.greenrobot.eventbus.SubscriberMethodFinder$FindState -> org.greenrobot.eventbus.SubscriberMethodFinder$FindState:
+ 191:195:void <init>() -> <init>
+ 222:234:boolean checkAdd(java.lang.reflect.Method,java.lang.Class) -> checkAdd
+ 239:252:boolean checkAddWithMethodSignature(java.lang.reflect.Method,java.lang.Class) -> checkAddWithMethodSignature
+ 203:206:void initForSubscriber(java.lang.Class) -> initForSubscriber
+ 257:267:void moveToSuperclass() -> moveToSuperclass
+ 209:217:void recycle() -> recycle
+org.greenrobot.eventbus.Subscription -> org.greenrobot.eventbus.Subscription:
+ 27:31:void <init>(java.lang.Object,org.greenrobot.eventbus.SubscriberMethod) -> <init>
+ 35:40:boolean equals(java.lang.Object) -> equals
+ 46:46:int hashCode() -> hashCode
+org.greenrobot.eventbus.ThreadMode -> org.greenrobot.eventbus.ThreadMode:
+ 25:56:void <clinit>() -> <clinit>
+ 25:25:void <init>(java.lang.String,int) -> <init>
+ 25:25:org.greenrobot.eventbus.ThreadMode valueOf(java.lang.String) -> valueOf
+ 25:25:org.greenrobot.eventbus.ThreadMode[] values() -> values
+pub.devrel.easypermissions.AppSettingsDialog -> pub.devrel.easypermissions.AppSettingsDialog:
+ 34:34:void <clinit>() -> <clinit>
+ 27:27:void <init>(android.os.Parcel,pub.devrel.easypermissions.AppSettingsDialog$1) -> <init>
+ 27:27:void <init>(java.lang.Object,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,int,pub.devrel.easypermissions.AppSettingsDialog$1) -> <init>
+ 60:68:void <init>(android.os.Parcel) -> <init>
+ 77:86:void <init>(java.lang.Object,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,int) -> <init>
+ 156:156:int describeContents() -> describeContents
+ 89:104:pub.devrel.easypermissions.AppSettingsDialog fromIntent(android.content.Intent,android.app.Activity) -> fromIntent
+ 171:171:int getIntentFlags() -> getIntentFlags
+ 108:117:void setActivityOrFragment(java.lang.Object) -> setActivityOrFragment
+ 140:151:androidx.appcompat.app.AlertDialog showDialog(android.content.DialogInterface$OnClickListener,android.content.DialogInterface$OnClickListener) -> showDialog
+ 161:168:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+pub.devrel.easypermissions.AppSettingsDialog$1 -> pub.devrel.easypermissions.AppSettingsDialog$1:
+ 34:34:void <init>() -> <init>
+ 34:34:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+ 37:37:pub.devrel.easypermissions.AppSettingsDialog createFromParcel(android.os.Parcel) -> createFromParcel
+ 34:34:java.lang.Object[] newArray(int) -> newArray
+ 42:42:pub.devrel.easypermissions.AppSettingsDialog[] newArray(int) -> newArray
+pub.devrel.easypermissions.AppSettingsDialog$Builder -> pub.devrel.easypermissions.AppSettingsDialog$Builder:
+ 181:198:void <init>(android.app.Activity) -> <init>
+ 328:343:pub.devrel.easypermissions.AppSettingsDialog build() -> build
+pub.devrel.easypermissions.AppSettingsDialogHolderActivity -> pub.devrel.easypermissions.AppSettingsDialogHolderActivity:
+ 16:16:void <init>() -> <init>
+ 61:64:void onActivityResult(int,int,android.content.Intent) -> onActivityResult
+ 46:57:void onClick(android.content.DialogInterface,int) -> onClick
+ 30:34:void onCreate(android.os.Bundle) -> onCreate
+ 38:42:void onDestroy() -> onDestroy
+pub.devrel.easypermissions.EasyPermissions -> pub.devrel.easypermissions.EasyPermissions:
+ 76:96:boolean hasPermissions(android.content.Context,java.lang.String[]) -> hasPermissions
+ 349:356:boolean isUsingAndroidAnnotations(java.lang.Object) -> isUsingAndroidAnnotations
+ 293:299:void notifyAlreadyHasPermissions(java.lang.Object,int,java.lang.String[]) -> notifyAlreadyHasPermissions
+ 177:209:void onRequestPermissionsResult(int,java.lang.String[],int[],java.lang.Object[]) -> onRequestPermissionsResult
+ 112:116:void requestPermissions(android.app.Activity,java.lang.String,int,java.lang.String[]) -> requestPermissions
+ 141:155:void requestPermissions(pub.devrel.easypermissions.PermissionRequest) -> requestPermissions
+ 309:343:void runAnnotatedMethods(java.lang.Object,int) -> runAnnotatedMethods
+pub.devrel.easypermissions.PermissionRequest -> pub.devrel.easypermissions.PermissionRequest:
+ 23:23:void <init>(pub.devrel.easypermissions.helper.PermissionHelper,java.lang.String[],int,java.lang.String,java.lang.String,java.lang.String,int,pub.devrel.easypermissions.PermissionRequest$1) -> <init>
+ 38:46:void <init>(pub.devrel.easypermissions.helper.PermissionHelper,java.lang.String[],int,java.lang.String,java.lang.String,java.lang.String,int) -> <init>
+ 85:90:boolean equals(java.lang.Object) -> equals
+ 51:51:pub.devrel.easypermissions.helper.PermissionHelper getHelper() -> getHelper
+ 75:75:java.lang.String getNegativeButtonText() -> getNegativeButtonText
+ 56:56:java.lang.String[] getPerms() -> getPerms
+ 70:70:java.lang.String getPositiveButtonText() -> getPositiveButtonText
+ 65:65:java.lang.String getRationale() -> getRationale
+ 60:60:int getRequestCode() -> getRequestCode
+ 80:80:int getTheme() -> getTheme
+ 95:97:int hashCode() -> hashCode
+ 102:104:java.lang.String toString() -> toString
+pub.devrel.easypermissions.PermissionRequest$Builder -> pub.devrel.easypermissions.PermissionRequest$Builder:
+ 126:141:void <init>(android.app.Activity,int,java.lang.String[]) -> <init>
+ 240:250:pub.devrel.easypermissions.PermissionRequest build() -> build
+ 166:167:pub.devrel.easypermissions.PermissionRequest$Builder setRationale(java.lang.String) -> setRationale
+pub.devrel.easypermissions.RationaleDialogClickListener -> pub.devrel.easypermissions.RationaleDialogClickListener:
+ 25:35:void <init>(pub.devrel.easypermissions.RationaleDialogFragmentCompat,pub.devrel.easypermissions.RationaleDialogConfig,pub.devrel.easypermissions.EasyPermissions$PermissionCallbacks,pub.devrel.easypermissions.EasyPermissions$RationaleCallbacks) -> <init>
+ 40:47:void <init>(pub.devrel.easypermissions.RationaleDialogFragment,pub.devrel.easypermissions.RationaleDialogConfig,pub.devrel.easypermissions.EasyPermissions$PermissionCallbacks,pub.devrel.easypermissions.EasyPermissions$RationaleCallbacks) -> <init>
+ 73:76:void notifyPermissionDenied() -> notifyPermissionDenied
+ 51:70:void onClick(android.content.DialogInterface,int) -> onClick
+pub.devrel.easypermissions.RationaleDialogConfig -> pub.devrel.easypermissions.RationaleDialogConfig:
+ 34:42:void <init>(java.lang.String,java.lang.String,java.lang.String,int,int,java.lang.String[]) -> <init>
+ 44:51:void <init>(android.os.Bundle) -> <init>
+ 82:92:android.app.AlertDialog createFrameworkDialog(android.content.Context,android.content.DialogInterface$OnClickListener) -> createFrameworkDialog
+ 67:77:androidx.appcompat.app.AlertDialog createSupportDialog(android.content.Context,android.content.DialogInterface$OnClickListener) -> createSupportDialog
+ 54:62:android.os.Bundle toBundle() -> toBundle
+pub.devrel.easypermissions.RationaleDialogFragment -> pub.devrel.easypermissions.RationaleDialogFragment:
+ 18:24:void <init>() -> <init>
+ 35:42:pub.devrel.easypermissions.RationaleDialogFragment newInstance(java.lang.String,java.lang.String,java.lang.String,int,int,java.lang.String[]) -> newInstance
+ 47:65:void onAttach(android.content.Context) -> onAttach
+ 102:110:android.app.Dialog onCreateDialog(android.os.Bundle) -> onCreateDialog
+ 94:96:void onDetach() -> onDetach
+ 69:71:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 79:90:void showAllowingStateLoss(android.app.FragmentManager,java.lang.String) -> showAllowingStateLoss
+pub.devrel.easypermissions.RationaleDialogFragmentCompat -> pub.devrel.easypermissions.RationaleDialogFragmentCompat:
+ 17:17:void <init>() -> <init>
+ 33:40:pub.devrel.easypermissions.RationaleDialogFragmentCompat newInstance(java.lang.String,java.lang.String,java.lang.String,int,int,java.lang.String[]) -> newInstance
+ 57:74:void onAttach(android.content.Context) -> onAttach
+ 87:95:android.app.Dialog onCreateDialog(android.os.Bundle) -> onCreateDialog
+ 78:81:void onDetach() -> onDetach
+ 48:53:void showAllowingStateLoss(androidx.fragment.app.FragmentManager,java.lang.String) -> showAllowingStateLoss
+pub.devrel.easypermissions.helper.ActivityPermissionHelper -> pub.devrel.easypermissions.helper.ActivityPermissionHelper:
+ 21:22:void <init>(android.app.Activity) -> <init>
+ 26:27:void directRequestPermissions(int,java.lang.String[]) -> directRequestPermissions
+ 36:36:android.content.Context getContext() -> getContext
+ 31:31:boolean shouldShowRequestPermissionRationale(java.lang.String) -> shouldShowRequestPermissionRationale
+ 46:58:void showRequestPermissionRationale(java.lang.String,java.lang.String,java.lang.String,int,int,java.lang.String[]) -> showRequestPermissionRationale
+pub.devrel.easypermissions.helper.AppCompatActivityPermissionsHelper -> pub.devrel.easypermissions.helper.AppCompatActivityPermissionsHelper:
+ 15:16:void <init>(androidx.appcompat.app.AppCompatActivity) -> <init>
+ 25:26:void directRequestPermissions(int,java.lang.String[]) -> directRequestPermissions
+ 35:35:android.content.Context getContext() -> getContext
+ 20:20:androidx.fragment.app.FragmentManager getSupportFragmentManager() -> getSupportFragmentManager
+ 30:30:boolean shouldShowRequestPermissionRationale(java.lang.String) -> shouldShowRequestPermissionRationale
+pub.devrel.easypermissions.helper.BaseSupportPermissionsHelper -> pub.devrel.easypermissions.helper.BaseSupportPermissionsHelper:
+ 19:20:void <init>(java.lang.Object) -> <init>
+ 32:44:void showRequestPermissionRationale(java.lang.String,java.lang.String,java.lang.String,int,int,java.lang.String[]) -> showRequestPermissionRationale
+pub.devrel.easypermissions.helper.PermissionHelper -> pub.devrel.easypermissions.helper.PermissionHelper:
+ 46:48:void <init>(java.lang.Object) -> <init>
+ 93:93:java.lang.Object getHost() -> getHost
+ 22:29:pub.devrel.easypermissions.helper.PermissionHelper newInstance(android.app.Activity) -> newInstance
+ 35:39:pub.devrel.easypermissions.helper.PermissionHelper newInstance(androidx.fragment.app.Fragment) -> newInstance
+ 65:71:void requestPermissions(java.lang.String,java.lang.String,java.lang.String,int,int,java.lang.String[]) -> requestPermissions
+ 51:56:boolean shouldShowRationale(java.lang.String[]) -> shouldShowRationale
+pub.devrel.easypermissions.helper.SupportFragmentPermissionHelper -> pub.devrel.easypermissions.helper.SupportFragmentPermissionHelper:
+ 14:15:void <init>(androidx.fragment.app.Fragment) -> <init>
+ 24:25:void directRequestPermissions(int,java.lang.String[]) -> directRequestPermissions
+ 34:34:android.content.Context getContext() -> getContext
+ 19:19:androidx.fragment.app.FragmentManager getSupportFragmentManager() -> getSupportFragmentManager
+ 29:29:boolean shouldShowRequestPermissionRationale(java.lang.String) -> shouldShowRequestPermissionRationale
+uk.co.alt236.easycursor.objectcursor.EasyObjectCursor -> uk.co.alt236.easycursor.objectcursor.EasyObjectCursor:
+ 25:31:void <clinit>() -> <clinit>
+ 45:46:void <init>(java.lang.Class,java.util.List,java.lang.String) -> <init>
+ 39:58:void <init>(java.lang.Class,java.util.List,java.lang.String,uk.co.alt236.easycursor.EasyQueryModel) -> <init>
+ 69:75:java.lang.String applyAlias(java.lang.String) -> applyAlias
+ 92:96:int getColumnIndex(java.lang.String) -> getColumnIndex
+ 102:106:int getColumnIndexOrThrow(java.lang.String) -> getColumnIndexOrThrow
+ 112:112:java.lang.String getColumnName(int) -> getColumnName
+ 117:117:java.lang.String[] getColumnNames() -> getColumnNames
+ 122:122:int getCount() -> getCount
+ 127:127:double getDouble(int) -> getDouble
+ 131:131:double getDouble(java.lang.reflect.Method) -> getDouble
+ 141:141:float getFloat(int) -> getFloat
+ 145:145:float getFloat(java.lang.reflect.Method) -> getFloat
+ 187:187:int getInt(int) -> getInt
+ 191:191:int getInt(java.lang.reflect.Method) -> getInt
+ 200:200:java.lang.Object getItem(int) -> getItem
+ 205:205:long getLong(int) -> getLong
+ 209:209:long getLong(java.lang.reflect.Method) -> getLong
+ 240:240:short getShort(int) -> getShort
+ 244:244:short getShort(java.lang.reflect.Method) -> getShort
+ 253:253:java.lang.String getString(int) -> getString
+ 257:257:java.lang.String getString(java.lang.reflect.Method) -> getString
+ 271:271:boolean isNull(int) -> isNull
+ 275:275:boolean isNull(java.lang.reflect.Method) -> isNull
+ 560:594:void populateMethodList(java.lang.Class) -> populateMethodList
+ 597:607:java.lang.Object runGetter(java.lang.reflect.Method,java.lang.Object) -> runGetter
+uk.co.alt236.easycursor.util.ObjectConverters -> uk.co.alt236.easycursor.util.ObjectConverters:
+ 42:47:double toDouble(java.lang.Object) -> toDouble
+ 52:57:float toFloat(java.lang.Object) -> toFloat
+ 62:67:int toInt(java.lang.Object) -> toInt
+ 73:78:long toLong(java.lang.Object) -> toLong
+ 83:88:short toShort(java.lang.Object) -> toShort
+ 93:101:java.lang.String toString(java.lang.Object) -> toString
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..a091e9c
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.shlb.comb">
+ <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
+ <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
+ <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
+ <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
+ <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
+ <uses-permission android:name="android.permission.INTERNET" />
+ <uses-sdk
+ tools:overrideLibrary="com.qmuiteam.qmui"
+ />
+
+
+ <application
+ android:allowBackup="true"
+ android:icon="@mipmap/ic_launcher"
+ android:label="@string/app_name"
+ android:supportsRtl="true"
+ android:theme="@style/AppTheme">
+
+
+
+
+ <activity
+ android:name="com.shlb.comb.SplashActivity"
+ android:screenOrientation="portrait"
+ android:theme="@style/SplashTheme"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ <activity
+ android:name=".activity.ParameterSettingActivity"
+ android:screenOrientation="portrait"
+ android:windowSoftInputMode="adjustPan" />
+ <activity
+ android:name=".activity.AdvancedSettingActivity"
+ android:screenOrientation="portrait"
+ android:windowSoftInputMode="adjustPan" />
+ <activity android:name=".activity.HomeActivity"
+ android:screenOrientation="portrait"
+ />
+ <activity android:name=".activity.ConnActivity"
+ android:screenOrientation="portrait"
+ />
+ <activity android:name=".activity.WriteActivity"
+ android:screenOrientation="portrait"
+ />
+ <activity android:name=".activity.CurrentDeviceActivity"
+ android:screenOrientation="portrait"
+ />
+ <activity android:name=".activity.TestActivity"
+ android:screenOrientation="portrait" />
+ <activity android:name=".activity.NormalWriteActivity" />
+
+
+ </application>
+
+</manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/shlb/comb/Application.java b/app/src/main/java/com/shlb/comb/Application.java
new file mode 100644
index 0000000..283c71c
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/Application.java
@@ -0,0 +1,82 @@
+package com.shlb.comb;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.util.Log;
+
+
+
+public class Application extends android.app.Application{
+ private static final String TAG = "Application:";
+ private static Application instance;
+ private int count = 0;
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ instance = this;
+ }
+ public Application getInstance() {
+ return instance;
+ }
+
+
+
+
+
+ private void ActivityLifecycleCallbacks() {
+ registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
+ @Override
+ public void onActivityStopped(Activity activity) {
+// Logger.d(TAG + activity + "onActivityStopped");
+ count--;
+ if (count == 0) {
+ Log.e(TAG , activity.getClass().getSimpleName()+">>>>>>>>>>>>>>>>>>>鍒囧埌鍚庡彴 lifecycle");
+// if(activity.getClass().getSimpleName().contains("MainActivity")) {
+// Intent tent = new Intent(getPackageName() + AppConfig.BACKSTAGE);// 骞挎挱鐨勬爣绛撅紝涓�瀹氳鍜岄渶瑕佹帴鍙楃殑涓�鑷淬��
+//// sendBroadcast(tent);// 鍙戦�佸箍鎾�
+// LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(tent);
+// }
+ }
+ }
+
+ @Override
+ public void onActivityStarted(Activity activity) {
+// Logger.e(TAG + activity + "onActivityStarted");
+ if (count == 0) {
+ Log.e(TAG , ">>>>>>>>>>>>>>>>>>>鍒囧埌鍓嶅彴 lifecycle");
+// if(activity.getClass().getSimpleName().contains("MainActivity")){
+// Intent tent = new Intent(getPackageName() + AppConfig.RECEPTION);// 骞挎挱鐨勬爣绛撅紝涓�瀹氳鍜岄渶瑕佹帴鍙楃殑涓�鑷淬��
+//// sendBroadcast(tent);// 鍙戦�佸箍鎾�
+// LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(tent);
+// }
+ }
+ count++;
+ }
+
+ @Override
+ public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
+ Log.e(TAG , activity + "onActivitySaveInstanceState");
+ }
+
+ @Override
+ public void onActivityResumed(Activity activity) {
+ Log.e(TAG , activity + "onActivityResumed");
+ }
+
+ @Override
+ public void onActivityPaused(Activity activity) {
+ Log.e(TAG , activity + "onActivityPaused");
+ }
+
+ @Override
+ public void onActivityDestroyed(Activity activity) {
+ Log.e(TAG , activity + "onActivityDestroyed");
+ }
+
+ @Override
+ public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
+ Log.e(TAG , activity + "onActivityCreated");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/SplashActivity.java b/app/src/main/java/com/shlb/comb/SplashActivity.java
new file mode 100755
index 0000000..de7321e
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/SplashActivity.java
@@ -0,0 +1,45 @@
+package com.shlb.comb;
+
+
+import android.content.Intent;
+import android.os.Build;
+import android.os.Bundle;
+import android.view.WindowManager;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.shlb.comb.activity.HomeActivity;
+import com.shlb.comb.view.ParticleView;
+
+
+public class SplashActivity extends AppCompatActivity {
+
+ ParticleView ptview;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ if (Build.VERSION.SDK_INT >= 28) {
+ WindowManager.LayoutParams lp = getWindow().getAttributes();
+ lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
+ getWindow().setAttributes(lp);
+ }
+ setContentView(R.layout.activity_splash);
+
+
+ ptview = findViewById(R.id.ptview);
+ ptview.startAnim();
+ ptview.setOnParticleAnimListener(new ParticleView.ParticleAnimListener() {
+ @Override
+ public void onAnimationEnd() {
+ startActivity(new Intent(SplashActivity.this, HomeActivity.class));
+ finish();
+ }
+ });
+ }
+
+
+}
+
+
diff --git a/app/src/main/java/com/shlb/comb/activity/AdvancedSettingActivity.java b/app/src/main/java/com/shlb/comb/activity/AdvancedSettingActivity.java
new file mode 100644
index 0000000..b61f980
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/activity/AdvancedSettingActivity.java
@@ -0,0 +1,377 @@
+package com.shlb.comb.activity;
+
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.text.Html;
+import android.widget.Toast;
+
+import com.shlb.comb.R;
+import com.shlb.comb.base.BaseActivity;
+import com.shlb.comb.event.UpdateEvent;
+import com.shlb.comb.manager.BleGlobalManager;
+import com.shlb.comb.util.CMD;
+import com.shlb.comb.util.CRCutil;
+
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+public class AdvancedSettingActivity extends BaseActivity {
+
+ private EditText et_mainboard_version;
+ private Button btn_mainboard_read;
+ private EditText et_display_version;
+ private Button btn_display_read;
+ private Button btn_start_addressing;
+ private Button btn_end_addressing;
+ private Button btn_clear_log;
+
+ private TextView tv_log;
+ private TextView tv_right_text;
+ private TextView tv_mainboard_status;
+ private TextView tv_sensor_status;
+ private StringBuilder logBuilder = new StringBuilder();
+ private String currentExecutingCmd = "";
+
+ @Override
+ protected void contentView() {
+ setContentView(R.layout.activity_advanced_setting);
+ }
+
+ @Override
+ protected void initView() {
+ super.initHead();
+ if (tv_center != null) {
+ tv_center.setText("楂樼骇璁剧疆");
+ }
+ if (iv_left != null) {
+ iv_left.setImageResource(R.mipmap.icon_back);
+ }
+
+ et_mainboard_version = findViewById(R.id.et_mainboard_version);
+ btn_mainboard_read = findViewById(R.id.btn_mainboard_read);
+ et_display_version = findViewById(R.id.et_display_version);
+ btn_display_read = findViewById(R.id.btn_display_read);
+ btn_start_addressing = findViewById(R.id.btn_start_addressing);
+ btn_end_addressing = findViewById(R.id.btn_end_addressing);
+ btn_clear_log = findViewById(R.id.btn_clear_log);
+
+ tv_log = findViewById(R.id.tv_log);
+ tv_right_text = findViewById(R.id.tv_right_text);
+ tv_mainboard_status = findViewById(R.id.tv_mainboard_status);
+ tv_sensor_status = findViewById(R.id.tv_sensor_status);
+
+ // Initialize log
+ logBuilder.append("鏃ュ織璁板綍:<br>");
+ tv_log.setText(Html.fromHtml(logBuilder.toString()));
+ }
+
+ @Override
+ protected void initData() {
+ updateBluetoothStatus();
+ if (BleGlobalManager.getInstance().isConnected()) {
+ sendCmdWithCrc(CMD.ENTER_SETTING);
+ triggerAutoRead();
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ if (BleGlobalManager.getInstance().isConnected()) {
+ sendCmdWithCrc(CMD.EXIT_SETTING);
+ }
+ super.onDestroy();
+ }
+
+ @Override
+ protected void initEvent() {
+ View.OnClickListener listener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ String action = "";
+ if (id == R.id.btn_mainboard_read) {
+ action = "璇诲彇涓绘澘鐗堟湰";
+ currentExecutingCmd = CMD.READ_BOARD_VERSION;
+ sendCmdWithCrc(CMD.READ_BOARD_VERSION);
+ } else if (id == R.id.btn_display_read) {
+ action = "璇诲彇浼犳劅鍣ㄧ増鏈�";
+ currentExecutingCmd = CMD.READ_SENSOR_VERSION;
+ sendCmdWithCrc(CMD.READ_SENSOR_VERSION);
+ } else if (id == R.id.btn_start_addressing) {
+ action = "寮�濮嬬紪鍧�";
+ currentExecutingCmd = CMD.WRITE_START_ADDRESS;
+ sendCmdWithCrc(CMD.WRITE_START_ADDRESS);
+ } else if (id == R.id.btn_end_addressing) {
+ action = "缁撴潫缂栧潃";
+ currentExecutingCmd = CMD.WRITE_END_ADDRESS;
+ sendCmdWithCrc(CMD.WRITE_END_ADDRESS);
+ } else if (id == R.id.btn_clear_log) {
+ logBuilder.setLength(0);
+ logBuilder.append("鏃ュ織璁板綍:<br>");
+ tv_log.setText(Html.fromHtml(logBuilder.toString()));
+ }
+
+ if (!action.isEmpty() && id != R.id.btn_start_addressing && id != R.id.btn_end_addressing) {
+ // Toast.makeText(AdvancedSettingActivity.this, action, Toast.LENGTH_SHORT).show();
+ // addLog(action);
+ }
+ }
+ };
+
+ btn_mainboard_read.setOnClickListener(listener);
+ btn_display_read.setOnClickListener(listener);
+ btn_start_addressing.setOnClickListener(listener);
+ btn_end_addressing.setOnClickListener(listener);
+ btn_clear_log.setOnClickListener(listener);
+ }
+
+ private void addLog(String message) {
+ appendLog(message, null);
+ }
+
+ private String getCmdDescription(String hex) {
+ if (hex == null) return "";
+
+ // 鍙戦�佹寚浠ゅ尮閰�
+ if (hex.startsWith(CMD.ENTER_SETTING)) return "-杩涘叆璁惧畾";
+ if (hex.startsWith(CMD.EXIT_SETTING)) return "-閫�鍑鸿瀹�";
+ if (hex.startsWith(CMD.READ_BOARD_VERSION)) return "-璇诲彇涓绘澘鐗堟湰";
+ if (hex.startsWith(CMD.READ_SENSOR_VERSION)) return "-璇诲彇浼犳劅鍣ㄧ増鏈�";
+ if (hex.startsWith(CMD.WRITE_START_ADDRESS)) return "-寮�濮嬬紪鍧�";
+ if (hex.startsWith(CMD.WRITE_END_ADDRESS)) return "-缁撴潫缂栧潃";
+
+ // 鎺ユ敹鏁版嵁鍖归厤
+ // 璇诲彇涓绘澘鐗堟湰杩斿洖 (A55A03 0A ...)
+ if (hex.startsWith("A55A030A")) return "-璇诲彇涓绘澘鐗堟湰";
+ // 璇诲彇浼犳劅鍣ㄧ増鏈繑鍥� (A55A03 0B ...)
+ if (hex.startsWith("A55A030B")) return "-璇诲彇浼犳劅鍣ㄧ増鏈�";
+
+ // 鍐欏叆杩斿洖 (A55A06寮�澶�)
+ if (hex.startsWith("A55A06") && hex.length() >= 12) {
+ return "-鍐欏叆杩斿洖";
+ }
+
+ return "";
+ }
+
+ private void appendLog(String msg, Boolean isSent) {
+ String time = com.blankj.utilcode.util.TimeUtils.getNowString(new java.text.SimpleDateFormat("HH:mm:ss.SSS"));
+
+ String displayMsg = msg;
+ String cmdDesc = "";
+
+ // 濡傛灉鏄� hex 鎸囦护 (绾� 0-9 A-F a-f)锛屽姞绌烘牸鏍煎紡鍖�
+ if (msg.matches("^[0-9A-Fa-f]+$")) {
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < msg.length(); i += 2) {
+ if (i + 2 <= msg.length()) {
+ sb.append(msg.substring(i, i + 2)).append(" ");
+ } else {
+ sb.append(msg.substring(i));
+ }
+ }
+ displayMsg = sb.toString().trim();
+
+ // 鑾峰彇鎸囦护鎻忚堪
+ cmdDesc = getCmdDescription(msg);
+ }
+
+ String logLine;
+ if (isSent != null) {
+ String color = isSent ? "#1890ff" : "#05aa87"; // Blue for sent, Green for received
+ // 鎷兼帴鍒板墠缂�鍚庨潰: "鍙戦��-璇荤珯鍙�: " 鎴� "鏀跺埌-璇荤珯鍙�: "
+ String prefix = (isSent ? "鍙戦��" : "鏀跺埌") + cmdDesc + ": ";
+ logLine = time + " <font color='" + color + "'>" + prefix + displayMsg + "</font><br>";
+ } else {
+ // System/Local log (Black)
+ logLine = time + " " + displayMsg + "<br>";
+ }
+
+ logBuilder.append(logLine);
+ if (tv_log != null) {
+ tv_log.setText(Html.fromHtml(logBuilder.toString()));
+ }
+ }
+
+ private void updateBluetoothStatus() {
+ if (tv_right_text == null) return;
+ if (BleGlobalManager.getInstance().isConnected()) {
+ String name = "鏈煡璁惧";
+ if (BleGlobalManager.getInstance().getBluetoothLeDevice() != null) {
+ String deviceName = BleGlobalManager.getInstance().getBluetoothLeDevice().getName();
+ if (deviceName != null && !deviceName.isEmpty()) {
+ name = deviceName;
+ }
+ }
+ tv_right_text.setText(name);
+ } else {
+ tv_right_text.setText("鏈繛鎺�");
+ }
+ }
+
+ private void triggerAutoRead() {
+ showLoading("姝e湪鍚屾鐗堟湰淇℃伅...");
+ // Reset status
+ setLabelStatus(tv_mainboard_status, "", R.color.base_text);
+ setLabelStatus(tv_sensor_status, "", R.color.base_text);
+
+ // Read Mainboard
+ new android.os.Handler().postDelayed(() -> {
+ if (btn_mainboard_read != null) btn_mainboard_read.performClick();
+ }, 200);
+
+ // Read Sensor
+ new android.os.Handler().postDelayed(() -> {
+ if (btn_display_read != null) btn_display_read.performClick();
+ }, 1200);
+
+ // Hide loading
+ new android.os.Handler().postDelayed(() -> hiddeLoading(), 2500);
+ }
+
+ private void setLabelStatus(TextView view, String text, int colorResId) {
+ if (view != null) {
+ view.setText(text);
+ view.setTextColor(getResources().getColor(colorResId));
+ }
+ }
+
+ private void sendCmdWithCrc(String cmd) {
+ if (!BleGlobalManager.getInstance().isConnected()) {
+ Toast.makeText(this, "璇峰厛杩炴帴钃濈墮", Toast.LENGTH_SHORT).show();
+ addLog("閿欒: 钃濈墮鏈繛鎺�");
+ return;
+ }
+
+ byte[] cmdBytes = BleGlobalManager.hexStringToBytes(cmd);
+ if (cmdBytes != null) {
+ String crc = CRCutil.getCRC(cmdBytes);
+ // Pad CRC to 4 chars if needed
+ while (crc.length() < 4) {
+ crc = "0" + crc;
+ }
+ String fullCmd = cmd + crc.toUpperCase();
+
+ appendLog(fullCmd, true); // true for sent (Blue)
+ BleGlobalManager.getInstance().sendCmd(fullCmd);
+ } else {
+ addLog("閿欒: 鎸囦护杞崲澶辫触");
+ }
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEvent(UpdateEvent event) {
+ if (event.getType() == UpdateEvent.Type.CONN_STATU) {
+ updateBluetoothStatus();
+ if (event.getObj() instanceof Integer && (int) event.getObj() == android.bluetooth.BluetoothProfile.STATE_CONNECTED) {
+ triggerAutoRead();
+ }
+ } else if (event.getType() == UpdateEvent.Type.DEVICE_INFO) {
+ String hex = event.getMsg();
+ appendLog(hex, false); // false for received (Green)
+ parseAndRefresh(hex);
+ }
+ }
+
+ private void parseAndRefresh(String hex) {
+ if (hex == null) return;
+
+ // 鍐欏叆鎸囦护鐨勮繑鍥� (A55A06寮�澶�)
+ if (hex.startsWith("A55A06") && hex.length() >= 12) {
+ parseWriteResponse(hex);
+ return;
+ }
+
+ // 璇诲彇鎸囦护鐨勮繑鍥� (A55A03寮�澶�)
+ if (hex.startsWith("A55A03") && hex.length() >= 8) {
+ parseReadResponse(hex);
+ }
+ }
+
+ private void parseReadResponse(String hex) {
+ try {
+ // 鍛戒护绫诲瀷: 绗�7-8浣� (Index 6-8)
+ String cmdType = hex.substring(6, 8);
+
+ // 鏁版嵁閮ㄥ垎閫氬父浠庣11-12浣嶅紑濮� (Index 10)
+ // 鍋囪鐗堟湰鍙锋暟鎹氨鍦ㄥ悗闈�
+ String dataHex = "";
+ if (hex.length() > 10) {
+ // 鍘绘帀CRC (鏈�鍚�4浣�)? 涓嶇‘瀹氶暱搴︼紝鍏堝彇鎵�鏈�
+ // 鏆傛椂鍙� substring(10) 鐩村埌 length-4 (濡傛灉甯RC)
+ // 绠�鍗曡捣瑙侊紝鍙� substring(10)
+ dataHex = hex.substring(10);
+ // 濡傛灉鏈�鍚�4浣嶆槸CRC锛屽彲鑳介渶瑕佸幓鎺夈�傞�氬父 CRC 鏄渶鍚�4瀛楃銆�
+ if (dataHex.length() > 4) {
+ dataHex = dataHex.substring(0, dataHex.length() - 4);
+ }
+ }
+
+ if ("0A".equals(cmdType)) {
+ // 涓绘澘鐗堟湰
+ String version = formatVersionHex(dataHex);
+ if (et_mainboard_version != null) et_mainboard_version.setText(version);
+ setLabelStatus(tv_mainboard_status, "(璇诲彇鍊�)", R.color.base_color);
+ addLog("璇诲彇涓绘澘鐗堟湰鎴愬姛: " + version);
+ } else if ("0B".equals(cmdType)) {
+ // 浼犳劅鍣ㄧ増鏈�
+ String version = formatVersionHex(dataHex);
+ if (et_display_version != null) et_display_version.setText(version);
+ setLabelStatus(tv_sensor_status, "(璇诲彇鍊�)", R.color.base_color);
+ addLog("璇诲彇浼犳劅鍣ㄧ増鏈垚鍔�: " + version);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ addLog("瑙f瀽璇诲彇杩斿洖寮傚父: " + e.getMessage());
+ }
+ }
+
+ private String formatVersionHex(String hex) {
+ if (hex == null || hex.isEmpty()) return "";
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < hex.length(); i++) {
+ sb.append(hex.charAt(i));
+ if (i % 2 == 1 && i < hex.length() - 1) {
+ sb.append("-");
+ }
+ }
+ return sb.toString();
+ }
+
+ private void parseWriteResponse(String hex) {
+ try {
+ // 鍐欏叆鎸囦护鐨勮繑鍥� (A55A06寮�澶�)
+ if (hex.startsWith("A55A06") && hex.length() >= 12) {
+ // 缁撴灉鐘舵��: 绗�11-12浣� (Index 10-12)
+ String statusHex = hex.substring(10, 12);
+ boolean isSuccess = "01".equals(statusHex);
+
+ if (!currentExecutingCmd.isEmpty()) {
+ if (isSuccess) {
+ if (currentExecutingCmd.startsWith(CMD.WRITE_START_ADDRESS)) {
+ addLog("寮�濮嬬紪鍧�鎴愬姛");
+ Toast.makeText(this, "寮�濮嬬紪鍧�鎴愬姛", Toast.LENGTH_SHORT).show();
+ } else if (currentExecutingCmd.startsWith(CMD.WRITE_END_ADDRESS)) {
+ addLog("缁撴潫缂栧潃鎴愬姛");
+ Toast.makeText(this, "缁撴潫缂栧潃鎴愬姛", Toast.LENGTH_SHORT).show();
+ }
+ } else {
+ addLog("鎿嶄綔澶辫触: " + hex);
+ Toast.makeText(this, "鎿嶄綔澶辫触", Toast.LENGTH_SHORT).show();
+ }
+ // Reset current command after handling
+ currentExecutingCmd = "";
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ addLog("瑙f瀽寮傚父: " + e.getMessage());
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/shlb/comb/activity/ConnActivity.java b/app/src/main/java/com/shlb/comb/activity/ConnActivity.java
new file mode 100644
index 0000000..f7a434d
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/activity/ConnActivity.java
@@ -0,0 +1,444 @@
+package com.shlb.comb.activity;
+
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCallback;
+import android.bluetooth.BluetoothGattCharacteristic;
+import android.bluetooth.BluetoothGattService;
+import android.bluetooth.BluetoothProfile;
+import android.content.Intent;
+import android.view.View;
+import android.view.ViewGroup;
+
+
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
+import com.blankj.utilcode.util.LogUtils;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
+import com.qmuiteam.qmui.widget.QMUIEmptyView;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
+import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
+import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
+import com.shlb.comb.R;
+import com.shlb.comb.base.BaseActivity;
+import com.shlb.comb.event.UpdateEvent;
+import com.shlb.comb.util.Singletion;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ConnActivity extends BaseActivity {
+ QMUIGroupListView mGroupListView;
+ QMUIEmptyView mEmptyView;
+
+ //杩炴帴绠$悊
+ private BluetoothConnectManager connectManager;
+ //杩炴帴鐘舵��
+ private int connectState = 0;
+ //鏄惁杩炴帴
+ private boolean mConnected = false;
+
+
+ @Override
+ protected void contentView() {
+ setContentView(R.layout.activity_conn);
+ mGroupListView = findViewById(R.id.groupListView);
+ mEmptyView = findViewById(R.id.emptyView);
+ }
+
+ @Override
+ protected void initView() {
+ super.initHead();
+ initTitlebar();
+ tv_center.setText("钃濈墮淇℃伅");
+ mEmptyView.show(true);
+
+
+ initGroupListView();
+
+ }
+
+ @Override
+ protected void initData() {
+ BluetoothLeDevice mDevice = Singletion.getInstance().mDevice;
+ initConn(mDevice);
+
+
+ }
+
+ @Override
+ protected void initEvent() {
+
+ }
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.iv_left) {
+ this.onBackPressed();
+ } else if (id == R.id.iv_right) {
+ }
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEventRefresh(UpdateEvent event) {
+ switch (event.getType()) {
+ case CONN_STATU:
+
+ int statu = (int) event.getObj();
+ //0-鏂紑 2-杩炴帴
+ switch (statu) {
+ case 0:
+ mConnected = false;
+ Singletion.getInstance().mConnected = false;
+ break;
+ case 2:
+ mConnected = true;
+ Singletion.getInstance().mConnected = true;
+ mEmptyView.hide();
+ Toast("杩炴帴鎴愬姛锛�");
+ break;
+ }
+
+ break;
+ case CONN_SERVICE:
+ //鑾峰彇鏈嶅姟鎴愬姛鍚庢洿鏂癠I
+ updateUi();
+ break;
+
+
+ case SCAN_UPDATE:
+
+
+ break;
+ case CONFIG_CHANGE:
+
+ break;
+ }
+ }
+
+ private ConnectStateListener stateListener = new ConnectStateListener() {
+ @Override
+ public void onConnectStateChanged(String address, ConnectState state) {
+ switch (state) {
+ case CONNECTED:
+
+
+ break;
+ case CONNECTING:
+
+
+ break;
+ case NORMAL:
+
+
+ break;
+ }
+ invalidateOptionsMenu();
+ }
+ };
+
+ //杩炴帴璁惧
+ private void initConn(BluetoothLeDevice device) {
+ if (connectManager == null) {
+ connectManager = BluetoothConnectManager.getInstance(this);
+ connectManager.addConnectStateListener(stateListener);
+ connectManager.setBluetoothGattCallback(new BluetoothGattCallback() {
+
+ @Override
+ public void onCharacteristicRead(final BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic, final int status) {
+ if (status == BluetoothGatt.GATT_SUCCESS) {
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.BLE_DATA, characteristic, "read"));
+ } else {
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.BLE_DATA, characteristic, "fail"));
+ LogUtils.e(TAG, "fail to read characteristic");
+ }
+ }
+
+ @Override
+ public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
+ super.onCharacteristicWrite(gatt, characteristic, status);
+ if (status == BluetoothGatt.GATT_SUCCESS) {
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.BLE_DATA, characteristic, "write"));
+ } else {
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.BLE_DATA, characteristic, "fail"));
+ LogUtils.e(TAG, "fail to write characteristic");
+ }
+ }
+
+ @Override
+ public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
+ super.onCharacteristicChanged(gatt, characteristic);
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.BLE_DATA, characteristic, "notify"));
+ }
+
+ @Override
+ public void onConnectionStateChange(BluetoothGatt gatt, final int status, int newState) {
+ super.onConnectionStateChange(gatt, status, newState);
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.CONN_STATU, newState, "conn_statu"));
+ connectState = newState;
+
+
+ }
+
+ @Override
+ public void onServicesDiscovered(final BluetoothGatt gatt, int status) {
+ super.onServicesDiscovered(gatt, status);
+ if (status == BluetoothGatt.GATT_SUCCESS) {
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ displayGattServices(gatt.getServices());
+ }
+ });
+ }
+
+ }
+ });
+ }
+ connectManager.connect(device.getAddress());
+ }
+
+
+ /**
+ * 鑾峰彇褰撳墠杩炴帴钃濈墮鍙啓鏈嶅姟
+ *
+ * @param gattServices
+ */
+ private void displayGattServices(List<BluetoothGattService> gattServices) {
+ Singletion.getInstance().mbluetoothServices.clear();
+ List<Map<String, String>> res = new ArrayList<>();
+ for (final BluetoothGattService gattService : gattServices) {
+ final List<BluetoothGattCharacteristic> gattCharacteristics = gattService.getCharacteristics();
+ for (final BluetoothGattCharacteristic gattCharacteristic : gattCharacteristics) {
+ Map<String, String> map = new HashMap<>();
+
+ String property = getPropertyString(gattCharacteristic.getProperties());
+ //鍙渶瑕佸彲鍐欐湇鍔�
+ if (property.contains("Write")) {
+ map.put("name", property);
+ map.put("uuid", gattCharacteristic.getUuid().toString());
+ res.add(map);
+ }
+ }
+ }
+ Singletion.getInstance().mbluetoothServices.addAll(res);
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.CONN_SERVICE));
+
+ }
+
+ private String getPropertyString(int property) {
+ StringBuilder sb = new StringBuilder("(");
+ //Read
+ if ((property & BluetoothGattCharacteristic.PROPERTY_READ) > 0) {
+ sb.append("Read ");
+ }
+ //Write
+ if ((property & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) > 0
+ || (property & BluetoothGattCharacteristic.PROPERTY_WRITE) > 0) {
+ sb.append("Write ");
+ }
+ //Notify
+ if ((property & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) {
+ sb.append("Notity ");
+ }
+
+ if ((property & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0) {
+ sb.append("Indicate ");
+ }
+
+ //Broadcast
+ if ((property & BluetoothGattCharacteristic.PROPERTY_BROADCAST) > 0) {
+ sb.append("Broadcast ");
+ }
+ sb.deleteCharAt(sb.length() - 1);
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void initTitlebar() {
+ iv_right.setVisibility(View.VISIBLE);
+ iv_left.setImageDrawable(getResources().getDrawable(R.mipmap.icon_back));
+ iv_right.setImageDrawable(getResources().getDrawable(R.mipmap.icon_topbar_overflow));
+ }
+
+ QMUICommonListItemView nameItem;
+ QMUICommonListItemView macItem;
+ QMUICommonListItemView statuItem;
+ View.OnClickListener onClickListener;
+
+ private void initGroupListView() {
+ nameItem = mGroupListView.createItemView(null,
+ "钃濈墮", "鏈繛鎺�",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_NONE);
+ nameItem.setId(R.id.address_ble_name);
+
+ macItem = mGroupListView.createItemView(null,
+ "mac", "",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_NONE);
+ macItem.setId(R.id.address_ble_mac);
+
+ statuItem = mGroupListView.createItemView(null,
+ "鐘舵��", "鏈繛鎺�",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_NONE);
+ statuItem.setId(R.id.address_ble_statu);
+
+
+ onClickListener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (v instanceof QMUICommonListItemView) {
+ CharSequence text = ((QMUICommonListItemView) v).getDetailText();
+ List<Map<String, String>> mbluetoothServices = Singletion.getInstance().mbluetoothServices;
+
+ CharSequence title = ((QMUICommonListItemView) v).getText();
+ if(title.equals("(浼犳劅鍣ㄧ紪鍧�)绠�鏄撴ā寮�")){
+ if(mbluetoothServices == null || mbluetoothServices.size() < 1 ){
+ Toast("鏈嶅姟淇℃伅閿欒锛岃閲嶆柊杩炴帴");
+ return;
+ }
+ Map<String, String> map = mbluetoothServices.get(0);
+ Singletion.getInstance().uuid = map.get("uuid").toString();
+ Intent intent = new Intent(ConnActivity.this,WriteActivity.class);
+ startActivity(intent);
+ }else if(title.equals("(浼犳劅鍣ㄧ紪鍧�)涓撳妯″紡")){
+ if(mbluetoothServices == null || mbluetoothServices.size() < 2 ){
+ Toast("鏈嶅姟淇℃伅閿欒锛岃閲嶆柊杩炴帴");
+ return;
+ }
+ Map<String, String> map = mbluetoothServices.get(1);
+ Singletion.getInstance().uuid = map.get("uuid").toString();
+ Intent intent = new Intent(ConnActivity.this,NormalWriteActivity.class);
+ startActivity(intent);
+ }
+
+ }
+ }
+ };
+
+ int size = QMUIDisplayHelper.dp2px(this, 20);
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section 1:钃濈墮淇℃伅")
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(nameItem, onClickListener)
+ .addItemView(statuItem, onClickListener)
+ .addItemView(macItem, onClickListener)
+ .addTo(mGroupListView);
+
+
+ }
+
+ private void updateUi() {
+ //TODO 鍔ㄦ�佹洿鏂癠I
+ BluetoothLeDevice mDevice = Singletion.getInstance().mDevice;
+ List<Map<String, String>> mbluetoothServices = Singletion.getInstance().mbluetoothServices;
+ boolean mConnected = Singletion.getInstance().mConnected;
+ if (!mConnected || mbluetoothServices == null || mDevice == null) {
+ Toast("寮傚父閿欒锛岃閫�鍑洪噸璇曪紒");
+
+ } else {
+ if (nameItem != null) nameItem.setDetailText(mDevice.getName());
+ if (statuItem != null) statuItem.setDetailText("宸茶繛鎺�");
+ if (macItem != null) macItem.setDetailText(mDevice.getAddress());
+
+ //鍒涘缓鍙啓鏈嶅姟淇℃伅
+ for (int i = 0; i < mbluetoothServices.size(); i++) {
+ Map<String, String> map = mbluetoothServices.get(i);
+ //map.get("uuid")
+ String title = i == 0 ? "(浼犳劅鍣ㄧ紪鍧�)绠�鏄撴ā寮�" : "(浼犳劅鍣ㄧ紪鍧�)涓撳妯″紡" ;
+ QMUICommonListItemView itemView = mGroupListView.createItemView(title);
+ itemView.setOrientation(QMUICommonListItemView.VERTICAL);
+ itemView.setDetailText(map.get("name"));
+ int size = QMUIDisplayHelper.dp2px(this, 20);
+ int section = i + 2;
+ int service = i + 1;
+ itemView.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section " + section + ":缂栧潃鏈嶅姟" + service)
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(itemView, onClickListener)
+ .addTo(mGroupListView);
+
+
+ }
+ }
+
+
+ }
+
+ private void disconnect() {
+ if (connectManager != null) {
+ if (connectManager.isConnectDevice()) {
+ if (Singletion.getInstance().mDevice != null && Singletion.getInstance().mDevice.getAddress() != null) {
+ connectManager.disconnect(Singletion.getInstance().mDevice.getAddress());
+ connectManager.removeConnectStateListener(stateListener);
+ }
+
+ }
+ }
+ }
+
+ private void connect() {
+ if (connectManager != null) {
+ if (!connectManager.isConnectDevice()) {
+ if (Singletion.getInstance().mDevice != null && Singletion.getInstance().mDevice.getAddress() != null)
+ connectManager.connect(Singletion.getInstance().mDevice.getAddress());
+ }
+ }
+ }
+
+ private void showDisconnectDialog() {
+
+ new QMUIDialog.MessageDialogBuilder(ConnActivity.this)
+ .setTitle("鎻愮ず")
+ .setMessage("钃濈墮宸茶繛鎺ワ紝鏄惁鏂紑杩炴帴锛�")
+ .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ dialog.dismiss();
+ }
+ })
+ .addAction("纭畾", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ disconnect();
+ dialog.dismiss();
+ finish();
+
+ }
+ })
+ .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
+ }
+
+
+ @Override
+ public void onBackPressed() {
+ if (connectManager != null && connectManager.isConnectDevice()) {
+ showDisconnectDialog();
+ } else {
+ super.onBackPressed();
+ }
+
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ disconnect();
+
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/activity/CurrentDeviceActivity.java b/app/src/main/java/com/shlb/comb/activity/CurrentDeviceActivity.java
new file mode 100644
index 0000000..d280cd3
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/activity/CurrentDeviceActivity.java
@@ -0,0 +1,151 @@
+package com.shlb.comb.activity;
+
+import android.bluetooth.BluetoothAdapter;
+import android.content.pm.PackageManager;
+import android.os.Build;
+import android.view.View;
+
+import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
+import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
+import com.shlb.comb.R;
+import com.shlb.comb.base.BaseActivity;
+import com.shlb.comb.event.UpdateEvent;
+
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+public class CurrentDeviceActivity extends BaseActivity {
+
+ private QMUIGroupListView mGroupHardware;
+ private QMUIGroupListView mGroupBle;
+ private QMUIGroupListView mGroupAudio;
+ private QMUIGroupListView mGroupScreen;
+
+ @Override
+ protected void contentView() {
+ setContentView(R.layout.activity_current_device);
+ }
+
+ @Override
+ protected void initView() {
+ super.initHead();
+ tv_center.setText("璁惧淇℃伅");
+ if (iv_right != null) iv_right.setVisibility(View.GONE);
+ if (iv_left != null) {
+ iv_left.setImageDrawable(getResources().getDrawable(R.mipmap.icon_back));
+ iv_left.setOnClickListener(v -> finish());
+ }
+
+ mGroupHardware = findViewById(R.id.group_hardware);
+ mGroupBle = findViewById(R.id.group_ble);
+ mGroupAudio = findViewById(R.id.group_audio);
+ mGroupScreen = findViewById(R.id.group_screen);
+ }
+
+ @Override
+ protected void initData() {
+ initHardwareInfo();
+ initBleInfo();
+ initAudioInfo();
+ initScreenInfo();
+ }
+
+ @Override
+ protected void initEvent() {
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEvent(UpdateEvent event) {
+ // Required by BaseActivity's EventBus registration
+ }
+
+ private void initHardwareInfo() {
+ QMUIGroupListView.newSection(this)
+ .setTitle("纭欢淇℃伅")
+ .addItemView(createItem("璁惧鍚嶇О", Build.DEVICE), null)
+ .addItemView(createItem("Android 鐗堟湰", Build.VERSION.RELEASE), null)
+ .addItemView(createItem("鍒堕�犲晢", Build.MANUFACTURER), null)
+ .addItemView(createItem("鍨嬪彿", Build.MODEL), null)
+ .addItemView(createItem("鏋勫缓鐗堟湰", Build.DISPLAY), null)
+ .addItemView(createItem("涓绘澘", Build.BOARD), null)
+ .addItemView(createItem("浜у搧鍚�", Build.PRODUCT), null)
+ .addTo(mGroupHardware);
+ }
+
+ private void initBleInfo() {
+ PackageManager pm = getPackageManager();
+ BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+
+ boolean isBleSupported = pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE);
+
+ QMUIGroupListView.Section section = QMUIGroupListView.newSection(this)
+ .setTitle("浣庡姛鑰楄摑鐗�");
+
+ section.addItemView(createItem("鏀寔 BLE", isBleSupported ? "鏄�" : "鍚�", isBleSupported), null);
+
+ if (adapter != null) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ boolean isOffloadedFilteringSupported = adapter.isOffloadedFilteringSupported();
+ boolean isOffloadedScanBatchingSupported = adapter.isOffloadedScanBatchingSupported();
+ boolean isMultipleAdvertisementSupported = adapter.isMultipleAdvertisementSupported();
+
+ section.addItemView(createItem("鏀寔鑴辨満杩囨护", isOffloadedFilteringSupported ? "鏄�" : "鍚�", isOffloadedFilteringSupported), null);
+ section.addItemView(createItem("鏀寔鑴辨満鎵弿鎵瑰鐞�", isOffloadedScanBatchingSupported ? "鏄�" : "鍚�", isOffloadedScanBatchingSupported), null);
+ section.addItemView(createItem("鏀寔澶氶噸骞挎挱", isMultipleAdvertisementSupported ? "鏄�" : "鍚�", isMultipleAdvertisementSupported), null);
+ }
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ boolean isLe2MPhySupported = adapter.isLe2MPhySupported();
+ boolean isLeCodedPhySupported = adapter.isLeCodedPhySupported();
+ boolean isLeExtendedAdvertisingSupported = adapter.isLeExtendedAdvertisingSupported();
+ boolean isLePeriodicAdvertisingSupported = adapter.isLePeriodicAdvertisingSupported();
+
+ section.addItemView(createItem("鏀寔楂橀�� (PHY 2M)", isLe2MPhySupported ? "鏄�" : "鍚�", isLe2MPhySupported), null);
+ section.addItemView(createItem("鏀寔杩滆窛绂� (PHY Coded)", isLeCodedPhySupported ? "鏄�" : "鍚�", isLeCodedPhySupported), null);
+ section.addItemView(createItem("鏀寔鎵╁睍骞挎挱", isLeExtendedAdvertisingSupported ? "鏄�" : "鍚�", isLeExtendedAdvertisingSupported), null);
+ section.addItemView(createItem("鏀寔鍛ㄦ湡鎬у箍鎾�", isLePeriodicAdvertisingSupported ? "鏄�" : "鍚�", isLePeriodicAdvertisingSupported), null);
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ int maxDataLength = adapter.isLeExtendedAdvertisingSupported() ? 1650 : 31;
+ section.addItemView(createItem("鏈�澶у箍鎾暟鎹暱搴�", String.valueOf(maxDataLength)), null);
+ }
+ }
+
+ section.addTo(mGroupBle);
+ }
+
+ private void initAudioInfo() {
+ QMUIGroupListView.newSection(this)
+ .setTitle("钃濈墮闊抽")
+ .addItemView(createItem("鏀寔 LE Audio", "鍚�", false), null)
+ .addItemView(createItem("鏀寔 LE 骞挎挱婧�", "鍚�", false), null)
+ .addItemView(createItem("鏀寔 LE 骞挎挱鍔╂墜", "鍚�", false), null)
+ .addItemView(createItem("鏈�澶ц繛鎺ラ煶棰戣澶囨暟", "0"), null)
+ .addTo(mGroupAudio);
+ }
+
+ private void initScreenInfo() {
+ android.util.DisplayMetrics dm = getResources().getDisplayMetrics();
+ int screenWidth = dm.widthPixels;
+ int screenHeight = dm.heightPixels;
+ float density = dm.density;
+ int densityDpi = dm.densityDpi;
+
+ QMUIGroupListView.newSection(this)
+ .setTitle("灞忓箷淇℃伅")
+ .addItemView(createItem("鍒嗚鲸鐜�", screenWidth + " x " + screenHeight), null)
+ .addItemView(createItem("瀵嗗害", density + " (" + densityDpi + " dpi)"), null)
+ .addTo(mGroupScreen);
+ }
+
+ private QMUICommonListItemView createItem(String title, String detail) {
+ return createItem(title, detail, true);
+ }
+
+ private QMUICommonListItemView createItem(String title, String detail, boolean isSupported) {
+ QMUICommonListItemView item = mGroupHardware.createItemView(title);
+ item.setOrientation(QMUICommonListItemView.HORIZONTAL);
+ item.setDetailText(detail);
+ return item;
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/activity/HomeActivity.java b/app/src/main/java/com/shlb/comb/activity/HomeActivity.java
new file mode 100644
index 0000000..6be9c20
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/activity/HomeActivity.java
@@ -0,0 +1,355 @@
+package com.shlb.comb.activity;
+
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.graphics.Color;
+import android.os.Build;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.AdapterView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.core.view.GravityCompat;
+import androidx.drawerlayout.widget.DrawerLayout;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
+
+import com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager;
+import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
+import com.shlb.comb.R;
+import com.shlb.comb.base.BaseActivity;
+import com.shlb.comb.event.UpdateEvent;
+import com.shlb.comb.fragment.DeviceListFragment;
+import com.shlb.comb.fragment.SettingsFragment;
+import com.shlb.comb.manager.BleGlobalManager;
+import com.shlb.comb.model.BluetoothLeDeviceStore;
+
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+public class HomeActivity extends BaseActivity implements AdapterView.OnItemClickListener {
+
+ private DrawerLayout drawerLayout;
+ protected TextView tv_scan;
+ private long lastScanClickTime = 0; // 鐢ㄤ簬鑺傛祦
+
+ // Bluetooth Variables
+ private BluetoothScanManager scanManager;
+ private BluetoothLeDeviceStore mDeviceStore;
+ private BluetoothUtils mBluetoothUtils;
+
+ private SettingsFragment settingsFragment;
+ private DeviceListFragment deviceListFragment;
+
+ @Override
+ protected void contentView() {
+ setContentView(R.layout.activity_home);
+ drawerLayout = findViewById(R.id.drawer_layout);
+
+ // 璁剧疆鍏ㄥ睆锛屼娇鎶藉眽鍙互瑕嗙洊鐘舵�佹爮鍜屽鑸爮
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ Window window = getWindow();
+ window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
+ window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+ window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+ window.setStatusBarColor(Color.TRANSPARENT);
+ window.setNavigationBarColor(Color.TRANSPARENT);
+ }
+ }
+
+ @Override
+ protected void initView() {
+ super.initHead();
+ tv_scan = findViewById(R.id.tv_scan);
+
+ try {
+ TextView tvVersion = findViewById(R.id.tv_version);
+ if (tvVersion != null) {
+ String versionName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
+ tvVersion.setText("Version " + versionName);
+ }
+ } catch (PackageManager.NameNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ initTitlebar();
+
+ getSupportFragmentManager().addOnBackStackChangedListener(() -> {
+ Fragment current = getSupportFragmentManager().findFragmentById(R.id.fragment_container);
+ if (current instanceof SettingsFragment) {
+ tv_center.setText("瀹炴椂鐩戞帶");
+ if (iv_left != null) {
+ iv_left.setImageResource(R.mipmap.icon_menu);
+ iv_left.setOnClickListener(v -> {
+ if (drawerLayout != null) {
+ drawerLayout.openDrawer(GravityCompat.START);
+ }
+ });
+ }
+ if (tv_scan != null) {
+ tv_scan.setVisibility(View.VISIBLE);
+ if (BleGlobalManager.getInstance().isConnected()) {
+ updateConnectedUI();
+ } else {
+ tv_scan.setText("杩炴帴钃濈墮");
+ tv_scan.setOnClickListener(v -> showDeviceListFragment());
+ }
+ }
+ if (iv_right != null) iv_right.setVisibility(View.GONE);
+ } else if (current instanceof DeviceListFragment) {
+ tv_center.setText("钃濈墮璁惧");
+ if (iv_left != null) {
+ iv_left.setImageResource(R.mipmap.icon_back);
+ iv_left.setOnClickListener(v -> onBackPressed());
+ }
+ if (tv_scan != null) {
+ tv_scan.setVisibility(View.VISIBLE);
+ tv_scan.setText("SCAN");
+ tv_scan.setOnClickListener(v -> {
+ long currentTime = System.currentTimeMillis();
+ if (currentTime - lastScanClickTime < 2000) {
+ Toast("鐐瑰嚮杩囧揩锛岃绋嶅悗閲嶈瘯锛�");
+ return;
+ }
+ lastScanClickTime = currentTime;
+ if (deviceListFragment != null && deviceListFragment.isVisible()) {
+ deviceListFragment.startScan();
+ }
+ });
+ }
+ if (iv_right != null) iv_right.setVisibility(View.VISIBLE);
+ }
+ });
+
+ // Default show SettingsFragment
+ showSettingsFragment();
+ }
+
+ @Override
+ protected void initData() {
+ mBluetoothUtils = BluetoothUtils.getInstance(this);
+ mDeviceStore = new BluetoothLeDeviceStore();
+ scanManager = BluetoothScanManager.getInstance(this);
+ }
+
+ @Override
+ protected void initEvent() {
+ iv_left.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if (drawerLayout != null) {
+ drawerLayout.openDrawer(GravityCompat.START);
+ }
+ }
+ });
+
+ // 鎶藉眽鑿滃崟鐐瑰嚮浜嬩欢
+ // 瀹炴椂鐩戞帶
+ findViewById(R.id.menu_monitor).setOnClickListener(v -> {
+ updateDrawerSelection(R.id.menu_monitor);
+ Toast.makeText(this, "瀹炴椂鐩戞帶", Toast.LENGTH_SHORT).show();
+ showSettingsFragment();
+ drawerLayout.closeDrawer(GravityCompat.START);
+ });
+
+ // 钃濈墮璁惧
+ findViewById(R.id.menu_devices).setOnClickListener(v -> {
+ updateDrawerSelection(R.id.menu_devices);
+ showDeviceListFragment();
+ drawerLayout.closeDrawer(GravityCompat.START);
+ });
+
+ // 褰撳墠璁惧
+ findViewById(R.id.menu_current_device).setOnClickListener(v -> {
+ drawerLayout.closeDrawer(GravityCompat.START);
+ startActivity(new Intent(this, CurrentDeviceActivity.class));
+ });
+
+ // 鍙傛暟璁惧畾
+ findViewById(R.id.menu_settings).setOnClickListener(v -> {
+ drawerLayout.closeDrawer(GravityCompat.START);
+ startActivity(new Intent(this, ParameterSettingActivity.class));
+ });
+
+ // 楂樼骇璁剧疆
+ findViewById(R.id.menu_advanced_settings).setOnClickListener(v -> {
+ drawerLayout.closeDrawer(GravityCompat.START);
+ startActivity(new Intent(this, AdvancedSettingActivity.class));
+ });
+ }
+
+ private void updateDrawerSelection(int selectedId) {
+ int[] menuIds = {R.id.menu_monitor, R.id.menu_devices, R.id.menu_current_device, R.id.menu_settings, R.id.menu_advanced_settings};
+ for (int id : menuIds) {
+ View view = findViewById(id);
+ if (view != null) {
+ boolean isSelected = (id == selectedId);
+ view.setSelected(isSelected);
+
+ // Manually set selected state for children because duplicateParentState="true" might be missing
+ if (view instanceof android.view.ViewGroup) {
+ android.view.ViewGroup group = (android.view.ViewGroup) view;
+ for (int i = 0; i < group.getChildCount(); i++) {
+ group.getChildAt(i).setSelected(isSelected);
+ }
+ }
+ }
+ }
+ }
+
+ public void showSettingsFragment() {
+ tv_center.setText("瀹炴椂鐩戞帶");
+ if (tv_scan != null) {
+ tv_scan.setVisibility(View.VISIBLE);
+ tv_scan.setText("杩炴帴钃濈墮");
+ tv_scan.setOnClickListener(v -> showDeviceListFragment());
+ }
+ if (iv_right != null) iv_right.setVisibility(View.GONE);
+
+ FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
+ if (settingsFragment == null) {
+ settingsFragment = new SettingsFragment();
+ }
+ ft.replace(R.id.fragment_container, settingsFragment);
+ ft.commit();
+ }
+
+ public void showDeviceListFragment() {
+ updateDrawerSelection(R.id.menu_devices);
+ tv_center.setText("钃濈墮璁惧");
+ if (tv_scan != null) {
+ tv_scan.setVisibility(View.VISIBLE);
+ tv_scan.setText("SCAN");
+ tv_scan.setOnClickListener(v -> {
+ // 鑺傛祦閫昏緫锛氫袱绉掑唴鍙兘鐐逛竴娆�
+ long currentTime = System.currentTimeMillis();
+ if (currentTime - lastScanClickTime < 2000) {
+ Toast("鐐瑰嚮杩囧揩锛岃绋嶅悗閲嶈瘯锛�");
+ return;
+ }
+ lastScanClickTime = currentTime;
+ if (deviceListFragment != null && deviceListFragment.isVisible()&&scanManager!=null&&!scanManager.isScanning()) {
+ deviceListFragment.startScan();
+ }
+ });
+ }
+ if (iv_right != null) iv_right.setVisibility(View.VISIBLE);
+
+ FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
+ if (deviceListFragment == null) {
+ deviceListFragment = new DeviceListFragment();
+ }
+ ft.replace(R.id.fragment_container, deviceListFragment);
+ ft.addToBackStack(null);
+ ft.commit();
+ }
+
+
+ public BluetoothScanManager getScanManager() {
+ return scanManager;
+ }
+
+ public BluetoothLeDeviceStore getDeviceStore() {
+ return mDeviceStore;
+ }
+
+ public BluetoothUtils getBluetoothUtils() {
+ return mBluetoothUtils;
+ }
+
+ @Override
+ public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEventRefresh(UpdateEvent event) {
+ if (event.getType() == UpdateEvent.Type.CONN_STATU) {
+ int status = 0;
+ if (event.getObj() instanceof Integer) {
+ status = (int) event.getObj();
+ }
+ if (status == android.bluetooth.BluetoothProfile.STATE_CONNECTED) {
+ updateConnectedUI();
+ } else if (status == android.bluetooth.BluetoothProfile.STATE_DISCONNECTED) {
+ if (tv_scan != null) {
+ tv_scan.setText("杩炴帴钃濈墮");
+ tv_scan.setOnClickListener(v -> showDeviceListFragment());
+ }
+ }
+ }
+ }
+
+ private void updateConnectedUI() {
+ if (tv_scan == null) return;
+ com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice device = BleGlobalManager.getInstance().getBluetoothLeDevice();
+ String name = (device != null) ? device.getName() : "Unknown";
+ if (name == null) name = "Unknown";
+ if (name.length() > 8) {
+ name = name.substring(0, 8) + "...";
+ }
+ tv_scan.setText(name);
+ tv_scan.setOnClickListener(v -> {
+ new QMUIDialog.MessageDialogBuilder(this)
+ .setTitle("鎻愮ず")
+ .setMessage("鏄惁鏂紑钃濈墮杩炴帴锛�")
+ .addAction("鍙栨秷", (dialog, index) -> dialog.dismiss())
+ .addAction("纭畾", (dialog, index) -> {
+ dialog.dismiss();
+ BleGlobalManager.getInstance().disconnect();
+ })
+ .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
+ });
+ }
+
+ public void initTitlebar() {
+ if (iv_right != null) {
+ iv_right.setVisibility(View.VISIBLE);
+ iv_right.setOnClickListener(v -> {
+ androidx.appcompat.widget.PopupMenu popup = new androidx.appcompat.widget.PopupMenu(this, v);
+ popup.getMenu().add(0, 0, 0, "鐩戞帶椤�");
+ popup.getMenu().add(0, 1, 1, "娴嬭瘯椤�");
+ popup.setOnMenuItemClickListener(item -> {
+ if (item.getItemId() == 0) {
+ DeviceListFragment.setNavigationMode(DeviceListFragment.MODE_RETURN_SETTINGS);
+ Toast.makeText(HomeActivity.this, "宸插垏鎹細杩炴帴鍚庤繑鍥炵洃鎺ч〉", Toast.LENGTH_SHORT).show();
+ } else if (item.getItemId() == 1) {
+ DeviceListFragment.setNavigationMode(DeviceListFragment.MODE_GO_TO_TEST);
+ Toast.makeText(HomeActivity.this, "宸插垏鎹細杩炴帴鍚庤烦杞埌娴嬭瘯椤�", Toast.LENGTH_SHORT).show();
+ }
+ return true;
+ });
+ popup.show();
+ });
+ }
+ }
+
+ @Override
+ public void onBackPressed() {
+ if (drawerLayout != null && drawerLayout.isDrawerOpen(GravityCompat.START)) {
+ drawerLayout.closeDrawer(GravityCompat.START);
+ } else {
+ // Check if we are in DeviceListFragment and can go back
+ Fragment current = getSupportFragmentManager().findFragmentById(R.id.fragment_container);
+ if (current instanceof DeviceListFragment) {
+ super.onBackPressed();
+ } else {
+ ExitApp();
+ }
+ }
+ }
+
+ private long exitTime = 0;
+
+ public void ExitApp() {
+ if ((System.currentTimeMillis() - exitTime) > 2000) {
+ Toast.makeText(this, "鍐嶆寜涓�娆¢��鍑虹▼搴忥紒", Toast.LENGTH_SHORT).show();
+ exitTime = System.currentTimeMillis();
+ } else {
+ finish();
+ }
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/activity/NormalWriteActivity.java b/app/src/main/java/com/shlb/comb/activity/NormalWriteActivity.java
new file mode 100644
index 0000000..2bb6cc1
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/activity/NormalWriteActivity.java
@@ -0,0 +1,536 @@
+package com.shlb.comb.activity;
+
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCharacteristic;
+import android.bluetooth.BluetoothGattService;
+import android.text.InputType;
+import android.util.Log;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.LinearLayout;
+
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+import com.blankj.utilcode.util.LogUtils;
+import com.blankj.utilcode.util.ThreadUtils;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
+import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
+import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
+import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+import com.shlb.comb.R;
+import com.shlb.comb.base.BaseActivity;
+import com.shlb.comb.event.UpdateEvent;
+import com.shlb.comb.util.CMD;
+import com.shlb.comb.util.CRCutil;
+import com.shlb.comb.util.Singletion;
+
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+public class NormalWriteActivity extends BaseActivity {
+
+ QMUIGroupListView mGroupListView;
+
+ Button send;
+
+ LinearLayout llRoot;
+
+
+ private BluetoothConnectManager connectManager;
+ private BluetoothGatt gatt;
+
+ private BluetoothGattCharacteristic characteristic;
+
+
+ @Override
+ protected void contentView() {
+ setContentView(R.layout.normal_activity_write);
+
+ }
+
+ @Override
+ protected void initView() {
+ super.initHead();
+ mGroupListView = findViewById(R.id.groupListView);
+ send = findViewById(R.id.send);
+ llRoot = findViewById(R.id.ll_root);
+ initTitlebar();
+ tv_center.setText("缂栧潃");
+ initGroupListView();
+
+ }
+
+ @Override
+ protected void initData() {
+ String uuid = Singletion.getInstance().uuid;
+ initWrite(uuid);
+
+
+ }
+
+ @Override
+ protected void initEvent() {
+ send.setOnClickListener(this);
+ int[] ids = {R.id.btnExit, R.id.btnInto, R.id.btnClean, R.id.btn1, R.id.btn2, R.id.btn3, R.id.btn4, R.id.btn5, R.id.btn6, R.id.btn7, R.id.btn8, R.id.btn9, R.id.btn10, R.id.btn11, R.id.btn12, R.id.btn13, R.id.btn14, R.id.btn15, R.id.btn16};
+ for (int id : ids) {
+ View v = findViewById(id);
+ if (v != null) v.setOnClickListener(this);
+ }
+
+ }
+
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.iv_left) {
+ finish();
+ } else if (id == R.id.btnExit) {
+ writeCmd(CMD.EXIT);
+ } else if (id == R.id.btnInto) {
+ writeCmd(CMD.GETINTO);
+ } else if (id == R.id.btnClean) {
+ writeCmd(CMD.CLEAN);
+ } else if (id == R.id.btn1) {
+ sendYJCmd(1);
+ } else if (id == R.id.btn2) {
+ sendYJCmd(2);
+ } else if (id == R.id.btn3) {
+ sendYJCmd(3);
+ } else if (id == R.id.btn4) {
+ sendYJCmd(4);
+ } else if (id == R.id.btn5) {
+ sendYJCmd(5);
+ } else if (id == R.id.btn6) {
+ sendYJCmd(6);
+ } else if (id == R.id.btn7) {
+ sendYJCmd(7);
+ } else if (id == R.id.btn8) {
+ sendYJCmd(8);
+ } else if (id == R.id.btn9) {
+ sendYJCmd(9);
+ } else if (id == R.id.btn10) {
+ sendYJCmd(10);
+ } else if (id == R.id.btn11) {
+ sendYJCmd(11);
+ } else if (id == R.id.btn12) {
+ sendYJCmd(12);
+ } else if (id == R.id.btn13) {
+ sendYJCmd(13);
+ } else if (id == R.id.btn14) {
+ sendYJCmd(14);
+ } else if (id == R.id.btn15) {
+ sendYJCmd(15);
+ } else if (id == R.id.btn16) {
+ sendYJCmd(16);
+ }
+ }
+
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEventReceiveNotify(UpdateEvent event) {
+ if (event != null && event.getType() == UpdateEvent.Type.BLE_DATA) {
+ BluetoothGattCharacteristic characteristic = (BluetoothGattCharacteristic) event.getObj();
+ final byte[] dataArr = characteristic.getValue();
+ final String flag = event.getMsg();
+ if (dataArr != null && dataArr.length > 0) {
+ if (flag.equals("read")) {
+ } else if (flag.equals("write")) {
+ } else if (flag.equals("notify")) {
+ //杩斿洖缁撴灉
+ String crc = CRCutil.getCRC(dataArr);
+ LogUtils.e("resCRC", crc);
+ //CRC璁$畻缁撴灉涓�0鏃跺懡浠ゆ墽琛屾垚鍔燂紝鑷姩鎵ц閫�鍑哄懡浠�
+ if (crc.equals("0")) {
+ writeCmd(CMD.EXIT);
+ Toast("鎿嶄綔鎴愬姛锛岃嚜鍔ㄦ墽琛岄��鍑虹紪鍧�鎸囦护");
+ curCmd = -1;
+ item6.setText("缂栧潃鎴愬姛");
+ }
+ //璁$畻杩斿洖涓�0鏃� 鑷姩閫�鍑�
+
+ LogUtils.e("res", ByteUtils.byteArrayToHexString(dataArr));
+ } else {
+
+ Toast("瑙f瀽杩斿洖淇℃伅澶辫触锛�");
+ }
+ } else {
+ Toast("杩斿洖淇℃伅涓虹┖锛�");
+ }
+ }
+ }
+
+ QMUICommonListItemView item1;
+ QMUICommonListItemView item2;
+ QMUICommonListItemView item3;
+ QMUICommonListItemView item4;
+ QMUICommonListItemView item5;
+ QMUICommonListItemView item6;
+ View.OnClickListener onClickListener;
+ int curCmd = -1;
+
+ String[] cmdName = {"杩涘叆缂栧潃", "娓呴櫎鍦板潃", "缂栬緫鍦板潃", "閫�鍑虹紪鍧�", "涓�閿紪鍧�"};
+
+ private void initGroupListView() {
+ item1 = mGroupListView.createItemView(null,
+ cmdName[0], "",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+ item2 = mGroupListView.createItemView(null,
+ cmdName[1], "",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+ item3 = mGroupListView.createItemView(null,
+ cmdName[2], "鐐瑰嚮閫夋嫨缂栧彿",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+ item4 = mGroupListView.createItemView(null,
+ cmdName[3], "",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+
+ onClickListener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (v instanceof QMUICommonListItemView) {
+ CharSequence text = ((QMUICommonListItemView) v).getText();
+ //杩涘叆缂栧潃
+ if (text.equals(cmdName[0])) {
+ curCmd = 1;
+ item6.setText(cmdName[0]);
+ item6.setDetailText("");
+ //娓呴櫎鍦板潃
+ } else if (text.equals(cmdName[1])) {
+ curCmd = 2;
+ item6.setText(cmdName[1]);
+ item6.setDetailText("");
+ //缂栬緫鍦板潃
+ } else if (text.equals(cmdName[2])) {
+ showEditTextDialog();
+ //閫�鍑虹紪鍧�
+ } else if (text.equals(cmdName[3])) {
+ curCmd = 4;
+ item6.setText(cmdName[3]);
+ item6.setDetailText("");
+ //涓�閿紪鍧�
+ } else if (text.equals(cmdName[4])) {
+ showQuickDialog();
+ }
+
+
+ }
+ }
+ };
+
+ int size = QMUIDisplayHelper.dp2px(this, 20);
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section 1:鎿嶄綔鎸囦护")
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(item1, onClickListener)
+ .addItemView(item2, onClickListener)
+ .addItemView(item3, onClickListener)
+ .addItemView(item4, onClickListener)
+ .addTo(mGroupListView);
+
+ item5 = mGroupListView.createItemView(cmdName[4]);
+ item5.setOrientation(QMUICommonListItemView.VERTICAL);
+ item5.setDetailText("杩涘叆-娓呴櫎-缂栧潃-閫�鍑�");
+ item5.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+ item6 = mGroupListView.createItemView("寰呴�夋嫨");
+ item6.setOrientation(QMUICommonListItemView.HORIZONTAL);
+
+
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section 2:蹇嵎鎸囦护")
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(item5, onClickListener)
+ .addTo(mGroupListView);
+
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section 3:褰撳墠鎸囦护")
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(item6, onClickListener)
+ .addTo(mGroupListView);
+
+ }
+
+ /**
+ * 鍒濆鍖栧啓鍏ユ湇鍔�
+ *
+ * @param uu
+ */
+ private void initWrite(String uu) {
+ BluetoothLeDevice mDevice = Singletion.getInstance().mDevice;
+ connectManager = BluetoothConnectManager.getInstance(this);
+ connectManager.addConnectStateListener(listener);
+ String uuid = uu;
+ UUID serverUUid = null;
+ gatt = connectManager.getBluetoothGatt(mDevice.getAddress());
+ if (gatt != null) {
+ List<BluetoothGattService> list = gatt.getServices();
+ if (list != null) {
+ for (BluetoothGattService service : list) {
+ for (BluetoothGattCharacteristic characteristics : service.getCharacteristics()) {
+ if (characteristics.getUuid().toString().equals(uuid)) {
+ characteristic = characteristics;
+ serverUUid = service.getUuid();
+ break;
+ }
+ }
+ }
+ }
+ }
+ if (serverUUid == null) {
+ Toast("serverUUid涓嶈兘涓虹┖!");
+ return;
+ }
+ //1.set service uuid
+ connectManager.setServiceUUID(serverUUid.toString());
+ //2.clean history descriptor data
+ connectManager.cleanSubscribeData();
+ //3.add subscribe params
+ if (BluetoothUtils.isCharacteristicRead(characteristic.getProperties())) {
+ connectManager.addBluetoothSubscribeData(
+ new BluetoothSubScribeData.Builder().setCharacteristicRead(characteristic.getUuid()).build());
+ }
+ if (BluetoothUtils.isCharacteristicNotify(characteristic.getProperties())) {
+ connectManager.addBluetoothSubscribeData(
+ new BluetoothSubScribeData.Builder().setCharacteristicNotify(characteristic.getUuid()).build()
+ );
+ }
+
+ connectManager.startSubscribe(gatt);
+ }
+
+ private void writeCmd(String cmd) {
+ int len = cmd.length();
+ if (len > 0 && len % 2 == 0) {
+ byte[] bytes = invertStringToBytes(cmd);
+ if (bytes != null) {
+ characteristic.setValue(bytes);
+ gatt.writeCharacteristic(characteristic);
+ runOnUiThread(() -> {
+ item6.setDetailText(item6.getDetailText() + " 宸插彂閫�");
+ });
+ } else {
+ Log.e("tag", "write value fail");
+ }
+ } else {
+
+ runOnUiThread(() -> {
+ Toast("鎸囦护閿欒锛�");
+ });
+ }
+ }
+
+ private byte[] invertStringToBytes(String value) {
+ int len = value.length() / 2;
+ if (len > 0) {
+ byte[] bytes = new byte[len];
+ for (int i = 0; i < len; i++) {
+ Integer val = Integer.valueOf(value.substring(i * 2, i * 2 + 2), 16);
+ bytes[i] = val.byteValue();
+ }
+ return bytes;
+ }
+ return null;
+ }
+
+ private List<Map<String, Object>> getWriteData() {
+ List<Map<String, Object>> res = new ArrayList<>();
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("name", "杩涘叆缂栧潃鐘舵��");
+ map1.put("flag", "0");
+ map1.put("value", "A55A060100000000002F35");
+ res.add(map1);
+ Map<String, Object> map2 = new HashMap<>();
+ map2.put("name", "閫�鍑虹紪鍧�鐘舵��");
+ map2.put("flag", "0");
+ map2.put("value", "A55A060400000000002F60");
+ res.add(map2);
+ Map<String, Object> map3 = new HashMap<>();
+ map3.put("name", "缂栧潃");
+ map3.put("flag", "0");
+ map3.put("value", "A55A060300020000002F6F");
+ res.add(map3);
+ Map<String, Object> map4 = new HashMap<>();
+ map4.put("name", "娓呴櫎鍦板潃");
+ map4.put("flag", "0");
+ map4.put("value", "A55A060200000000002F06");
+ res.add(map4);
+ return res;
+
+ }
+
+ private ConnectStateListener listener = new ConnectStateListener() {
+ @Override
+ public void onConnectStateChanged(String address, ConnectState state) {
+ switch (state) {
+ case CONNECTED:
+ break;
+ case CONNECTING:
+ break;
+ case NORMAL:
+ break;
+ }
+ }
+ };
+
+ /**
+ * 杈撳叆缂栧潃搴忓彿鍚� 鎵ц缂栧潃鎸囦护
+ */
+ private void showEditTextDialog() {
+ final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
+ builder.setTitle("鎻愮ず")
+ .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
+ .setInputType(InputType.TYPE_CLASS_TEXT)
+ .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ dialog.dismiss();
+ }
+ })
+ .addAction("纭畾", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ String text = builder.getEditText().getText().toString();
+ Integer res = -1;
+ try {
+ res = Integer.parseInt(text);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (res == null || res < 0 || res > 16) {
+ Toast("璇疯緭鍏�1-16鏁板瓧");
+ } else {
+ item3.setDetailText(text);
+ curCmd = 3;
+ item6.setText(cmdName[2]);
+ item6.setDetailText(text);
+ dialog.dismiss();
+
+ }
+
+
+ }
+ })
+ .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
+ }
+
+ /**
+ * 杈撳叆缂栧潃搴忓彿鍚� 涓�閿墽琛屾墍鏈夋寚浠�
+ */
+ private void showQuickDialog() {
+ final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
+ builder.setTitle("鎻愮ず")
+ .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
+ .setInputType(InputType.TYPE_CLASS_TEXT)
+ .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ dialog.dismiss();
+ }
+ })
+ .addAction("纭畾", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ String text = builder.getEditText().getText().toString();
+ Integer addrrNo = -1;
+ try {
+ addrrNo = Integer.parseInt(text);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (addrrNo == null || addrrNo < 0 || addrrNo > 16) {
+ Toast("璇疯緭鍏�1-16鏁板瓧");
+ } else {
+ curCmd = 5;
+ item5.setDetailText(text);
+ item6.setText(cmdName[4]);
+ item6.setDetailText(text);
+ dialog.dismiss();
+
+
+ }
+
+
+ }
+ })
+ .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
+ }
+
+ public void initTitlebar() {
+ iv_right.setVisibility(View.VISIBLE);
+ iv_left.setImageDrawable(getResources().getDrawable(R.mipmap.icon_back));
+ iv_right.setImageDrawable(getResources().getDrawable(R.mipmap.icon_topbar_overflow));
+ }
+
+ /**
+ * 鍙戦�佷竴閿懡浠�
+ * @param no2
+ */
+ private void sendYJCmd(int no2){
+
+
+ if (no2 > 16|| no2<1 ) {
+ Toast("鍦板潃鏁版嵁寮傚父");
+ return;
+
+ }
+
+ ThreadUtils.executeBySingle(new ThreadUtils.SimpleTask<Object>() {
+ @Override
+ public Object doInBackground() throws Throwable {
+ writeCmd(CMD.GETINTO);
+ Thread.sleep(200);
+
+ writeCmd(CMD.CLEAN);
+ Thread.sleep(200);
+
+ String sNo2 = Integer.toHexString(no2);
+ //
+ if (sNo2.length() < 2) {
+ sNo2 = "0" + sNo2;
+ }
+
+ String cmd = CMD.ADDR_PREFIX + sNo2 + CMD.ADDR_SUFFIX;
+ byte[] bytes = invertStringToBytes(cmd);
+ String crc = CRCutil.getCRC(bytes);
+ String zl = cmd + crc;
+ LogUtils.e("reszl", zl);
+ Thread.sleep(200);
+ writeCmd(zl);
+
+ return null;
+ }
+
+ @Override
+ public void onSuccess(Object result) {
+
+ }
+ });
+ Toast("缂栧潃鎸囦护宸插彂閫侊紒");
+ }
+
+}
diff --git a/app/src/main/java/com/shlb/comb/activity/ParameterSettingActivity.java b/app/src/main/java/com/shlb/comb/activity/ParameterSettingActivity.java
new file mode 100644
index 0000000..1d68133
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/activity/ParameterSettingActivity.java
@@ -0,0 +1,665 @@
+package com.shlb.comb.activity;
+
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.text.Html;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ScrollView;
+import android.widget.Spinner;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+import com.shlb.comb.R;
+import com.shlb.comb.base.BaseActivity;
+import com.shlb.comb.event.UpdateEvent;
+import com.shlb.comb.manager.BleGlobalManager;
+import com.shlb.comb.util.CMD;
+import com.shlb.comb.util.CRCutil;
+
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+
+public class ParameterSettingActivity extends BaseActivity {
+
+ private Spinner sp_threshold_mode;
+ private EditText et_threshold_value;
+ private Button btn_threshold_read;
+ private Button btn_threshold_write;
+
+ private Spinner sp_sensitivity_mode;
+ private EditText et_sensitivity_value;
+ private Button btn_sensitivity_read;
+ private Button btn_sensitivity_write;
+
+ private Button btn_start_check;
+ private Button btn_end_check;
+ private Button btn_reset_mainboard;
+ private Button btn_reset_sensor;
+
+ private TextView tv_log;
+ private TextView tv_right_text;
+
+ // New components
+ private RecyclerView rvGrid;
+ private QMUIRoundButton btnReadData;
+ private QMUIRoundButton btnClearLog;
+ private ScrollView svLog;
+
+ private GridAdapter mAdapter;
+ private List<BoxStatus> boxStatusList = new ArrayList<>();
+ private StringBuilder logBuilder = new StringBuilder();
+ private boolean isSelfCheckMode = false;
+ private String pendingSettingCmd = "";
+
+ private SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
+
+ @Override
+ protected void contentView() {
+ setContentView(R.layout.activity_parameter_setting);
+ }
+
+ @Override
+ protected void initView() {
+ super.initHead();
+ if (tv_center != null) {
+ tv_center.setText("鍙傛暟璁惧畾");
+ }
+ if (iv_left != null) {
+ iv_left.setImageResource(R.mipmap.icon_back);
+ }
+
+ sp_threshold_mode = findViewById(R.id.sp_threshold_mode);
+ et_threshold_value = findViewById(R.id.et_threshold_value);
+ btn_threshold_read = findViewById(R.id.btn_threshold_read);
+ btn_threshold_write = findViewById(R.id.btn_threshold_write);
+
+ sp_sensitivity_mode = findViewById(R.id.sp_sensitivity_mode);
+ et_sensitivity_value = findViewById(R.id.et_sensitivity_value);
+ btn_sensitivity_read = findViewById(R.id.btn_sensitivity_read);
+ btn_sensitivity_write = findViewById(R.id.btn_sensitivity_write);
+
+ btn_start_check = findViewById(R.id.btn_start_check);
+ btn_end_check = findViewById(R.id.btn_end_check);
+ btn_reset_mainboard = findViewById(R.id.btn_reset_mainboard);
+ btn_reset_sensor = findViewById(R.id.btn_reset_sensor);
+
+ tv_log = findViewById(R.id.tv_log);
+ tv_right_text = findViewById(R.id.tv_right_text);
+
+ // Init new components
+ rvGrid = findViewById(R.id.rv_grid);
+ // btnReadData was removed from layout
+ btnClearLog = findViewById(R.id.btn_clear_log);
+ svLog = findViewById(R.id.sv_log);
+
+ // Log setup
+ if (svLog != null) {
+ svLog.setOnTouchListener((v, event) -> {
+ v.getParent().requestDisallowInterceptTouchEvent(true);
+ if ((event.getAction() & android.view.MotionEvent.ACTION_MASK) == android.view.MotionEvent.ACTION_UP) {
+ v.getParent().requestDisallowInterceptTouchEvent(false);
+ }
+ return false;
+ });
+ }
+
+ if (logBuilder.length() > 0) {
+ tv_log.setText(Html.fromHtml(logBuilder.toString()));
+ } else {
+ logBuilder.append("鏃ュ織璁板綍:<br>");
+ tv_log.setText(Html.fromHtml(logBuilder.toString()));
+ }
+ }
+
+ @Override
+ protected void initData() {
+ updateBluetoothStatus();
+
+ // Initialize box status list
+ boxStatusList.clear();
+ for (int i = 1; i <= 30; i++) {
+ boxStatusList.add(new BoxStatus(i));
+ }
+
+ // Grid Setup
+ rvGrid.setLayoutManager(new GridLayoutManager(this, 10));
+ mAdapter = new GridAdapter();
+ rvGrid.setAdapter(mAdapter);
+
+ if (BleGlobalManager.getInstance().isConnected()) {
+ sendCmdWithCrc(CMD.ENTER_SETTING);
+ // sendCmdWithCrc(CMD.READ_DATA);
+ }
+ }
+
+ @Override
+ protected void onDestroy() {
+ if (BleGlobalManager.getInstance().isConnected()) {
+ sendCmdWithCrc(CMD.EXIT_SETTING);
+ }
+ super.onDestroy();
+ }
+
+ @Override
+ protected void initEvent() {
+ View.OnClickListener listener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ String action = "";
+ if (id == R.id.btn_threshold_read) {
+ action = "璇诲彇闃堝��";
+ Toast.makeText(ParameterSettingActivity.this, "璇ュ姛鑳芥殏鏈紑鏀�", Toast.LENGTH_SHORT).show();
+ } else if (id == R.id.btn_threshold_write) {
+ handleThresholdWrite();
+ } else if (id == R.id.btn_sensitivity_read) {
+ action = "璇诲彇鐏垫晱搴�";
+ Toast.makeText(ParameterSettingActivity.this, "璇ュ姛鑳芥殏鏈紑鏀�", Toast.LENGTH_SHORT).show();
+ } else if (id == R.id.btn_sensitivity_write) {
+ handleSensitivityWrite();
+ } else if (id == R.id.btn_start_check) {
+ action = "寮�濮嬭嚜妫�";
+ sendCmdWithCrc(CMD.WRITE_START_CHECK);
+ isSelfCheckMode = true;
+ } else if (id == R.id.btn_end_check) {
+ action = "缁撴潫鑷";
+ sendCmdWithCrc(CMD.WRITE_END_CHECK);
+ isSelfCheckMode = false;
+ } else if (id == R.id.btn_reset_mainboard) {
+ showResetConfirmDialog("纭畾瑕佹墽琛屼富鏉垮浣嶅悧锛�", CMD.WRITE_BOARD_RESET);
+ } else if (id == R.id.btn_reset_sensor) {
+ showResetConfirmDialog("纭畾瑕佹墽琛屼紶鎰熷櫒澶嶄綅鍚楋紵", CMD.WRITE_SENSOR_RESET);
+ }
+
+ if (!action.isEmpty()) {
+ // Toast.makeText(ParameterSettingActivity.this, action, Toast.LENGTH_SHORT).show();
+ // appendLog(action);
+ }
+ }
+ };
+
+ btn_threshold_read.setOnClickListener(listener);
+ btn_threshold_write.setOnClickListener(listener);
+ btn_sensitivity_read.setOnClickListener(listener);
+ btn_sensitivity_write.setOnClickListener(listener);
+ btn_start_check.setOnClickListener(listener);
+ btn_end_check.setOnClickListener(listener);
+ btn_reset_mainboard.setOnClickListener(listener);
+ btn_reset_sensor.setOnClickListener(listener);
+
+ btnClearLog.setOnClickListener(v -> {
+ logBuilder.setLength(0);
+ logBuilder.append("鏃ュ織璁板綍:<br>");
+ tv_log.setText(Html.fromHtml(logBuilder.toString()));
+ });
+ }
+
+ private String getCmdDescription(String hex, Boolean isSent) {
+ if (hex == null) return "";
+
+ // Special handling for 3B (Enter/Exit Setting)
+ if (hex.startsWith(CMD.ENTER_SETTING.substring(0, 8))) {
+ if (hex.startsWith(CMD.ENTER_SETTING)) return "-杩涘叆璁惧畾";
+ if (hex.startsWith(CMD.EXIT_SETTING)) return "-閫�鍑鸿瀹�";
+ }
+
+ // 鍙戦�佹寚浠ゅ尮閰�
+ if (hex.startsWith(CMD.WRITE_THRESHOLD_SETTING)) return "-闃堝�艰瀹�";
+ if (hex.startsWith(CMD.WRITE_SENSITIVITY_SETTING)) return "-鐏垫晱搴﹁瀹�";
+ if (hex.startsWith(CMD.WRITE_BOARD_RESET)) return "-涓绘澘澶嶄綅";
+ if (hex.startsWith(CMD.WRITE_SENSOR_RESET)) return "-浼犳劅鍣ㄥ浣�";
+ if (hex.startsWith(CMD.WRITE_START_CHECK)) return "-寮�濮嬭嚜妫�";
+ if (hex.startsWith(CMD.WRITE_END_CHECK)) return "-缁撴潫鑷";
+ if (hex.startsWith(CMD.READ_DATA.substring(0, 8))) return "-璇绘暟鎹�";
+
+ // 鎺ユ敹鏁版嵁鍖归厤
+ if (hex.startsWith(CMD.WRITE_THRESHOLD_SETTING.substring(0, 8))) return "-闃堝�艰繑鍥�";
+ if (hex.startsWith(CMD.WRITE_SENSITIVITY_SETTING.substring(0, 8))) return "-鐏垫晱搴﹁繑鍥�";
+ if (hex.startsWith(CMD.WRITE_BOARD_RESET.substring(0, 8))) return "-涓绘澘澶嶄綅杩斿洖";
+ if (hex.startsWith(CMD.WRITE_SENSOR_RESET.substring(0, 8))) return "-浼犳劅鍣ㄥ浣嶈繑鍥�";
+ if (hex.startsWith(CMD.WRITE_START_CHECK.substring(0, 8))) return "-鑷杩斿洖";
+
+ if (hex.startsWith(CMD.WRITE_SUFFIX)) return "-鍐欏叆杩斿洖";
+
+ return "";
+ }
+
+ private void appendLog(String msg) {
+ appendLog(msg, null);
+ }
+
+ private void appendLog(String msg, Boolean isSent) {
+ String time = new SimpleDateFormat("HH:mm:ss.SSS", Locale.getDefault()).format(new Date());
+
+ String displayMsg = msg;
+ String cmdDesc = "";
+
+ // 濡傛灉鏄� hex 鎸囦护 (绾� 0-9 A-F a-f)锛屽姞绌烘牸鏍煎紡鍖�
+ if (msg.matches("^[0-9A-Fa-f]+$")) {
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < msg.length(); i += 2) {
+ if (i + 2 <= msg.length()) {
+ sb.append(msg.substring(i, i + 2)).append(" ");
+ } else {
+ sb.append(msg.substring(i));
+ }
+ }
+ displayMsg = sb.toString().trim();
+
+ // 鑾峰彇鎸囦护鎻忚堪
+ cmdDesc = getCmdDescription(msg, isSent);
+ }
+
+ String logLine;
+ if (isSent != null) {
+ String color = isSent ? "#1890ff" : "#05aa87"; // Blue for sent, Green for received
+ // 鎷兼帴鍒板墠缂�鍚庨潰: "鍙戦��-璇荤珯鍙�: " 鎴� "鏀跺埌-璇荤珯鍙�: "
+ String prefix = (isSent ? "鍙戦��" : "鏀跺埌") + cmdDesc + ": ";
+ logLine = time + " <font color='" + color + "'>" + prefix + displayMsg + "</font><br>";
+ } else {
+ // 鏅�氭棩蹇�
+ logLine = time + " " + displayMsg + "<br>";
+ }
+
+ logBuilder.append(logLine);
+
+ // Update UI
+ if (tv_log != null) {
+ tv_log.setText(Html.fromHtml(logBuilder.toString()));
+ if (svLog != null) {
+ svLog.post(() -> svLog.fullScroll(View.FOCUS_DOWN));
+ }
+ }
+ }
+
+ // Kept for backward compatibility if needed, but redirected to appendLog
+ private void addLog(String message) {
+ appendLog(message);
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEvent(UpdateEvent event) {
+ if (event.getType() == UpdateEvent.Type.CONN_STATU) {
+ updateBluetoothStatus();
+ } else if (event.getType() == UpdateEvent.Type.DEVICE_INFO) {
+ String hex = event.getMsg();
+ appendLog(hex, false); // false for received (Green)
+ parseAndRefresh(hex);
+ }
+ }
+
+ private void parseAndRefresh(String hex) {
+ if (hex == null) return;
+
+ // 鍐欏叆鎸囦护鐨勮繑鍥� (A55A06寮�澶�)
+ if (hex.startsWith("A55A06") && hex.length() >= 12) {
+ String statusHex = hex.substring(10, 12);
+ boolean isSuccess = "01".equals(statusHex);
+
+ if (hex.startsWith(CMD.ENTER_SETTING.substring(0, 8))) {
+ if (isSuccess) {
+ appendLog("杩涘叆璁惧畾妯″紡鎴愬姛");
+ } else {
+ appendLog("杩涘叆璁惧畾妯″紡澶辫触");
+ }
+ return;
+ }
+
+ if (hex.startsWith(CMD.EXIT_SETTING.substring(0, 8))) {
+ appendLog("閫�鍑鸿瀹氭ā寮忔垚鍔�");
+ return;
+ }
+
+ if (hex.startsWith(CMD.WRITE_THRESHOLD_SETTING.substring(0, 8))) {
+ if (isSuccess) {
+ appendLog("闃堝�煎啓鍏ユ垚鍔�");
+ Toast.makeText(this, "闃堝�煎啓鍏ユ垚鍔�", Toast.LENGTH_SHORT).show();
+ } else {
+ appendLog("闃堝�煎啓鍏ュけ璐�");
+ Toast.makeText(this, "闃堝�煎啓鍏ュけ璐�", Toast.LENGTH_SHORT).show();
+ }
+ } else if (hex.startsWith(CMD.WRITE_SENSITIVITY_SETTING.substring(0, 8))) {
+ if (isSuccess) {
+ appendLog("鐏垫晱搴﹀啓鍏ユ垚鍔�");
+ Toast.makeText(this, "鐏垫晱搴﹀啓鍏ユ垚鍔�", Toast.LENGTH_SHORT).show();
+ } else {
+ appendLog("鐏垫晱搴﹀啓鍏ュけ璐�");
+ Toast.makeText(this, "鐏垫晱搴﹀啓鍏ュけ璐�", Toast.LENGTH_SHORT).show();
+ }
+ } else if (hex.startsWith(CMD.WRITE_BOARD_RESET.substring(0, 8))) {
+ boolean isBoardReset = pendingSettingCmd.equals(CMD.WRITE_BOARD_RESET);
+ String name = isBoardReset ? "涓绘澘澶嶄綅" : "浼犳劅鍣ㄥ浣�";
+
+ if (isSuccess) {
+ appendLog(name + "鎴愬姛");
+ Toast.makeText(this, name + "鎴愬姛", Toast.LENGTH_SHORT).show();
+ } else {
+ appendLog(name + "澶辫触");
+ Toast.makeText(this, name + "澶辫触", Toast.LENGTH_SHORT).show();
+ }
+ }
+ }
+
+ // Check for Self Check command response
+ if (hex.startsWith(CMD.WRITE_START_CHECK.substring(0, 8)) && hex.length() >= 12) {
+ String statusHex = hex.substring(10, 12);
+ boolean isSuccess = "01".equals(statusHex);
+ String opName = isSelfCheckMode ? "寮�濮嬭嚜妫�" : "缁撴潫鑷";
+
+ if (isSuccess) {
+ appendLog(opName + "鎴愬姛");
+ Toast.makeText(this, opName + "鎴愬姛", Toast.LENGTH_SHORT).show();
+
+ // If success and isSelfCheckMode, wait 5s then read data
+ if (isSelfCheckMode) {
+ appendLog("5绉掑悗璇诲彇鑷缁撴灉...");
+ new android.os.Handler().postDelayed(() -> {
+ sendCmdWithCrc(CMD.READ_DATA);
+ }, 5000);
+ }
+ } else {
+ appendLog(opName + "澶辫触");
+ Toast.makeText(this, opName + "澶辫触", Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ // Handle READ_DATA response for Self Check results
+ // A55A0301...
+ if (hex.startsWith(CMD.READ_DATA.substring(0, 8)) && hex.length() >= 26) {
+ parseSelfCheckData(hex);
+ }
+ }
+
+ private void parseSelfCheckData(String hex) {
+ try {
+ // 11th hex -> index 10-18 (8 chars)
+ String part1Hex = hex.substring(10, 18);
+ long part1Bits = Long.parseLong(part1Hex, 16);
+
+ // 18th hex -> index 18-26 (8 chars)
+ String part2Hex = hex.substring(18, 26);
+ long part2Bits = Long.parseLong(part2Hex, 16);
+
+ appendLog("鑷鏁版嵁瑙f瀽: " + part1Hex + ", " + part2Hex);
+
+ boolean hasChange = false;
+ for (BoxStatus box : boxStatusList) {
+ int bitIndex = box.id - 1;
+ if (bitIndex >= 0 && bitIndex < 32) {
+ // Determine success based on both bits
+ // Assuming both need to be 1, or following specific logic.
+ // Based on user request "11th and 18th hex", we check both.
+ // Usually part1 is Glass (Detection), part2 is Online.
+ // We'll assume success means bit is set in both (Online and Detected?)
+ // OR maybe just Online?
+ // Let's stick to combining them to be safe as user mentioned both.
+ // But if Self Check is just checking if it's working, maybe Online is enough?
+ // Let's use: Success = (part1 & 1) && (part2 & 1) ?
+ // Let's use bitwise AND of the two parts for the result.
+
+ boolean bit1 = ((part1Bits >> bitIndex) & 1) == 1;
+ boolean bit2 = ((part2Bits >> bitIndex) & 1) == 1;
+
+ // If user meant "11th OR 18th", or "11th is this, 18th is that".
+ // Given "Success/Fail", I'll assume both must be valid.
+ // However, in normal operation:
+ // Glass=0, Online=1 -> Empty box, but sensor working.
+ // Glass=1, Online=1 -> Full box, sensor working.
+ // Online=0 -> Sensor broken/offline.
+
+ // If "Self Check" puts the sensor in a state where it should report "1" for Glass?
+ // If so, then we expect Glass=1 AND Online=1.
+ // If "Self Check" just checks health, then Glass might be 0.
+
+ // "纭畾鍝簺鏍煎瓙鑷鎴愬姛" (Determine which grids passed self-check).
+ // If I use bit1 && bit2:
+ // If a sensor is working but empty (Glass=0), it fails self-check?
+ // This implies Self Check expects a "1" signal.
+ // This is common in self-checks (force a signal).
+
+ if (bit1 && bit2) {
+ box.checkResult = 1; // Green
+ } else {
+ box.checkResult = 0; // Red
+ }
+ hasChange = true;
+ }
+ }
+
+ if (hasChange && mAdapter != null) {
+ mAdapter.notifyDataSetChanged();
+ appendLog("鑷缁撴灉宸叉洿鏂�");
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ appendLog("鑷鏁版嵁瑙f瀽寮傚父: " + e.getMessage());
+ }
+ }
+
+
+ private void sendCmdWithCrc(String cmd) {
+ if (!BleGlobalManager.getInstance().isConnected()) {
+ Toast.makeText(this, "璇峰厛杩炴帴钃濈墮", Toast.LENGTH_SHORT).show();
+ appendLog("閿欒: 钃濈墮鏈繛鎺�");
+ return;
+ }
+
+ byte[] cmdBytes = BleGlobalManager.hexStringToBytes(cmd);
+ if (cmdBytes != null) {
+ String crc = CRCutil.getCRC(cmdBytes);
+ // Pad CRC to 4 chars if needed
+ while (crc.length() < 4) {
+ crc = "0" + crc;
+ }
+ String fullCmd = cmd + crc.toUpperCase();
+
+ appendLog(fullCmd, true); // true for sent (Blue)
+ BleGlobalManager.getInstance().sendCmd(fullCmd);
+ } else {
+ appendLog("閿欒: 鎸囦护杞崲澶辫触");
+ }
+ }
+
+ private void handleThresholdWrite() {
+ int position = sp_threshold_mode.getSelectedItemPosition();
+ String inputValue = et_threshold_value.getText().toString().trim();
+ String modeHex = "";
+ String valueHex = "";
+
+ if (position == 0) { // 涓�閿瀹�
+ modeHex = "00";
+ valueHex = "00";
+ } else if (position == 1) { // 鍗曞眰璁惧畾
+ modeHex = "01";
+ if (inputValue.isEmpty()) {
+ Toast.makeText(this, "璇疯緭鍏ラ槇鍊�(1-30)", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ try {
+ int val = Integer.parseInt(inputValue);
+ if (val < 1 || val > 30) {
+ Toast.makeText(this, "闃堝�艰寖鍥�1-30", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ valueHex = String.format("%02X", val);
+ } catch (NumberFormatException e) {
+ Toast.makeText(this, "杈撳叆鏍煎紡閿欒", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ } else {
+ return;
+ }
+
+ // Construct pending command: CMD (32) + Len (02) + Mode + Value
+ // CMD.WRITE_THRESHOLD_SETTING is "A55A063202"
+ pendingSettingCmd = CMD.WRITE_THRESHOLD_SETTING + modeHex + valueHex;
+ sendCmdWithCrc(pendingSettingCmd);
+ }
+
+ private void handleSensitivityWrite() {
+ int position = sp_sensitivity_mode.getSelectedItemPosition();
+ String inputValue = et_sensitivity_value.getText().toString().trim();
+ String modeHex = "";
+ String valueHex = "";
+
+ // 0: 鎵归噺澧炲姞(00), 1: 鎵归噺鍑忓皯(01), 2: 鍗曞眰澧炲姞(02), 3: 鍗曞眰鍑忓皯(03)
+ if (position == 0) {
+ modeHex = "00";
+ valueHex = "00";
+ } else if (position == 1) {
+ modeHex = "01";
+ valueHex = "00";
+ } else if (position == 2) {
+ modeHex = "02";
+ } else if (position == 3) {
+ modeHex = "03";
+ } else {
+ return;
+ }
+
+ if (position == 2 || position == 3) {
+ if (inputValue.isEmpty()) {
+ Toast.makeText(this, "璇疯緭鍏ユ暟鍊�(1-30)", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ try {
+ int val = Integer.parseInt(inputValue);
+ if (val < 1 || val > 30) {
+ Toast.makeText(this, "鏁板�艰寖鍥�1-30", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ valueHex = String.format("%02X", val);
+ } catch (NumberFormatException e) {
+ Toast.makeText(this, "杈撳叆鏍煎紡閿欒", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ }
+
+ // Construct pending command: CMD (33) + Len (02) + Mode + Value
+ // CMD.WRITE_SENSITIVITY_SETTING is "A55A063302"
+ pendingSettingCmd = CMD.WRITE_SENSITIVITY_SETTING + modeHex + valueHex;
+ sendCmdWithCrc(pendingSettingCmd);
+ }
+
+ private void updateBluetoothStatus() {
+ if (tv_right_text == null) return;
+ if (BleGlobalManager.getInstance().isConnected()) {
+ String name = "鏈煡璁惧";
+ if (BleGlobalManager.getInstance().getBluetoothLeDevice() != null) {
+ String deviceName = BleGlobalManager.getInstance().getBluetoothLeDevice().getName();
+ if (deviceName != null && !deviceName.isEmpty()) {
+ name = deviceName;
+ }
+ }
+ tv_right_text.setText(name);
+ } else {
+ tv_right_text.setText("鏈繛鎺�");
+ }
+ }
+
+ private void showResetConfirmDialog(String message, final String cmd) {
+ new AlertDialog.Builder(this)
+ .setTitle("鎻愮ず")
+ .setMessage(message)
+ .setPositiveButton("纭畾", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ pendingSettingCmd = cmd;
+ sendCmdWithCrc(cmd);
+ }
+ })
+ .setNegativeButton("鍙栨秷", null)
+ .show();
+ }
+
+ // Inner classes
+
+ private static class BoxStatus {
+ int id;
+ // -1: Unknown/Initial (White), 0: Fail (Red), 1: Success (Green)
+ int checkResult = -1;
+
+ public BoxStatus(int id) {
+ this.id = id;
+ this.checkResult = -1;
+ }
+ }
+
+ private class GridAdapter extends RecyclerView.Adapter<GridAdapter.ViewHolder> {
+
+ @NonNull
+ @Override
+ public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_grid_box, parent, false);
+ return new ViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
+ // Calculate Box ID based on 3 rows of 10, Right to Left logic as seen in image
+ // Row 1 (pos 0-9): 10 ... 1
+ // Row 2 (pos 10-19): 20 ... 11
+ // Row 3 (pos 20-29): 30 ... 21
+
+ int row = position / 10;
+ int col = position % 10;
+ int boxId = (row + 1) * 10 - col;
+
+ holder.tvBoxNumber.setText(String.valueOf(boxId));
+
+ // Find status for this box
+ BoxStatus status = null;
+ for (BoxStatus s : boxStatusList) {
+ if (s.id == boxId) {
+ status = s;
+ break;
+ }
+ }
+
+ if (status != null) {
+ if (status.checkResult == 1) {
+ // Success
+ holder.viewBox.setBackgroundResource(R.drawable.bg_box_full); // Green
+ } else if (status.checkResult == 0) {
+ // Fail
+ holder.viewBox.setBackgroundResource(R.drawable.bg_box_error); // Red
+ } else {
+ // Unknown / Initial
+ holder.viewBox.setBackgroundResource(R.drawable.bg_box_empty); // White
+ }
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return 30;
+ }
+
+ class ViewHolder extends RecyclerView.ViewHolder {
+ TextView tvBoxNumber;
+ View viewBox;
+
+ public ViewHolder(@NonNull View itemView) {
+ super(itemView);
+ tvBoxNumber = itemView.findViewById(R.id.tv_box_number);
+ viewBox = itemView.findViewById(R.id.view_box);
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/activity/TestActivity.java b/app/src/main/java/com/shlb/comb/activity/TestActivity.java
new file mode 100644
index 0000000..d0ab2ae
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/activity/TestActivity.java
@@ -0,0 +1,357 @@
+package com.shlb.comb.activity;
+
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCallback;
+import android.bluetooth.BluetoothGattCharacteristic;
+import android.bluetooth.BluetoothGattService;
+import android.bluetooth.BluetoothGattDescriptor;
+import android.bluetooth.BluetoothProfile;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
+import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
+import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
+import com.shlb.comb.R;
+import com.shlb.comb.base.BaseActivity;
+import com.shlb.comb.event.UpdateEvent;
+import com.shlb.comb.util.Singletion;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+public class TestActivity extends BaseActivity {
+
+ private TextView tvStatus;
+ private TextView tvSelectedService;
+ private QMUIGroupListView mGroupListView;
+ private EditText etCommand;
+ private Button btnSend;
+ private TextView tvLog;
+
+ private BluetoothConnectManager connectManager;
+ private BluetoothLeDevice mDevice;
+ private BluetoothGatt mGatt;
+ private BluetoothGattCharacteristic selectedCharacteristic;
+
+ // Store pairs of (Characteristic, UI Item) if needed, or just list
+ private List<BluetoothGattCharacteristic> writeableCharacteristics = new ArrayList<>();
+
+ @Override
+ protected void contentView() {
+ setContentView(R.layout.activity_test);
+ }
+
+ @Override
+ protected void initView() {
+ super.initHead();
+ tv_center.setText("钃濈墮娴嬭瘯");
+ if (iv_left != null) {
+ iv_left.setImageDrawable(getResources().getDrawable(R.mipmap.icon_back));
+ iv_left.setOnClickListener(v -> finish());
+ }
+
+ tvStatus = findViewById(R.id.tv_status);
+ tvSelectedService = findViewById(R.id.tv_selected_service);
+ mGroupListView = findViewById(R.id.groupListView);
+ etCommand = findViewById(R.id.et_command);
+ btnSend = findViewById(R.id.btn_send);
+ tvLog = findViewById(R.id.tv_log);
+ }
+
+ @Override
+ protected void initData() {
+ mDevice = Singletion.getInstance().mDevice;
+ if (mDevice == null) {
+ appendLog("鏈�夋嫨璁惧!");
+ return;
+ }
+ initConn(mDevice);
+ }
+
+ @Override
+ protected void initEvent() {
+ btnSend.setOnClickListener(v -> {
+ String cmd = etCommand.getText().toString().trim();
+ if (TextUtils.isEmpty(cmd)) {
+ Toast("璇疯緭鍏ユ寚浠�");
+ return;
+ }
+ if (selectedCharacteristic == null) {
+ Toast("璇烽�夋嫨涓�涓湇鍔�/鐗瑰緛鍊�");
+ return;
+ }
+ sendCmd(cmd);
+ });
+ }
+
+ private void initConn(BluetoothLeDevice device) {
+ appendLog("姝e湪杩炴帴 " + device.getAddress() + "...");
+ connectManager = BluetoothConnectManager.getInstance(this);
+ connectManager.addConnectStateListener(stateListener);
+ connectManager.setBluetoothGattCallback(new BluetoothGattCallback() {
+ @Override
+ public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
+ super.onConnectionStateChange(gatt, status, newState);
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.CONN_STATU, newState, "conn_statu"));
+ if (newState == BluetoothProfile.STATE_CONNECTED) {
+ mGatt = gatt;
+ }
+ }
+
+ @Override
+ public void onServicesDiscovered(BluetoothGatt gatt, int status) {
+ super.onServicesDiscovered(gatt, status);
+ if (status == BluetoothGatt.GATT_SUCCESS) {
+ runOnUiThread(() -> processServices(gatt.getServices()));
+ }
+ }
+
+ @Override
+ public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
+ super.onCharacteristicWrite(gatt, characteristic, status);
+ String msg = (status == BluetoothGatt.GATT_SUCCESS) ? "鍐欏叆鎴愬姛" : "鍐欏叆澶辫触";
+ String uuid = characteristic.getUuid().toString().substring(0, 8);
+ runOnUiThread(() -> appendLog(msg + " (" + uuid + ")"));
+ }
+
+ @Override
+ public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
+ super.onCharacteristicChanged(gatt, characteristic);
+ byte[] value = characteristic.getValue();
+ String hex = bytesToHexString(value);
+ String uuid = characteristic.getUuid().toString().substring(0, 8);
+ runOnUiThread(() -> appendLog("鏀跺埌(" + uuid + "): " + hex));
+
+ }
+ });
+ connectManager.connect(device.getAddress());
+ }
+
+ private ConnectStateListener stateListener = new ConnectStateListener() {
+ @Override
+ public void onConnectStateChanged(String address, ConnectState state) {
+ runOnUiThread(() -> {
+ String stateStr = "";
+ switch (state) {
+ case CONNECTED: stateStr = "宸茶繛鎺�"; break;
+ case CONNECTING: stateStr = "杩炴帴涓�"; break;
+ case NORMAL: stateStr = "宸叉柇寮�"; break;
+ default: stateStr = state.toString();
+ }
+ tvStatus.setText("鐘舵��: " + stateStr);
+ appendLog("鐘舵�佸彉鏇�: " + stateStr);
+ });
+ }
+ };
+
+ private void processServices(List<BluetoothGattService> services) {
+ writeableCharacteristics.clear();
+ int size = QMUIDisplayHelper.dp2px(this, 20);
+ QMUIGroupListView.Section section = QMUIGroupListView.newSection(this)
+ .setTitle("鍙啓鏈嶅姟鍒楄〃")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT);
+
+ for (BluetoothGattService service : services) {
+ for (BluetoothGattCharacteristic characteristic : service.getCharacteristics()) {
+ int props = characteristic.getProperties();
+ // Filter for Write properties
+ if ((props & BluetoothGattCharacteristic.PROPERTY_WRITE) > 0 ||
+ (props & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) > 0) {
+
+ writeableCharacteristics.add(characteristic);
+
+ String propertyStr = getPropertyString(props);
+ String uuidFull = characteristic.getUuid().toString();
+
+ QMUICommonListItemView item = mGroupListView.createItemView(null,
+ "UUID: " + uuidFull,
+ propertyStr,
+ QMUICommonListItemView.VERTICAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_NONE);
+
+ item.setTag(characteristic);
+
+ section.addItemView(item, v -> {
+ if (v.getTag() instanceof BluetoothGattCharacteristic) {
+ handleCharacteristicSelection((BluetoothGattCharacteristic) v.getTag());
+ }
+ });
+ }
+ }
+ }
+
+ section.addTo(mGroupListView);
+
+ if (!writeableCharacteristics.isEmpty()) {
+ // Default select first
+ handleCharacteristicSelection(writeableCharacteristics.get(0));
+ } else {
+ appendLog("鏈壘鍒板彲鍐欑壒寰佸��.");
+ }
+ }
+
+ private void handleCharacteristicSelection(BluetoothGattCharacteristic characteristic) {
+ selectedCharacteristic = characteristic;
+ tvSelectedService.setText("褰撳墠閫夋嫨鏈嶅姟: " + selectedCharacteristic.getUuid().toString());
+ appendLog("宸查�夋嫨鐗瑰緛鍊�: " + selectedCharacteristic.getUuid());
+ Toast("宸查�夋嫨璇ユ湇鍔�");
+
+ // Attempt to find and enable notification on a characteristic in the same service
+ BluetoothGattService service = characteristic.getService();
+ boolean foundNotify = false;
+ for (BluetoothGattCharacteristic c : service.getCharacteristics()) {
+ int props = c.getProperties();
+ if ((props & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0 ||
+ (props & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0) {
+ appendLog("灏濊瘯鍚敤閫氱煡: " + c.getUuid());
+ enableNotification(c);
+ foundNotify = true;
+ // Found one, stop searching to avoid concurrent descriptor writes
+ break;
+ }
+ }
+
+ if (!foundNotify) {
+ appendLog("褰撳墠鏈嶅姟鏈壘鍒板彲閫氱煡鐨勭壒寰佸��");
+ }
+ }
+
+ private String getPropertyString(int property) {
+ StringBuilder sb = new StringBuilder();
+ if ((property & BluetoothGattCharacteristic.PROPERTY_READ) > 0) {
+ sb.append("璇� ");
+ }
+ if ((property & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) > 0
+ || (property & BluetoothGattCharacteristic.PROPERTY_WRITE) > 0) {
+ sb.append("鍐� ");
+ }
+ if ((property & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) {
+ sb.append("閫氱煡 ");
+ }
+ if ((property & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0) {
+ sb.append("鎸囩ず ");
+ }
+ return sb.toString();
+ }
+
+ private void enableNotification(BluetoothGattCharacteristic characteristic) {
+ if (mGatt == null || characteristic == null) return;
+
+ boolean success = mGatt.setCharacteristicNotification(characteristic, true);
+ if (success) {
+ appendLog("鍚敤閫氱煡鐩戝惉鎴愬姛");
+
+ // Write Descriptor for Notify/Indicate
+ BluetoothGattDescriptor descriptor = characteristic.getDescriptor(
+ UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"));
+
+ if (descriptor != null) {
+ int props = characteristic.getProperties();
+ byte[] value = null;
+ if ((props & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) {
+ value = BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE;
+ } else if ((props & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0) {
+ value = BluetoothGattDescriptor.ENABLE_INDICATION_VALUE;
+ }
+
+ if (value != null) {
+ descriptor.setValue(value);
+ boolean writeDesc = mGatt.writeDescriptor(descriptor);
+ appendLog("鍐欏叆Descriptor: " + writeDesc);
+ }
+ }
+ } else {
+ appendLog("鍚敤閫氱煡鐩戝惉澶辫触!");
+ }
+ }
+
+ private void sendCmd(String hexCmd) {
+ if (selectedCharacteristic == null || mGatt == null) return;
+
+ byte[] data = hexStringToBytes(hexCmd);
+ if (data == null) {
+ Toast("Hex鎸囦护鏍煎紡閿欒");
+ return;
+ }
+
+ selectedCharacteristic.setValue(data);
+ boolean status = mGatt.writeCharacteristic(selectedCharacteristic);
+ appendLog("鍙戦��: " + hexCmd + ", 缁撴灉: " + status);
+ }
+
+ private void appendLog(String msg) {
+ tvLog.append(msg + "\n");
+ ((View)tvLog.getParent()).post(() -> ((View)tvLog.getParent()).scrollTo(0, tvLog.getBottom()));
+ }
+
+ public static byte[] hexStringToBytes(String hexString) {
+ if (hexString == null || hexString.equals("")) {
+ return null;
+ }
+ hexString = hexString.toUpperCase();
+ hexString = hexString.replace(" ", "");
+ if (hexString.length() % 2 != 0) {
+ hexString = "0" + hexString;
+ }
+
+ int length = hexString.length() / 2;
+ char[] hexChars = hexString.toCharArray();
+ byte[] d = new byte[length];
+ for (int i = 0; i < length; i++) {
+ int pos = i * 2;
+ d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
+ }
+ return d;
+ }
+
+ private static byte charToByte(char c) {
+ return (byte) "0123456789ABCDEF".indexOf(c);
+ }
+
+ public static String bytesToHexString(byte[] src) {
+ StringBuilder stringBuilder = new StringBuilder("");
+ if (src == null || src.length <= 0) {
+ return null;
+ }
+ for (int i = 0; i < src.length; i++) {
+ int v = src[i] & 0xFF;
+ String hv = Integer.toHexString(v);
+ if (hv.length() < 2) {
+ stringBuilder.append(0);
+ }
+ stringBuilder.append(hv);
+ }
+ return stringBuilder.toString().toUpperCase();
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEventRefresh(UpdateEvent event) {
+ // Handle global events if necessary
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (connectManager != null && mDevice != null) {
+ connectManager.removeConnectStateListener(stateListener);
+ connectManager.disconnect(mDevice.getAddress());
+ }
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/activity/WriteActivity.java b/app/src/main/java/com/shlb/comb/activity/WriteActivity.java
new file mode 100644
index 0000000..af7e1e4
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/activity/WriteActivity.java
@@ -0,0 +1,627 @@
+package com.shlb.comb.activity;
+
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCharacteristic;
+import android.bluetooth.BluetoothGattService;
+import android.text.InputType;
+import android.util.Log;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+import com.blankj.utilcode.util.LogUtils;
+import com.blankj.utilcode.util.ThreadUtils;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
+import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
+import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
+import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+import com.shlb.comb.R;
+import com.shlb.comb.base.BaseActivity;
+import com.shlb.comb.event.UpdateEvent;
+import com.shlb.comb.util.CMD;
+import com.shlb.comb.util.CRCutil;
+import com.shlb.comb.util.Singletion;
+
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+public class WriteActivity extends BaseActivity {
+
+ QMUIGroupListView mGroupListView;
+
+ QMUIRoundButton send;
+
+ LinearLayout llRoot;
+
+ TextView sendNum;
+
+
+ private BluetoothConnectManager connectManager;
+ private BluetoothGatt gatt;
+
+ private BluetoothGattCharacteristic characteristic;
+
+
+ @Override
+ protected void contentView() {
+ setContentView(R.layout.activity_write);
+
+ }
+
+ @Override
+ protected void initView() {
+ super.initHead();
+ mGroupListView = findViewById(R.id.groupListView);
+ send = findViewById(R.id.send);
+ llRoot = findViewById(R.id.ll_root);
+ sendNum = findViewById(R.id.sendNum);
+ initTitlebar();
+ tv_center.setText("缂栧潃");
+ initGroupListView();
+
+ }
+
+ @Override
+ protected void initData() {
+ String uuid = Singletion.getInstance().uuid;
+ initWrite(uuid);
+
+
+ }
+
+ @Override
+ protected void initEvent() {
+ send.setOnClickListener(this);
+
+ }
+
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.iv_left) {
+ finish();
+ } else if (id == R.id.btnExit) {
+ writeCmd(CMD.EXIT);
+ } else if (id == R.id.btnInto) {
+ writeCmd(CMD.GETINTO);
+ } else if (id == R.id.btnClean) {
+ writeCmd(CMD.CLEAN);
+ } else if (id == R.id.btn1) {
+ sendYJCmd(1);
+ } else if (id == R.id.btn2) {
+ sendYJCmd(2);
+ } else if (id == R.id.btn3) {
+ sendYJCmd(3);
+ } else if (id == R.id.btn4) {
+ sendYJCmd(4);
+ } else if (id == R.id.btn5) {
+ sendYJCmd(5);
+ } else if (id == R.id.btn6) {
+ sendYJCmd(6);
+ } else if (id == R.id.btn7) {
+ sendYJCmd(7);
+ } else if (id == R.id.btn8) {
+ sendYJCmd(8);
+ } else if (id == R.id.btn9) {
+ sendYJCmd(9);
+ } else if (id == R.id.btn10) {
+ sendYJCmd(10);
+ } else if (id == R.id.btn11) {
+ sendYJCmd(11);
+ } else if (id == R.id.btn12) {
+ sendYJCmd(12);
+ } else if (id == R.id.btn13) {
+ sendYJCmd(13);
+ } else if (id == R.id.btn14) {
+ sendYJCmd(14);
+ } else if (id == R.id.btn15) {
+ sendYJCmd(15);
+ } else if (id == R.id.btn16) {
+ sendYJCmd(16);
+ } else if (id == R.id.send) {
+ switch (curCmd) {
+ case -1:
+ Toast("璇烽�夋嫨鎸囦护!");
+ break;
+ case 1:
+ //杩涘叆缂栧潃
+ writeCmd(CMD.GETINTO);
+ break;
+ case 2:
+ //娓呴櫎鍦板潃
+ writeCmd(CMD.CLEAN);
+ break;
+ case 3:
+ String addrNos = item3.getDetailText().toString();
+ Integer addrNo = -1;
+ try {
+ addrNo = Integer.parseInt(addrNos);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (addrNo == -1) {
+ Toast("鍦板潃鏁版嵁寮傚父");
+ return;
+
+ }
+ String sNo = Integer.toHexString(addrNo);
+ if (sNo.length() < 2) {
+ sNo = "0" + sNo;
+ }
+
+ String cmd = CMD.ADDR_PREFIX + sNo + CMD.ADDR_SUFFIX;
+ byte[] bytes = invertStringToBytes(cmd);
+ String crc = CRCutil.getCRC(bytes);
+ String zl = cmd + crc;
+ LogUtils.e("reszl", zl);
+ writeCmd(zl);
+ Toast("缂栧潃鎸囦护宸插彂閫侊紒");
+ break;
+ case 4:
+ //閫�鍑虹紪鍧�
+ writeCmd(CMD.EXIT);
+ break;
+ case 5:
+ String addrNos2 = item5.getDetailText().toString();
+ Integer addrNo2 = -1;
+ try {
+ addrNo2 = Integer.parseInt(addrNos2);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ final Integer no2 = addrNo2;
+ if (no2 == -1) {
+ Toast("鍦板潃鏁版嵁寮傚父");
+ return;
+
+ }
+
+ ThreadUtils.executeBySingle(new ThreadUtils.SimpleTask<Object>() {
+ @Override
+ public Object doInBackground() throws Throwable {
+ writeCmd(CMD.GETINTO);
+ Thread.sleep(200);
+
+ writeCmd(CMD.CLEAN);
+ Thread.sleep(200);
+
+ String sNo2 = Integer.toHexString(no2);
+ //
+ if (sNo2.length() < 2) {
+ sNo2 = "0" + sNo2;
+ }
+
+ String cmd = CMD.ADDR_PREFIX + sNo2 + CMD.ADDR_SUFFIX;
+ byte[] bytes = invertStringToBytes(cmd);
+ String crc = CRCutil.getCRC(bytes);
+ String zl = cmd + crc;
+ LogUtils.e("reszl", zl);
+ Thread.sleep(200);
+ writeCmd(zl);
+
+ return null;
+ }
+
+ @Override
+ public void onSuccess(Object result) {
+
+ }
+ });
+ Toast("缂栧潃鎸囦护宸插彂閫侊紒");
+ break;
+ }
+ }
+ }
+
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEventReceiveNotify(UpdateEvent event) {
+ if (event != null && event.getType() == UpdateEvent.Type.BLE_DATA) {
+ BluetoothGattCharacteristic characteristic = (BluetoothGattCharacteristic) event.getObj();
+ final byte[] dataArr = characteristic.getValue();
+ final String flag = event.getMsg();
+ if (dataArr != null && dataArr.length > 0) {
+ if (flag.equals("read")) {
+ } else if (flag.equals("write")) {
+ } else if (flag.equals("notify")) {
+ //杩斿洖缁撴灉
+ String crc = CRCutil.getCRC(dataArr);
+ LogUtils.e("resCRC", crc);
+ //CRC璁$畻缁撴灉涓�0鏃跺懡浠ゆ墽琛屾垚鍔燂紝鑷姩鎵ц閫�鍑哄懡浠�
+ if (crc.equals("0")) {
+ writeCmd(CMD.EXIT);
+ Toast("鎿嶄綔鎴愬姛锛岃嚜鍔ㄦ墽琛岄��鍑虹紪鍧�鎸囦护");
+ curCmd = -1;
+ item6.setText("缂栧潃鎴愬姛");
+ }
+ //璁$畻杩斿洖涓�0鏃� 鑷姩閫�鍑�
+
+ LogUtils.e("res", ByteUtils.byteArrayToHexString(dataArr));
+ } else {
+
+ Toast("瑙f瀽杩斿洖淇℃伅澶辫触锛�");
+ }
+ } else {
+ Toast("杩斿洖淇℃伅涓虹┖锛�");
+ }
+ }
+ }
+
+ QMUICommonListItemView item1;
+ QMUICommonListItemView item2;
+ QMUICommonListItemView item3;
+ QMUICommonListItemView item4;
+ QMUICommonListItemView item5;
+ QMUICommonListItemView item6;
+ View.OnClickListener onClickListener;
+ int curCmd = -1;
+
+ String[] cmdName = {"杩涘叆缂栧潃", "娓呴櫎鍦板潃", "缂栬緫鍦板潃", "閫�鍑虹紪鍧�", "涓�閿紪鍧�"};
+
+ private void initGroupListView() {
+ item1 = mGroupListView.createItemView(null,
+ cmdName[0], "",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+ item2 = mGroupListView.createItemView(null,
+ cmdName[1], "",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+ item3 = mGroupListView.createItemView(null,
+ cmdName[2], "鐐瑰嚮閫夋嫨缂栧彿",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+ item4 = mGroupListView.createItemView(null,
+ cmdName[3], "",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+
+ onClickListener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (v instanceof QMUICommonListItemView) {
+ CharSequence text = ((QMUICommonListItemView) v).getText();
+ //杩涘叆缂栧潃
+ if (text.equals(cmdName[0])) {
+ curCmd = 1;
+ item6.setText(cmdName[0]);
+ item6.setDetailText("");
+ //娓呴櫎鍦板潃
+ } else if (text.equals(cmdName[1])) {
+ curCmd = 2;
+ item6.setText(cmdName[1]);
+ item6.setDetailText("");
+ //缂栬緫鍦板潃
+ } else if (text.equals(cmdName[2])) {
+ showEditTextDialog();
+ //閫�鍑虹紪鍧�
+ } else if (text.equals(cmdName[3])) {
+ curCmd = 4;
+ item6.setText(cmdName[3]);
+ item6.setDetailText("");
+ //涓�閿紪鍧�
+ } else if (text.equals(cmdName[4])) {
+ showQuickDialog();
+ }
+
+
+ }
+ }
+ };
+
+ int size = QMUIDisplayHelper.dp2px(this, 20);
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section 1:鎿嶄綔鎸囦护")
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(item1, onClickListener)
+ .addItemView(item2, onClickListener)
+ .addItemView(item3, onClickListener)
+ .addItemView(item4, onClickListener)
+ .addTo(mGroupListView);
+
+ item5 = mGroupListView.createItemView(cmdName[4]);
+ item5.setOrientation(QMUICommonListItemView.VERTICAL);
+ item5.setDetailText("杩涘叆-娓呴櫎-缂栧潃-閫�鍑�");
+ item5.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+ item6 = mGroupListView.createItemView("寰呴�夋嫨");
+ item6.setOrientation(QMUICommonListItemView.HORIZONTAL);
+
+
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section 2:蹇嵎鎸囦护")
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(item5, onClickListener)
+ .addTo(mGroupListView);
+
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section 3:褰撳墠鎸囦护")
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(item6, onClickListener)
+ .addTo(mGroupListView);
+
+ }
+
+ /**
+ * 鍒濆鍖栧啓鍏ユ湇鍔�
+ *
+ * @param uu
+ */
+ private void initWrite(String uu) {
+ BluetoothLeDevice mDevice = Singletion.getInstance().mDevice;
+ connectManager = BluetoothConnectManager.getInstance(this);
+ connectManager.addConnectStateListener(listener);
+ String uuid = uu;
+ UUID serverUUid = null;
+ gatt = connectManager.getBluetoothGatt(mDevice.getAddress());
+ if (gatt != null) {
+ List<BluetoothGattService> list = gatt.getServices();
+ if (list != null) {
+ for (BluetoothGattService service : list) {
+ for (BluetoothGattCharacteristic characteristics : service.getCharacteristics()) {
+ if (characteristics.getUuid().toString().equals(uuid)) {
+ characteristic = characteristics;
+ serverUUid = service.getUuid();
+ break;
+ }
+ }
+ }
+ }
+ }
+ if (serverUUid == null) {
+ Toast("serverUUid涓嶈兘涓虹┖!");
+ return;
+ }
+ //1.set service uuid
+ connectManager.setServiceUUID(serverUUid.toString());
+ //2.clean history descriptor data
+ connectManager.cleanSubscribeData();
+ //3.add subscribe params
+ if (BluetoothUtils.isCharacteristicRead(characteristic.getProperties())) {
+ connectManager.addBluetoothSubscribeData(
+ new BluetoothSubScribeData.Builder().setCharacteristicRead(characteristic.getUuid()).build());
+ }
+ if (BluetoothUtils.isCharacteristicNotify(characteristic.getProperties())) {
+ connectManager.addBluetoothSubscribeData(
+ new BluetoothSubScribeData.Builder().setCharacteristicNotify(characteristic.getUuid()).build()
+ );
+ }
+
+ connectManager.startSubscribe(gatt);
+ }
+
+ private void writeCmd(String cmd) {
+ int len = cmd.length();
+ if (len > 0 && len % 2 == 0) {
+ byte[] bytes = invertStringToBytes(cmd);
+ if (bytes != null) {
+ characteristic.setValue(bytes);
+ gatt.writeCharacteristic(characteristic);
+ runOnUiThread(() -> {
+ item6.setDetailText(item6.getDetailText() + " 宸插彂閫�");
+ });
+ } else {
+ Log.e("tag", "write value fail");
+ }
+ } else {
+
+ runOnUiThread(() -> {
+ Toast("鎸囦护閿欒锛�");
+ });
+ }
+ }
+
+ private byte[] invertStringToBytes(String value) {
+ int len = value.length() / 2;
+ if (len > 0) {
+ byte[] bytes = new byte[len];
+ for (int i = 0; i < len; i++) {
+ Integer val = Integer.valueOf(value.substring(i * 2, i * 2 + 2), 16);
+ bytes[i] = val.byteValue();
+ }
+ return bytes;
+ }
+ return null;
+ }
+
+ private List<Map<String, Object>> getWriteData() {
+ List<Map<String, Object>> res = new ArrayList<>();
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("name", "杩涘叆缂栧潃鐘舵��");
+ map1.put("flag", "0");
+ map1.put("value", "A55A060100000000002F35");
+ res.add(map1);
+ Map<String, Object> map2 = new HashMap<>();
+ map2.put("name", "閫�鍑虹紪鍧�鐘舵��");
+ map2.put("flag", "0");
+ map2.put("value", "A55A060400000000002F60");
+ res.add(map2);
+ Map<String, Object> map3 = new HashMap<>();
+ map3.put("name", "缂栧潃");
+ map3.put("flag", "0");
+ map3.put("value", "A55A060300020000002F6F");
+ res.add(map3);
+ Map<String, Object> map4 = new HashMap<>();
+ map4.put("name", "娓呴櫎鍦板潃");
+ map4.put("flag", "0");
+ map4.put("value", "A55A060200000000002F06");
+ res.add(map4);
+ return res;
+
+ }
+
+ private ConnectStateListener listener = new ConnectStateListener() {
+ @Override
+ public void onConnectStateChanged(String address, ConnectState state) {
+ switch (state) {
+ case CONNECTED:
+ break;
+ case CONNECTING:
+ break;
+ case NORMAL:
+ break;
+ }
+ }
+ };
+
+ /**
+ * 杈撳叆缂栧潃搴忓彿鍚� 鎵ц缂栧潃鎸囦护
+ */
+ private void showEditTextDialog() {
+ final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
+ builder.setTitle("鎻愮ず")
+ .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
+ .setInputType(InputType.TYPE_CLASS_TEXT)
+ .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ dialog.dismiss();
+ }
+ })
+ .addAction("纭畾", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ String text = builder.getEditText().getText().toString();
+ Integer res = -1;
+ try {
+ res = Integer.parseInt(text);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (res == null || res < 0 || res > 16) {
+ Toast("璇疯緭鍏�1-16鏁板瓧");
+ } else {
+ item3.setDetailText(text);
+ curCmd = 3;
+ item6.setText(cmdName[2]);
+ item6.setDetailText(text);
+ dialog.dismiss();
+
+ }
+
+
+ }
+ })
+ .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
+ }
+
+ /**
+ * 杈撳叆缂栧潃搴忓彿鍚� 涓�閿墽琛屾墍鏈夋寚浠�
+ */
+ private void showQuickDialog() {
+ final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
+ builder.setTitle("鎻愮ず")
+ .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
+ .setInputType(InputType.TYPE_CLASS_TEXT)
+ .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ dialog.dismiss();
+ }
+ })
+ .addAction("纭畾", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ String text = builder.getEditText().getText().toString();
+ Integer addrrNo = -1;
+ try {
+ addrrNo = Integer.parseInt(text);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (addrrNo == null || addrrNo < 0 || addrrNo > 16) {
+ Toast("璇疯緭鍏�1-16鏁板瓧");
+ } else {
+ curCmd = 5;
+ item5.setDetailText(text);
+ item6.setText(cmdName[4]);
+ item6.setDetailText(text);
+ dialog.dismiss();
+
+
+ }
+
+
+ }
+ })
+ .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
+ }
+
+ public void initTitlebar() {
+ iv_right.setVisibility(View.VISIBLE);
+ iv_left.setImageDrawable(getResources().getDrawable(R.mipmap.icon_back));
+ iv_right.setImageDrawable(getResources().getDrawable(R.mipmap.icon_topbar_overflow));
+ }
+
+ /**
+ * 鍙戦�佷竴閿懡浠�
+ * @param no2
+ */
+ private void sendYJCmd(int no2){
+ sendNum.setText(no2+"");
+
+
+ if (no2 > 16|| no2<1 ) {
+ Toast("鍦板潃鏁版嵁寮傚父");
+ return;
+
+ }
+
+ ThreadUtils.executeBySingle(new ThreadUtils.SimpleTask<Object>() {
+ @Override
+ public Object doInBackground() throws Throwable {
+ writeCmd(CMD.GETINTO);
+ Thread.sleep(200);
+
+ writeCmd(CMD.CLEAN);
+ Thread.sleep(200);
+
+ String sNo2 = Integer.toHexString(no2);
+ //
+ if (sNo2.length() < 2) {
+ sNo2 = "0" + sNo2;
+ }
+
+ String cmd = CMD.ADDR_PREFIX + sNo2 + CMD.ADDR_SUFFIX;
+ byte[] bytes = invertStringToBytes(cmd);
+ String crc = CRCutil.getCRC(bytes);
+ String zl = cmd + crc;
+ LogUtils.e("reszl", zl);
+ Thread.sleep(200);
+ writeCmd(zl);
+
+ return null;
+ }
+
+ @Override
+ public void onSuccess(Object result) {
+
+ }
+ });
+ Toast("缂栧潃鎸囦护宸插彂閫侊紒");
+ }
+
+}
diff --git a/app/src/main/java/com/shlb/comb/activity/WriteActivity2.java b/app/src/main/java/com/shlb/comb/activity/WriteActivity2.java
new file mode 100644
index 0000000..0fee50d
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/activity/WriteActivity2.java
@@ -0,0 +1,531 @@
+package com.shlb.comb.activity;
+
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCharacteristic;
+import android.bluetooth.BluetoothGattService;
+import android.text.InputType;
+import android.util.Log;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+import com.blankj.utilcode.util.LogUtils;
+import com.blankj.utilcode.util.ThreadUtils;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
+import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
+import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
+import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+import com.shlb.comb.R;
+import com.shlb.comb.base.BaseActivity;
+import com.shlb.comb.event.UpdateEvent;
+import com.shlb.comb.util.CMD;
+import com.shlb.comb.util.CRCutil;
+import com.shlb.comb.util.Singletion;
+
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+public class WriteActivity2 extends BaseActivity {
+
+ QMUIGroupListView mGroupListView;
+
+ QMUIRoundButton send;
+
+ private BluetoothConnectManager connectManager;
+ private BluetoothGatt gatt;
+
+ private BluetoothGattCharacteristic characteristic;
+
+
+ @Override
+ protected void contentView() {
+ setContentView(R.layout.activity_write);
+
+ }
+
+ @Override
+ protected void initView() {
+ super.initHead();
+ mGroupListView = findViewById(R.id.groupListView);
+ send = findViewById(R.id.send);
+ initTitlebar();
+ tv_center.setText("缂栧潃");
+ initGroupListView();
+
+ }
+
+ @Override
+ protected void initData() {
+ String uuid = Singletion.getInstance().uuid;
+ initWrite(uuid);
+
+
+ }
+
+ @Override
+ protected void initEvent() {
+ send.setOnClickListener(this);
+
+ }
+
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.iv_left) {
+ finish();
+ } else if (id == R.id.iv_right) {
+ } else if (id == R.id.send) {
+ switch (curCmd){
+ case -1:
+ Toast("璇烽�夋嫨鎸囦护!");
+ break;
+ case 1:
+ //杩涘叆缂栧潃
+ writeCmd(CMD.GETINTO);
+ break;
+ case 2:
+ //娓呴櫎鍦板潃
+ writeCmd(CMD.CLEAN);
+ break;
+ case 3:
+ String addrNos = item3.getDetailText().toString();
+ Integer addrNo = -1;
+ try {
+ addrNo = Integer.parseInt(addrNos);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ if(addrNo == -1 ){
+ Toast("鍦板潃鏁版嵁寮傚父");
+ return;
+
+ }
+ String sNo = Integer.toHexString(addrNo);
+ if(sNo.length()<2){
+ sNo = "0" + sNo;
+ }
+
+ String cmd = CMD.ADDR_PREFIX + sNo + CMD.ADDR_SUFFIX;
+ byte[] bytes = invertStringToBytes(cmd);
+ String crc = CRCutil.getCRC(bytes);
+ String zl = cmd + crc;
+ LogUtils.e("reszl", zl);
+ writeCmd(zl);
+ Toast("缂栧潃鎸囦护宸插彂閫侊紒");
+ break;
+ case 4:
+ //閫�鍑虹紪鍧�
+ writeCmd(CMD.EXIT);
+ break;
+ case 5:
+ String addrNos2 = item5.getDetailText().toString();
+ Integer addrNo2 = -1;
+ try {
+ addrNo2 = Integer.parseInt(addrNos2);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ final Integer no2 = addrNo2;
+ if(no2 == -1 ){
+ Toast("鍦板潃鏁版嵁寮傚父");
+ return;
+
+ }
+
+ ThreadUtils.executeBySingle(new ThreadUtils.SimpleTask<Object>() {
+ @Override
+ public Object doInBackground() throws Throwable {
+ writeCmd(CMD.GETINTO);
+ Thread.sleep(200);
+
+ writeCmd(CMD.CLEAN);
+ Thread.sleep(200);
+
+ String sNo2 = Integer.toHexString(no2);
+ //
+ if(sNo2.length()<2){
+ sNo2 = "0" + sNo2;
+ }
+
+ String cmd = CMD.ADDR_PREFIX + sNo2 + CMD.ADDR_SUFFIX;
+ byte[] bytes = invertStringToBytes(cmd);
+ String crc = CRCutil.getCRC(bytes);
+ String zl = cmd + crc;
+ LogUtils.e("reszl", zl);
+ Thread.sleep(200);
+ writeCmd(zl);
+
+ return null;
+ }
+
+ @Override
+ public void onSuccess(Object result) {
+
+ }
+ });
+ Toast("缂栧潃鎸囦护宸插彂閫侊紒");
+ break;
+ }
+ }
+ }
+
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEventReceiveNotify(UpdateEvent event) {
+ if (event != null && event.getType() == UpdateEvent.Type.BLE_DATA) {
+ BluetoothGattCharacteristic characteristic = (BluetoothGattCharacteristic) event.getObj();
+ final byte[] dataArr = characteristic.getValue();
+ final String flag = event.getMsg();
+ if (dataArr != null && dataArr.length > 0) {
+ if (flag.equals("read")) {
+ } else if (flag.equals("write")) {
+ } else if (flag.equals("notify")) {
+ //杩斿洖缁撴灉
+ String crc = CRCutil.getCRC(dataArr);
+ LogUtils.e("resCRC", crc);
+ //CRC璁$畻缁撴灉涓�0鏃跺懡浠ゆ墽琛屾垚鍔燂紝鑷姩鎵ц閫�鍑哄懡浠�
+ if (crc.equals("0")) {
+ writeCmd(CMD.EXIT);
+ Toast("鎿嶄綔鎴愬姛锛岃嚜鍔ㄦ墽琛岄��鍑虹紪鍧�鎸囦护");
+ curCmd = -1;
+ item6.setText("缂栧潃鎴愬姛");
+ }
+ //璁$畻杩斿洖涓�0鏃� 鑷姩閫�鍑�
+
+ LogUtils.e("res", ByteUtils.byteArrayToHexString(dataArr));
+ } else {
+
+ Toast("瑙f瀽杩斿洖淇℃伅澶辫触锛�");
+ }
+ } else {
+ Toast("杩斿洖淇℃伅涓虹┖锛�");
+ }
+ }
+ }
+
+ QMUICommonListItemView item1;
+ QMUICommonListItemView item2;
+ QMUICommonListItemView item3;
+ QMUICommonListItemView item4;
+ QMUICommonListItemView item5;
+ QMUICommonListItemView item6;
+ View.OnClickListener onClickListener;
+ int curCmd = -1;
+
+ String[] cmdName = {"杩涘叆缂栧潃", "娓呴櫎鍦板潃", "缂栬緫鍦板潃", "閫�鍑虹紪鍧�", "涓�閿紪鍧�"};
+ private void initGroupListView() {
+ item1 = mGroupListView.createItemView(null,
+ cmdName[0], "",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+ item2 = mGroupListView.createItemView(null,
+ cmdName[1], "",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+ item3 = mGroupListView.createItemView(null,
+ cmdName[2], "鐐瑰嚮閫夋嫨缂栧彿",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+ item4 = mGroupListView.createItemView(null,
+ cmdName[3], "",
+ QMUICommonListItemView.HORIZONTAL,
+ QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+
+ onClickListener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (v instanceof QMUICommonListItemView) {
+ CharSequence text = ((QMUICommonListItemView) v).getText();
+ //杩涘叆缂栧潃
+ if (text.equals(cmdName[0])) {
+ curCmd = 1;
+ item6.setText(cmdName[0]);
+ item6.setDetailText("");
+ //娓呴櫎鍦板潃
+ } else if (text.equals(cmdName[1])) {
+ curCmd = 2;
+ item6.setText(cmdName[1]);
+ item6.setDetailText("");
+ //缂栬緫鍦板潃
+ } else if (text.equals(cmdName[2])) {
+ showEditTextDialog();
+ //閫�鍑虹紪鍧�
+ } else if (text.equals(cmdName[3])) {
+ curCmd = 4;
+ item6.setText(cmdName[3]);
+ item6.setDetailText("");
+ //涓�閿紪鍧�
+ }else if (text.equals(cmdName[4])) {
+ showQuickDialog();
+ }
+
+
+ }
+ }
+ };
+
+ int size = QMUIDisplayHelper.dp2px(this, 20);
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section 1:鎿嶄綔鎸囦护")
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(item1, onClickListener)
+ .addItemView(item2, onClickListener)
+ .addItemView(item3, onClickListener)
+ .addItemView(item4, onClickListener)
+ .addTo(mGroupListView);
+
+ item5 = mGroupListView.createItemView(cmdName[4]);
+ item5.setOrientation(QMUICommonListItemView.VERTICAL);
+ item5.setDetailText("杩涘叆-娓呴櫎-缂栧潃-閫�鍑�");
+ item5.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
+
+ item6 = mGroupListView.createItemView("寰呴�夋嫨");
+ item6.setOrientation(QMUICommonListItemView.HORIZONTAL);
+
+
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section 2:蹇嵎鎸囦护")
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(item5, onClickListener)
+ .addTo(mGroupListView);
+
+ QMUIGroupListView.newSection(this)
+ .setTitle("Section 3:褰撳墠鎸囦护")
+ .setDescription("")
+ .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
+ .addItemView(item6, onClickListener)
+ .addTo(mGroupListView);
+
+ }
+
+ /**
+ * 鍒濆鍖栧啓鍏ユ湇鍔�
+ *
+ * @param uu
+ */
+ private void initWrite(String uu) {
+ BluetoothLeDevice mDevice = Singletion.getInstance().mDevice;
+ connectManager = BluetoothConnectManager.getInstance(this);
+ connectManager.addConnectStateListener(listener);
+ String uuid = uu;
+ UUID serverUUid = null;
+ gatt = connectManager.getBluetoothGatt(mDevice.getAddress());
+ if (gatt != null) {
+ List<BluetoothGattService> list = gatt.getServices();
+ if (list != null) {
+ for (BluetoothGattService service : list) {
+ for (BluetoothGattCharacteristic characteristics : service.getCharacteristics()) {
+ if (characteristics.getUuid().toString().equals(uuid)) {
+ characteristic = characteristics;
+ serverUUid = service.getUuid();
+ break;
+ }
+ }
+ }
+ }
+ }
+ if (serverUUid == null) {
+ Toast("serverUUid涓嶈兘涓虹┖!");
+ return;
+ }
+ //1.set service uuid
+ connectManager.setServiceUUID(serverUUid.toString());
+ //2.clean history descriptor data
+ connectManager.cleanSubscribeData();
+ //3.add subscribe params
+ if (BluetoothUtils.isCharacteristicRead(characteristic.getProperties())) {
+ connectManager.addBluetoothSubscribeData(
+ new BluetoothSubScribeData.Builder().setCharacteristicRead(characteristic.getUuid()).build());
+ }
+ if (BluetoothUtils.isCharacteristicNotify(characteristic.getProperties())) {
+ connectManager.addBluetoothSubscribeData(
+ new BluetoothSubScribeData.Builder().setCharacteristicNotify(characteristic.getUuid()).build()
+ );
+ }
+
+ connectManager.startSubscribe(gatt);
+ }
+
+ private void writeCmd(String cmd) {
+ int len = cmd.length();
+ if (len > 0 && len % 2 == 0) {
+ byte[] bytes = invertStringToBytes(cmd);
+ if (bytes != null) {
+ characteristic.setValue(bytes);
+ gatt.writeCharacteristic(characteristic);
+ runOnUiThread(()->{
+ item6.setDetailText(item6.getDetailText()+" 宸插彂閫�");
+ });
+ } else {
+ Log.e("tag", "write value fail");
+ }
+ } else {
+
+ runOnUiThread(()->{
+ Toast("鎸囦护閿欒锛�");
+ });
+ }
+ }
+
+ private byte[] invertStringToBytes(String value) {
+ int len = value.length() / 2;
+ if (len > 0) {
+ byte[] bytes = new byte[len];
+ for (int i = 0; i < len; i++) {
+ Integer val = Integer.valueOf(value.substring(i * 2, i * 2 + 2), 16);
+ bytes[i] = val.byteValue();
+ }
+ return bytes;
+ }
+ return null;
+ }
+
+ private List<Map<String, Object>> getWriteData() {
+ List<Map<String, Object>> res = new ArrayList<>();
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("name", "杩涘叆缂栧潃鐘舵��");
+ map1.put("flag", "0");
+ map1.put("value", "A55A060100000000002F35");
+ res.add(map1);
+ Map<String, Object> map2 = new HashMap<>();
+ map2.put("name", "閫�鍑虹紪鍧�鐘舵��");
+ map2.put("flag", "0");
+ map2.put("value", "A55A060400000000002F60");
+ res.add(map2);
+ Map<String, Object> map3 = new HashMap<>();
+ map3.put("name", "缂栧潃");
+ map3.put("flag", "0");
+ map3.put("value", "A55A060300020000002F6F");
+ res.add(map3);
+ Map<String, Object> map4 = new HashMap<>();
+ map4.put("name", "娓呴櫎鍦板潃");
+ map4.put("flag", "0");
+ map4.put("value", "A55A060200000000002F06");
+ res.add(map4);
+ return res;
+
+ }
+
+ private ConnectStateListener listener = new ConnectStateListener() {
+ @Override
+ public void onConnectStateChanged(String address, ConnectState state) {
+ switch (state) {
+ case CONNECTED:
+ break;
+ case CONNECTING:
+ break;
+ case NORMAL:
+ break;
+ }
+ }
+ };
+
+ /**
+ * 杈撳叆缂栧潃搴忓彿鍚� 鎵ц缂栧潃鎸囦护
+ */
+ private void showEditTextDialog() {
+ final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
+ builder.setTitle("鎻愮ず")
+ .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
+ .setInputType(InputType.TYPE_CLASS_TEXT)
+ .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ dialog.dismiss();
+ }
+ })
+ .addAction("纭畾", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ String text = builder.getEditText().getText().toString();
+ Integer res = -1;
+ try {
+ res = Integer.parseInt(text);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (res == null || res < 0 || res > 16) {
+ Toast("璇疯緭鍏�1-16鏁板瓧");
+ } else {
+ item3.setDetailText(text);
+ curCmd = 3;
+ item6.setText(cmdName[2]);
+ item6.setDetailText(text);
+ dialog.dismiss();
+
+ }
+
+
+ }
+ })
+ .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
+ }
+
+ /**
+ * 杈撳叆缂栧潃搴忓彿鍚� 涓�閿墽琛屾墍鏈夋寚浠�
+ */
+ private void showQuickDialog() {
+ final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
+ builder.setTitle("鎻愮ず")
+ .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
+ .setInputType(InputType.TYPE_CLASS_TEXT)
+ .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ dialog.dismiss();
+ }
+ })
+ .addAction("纭畾", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ String text = builder.getEditText().getText().toString();
+ Integer addrrNo = -1;
+ try {
+ addrrNo = Integer.parseInt(text);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (addrrNo == null || addrrNo < 0 || addrrNo > 16) {
+ Toast("璇疯緭鍏�1-16鏁板瓧");
+ } else {
+ curCmd = 5;
+ item5.setDetailText(text);
+ item6.setText(cmdName[4]);
+ item6.setDetailText(text);
+ dialog.dismiss();
+
+
+ }
+
+
+ }
+ })
+ .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
+ }
+
+ public void initTitlebar() {
+ iv_right.setVisibility(View.VISIBLE);
+ iv_left.setImageDrawable(getResources().getDrawable(R.mipmap.icon_back));
+ iv_right.setImageDrawable(getResources().getDrawable(R.mipmap.icon_topbar_overflow));
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/adapter/BaseArrayListAdapter.java b/app/src/main/java/com/shlb/comb/adapter/BaseArrayListAdapter.java
new file mode 100644
index 0000000..51eb173
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/adapter/BaseArrayListAdapter.java
@@ -0,0 +1,246 @@
+/*
+ * FileName: BaseArrayListAdapter.java
+ * Copyright (C) 2014 Plusub Tech. Co. Ltd. All Rights Reserved <admin@plusub.com>
+ *
+ * Licensed under the Plusub License, Version 1.0 (the "License");
+ * 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.
+ *
+ * author : quhao <blakequ@gmail.com>
+ * date : 2014-6-7 涓嬪崍9:50:52
+ * last modify author :
+ * version : 1.0
+ */
+package com.shlb.comb.adapter;
+
+import android.content.Context;
+import android.util.DisplayMetrics;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.BaseAdapter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鏁扮粍閫傞厤鍣紝鍙渶瑕佸疄鐜� {@link #getView(int, View, ViewGroup)}
+ * @author blakequ Blakequ@gmail.com
+ *
+ * @param <T>
+ */
+public abstract class BaseArrayListAdapter<T> extends BaseAdapter {
+
+ protected Context mContext;
+ protected LayoutInflater mInflater;
+ private List<T> mDatas;
+ /**灞忓箷鐨勫搴�*/
+ protected int mScreenWidth;
+ /**灞忓箷楂樺害*/
+ protected int mScreenHeight;
+ /**灞忓箷瀵嗗害*/
+ protected float mDensity;
+
+ public BaseArrayListAdapter(Context context){
+ mContext = context;
+ mInflater = LayoutInflater.from(context);
+ mDatas = new ArrayList<T>();
+ DisplayMetrics metric = new DisplayMetrics();
+ WindowManager wm = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
+ wm.getDefaultDisplay().getMetrics(metric);
+ mScreenWidth = metric.widthPixels;
+ mScreenHeight = metric.heightPixels;
+ mDensity = metric.density;
+ }
+
+ public BaseArrayListAdapter(Context context, List<T> datas){
+ mContext = context;
+ mInflater = LayoutInflater.from(context);
+ if (datas != null && datas.size() > 0) {
+ mDatas = datas;
+ }else{
+ mDatas = new ArrayList<T>();
+ }
+ }
+
+ /**
+ * get context
+ * <p>Title: getContext
+ * <p>Description:
+ * @return
+ */
+ public Context getContext() {
+ return mContext;
+ }
+
+ public LayoutInflater getInflater() {
+ return mInflater;
+ }
+
+ /**
+ * get screen width
+ * <p>Title: getScreenWidth
+ * <p>Description:
+ * @return
+ */
+ public int getScreenWidth() {
+ return mScreenWidth;
+ }
+
+ /**
+ * get screen height
+ * <p>Title: getScreenHeight
+ * <p>Description:
+ * @return
+ */
+ public int getScreenHeight() {
+ return mScreenHeight;
+ }
+
+ /**
+ * return all data
+ * <p>Title: getAllData
+ * <p>Description:
+ * @return
+ */
+ public List<T> getAllData(){
+ return mDatas;
+ }
+
+ /**
+ * add data to head
+ * <p>Title: addHead
+ * <p>Description:
+ * @param datas
+ */
+ public void addHead(T datas){
+ if (datas != null) {
+ mDatas.add(0, datas);
+ notifyDataSetChanged();
+ }
+ }
+
+ /**
+ * add data list to head
+ * <p>Title: addHead
+ * <p>Description:
+ * @param datas
+ */
+ public void addHead(List<T> datas){
+ if (datas != null) {
+ for (int i = 0; i < datas.size(); i++) {
+ mDatas.add(i, datas.get(i));
+ }
+ notifyDataSetChanged();
+ }
+ }
+
+
+ public void add(T datas){
+ if (datas != null) {
+ mDatas.add(datas);
+ notifyDataSetChanged();
+ }
+ }
+
+ public void add(int position, T datas){
+ if (position < 0 || position >= mDatas.size() || datas == null) {
+ return;
+ }
+ mDatas.add(position, datas);
+ notifyDataSetChanged();
+ }
+
+ /**
+ * 鏇存柊鎸囧畾浣嶇疆鏁版嵁
+ * <p>Title: update
+ * <p>Description:
+ * @param position
+ * @param datas
+ */
+ public void update(int position, T datas){
+ if (position < 0 || position >= mDatas.size() || datas == null) {
+ return;
+ }
+ mDatas.remove(position);
+ mDatas.add(position, datas);
+ notifyDataSetChanged();
+ }
+
+ /**
+ * add data to adapter
+ * <p>Title: addAll
+ * <p>Description:
+ * @param datas
+ */
+ public void addAll(List<T> datas){
+ if (datas != null) {
+ mDatas.addAll(datas);
+ notifyDataSetChanged();
+ }
+ }
+
+ /**
+ * refresh data to adapter, history data will be remove
+ * <p>Title: refreshData
+ * <p>Description:
+ * @param datas
+ */
+ public void refreshData(List<T> datas){
+ if (datas != null) {
+ mDatas.clear();
+ mDatas.addAll(datas);
+ notifyDataSetChanged();
+ }
+ }
+
+ /**
+ * clear all data
+ * <p>Title: clear
+ * <p>Description:
+ */
+ public void clear(){
+ mDatas.clear();
+ notifyDataSetChanged();
+ }
+
+ /**
+ * 鍒犻櫎鎸囧畾浣嶇疆鏁版嵁
+ * <p>Title: delete
+ * <p>Description:
+ * @param position
+ */
+ public void delete(int position){
+ if (position < 0 || position >= mDatas.size()) {
+ return;
+ }
+ mDatas.remove(position);
+ notifyDataSetChanged();
+ }
+
+ @Override
+ public int getCount() {
+ // TODO Auto-generated method stub
+ return mDatas.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ // TODO Auto-generated method stub
+ if (mDatas == null || mDatas.size() <= 0 || position < 0 || position >= mDatas.size()) {
+ return null;
+ }
+ return mDatas.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ // TODO Auto-generated method stub
+ return position;
+ }
+
+}
diff --git a/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter.java b/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter.java
new file mode 100644
index 0000000..5d5d56b
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter.java
@@ -0,0 +1,83 @@
+package com.shlb.comb.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+
+import com.blakequ.bluetooth_manager_lib.device.BeaconType;
+import com.blakequ.bluetooth_manager_lib.device.BeaconUtils;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord;
+import com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDevice;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+import com.shlb.comb.R;
+import com.shlb.comb.util.Constants;
+
+
+public class DeviceListAdapter extends BaseArrayListAdapter<BluetoothLeDevice>{
+
+ private int scrodKey;
+ public DeviceListAdapter(Context context) {
+ super(context);
+ }
+
+ public void updateConfig(int scrodKey){
+ this.scrodKey = scrodKey;
+ }
+
+ @Override
+ public View getView(int position, View view, ViewGroup parent) {
+ final ViewHolder viewHolder;
+ // General ListView optimization code.
+ if (view == null) {
+ view = mInflater.inflate(R.layout.dialog_layout_bluetooth_item, null);
+ viewHolder = new ViewHolder();
+ viewHolder.deviceAddress = (TextView) view.findViewById(R.id.device_address);
+ viewHolder.deviceName = (TextView) view.findViewById(R.id.device_name);
+ viewHolder.deviceIcon = (ImageView) view.findViewById(R.id.device_icon);
+
+ view.setTag(viewHolder);
+ } else {
+ viewHolder = (ViewHolder) view.getTag();
+ }
+
+ final BluetoothLeDevice device = (BluetoothLeDevice) getItem(position);
+ final String deviceName = device.getName();
+ final double rssi = device.getRssi();
+
+ if (deviceName != null && deviceName.length() > 0) {
+ viewHolder.deviceName.setText(deviceName);
+ } else {
+ viewHolder.deviceName.setText(R.string.unknown_device);
+ }
+
+
+
+
+
+ return view;
+ }
+
+ public double calculateAccuracy(final int txPower, final double rssi) {
+ if (rssi == 0) {
+ return 0; // if we cannot determine accuracy, return -1.
+ }
+
+ final double ratio = rssi * 1.0 / txPower;
+ if (ratio < 1.0) {
+ return Math.pow(ratio, 10);
+ } else {
+ return (0.89976) * Math.pow(ratio, 7.7095) + 0.111;
+ }
+ }
+
+ static class ViewHolder {
+ TextView deviceName;
+ TextView deviceAddress;
+ ImageView deviceIcon;
+
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter2.java b/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter2.java
new file mode 100644
index 0000000..0068a2d
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter2.java
@@ -0,0 +1,137 @@
+package com.shlb.comb.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.blakequ.bluetooth_manager_lib.device.BeaconType;
+import com.blakequ.bluetooth_manager_lib.device.BeaconUtils;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord;
+import com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDevice;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+import com.shlb.comb.R;
+import com.shlb.comb.util.Constants;
+
+
+public class DeviceListAdapter2 extends BaseArrayListAdapter<BluetoothLeDevice>{
+
+ private int scrodKey;
+ public DeviceListAdapter2(Context context) {
+ super(context);
+ }
+
+ public void updateConfig(int scrodKey){
+ this.scrodKey = scrodKey;
+ }
+
+ @Override
+ public View getView(int position, View view, ViewGroup parent) {
+ final ViewHolder viewHolder;
+ // General ListView optimization code.
+ if (view == null) {
+ view = mInflater.inflate(R.layout.list_item_device, null);
+ viewHolder = new ViewHolder();
+ viewHolder.deviceAddress = (TextView) view.findViewById(R.id.device_address);
+ viewHolder.deviceName = (TextView) view.findViewById(R.id.device_name);
+ viewHolder.deviceRssi = (TextView) view.findViewById(R.id.device_rssi);
+ viewHolder.deviceIcon = (ImageView) view.findViewById(R.id.device_icon);
+ viewHolder.deviceLastUpdated = (TextView) view.findViewById(R.id.device_last_update);
+ viewHolder.ibeaconMajor = (TextView) view.findViewById(R.id.ibeacon_major);
+ viewHolder.ibeaconMinor = (TextView) view.findViewById(R.id.ibeacon_minor);
+ viewHolder.ibeaconDistance = (TextView) view.findViewById(R.id.ibeacon_distance);
+ viewHolder.ibeaconUUID = (TextView) view.findViewById(R.id.ibeacon_uuid);
+ viewHolder.ibeaconTxPower = (TextView) view.findViewById(R.id.ibeacon_tx_power);
+ viewHolder.ibeaconSection = view.findViewById(R.id.ibeacon_section);
+ viewHolder.ibeaconDistanceDescriptor = (TextView) view.findViewById(R.id.ibeacon_distance_descriptor);
+ viewHolder.deviceRecord = (TextView) view.findViewById(R.id.ibeacon_scan_record);
+ view.setTag(viewHolder);
+ } else {
+ viewHolder = (ViewHolder) view.getTag();
+ }
+
+ final BluetoothLeDevice device = (BluetoothLeDevice) getItem(position);
+ final String deviceName = device.getName();
+ final double rssi = device.getRssi();
+
+ if (deviceName != null && deviceName.length() > 0) {
+ viewHolder.deviceName.setText(deviceName);
+ } else {
+ viewHolder.deviceName.setText(R.string.unknown_device);
+ }
+
+ if (BeaconUtils.getBeaconType(device) == BeaconType.IBEACON) {
+ final IBeaconDevice iBeacon = new IBeaconDevice(device);
+ final String accuracy = Constants.DOUBLE_TWO_DIGIT_ACCURACY.format(iBeacon.getAccuracy());
+
+ viewHolder.deviceIcon.setImageResource(R.mipmap.ic_device_ibeacon);
+ viewHolder.ibeaconSection.setVisibility(View.VISIBLE);
+ viewHolder.ibeaconMajor.setText(String.valueOf(iBeacon.getMajor()));
+ viewHolder.ibeaconMinor.setText(String.valueOf(iBeacon.getMinor()));
+ viewHolder.ibeaconTxPower.setText(String.valueOf(iBeacon.getCalibratedTxPower()));
+ viewHolder.ibeaconUUID.setText(iBeacon.getUUID());
+ viewHolder.ibeaconDistance.setText(
+ mContext.getString(R.string.formatter_meters, accuracy));
+ viewHolder.ibeaconDistanceDescriptor.setText(iBeacon.getDistanceDescriptor().toString());
+ } else {
+ viewHolder.deviceIcon.setImageResource(R.mipmap.ic_bluetooth);
+ viewHolder.ibeaconSection.setVisibility(View.GONE);
+ }
+
+ final String rssiString =
+ mContext.getString(R.string.formatter_db, String.valueOf(rssi));
+ final String runningAverageRssiString =
+ mContext.getString(R.string.formatter_db, String.valueOf(device.getRunningAverageRssi()));
+
+ viewHolder.deviceLastUpdated.setText(
+ android.text.format.DateFormat.format(
+ Constants.TIME_FORMAT, new java.util.Date(device.getTimestamp())));
+ viewHolder.deviceAddress.setText(device.getAddress());
+ viewHolder.deviceRssi.setText(rssiString + " / " + runningAverageRssiString);
+
+ //add for test
+ if (scrodKey != -1){
+ AdRecord record = device.getAdRecordStore().getRecord(scrodKey);
+ if (record != null) {
+ viewHolder.deviceRecord.setVisibility(View.VISIBLE);
+ viewHolder.deviceRecord.setText(record.getHumanReadableType()+"锛�"+ByteUtils.byteArrayToHexString(record.getData()));
+ }else {
+ viewHolder.deviceRecord.setVisibility(View.GONE);
+ }
+ }else {
+ viewHolder.deviceRecord.setVisibility(View.GONE);
+ }
+ return view;
+ }
+
+ public double calculateAccuracy(final int txPower, final double rssi) {
+ if (rssi == 0) {
+ return 0; // if we cannot determine accuracy, return -1.
+ }
+
+ final double ratio = rssi * 1.0 / txPower;
+ if (ratio < 1.0) {
+ return Math.pow(ratio, 10);
+ } else {
+ return (0.89976) * Math.pow(ratio, 7.7095) + 0.111;
+ }
+ }
+
+ static class ViewHolder {
+ TextView deviceName;
+ TextView deviceAddress;
+ TextView deviceRssi;
+ TextView ibeaconUUID;
+ TextView ibeaconMajor;
+ TextView ibeaconMinor;
+ TextView ibeaconTxPower;
+ TextView ibeaconDistance;
+ TextView ibeaconDistanceDescriptor;
+ TextView deviceLastUpdated;
+ View ibeaconSection;
+ ImageView deviceIcon;
+ TextView deviceRecord;
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/adapter/HomeAdapter.java b/app/src/main/java/com/shlb/comb/adapter/HomeAdapter.java
new file mode 100644
index 0000000..face410
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/adapter/HomeAdapter.java
@@ -0,0 +1,25 @@
+package com.shlb.comb.adapter;
+
+
+import androidx.annotation.NonNull;
+
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.viewholder.BaseViewHolder;
+import com.shlb.comb.R;
+import com.shlb.comb.model.HomeItem;
+
+import java.util.List;
+
+
+public class HomeAdapter extends BaseQuickAdapter<HomeItem, BaseViewHolder> {
+ public HomeAdapter(int layoutResId, List data) {
+ super(layoutResId, data);
+ }
+
+ @Override
+ protected void convert(@NonNull BaseViewHolder helper, HomeItem item) {
+ helper.setText(R.id.tweetName, item.getTitle());
+ //helper.setImageResource(R.id.icon, item.getImageResource());
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/adapter/HomeDeviceListAdapter.java b/app/src/main/java/com/shlb/comb/adapter/HomeDeviceListAdapter.java
new file mode 100644
index 0000000..e6fa862
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/adapter/HomeDeviceListAdapter.java
@@ -0,0 +1,240 @@
+package com.shlb.comb.adapter;
+
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+import android.os.ParcelUuid;
+import android.util.SparseArray;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanRecordCompat;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+import com.shlb.comb.R;
+
+import java.util.List;
+import java.util.Map;
+
+
+public class HomeDeviceListAdapter extends BaseArrayListAdapter<BluetoothLeDevice> {
+ private setOnItemButtonClick onItemButtonClick;
+
+
+ private int scrodKey;
+ private int expandedPosition = -1;
+
+ public HomeDeviceListAdapter(Context context, setOnItemButtonClick onItemButtonClick) {
+ super(context);
+ this.onItemButtonClick = onItemButtonClick;
+ }
+
+ public void updateConfig(int scrodKey) {
+ this.scrodKey = scrodKey;
+ }
+
+ @Override
+ public View getView(int position, View view, ViewGroup parent) {
+ final ViewHolder viewHolder;
+ // General ListView optimization code.
+ if (view == null) {
+ view = mInflater.inflate(R.layout.home_list_bluetooth_item, null);
+ viewHolder = new ViewHolder();
+ viewHolder.deviceAddress = (TextView) view.findViewById(R.id.device_address);
+ viewHolder.deviceName = (TextView) view.findViewById(R.id.device_name);
+ viewHolder.rssi = (TextView) view.findViewById(R.id.rssi);
+ viewHolder.deviceIcon = (ImageView) view.findViewById(R.id.device_icon);
+ viewHolder.ivDown = (ImageView) view.findViewById(R.id.iv_down);
+ viewHolder.llMainContent = (LinearLayout) view.findViewById(R.id.ll_main_content);
+ viewHolder.llMoreInfo = (LinearLayout) view.findViewById(R.id.ll_more_info);
+ viewHolder.tvDeviceType = (TextView) view.findViewById(R.id.tv_device_type);
+ viewHolder.tvAdvType = (TextView) view.findViewById(R.id.tv_adv_type);
+ viewHolder.tvFlags = (TextView) view.findViewById(R.id.tv_flags);
+ viewHolder.tvLocalName = (TextView) view.findViewById(R.id.tv_local_name);
+ viewHolder.tvTxPower = (TextView) view.findViewById(R.id.tv_tx_power);
+ viewHolder.tvServiceUuids = (TextView) view.findViewById(R.id.tv_service_uuids);
+ viewHolder.tvServiceData = (TextView) view.findViewById(R.id.tv_service_data);
+ viewHolder.tvManufacturerData = (TextView) view.findViewById(R.id.tv_manufacturer_data);
+
+ view.findViewById(R.id.conn_btn).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ onItemButtonClick.buttonClick(view, position);
+ }
+ });
+ view.setTag(viewHolder);
+ } else {
+ viewHolder = (ViewHolder) view.getTag();
+ }
+
+ final BluetoothLeDevice device = (BluetoothLeDevice) getItem(position);
+ final String deviceName = device.getName();
+ final String deviceAddress = device.getAddress();
+ final double rssi = device.getRssi();
+
+
+ if (deviceName != null && deviceName.length() > 0) {
+ viewHolder.deviceName.setText(deviceName);
+ } else {
+ viewHolder.deviceName.setText(R.string.unknown_device);
+ }
+ if (deviceAddress != null && deviceAddress.length() > 0) {
+ viewHolder.deviceAddress.setText(deviceAddress);
+ }
+ if (Math.abs(rssi) > 0) {
+ viewHolder.rssi.setText("-" + rssi + "dBm");
+ }
+
+ if (expandedPosition == position) {
+ viewHolder.llMoreInfo.setVisibility(View.VISIBLE);
+ viewHolder.ivDown.setRotation(180);
+ populateMoreInfo(viewHolder, device);
+ } else {
+ viewHolder.llMoreInfo.setVisibility(View.GONE);
+ viewHolder.ivDown.setRotation(0);
+ }
+
+ viewHolder.llMainContent.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (expandedPosition == position) {
+ expandedPosition = -1;
+ } else {
+ expandedPosition = position;
+ }
+ notifyDataSetChanged();
+ }
+ });
+
+
+ return view;
+ }
+
+ private void populateMoreInfo(ViewHolder holder, BluetoothLeDevice device) {
+ holder.tvDeviceType.setText("璁惧绫诲瀷: " + getDeviceType(device));
+
+ ScanRecordCompat record = ScanRecordCompat.parseFromBytes(device.getScanRecord());
+ if (record != null) {
+ holder.tvAdvType.setText("骞挎挱绫诲瀷: Legacy");
+ holder.tvFlags.setText("鏍囧織 (Flags): " + getFlags(record));
+ holder.tvLocalName.setText("瀹屾暣鏈湴鍚嶇О: " + (record.getDeviceName() != null ? record.getDeviceName() : "鏃�"));
+
+ int txPower = record.getTxPowerLevel();
+ holder.tvTxPower.setText("鍙戝皠鍔熺巼: " + (txPower == Integer.MIN_VALUE ? "鏃�" : txPower + " dBm"));
+
+ List<ParcelUuid> uuids = record.getServiceUuids();
+ if (uuids != null && !uuids.isEmpty()) {
+ StringBuilder sb = new StringBuilder("鏈嶅姟 UUID: ");
+ for (ParcelUuid uuid : uuids) {
+ sb.append(uuid.toString()).append("\n");
+ }
+ holder.tvServiceUuids.setVisibility(View.VISIBLE);
+ holder.tvServiceUuids.setText(sb.toString().trim());
+ } else {
+ holder.tvServiceUuids.setVisibility(View.GONE);
+ }
+
+ Map<ParcelUuid, byte[]> serviceData = record.getServiceData();
+ if (serviceData != null && !serviceData.isEmpty()) {
+ StringBuilder sb = new StringBuilder("鏈嶅姟鏁版嵁: ");
+ for (Map.Entry<ParcelUuid, byte[]> entry : serviceData.entrySet()) {
+ sb.append(entry.getKey().toString()).append(": ")
+ .append(ByteUtils.byteArrayToHexString(entry.getValue())).append("\n");
+ }
+ holder.tvServiceData.setVisibility(View.VISIBLE);
+ holder.tvServiceData.setText(sb.toString().trim());
+ } else {
+ holder.tvServiceData.setVisibility(View.GONE);
+ }
+
+ holder.tvManufacturerData.setText("鍘傚晢鏁版嵁: " + getManufacturerData(record));
+ } else {
+ holder.tvAdvType.setText("骞挎挱绫诲瀷: 鏃�");
+ holder.tvFlags.setText("鏍囧織 (Flags): 鏃�");
+ holder.tvLocalName.setText("瀹屾暣鏈湴鍚嶇О: 鏃�");
+ holder.tvTxPower.setText("鍙戝皠鍔熺巼: 鏃�");
+ holder.tvServiceUuids.setVisibility(View.GONE);
+ holder.tvServiceData.setVisibility(View.GONE);
+ holder.tvManufacturerData.setText("鍘傚晢鏁版嵁: 鏃�");
+ }
+ }
+
+ private String getDeviceType(BluetoothLeDevice device) {
+ int type = device.getDevice().getType();
+ switch (type) {
+ case BluetoothDevice.DEVICE_TYPE_CLASSIC:
+ return "浠呯粡鍏歌摑鐗� (Classic)";
+ case BluetoothDevice.DEVICE_TYPE_LE:
+ return "浠呬綆鍔熻�楄摑鐗� (LE)";
+ case BluetoothDevice.DEVICE_TYPE_DUAL:
+ return "鍙屾ā (Dual Mode)";
+ default:
+ return "鏈煡";
+ }
+ }
+
+ private String getFlags(ScanRecordCompat record) {
+ int flags = record.getAdvertiseFlags();
+ if (flags == -1) return "鏃�";
+ StringBuilder sb = new StringBuilder();
+ if ((flags & 0x01) != 0) sb.append("LE 鏈夐檺鍙彂鐜版ā寮�, ");
+ if ((flags & 0x02) != 0) sb.append("LE 鏅�氬彲鍙戠幇妯″紡, ");
+ if ((flags & 0x04) != 0) sb.append("涓嶆敮鎸� BR/EDR, ");
+ if ((flags & 0x08) != 0) sb.append("鎺у埗鍣ㄦ敮鎸� LE 鍜� BR/EDR, ");
+ if ((flags & 0x10) != 0) sb.append("涓绘満鏀寔 LE 鍜� BR/EDR, ");
+ if (sb.length() > 2) sb.setLength(sb.length() - 2);
+ return sb.toString();
+ }
+
+ private String getManufacturerData(ScanRecordCompat record) {
+ SparseArray<byte[]> data = record.getManufacturerSpecificData();
+ if (data == null || data.size() == 0) return "鏃�";
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < data.size(); i++) {
+ int id = data.keyAt(i);
+ byte[] bytes = data.valueAt(i);
+ sb.append(String.format("ID: 0x%04X, 鏁版嵁: ", id));
+ sb.append(ByteUtils.byteArrayToHexString(bytes));
+ if (i < data.size() - 1) sb.append("\n");
+ }
+ return sb.toString();
+ }
+
+ public double calculateAccuracy(final int txPower, final double rssi) {
+ if (rssi == 0) {
+ return 0; // if we cannot determine accuracy, return -1.
+ }
+
+ final double ratio = rssi * 1.0 / txPower;
+ if (ratio < 1.0) {
+ return Math.pow(ratio, 10);
+ } else {
+ return (0.89976) * Math.pow(ratio, 7.7095) + 0.111;
+ }
+ }
+
+ static class ViewHolder {
+ TextView deviceName;
+ TextView deviceAddress;
+ TextView rssi;
+ ImageView deviceIcon;
+ ImageView ivDown;
+ LinearLayout llMainContent;
+ LinearLayout llMoreInfo;
+ TextView tvDeviceType;
+ TextView tvAdvType;
+ TextView tvFlags;
+ TextView tvLocalName;
+ TextView tvTxPower;
+ TextView tvServiceUuids;
+ TextView tvServiceData;
+ TextView tvManufacturerData;
+
+ }
+
+ public interface setOnItemButtonClick {
+ void buttonClick(View view, int position);
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/adapter/WriteAdapter.java b/app/src/main/java/com/shlb/comb/adapter/WriteAdapter.java
new file mode 100644
index 0000000..95f4581
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/adapter/WriteAdapter.java
@@ -0,0 +1,32 @@
+package com.shlb.comb.adapter;
+
+
+import android.view.View;
+
+import androidx.annotation.NonNull;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.viewholder.BaseViewHolder;
+import com.shlb.comb.R;
+import com.shlb.comb.model.HomeItem;
+
+import java.util.List;
+import java.util.Map;
+
+
+public class WriteAdapter extends BaseQuickAdapter<Map<String,Object>, BaseViewHolder> {
+ public WriteAdapter(int layoutResId, List data) {
+ super(layoutResId, data);
+ }
+
+ @Override
+ protected void convert(@NonNull BaseViewHolder helper, Map<String,Object> item) {
+ helper.setText(R.id.name, item.get("name").toString());
+ if("1" == item.get("flag").toString()){
+ helper.getView(R.id.logo).setVisibility(View.VISIBLE);
+ }else {
+ helper.getView(R.id.logo).setVisibility(View.GONE);
+ }
+
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/base/BaseActivity.java b/app/src/main/java/com/shlb/comb/base/BaseActivity.java
new file mode 100755
index 0000000..00080a3
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/base/BaseActivity.java
@@ -0,0 +1,275 @@
+package com.shlb.comb.base;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.blankj.utilcode.util.SnackbarUtils;
+import com.blankj.utilcode.util.ToastUtils;
+import com.qmuiteam.qmui.widget.dialog.QMUITipDialog;
+import com.shlb.comb.R;
+
+import org.greenrobot.eventbus.EventBus;
+
+import java.util.List;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import pub.devrel.easypermissions.EasyPermissions;
+
+public abstract class BaseActivity extends AppCompatActivity implements View.OnClickListener, EasyPermissions.PermissionCallbacks {
+ public String TAG = this.getClass().getSimpleName();
+ //title宸﹁竟鎸夐挳
+ protected ImageView iv_left;
+ //title鏍囬
+ protected TextView tv_center;
+ //title鍙宠竟鎸夐挳
+ protected ImageView iv_right;
+
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ contentView();
+ EventBus.getDefault().register(this);
+ init();
+ }
+
+ private void init() {
+ initView();
+ initData();
+ initEvent();
+ }
+
+ protected void initHead() {
+ iv_left = findViewById(R.id.iv_left);
+ tv_center = findViewById(R.id.tv_center);
+ iv_right = findViewById(R.id.iv_right);
+ initHeadEvent();
+ }
+
+
+ private void initHeadEvent() {
+ iv_left.setOnClickListener(this);
+ iv_right.setOnClickListener(this);
+ }
+
+ protected abstract void contentView();
+
+ protected abstract void initView();
+
+ protected abstract void initData();
+
+ protected abstract void initEvent();
+
+
+ @Override
+ public void setTitle(CharSequence title) {
+ tv_center.setText(title);
+ }
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.iv_left) {
+ finish();
+ } else if (id == R.id.iv_right) {
+ }
+
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ EventBus.getDefault().unregister(this);
+ }
+
+ QMUITipDialog tipDialog;
+
+ //寮瑰嚭鎻愮ず
+ public void showTips(String tips) {
+ tipDialog = new QMUITipDialog.CustomBuilder(this)
+ .setContent(R.layout.tipdialog_custom)
+ .create();
+ tipDialog.setCanceledOnTouchOutside(true);
+ ((TextView) tipDialog.findViewById(R.id.tv_tip)).setText(tips);
+ tipDialog.show();
+
+ new Timer().schedule(new TimerTask() {
+ @Override
+ public void run() {
+ if (tipDialog != null)tipDialog.dismiss();
+ }
+ }, 1500);
+// LogUtils.e("TAG","鍑嗗");
+// handler.postDelayed(new Runnable() {
+// @Override
+// public void run() {
+// LogUtils.e("TAG","杩涘叆");
+// if (tipDialog != null) {
+// LogUtils.e("TAG","鍏抽棴");
+// tipDialog.dismiss();
+// }
+// }
+// }, 1500);
+ }
+ QMUITipDialog loading;
+ public void showLoading(){
+ showLoading("姝e湪鍔犺浇");
+ }
+
+ public void showLoading(String msg){
+ if(loading != null && loading.isShowing()){
+ loading.dismiss();
+ }
+ loading = new QMUITipDialog.Builder(this)
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord(msg)
+ .create();
+ loading.show();
+ }
+
+ public void hiddeLoading(){
+ if (loading != null) {
+ loading.dismiss();
+ }
+ }
+
+
+ /**
+ * 寮哄埗闅愯棌閿洏
+ */
+ protected void hideKeyborad() {
+ InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
+ imm.hideSoftInputFromWindow(iv_left.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
+ }
+
+ /**
+ * 鎵撳紑鑷虫寚瀹氱殑Activity
+ *
+ * @param pClass
+ */
+ public void openActivity(Class<?> pClass) {
+ openActivity(pClass, null);
+ }
+
+ /**
+ * 鎵撳紑鑷虫寚瀹氱殑Activity
+ *
+ * @param pClass
+ * @param pBundle 浼犲��
+ */
+ public void openActivity(Class<?> pClass, Bundle pBundle) {
+ Intent intent = new Intent(this, pClass);
+ if (pBundle != null) {
+ intent.putExtras(pBundle);
+ }
+ startActivity(intent);
+ }
+
+ /**
+ * 鎵撳紑activity
+ *
+ * @param pAction activity鍔ㄤ綔
+ */
+ public void openActivity(String pAction) {
+ openActivity(pAction, null);
+ }
+
+ /**
+ * 鎵撳紑activity
+ *
+ * @param pAction activity鍔ㄤ綔
+ * @param pBundle 鏁版嵁
+ */
+ public void openActivity(String pAction, Bundle pBundle) {
+ Intent intent = new Intent(pAction);
+ if (pBundle != null) {
+ intent.putExtras(pBundle);
+ }
+ startActivity(intent);
+ }
+
+ /**
+ * 杩斿洖activity 锛岀粦瀹氭暟鎹�
+ *
+ * @param pClass
+ */
+ public void returnActivity(Class<?> pClass) {
+ returnActivity(pClass, null);
+ }
+
+ /**
+ * 杩斿洖activity 锛岀粦瀹氭暟鎹�
+ *
+ * @param pClass
+ * @param pBundle
+ */
+ public void returnActivity(Class<?> pClass, Bundle pBundle) {
+ Intent intent = new Intent(this, pClass);
+ if (pBundle != null) {
+ intent.putExtras(pBundle);
+ }
+ intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
+ startActivity(intent);
+ }
+
+ /**
+ * 杩斿洖activity
+ *
+ * @param pAction activity鍔ㄤ綔
+ */
+ public void returnActivity(String pAction) {
+ returnActivity(pAction, null);
+ }
+
+ /**
+ * 杩斿洖activity
+ *
+ * @param pAction activity鍔ㄤ綔
+ * @param pBundle 鏁版嵁
+ */
+ public void returnActivity(String pAction, Bundle pBundle) {
+ Intent intent = new Intent(pAction);
+ if (pBundle != null) {
+ intent.putExtras(pBundle);
+ }
+ intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
+ startActivity(intent);
+ }
+
+ public void Toast(String text) {
+ ToastUtils.showShort(text);
+// SnackbarUtils.with(tv_center).setDuration(SnackbarUtils.LENGTH_LONG).setMessage(text).show();
+ }
+ @Override
+ public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+
+ // Forward results to EasyPermissions
+ EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
+ }
+
+
+
+ @Override
+ public void onPermissionsGranted(int requestCode, List<String> list) {
+ // Some permissions have been granted
+ Toast("鏉冮檺妫�娴嬮�氳繃锛�");
+ }
+
+ @Override
+ public void onPermissionsDenied(int requestCode, List<String> list) {
+ // Some permissions have been denied
+ Toast("鏈墦寮�鎵�闇�鏉冮檺锛岀▼搴忔棤娉曟甯歌繍琛�"+list.toString());
+ }
+
+}
diff --git a/app/src/main/java/com/shlb/comb/event/UpdateEvent.java b/app/src/main/java/com/shlb/comb/event/UpdateEvent.java
new file mode 100644
index 0000000..5c67667
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/event/UpdateEvent.java
@@ -0,0 +1,79 @@
+package com.shlb.comb.event;
+
+/**
+ */
+public class UpdateEvent {
+
+ private Type type;
+ private Object obj;
+ private String msg;
+ private int arg1;
+
+ public UpdateEvent(Type type) {
+ this.type = type;
+ }
+
+ public UpdateEvent(Type type, Object obj) {
+ this.obj = obj;
+ this.type = type;
+ }
+
+ public UpdateEvent(Type type, Object obj, String msg) {
+ this.obj = obj;
+ this.type = type;
+ this.msg = msg;
+ }
+
+ public UpdateEvent(Type type, int arg1) {
+ this.type = type;
+ this.arg1 = arg1;
+ }
+
+ public int getArg1() {
+ return arg1;
+ }
+
+ public void setArg1(int arg1) {
+ this.arg1 = arg1;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public Type getType() {
+ return type;
+ }
+
+ public void setType(Type type) {
+ this.type = type;
+ }
+
+ public Object getObj() {
+ return obj;
+ }
+
+ public void setObj(Object obj) {
+ this.obj = obj;
+ }
+
+ public static enum Type{
+ SCAN_UPDATE,
+ BLE_DATA,
+ POP_SHOW,
+ TAB_SWITCH,
+ CONFIG_CHANGE,
+
+ CONN_STATU,
+ CONN_SERVICE,
+ ONLINE,
+ OFFLINE,
+ DEVICE_INFO
+ }
+
+
+}
diff --git a/app/src/main/java/com/shlb/comb/fragment/DeviceListFragment.java b/app/src/main/java/com/shlb/comb/fragment/DeviceListFragment.java
new file mode 100644
index 0000000..8d5f7a6
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/fragment/DeviceListFragment.java
@@ -0,0 +1,358 @@
+package com.shlb.comb.fragment;
+
+import android.Manifest;
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.ListView;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager;
+import com.blakequ.bluetooth_manager_lib.scan.ScanOverListener;
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat;
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat;
+import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
+import com.blankj.utilcode.util.LogUtils;
+import com.qmuiteam.qmui.widget.QMUIEmptyView;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
+import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
+import com.shlb.comb.R;
+import com.shlb.comb.activity.ConnActivity;
+import com.shlb.comb.activity.TestActivity;
+import com.shlb.comb.activity.HomeActivity;
+import com.shlb.comb.adapter.HomeDeviceListAdapter;
+import com.shlb.comb.base.BaseActivity;
+import com.shlb.comb.event.UpdateEvent;
+import com.shlb.comb.model.BluetoothLeDeviceStore;
+import com.shlb.comb.util.Singletion;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.List;
+
+import pub.devrel.easypermissions.AfterPermissionGranted;
+import pub.devrel.easypermissions.EasyPermissions;
+
+public class DeviceListFragment extends Fragment implements AdapterView.OnItemClickListener, EasyPermissions.PermissionCallbacks {
+ private static final int BLUETOOTH_NEDD_PERMISSIONS = 1011;
+
+ public static final int MODE_RETURN_SETTINGS = 0;
+ public static final int MODE_GO_TO_TEST = 1;
+ private static int navigationMode = MODE_RETURN_SETTINGS;
+ private boolean isSwitchingDevice = false;
+
+ public static void setNavigationMode(int mode) {
+ navigationMode = mode;
+ }
+
+ private QMUIEmptyView mEmptyView;
+ private ListView homeList;
+ private BluetoothScanManager scanManager;
+ private BluetoothLeDeviceStore mDeviceStore;
+ private BluetoothUtils mBluetoothUtils;
+ private HomeDeviceListAdapter mLeDeviceListAdapter;
+ private com.qmuiteam.qmui.widget.dialog.QMUITipDialog mLoadingDialog;
+
+ private void showLoading(String message) {
+ if (mLoadingDialog != null && mLoadingDialog.isShowing()) {
+ mLoadingDialog.dismiss();
+ }
+ mLoadingDialog = new com.qmuiteam.qmui.widget.dialog.QMUITipDialog.Builder(getContext())
+ .setIconType(com.qmuiteam.qmui.widget.dialog.QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord(message)
+ .create();
+ mLoadingDialog.show();
+ }
+
+ private void dismissLoading() {
+ if (mLoadingDialog != null && mLoadingDialog.isShowing()) {
+ mLoadingDialog.dismiss();
+ mLoadingDialog = null;
+ }
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.fragment_device_list, container, false);
+ mEmptyView = view.findViewById(R.id.emptyView);
+ homeList = view.findViewById(R.id.homeList);
+ return view;
+ }
+
+ @Override
+ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ EventBus.getDefault().register(this);
+ initView();
+ initData();
+ }
+
+ private void initView() {
+ mEmptyView.show(true, "鎼滅储钃濈墮", "", "閲嶆柊鎵弿", new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if (scanManager != null && !scanManager.isScanning()) {
+ startScan();
+ }
+ }
+ });
+ }
+
+ private void initData() {
+ if (getActivity() instanceof HomeActivity) {
+ HomeActivity activity = (HomeActivity) getActivity();
+ mBluetoothUtils = activity.getBluetoothUtils();
+ mDeviceStore = activity.getDeviceStore();
+ scanManager = activity.getScanManager();
+ }
+
+ mLeDeviceListAdapter = new HomeDeviceListAdapter(getContext(), new HomeDeviceListAdapter.setOnItemButtonClick() {
+ @Override
+ public void buttonClick(View view, int position) {
+ final BluetoothLeDevice device = (BluetoothLeDevice) mLeDeviceListAdapter.getItem(position);
+ if (device == null) {
+ Toast.makeText(getContext(), "杩炴帴璁惧涓嶈兘涓虹┖锛�", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ Singletion.getInstance().mDevice = device;
+ if (device.getAddress() == null) {
+ Toast.makeText(getContext(), "杩炴帴璁惧鍦板潃涓嶈兘涓虹┖锛�", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ if (com.shlb.comb.manager.BleGlobalManager.getInstance().isConnected()) {
+ new QMUIDialog.MessageDialogBuilder(getContext())
+ .setTitle("鎻愮ず")
+ .setMessage("褰撳墠宸茶繛鎺ヨ澶囷紝鏄惁鏂紑骞惰繛鎺ユ柊璁惧锛�")
+ .addAction("鍙栨秷", (dialog, index) -> dialog.dismiss())
+ .addAction("纭畾", (dialog, index) -> {
+ dialog.dismiss();
+ isSwitchingDevice = true;
+ com.shlb.comb.manager.BleGlobalManager.getInstance().disconnect();
+ connectToDevice(device);
+ })
+ .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
+ } else {
+ connectToDevice(device);
+ }
+ }
+ });
+ homeList.setOnItemClickListener(this);
+ homeList.setAdapter(mLeDeviceListAdapter);
+ scanManager.setScanOverListener(new ScanOverListener() {
+ @Override
+ public void onScanOver() {
+ }
+ });
+
+ scanManager.setScanCallbackCompat(new ScanCallbackCompat() {
+ @Override
+ public void onScanFailed(final int errorCode) {
+ super.onScanFailed(errorCode);
+ Toast.makeText(getContext(), "鎵弿澶辫触锛�" + errorCode, Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onScanResult(int callbackType, ScanResultCompat result) {
+ super.onScanResult(callbackType, result);
+ String deviceName = result.getScanRecord().getDeviceName();
+ LogUtils.i("scan device ", result.getLeDevice().getAddress() + " " + deviceName);
+ if (deviceName != null) deviceName = deviceName.toLowerCase();
+
+ if (!TextUtils.isEmpty(deviceName)) {
+ mDeviceStore.addDevice(result.getLeDevice());
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.SCAN_UPDATE));
+ }
+ }
+ });
+ startScan();
+ }
+
+ private void connectToDevice(BluetoothLeDevice device) {
+ if (navigationMode == MODE_RETURN_SETTINGS) {
+ com.shlb.comb.manager.BleGlobalManager.getInstance().connect(getContext(), device);
+ showLoading("姝e湪杩炴帴 " + device.getName() + "...");
+ } else {
+ Intent intent = new Intent(getContext(), TestActivity.class);
+ startActivity(intent);
+ }
+ }
+
+ @Override
+ public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+ }
+
+ public void startScan() {
+ if (checkPermission()) {
+ if (checkIsBleState()) {
+ if (mDeviceStore != null && scanManager != null && scanManager.isScanning()) {
+ if (getActivity() instanceof BaseActivity) {
+ ((BaseActivity) getActivity()).Toast("姝e湪鎵弿涓�...");
+ }
+ return;
+ }
+ mDeviceStore.clear();
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.SCAN_UPDATE));
+ ((BaseActivity) getActivity()).Toast("寮�濮嬫壂鎻�...");
+ scanManager.startScanNow();
+ }
+ }
+ }
+
+ public void startScanOnce() {
+ if (checkPermission()) {
+ if (checkIsBleState()) {
+ if (mDeviceStore != null && scanManager != null && scanManager.isScanning()) return;
+ mDeviceStore.clear();
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.SCAN_UPDATE));
+ scanManager.startScanOnce();
+ }
+ }
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEventRefresh(UpdateEvent event) {
+ if (event.getType() == UpdateEvent.Type.CONN_STATU) {
+ int status = 0;
+ if (event.getObj() instanceof Integer) {
+ status = (int) event.getObj();
+ }
+ if (status == android.bluetooth.BluetoothProfile.STATE_CONNECTED) {
+ dismissLoading();
+ Toast.makeText(getContext(), "杩炴帴鎴愬姛", Toast.LENGTH_SHORT).show();
+ if (getFragmentManager() != null) {
+ getFragmentManager().popBackStack();
+ }
+ } else if (status == android.bluetooth.BluetoothProfile.STATE_DISCONNECTED) {
+ if (isSwitchingDevice) {
+ isSwitchingDevice = false;
+ return;
+ }
+ dismissLoading();
+ Toast.makeText(getContext(), "杩炴帴鏂紑", Toast.LENGTH_SHORT).show();
+ }
+ }
+ if (event.getType() == UpdateEvent.Type.SCAN_UPDATE) {
+ if (mLeDeviceListAdapter != null && mDeviceStore != null && mDeviceStore.getDeviceList() != null) {
+ mLeDeviceListAdapter.refreshData(mDeviceStore.getDeviceList());
+ }
+ if (mDeviceStore != null && mDeviceStore.getDeviceList() != null && mDeviceStore.getDeviceList().size() > 0) {
+ mEmptyView.hide();
+ homeList.setVisibility(View.VISIBLE);
+ } else {
+ homeList.setVisibility(View.GONE);
+ mEmptyView.show(true, "鎼滅储钃濈墮", "", "閲嶆柊鎵弿", new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if (scanManager != null && !scanManager.isScanning()) {
+ startScan();
+ }
+ }
+ });
+ }
+ }
+ }
+
+ @Override
+ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
+ }
+
+ @Override
+ public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
+ startScan();
+ }
+
+ @Override
+ public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
+ Toast.makeText(getContext(), "鏈幏寰楀繀瑕佹潈闄愶紝鏃犳硶鎵弿", Toast.LENGTH_SHORT).show();
+ }
+
+ private boolean checkIsBleState() {
+ if (!mBluetoothUtils.isBluetoothLeSupported(getContext())) {
+ Toast.makeText(getContext(), "褰撳墠鎵嬫満涓嶆敮鎸丅LE浣庡姛鑰楄摑鐗欙紝鏃犳硶浣跨敤锛�", Toast.LENGTH_SHORT).show();
+ } else if (!mBluetoothUtils.isBluetoothIsEnable()) {
+ new QMUIDialog.MessageDialogBuilder(getContext())
+ .setTitle("鎻愮ず")
+ .setMessage("钃濈墮鏈墦寮�锛岀‘瀹氭墦寮�钃濈墮锛�")
+ .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ dialog.dismiss();
+ }
+ })
+ .addAction("纭畾", new QMUIDialogAction.ActionListener() {
+ @Override
+ public void onClick(QMUIDialog dialog, int index) {
+ mBluetoothUtils.askUserToEnableBluetoothIfNeeded(getActivity());
+ dialog.dismiss();
+ }
+ })
+ .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
+ } else {
+ return true;
+ }
+ return false;
+ }
+
+ @AfterPermissionGranted(BLUETOOTH_NEDD_PERMISSIONS)
+ private boolean checkPermission() {
+ String[] permissionList;
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
+ permissionList = new String[]{
+ Manifest.permission.BLUETOOTH_SCAN,
+ Manifest.permission.BLUETOOTH_CONNECT,
+ Manifest.permission.ACCESS_FINE_LOCATION
+ };
+ } else {
+ permissionList = new String[]{
+ Manifest.permission.BLUETOOTH,
+ Manifest.permission.BLUETOOTH_ADMIN,
+ Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION,
+ Manifest.permission.READ_EXTERNAL_STORAGE,
+ Manifest.permission.WRITE_EXTERNAL_STORAGE
+ };
+ }
+
+ if (EasyPermissions.hasPermissions(getContext(), permissionList)) {
+ return true;
+ } else {
+ EasyPermissions.requestPermissions(this, "绋嬪簭杩愯闇�瑕佹潈闄�!",
+ BLUETOOTH_NEDD_PERMISSIONS, permissionList);
+ return false;
+ }
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ if (scanManager != null && scanManager.isScanning()) {
+ scanManager.stopCycleScan();
+ }
+ }
+
+ @Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ dismissLoading();
+ EventBus.getDefault().unregister(this);
+ if (scanManager != null) {
+ scanManager.setScanCallbackCompat(null);
+ scanManager.setScanOverListener(null);
+ }
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/fragment/SettingsFragment.java b/app/src/main/java/com/shlb/comb/fragment/SettingsFragment.java
new file mode 100644
index 0000000..2702ac4
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/fragment/SettingsFragment.java
@@ -0,0 +1,712 @@
+package com.shlb.comb.fragment;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.EditText;
+import android.widget.Spinner;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
+import com.shlb.comb.manager.BleGlobalManager;
+import com.shlb.comb.event.UpdateEvent;
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+import android.bluetooth.BluetoothProfile;
+import com.shlb.comb.R;
+
+import java.util.ArrayList;
+import java.util.List;
+import com.shlb.comb.util.CMD;
+import com.shlb.comb.util.CRCutil;
+
+import com.qmuiteam.qmui.widget.dialog.QMUITipDialog;
+import android.text.Html;
+import android.content.DialogInterface;
+
+public class SettingsFragment extends Fragment {
+
+ private RecyclerView rvGrid;
+ private EditText etLayer;
+ private EditText etStation;
+ private Spinner spinnerBaud;
+ private QMUIRoundButton btnWriteAll;
+ private QMUIRoundButton btnReadData;
+ private QMUIRoundButton btnReadParam;
+ private QMUIRoundButton btnClearLog;
+ private TextView tvStatus;
+ private TextView tvLog;
+ private TextView tvLayerStatus;
+ private TextView tvStationStatus;
+ private TextView tvBaudStatus;
+ private android.widget.ScrollView svLog;
+
+ private QMUITipDialog mLoadingDialog;
+
+ private GridAdapter mAdapter;
+ private List<BoxStatus> boxStatusList = new ArrayList<>();
+ private StringBuilder logBuilder = new StringBuilder();
+
+ private java.util.Queue<String> cmdQueue = new java.util.LinkedList<>();
+ private String currentExecutingCmd = ""; // 褰撳墠姝e湪鎵ц鐨勬寚浠わ紝鐢ㄤ簬鏍¢獙鍝嶅簲
+
+ private static class BoxStatus {
+ int id;
+ boolean isOnline;
+ boolean hasGlass;
+
+ public BoxStatus(int id) {
+ this.id = id;
+ this.isOnline = false;
+ this.hasGlass = false;
+ }
+ }
+
+ private Runnable autoReadRunnable = new Runnable() {
+ @Override
+ public void run() {
+ // 钃濈墮杩炴帴鎴愬姛鍚� 鑷姩瑙﹀彂鐩戞帶璇︽儏鐨� 璇诲彇鏁版嵁 鍜� 鍙傛暟璁惧畾杩欓噷鐨� 璇诲彇鍙傛暟
+ if (BleGlobalManager.getInstance().isConnected()) {
+ showLoading("姝e湪鍚屾鏁版嵁...");
+
+ if (btnReadData != null) btnReadData.performClick();
+
+ new android.os.Handler().postDelayed(() -> {
+ if (btnReadParam != null) btnReadParam.performClick();
+
+ // 鍋囪鍙傛暟璇诲彇瑙﹀彂鍚� 1.5绉� 鍏抽棴 loading锛屾垨鑰呭湪瑙f瀽瀹屾墍鏈夊弬鏁板悗鍏抽棴
+ // 杩欓噷绠�鍗曞鐞嗭紝寤舵椂鍏抽棴
+ new android.os.Handler().postDelayed(() -> {
+ dismissLoading();
+ }, 1500);
+ }, 1000); // 闂撮殧1绉掞紝閬垮厤鎸囦护鍐茬獊
+ }
+ }
+ };
+ private android.os.Handler debounceHandler = new android.os.Handler();
+ private static final long DEBOUNCE_DELAY_MS = 1500; // 1.5 seconds debounce
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ if (!EventBus.getDefault().isRegistered(this)) {
+ EventBus.getDefault().register(this);
+ }
+ updateConnectionStatus();
+ }
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ if (EventBus.getDefault().isRegistered(this)) {
+ EventBus.getDefault().unregister(this);
+ }
+ }
+
+ private void updateConnectionStatus() {
+ if (BleGlobalManager.getInstance().isConnected()) {
+ tvStatus.setText("鐘舵�侊細宸茶繛鎺�");
+ } else {
+ tvStatus.setText("鐘舵�侊細鏈繛鎺�");
+ }
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEventRefresh(UpdateEvent event) {
+ if (event.getType() == UpdateEvent.Type.CONN_STATU) {
+ // Check if obj is integer
+ if (event.getObj() instanceof Integer) {
+ int status = (int) event.getObj();
+ if (status == BluetoothProfile.STATE_CONNECTED) {
+ tvStatus.setText("鐘舵�侊細宸茶繛鎺�");
+ Toast.makeText(getContext(), "钃濈墮宸茶繛鎺�", Toast.LENGTH_SHORT).show();
+
+ // 钃濈墮杩炴帴鎴愬姛鍚� 鑷姩瑙﹀彂
+ triggerAutoRead();
+ } else {
+ tvStatus.setText("鐘舵�侊細宸叉柇寮�");
+ }
+ }
+ } else if (event.getType() == UpdateEvent.Type.DEVICE_INFO) {
+ // Received data
+ String hex = event.getMsg();
+ tvStatus.setText("鏀跺埌鏁版嵁: " + hex);
+ appendLog(hex, false); // false for received (Green)
+ parseAndRefresh(hex);
+ }
+ }
+
+ private void parseAndRefresh(String hex) {
+ if (hex == null) return;
+
+ // 鏍规嵁CMD鍓�8浣嶅垽鏂寚浠ょ被鍨�
+ if (hex.length() >= 8) {
+ // 鍙傛暟璇诲彇杩斿洖 (闀垮害鑷冲皯12浣�)
+ // 璇诲眰鏁�: A55A0308...
+ // 璇荤珯鍙�: A55A0304...
+ // 璇绘尝鐗圭巼: A55A0305...
+ if (hex.length() >= 12 && (
+ hex.startsWith(CMD.READ_FLOORS.substring(0, 8)) ||
+ hex.startsWith(CMD.READ_STATION_NUM.substring(0, 8)) ||
+ hex.startsWith(CMD.READ_BAUD_RATE.substring(0, 8)))) {
+ parseParamResponse(hex);
+ return;
+ }
+
+ // 鏁版嵁璇诲彇杩斿洖 (闀垮害鑷冲皯32浣�)
+ // 璇绘暟鎹�: A55A0301...
+ if (hex.length() >= 32 && hex.startsWith(CMD.READ_DATA.substring(0, 8))) {
+ parseDataResponse(hex);
+ return;
+ }
+ }
+
+ // 鍐欏叆鎸囦护鐨勮繑鍥� (A55A06寮�澶�)
+ if (hex.startsWith("A55A06") && hex.length() >= 12) {
+ parseWriteResponse(hex);
+ return;
+ }
+ }
+
+ private void setLabelStatus(TextView view, String text, int colorResId) {
+ if (view != null && getContext() != null) {
+ view.setText(text);
+ view.setTextColor(androidx.core.content.ContextCompat.getColor(getContext(), colorResId));
+ }
+ }
+
+ /**
+ * 瑙f瀽鍙傛暟璇诲彇杩斿洖 (绔欏彿銆佹尝鐗圭巼銆佸眰鏁�)
+ */
+ private void parseParamResponse(String hex) {
+ try {
+ // 鍛戒护绫诲瀷: 绗�7-8浣�
+ String cmdType = hex.substring(6, 8);
+ // 鏁版嵁鍐呭: 绗�11-12浣�
+ String dataHex = hex.substring(10, 12);
+ int value = Integer.parseInt(dataHex, 16);
+
+ if ("04".equals(cmdType)) {
+ // 绔欏彿
+ if (etStation != null) etStation.setText(String.valueOf(value));
+ setLabelStatus(tvStationStatus, "(璇诲彇鍊�)", R.color.base_color);
+ appendLog("璇诲彇绔欏彿: " + value);
+ } else if ("05".equals(cmdType)) {
+ // 娉㈢壒鐜�
+ if (spinnerBaud != null && value >= 0 && value < spinnerBaud.getAdapter().getCount()) {
+ spinnerBaud.setSelection(value);
+ }
+ setLabelStatus(tvBaudStatus, "(璇诲彇鍊�)", R.color.base_color);
+ appendLog("璇诲彇娉㈢壒鐜�: " + value);
+ } else if ("08".equals(cmdType)) {
+ // 灞傛暟
+ if (etLayer != null) etLayer.setText(String.valueOf(value));
+ setLabelStatus(tvLayerStatus, "(璇诲彇鍊�)", R.color.base_color);
+ appendLog("璇诲彇灞傛暟: " + value);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ appendLog("鍙傛暟瑙f瀽寮傚父: " + e.getMessage());
+ setLabelStatus(tvStationStatus, "(璇诲彇澶辫触)", R.color.orange);
+ setLabelStatus(tvBaudStatus, "(璇诲彇澶辫触)", R.color.orange);
+ setLabelStatus(tvLayerStatus, "(璇诲彇澶辫触)", R.color.orange);
+ }
+ }
+
+ /**
+ * 瑙f瀽鍐欏叆鎸囦护杩斿洖
+ */
+ private void parseWriteResponse(String hex) {
+ try {
+ // 缁撴灉鐘舵��: 绗�11-12浣�
+ String statusHex = hex.substring(10, 12);
+ boolean isSuccess = "01".equals(statusHex);
+
+ // 鍙褰撳墠鏈夋鍦ㄦ墽琛岀殑鎸囦护锛屼笖鏀跺埌浜嗗啓鍏ュ洖澶嶏紙A55A06寮�澶达級锛屾垜浠氨璁や负鏄綋鍓嶆寚浠ょ殑鍥炲
+ // 鍥犱负鎴戜滑閲囩敤闃熷垪鏈哄埗锛屽繀椤诲彂涓�鏉$瓑涓�鏉★紝鎵�浠ヤ笉浼氭湁涔卞簭闂銆�
+ // 杩欑鏂瑰紡瑙勯伩浜� ENTER 鍜� EXIT 鍓�8浣嶇浉鍚屽鑷存棤娉曞尯鍒嗙殑闂銆�
+
+ if (!currentExecutingCmd.isEmpty()) {
+ if (isSuccess) {
+ // 璁板綍鏃ュ織锛氭牴鎹綋鍓嶆湡寰呯殑鎸囦护鏉ヨ褰曪紝鑰屼笉鏄牴鎹繑鍥炵殑 hex
+ // 浣跨敤瀹屾暣鎸囦护鍓嶇紑鍖归厤锛岄伩鍏� ENTER (3B0101) 鍜� EXIT (3B0100) 鍓�8浣嶇浉鍚屽鑷寸殑璇垽
+ if (currentExecutingCmd.startsWith(CMD.ENTER_SETTING)) {
+ appendLog("杩涘叆璁惧畾妯″紡鎴愬姛");
+ } else if (currentExecutingCmd.startsWith(CMD.WRITE_STATION_NUM)) {
+ appendLog("鍐欏叆绔欏彿鎴愬姛");
+ setLabelStatus(tvStationStatus, "(鍐欏叆鍊�)", R.color.base_color_s);
+ } else if (currentExecutingCmd.startsWith(CMD.WRITE_BAUD_RATE)) {
+ appendLog("鍐欏叆娉㈢壒鐜囨垚鍔�");
+ setLabelStatus(tvBaudStatus, "(鍐欏叆鍊�)", R.color.base_color_s);
+ } else if (currentExecutingCmd.startsWith(CMD.EXIT_SETTING)) {
+ appendLog("閫�鍑鸿瀹氭ā寮忔垚鍔�");
+ }
+
+ // 鍙湁鎴愬姛鎵嶇户缁墽琛屼笅涓�鏉�
+ processNextCmd();
+ } else {
+ // 鎵ц澶辫触
+ cmdQueue.clear();
+ currentExecutingCmd = "";
+ tvStatus.setText("鍐欏叆澶辫触");
+
+ if (currentExecutingCmd.startsWith(CMD.WRITE_STATION_NUM)) {
+ setLabelStatus(tvStationStatus, "(鍐欏叆澶辫触)", R.color.orange);
+ } else if (currentExecutingCmd.startsWith(CMD.WRITE_BAUD_RATE)) {
+ setLabelStatus(tvBaudStatus, "(鍐欏叆澶辫触)", R.color.orange);
+ }
+
+ appendLog("鍐欏叆澶辫触: " + hex);
+ Toast.makeText(getContext(), "鍐欏叆澶辫触", Toast.LENGTH_SHORT).show();
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ cmdQueue.clear();
+ currentExecutingCmd = "";
+ appendLog("鍐欏叆鍝嶅簲瑙f瀽寮傚父: " + e.getMessage());
+ // 寮傚父涔熻涓哄け璐�
+ setLabelStatus(tvStationStatus, "(鍐欏叆澶辫触)", R.color.orange);
+ setLabelStatus(tvBaudStatus, "(鍐欏叆澶辫触)", R.color.orange);
+ }
+ }
+
+ private void processNextCmd() {
+ if (cmdQueue != null && !cmdQueue.isEmpty()) {
+ String nextCmd = cmdQueue.poll();
+ currentExecutingCmd = nextCmd;
+
+ // 鏇存柊鐘舵�佹樉绀�
+ if (nextCmd.startsWith(CMD.ENTER_SETTING.substring(0, 10))) {
+ tvStatus.setText("姝e湪杩涘叆璁惧畾妯″紡...");
+ } else if (nextCmd.startsWith(CMD.WRITE_STATION_NUM.substring(0, 10))) {
+ tvStatus.setText("姝e湪鍐欏叆绔欏彿...");
+ } else if (nextCmd.startsWith(CMD.WRITE_BAUD_RATE.substring(0, 10))) {
+ tvStatus.setText("姝e湪鍐欏叆娉㈢壒鐜�...");
+ } else if (nextCmd.startsWith(CMD.EXIT_SETTING.substring(0, 10))) {
+ tvStatus.setText("姝e湪閫�鍑鸿瀹氭ā寮�...");
+ }
+
+ sendCmdWithCrc(nextCmd);
+ } else {
+ // 闃熷垪涓虹┖锛屽叏閮ㄥ畬鎴�
+ currentExecutingCmd = "";
+ tvStatus.setText("鍙傛暟鍐欏叆瀹屾垚");
+ Toast.makeText(getContext(), "鍙傛暟鍐欏叆鎴愬姛", Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ /**
+ * 瑙f瀽鐩戞帶鏁版嵁杩斿洖 (鏄惁鏈夌幓鐠冦�佸湪绾跨姸鎬�)
+ */
+ private void parseDataResponse(String hex) {
+ try {
+ // 瑙f瀽鏄惁鏈夌幓鐠�: 绗�11-18浣� (8涓瓧绗� = 32浣�)
+ // 绱㈠紩 10-17
+ String glassHex = hex.substring(10, 18);
+ appendLog("瑙f瀽鐜荤拑鏁版嵁: " + glassHex);
+
+ // 鐩存帴瑙f瀽 hex 涓� long (Big Endian)
+ // "00000004" -> 4 -> ...00100 -> Bit 2 -> Box 3
+ long glassBits = Long.parseLong(glassHex, 16);
+
+ String onlineHex = hex.substring(18, 26);
+ appendLog("瑙f瀽鍦ㄧ嚎鏁版嵁: " + onlineHex);
+ long onlineBits = Long.parseLong(onlineHex, 16);
+
+ // 鏇存柊30涓牸瀛愮殑鐘舵��
+ for (BoxStatus box : boxStatusList) {
+ int bitIndex = box.id - 1; // 瀵瑰簲浣嶇储寮� 0-29
+ if (bitIndex >= 0 && bitIndex < 32) {
+ // 妫�鏌ュ搴斾綅鏄惁涓�1
+ box.hasGlass = ((glassBits >> bitIndex) & 1) == 1;
+ box.isOnline = ((onlineBits >> bitIndex) & 1) == 1;
+ }
+ }
+
+ // 鍒锋柊鍒楄〃鏄剧ず
+ if (mAdapter != null) {
+ mAdapter.notifyDataSetChanged();
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ tvStatus.setText("鏁版嵁瑙f瀽閿欒: " + e.getMessage());
+ appendLog("鏁版嵁瑙f瀽閿欒: " + e.getMessage());
+ }
+ }
+
+
+
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ return inflater.inflate(R.layout.fragment_settings, container, false);
+ }
+
+ @Override
+ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+
+ // Initialize box status list
+ boxStatusList.clear();
+ for (int i = 1; i <= 30; i++) {
+ boxStatusList.add(new BoxStatus(i));
+ }
+
+ initView(view);
+
+ // 濡傛灉宸茬粡杩炴帴锛岃嚜鍔ㄨЕ鍙戣鍙�
+ if (BleGlobalManager.getInstance().isConnected()) {
+ triggerAutoRead();
+ }
+ }
+
+ private void triggerAutoRead() {
+ // 浣跨敤闃叉姈鏈哄埗锛岄伩鍏嶇煭鏃堕棿鍐呭娆¤Е鍙�
+ debounceHandler.removeCallbacks(autoReadRunnable);
+ debounceHandler.postDelayed(autoReadRunnable, DEBOUNCE_DELAY_MS);
+ }
+
+ private void showLoading(String msg) {
+ if (mLoadingDialog != null && mLoadingDialog.isShowing()) {
+ mLoadingDialog.dismiss();
+ }
+ mLoadingDialog = new QMUITipDialog.Builder(getContext())
+ .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
+ .setTipWord(msg)
+ .create();
+ // 鍏佽鐐瑰嚮澶栭儴鎴栬繑鍥為敭鍙栨秷 loading锛堝彧鏄叧闂� dialog锛�
+ mLoadingDialog.setCancelable(true);
+ mLoadingDialog.setCanceledOnTouchOutside(true);
+ mLoadingDialog.show();
+ }
+
+ private void dismissLoading() {
+ if (mLoadingDialog != null && mLoadingDialog.isShowing()) {
+ mLoadingDialog.dismiss();
+ }
+ }
+
+ private void initView(View view) {
+ rvGrid = view.findViewById(R.id.rv_grid);
+ etLayer = view.findViewById(R.id.et_layer);
+ etStation = view.findViewById(R.id.et_station);
+ spinnerBaud = view.findViewById(R.id.spinner_baud);
+ btnWriteAll = view.findViewById(R.id.btn_write_all);
+ btnReadData = view.findViewById(R.id.btn_read_data);
+ btnReadParam = view.findViewById(R.id.btn_read_param);
+ btnClearLog = view.findViewById(R.id.btn_clear_log);
+ tvStatus = view.findViewById(R.id.tv_status);
+ tvLog = view.findViewById(R.id.tv_log);
+ svLog = view.findViewById(R.id.sv_log);
+ tvLayerStatus = view.findViewById(R.id.tv_layer_status);
+ tvStationStatus = view.findViewById(R.id.tv_station_status);
+ tvBaudStatus = view.findViewById(R.id.tv_baud_status);
+
+ // 瑙e喅鏃ュ織鍖哄煙婊戝姩鍐茬獊
+ svLog.setOnTouchListener((v, event) -> {
+ v.getParent().requestDisallowInterceptTouchEvent(true);
+ if ((event.getAction() & android.view.MotionEvent.ACTION_MASK) == android.view.MotionEvent.ACTION_UP) {
+ v.getParent().requestDisallowInterceptTouchEvent(false);
+ }
+ return false;
+ });
+
+ // Restore logs if any
+ if (logBuilder.length() > 0) {
+ tvLog.setText(Html.fromHtml(logBuilder.toString()));
+ } else {
+ logBuilder.append("鏃ュ織璁板綍:<br>");
+ tvLog.setText(Html.fromHtml(logBuilder.toString()));
+ }
+
+ // Grid Setup
+ // 10 columns to match the image (10 boxes per row)
+ // Since we are in a horizontal scroll view, this will layout correctly
+ rvGrid.setLayoutManager(new GridLayoutManager(getContext(), 10));
+ mAdapter = new GridAdapter();
+ rvGrid.setAdapter(mAdapter);
+
+ // Spinner Setup
+ String[] baudRates = new String[]{"156Kbps", "625Kbps", "2.5Mbps", "5Mbps", "10Mbps"};
+ ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, baudRates);
+ spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ spinnerBaud.setAdapter(spinnerAdapter);
+ spinnerBaud.setSelection(0); // Select 156Kbps by default
+
+ // Button Listeners
+ btnWriteAll.setOnClickListener(v -> {
+ if (!BleGlobalManager.getInstance().isConnected()) {
+ Toast.makeText(getContext(), "璇峰厛杩炴帴钃濈墮", Toast.LENGTH_SHORT).show();
+ appendLog("閿欒: 钃濈墮鏈繛鎺�");
+ return;
+ }
+
+ String stationStr = etStation.getText().toString().trim();
+ if (stationStr.isEmpty()) {
+ Toast.makeText(getContext(), "璇疯緭鍏ョ珯鍙�", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ try {
+ int station = Integer.parseInt(stationStr);
+ if (station < 1 || station > 64) {
+ Toast.makeText(getContext(), "绔欏彿鑼冨洿鏃犳晥(1-64)", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ } catch (NumberFormatException e) {
+ Toast.makeText(getContext(), "璇疯緭鍏ユ湁鏁堢殑鏁板瓧", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ // 鏋勯�犳寚浠ら槦鍒�
+ cmdQueue.clear();
+
+ // 1. 杩涘叆璁惧畾
+ cmdQueue.offer(CMD.ENTER_SETTING);
+
+ // 2. 鍐欏叆绔欏彿
+ int station = Integer.parseInt(stationStr);
+ String stationHex = String.format("%02X", station);
+ cmdQueue.offer(CMD.WRITE_STATION_NUM + stationHex);
+
+ // 3. 鍐欏叆娉㈢壒鐜�
+ int baudIndex = spinnerBaud.getSelectedItemPosition();
+ String baudHex = String.format("%02X", baudIndex);
+ cmdQueue.offer(CMD.WRITE_BAUD_RATE + baudHex);
+
+ // 4. 閫�鍑鸿瀹�
+ cmdQueue.offer(CMD.EXIT_SETTING);
+
+ // 寮�濮嬫墽琛�
+ processNextCmd();
+ });
+
+ btnReadData.setOnClickListener(v -> {
+ if (BleGlobalManager.getInstance().isConnected()) {
+ tvStatus.setText("鐘舵�侊細姝e湪璇诲彇鏁版嵁...");
+ sendCmdWithCrc(CMD.READ_DATA);
+ } else {
+ Toast.makeText(getContext(), "璇峰厛杩炴帴钃濈墮", Toast.LENGTH_SHORT).show();
+ appendLog("閿欒: 钃濈墮鏈繛鎺�");
+ }
+ });
+
+ btnReadParam.setOnClickListener(v -> {
+ if (BleGlobalManager.getInstance().isConnected()) {
+ tvStatus.setText("鐘舵�侊細姝e湪璇诲彇鍙傛暟...");
+ sendCmdWithCrc(CMD.READ_FLOORS);
+ new android.os.Handler().postDelayed(() -> {
+ sendCmdWithCrc(CMD.READ_STATION_NUM);
+ }, 200);
+ new android.os.Handler().postDelayed(() -> {
+ sendCmdWithCrc(CMD.READ_BAUD_RATE);
+ }, 400);
+ } else {
+ Toast.makeText(getContext(), "璇峰厛杩炴帴钃濈墮", Toast.LENGTH_SHORT).show();
+ appendLog("閿欒: 钃濈墮鏈繛鎺�");
+ }
+ });
+
+ btnClearLog.setOnClickListener(v -> {
+ logBuilder.setLength(0);
+ logBuilder.append("鏃ュ織璁板綍:<br>");
+ tvLog.setText(Html.fromHtml(logBuilder.toString()));
+ });
+ }
+
+ private void appendLog(String msg) {
+ appendLog(msg, null);
+ }
+
+ private String getCmdDescription(String hex) {
+ if (hex == null) return "";
+
+ // 鍙戦�佹寚浠ゅ尮閰�
+ if (hex.startsWith(CMD.READ_DATA)) return "-璇绘暟鎹�";
+ if (hex.startsWith(CMD.READ_FLOORS)) return "-璇诲眰鏁�";
+ if (hex.startsWith(CMD.READ_STATION_NUM)) return "-璇荤珯鍙�";
+ if (hex.startsWith(CMD.READ_BAUD_RATE)) return "-璇绘尝鐗圭巼";
+
+ // 3B鎸囦护 (Enter/Exit) 鐗规畩澶勭悊
+ if (hex.startsWith(CMD.ENTER_SETTING.substring(0, 8))) {
+ // 1. 涓婁笅鏂囦紭鍏�: 濡傛灉褰撳墠鏈夋鍦ㄦ墽琛岀殑鎸囦护锛屼互褰撳墠鎸囦护涓哄噯
+ if (!currentExecutingCmd.isEmpty()) {
+ if (currentExecutingCmd.startsWith(CMD.ENTER_SETTING)) return "-杩涘叆璁惧畾";
+ if (currentExecutingCmd.startsWith(CMD.EXIT_SETTING)) return "-閫�鍑鸿瀹�";
+ }
+
+ // 2. 绮剧‘鍖归厤閫�鍑烘寚浠�
+ if (hex.startsWith(CMD.EXIT_SETTING)) return "-閫�鍑鸿瀹�";
+
+ // 3. 榛樿鎯呭喌: 涓婁笅鏂囦负绌轰笖闈炴槑纭��鍑烘寚浠わ紝浼樺厛鍒ゅ畾涓洪��鍑鸿瀹�
+ // (淇: 浠庡弬鏁拌瀹氶〉杩斿洖鏃讹紝鏀跺埌鐨勯��鍑哄搷搴斾細琚鍒や负杩涘叆璁惧畾)
+ return "-閫�鍑鸿瀹�";
+ }
+
+ if (hex.startsWith(CMD.ENTER_SETTING)) return "-杩涘叆璁惧畾";
+ if (hex.startsWith(CMD.EXIT_SETTING)) return "-閫�鍑鸿瀹�";
+ if (hex.startsWith(CMD.WRITE_STATION_NUM)) return "-鍐欑珯鍙�";
+ if (hex.startsWith(CMD.WRITE_BAUD_RATE)) return "-鍐欐尝鐗圭巼";
+
+ // 鎺ユ敹鏁版嵁鍖归厤
+ // 璇绘暟鎹繑鍥�: A55A0301...
+ if (hex.startsWith(CMD.READ_DATA.substring(0, 8))) return "-璇绘暟鎹�";
+
+ // 璇诲弬鏁拌繑鍥�
+ if (hex.length() >= 8) {
+ if (hex.startsWith(CMD.READ_FLOORS.substring(0, 8))) return "-璇诲眰鏁�";
+ if (hex.startsWith(CMD.READ_STATION_NUM.substring(0, 8))) return "-璇荤珯鍙�";
+ if (hex.startsWith(CMD.READ_BAUD_RATE.substring(0, 8))) return "-璇绘尝鐗圭巼";
+ }
+
+ // 鍐欏叆杩斿洖 (A55A06寮�澶�)
+ if (hex.startsWith("A55A06") && hex.length() >= 12) {
+ return "-鍐欏叆杩斿洖";
+ }
+
+ return "";
+ }
+
+ private void appendLog(String msg, Boolean isSent) {
+ String time = com.blankj.utilcode.util.TimeUtils.getNowString(new java.text.SimpleDateFormat("HH:mm:ss.SSS"));
+
+ String displayMsg = msg;
+ String cmdDesc = "";
+
+ // 濡傛灉鏄� hex 鎸囦护 (绾� 0-9 A-F a-f)锛屽姞绌烘牸鏍煎紡鍖�
+ if (msg.matches("^[0-9A-Fa-f]+$")) {
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < msg.length(); i += 2) {
+ if (i + 2 <= msg.length()) {
+ sb.append(msg.substring(i, i + 2)).append(" ");
+ } else {
+ sb.append(msg.substring(i));
+ }
+ }
+ displayMsg = sb.toString().trim();
+
+ // 鑾峰彇鎸囦护鎻忚堪
+ cmdDesc = getCmdDescription(msg);
+ }
+
+ String logLine;
+ if (isSent != null) {
+ String color = isSent ? "#1890ff" : "#05aa87"; // Blue for sent, Green for received
+ // 鎷兼帴鍒板墠缂�鍚庨潰: "鍙戦��-璇荤珯鍙�: " 鎴� "鏀跺埌-璇荤珯鍙�: "
+ String prefix = (isSent ? "鍙戦��" : "鏀跺埌") + cmdDesc + ": ";
+ logLine = time + " <font color='" + color + "'>" + prefix + displayMsg + "</font><br>";
+ } else {
+ // 鏅�氭棩蹇�
+ logLine = time + " " + displayMsg + "<br>";
+ }
+
+ logBuilder.append(logLine);
+ if (tvLog != null) {
+ tvLog.setText(Html.fromHtml(logBuilder.toString()));
+ if (svLog != null) {
+ svLog.post(() -> svLog.fullScroll(View.FOCUS_DOWN));
+ }
+ }
+ }
+
+ private void sendCmdWithCrc(String cmd) {
+ if (!BleGlobalManager.getInstance().isConnected()) {
+ Toast.makeText(getContext(), "璇峰厛杩炴帴钃濈墮", Toast.LENGTH_SHORT).show();
+ appendLog("閿欒: 钃濈墮鏈繛鎺�");
+ return;
+ }
+
+ byte[] cmdBytes = BleGlobalManager.hexStringToBytes(cmd);
+ if (cmdBytes != null) {
+ String crc = CRCutil.getCRC(cmdBytes);
+ // Pad CRC to 4 chars if needed
+ while (crc.length() < 4) {
+ crc = "0" + crc;
+ }
+ String fullCmd = cmd + crc.toUpperCase();
+
+ appendLog(fullCmd, true); // true for sent (Blue)
+ BleGlobalManager.getInstance().sendCmd(fullCmd);
+ } else {
+ appendLog("閿欒: 鎸囦护杞崲澶辫触");
+ }
+ }
+
+ private class GridAdapter extends RecyclerView.Adapter<GridAdapter.ViewHolder> {
+
+ @NonNull
+ @Override
+ public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_grid_box, parent, false);
+ return new ViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
+ // Calculate Box ID based on 3 rows of 10, Right to Left logic as seen in image
+ // Row 1 (pos 0-9): 10 ... 1
+ // Row 2 (pos 10-19): 20 ... 11
+ // Row 3 (pos 20-29): 30 ... 21
+
+ int row = position / 10;
+ int col = position % 10;
+ int boxId = (row + 1) * 10 - col;
+
+ holder.tvBoxNumber.setText(String.valueOf(boxId));
+
+ // Find status for this box
+ BoxStatus status = null;
+ for (BoxStatus s : boxStatusList) {
+ if (s.id == boxId) {
+ status = s;
+ break;
+ }
+ }
+
+ if (status != null) {
+ // Priority: Online > Glass
+ // User requirement: "浼樺厛鏄剧ず鏄惁鍦ㄧ嚎" (Prioritize displaying online status)
+ // "19-26涓轰篃鏄�16杩涘埗锛岃В鏋愭垚浜岃繘鍒�32浠g爜鎴戣繖30涓牸瀛愭槸鍚﹀湪绾�"
+ // Usually this means if offline, show offline color. If online, show state (glass/no glass).
+
+ if (!status.isOnline) {
+ holder.viewBox.setBackgroundResource(R.drawable.bg_box_offline); // Offline (Grey)
+ } else {
+ if (status.hasGlass) {
+ holder.viewBox.setBackgroundResource(R.drawable.bg_box_full); // Green
+ } else {
+ holder.viewBox.setBackgroundResource(R.drawable.bg_box_empty); // Online but empty (White)
+ }
+ }
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return 30;
+ }
+
+ class ViewHolder extends RecyclerView.ViewHolder {
+ TextView tvBoxNumber;
+ View viewBox;
+
+ public ViewHolder(@NonNull View itemView) {
+ super(itemView);
+ tvBoxNumber = itemView.findViewById(R.id.tv_box_number);
+ viewBox = itemView.findViewById(R.id.view_box);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/shlb/comb/manager/BleGlobalManager.java b/app/src/main/java/com/shlb/comb/manager/BleGlobalManager.java
new file mode 100644
index 0000000..ce4da21
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/manager/BleGlobalManager.java
@@ -0,0 +1,268 @@
+package com.shlb.comb.manager;
+
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCallback;
+import android.bluetooth.BluetoothGattCharacteristic;
+import android.bluetooth.BluetoothGattDescriptor;
+import android.bluetooth.BluetoothGattService;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.widget.Toast;
+
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.shlb.comb.event.UpdateEvent;
+
+import org.greenrobot.eventbus.EventBus;
+
+import java.util.List;
+import java.util.UUID;
+
+public class BleGlobalManager {
+ private static volatile BleGlobalManager instance;
+ private BluetoothConnectManager connectManager;
+ private BluetoothLeDevice mDevice;
+ private BluetoothGatt mGatt;
+
+ private BluetoothGattCharacteristic writeCharacteristic;
+ private BluetoothGattCharacteristic notifyCharacteristic;
+
+ private Context mContext;
+ private Handler mHandler = new Handler(Looper.getMainLooper());
+
+ private BleGlobalManager() {
+ }
+
+ public static BleGlobalManager getInstance() {
+ if (instance == null) {
+ synchronized (BleGlobalManager.class) {
+ if (instance == null) {
+ instance = new BleGlobalManager();
+ }
+ }
+ }
+ return instance;
+ }
+
+ public BluetoothLeDevice getBluetoothLeDevice() {
+ return mDevice;
+ }
+
+ public void connect(Context context, BluetoothLeDevice device) {
+ this.mContext = context;
+ if (connectManager == null) {
+ connectManager = BluetoothConnectManager.getInstance(mContext);
+ connectManager.addConnectStateListener(stateListener);
+ }
+ // 姣忔杩炴帴閮介噸鏂拌缃瓽attCallback锛岄槻姝㈣鍏朵粬Activity(濡俆estActivity)瑕嗙洊
+ connectManager.setBluetoothGattCallback(gattCallback);
+
+ this.mDevice = device;
+ connectManager.connect(device.getAddress());
+ }
+
+ public void disconnect() {
+ if (connectManager != null && mDevice != null) {
+ connectManager.disconnect(mDevice.getAddress());
+ }
+ resetCharacteristics();
+ }
+
+ public boolean isConnected() {
+ return connectManager != null && connectManager.isConnectDevice();
+ }
+
+ private void resetCharacteristics() {
+ writeCharacteristic = null;
+ notifyCharacteristic = null;
+ mGatt = null;
+ }
+
+ private ConnectStateListener stateListener = new ConnectStateListener() {
+ @Override
+ public void onConnectStateChanged(String address, ConnectState state) {
+ if (state == ConnectState.CONNECTED) {
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.CONN_STATU, BluetoothProfile.STATE_CONNECTED, "conn_statu"));
+ } else if (state == ConnectState.NORMAL) {
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.CONN_STATU, BluetoothProfile.STATE_DISCONNECTED, "conn_statu"));
+ }
+
+ if (state == ConnectState.NORMAL) {
+ resetCharacteristics();
+ }
+ }
+ };
+
+ private BluetoothGattCallback gattCallback = new BluetoothGattCallback() {
+ @Override
+ public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
+ super.onConnectionStateChange(gatt, status, newState);
+ if (newState == BluetoothProfile.STATE_CONNECTED) {
+ mGatt = gatt;
+ }
+ }
+
+ @Override
+ public void onServicesDiscovered(BluetoothGatt gatt, int status) {
+ super.onServicesDiscovered(gatt, status);
+ if (status == BluetoothGatt.GATT_SUCCESS) {
+ mHandler.post(() -> findAndEnableCharacteristics(gatt.getServices()));
+ }
+ }
+
+ @Override
+ public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
+ super.onCharacteristicWrite(gatt, characteristic, status);
+ // Optional: Broadcast write status
+ }
+
+ @Override
+ public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
+ super.onCharacteristicChanged(gatt, characteristic);
+ byte[] value = characteristic.getValue();
+ String hex = bytesToHexString(value);
+ // Broadcast received data
+ // You can define a custom event or interface for this
+ EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.DEVICE_INFO, 0, hex));
+ }
+ };
+
+ private void findAndEnableCharacteristics(List<BluetoothGattService> services) {
+ // Simple logic: Find first Write and first Notify in the same service if possible
+ // Or just find any Write and any Notify
+
+ for (BluetoothGattService service : services) {
+ for (BluetoothGattCharacteristic characteristic : service.getCharacteristics()) {
+ int props = characteristic.getProperties();
+
+ // Find Write Characteristic
+ if ((props & BluetoothGattCharacteristic.PROPERTY_WRITE) > 0 ||
+ (props & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) > 0) {
+ // TODO 寰呯‘璁�
+ if (writeCharacteristic == null && characteristic.getUuid().toString().startsWith("0000ff") ) {
+ writeCharacteristic = characteristic;
+
+ // Once we found a write char, let's look for a notify char in the SAME service
+ findNotifyInService(service);
+
+ if (notifyCharacteristic != null) {
+ // Found both in same service, we are good
+ return;
+ }
+ }
+ }
+ }
+ }
+
+ if (writeCharacteristic != null && notifyCharacteristic == null) {
+ // If we didn't find notify in the same service, look everywhere
+ for (BluetoothGattService service : services) {
+ findNotifyInService(service);
+ if (notifyCharacteristic != null) break;
+ }
+ }
+
+ if (writeCharacteristic != null) {
+ Toast.makeText(mContext, "鏈嶅姟宸插氨缁� (Write: " + writeCharacteristic.getUuid().toString().substring(0,8) + ")", Toast.LENGTH_SHORT).show();
+ } else {
+ Toast.makeText(mContext, "鏈壘鍒板彲鍐欑壒寰佸��", Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ private void findNotifyInService(BluetoothGattService service) {
+ for (BluetoothGattCharacteristic c : service.getCharacteristics()) {
+ int props = c.getProperties();
+ if ((props & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0 ||
+ (props & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0) {
+ notifyCharacteristic = c;
+ enableNotification(c);
+ return;
+ }
+ }
+ }
+
+ private void enableNotification(BluetoothGattCharacteristic characteristic) {
+ if (mGatt == null || characteristic == null) return;
+
+ boolean success = mGatt.setCharacteristicNotification(characteristic, true);
+ if (success) {
+ BluetoothGattDescriptor descriptor = characteristic.getDescriptor(
+ UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"));
+
+ if (descriptor != null) {
+ int props = characteristic.getProperties();
+ byte[] value = null;
+ if ((props & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) {
+ value = BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE;
+ } else if ((props & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0) {
+ value = BluetoothGattDescriptor.ENABLE_INDICATION_VALUE;
+ }
+
+ if (value != null) {
+ descriptor.setValue(value);
+ mGatt.writeDescriptor(descriptor);
+ }
+ }
+ }
+ }
+
+ public void sendCmd(String hexCmd) {
+ if (writeCharacteristic == null || mGatt == null) {
+ Toast.makeText(mContext, "钃濈墮鏈繛鎺ユ垨鏈嶅姟鏈壘鍒�", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ byte[] data = hexStringToBytes(hexCmd);
+ if (data == null) {
+ Toast.makeText(mContext, "鎸囦护鏍煎紡閿欒", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ writeCharacteristic.setValue(data);
+ mGatt.writeCharacteristic(writeCharacteristic);
+ }
+
+ public static byte[] hexStringToBytes(String hexString) {
+ if (hexString == null || hexString.equals("")) {
+ return null;
+ }
+ hexString = hexString.toUpperCase();
+ hexString = hexString.replace(" ", "");
+ if (hexString.length() % 2 != 0) {
+ hexString = "0" + hexString;
+ }
+
+ int length = hexString.length() / 2;
+ char[] hexChars = hexString.toCharArray();
+ byte[] d = new byte[length];
+ for (int i = 0; i < length; i++) {
+ int pos = i * 2;
+ d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
+ }
+ return d;
+ }
+
+ private static byte charToByte(char c) {
+ return (byte) "0123456789ABCDEF".indexOf(c);
+ }
+
+ public static String bytesToHexString(byte[] src) {
+ StringBuilder stringBuilder = new StringBuilder("");
+ if (src == null || src.length <= 0) {
+ return null;
+ }
+ for (int i = 0; i < src.length; i++) {
+ int v = src[i] & 0xFF;
+ String hv = Integer.toHexString(v);
+ if (hv.length() < 2) {
+ stringBuilder.append(0);
+ }
+ stringBuilder.append(hv);
+ }
+ return stringBuilder.toString().toUpperCase();
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/model/BluetoothLeDeviceStore.java b/app/src/main/java/com/shlb/comb/model/BluetoothLeDeviceStore.java
new file mode 100644
index 0000000..e2b39f9
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/model/BluetoothLeDeviceStore.java
@@ -0,0 +1,150 @@
+package com.shlb.comb.model;
+
+
+import com.blakequ.bluetooth_manager_lib.device.BeaconType;
+import com.blakequ.bluetooth_manager_lib.device.BeaconUtils;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDevice;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+import com.shlb.comb.util.CsvWriterHelper;
+import com.shlb.comb.util.TimeFormatter;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+
+public class BluetoothLeDeviceStore {
+ private final Map<String, BluetoothLeDevice> mDeviceMap;
+
+
+ public BluetoothLeDeviceStore() {
+ mDeviceMap = new HashMap<>();
+ }
+
+ public void addDevice(final BluetoothLeDevice device) {
+ //if (mDeviceMap.containsKey(device.getAddress())) {
+ // mDeviceMap.get(device.getAddress()).updateRssiReading(device.getTimestamp(), device.getRssi());
+ //} else {
+ // mDeviceMap.put(device.getAddress(), device);
+ //}
+ mDeviceMap.put(device.getAddress(), device);
+ }
+
+ public void clear() {
+ mDeviceMap.clear();
+ }
+
+
+ public List<BluetoothLeDevice> getDeviceList() {
+ final List<BluetoothLeDevice> methodResult = new ArrayList<>(mDeviceMap.values());
+ if(methodResult==null || methodResult.size()< 1) return methodResult;
+
+ Collections.sort(methodResult, new Comparator<BluetoothLeDevice>() {
+
+ @Override
+ public int compare(final BluetoothLeDevice arg0, final BluetoothLeDevice arg1) {
+ return arg0.getAddress().compareToIgnoreCase(arg1.getAddress());
+ }
+ });
+
+ return methodResult;
+ }
+
+ public int size(){
+ return mDeviceMap.size();
+ }
+
+ private String getListAsCsv() {
+ final List<BluetoothLeDevice> list = getDeviceList();
+ final StringBuilder sb = new StringBuilder();
+ sb.append(CsvWriterHelper.addStuff("mac"));
+ sb.append(CsvWriterHelper.addStuff("name"));
+ sb.append(CsvWriterHelper.addStuff("firstTimestamp"));
+ sb.append(CsvWriterHelper.addStuff("firstRssi"));
+ sb.append(CsvWriterHelper.addStuff("currentTimestamp"));
+ sb.append(CsvWriterHelper.addStuff("currentRssi"));
+ sb.append(CsvWriterHelper.addStuff("adRecord"));
+ sb.append(CsvWriterHelper.addStuff("iBeacon"));
+ sb.append(CsvWriterHelper.addStuff("uuid"));
+ sb.append(CsvWriterHelper.addStuff("major"));
+ sb.append(CsvWriterHelper.addStuff("minor"));
+ sb.append(CsvWriterHelper.addStuff("txPower"));
+ sb.append(CsvWriterHelper.addStuff("distance"));
+ sb.append(CsvWriterHelper.addStuff("accuracy"));
+ sb.append('\n');
+
+ for (final BluetoothLeDevice device : list) {
+ sb.append(CsvWriterHelper.addStuff(device.getAddress()));
+ sb.append(CsvWriterHelper.addStuff(device.getName()));
+ sb.append(CsvWriterHelper.addStuff(TimeFormatter.getIsoDateTime(device.getFirstTimestamp())));
+ sb.append(CsvWriterHelper.addStuff(device.getFirstRssi()));
+ sb.append(CsvWriterHelper.addStuff(TimeFormatter.getIsoDateTime(device.getTimestamp())));
+ sb.append(CsvWriterHelper.addStuff(device.getRssi()));
+ sb.append(CsvWriterHelper.addStuff(ByteUtils.byteArrayToHexString(device.getScanRecord())));
+ final boolean isIBeacon = BeaconUtils.getBeaconType(device) == BeaconType.IBEACON;
+ final String uuid;
+ final String minor;
+ final String major;
+ final String txPower;
+ final String distance;
+ final String accuracy;
+
+ if (isIBeacon) {
+ final IBeaconDevice beacon = new IBeaconDevice(device);
+ uuid = String.valueOf(beacon.getUUID());
+ minor = String.valueOf(beacon.getMinor());
+ major = String.valueOf(beacon.getMajor());
+ txPower = String.valueOf(beacon.getCalibratedTxPower());
+ distance = beacon.getDistanceDescriptor().toString().toLowerCase(Locale.US);
+ accuracy = String.valueOf(beacon.getAccuracy());
+ } else {
+ uuid = "";
+ minor = "";
+ major = "";
+ txPower = "";
+ distance = "";
+ accuracy = "";
+ }
+
+ sb.append(CsvWriterHelper.addStuff(isIBeacon));
+ sb.append(CsvWriterHelper.addStuff(uuid));
+ sb.append(CsvWriterHelper.addStuff(minor));
+ sb.append(CsvWriterHelper.addStuff(major));
+ sb.append(CsvWriterHelper.addStuff(txPower));
+ sb.append(CsvWriterHelper.addStuff(distance));
+ sb.append(CsvWriterHelper.addStuff(accuracy));
+
+ sb.append('\n');
+ }
+
+ return sb.toString();
+ }
+
+
+ private static FileWriter generateFile(final File file, final String contents) {
+ FileWriter writer = null;
+ try {
+ writer = new FileWriter(file);
+ writer.append(contents);
+ writer.flush();
+
+ } catch (final IOException e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ writer.close();
+ } catch (final IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return writer;
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/model/HomeItem.java b/app/src/main/java/com/shlb/comb/model/HomeItem.java
new file mode 100644
index 0000000..82febe6
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/model/HomeItem.java
@@ -0,0 +1,40 @@
+package com.shlb.comb.model;
+
+public class HomeItem {
+ private String title;
+ private Class<?> activity;
+ private int imageResource;
+
+ public HomeItem() {
+ }
+
+ public HomeItem(String title, Class<?> activity, int imageResource) {
+ this.title = title;
+ this.activity = activity;
+ this.imageResource = imageResource;
+ }
+
+ public int getImageResource() {
+ return imageResource;
+ }
+
+ public void setImageResource(int imageResource) {
+ this.imageResource = imageResource;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public Class<?> getActivity() {
+ return activity;
+ }
+
+ public void setActivity(Class<?> activity) {
+ this.activity = activity;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/shlb/comb/util/CMD.java b/app/src/main/java/com/shlb/comb/util/CMD.java
new file mode 100644
index 0000000..49aa4ab
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/util/CMD.java
@@ -0,0 +1,67 @@
+package com.shlb.comb.util;
+
+public class CMD {
+ //杩涘叆
+ public final static String GETINTO = "A55A060100000000002F35";
+ //娓呴櫎
+ public final static String CLEAN = "A55A060200000000002F06";
+ //閫�鍑�
+ public final static String EXIT = "A55A060400000000002F60";
+
+
+
+ public final static String ADDR_PREFIX = "A55A060300";
+ public final static String ADDR_SUFFIX = "000000";
+
+
+ //璇诲彇鍓嶇紑
+ public final static String READ_PREFIX = "A55A03";
+ //鍐欏叆鍓嶇紑
+ public final static String WRITE_SUFFIX = "A55A06";
+
+
+ //璇绘暟鎹�
+ public final static String READ_DATA = READ_PREFIX + "0100";
+ //杩涘叆璁惧畾
+ public final static String ENTER_SETTING = WRITE_SUFFIX + "3B0101";
+ //閫�鍑鸿瀹�
+ public final static String EXIT_SETTING = WRITE_SUFFIX + "3B0100";
+
+
+ //璇诲眰鏁�
+ public final static String READ_FLOORS = READ_PREFIX + "080100";
+ //璇荤珯鍙�
+ public final static String READ_STATION_NUM = READ_PREFIX + "040100";
+ //璇绘尝鐗圭巼
+ public final static String READ_BAUD_RATE = READ_PREFIX + "050100";
+ //璇讳富鏉跨増鏈�
+ public final static String READ_BOARD_VERSION = READ_PREFIX + "0A0100";
+ //璇讳紶鎰熷櫒鐗堟湰
+ public final static String READ_SENSOR_VERSION = READ_PREFIX + "0B0100";
+
+
+
+ //鍐欑珯鍙�
+ public final static String WRITE_STATION_NUM = WRITE_SUFFIX + "3401";
+ //鍐欐尝鐗圭巼
+ public final static String WRITE_BAUD_RATE = WRITE_SUFFIX + "3501";
+
+ //寮�濮嬬紪鍧�
+ public final static String WRITE_START_ADDRESS = WRITE_SUFFIX + "3A0100";
+ //缁撴潫缂栧潃
+ public final static String WRITE_END_ADDRESS = WRITE_SUFFIX + "3A0101";
+ //寮�濮嬭嚜妫�
+ public final static String WRITE_START_CHECK = WRITE_SUFFIX + "390100";
+ //缁撴潫鑷
+ public final static String WRITE_END_CHECK = WRITE_SUFFIX + "390101";
+ // 闃堝�艰瀹�
+ public final static String WRITE_THRESHOLD_SETTING = WRITE_SUFFIX + "3202";
+ //鐏垫晱璁惧畾
+ public final static String WRITE_SENSITIVITY_SETTING = WRITE_SUFFIX + "3302";
+
+
+ //涓绘澘澶嶄綅
+ public final static String WRITE_BOARD_RESET = WRITE_SUFFIX + "360100";
+ //浼犳劅鍣ㄥ浣�
+ public final static String WRITE_SENSOR_RESET = WRITE_SUFFIX + "360101";
+}
diff --git a/app/src/main/java/com/shlb/comb/util/CRCutil.java b/app/src/main/java/com/shlb/comb/util/CRCutil.java
new file mode 100644
index 0000000..625a183
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/util/CRCutil.java
@@ -0,0 +1,34 @@
+package com.shlb.comb.util;
+
+public class CRCutil {
+ /**
+ * 璁$畻CRC16鏍¢獙鐮�
+ *
+ * @param bytes
+ * @return
+ */
+ public static String getCRC(byte[] bytes) {
+ int CRC = 0xFFFF;
+ int POLYNOMIAL = 0xA001;
+
+ int i, j,m,n;
+ for (i = 0; i < bytes.length; i++) {
+ CRC ^= ((int) bytes[i] & 0x000000ff);
+ for (j = 0; j < 8; j++) {
+ if ((CRC & 0x00000001) != 0) {
+ CRC >>= 1;
+ CRC ^= POLYNOMIAL;
+ } else {
+ CRC >>= 1;
+ }
+ }
+ }
+ m = CRC /256;
+ n = CRC%256;
+ CRC = n * 256 +m;
+ return Integer.toHexString(CRC);
+
+ }
+
+
+}
diff --git a/app/src/main/java/com/shlb/comb/util/Constants.java b/app/src/main/java/com/shlb/comb/util/Constants.java
new file mode 100644
index 0000000..f25ca9a
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/util/Constants.java
@@ -0,0 +1,15 @@
+package com.shlb.comb.util;
+
+import java.text.DecimalFormat;
+
+public class Constants {
+ public static final DecimalFormat DOUBLE_TWO_DIGIT_ACCURACY = new DecimalFormat("#.##");
+ public static final String TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
+
+ public static final String FILTER_SWITCH = "switch";
+ public static final String FILTER_NAME = "name";
+ public static final String FILTER_RSSI = "rssi";
+ public static final String SCAN_PERIOD = "scan";
+ public static final String PAUSE_PERIOD = "pause";
+ public static final String SHOW_SPINNER = "spinner";
+}
diff --git a/app/src/main/java/com/shlb/comb/util/CsvWriterHelper.java b/app/src/main/java/com/shlb/comb/util/CsvWriterHelper.java
new file mode 100644
index 0000000..849f539
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/util/CsvWriterHelper.java
@@ -0,0 +1,26 @@
+package com.shlb.comb.util;
+
+public class CsvWriterHelper {
+ private static final String QUOTE = "\"";
+
+ public static String addStuff(final Integer text) {
+ return QUOTE + text + QUOTE + ",";
+ }
+
+ public static String addStuff(final Long text) {
+ return QUOTE + text + QUOTE + ",";
+ }
+
+ public static String addStuff(final boolean value) {
+ return QUOTE + value + QUOTE + ",";
+ }
+
+ public static String addStuff(String text) {
+ if (text == null) {
+ text = "<blank>";
+ }
+ text = text.replace(QUOTE, "'");
+
+ return QUOTE + text.trim() + QUOTE + ",";
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/util/Singletion.java b/app/src/main/java/com/shlb/comb/util/Singletion.java
new file mode 100644
index 0000000..6488acc
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/util/Singletion.java
@@ -0,0 +1,36 @@
+package com.shlb.comb.util;
+
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鐢ㄤ簬瀛樺偍宸茶繛鎺ヨ摑鐗欐暟鎹�
+ */
+public class Singletion {
+ private static final Singletion mInstance = new Singletion();
+
+ private Singletion() {
+
+ }
+ public static Singletion getInstance() {
+ return mInstance;
+ }
+ //褰撳墠杩炴帴钃濈墮鐨勭殑鍙啓鏈嶅姟
+ public List<Map<String,String>> mbluetoothServices = new ArrayList<>();
+ //褰撳墠杩炴帴钃濈墮
+ public BluetoothLeDevice mDevice;
+
+ public boolean mConnected;
+
+ public String uuid;
+
+ public void clean(){
+ mbluetoothServices.clear();
+ mDevice = null;
+ }
+
+
+}
diff --git a/app/src/main/java/com/shlb/comb/util/TimeFormatter.java b/app/src/main/java/com/shlb/comb/util/TimeFormatter.java
new file mode 100644
index 0000000..f9e735b
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/util/TimeFormatter.java
@@ -0,0 +1,18 @@
+package com.shlb.comb.util;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+public class TimeFormatter {
+ private final static String FORMAT = "yyyy-MM-dd HH:mm:ss zzz";
+ private final static SimpleDateFormat FORMATTER = new SimpleDateFormat(FORMAT, Locale.CHINA);
+
+ public static String getIsoDateTime(final Date date) {
+ return FORMATTER.format(date);
+ }
+
+ public static String getIsoDateTime(final long millis) {
+ return getIsoDateTime(new Date(millis));
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/view/ParticleView.java b/app/src/main/java/com/shlb/comb/view/ParticleView.java
new file mode 100644
index 0000000..d03edee
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/view/ParticleView.java
@@ -0,0 +1,379 @@
+package com.shlb.comb.view;
+
+
+import android.animation.Animator;
+import android.animation.AnimatorSet;
+import android.animation.ValueAnimator;
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.LinearGradient;
+import android.graphics.Paint;
+import android.graphics.PointF;
+import android.graphics.Rect;
+import android.graphics.RectF;
+import android.graphics.Shader;
+import android.util.AttributeSet;
+import android.view.View;
+
+import com.shlb.comb.R;
+import com.shlb.comb.view.particleview.LineEvaluator;
+import com.shlb.comb.view.particleview.Particle;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+
+/**
+ * 浣滆�咃細 宸存帉 on 16/8/27 11:29
+ * Github: https://github.com/JeasonWong
+ */
+public class ParticleView extends View {
+
+ private final int STATUS_MOTIONLESS = 0;
+ private final int STATUS_PARTICLE_GATHER = 1;
+ private final int STATUS_TEXT_MOVING = 2;
+
+ private final int ROW_NUM = 10;
+ private final int COLUMN_NUM = 10;
+
+ private final int DEFAULT_MAX_TEXT_SIZE = sp2px(80);
+ private final int DEFAULT_MIN_TEXT_SIZE = sp2px(30);
+
+ public final int DEFAULT_TEXT_ANIM_TIME = 1000;
+ public final int DEFAULT_SPREAD_ANIM_TIME = 300;
+ public final int DEFAULT_HOST_TEXT_ANIM_TIME = 800;
+
+ private Paint mHostTextPaint;
+ private Paint mParticleTextPaint;
+ private Paint mCirclePaint;
+ private Paint mHostBgPaint;
+ private int mWidth, mHeight;
+
+ private Particle[][] mParticles = new Particle[ROW_NUM][COLUMN_NUM];
+ private Particle[][] mMinParticles = new Particle[ROW_NUM][COLUMN_NUM];
+
+ //鑳屾櫙鑹�
+ private int mBgColor;
+ //绮掑瓙鑹�
+ private int mParticleColor;
+ //榛樿绮掑瓙鏂囨澶у皬
+ private int mParticleTextSize = DEFAULT_MIN_TEXT_SIZE;
+
+ private int mStatus = STATUS_MOTIONLESS;
+
+ private ParticleAnimListener mParticleAnimListener;
+
+ //绮掑瓙鏂囨
+ private String mParticleText;
+ //涓绘枃妗�
+ private String mHostText;
+ //鎵╂暎瀹藉害
+ private float mSpreadWidth;
+ //Host鏂囧瓧灞曠幇瀹藉害
+ private float mHostRectWidth;
+ //绮掑瓙鏂囨鐨剎鍧愭爣
+ private float mParticleTextX;
+ //Host鏂囧瓧鐨剎鍧愭爣
+ private float mHostTextX;
+
+ //Text anim time in milliseconds
+ private int mTextAnimTime;
+ //Spread anim time in milliseconds
+ private int mSpreadAnimTime;
+ //HostText anim time in milliseconds
+ private int mHostTextAnimTime;
+
+ private PointF mStartMaxP, mEndMaxP;
+ private PointF mStartMinP, mEndMinP;
+
+ public ParticleView(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public ParticleView(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ initView(attrs);
+ }
+
+ private void initView(AttributeSet attrs) {
+
+ TypedArray typeArray = getContext().obtainStyledAttributes(attrs, R.styleable.ParticleView);
+ mHostText = null == typeArray.getString(R.styleable.ParticleView_pv_host_text) ? "" : typeArray.getString(R.styleable.ParticleView_pv_host_text);
+ mParticleText = null == typeArray.getString(R.styleable.ParticleView_pv_particle_text) ? "" : typeArray.getString(R.styleable.ParticleView_pv_particle_text);
+ mParticleTextSize = (int) typeArray.getDimension(R.styleable.ParticleView_pv_particle_text_size, DEFAULT_MIN_TEXT_SIZE);
+ int hostTextSize = (int) typeArray.getDimension(R.styleable.ParticleView_pv_host_text_size, DEFAULT_MIN_TEXT_SIZE);
+ mBgColor = typeArray.getColor(R.styleable.ParticleView_pv_background_color, 0xFF0867AB);
+ mParticleColor = typeArray.getColor(R.styleable.ParticleView_pv_text_color, 0xFFCEF4FD);
+ mTextAnimTime = typeArray.getInt(R.styleable.ParticleView_pv_text_anim_time, DEFAULT_TEXT_ANIM_TIME);
+ mSpreadAnimTime = typeArray.getInt(R.styleable.ParticleView_pv_text_anim_time, DEFAULT_SPREAD_ANIM_TIME);
+ mHostTextAnimTime = typeArray.getInt(R.styleable.ParticleView_pv_text_anim_time, DEFAULT_HOST_TEXT_ANIM_TIME);
+ typeArray.recycle();
+
+ mHostTextPaint = new Paint();
+ mHostTextPaint.setAntiAlias(true);
+ mHostTextPaint.setTextSize(hostTextSize);
+ mParticleTextPaint = new Paint();
+ mParticleTextPaint.setAntiAlias(true);
+ mCirclePaint = new Paint();
+ mCirclePaint.setAntiAlias(true);
+ mHostBgPaint = new Paint();
+ mHostBgPaint.setAntiAlias(true);
+ mHostBgPaint.setTextSize(hostTextSize);
+
+ mParticleTextPaint.setTextSize(mParticleTextSize);
+ mCirclePaint.setTextSize(mParticleTextSize);
+
+ mParticleTextPaint.setColor(mBgColor);
+ mHostTextPaint.setColor(mBgColor);
+ mCirclePaint.setColor(mParticleColor);
+ mHostBgPaint.setColor(mParticleColor);
+
+ }
+
+ @Override
+ protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+ super.onSizeChanged(w, h, oldw, oldh);
+ mWidth = w;
+ mHeight = h;
+
+ mStartMinP = new PointF(mWidth / 2 - getTextWidth(mParticleText, mParticleTextPaint) / 2f - dip2px(4), mHeight / 2 + getTextHeight(mHostText, mHostTextPaint) / 2 - getTextHeight(mParticleText, mParticleTextPaint) / 0.7f);
+ mEndMinP = new PointF(mWidth / 2 + getTextWidth(mParticleText, mParticleTextPaint) / 2f + dip2px(10), mHeight / 2 + getTextHeight(mHostText, mHostTextPaint) / 2);
+
+ for (int i = 0; i < ROW_NUM; i++) {
+ for (int j = 0; j < COLUMN_NUM; j++) {
+ mMinParticles[i][j] = new Particle(mStartMinP.x + (mEndMinP.x - mStartMinP.x) / COLUMN_NUM * j, mStartMinP.y + (mEndMinP.y - mStartMinP.y) / ROW_NUM * i, dip2px(0.8f));
+ }
+ }
+
+ mStartMaxP = new PointF(mWidth / 2 - DEFAULT_MAX_TEXT_SIZE, mHeight / 2 - DEFAULT_MAX_TEXT_SIZE);
+ mEndMaxP = new PointF(mWidth / 2 + DEFAULT_MAX_TEXT_SIZE, mHeight / 2 + DEFAULT_MAX_TEXT_SIZE);
+
+ for (int i = 0; i < ROW_NUM; i++) {
+ for (int j = 0; j < COLUMN_NUM; j++) {
+ mParticles[i][j] = new Particle(mStartMaxP.x + (mEndMaxP.x - mStartMaxP.x) / COLUMN_NUM * j, mStartMaxP.y + (mEndMaxP.y - mStartMaxP.y) / ROW_NUM * i, getTextWidth(mHostText + mParticleText, mParticleTextPaint) / (COLUMN_NUM * 1.8f));
+ }
+ }
+
+ Shader linearGradient = new LinearGradient(mWidth / 2 - getTextWidth(mParticleText, mCirclePaint) / 2f,
+ mHeight / 2 - getTextHeight(mParticleText, mCirclePaint) / 2,
+ mWidth / 2 - getTextWidth(mParticleText, mCirclePaint) / 2,
+ mHeight / 2 + getTextHeight(mParticleText, mCirclePaint) / 2,
+ new int[]{mParticleColor, Color.argb(120, getR(mParticleColor), getG(mParticleColor), getB(mParticleColor))}, null, Shader.TileMode.CLAMP);
+ mCirclePaint.setShader(linearGradient);
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+
+ if (mStatus == STATUS_PARTICLE_GATHER) {
+ for (int i = 0; i < ROW_NUM; i++) {
+ for (int j = 0; j < COLUMN_NUM; j++) {
+ canvas.drawCircle(mParticles[i][j].x, mParticles[i][j].y, mParticles[i][j].radius, mCirclePaint);
+ }
+ }
+ }
+
+ if (mStatus == STATUS_TEXT_MOVING) {
+ canvas.drawText(mHostText, mHostTextX, mHeight / 2 + getTextHeight(mHostText, mHostBgPaint) / 2, mHostBgPaint);
+ canvas.drawRect(mHostTextX + mHostRectWidth, mHeight / 2 - getTextHeight(mHostText, mHostBgPaint) / 1.2f, mHostTextX + getTextWidth(mHostText, mHostTextPaint), mHeight / 2 + getTextHeight(mHostText, mHostBgPaint) / 1.2f, mHostTextPaint);
+ }
+
+ if (mStatus == STATUS_PARTICLE_GATHER) {
+ canvas.drawRoundRect(new RectF(mWidth / 2 - mSpreadWidth, mStartMinP.y, mWidth / 2 + mSpreadWidth, mEndMinP.y), dip2px(2), dip2px(2), mHostBgPaint);
+ canvas.drawText(mParticleText, mWidth / 2 - getTextWidth(mParticleText, mParticleTextPaint) / 2, mStartMinP.y + (mEndMinP.y - mStartMinP.y) / 2 + getTextHeight(mParticleText, mParticleTextPaint) / 2, mParticleTextPaint);
+ } else if (mStatus == STATUS_TEXT_MOVING) {
+ canvas.drawRoundRect(new RectF(mParticleTextX - dip2px(4), mStartMinP.y, mParticleTextX + getTextWidth(mParticleText, mParticleTextPaint) + dip2px(4), mEndMinP.y), dip2px(2), dip2px(2), mHostBgPaint);
+ canvas.drawText(mParticleText, mParticleTextX, mStartMinP.y + (mEndMinP.y - mStartMinP.y) / 2 + getTextHeight(mParticleText, mParticleTextPaint) / 2, mParticleTextPaint);
+ }
+
+ }
+
+ private void startParticleAnim() {
+
+ mStatus = STATUS_PARTICLE_GATHER;
+
+ Collection<Animator> animList = new ArrayList<>();
+
+ ValueAnimator textAnim = ValueAnimator.ofInt(DEFAULT_MAX_TEXT_SIZE, mParticleTextSize);
+ textAnim.setDuration((int) (mTextAnimTime * 0.8f));
+ textAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator valueAnimator) {
+ int textSize = (int) valueAnimator.getAnimatedValue();
+ mParticleTextPaint.setTextSize(textSize);
+ }
+ });
+ animList.add(textAnim);
+
+ for (int i = 0; i < ROW_NUM; i++) {
+ for (int j = 0; j < COLUMN_NUM; j++) {
+ final int tempI = i;
+ final int tempJ = j;
+ ValueAnimator animator = ValueAnimator.ofObject(new LineEvaluator(), mParticles[i][j], mMinParticles[i][j]);
+ animator.setDuration(mTextAnimTime + ((int) (mTextAnimTime * 0.02f)) * i + ((int) (mTextAnimTime * 0.03f)) * j);
+ animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ mParticles[tempI][tempJ] = (Particle) animation.getAnimatedValue();
+ if (tempI == ROW_NUM - 1 && tempJ == COLUMN_NUM - 1) {
+ invalidate();
+ }
+ }
+ });
+ animList.add(animator);
+ }
+ }
+
+ AnimatorSet set = new AnimatorSet();
+ set.playTogether(animList);
+ set.start();
+
+ set.addListener(new AnimListener() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ startSpreadAnim();
+ }
+ });
+
+ }
+
+ private void startSpreadAnim() {
+ ValueAnimator animator = ValueAnimator.ofFloat(0, getTextWidth(mParticleText, mParticleTextPaint) / 2 + dip2px(4));
+ animator.setDuration(mSpreadAnimTime);
+ animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ mSpreadWidth = (float) animation.getAnimatedValue();
+ invalidate();
+ }
+ });
+ animator.addListener(new AnimListener() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ startHostTextAnim();
+ }
+ });
+ animator.start();
+ }
+
+ private void startHostTextAnim() {
+ mStatus = STATUS_TEXT_MOVING;
+
+ Collection<Animator> animList = new ArrayList<>();
+
+ ValueAnimator particleTextXAnim = ValueAnimator.ofFloat(mStartMinP.x + dip2px(4), mWidth / 2 - (getTextWidth(mHostText, mHostTextPaint) + getTextWidth(mParticleText, mParticleTextPaint)) / 2 + getTextWidth(mHostText, mHostTextPaint));
+ particleTextXAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ mParticleTextX = (float) animation.getAnimatedValue();
+ }
+ });
+ animList.add(particleTextXAnim);
+
+ ValueAnimator animator = ValueAnimator.ofFloat(0, getTextWidth(mHostText, mHostTextPaint));
+ animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ mHostRectWidth = (float) animation.getAnimatedValue();
+ }
+ });
+ animList.add(animator);
+
+ ValueAnimator hostTextXAnim = ValueAnimator.ofFloat(mStartMinP.x, mWidth / 2 - (getTextWidth(mHostText, mHostTextPaint) + getTextWidth(mParticleText, mParticleTextPaint) + dip2px(20)) / 2);
+ hostTextXAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ mHostTextX = (float) animation.getAnimatedValue();
+ invalidate();
+ }
+ });
+ animList.add(hostTextXAnim);
+
+ AnimatorSet set = new AnimatorSet();
+ set.playTogether(animList);
+ set.setDuration(mHostTextAnimTime);
+ set.addListener(new AnimListener() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ if (null != mParticleAnimListener) {
+ mParticleAnimListener.onAnimationEnd();
+ }
+ }
+ });
+ set.start();
+
+ }
+
+ public void startAnim() {
+ post(new Runnable() {
+ @Override
+ public void run() {
+ startParticleAnim();
+ }
+ });
+ }
+
+ private abstract class AnimListener implements Animator.AnimatorListener {
+ @Override
+ public void onAnimationStart(Animator animation) {
+
+ }
+
+ @Override
+ public void onAnimationCancel(Animator animation) {
+
+ }
+
+ @Override
+ public void onAnimationRepeat(Animator animation) {
+
+ }
+ }
+
+ public void setOnParticleAnimListener(ParticleAnimListener particleAnimListener) {
+ mParticleAnimListener = particleAnimListener;
+ }
+
+ public interface ParticleAnimListener {
+ void onAnimationEnd();
+ }
+
+ private int dip2px(float dipValue) {
+ final float scale = getContext().getResources().getDisplayMetrics().density;
+ return (int) (dipValue * scale + 0.5f);
+ }
+
+ private int sp2px(float spValue) {
+ final float fontScale = getContext().getResources().getDisplayMetrics().scaledDensity;
+ return (int) (spValue * fontScale + 0.5f);
+ }
+
+ private float getTextHeight(String text, Paint paint) {
+ Rect rect = new Rect();
+ paint.getTextBounds(text, 0, text.length(), rect);
+ return rect.height() / 1.1f;
+ }
+
+ private float getTextWidth(String text, Paint paint) {
+ return paint.measureText(text);
+ }
+
+ private int getR(int color) {
+ int r = (color >> 16) & 0xFF;
+ return r;
+ }
+
+ private int getG(int color) {
+ int g = (color >> 8) & 0xFF;
+ return g;
+ }
+
+ private int getB(int color) {
+ int b = color & 0xFF;
+ return b;
+ }
+}
+
diff --git a/app/src/main/java/com/shlb/comb/view/particleview/LineEvaluator.java b/app/src/main/java/com/shlb/comb/view/particleview/LineEvaluator.java
new file mode 100644
index 0000000..a1d9ecc
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/view/particleview/LineEvaluator.java
@@ -0,0 +1,16 @@
+package com.shlb.comb.view.particleview;
+
+
+import android.animation.TypeEvaluator;
+
+public class LineEvaluator implements TypeEvaluator<Particle> {
+
+ @Override
+ public Particle evaluate(float fraction, Particle startValue, Particle endValue) {
+ Particle particle = new Particle();
+ particle.x = startValue.x + (endValue.x - startValue.x) * fraction;
+ particle.y = startValue.y + (endValue.y - startValue.y) * fraction;
+ particle.radius = startValue.radius + (endValue.radius - startValue.radius) * fraction;
+ return particle;
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/view/particleview/Particle.java b/app/src/main/java/com/shlb/comb/view/particleview/Particle.java
new file mode 100644
index 0000000..298e10c
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/view/particleview/Particle.java
@@ -0,0 +1,17 @@
+package com.shlb.comb.view.particleview;
+
+public class Particle {
+
+ public float x;
+ public float y;
+ public float radius;
+
+ public Particle() {
+ }
+
+ public Particle(float x, float y, float radius) {
+ this.x = x;
+ this.y = y;
+ this.radius = radius;
+ }
+}
diff --git a/app/src/main/java/com/shlb/comb/view/t.java b/app/src/main/java/com/shlb/comb/view/t.java
new file mode 100644
index 0000000..cfda13d
--- /dev/null
+++ b/app/src/main/java/com/shlb/comb/view/t.java
@@ -0,0 +1,4 @@
+package com.shlb.comb.view;
+
+public class t {
+}
diff --git a/app/src/main/res/color/s_app_color_blue_2.xml b/app/src/main/res/color/s_app_color_blue_2.xml
new file mode 100644
index 0000000..045c709
--- /dev/null
+++ b/app/src/main/res/color/s_app_color_blue_2.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Tencent is pleased to support the open source community by making QMUI_Android available.
+
+ Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
+
+ Licensed under the MIT License (the "License"); you may not use this file except in
+ compliance with the License. You may obtain a copy of the License at
+
+ http://opensource.org/licenses/MIT
+
+ 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@color/app_color_blue_2_pressed" android:state_pressed="true"/>
+ <item android:color="@color/app_color_blue_2"/>
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/selector_drawer_icon.xml b/app/src/main/res/color/selector_drawer_icon.xml
new file mode 100644
index 0000000..123ba4b
--- /dev/null
+++ b/app/src/main/res/color/selector_drawer_icon.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="#1890ff" android:state_selected="true" />
+ <item android:color="#1890ff" android:state_pressed="true" />
+ <item android:color="#757575" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/selector_drawer_text.xml b/app/src/main/res/color/selector_drawer_text.xml
new file mode 100644
index 0000000..2cc55bb
--- /dev/null
+++ b/app/src/main/res/color/selector_drawer_text.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="#1890ff" android:state_selected="true" />
+ <item android:color="#1890ff" android:state_pressed="true" />
+ <item android:color="#333333" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt"
+ android:width="108dp"
+ android:height="108dp"
+ android:viewportWidth="108"
+ android:viewportHeight="108">
+ <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:endX="85.84757"
+ android:endY="92.4963"
+ android:startX="42.9492"
+ android:startY="49.59793"
+ android:type="linear">
+ <item
+ android:color="#44000000"
+ android:offset="0.0" />
+ <item
+ android:color="#00000000"
+ android:offset="1.0" />
+ </gradient>
+ </aapt:attr>
+ </path>
+ <path
+ android:fillColor="#FFFFFF"
+ android:fillType="nonZero"
+ android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
+ android:strokeWidth="1"
+ android:strokeColor="#00000000" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_box_empty.xml b/app/src/main/res/drawable/bg_box_empty.xml
new file mode 100644
index 0000000..3abe1b4
--- /dev/null
+++ b/app/src/main/res/drawable/bg_box_empty.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="#FFFFFF"/>
+ <corners android:radius="6dp"/>
+ <stroke android:width="1dp" android:color="#E0E0E0"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_box_error.xml b/app/src/main/res/drawable/bg_box_error.xml
new file mode 100644
index 0000000..8653dee
--- /dev/null
+++ b/app/src/main/res/drawable/bg_box_error.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="#F44336"/>
+ <corners android:radius="6dp"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_box_full.xml b/app/src/main/res/drawable/bg_box_full.xml
new file mode 100644
index 0000000..b198059
--- /dev/null
+++ b/app/src/main/res/drawable/bg_box_full.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="#4CAF50"/>
+ <corners android:radius="6dp"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_box_offline.xml b/app/src/main/res/drawable/bg_box_offline.xml
new file mode 100644
index 0000000..73f0379
--- /dev/null
+++ b/app/src/main/res/drawable/bg_box_offline.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="#9E9E9E"/>
+ <corners android:radius="6dp"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_card.xml b/app/src/main/res/drawable/bg_card.xml
new file mode 100644
index 0000000..fc92cfa
--- /dev/null
+++ b/app/src/main/res/drawable/bg_card.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="@color/white"/>
+ <corners android:radius="12dp"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_drawer_header_gradient.xml b/app/src/main/res/drawable/bg_drawer_header_gradient.xml
new file mode 100644
index 0000000..d2161ef
--- /dev/null
+++ b/app/src/main/res/drawable/bg_drawer_header_gradient.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <gradient
+ android:angle="135"
+ android:startColor="#1890ff"
+ android:endColor="#0050b3"
+ android:type="linear" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_drawer_item.xml b/app/src/main/res/drawable/bg_drawer_item.xml
new file mode 100644
index 0000000..f6f2d9f
--- /dev/null
+++ b/app/src/main/res/drawable/bg_drawer_item.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="#201890ff">
+ <item>
+ <selector>
+ <item android:state_selected="true">
+ <shape android:shape="rectangle">
+ <solid android:color="#E6F7FF" />
+ <corners android:radius="8dp" />
+ </shape>
+ </item>
+ <item android:state_pressed="true">
+ <shape android:shape="rectangle">
+ <solid android:color="#F5F5F5" />
+ <corners android:radius="8dp" />
+ </shape>
+ </item>
+ <item>
+ <shape android:shape="rectangle">
+ <solid android:color="@android:color/transparent" />
+ <corners android:radius="8dp" />
+ </shape>
+ </item>
+ </selector>
+ </item>
+</ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_edittext.xml b/app/src/main/res/drawable/bg_edittext.xml
new file mode 100644
index 0000000..2f07fbf
--- /dev/null
+++ b/app/src/main/res/drawable/bg_edittext.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="@color/white"/>
+ <corners android:radius="4dp"/>
+ <stroke android:width="1dp" android:color="@color/gray_line"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_input_field.xml b/app/src/main/res/drawable/bg_input_field.xml
new file mode 100644
index 0000000..344c1c4
--- /dev/null
+++ b/app/src/main/res/drawable/bg_input_field.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="#F5F6FA"/>
+ <corners android:radius="8dp"/>
+ <stroke android:width="0dp" android:color="@color/gray_line"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_round.xml b/app/src/main/res/drawable/bg_round.xml
new file mode 100755
index 0000000..765fee2
--- /dev/null
+++ b/app/src/main/res/drawable/bg_round.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle"
+ >
+ <solid
+ android:color="@color/white"
+ />
+ <corners
+ android:radius="3dp"
+ />
+
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/btn_gray.xml b/app/src/main/res/drawable/btn_gray.xml
new file mode 100644
index 0000000..81b5d97
--- /dev/null
+++ b/app/src/main/res/drawable/btn_gray.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true">
+ <shape>
+ <solid android:color="#D0D0D0"/>
+ <corners android:radius="4dp"/>
+ <stroke android:width="1dp" android:color="#A0A0A0"/>
+ </shape>
+ </item>
+ <item>
+ <shape>
+ <solid android:color="#E0E0E0"/>
+ <corners android:radius="4dp"/>
+ <stroke android:width="1dp" android:color="#B0B0B0"/>
+ </shape>
+ </item>
+</selector>
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="108dp"
+ android:height="108dp"
+ android:viewportWidth="108"
+ android:viewportHeight="108">
+ <path
+ android:fillColor="#3DDC84"
+ android:pathData="M0,0h108v108h-108z" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M9,0L9,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,0L19,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M29,0L29,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M39,0L39,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M49,0L49,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M59,0L59,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M69,0L69,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M79,0L79,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M89,0L89,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M99,0L99,108"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,9L108,9"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,19L108,19"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,29L108,29"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,39L108,39"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,49L108,49"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,59L108,59"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,69L108,69"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,79L108,79"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,89L108,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M0,99L108,99"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,29L89,29"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,39L89,39"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,49L89,49"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,59L89,59"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,69L89,69"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M19,79L89,79"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M29,19L29,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M39,19L39,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M49,19L49,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M59,19L59,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M69,19L69,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+ <path
+ android:fillColor="#00000000"
+ android:pathData="M79,19L79,89"
+ android:strokeWidth="0.8"
+ android:strokeColor="#33FFFFFF" />
+</vector>
diff --git a/app/src/main/res/drawable/item_flag_view.xml b/app/src/main/res/drawable/item_flag_view.xml
new file mode 100755
index 0000000..b2786fa
--- /dev/null
+++ b/app/src/main/res/drawable/item_flag_view.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle"
+ >
+
+ <solid
+ android:color="@color/colorPrimary"
+ />
+ <corners
+ android:radius="1dp"
+ />
+
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/radius_button_bg.xml b/app/src/main/res/drawable/radius_button_bg.xml
new file mode 100644
index 0000000..872a130
--- /dev/null
+++ b/app/src/main/res/drawable/radius_button_bg.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Tencent is pleased to support the open source community by making QMUI_Android available.
+
+ Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
+
+ Licensed under the MIT License (the "License"); you may not use this file except in
+ compliance with the License. You may obtain a copy of the License at
+
+ http://opensource.org/licenses/MIT
+
+ 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.
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <!-- rectangle 琛ㄧず涓虹煩褰� -->
+
+ <!-- 濉厖鐨勯鑹� -->
+ <solid android:color="#FFEBF9FF"/>
+
+ <!-- 杈规鐨勯鑹插拰绮楃粏 -->
+ <stroke
+ android:width="1px"
+ android:color="@color/app_color_blue_2"/>
+
+ <!-- android:radius 鍦嗚鐨勫崐寰� -->
+ <corners android:radius="4dp"/>
+
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/radius_button_bg_pressed.xml b/app/src/main/res/drawable/radius_button_bg_pressed.xml
new file mode 100644
index 0000000..5661fb8
--- /dev/null
+++ b/app/src/main/res/drawable/radius_button_bg_pressed.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Tencent is pleased to support the open source community by making QMUI_Android available.
+
+ Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
+
+ Licensed under the MIT License (the "License"); you may not use this file except in
+ compliance with the License. You may obtain a copy of the License at
+
+ http://opensource.org/licenses/MIT
+
+ 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.
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <!-- rectangle 琛ㄧず涓虹煩褰� -->
+
+ <!-- 濉厖鐨勯鑹� -->
+ <solid android:color="#7FEBF9FF"/>
+
+ <!-- 杈规鐨勯鑹插拰绮楃粏 -->
+ <stroke
+ android:width="1px"
+ android:color="@color/app_color_blue_2_pressed"/>
+
+ <!-- android:radius 鍦嗚鐨勫崐寰� -->
+ <corners android:radius="4dp"/>
+
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/s_radius_button_bg.xml b/app/src/main/res/drawable/s_radius_button_bg.xml
new file mode 100644
index 0000000..4007e5f
--- /dev/null
+++ b/app/src/main/res/drawable/s_radius_button_bg.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Tencent is pleased to support the open source community by making QMUI_Android available.
+
+ Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
+
+ Licensed under the MIT License (the "License"); you may not use this file except in
+ compliance with the License. You may obtain a copy of the License at
+
+ http://opensource.org/licenses/MIT
+
+ 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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:drawable="@drawable/radius_button_bg_pressed" android:state_pressed="true"/>
+ <item android:drawable="@drawable/radius_button_bg"/>
+</selector>
diff --git a/app/src/main/res/layout/activity_advanced_setting.xml b/app/src/main/res/layout/activity_advanced_setting.xml
new file mode 100644
index 0000000..bf16f8c
--- /dev/null
+++ b/app/src/main/res/layout/activity_advanced_setting.xml
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/gray_bg"
+ android:orientation="vertical">
+
+ <include layout="@layout/include_head" />
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:padding="15dp">
+
+ <!-- Advanced Settings Section -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/bg_card"
+ android:orientation="vertical"
+ android:padding="20dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="20dp"
+ android:text="楂樼骇璁剧疆"
+ android:textColor="@color/base_text"
+ android:textSize="18sp"
+ android:textStyle="bold" />
+
+ <!-- Mainboard Version Row -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginBottom="25dp">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginBottom="10dp">
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="涓绘澘鐗堟湰"
+ android:textColor="@color/base_text"
+ android:textSize="15sp"
+ android:textStyle="bold"/>
+ <TextView
+ android:id="@+id/tv_mainboard_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text=""
+ android:textSize="14sp"
+ android:layout_marginLeft="10dp"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <EditText
+ android:id="@+id/et_mainboard_version"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:background="@drawable/bg_input_field"
+ android:paddingStart="10dp"
+ android:paddingEnd="10dp"
+ android:hint="10-10-1961-01"
+ android:enabled="false"
+ android:textColor="@color/base_text"
+ android:textSize="14sp"
+ android:layout_marginRight="10dp"/>
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_mainboard_read"
+ android:layout_width="80dp"
+ android:layout_height="45dp"
+ android:text="璇诲彇"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/base_color"
+ app:qmui_radius="8dp"/>
+ </LinearLayout>
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="@color/gray_line"
+ android:layout_marginBottom="20dp"/>
+
+ <!-- Display Version Row -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginBottom="25dp">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginBottom="10dp">
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鏄剧ず灞忕増鏈�"
+ android:textColor="@color/base_text"
+ android:textSize="15sp"
+ android:textStyle="bold"/>
+ <TextView
+ android:id="@+id/tv_sensor_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text=""
+ android:textSize="14sp"
+ android:layout_marginLeft="10dp"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <EditText
+ android:id="@+id/et_display_version"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:background="@drawable/bg_input_field"
+ android:paddingStart="10dp"
+ android:paddingEnd="10dp"
+ android:hint="10-10-1962-01"
+ android:enabled="false"
+ android:textColor="@android:color/black"
+ android:textSize="14sp"
+ android:layout_marginRight="10dp"/>
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_display_read"
+ android:layout_width="80dp"
+ android:layout_height="45dp"
+ android:text="璇诲彇"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/base_color"
+ app:qmui_radius="8dp"/>
+ </LinearLayout>
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="@color/gray_line"
+ android:layout_marginBottom="20dp"/>
+
+ <!-- Addressing Buttons -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center">
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_start_addressing"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_weight="1"
+ android:text="寮�濮嬬紪鍧�"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/base_color"
+ app:qmui_radius="8dp"
+ android:layout_marginRight="15dp"/>
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_end_addressing"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_weight="1"
+ android:text="缁撴潫缂栧潃"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/base_color"
+ app:qmui_radius="8dp"/>
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <!-- Log Display -->
+ <androidx.cardview.widget.CardView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:cardCornerRadius="12dp"
+ app:cardElevation="2dp"
+ app:cardBackgroundColor="@color/white"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="24dp">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <!-- Card Header -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:padding="16dp"
+ android:background="#FAFAFA">
+
+ <View
+ android:layout_width="4dp"
+ android:layout_height="16dp"
+ android:background="@color/base_color"
+ android:layout_marginEnd="8dp"/>
+
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="鎿嶄綔璁板綍"
+ android:textSize="16sp"
+ android:textStyle="bold"
+ android:textColor="#333333" />
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_clear_log"
+ android:layout_width="wrap_content"
+ android:layout_height="32dp"
+ android:text="娓呯┖"
+ android:textColor="@color/white"
+ android:textSize="12sp"
+ android:paddingStart="12dp"
+ android:paddingEnd="12dp"
+ app:qmui_backgroundColor="#FF5252"
+ app:qmui_radius="4dp"/>
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#EEEEEE"/>
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="200dp"
+ android:padding="12dp"
+ android:background="#FAFAFA">
+
+ <TextView
+ android:id="@+id/tv_log"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="绛夊緟鎿嶄綔..."
+ android:textColor="#333333"
+ android:textSize="12sp"
+ android:fontFamily="monospace"
+ android:lineSpacingExtra="4dp"/>
+ </ScrollView>
+
+ </LinearLayout>
+ </androidx.cardview.widget.CardView>
+
+ </LinearLayout>
+ </ScrollView>
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_base.xml b/app/src/main/res/layout/activity_base.xml
new file mode 100755
index 0000000..16d6574
--- /dev/null
+++ b/app/src/main/res/layout/activity_base.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ xmlns:titlebar="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/ll_root"
+ android:orientation="vertical">
+
+ <include
+ android:id="@+id/include_head"
+ layout="@layout/include_head"/>
+
+ <RelativeLayout
+ android:id="@+id/container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+
+ <!--鍔犺浇澶辫触-->
+ <LinearLayout
+ android:id="@+id/ll_error_refresh"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:orientation="vertical"
+ android:visibility="gone">
+
+ <ImageView
+ android:id="@+id/img_err"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@mipmap/load_err" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ android:text="鍔犺浇澶辫触,鐐瑰嚮閲嶈瘯"
+ android:textSize="15sp" />
+ </LinearLayout>
+
+ <!--鍔犺浇涓�..-->
+ <ViewStub
+ android:id="@+id/vs_loading"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:inflatedId="@+id/panel_import"
+ android:layout="@layout/layout_loading_view" />
+
+ </RelativeLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_conn.xml b/app/src/main/res/layout/activity_conn.xml
new file mode 100644
index 0000000..bc282bc
--- /dev/null
+++ b/app/src/main/res/layout/activity_conn.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/qmui_config_color_background"
+ android:orientation="vertical"
+ tools:context=".activity.HomeActivity">
+ <include layout="@layout/include_head"/>
+ <com.qmuiteam.qmui.widget.QMUIEmptyView
+ android:id="@+id/emptyView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ />
+
+ <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
+ android:id="@+id/groupListView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+</LinearLayout >
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_current_device.xml b/app/src/main/res/layout/activity_current_device.xml
new file mode 100644
index 0000000..d55b65b
--- /dev/null
+++ b/app/src/main/res/layout/activity_current_device.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <include layout="@layout/include_head" />
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="#F5F5F5"
+ android:scrollbars="none">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:paddingBottom="24dp">
+
+ <!-- 纭欢淇℃伅 -->
+ <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
+ android:id="@+id/group_hardware"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp" />
+
+ <!-- 浣庡姛鑰楄摑鐗� -->
+ <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
+ android:id="@+id/group_ble"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp" />
+
+ <!-- 钃濈墮闊抽 -->
+ <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
+ android:id="@+id/group_audio"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp" />
+
+ <!-- 灞忓箷淇℃伅 -->
+ <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
+ android:id="@+id/group_screen"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp" />
+
+ </LinearLayout>
+ </ScrollView>
+</LinearLayout>
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
new file mode 100644
index 0000000..eb9fcf1
--- /dev/null
+++ b/app/src/main/res/layout/activity_home.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/drawer_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:fitsSystemWindows="false"
+ tools:context=".activity.HomeActivity">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:fitsSystemWindows="false"
+ android:orientation="vertical">
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="25dp"
+ android:background="@color/base_color" />
+
+ <include layout="@layout/include_head_home" />
+
+ <FrameLayout
+ android:id="@+id/fragment_container"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/dimension_10"
+ android:layout_marginBottom="@dimen/dimension_20"
+ android:gravity="center"
+ android:text="涓婃捣鍏板疂浼犳劅绉戞妧鑲′唤鏈夐檺鍏徃"
+ android:textColor="@color/dark_hint" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/nav_view"
+ android:layout_width="300dp"
+ android:layout_height="match_parent"
+ android:layout_gravity="start"
+ android:background="@color/white"
+ android:clickable="true"
+ android:focusable="true"
+ android:orientation="vertical">
+
+ <!-- 鎶藉眽澶撮儴 (宸﹀彸缁撴瀯锛屼娇鐢ㄤ富棰樿壊) -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="160dp"
+ android:background="@color/base_color"
+ android:gravity="bottom"
+ android:orientation="horizontal"
+ android:padding="20dp">
+
+ <ImageView
+ android:layout_width="60dp"
+ android:layout_height="60dp"
+ android:src="@mipmap/ic_launcher" />
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="60dp"
+ android:layout_marginLeft="15dp"
+ android:gravity="center_vertical"
+ android:orientation="vertical">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="COMB"
+ android:textColor="@color/white"
+ android:textSize="22sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Shanghai Lanbao Sensing Technology Co., Ltd."
+ android:textColor="@color/white"
+ android:textSize="11sp"
+ android:letterSpacing="0.1" />
+ </LinearLayout>
+ </LinearLayout>
+
+ <!-- 鑿滃崟鍒楄〃 -->
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:paddingTop="5dp">
+
+ <!-- 瀹炴椂鐩戞帶 -->
+ <LinearLayout
+ android:id="@+id/menu_monitor"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp">
+
+ <ImageView
+ android:layout_width="22dp"
+ android:layout_height="22dp"
+ android:src="@mipmap/icon_record"
+ app:tint="@color/drawer_item_text_gray" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="25dp"
+ android:text="瀹炴椂鐩戞帶"
+ android:textColor="@color/drawer_item_text_gray"
+ android:textSize="15sp" />
+ </LinearLayout>
+
+ <!-- 钃濈墮璁惧 -->
+ <LinearLayout
+ android:id="@+id/menu_devices"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp">
+
+ <ImageView
+ android:layout_width="22dp"
+ android:layout_height="22dp"
+ android:src="@mipmap/ic_bluetooth"
+ app:tint="@color/drawer_item_text_gray" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="25dp"
+ android:text="钃濈墮璁惧"
+ android:textColor="@color/drawer_item_text_gray"
+ android:textSize="15sp" />
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:layout_marginTop="5dp"
+ android:layout_marginBottom="5dp"
+ android:background="@color/drawer_divider" />
+
+ <!-- 鍙傛暟璁惧畾 -->
+ <LinearLayout
+ android:id="@+id/menu_settings"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp">
+
+ <ImageView
+ android:layout_width="22dp"
+ android:layout_height="22dp"
+ android:src="@mipmap/icon_topbar_overflow"
+ app:tint="@color/drawer_item_text_gray" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="25dp"
+ android:text="鍙傛暟璁惧畾"
+ android:textColor="@color/drawer_item_text_gray"
+ android:textSize="15sp" />
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:layout_marginTop="5dp"
+ android:layout_marginBottom="5dp"
+ android:background="@color/drawer_divider" />
+
+ <!-- 褰撳墠璁惧 -->
+ <LinearLayout
+ android:id="@+id/menu_current_device"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp">
+
+ <ImageView
+ android:layout_width="22dp"
+ android:layout_height="22dp"
+ android:src="@mipmap/icon_topbar_about"
+ app:tint="@color/drawer_item_text_gray" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="25dp"
+ android:text="褰撳墠璁惧"
+ android:textColor="@color/drawer_item_text_gray"
+ android:textSize="15sp" />
+ </LinearLayout>
+
+ <!-- 楂樼骇璁剧疆 -->
+ <LinearLayout
+ android:id="@+id/menu_advanced_settings"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp">
+
+ <ImageView
+ android:layout_width="22dp"
+ android:layout_height="22dp"
+ android:src="@mipmap/icon_topbar_overflow"
+ app:tint="@color/drawer_item_text_gray" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="25dp"
+ android:text="楂樼骇璁剧疆"
+ android:textColor="@color/drawer_item_text_gray"
+ android:textSize="15sp" />
+ </LinearLayout>
+
+ </LinearLayout>
+ </ScrollView>
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="20dp"
+ android:gravity="center"
+ android:id="@+id/tv_version"
+ android:text="1.0.0"
+ android:textColor="@color/dark_hint"
+ android:textSize="11sp"
+ android:letterSpacing="0.1" />
+
+ </LinearLayout>
+
+</androidx.drawerlayout.widget.DrawerLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_parameter_setting.xml b/app/src/main/res/layout/activity_parameter_setting.xml
new file mode 100644
index 0000000..2345e2e
--- /dev/null
+++ b/app/src/main/res/layout/activity_parameter_setting.xml
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/gray_bg"
+ android:orientation="vertical">
+
+ <include layout="@layout/include_head" />
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:padding="15dp">
+
+ <!-- Monitoring Details Section -->
+ <androidx.cardview.widget.CardView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:cardCornerRadius="12dp"
+ app:cardElevation="2dp"
+ app:cardBackgroundColor="@color/white"
+ android:layout_marginBottom="24dp">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <!-- Card Header -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:padding="16dp"
+ android:background="#FAFAFA">
+
+ <View
+ android:layout_width="4dp"
+ android:layout_height="16dp"
+ android:background="@color/base_color"
+ android:layout_marginEnd="8dp"/>
+
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="鑷鐩戞祴"
+ android:textSize="16sp"
+ android:textStyle="bold"
+ android:textColor="#333333" />
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#EEEEEE"/>
+
+ <!-- Card Content -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:padding="16dp">
+
+ <HorizontalScrollView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:scrollbars="none">
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rv_grid"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ </HorizontalScrollView>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#EEEEEE"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="12dp"/>
+
+ <!-- Legend -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:paddingStart="4dp">
+
+ <View
+ android:layout_width="12dp"
+ android:layout_height="12dp"
+ android:background="@drawable/bg_box_full"
+ android:layout_marginEnd="6dp"/>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鑷鎴愬姛"
+ android:textSize="12sp"
+ android:textColor="#666666"
+ android:layout_marginEnd="16dp"/>
+
+ <View
+ android:layout_width="12dp"
+ android:layout_height="12dp"
+ android:background="@drawable/bg_box_error"
+ android:layout_marginEnd="6dp"/>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鑷澶辫触"
+ android:textSize="12sp"
+ android:textColor="#666666"
+ android:layout_marginEnd="16dp"/>
+ </LinearLayout>
+
+ <!-- Start/End Check Buttons -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginTop="20dp">
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_start_check"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:text="寮�濮嬭嚜妫�"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/base_color"
+ app:qmui_radius="8dp"
+ android:layout_marginRight="10dp"/>
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_end_check"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:text="缁撴潫鑷"
+ android:textColor="@color/base_color"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/white"
+ app:qmui_borderColor="@color/base_color"
+ app:qmui_borderWidth="1dp"
+ app:qmui_radius="8dp"
+ android:layout_marginLeft="10dp"/>
+ </LinearLayout>
+
+ </LinearLayout>
+ </LinearLayout>
+ </androidx.cardview.widget.CardView>
+
+ <!-- Customer Use Section -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/bg_card"
+ android:orientation="vertical"
+ android:padding="20dp">
+
+ <!-- Threshold Row -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginBottom="25dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="闃堝��"
+ android:textColor="@color/base_text"
+ android:textSize="15sp"
+ android:textStyle="bold"
+ android:layout_marginBottom="10dp"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <Spinner
+ android:id="@+id/sp_threshold_mode"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1.5"
+ android:entries="@array/threshold_modes"
+ android:background="@drawable/bg_input_field"
+ android:paddingStart="10dp"
+ android:layout_marginRight="10dp" />
+
+ <EditText
+ android:id="@+id/et_threshold_value"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:background="@drawable/bg_input_field"
+ android:gravity="center"
+ android:hint="1-30"
+ android:inputType="number"
+ android:textSize="14sp"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:orientation="horizontal">
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_threshold_read"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_weight="1"
+ android:text="璇诲彇"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/base_color"
+ app:qmui_radius="8dp"
+ android:layout_marginRight="10dp"/>
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_threshold_write"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_weight="1"
+ android:text="鍐欏叆"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/base_color_s"
+ app:qmui_radius="8dp"/>
+ </LinearLayout>
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="@color/gray_line"
+ android:layout_marginBottom="20dp"/>
+
+ <!-- Sensitivity Row -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginBottom="25dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐏垫晱搴�"
+ android:textColor="@color/base_text"
+ android:textSize="15sp"
+ android:textStyle="bold"
+ android:layout_marginBottom="10dp"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <Spinner
+ android:id="@+id/sp_sensitivity_mode"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1.5"
+ android:entries="@array/sensitivity_modes"
+ android:background="@drawable/bg_input_field"
+ android:paddingStart="10dp"
+ android:layout_marginRight="10dp" />
+
+ <EditText
+ android:id="@+id/et_sensitivity_value"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:background="@drawable/bg_input_field"
+ android:gravity="center"
+ android:hint="1-30"
+ android:inputType="number"
+ android:textSize="14sp"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp"
+ android:orientation="horizontal">
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_sensitivity_read"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_weight="1"
+ android:text="璇诲彇"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/base_color"
+ app:qmui_radius="8dp"
+ android:layout_marginRight="10dp"/>
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_sensitivity_write"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_weight="1"
+ android:text="鍐欏叆"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/base_color_s"
+ app:qmui_radius="8dp"/>
+ </LinearLayout>
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="@color/gray_line"
+ android:layout_marginBottom="20dp"/>
+
+ <!-- Control Buttons -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鎿嶄綔"
+ android:textColor="@color/base_text"
+ android:textSize="15sp"
+ android:textStyle="bold"
+ android:layout_marginBottom="10dp"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_reset_mainboard"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:text="涓绘澘澶嶄綅"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/orange"
+ app:qmui_radius="8dp"
+ android:layout_marginRight="10dp"/>
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_reset_sensor"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:text="浼犳劅澶嶄綅"
+ android:textColor="@color/white"
+ android:textSize="14sp"
+ app:qmui_backgroundColor="@color/orange"
+ app:qmui_radius="8dp"
+ android:layout_marginLeft="10dp"/>
+ </LinearLayout>
+ </LinearLayout>
+ </LinearLayout>
+
+ <!-- Log Display -->
+ <androidx.cardview.widget.CardView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:cardCornerRadius="12dp"
+ app:cardElevation="2dp"
+ app:cardBackgroundColor="@color/white"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="24dp">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <!-- Card Header -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:padding="16dp"
+ android:background="#FAFAFA">
+
+ <View
+ android:layout_width="4dp"
+ android:layout_height="16dp"
+ android:background="@color/base_color"
+ android:layout_marginEnd="8dp"/>
+
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="鏃ュ織"
+ android:textSize="16sp"
+ android:textStyle="bold"
+ android:textColor="#333333" />
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_clear_log"
+ android:layout_width="wrap_content"
+ android:layout_height="28dp"
+ android:text="娓呯┖"
+ android:textColor="@color/white"
+ android:textSize="12sp"
+ android:paddingStart="12dp"
+ android:paddingEnd="12dp"
+ app:qmui_backgroundColor="#FF5252"
+ app:qmui_radius="4dp"/>
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#EEEEEE"/>
+
+ <ScrollView
+ android:id="@+id/sv_log"
+ android:layout_width="match_parent"
+ android:layout_height="200dp"
+ android:padding="12dp"
+ android:scrollbars="vertical"
+ android:background="#FAFAFA">
+
+ <TextView
+ android:id="@+id/tv_log"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="鏃ュ織璁板綍:\n"
+ android:textSize="12sp"
+ android:fontFamily="monospace"
+ android:textColor="#333333"
+ android:lineSpacingExtra="4dp"/>
+ </ScrollView>
+ </LinearLayout>
+ </androidx.cardview.widget.CardView>
+
+ </LinearLayout>
+ </ScrollView>
+</LinearLayout>
diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml
new file mode 100644
index 0000000..0958166
--- /dev/null
+++ b/app/src/main/res/layout/activity_splash.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:pv="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <com.shlb.comb.view.ParticleView
+ android:id="@+id/ptview"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/colorPrimary"
+ pv:pv_background_color="@color/colorPrimary"
+ pv:pv_host_text="COMB"
+ pv:pv_host_text_anim_time="600"
+ pv:pv_particle_text="绉诲姩骞冲彴"
+ pv:pv_particle_text_size="14sp"
+ pv:pv_spread_anim_time="1000"
+ pv:pv_text_anim_time="600"
+ pv:pv_text_color="#FFF" />
+ <TextView
+ android:textColor="@color/white"
+ android:layout_marginBottom="@dimen/dimension_20"
+ android:layout_centerHorizontal="true"
+ android:layout_alignParentBottom="true"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="涓婃捣鍏板疂浼犳劅绉戞妧鑲′唤鏈夐檺鍏徃"
+ />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_test.xml b/app/src/main/res/layout/activity_test.xml
new file mode 100644
index 0000000..1981340
--- /dev/null
+++ b/app/src/main/res/layout/activity_test.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/qmui_config_color_background"
+ android:orientation="vertical">
+
+ <include layout="@layout/include_head"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="16dp">
+
+ <TextView
+ android:id="@+id/tv_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐘舵��: 鏈繛鎺�"
+ android:textSize="16sp"
+ android:textStyle="bold"
+ android:textColor="@android:color/black"/>
+
+ <TextView
+ android:id="@+id/tv_selected_service"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="褰撳墠閫夋嫨鏈嶅姟: 鏃�"
+ android:layout_marginTop="10dp"
+ android:textColor="@color/base_color"/>
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍙敤鏈嶅姟鍒楄〃:"
+ android:layout_marginTop="10dp"/>
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="250dp"
+ android:layout_marginTop="5dp"
+ android:background="@drawable/bg_round">
+ <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
+ android:id="@+id/groupListView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </ScrollView>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:layout_marginTop="10dp">
+ <EditText
+ android:id="@+id/et_command"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:background="@drawable/bg_edittext"
+ android:padding="10dp"
+ android:textSize="14sp"
+ android:hint="璇疯緭鍏ex鎸囦护 (濡� A55A...)"/>
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_send"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="10dp"
+ android:text="鍙戦��"
+ android:textColor="@color/white"
+ android:layout_marginLeft="10dp"/>
+ </LinearLayout>
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鏃ュ織:"
+ android:layout_marginTop="10dp"/>
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="150dp"
+ android:background="#FAFAFA"
+ android:layout_marginTop="5dp">
+ <TextView
+ android:id="@+id/tv_log"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="5dp"
+ android:textSize="12sp"
+ android:fontFamily="monospace"/>
+ </ScrollView>
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/app/src/main/res/layout/activity_write.xml b/app/src/main/res/layout/activity_write.xml
new file mode 100644
index 0000000..c771fc3
--- /dev/null
+++ b/app/src/main/res/layout/activity_write.xml
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/qmui_config_color_background"
+ android:orientation="vertical"
+ tools:context=".activity.HomeActivity">
+
+ <include layout="@layout/include_head" />
+
+ <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
+ android:id="@+id/groupListView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone" />
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/send"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginTop="@dimen/dimension_15"
+ android:clickable="true"
+ android:padding="10dp"
+ android:text="鍙戦�佹寚浠�"
+ android:visibility="gone"
+ app:qmui_radius="4dp" />
+
+ <TextView
+ android:textSize="@dimen/dimension_40"
+ android:gravity="center"
+ android:layout_width="match_parent"
+ android:layout_height="80dp"
+ android:id="@+id/sendNum"
+ />
+
+ <LinearLayout
+ android:id="@+id/ll_root"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+
+ <Button
+ android:visibility="gone"
+ android:id="@+id/btnInto"
+ android:layout_width="match_parent"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_10"
+ android:layout_marginTop="@dimen/dimension_10"
+ android:layout_marginRight="10dp"
+ android:gravity="center"
+ android:text="杩涘叆缂栧潃"
+ android:textStyle="bold" />
+
+
+ <Button
+ android:visibility="gone"
+ android:id="@+id/btnClean"
+ android:layout_width="match_parent"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_10"
+ android:layout_marginTop="@dimen/dimension_10"
+ android:layout_marginRight="10dp"
+
+ android:gravity="center"
+ android:text="娓呴櫎鍦板潃"
+ android:textStyle="bold" />
+
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/dimension_10"
+ android:paddingTop="@dimen/dimension_10"
+ android:paddingRight="@dimen/dimension_10">
+
+ <Button
+ android:id="@+id/btn1"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="1"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn2"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="2"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn3"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="3"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn4"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="4"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/dimension_10"
+ android:paddingTop="@dimen/dimension_10"
+ android:paddingRight="@dimen/dimension_10"
+
+ >
+
+ <Button
+ android:id="@+id/btn5"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="5"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn6"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="6"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn7"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="7"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn8"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="8"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/dimension_10"
+ android:paddingTop="@dimen/dimension_10"
+ android:paddingRight="@dimen/dimension_10"
+
+ >
+
+ <Button
+ android:id="@+id/btn9"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="9"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn10"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="10"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn11"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="11"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn12"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="12"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/dimension_10"
+ android:paddingTop="@dimen/dimension_10"
+ android:paddingRight="@dimen/dimension_10"
+
+ >
+
+ <Button
+ android:id="@+id/btn13"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="13"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn14"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="14"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn15"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="15"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn16"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="16"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <Button
+ android:visibility="gone"
+ android:layout_width="match_parent"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_10"
+ android:layout_marginTop="@dimen/dimension_10"
+ android:layout_marginRight="10dp"
+ android:id="@+id/btnExit"
+ android:gravity="center"
+ android:text="閫�鍑虹紪鍧�"
+ android:textStyle="bold" />
+ </LinearLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_write2.xml b/app/src/main/res/layout/activity_write2.xml
new file mode 100644
index 0000000..6b3a3a9
--- /dev/null
+++ b/app/src/main/res/layout/activity_write2.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/qmui_config_color_background"
+ android:orientation="vertical"
+ tools:context=".activity.HomeActivity">
+ <include layout="@layout/include_head"/>
+
+ <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
+ android:id="@+id/groupListView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:layout_marginTop="@dimen/dimension_15"
+ android:id="@+id/send"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:clickable="true"
+ android:layout_gravity="center"
+ android:padding="10dp"
+ android:text="鍙戦�佹寚浠�"
+ app:qmui_radius="4dp"/>
+
+</LinearLayout >
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_layout_bluetooth_item.xml b/app/src/main/res/layout/dialog_layout_bluetooth_item.xml
new file mode 100644
index 0000000..25bd164
--- /dev/null
+++ b/app/src/main/res/layout/dialog_layout_bluetooth_item.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <RelativeLayout
+ android:layout_width="@dimen/dimension_60"
+ android:layout_height="50dp"
+ >
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:orientation="vertical">
+
+ <ImageView
+ android:id="@+id/device_icon"
+ android:layout_width="30dp"
+ android:layout_height="30dp"
+ android:src="@mipmap/ic_sanjiao" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="-dBm"
+ android:layout_gravity="center"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="@dimen/dimension_10" />
+
+ </LinearLayout>
+
+ </RelativeLayout>
+
+ <RelativeLayout
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="50dp"
+ >
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:orientation="vertical"
+ >
+ <TextView
+ android:id="@+id/device_name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="JDY-123-456"
+ />
+ <TextView
+ android:id="@+id/device_address"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="24:6d:12:dd:ad:df:cd"
+ android:textSize="@dimen/dimension_10"
+ android:textColor="@color/qmui_config_color_gray_6"
+ />
+
+
+ </LinearLayout>
+
+ </RelativeLayout>
+
+ <RelativeLayout
+ android:layout_width="130dp"
+ android:layout_height="50dp"
+ >
+
+ <Button
+ android:layout_width="@dimen/dimension_80"
+ android:layout_height="40dp"
+ android:layout_centerVertical="true"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_toLeftOf="@id/iv_down"
+ android:focusable="false"
+ android:text="CONNECT"
+ android:textSize="@dimen/dimension_10" />
+ <ImageView
+ android:layout_marginRight="20dp"
+ android:id="@+id/iv_down"
+ android:layout_alignParentRight="true"
+ android:src="@mipmap/ic_down"
+ android:layout_centerVertical="true"
+ android:layout_width="20dp"
+ android:layout_height="20dp"/>
+ </RelativeLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_layout_bluetooth_list.xml b/app/src/main/res/layout/dialog_layout_bluetooth_list.xml
new file mode 100644
index 0000000..3211c76
--- /dev/null
+++ b/app/src/main/res/layout/dialog_layout_bluetooth_list.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/bg_round"
+ android:orientation="vertical"
+ >
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="400dp"
+ android:orientation="vertical">
+ <ListView
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+ </LinearLayout>
+
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_layout_write_item.xml b/app/src/main/res/layout/dialog_layout_write_item.xml
new file mode 100644
index 0000000..9a6f3e5
--- /dev/null
+++ b/app/src/main/res/layout/dialog_layout_write_item.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dimension_30"
+ android:orientation="vertical"
+ >
+ <TextView
+ android:layout_marginLeft="@dimen/dimension_15"
+ android:text="娴嬭瘯"
+ android:textSize="@dimen/dimension_12"
+ android:layout_centerVertical="true"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/name"
+ />
+
+ <ImageView
+ android:layout_marginRight="@dimen/dimension_15"
+ android:layout_alignParentRight="true"
+ android:id="@+id/logo"
+ android:layout_centerVertical="true"
+ android:layout_width="@dimen/dimension_20"
+ android:layout_height="@dimen/dimension_20"
+ android:src="@mipmap/about_logo"
+ />
+
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_layout_write_list.xml b/app/src/main/res/layout/dialog_layout_write_list.xml
new file mode 100644
index 0000000..887083c
--- /dev/null
+++ b/app/src/main/res/layout/dialog_layout_write_list.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/bg_round"
+ android:orientation="vertical"
+ >
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="400dp"
+ android:orientation="vertical">
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dimension_40">
+ <TextView
+ android:layout_marginLeft="15dp"
+ android:text="閫夋嫨鍛戒护"
+ android:textSize="@dimen/dimension_12"
+ android:layout_centerVertical="true"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
+
+ <ImageView
+ android:id="@+id/iv_close"
+ android:layout_width="@dimen/dimension_20"
+ android:layout_height="@dimen/dimension_20"
+ android:layout_alignParentRight="true"
+ android:layout_centerVertical="true"
+ android:layout_marginRight="@dimen/dimension_20"
+ android:src="@mipmap/icon_colse" />
+ </RelativeLayout>
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/write"
+ android:layout_width="match_parent"
+ android:layout_height="200dp"/>
+
+ <TextView
+ android:id="@+id/selectedtv"
+ android:layout_marginLeft="@dimen/dimension_15"
+ android:layout_marginTop="@dimen/dimension_10"
+ android:textSize="@dimen/dimension_12"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/dimension_20"
+ android:text="褰撳墠閫夋嫨锛�"
+ />
+
+ <TextView
+ android:id="@+id/restv"
+ android:layout_marginLeft="@dimen/dimension_15"
+ android:layout_marginTop="@dimen/dimension_10"
+ android:textSize="@dimen/dimension_12"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/dimension_20"
+ android:text="杩斿洖淇℃伅锛�"
+ />
+ <EditText
+ android:id="@+id/writeed"
+ android:layout_marginLeft="@dimen/dimension_15"
+ android:layout_marginRight="@dimen/dimension_15"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/dimension_10"
+ />
+ <Button
+ android:id="@+id/writebtn"
+ android:layout_gravity="center"
+ android:textSize="@dimen/dimension_12"
+ android:layout_width="@dimen/dimension_90"
+ android:layout_height="@dimen/dimension_40"
+ android:text="send"
+ />
+ </LinearLayout>
+
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_device_list.xml b/app/src/main/res/layout/fragment_device_list.xml
new file mode 100644
index 0000000..26e531a
--- /dev/null
+++ b/app/src/main/res/layout/fragment_device_list.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <com.qmuiteam.qmui.widget.QMUIEmptyView
+ android:id="@+id/emptyView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <ListView
+ android:id="@+id/homeList"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:divider="@color/gray_line"
+ android:dividerHeight="1dp"
+ android:visibility="gone" />
+
+</LinearLayout>
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
new file mode 100644
index 0000000..6dc124f
--- /dev/null
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -0,0 +1,465 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="#F5F6FA"
+ android:fillViewport="true">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:padding="16dp">
+
+ <!-- Card 1: Grid Status -->
+ <androidx.cardview.widget.CardView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:cardCornerRadius="12dp"
+ app:cardElevation="2dp"
+ app:cardBackgroundColor="@color/white"
+ android:layout_marginBottom="24dp">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <!-- Card Header -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:padding="16dp"
+ android:background="#FAFAFA">
+
+ <View
+ android:layout_width="4dp"
+ android:layout_height="16dp"
+ android:background="@color/base_color"
+ android:layout_marginEnd="8dp"/>
+
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="鐩戞帶璇︽儏"
+ android:textSize="16sp"
+ android:textStyle="bold"
+ android:textColor="#333333" />
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_read_data"
+ android:layout_width="wrap_content"
+ android:layout_height="32dp"
+ android:text="璇诲彇鏁版嵁"
+ android:textColor="@color/white"
+ android:textSize="12sp"
+ android:paddingStart="12dp"
+ android:paddingEnd="12dp"
+ app:qmui_backgroundColor="@color/base_color"
+ app:qmui_radius="4dp"/>
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#EEEEEE"/>
+
+ <!-- Card Content -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:padding="16dp">
+
+ <HorizontalScrollView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:scrollbars="none">
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rv_grid"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ </HorizontalScrollView>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#EEEEEE"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="12dp"/>
+
+ <!-- Legend -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:paddingStart="4dp">
+
+ <View
+ android:layout_width="12dp"
+ android:layout_height="12dp"
+ android:background="@drawable/bg_box_full"
+ android:layout_marginEnd="6dp"/>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鏈夌幓鐠�"
+ android:textSize="12sp"
+ android:textColor="#666666"
+ android:layout_marginEnd="16dp"/>
+
+ <View
+ android:layout_width="12dp"
+ android:layout_height="12dp"
+ android:background="@drawable/bg_box_empty"
+ android:layout_marginEnd="6dp"/>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鏃犵幓鐠�"
+ android:textSize="12sp"
+ android:textColor="#666666"
+ android:layout_marginEnd="16dp"/>
+
+ <View
+ android:layout_width="12dp"
+ android:layout_height="12dp"
+ android:background="@drawable/bg_box_offline"
+ android:layout_marginEnd="6dp"/>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="绂荤嚎"
+ android:textSize="12sp"
+ android:textColor="#666666"/>
+ </LinearLayout>
+ </LinearLayout>
+ </LinearLayout>
+ </androidx.cardview.widget.CardView>
+
+ <!-- Card 2: Controls -->
+ <androidx.cardview.widget.CardView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:cardCornerRadius="12dp"
+ app:cardElevation="2dp"
+ app:cardBackgroundColor="@color/white">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <!-- Card Header -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:padding="16dp"
+ android:background="#FAFAFA">
+
+ <View
+ android:layout_width="4dp"
+ android:layout_height="16dp"
+ android:background="@color/base_color"
+ android:layout_marginEnd="8dp"/>
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鍙傛暟"
+ android:textSize="16sp"
+ android:textStyle="bold"
+ android:textColor="#333333" />
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#EEEEEE"/>
+
+ <!-- Card Content -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:padding="16dp">
+
+ <!-- Layer Input -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginBottom="16dp">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:layout_marginBottom="8dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="灞傛暟"
+ android:textSize="14sp"
+ android:textColor="#666666"/>
+
+ <TextView
+ android:id="@+id/tv_layer_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="10sp"
+ android:layout_marginStart="8dp"/>
+ </LinearLayout>
+
+ <EditText
+ android:id="@+id/et_layer"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:background="@drawable/bg_input_field"
+ android:paddingStart="16dp"
+ android:paddingEnd="16dp"
+ android:hint="灞傛暟 (1-30)"
+ android:textColorHint="#CCCCCC"
+ android:textSize="14sp"
+ android:focusable="false"
+ android:focusableInTouchMode="false"
+ android:inputType="none"/>
+ </LinearLayout>
+
+ <!-- Station Input -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginBottom="16dp">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:layout_marginBottom="8dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="绔欏彿"
+ android:textSize="14sp"
+ android:textColor="#666666"/>
+
+ <TextView
+ android:id="@+id/tv_station_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="10sp"
+ android:layout_marginStart="8dp"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <EditText
+ android:id="@+id/et_station"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:background="@drawable/bg_input_field"
+ android:paddingStart="16dp"
+ android:paddingEnd="16dp"
+ android:hint="璇疯緭鍏ョ珯鍙� (1-64)"
+ android:textColorHint="#CCCCCC"
+ android:textSize="14sp"
+ android:inputType="number"/>
+
+ </LinearLayout>
+ </LinearLayout>
+
+ <!-- Baud Rate -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:layout_marginBottom="8dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="娉㈢壒鐜�"
+ android:textSize="14sp"
+ android:textColor="#666666"/>
+
+ <TextView
+ android:id="@+id/tv_baud_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="10sp"
+ android:layout_marginStart="8dp"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <FrameLayout
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:background="@drawable/bg_input_field">
+
+ <Spinner
+ android:id="@+id/spinner_baud"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@null"
+ android:paddingStart="8dp"/>
+ </FrameLayout>
+ </LinearLayout>
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginTop="24dp">
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_read_param"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:layout_marginEnd="8dp"
+ android:text="璇诲彇鍙傛暟"
+ android:textColor="@color/white"
+ android:textSize="16sp"
+ android:textStyle="bold"
+ app:qmui_backgroundColor="@color/base_color"
+ app:qmui_radius="8dp"/>
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_write_all"
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_weight="1"
+ android:layout_marginStart="8dp"
+ android:text="鍐欏叆鍙傛暟"
+ android:textColor="@color/white"
+ android:textSize="16sp"
+ android:textStyle="bold"
+ app:qmui_backgroundColor="@color/base_color_s"
+ app:qmui_radius="8dp"/>
+ </LinearLayout>
+
+ </LinearLayout>
+ </LinearLayout>
+ </androidx.cardview.widget.CardView>
+
+ <TextView
+ android:id="@+id/tv_status"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="褰撳墠鐘舵�侊細绛夊緟鎿嶄綔..."
+ android:gravity="center"
+ android:textSize="12sp"
+ android:textColor="#999999"
+ android:layout_marginTop="16dp"/>
+
+ <!-- Log Display -->
+ <androidx.cardview.widget.CardView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:cardCornerRadius="12dp"
+ app:cardElevation="2dp"
+ app:cardBackgroundColor="@color/white"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="24dp">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <!-- Card Header -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:padding="16dp"
+ android:background="#FAFAFA">
+
+ <View
+ android:layout_width="4dp"
+ android:layout_height="16dp"
+ android:background="@color/base_color"
+ android:layout_marginEnd="8dp"/>
+
+ <TextView
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="鏃ュ織"
+ android:textSize="16sp"
+ android:textStyle="bold"
+ android:textColor="#333333" />
+
+ <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
+ android:id="@+id/btn_clear_log"
+ android:layout_width="wrap_content"
+ android:layout_height="32dp"
+ android:text="娓呯┖"
+ android:textColor="@color/white"
+ android:textSize="12sp"
+ android:paddingStart="12dp"
+ android:paddingEnd="12dp"
+ app:qmui_backgroundColor="#FF5252"
+ app:qmui_radius="4dp"/>
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#EEEEEE"/>
+
+ <ScrollView
+ android:id="@+id/sv_log"
+ android:layout_width="match_parent"
+ android:layout_height="200dp"
+ android:padding="12dp"
+ android:scrollbars="vertical"
+ android:background="#FAFAFA">
+
+ <TextView
+ android:id="@+id/tv_log"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="鏃ュ織璁板綍:\n"
+ android:textSize="12sp"
+ android:fontFamily="monospace"
+ android:textColor="#333333"
+ android:lineSpacingExtra="4dp"/>
+ </ScrollView>
+ </LinearLayout>
+ </androidx.cardview.widget.CardView>
+
+ </LinearLayout>
+
+</androidx.core.widget.NestedScrollView>
\ No newline at end of file
diff --git a/app/src/main/res/layout/home_item_view.xml b/app/src/main/res/layout/home_item_view.xml
new file mode 100755
index 0000000..44beb47
--- /dev/null
+++ b/app/src/main/res/layout/home_item_view.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.cardview.widget.CardView
+ android:id="@+id/card_view"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:card_view="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginLeft="5dp"
+ android:layout_marginRight="5dp"
+ android:foreground="?android:attr/selectableItemBackground"
+ card_view:cardBackgroundColor="@color/white"
+ card_view:cardCornerRadius="4dp"
+ card_view:cardUseCompatPadding="true">
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ >
+
+
+ <ImageView
+ android:id="@+id/img"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_alignParentTop="true"
+ android:scaleType="centerCrop"
+ android:src="@mipmap/animation_img1"/>
+
+ <TextView
+ android:id="@+id/tweetName"
+ android:paddingLeft="@dimen/dp_10"
+ style="@style/tweetName"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Chad"
+ android:layout_marginTop="@dimen/dp_10"
+ android:layout_below="@+id/img"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"/>
+
+ <TextView
+ android:id="@+id/tweetText"
+ android:paddingLeft="@dimen/dp_10"
+ style="@style/tweetText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="浼犳劅鍣ㄧ紪鍧�"
+ android:textColor="@android:color/darker_gray"
+ android:layout_below="@+id/tweetName"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:paddingRight="@dimen/dp_10"
+ android:paddingBottom="@dimen/dp_10"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"/>
+
+ <TextView
+ android:id="@+id/tweetDate"
+ style="@style/tweetDate"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text=""
+ android:paddingRight="@dimen/dp_10"
+ android:layout_alignBaseline="@+id/tweetName"
+ android:layout_alignBottom="@+id/tweetName"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"/>
+
+ </RelativeLayout>
+</androidx.cardview.widget.CardView>
diff --git a/app/src/main/res/layout/home_list_bluetooth_item.xml b/app/src/main/res/layout/home_list_bluetooth_item.xml
new file mode 100644
index 0000000..202c676
--- /dev/null
+++ b/app/src/main/res/layout/home_list_bluetooth_item.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/white"
+ android:orientation="vertical">
+
+ <LinearLayout
+ android:id="@+id/ll_main_content"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dimension_70"
+ android:orientation="horizontal">
+
+ <RelativeLayout
+ android:layout_width="@dimen/dimension_80"
+ android:layout_height="@dimen/dimension_70">
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:orientation="vertical">
+
+ <ImageView
+ android:id="@+id/device_icon"
+ android:layout_width="30dp"
+ android:layout_height="30dp"
+ android:src="@mipmap/ic_sanjiao" />
+
+ <TextView
+ android:id="@+id/rssi"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginTop="@dimen/dimension_5"
+ android:text="-dBm"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="@dimen/dimension_10" />
+
+ </LinearLayout>
+
+ </RelativeLayout>
+
+ <RelativeLayout
+ android:layout_width="0dp"
+ android:layout_height="@dimen/dimension_70"
+ android:layout_weight="1">
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/device_name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:maxLines="1" />
+
+ <TextView
+ android:id="@+id/device_address"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/dimension_5"
+ android:maxLines="1"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="@dimen/dimension_10" />
+
+
+ </LinearLayout>
+
+ </RelativeLayout>
+
+ <RelativeLayout
+ android:layout_width="130dp"
+ android:layout_height="@dimen/dimension_70">
+
+ <Button
+ android:id="@+id/conn_btn"
+ android:layout_width="@dimen/dimension_80"
+ android:layout_height="40dp"
+ android:layout_centerVertical="true"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_toLeftOf="@id/iv_down"
+ android:focusable="false"
+ android:text="CONNECT"
+ android:textSize="@dimen/dimension_10" />
+
+ <ImageView
+ android:id="@+id/iv_down"
+ android:layout_width="20dp"
+ android:layout_height="20dp"
+ android:layout_alignParentRight="true"
+ android:layout_centerVertical="true"
+ android:layout_marginRight="20dp"
+ android:src="@mipmap/ic_down" />
+ </RelativeLayout>
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/ll_more_info"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp"
+ android:paddingBottom="10dp"
+ android:visibility="gone">
+
+ <TextView
+ android:id="@+id/tv_device_type"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="12sp"
+ android:layout_marginTop="2dp"/>
+
+ <TextView
+ android:id="@+id/tv_adv_type"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="12sp"
+ android:layout_marginTop="2dp"/>
+
+ <TextView
+ android:id="@+id/tv_flags"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="12sp"
+ android:layout_marginTop="2dp"/>
+
+ <TextView
+ android:id="@+id/tv_local_name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="12sp"
+ android:layout_marginTop="2dp"/>
+
+ <TextView
+ android:id="@+id/tv_tx_power"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="12sp"
+ android:layout_marginTop="2dp"/>
+
+ <TextView
+ android:id="@+id/tv_service_uuids"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="12sp"
+ android:layout_marginTop="2dp"/>
+
+ <TextView
+ android:id="@+id/tv_service_data"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="12sp"
+ android:layout_marginTop="2dp"/>
+
+ <TextView
+ android:id="@+id/tv_manufacturer_data"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/qmui_config_color_gray_6"
+ android:textSize="12sp"
+ android:layout_marginTop="2dp"/>
+ </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_head.xml b/app/src/main/res/layout/include_head.xml
new file mode 100755
index 0000000..b35475d
--- /dev/null
+++ b/app/src/main/res/layout/include_head.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/head"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dimension_50"
+ android:background="@color/base_color"
+ android:gravity="center_vertical">
+
+
+ <ImageView
+ android:id="@+id/iv_left"
+ android:layout_width="@dimen/dimension_40"
+ android:layout_height="@dimen/dimension_40"
+ android:layout_centerVertical="true"
+ android:padding="@dimen/dimension_10"
+ android:src="@mipmap/icon_menu"
+ />
+
+ <TextView
+ android:textColor="@color/white"
+ android:textSize="@dimen/dimension_15"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:id="@+id/tv_center"
+ />
+
+ <TextView
+ android:id="@+id/tv_right_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_centerVertical="true"
+ android:paddingRight="16dp"
+ android:text="鏈繛鎺�"
+ android:textColor="@color/white"
+ android:textSize="14sp"/>
+
+ <ImageView
+ android:visibility="gone"
+ android:padding="@dimen/dimension_10"
+ android:layout_alignParentRight="true"
+ android:id="@+id/iv_right"
+ android:layout_centerVertical="true"
+ android:layout_width="@dimen/dimension_40"
+ android:layout_height="@dimen/dimension_40"
+ android:src="@mipmap/icon_topbar_right"
+ />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_head_home.xml b/app/src/main/res/layout/include_head_home.xml
new file mode 100644
index 0000000..53a1363
--- /dev/null
+++ b/app/src/main/res/layout/include_head_home.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/head"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dimension_60"
+ android:background="@color/base_color"
+ android:paddingTop="@dimen/dimension_10"
+ android:gravity="center_vertical">
+
+ <ImageView
+ android:id="@+id/iv_left"
+ android:layout_width="@dimen/dimension_40"
+ android:layout_height="@dimen/dimension_40"
+ android:layout_centerVertical="true"
+ android:padding="@dimen/dimension_10"
+ android:src="@mipmap/icon_menu" />
+
+ <TextView
+ android:id="@+id/tv_center"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:layout_toEndOf="@id/iv_left"
+ android:layout_toRightOf="@id/iv_left"
+ android:textColor="@color/white"
+ android:textSize="@dimen/fontsize_18"
+ android:textStyle="bold"
+ android:layout_marginLeft="@dimen/dimension_10"
+ android:layout_marginStart="@dimen/dimension_10" />
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_centerVertical="true"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/tv_scan"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="@dimen/dimension_10"
+ android:text="SCAN"
+ android:textColor="@color/white"
+ android:textSize="@dimen/fontsize_15" />
+
+ <ImageView
+ android:id="@+id/iv_right"
+ android:layout_width="@dimen/dimension_40"
+ android:layout_height="@dimen/dimension_40"
+ android:padding="@dimen/dimension_10"
+ android:src="@mipmap/icon_topbar_right"
+ android:visibility="visible" />
+ </LinearLayout>
+
+</RelativeLayout>
diff --git a/app/src/main/res/layout/item_grid_box.xml b/app/src/main/res/layout/item_grid_box.xml
new file mode 100644
index 0000000..cdebe0d
--- /dev/null
+++ b/app/src/main/res/layout/item_grid_box.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:orientation="vertical"
+ android:padding="2dp">
+
+ <TextView
+ android:id="@+id/tv_box_number"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="9sp"
+ android:textColor="#999999"
+ android:layout_marginBottom="2dp"/>
+
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+
+ <View
+ android:id="@+id/view_box"
+ android:layout_width="28dp"
+ android:layout_height="28dp"
+ android:background="@drawable/bg_box_empty" />
+
+ <!-- Add a subtle shadow or overlay effect if needed in future -->
+ </FrameLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_loading_view.xml b/app/src/main/res/layout/layout_loading_view.xml
new file mode 100755
index 0000000..de60b23
--- /dev/null
+++ b/app/src/main/res/layout/layout_loading_view.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/ll_progress_bar"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+
+ <ImageView
+ android:id="@+id/img_progress"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="10dp"
+ android:layout_toRightOf="@+id/img_progress"
+ android:text="鍔姏鍔犺浇涓�..."
+ android:textColor="#585858"
+ android:textSize="14sp" />
+
+</RelativeLayout>
diff --git a/app/src/main/res/layout/list_item_device.xml b/app/src/main/res/layout/list_item_device.xml
new file mode 100644
index 0000000..55c7dc9
--- /dev/null
+++ b/app/src/main/res/layout/list_item_device.xml
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="top"
+ android:orientation="horizontal"
+ tools:ignore="MissingDefaultResource">
+
+ <ImageView
+ android:id="@+id/device_icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:paddingTop="5dp"
+ android:src="@mipmap/ic_bluetooth"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/device_name"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textSize="24sp"/>
+
+ <GridLayout
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:columnCount="2">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:text="@string/label_mac"
+ android:textSize="12sp"
+ android:textStyle="bold"/>
+
+ <TextView
+ android:id="@+id/device_address"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="12sp"
+ android:typeface="monospace"/>
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:text="@string/label_updated"
+ android:textSize="12sp"
+ android:textStyle="bold"/>
+
+ <TextView
+ android:id="@+id/device_last_update"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:textSize="12sp"/>
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:text="@string/label_rssi"
+ android:textSize="12sp"
+ android:textStyle="bold"/>
+
+ <TextView
+ android:id="@+id/device_rssi"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:textSize="12sp"/>
+ </GridLayout>
+
+ <TextView
+ android:id="@+id/ibeacon_scan_record"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:visibility="gone"
+ android:textSize="12sp"/>
+
+ <GridLayout
+ android:id="@+id/ibeacon_section"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:background="#66e0e0e0"
+ android:columnCount="4">
+
+ <!-- ROW 1 -->
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:text="@string/label_uuid"
+ android:textSize="12sp"
+ android:textStyle="bold"/>
+
+ <TextView
+ android:id="@+id/ibeacon_uuid"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_columnSpan="3"
+ android:paddingRight="5dp"
+ android:textSize="12sp"/>
+
+ <!-- ROW 2 -->
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:text="@string/label_major"
+ android:textSize="12sp"
+ android:textStyle="bold"/>
+
+ <TextView
+ android:id="@+id/ibeacon_major"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:textSize="12sp"/>
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingLeft="5dp"
+ android:paddingRight="5dp"
+ android:text="@string/label_minor"
+ android:textSize="12sp"
+ android:textStyle="bold"/>
+
+ <TextView
+ android:id="@+id/ibeacon_minor"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:textSize="12sp"/>
+
+ <!-- ROW 3 -->
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:text="@string/label_tx_power"
+ android:textSize="12sp"
+ android:textStyle="bold"/>
+
+ <TextView
+ android:id="@+id/ibeacon_tx_power"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:textSize="12sp"/>
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingLeft="5dp"
+ android:paddingRight="5dp"
+ android:text="@string/label_distance"
+ android:textSize="12sp"
+ android:textStyle="bold"/>
+
+ <TextView
+ android:id="@+id/ibeacon_distance"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:textSize="12sp"/>
+
+ <!-- ROW 4 -->
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:text="@string/label_decriptor"
+ android:textSize="12sp"
+ android:textStyle="bold"/>
+
+ <TextView
+ android:id="@+id/ibeacon_distance_descriptor"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_columnSpan="3"
+ android:paddingRight="5dp"
+ android:textSize="12sp"/>
+
+ </GridLayout>
+ </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/normal_activity_write.xml b/app/src/main/res/layout/normal_activity_write.xml
new file mode 100644
index 0000000..2500a22
--- /dev/null
+++ b/app/src/main/res/layout/normal_activity_write.xml
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/qmui_config_color_background"
+ android:orientation="vertical"
+ tools:context=".activity.HomeActivity">
+
+ <include layout="@layout/include_head" />
+
+ <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
+ android:id="@+id/groupListView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ />
+
+ <Button
+ android:id="@+id/send"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginTop="@dimen/dimension_15"
+ android:clickable="true"
+ android:padding="10dp"
+ android:text="鍙戦�佹寚浠�"
+ />
+
+ <LinearLayout
+ android:visibility="gone"
+ android:id="@+id/ll_root"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+
+ <Button
+ android:id="@+id/btnInto"
+ android:layout_width="match_parent"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_10"
+ android:layout_marginTop="@dimen/dimension_10"
+ android:layout_marginRight="10dp"
+ android:gravity="center"
+ android:text="杩涘叆缂栧潃"
+ android:textStyle="bold" />
+
+
+ <Button
+ android:id="@+id/btnClean"
+ android:layout_width="match_parent"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_10"
+ android:layout_marginTop="@dimen/dimension_10"
+ android:layout_marginRight="10dp"
+
+ android:gravity="center"
+ android:text="娓呴櫎鍦板潃"
+ android:textStyle="bold" />
+
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/dimension_10"
+ android:paddingTop="@dimen/dimension_10"
+ android:paddingRight="@dimen/dimension_10">
+
+ <Button
+ android:id="@+id/btn1"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="1"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn2"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="2"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn3"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="3"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn4"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="4"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/dimension_10"
+ android:paddingTop="@dimen/dimension_10"
+ android:paddingRight="@dimen/dimension_10"
+
+ >
+
+ <Button
+ android:id="@+id/btn5"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="5"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn6"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="6"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn7"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="7"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn8"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="8"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/dimension_10"
+ android:paddingTop="@dimen/dimension_10"
+ android:paddingRight="@dimen/dimension_10"
+
+ >
+
+ <Button
+ android:id="@+id/btn9"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="9"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn10"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="10"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn11"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="11"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn12"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="12"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/dimension_10"
+ android:paddingTop="@dimen/dimension_10"
+ android:paddingRight="@dimen/dimension_10"
+
+ >
+
+ <Button
+ android:id="@+id/btn13"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="13"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn14"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="14"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn15"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_marginRight="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="15"
+ android:textStyle="bold" />
+
+ <Button
+ android:id="@+id/btn16"
+ android:layout_width="0dp"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_5"
+ android:layout_weight="1"
+
+ android:gravity="center"
+ android:text="16"
+ android:textStyle="bold" />
+
+ </LinearLayout>
+
+ <Button
+ android:layout_width="match_parent"
+ android:layout_height="45dp"
+ android:layout_marginLeft="@dimen/dimension_10"
+ android:layout_marginTop="@dimen/dimension_10"
+ android:layout_marginRight="10dp"
+ android:id="@+id/btnExit"
+ android:gravity="center"
+ android:text="閫�鍑虹紪鍧�"
+ android:textStyle="bold" />
+ </LinearLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/tipdialog_custom.xml b/app/src/main/res/layout/tipdialog_custom.xml
new file mode 100755
index 0000000..4e9ee80
--- /dev/null
+++ b/app/src/main/res/layout/tipdialog_custom.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:orientation="horizontal"
+ tools:ignore="UseCompoundDrawables">
+
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:contentDescription="鑷畾涔� icon"
+ android:src="@drawable/qmui_icon_notify_info"/>
+
+ <TextView
+ android:id="@+id/tv_tip"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="10dp"
+ android:text="鑷畾涔夌粨鏋�"
+ android:textColor="@color/qmui_config_color_white"
+ android:textSize="16sp"/>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/top_view.xml b/app/src/main/res/layout/top_view.xml
new file mode 100644
index 0000000..43b199c
--- /dev/null
+++ b/app/src/main/res/layout/top_view.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:src="@mipmap/top_background"/>
+
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="right|bottom"
+ android:src="@mipmap/monkey"/>
+</FrameLayout>
diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml
new file mode 100644
index 0000000..187e767
--- /dev/null
+++ b/app/src/main/res/menu/menu_main.xml
@@ -0,0 +1,10 @@
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:context="com.shlb.comb.MainActivity">
+ <item
+ android:id="@+id/action_settings"
+ android:orderInCategory="100"
+ android:title="@string/action_settings"
+ app:showAsAction="never" />
+</menu>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000..34ed9da
--- /dev/null
+++ b/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000..06cd83c
--- /dev/null
+++ b/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/about_logo.png b/app/src/main/res/mipmap-xhdpi/about_logo.png
new file mode 100644
index 0000000..a1ce71e
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/about_logo.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/animation_img1.png b/app/src/main/res/mipmap-xhdpi/animation_img1.png
new file mode 100644
index 0000000..e9698df
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/animation_img1.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/example_image0.png b/app/src/main/res/mipmap-xhdpi/example_image0.png
new file mode 100644
index 0000000..12d180c
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/example_image0.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_bluetooth.png b/app/src/main/res/mipmap-xhdpi/ic_bluetooth.png
new file mode 100644
index 0000000..2434af2
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_bluetooth.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_device_ibeacon.png b/app/src/main/res/mipmap-xhdpi/ic_device_ibeacon.png
new file mode 100644
index 0000000..0c3f7fc
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_device_ibeacon.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_down.png b/app/src/main/res/mipmap-xhdpi/ic_down.png
new file mode 100644
index 0000000..f6cb7b7
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_down.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..2552412
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_sanjiao.png b/app/src/main/res/mipmap-xhdpi/ic_sanjiao.png
new file mode 100644
index 0000000..9baff38
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_sanjiao.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_sport_bg.png b/app/src/main/res/mipmap-xhdpi/ic_sport_bg.png
new file mode 100755
index 0000000..6a0555c
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/ic_sport_bg.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_back.png b/app/src/main/res/mipmap-xhdpi/icon_back.png
new file mode 100755
index 0000000..d42451b
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_back.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_colse.png b/app/src/main/res/mipmap-xhdpi/icon_colse.png
new file mode 100644
index 0000000..61a85a5
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_colse.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_head.png b/app/src/main/res/mipmap-xhdpi/icon_head.png
new file mode 100755
index 0000000..b1d67d7
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_head.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_menu.png b/app/src/main/res/mipmap-xhdpi/icon_menu.png
new file mode 100644
index 0000000..04ec7d9
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_menu.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_record.png b/app/src/main/res/mipmap-xhdpi/icon_record.png
new file mode 100755
index 0000000..5c26e0d
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_record.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_topbar_about.png b/app/src/main/res/mipmap-xhdpi/icon_topbar_about.png
new file mode 100644
index 0000000..02773b9
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_topbar_about.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_topbar_overflow.png b/app/src/main/res/mipmap-xhdpi/icon_topbar_overflow.png
new file mode 100644
index 0000000..1b6d918
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_topbar_overflow.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_topbar_right.png b/app/src/main/res/mipmap-xhdpi/icon_topbar_right.png
new file mode 100644
index 0000000..47d2f3b
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/icon_topbar_right.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/load_err.png b/app/src/main/res/mipmap-xhdpi/load_err.png
new file mode 100755
index 0000000..389b433
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/load_err.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/monkey.png b/app/src/main/res/mipmap-xhdpi/monkey.png
new file mode 100644
index 0000000..a944619
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/monkey.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/top_background.png b/app/src/main/res/mipmap-xhdpi/top_background.png
new file mode 100644
index 0000000..e0d2d09
--- /dev/null
+++ b/app/src/main/res/mipmap-xhdpi/top_background.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/animation_img1.png b/app/src/main/res/mipmap-xxhdpi/animation_img1.png
new file mode 100644
index 0000000..ffa85dd
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/animation_img1.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/animation_img2.png b/app/src/main/res/mipmap-xxhdpi/animation_img2.png
new file mode 100644
index 0000000..e80ec8c
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/animation_img2.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/animation_img3.png b/app/src/main/res/mipmap-xxhdpi/animation_img3.png
new file mode 100644
index 0000000..a8c2e01
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/animation_img3.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..90ee4ad
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_topbar_about.png b/app/src/main/res/mipmap-xxhdpi/icon_topbar_about.png
new file mode 100644
index 0000000..4313791
--- /dev/null
+++ b/app/src/main/res/mipmap-xxhdpi/icon_topbar_about.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..13151e9
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/values-land/dimens.xml b/app/src/main/res/values-land/dimens.xml
new file mode 100644
index 0000000..22d7f00
--- /dev/null
+++ b/app/src/main/res/values-land/dimens.xml
@@ -0,0 +1,3 @@
+<resources>
+ <dimen name="fab_margin">48dp</dimen>
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-w1240dp/dimens.xml b/app/src/main/res/values-w1240dp/dimens.xml
new file mode 100644
index 0000000..d73f4a3
--- /dev/null
+++ b/app/src/main/res/values-w1240dp/dimens.xml
@@ -0,0 +1,3 @@
+<resources>
+ <dimen name="fab_margin">200dp</dimen>
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-w600dp/dimens.xml b/app/src/main/res/values-w600dp/dimens.xml
new file mode 100644
index 0000000..22d7f00
--- /dev/null
+++ b/app/src/main/res/values-w600dp/dimens.xml
@@ -0,0 +1,3 @@
+<resources>
+ <dimen name="fab_margin">48dp</dimen>
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
new file mode 100644
index 0000000..6bf4d8b
--- /dev/null
+++ b/app/src/main/res/values/arrays.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string-array name="threshold_modes">
+ <item>涓�閿瀹�</item>
+ <item>鍗曞眰璁惧畾</item>
+ </string-array>
+ <string-array name="sensitivity_modes">
+ <item>鎵归噺澧炲姞</item>
+ <item>鎵归噺鍑忓皯</item>
+ <item>鍗曞眰澧炲姞</item>
+ <item>鍗曞眰鍑忓皯</item>
+ </string-array>
+</resources>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..b1e0e3a
--- /dev/null
+++ b/app/src/main/res/values/colors.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <color name="colorPrimary">#1890ff</color>
+ <color name="colorPrimaryDark">#1890ff</color>
+ <color name="colorAccent">#1890ff</color>
+
+ <color name="white">#ffffff</color>
+ <color name="base_color">#1890ff</color>
+ <color name="base_color_s">#05aa87</color>
+ <color name="gray_line">#e5e5e5</color>
+ <color name="gray_bg">#f7f7f7</color>
+ <color name="dark_line">#C2C2C2</color>
+ <color name="dark_hint">#898989</color>
+ <color name="dark_border">#979797</color>
+ <color name="dark_big_line">#727272</color>
+ <color name="dark_line2">#9E9E9E</color>
+ <color name="bg_green">#2AD9A4</color>
+ <color name="bg_title">#EFEEF5</color>
+
+
+ <color name="base_line">#F4F5F7</color>
+ <color name="app_color_blue_2">#31BDF3</color>
+ <color name="app_color_blue_2_disabled">#7F31BDF3</color>
+ <color name="app_color_blue_2_pressed">#7F31BDF3</color>
+
+ <color name="app_color_theme_1">#EF5362</color> <!-- Grapefruit -->
+ <color name="app_color_theme_2">#FE6D4B</color> <!-- Bittersweet -->
+ <color name="app_color_theme_3">#FFCF47</color> <!-- Sunflower -->
+ <color name="app_color_theme_4">#9FD661</color> <!-- Grass -->
+ <color name="app_color_theme_5">#3FD0AD</color> <!-- Mint -->
+ <color name="app_color_theme_6">#2BBDF3</color> <!-- Aqua -->
+ <color name="app_color_theme_7">#5A9AEF</color> <!-- Blue Jeans -->
+ <color name="app_color_theme_8">#AC8FEF</color> <!-- Lavender -->
+ <color name="app_color_theme_9">#EE85C1</color> <!-- Pink Rose -->
+
+ <color name="e5">#F7F7F7</color>
+ <color name="base_text">#000</color>
+ <color name="bg">#10858C96</color>
+ <color name="bg_table">#F0F0F0</color>
+ <color name="blue_">#196CA0</color>
+ <color name="orange">#FAA02A</color>
+
+ <color name="green">#00FF00</color>
+ <color name="blue">#EE9A00</color>
+ <color name="red">#EE0000</color>
+
+ <color name="content_background">#f2f2f2</color>
+
+ <color name="red_normal">#FF0000</color>
+ <color name="red_pressed">#FF6666</color>
+
+ <color name="shape1">#5d8df7</color>
+ <color name="shape2">#5EB9F8</color>
+ <color name="shape3">#5CC2F8</color>
+
+ <color name="title1">#1890ff</color>
+ <color name="title2">#1890ff</color>
+ <color name="title3">#1890ff</color>
+ <color name="title4">#1890ff</color>
+
+
+ <color name="bar1">#C0FF8C</color>
+ <color name="bar2">#FFF78C</color>
+ <color name="bar3">#FFD08C</color>
+ <color name="bar4">#8CEAFF</color>
+ <color name="bar5">#FF8C9D</color>
+
+ <color name="drawer_header_teal">#008299</color>
+ <color name="drawer_item_selected_blue">#00B2D4</color>
+ <color name="drawer_item_text_gray">#666666</color>
+ <color name="drawer_divider">#EEEEEE</color>
+ <color name="drawer_badge_red">#EE0000</color>
+
+
+
+
+ <integer-array name="gradient_arc_color">
+ <item>@color/green</item>
+ <item>@color/blue</item>
+ <item>@color/red</item>
+ </integer-array>
+
+ <integer-array name="titlecolor">
+ <item>@color/title1</item>
+ <item>@color/title2</item>
+ <item>@color/title3</item>
+ </integer-array>
+</resources>
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
new file mode 100755
index 0000000..ca9c1e7
--- /dev/null
+++ b/app/src/main/res/values/dimens.xml
@@ -0,0 +1,102 @@
+<resources>
+ <!-- Default screen margins, per the Android Design guidelines. -->
+ <dimen name="activity_horizontal_margin">16dp</dimen>
+ <dimen name="activity_vertical_margin">16dp</dimen>
+
+ <dimen name="padding_top">0dp</dimen>
+
+ <!-- 瀛椾綋澶у皬 -->
+ <dimen name="fontsize_8">8sp</dimen>
+ <dimen name="fontsize_10">10sp</dimen>
+ <dimen name="fontsize_12">12sp</dimen>
+ <dimen name="fontsize_13">13sp</dimen>
+ <dimen name="fontsize_14">14sp</dimen>
+ <dimen name="fontsize_15">15sp</dimen>
+ <dimen name="fontsize_16">16sp</dimen>
+ <dimen name="fontsize_17">17sp</dimen>
+ <dimen name="fontsize_18">18sp</dimen>
+ <dimen name="fontsize_20">20sp</dimen>
+ <dimen name="fontsize_22">22sp</dimen>
+ <dimen name="fontsize_24">24sp</dimen>
+ <dimen name="fontsize_26">26sp</dimen>
+ <dimen name="fontsize_28">28sp</dimen>
+ <dimen name="fontsize_34">34sp</dimen>
+ <dimen name="fontsize_40">40sp</dimen>
+
+ <!-- 灏哄 -->
+ <dimen name="dimension_0">0dp</dimen>
+ <dimen name="dimension_dp_litter">0.25dp</dimen>
+ <dimen name="dimension_dp_half">0.5dp</dimen>
+ <dimen name="dimension_1">1dp</dimen>
+ <dimen name="dimension_2">2dp</dimen>
+ <dimen name="dimension_3">3dp</dimen>
+ <dimen name="dimension_4">4dp</dimen>
+ <dimen name="dimension_5">5dp</dimen>
+ <dimen name="dimension_6">6dp</dimen>
+ <dimen name="dimension_7">7dp</dimen>
+ <dimen name="dimension_8">8dp</dimen>
+ <dimen name="dimension_10">10dp</dimen>
+ <dimen name="dimension_11">11dp</dimen>
+ <dimen name="dimension_12">12dp</dimen>
+ <dimen name="dimension_13">13dp</dimen>
+ <dimen name="dimension_14">14dp</dimen>
+ <dimen name="dimension_15">15dp</dimen>
+ <dimen name="dimension_16">16dp</dimen>
+ <dimen name="dimension_17">17dp</dimen>
+ <dimen name="dimension_18">18dp</dimen>
+ <dimen name="dimension_20">20dp</dimen>
+ <dimen name="dimension_21">21dp</dimen>
+ <dimen name="dimension_23">23dp</dimen>
+ <dimen name="dimension_24">24dp</dimen>
+ <dimen name="dimension_25">25dp</dimen>
+ <dimen name="dimension_28">28dp</dimen>
+ <dimen name="dimension_30">30dp</dimen>
+ <dimen name="dimension_32">32dp</dimen>
+ <dimen name="dimension_34">34dp</dimen>
+ <dimen name="dimension_35">35dp</dimen>
+ <dimen name="dimension_36">36dp</dimen>
+ <dimen name="dimension_38">38dp</dimen>
+ <dimen name="dimension_40">40dp</dimen>
+ <dimen name="dimension_41">41dp</dimen>
+ <dimen name="dimension_43">43dp</dimen>
+ <dimen name="dimension_39">39dp</dimen>
+ <dimen name="dimension_42">42dp</dimen>
+ <dimen name="dimension_44">44dp</dimen>
+ <dimen name="dimension_45">45dp</dimen>
+ <dimen name="dimension_47">47dp</dimen>
+ <dimen name="dimension_48">48dp</dimen>
+ <dimen name="dimension_50">50dp</dimen>
+ <dimen name="dimension_52">52dp</dimen>
+ <dimen name="dimension_55">55dp</dimen>
+ <dimen name="dimension_60">60dp</dimen>
+ <dimen name="dimension_65">65dp</dimen>
+ <dimen name="dimension_70">70dp</dimen>
+ <dimen name="dimension_75">75dp</dimen>
+ <dimen name="dimension_77">77dp</dimen>
+ <dimen name="dimension_80">80dp</dimen>
+ <dimen name="dimension_85">85dp</dimen>
+ <dimen name="dimension_90">90dp</dimen>
+ <dimen name="dimension_95">95dp</dimen>
+ <dimen name="dimension_100">100dp</dimen>
+ <dimen name="dimension_120">120dp</dimen>
+ <dimen name="dimension_135">135dp</dimen>
+ <dimen name="dimension_140">140dp</dimen>
+ <dimen name="dimension_160">160dp</dimen>
+ <dimen name="dimension_165">165dp</dimen>
+ <dimen name="dimension_170">170dp</dimen>
+ <dimen name="dimension_150">150dp</dimen>
+ <dimen name="dimension_180">180dp</dimen>
+ <dimen name="dimension_200">200dp</dimen>
+ <dimen name="dimension_220">220dp</dimen>
+ <dimen name="dimension_250">250dp</dimen>
+ <dimen name="dimension_260">260dp</dimen>
+ <dimen name="dimension_290">290dp</dimen>
+ <dimen name="dimension_300">300dp</dimen>
+ <dimen name="dimension_px_half">0.5px</dimen>
+ <dimen name="dimension_px_1">1px</dimen>
+ <dimen name="dimension_dp_15">15dp</dimen>
+ <dimen name="dimension_px_30">30px</dimen>
+ <dimen name="dimension_px_100">100px</dimen>
+
+ <dimen name="status_bar_height">0dp</dimen>
+</resources>
diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml
new file mode 100644
index 0000000..17494e1
--- /dev/null
+++ b/app/src/main/res/values/ids.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Tencent is pleased to support the open source community by making QMUI_Android available.
+
+ Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
+
+ Licensed under the MIT License (the "License"); you may not use this file except in
+ compliance with the License. You may obtain a copy of the License at
+
+ http://opensource.org/licenses/MIT
+
+ 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.
+-->
+
+<resources>
+ <item name="qmuidemo" type="id"/>
+ <item name="main_container" type="id"/>
+
+ <item name="empty_button" type="id"/>
+
+ <item name="topbar_right_about_button" type="id"/>
+ <item name="topbar_right_change_button" type="id"/>
+
+ <item name="layout_for_test" type="id"/>
+ <!--main-->
+ <item name="ble_connec" type="id"/>
+ <item name="ble_address" type="id"/>
+
+ <!--address-->
+ <item name="address_write_list" type="id"/>
+ <item name="address_ble_name" type="id"/>
+ <item name="address_ble_statu" type="id"/>
+ <item name="address_ble_mac" type="id"/>
+
+
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..e36b8df
--- /dev/null
+++ b/app/src/main/res/values/strings.xml
@@ -0,0 +1,75 @@
+<resources>
+ <string name="app_name">comb</string>
+ <string name="action_settings">Settings</string>
+ <!-- Strings used for fragments for navigation -->
+ <string name="first_fragment_label">First Fragment</string>
+ <string name="second_fragment_label">Second Fragment</string>
+ <string name="next">Next</string>
+ <string name="previous">Previous</string>
+
+ <string name="hello_first_fragment">Hello first fragment</string>
+ <string name="hello_second_fragment">Hello second fragment. Arg: %1$s</string>
+
+
+
+
+ <!-- Labels -->
+ <string name="about_dialog_text">This is a sample application using the Bluetooth LE Library.\n\nGithub: https://github.com/alt236/Bluetooth-LE-Library---Android\n\nCopyright: Alexandros Schillings</string>
+ <string name="header_device_info">Device Info</string>
+ <string name="header_ibeacon_data">iBeacon Data</string>
+ <string name="header_raw_ad_records">Raw Ad Records</string>
+ <string name="header_rssi_info">RSSI Info</string>
+ <string name="header_scan_record">Scan Record</string>
+ <string name="label_advertisement">Advertisement:</string>
+ <string name="label_as_array">As Array:</string>
+ <string name="label_as_string">As String:</string>
+ <string name="label_bluetooth_le_status">Bluetooth LE:</string>
+ <string name="label_bluetooth_status">Bluetooth:</string>
+ <string name="label_bluetooth_filter">Filter:</string>
+ <string name="label_bluetooth_period">Period:</string>
+ <string name="label_bonding_state">Bonding State:</string>
+ <string name="label_company_id">Company ID:</string>
+ <string name="label_data">Data:</string>
+ <string name="label_desc">Desc:</string>
+ <string name="label_device_address">Device address:</string>
+ <string name="label_device_class">Device Class:</string>
+ <string name="label_device_major_class">Major Class:</string>
+ <string name="label_device_services">Services:</string>
+ <string name="label_device_name">Device Name:</string>
+ <string name="label_distance">Distance:</string>
+ <string name="label_first_rssi">First RSSI:</string>
+ <string name="label_first_timestamp">First Timestamp:</string>
+ <string name="label_last_rssi">Last RSSI:</string>
+ <string name="label_last_timestamp">Last Timestamp:</string>
+ <string name="label_mac">MAC:</string>
+ <string name="label_major">Major:</string>
+ <string name="label_minor">Minor:</string>
+ <string name="label_rssi">RSSI:</string>
+ <string name="label_running_average_rssi">Running Average RSSI:</string>
+ <string name="label_state">State:</string>
+ <string name="label_tx_power">TX Power:</string>
+ <string name="label_uuid">UUID:</string>
+ <string name="label_updated">Updated:</string>
+ <string name="label_decriptor">Descriptor:</string>
+ <string name="label_record">Record:</string>
+
+ <string name="connected">Connected</string>
+ <string name="disconnected">Disconnected</string>
+ <string name="invalid_device_data">Invalid Device Data!</string>
+ <string name="no_data">No data</string>
+ <string name="not_supported">Not supported</string>
+ <string name="off">Off</string>
+ <string name="period">scan:10s, pause:5s</string>
+ <string name="on">On</string>
+ <string name="supported">Supported</string>
+ <string name="unknown">unknown</string>
+ <string name="unknown_characteristic">Unknown characteristic</string>
+ <string name="unknown_device">Unknown device</string>
+ <string name="unknown_service">Unknown service</string>
+ <string name="no_known_services">No known services</string>
+ <!-- Formatters -->
+ <string name="formatter_meters">%sm</string>
+ <string name="formatter_db">%sdb</string>
+ <string name="formatter_item_count">Items: %s</string>
+
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
new file mode 100644
index 0000000..c2eb304
--- /dev/null
+++ b/app/src/main/res/values/themes.xml
@@ -0,0 +1,77 @@
+<resources xmlns:tools="http://schemas.android.com/tools">
+
+
+ <!-- Base application theme. -->
+ <style name="AppTheme" parent="QMUI.Compat.NoActionBar">
+ <!-- Customize your theme here. -->
+ <item name="colorPrimary">@color/colorPrimary</item>
+ <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
+ <item name="colorAccent">@color/colorAccent</item>
+ <item name="android:windowBackground">@color/gray_bg</item>
+
+ <item name="QMUITopBarStyle">@style/QDTopBar</item>
+ <item name="android:navigationBarColor">@android:color/transparent</item>
+ </style>
+
+ <!--SplashActivity Theme-->
+ <style name="SplashTheme" parent="AppTheme">
+ <item name="android:windowIsTranslucent">false</item>
+ <item name="android:windowNoTitle">true</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:windowBackground">@color/colorPrimary</item>
+ <item name="android:windowFullscreen">true</item>
+ <item name="android:navigationBarColor">@color/colorPrimary</item>
+ <item name="android:statusBarColor">@color/colorPrimary</item>
+ </style>
+
+
+ <style name="QDTopBar" parent="QMUI.TopBar">
+ <item name="qmui_topbar_title_color">@color/qmui_config_color_white</item>
+ <item name="qmui_topbar_subtitle_color">@color/qmui_config_color_white</item>
+ <item name="qmui_topbar_height">48dp</item>
+ <item name="qmui_topbar_title_text_size">15dp</item>
+ <item name="qmui_topbar_image_btn_height">48dp</item>
+ </style>
+
+
+
+
+
+ <style name="tweetName">
+ <item name="android:textColor">#48495f</item>
+ <item name="android:textStyle">bold</item>
+ <item name="android:textSize">18sp</item>
+ <!--<item name="android:textStyle">bold</item>-->
+ <item name="android:shadowColor">#44000000</item>
+ <item name="android:shadowDx">1</item>
+ <item name="android:shadowDy">1</item>
+ <item name="android:shadowRadius">1</item>
+ </style>
+
+ <style name="tweetText">
+ <item name="android:textSize">13sp</item>
+ <item name="android:textColorLink">#888888</item>
+ <item name="android:lineSpacingExtra">4dp</item>
+ </style>
+
+ <style name="tweetDate">
+ <item name="android:textSize">10sp</item>
+ <item name="android:textColor">#FFCCCCCC</item>
+ </style>
+ <style name="ButtonBase" parent="android:Widget.Holo.Light.Button"/>
+ <style name="Button" parent="ButtonBase"/>
+ <style name="CustomButton" parent="@style/Button">
+ <item name="android:layout_height">40dp</item>
+ <item name="android:layout_width">wrap_content</item>
+ <item name="android:layout_marginTop">10dp</item>
+ <item name="android:layout_gravity">center</item>
+ <item name="android:paddingLeft">?attr/qmui_content_spacing_horizontal</item>
+ <item name="android:paddingRight">?attr/qmui_content_spacing_horizontal</item>
+ <item name="android:background">@drawable/s_radius_button_bg</item>
+ <item name="android:textColor">@color/s_app_color_blue_2</item>
+ <item name="android:textSize">12sp</item>
+ <item name="android:textStyle">bold</item>
+ <item name="android:gravity">center</item>
+ </style>
+
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/values.xml b/app/src/main/res/values/values.xml
new file mode 100644
index 0000000..44557a9
--- /dev/null
+++ b/app/src/main/res/values/values.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <declare-styleable name="ParticleView"><attr format="string" name="pv_host_text"/><attr format="dimension" name="pv_host_text_size"/><attr format="string" name="pv_particle_text"/><attr format="dimension" name="pv_particle_text_size"/><attr format="color" name="pv_text_color"/><attr format="color" name="pv_background_color"/><attr format="integer" name="pv_text_anim_time"/><attr format="integer" name="pv_spread_anim_time"/><attr format="integer" name="pv_host_text_anim_time"/></declare-styleable>
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml
new file mode 100644
index 0000000..fa0f996
--- /dev/null
+++ b/app/src/main/res/xml/backup_rules.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ Sample backup rules file; uncomment and customize as necessary.
+ See https://developer.android.com/guide/topics/data/autobackup
+ for details.
+ Note: This file is ignored for devices older that API 31
+ See https://developer.android.com/about/versions/12/backup-restore
+-->
+<full-backup-content>
+ <!--
+ <include domain="sharedpref" path="."/>
+ <exclude domain="sharedpref" path="device.xml"/>
+-->
+</full-backup-content>
\ No newline at end of file
diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/app/src/main/res/xml/data_extraction_rules.xml
new file mode 100644
index 0000000..9ee9997
--- /dev/null
+++ b/app/src/main/res/xml/data_extraction_rules.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ Sample data extraction rules file; uncomment and customize as necessary.
+ See https://developer.android.com/about/versions/12/backup-restore#xml-changes
+ for details.
+-->
+<data-extraction-rules>
+ <cloud-backup>
+ <!-- TODO: Use <include> and <exclude> to control what is backed up.
+ <include .../>
+ <exclude .../>
+ -->
+ </cloud-backup>
+ <!--
+ <device-transfer>
+ <include .../>
+ <exclude .../>
+ </device-transfer>
+ -->
+</data-extraction-rules>
\ No newline at end of file
diff --git a/bluetooth-manager-lib/.gitignore b/bluetooth-manager-lib/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/bluetooth-manager-lib/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/bluetooth-manager-lib/build.gradle b/bluetooth-manager-lib/build.gradle
new file mode 100644
index 0000000..13556da
--- /dev/null
+++ b/bluetooth-manager-lib/build.gradle
@@ -0,0 +1,37 @@
+apply plugin: 'com.android.library'
+
+android {
+ namespace "com.blakequ.bluetooth_manager_lib"
+ compileSdkVersion 28
+ defaultConfig {
+ minSdk 21
+ targetSdk 28
+ versionCode 1
+ versionName "1.0"
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+
+ lintOptions {
+ abortOnError false
+ }
+}
+
+tasks.withType(JavaCompile) {
+ options.encoding = "UTF-8"
+}
+
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ testImplementation 'junit:junit:4.12'
+ implementation 'androidx.appcompat:appcompat:1.3.0'
+ api 'com.blankj:utilcodex:1.31.0'
+}
+
diff --git a/bluetooth-manager-lib/proguard-rules.pro b/bluetooth-manager-lib/proguard-rules.pro
new file mode 100644
index 0000000..b6a8c5b
--- /dev/null
+++ b/bluetooth-manager-lib/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in D:\studio_sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/bluetooth-manager-lib/src/main/AndroidManifest.xml b/bluetooth-manager-lib/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..0eeb1c8
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/AndroidManifest.xml
@@ -0,0 +1,13 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.blakequ.bluetooth_manager_lib">
+
+ <uses-permission android:name="android.permission.BLUETOOTH" />
+ <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
+ <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+ <application
+ android:allowBackup="true">
+
+ </application>
+
+</manifest>
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleManager.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleManager.java
new file mode 100644
index 0000000..5828586
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleManager.java
@@ -0,0 +1,111 @@
+package com.blakequ.bluetooth_manager_lib;
+
+import android.annotation.TargetApi;
+import android.bluetooth.BluetoothManager;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import androidx.annotation.NonNull;
+import android.util.Log;
+
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectConfig;
+import com.blakequ.bluetooth_manager_lib.connect.multiple.MultiConnectManager;
+import com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager;
+
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/17 11:02 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description: scan and connect ble device
+ */
+@TargetApi(18)
+public final class BleManager {
+ private static BleParamsOptions configOptions;
+ private BleManager(){
+ }
+
+ public static BleParamsOptions getBleParamsOptions(){
+ if (configOptions == null){
+ setBleParamsOptions(BleParamsOptions.createDefault());
+ }
+ return configOptions;
+ }
+
+ /**
+ * set config of ble connect and scan
+ * @param options
+ */
+ public static void setBleParamsOptions(@NonNull BleParamsOptions options){
+ if (options != null){
+ configOptions = options;
+ ConnectConfig.maxConnectDeviceNum = options.getMaxConnectDeviceNum();
+
+ }
+ }
+
+ /**
+ * get connect manager, only connect one device
+ * @param context
+ * @return
+ * @see #getMultiConnectManager(Context)
+ */
+ public static BluetoothConnectManager getConnectManager(@NonNull Context context){
+ return BluetoothConnectManager.getInstance(context);
+ }
+
+ /**
+ * get scan bluetooth manager
+ * @param context
+ * @return
+ */
+ public static BluetoothScanManager getScanManager(@NonNull Context context){
+ return BluetoothScanManager.getInstance(context);
+ }
+
+ /**
+ * get multi bluetooth device connect manager
+ * @param context
+ * @return
+ * @see #getConnectManager(Context)
+ */
+ public static MultiConnectManager getMultiConnectManager(@NonNull Context context){
+ return MultiConnectManager.getInstance(context);
+ }
+
+ /**
+ * Check if Bluetooth LE is supported by this Android device, and if so, make sure it is enabled.
+ *
+ * @return false if it is supported and not enabled
+ * @throws BleNotAvailableException if Bluetooth LE is not supported. (Note: The Android emulator will do this)
+ */
+ public static boolean checkAvailability(Context context) throws BleNotAvailableException {
+ if (isSDKAvailable()) {
+ if (!context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {
+ throw new BleNotAvailableException("Bluetooth LE not supported by this device");
+ } else {
+ if (((BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE)).getAdapter().isEnabled()) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public static boolean isSDKAvailable(){
+ if (android.os.Build.VERSION.SDK_INT < 18) {
+ throw new BleNotAvailableException("Bluetooth LE not supported by this device");
+ }
+ return true;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleNotAvailableException.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleNotAvailableException.java
new file mode 100644
index 0000000..edf774a
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleNotAvailableException.java
@@ -0,0 +1,40 @@
+/**
+ * Radius Networks, Inc.
+ * http://www.radiusnetworks.com
+ *
+ * @author David G. Young
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package com.blakequ.bluetooth_manager_lib;
+
+/**
+ * Indicates that Bluetooth Low Energy is not available on this device
+ * @see ScanManager#checkAvailability()
+ * @author David G. Young
+ *
+ */
+public class BleNotAvailableException extends RuntimeException {
+
+ private static final long serialVersionUID = 2242747823097637729L;
+
+ public BleNotAvailableException(String message) {
+ super(message);
+ }
+
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleParamsOptions.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleParamsOptions.java
new file mode 100644
index 0000000..59fca97
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/BleParamsOptions.java
@@ -0,0 +1,285 @@
+package com.blakequ.bluetooth_manager_lib;
+
+
+import androidx.annotation.IntRange;
+
+import com.blakequ.bluetooth_manager_lib.connect.ConnectConfig;
+
+import static com.blakequ.bluetooth_manager_lib.scan.BackgroundPowerSaver.DEFAULT_BACKGROUND_BETWEEN_SCAN_PERIOD;
+import static com.blakequ.bluetooth_manager_lib.scan.BackgroundPowerSaver.DEFAULT_BACKGROUND_SCAN_PERIOD;
+import static com.blakequ.bluetooth_manager_lib.scan.BackgroundPowerSaver.DEFAULT_FOREGROUND_BETWEEN_SCAN_PERIOD;
+import static com.blakequ.bluetooth_manager_lib.scan.BackgroundPowerSaver.DEFAULT_FOREGROUND_SCAN_PERIOD;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/12/1 14:28 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description: config of ble connect and scan
+ */
+
+public class BleParamsOptions {
+
+ private final boolean isDebugMode;
+
+ //using for scan
+ private final long foregroundScanPeriod;
+ private final long foregroundBetweenScanPeriod;
+ private final long backgroundScanPeriod;
+ private final long backgroundBetweenScanPeriod;
+
+ //using for connect
+ private final int maxConnectDeviceNum; //涓�娆℃渶澶ц繛鎺ヨ澶囦釜鏁�
+ private final int reconnectStrategy; //閲嶈繛绛栫暐
+ private final int reconnectMaxTimes; //鏈�澶ч噸杩炴鏁�
+ private final long reconnectBaseSpaceTime; //閲嶈繛鍩虹鏃堕棿闂撮殧ms
+ private final int reconnectedLineToExponentTimes; //蹇�熼噸杩炵殑娆℃暟(绾挎�у埌鎸囨暟)
+ private final int connectTimeOutTimes; //杩炴帴瓒呮椂鏃堕棿
+
+ public boolean isDebugMode() {
+ return isDebugMode;
+ }
+
+ public long getForegroundScanPeriod() {
+ return foregroundScanPeriod;
+ }
+
+ public long getForegroundBetweenScanPeriod() {
+ return foregroundBetweenScanPeriod;
+ }
+
+ public long getBackgroundScanPeriod() {
+ return backgroundScanPeriod;
+ }
+
+ public long getBackgroundBetweenScanPeriod() {
+ return backgroundBetweenScanPeriod;
+ }
+
+ public int getMaxConnectDeviceNum() {
+ return maxConnectDeviceNum;
+ }
+
+ public int getReconnectStrategy() {
+ return reconnectStrategy;
+ }
+
+ public int getReconnectMaxTimes() {
+ return reconnectMaxTimes;
+ }
+
+ public long getReconnectBaseSpaceTime() {
+ return reconnectBaseSpaceTime;
+ }
+
+ public int getReconnectedLineToExponentTimes() {
+ return reconnectedLineToExponentTimes;
+ }
+
+ public int getConnectTimeOutTimes() {
+ return connectTimeOutTimes;
+ }
+
+ private BleParamsOptions(Builder builder){
+ this.isDebugMode = builder.isDebugMode;
+ this.foregroundScanPeriod = builder.foregroundScanPeriod;
+ this.foregroundBetweenScanPeriod = builder.foregroundBetweenScanPeriod;
+ this.backgroundScanPeriod = builder.backgroundScanPeriod;
+ this.backgroundBetweenScanPeriod = builder.backgroundBetweenScanPeriod;
+ this.maxConnectDeviceNum = builder.maxConnectDeviceNum;
+ this.reconnectStrategy = builder.reconnectStrategy;
+ this.reconnectMaxTimes = builder.reconnectMaxTimes;
+ this.reconnectBaseSpaceTime = builder.reconnectBaseSpaceTime;
+ this.reconnectedLineToExponentTimes = builder.reconnectedLineToExponentTimes;
+ this.connectTimeOutTimes = builder.connectTimeOutTimes;
+ }
+
+ public static class Builder {
+
+ private boolean isDebugMode = true;
+ private long foregroundScanPeriod = DEFAULT_FOREGROUND_SCAN_PERIOD;
+ private long foregroundBetweenScanPeriod = DEFAULT_FOREGROUND_BETWEEN_SCAN_PERIOD;
+ private long backgroundScanPeriod = DEFAULT_BACKGROUND_SCAN_PERIOD;
+ private long backgroundBetweenScanPeriod = DEFAULT_BACKGROUND_BETWEEN_SCAN_PERIOD;
+ private int maxConnectDeviceNum = 5;//涓�娆℃渶澶ц繛鎺ヨ澶囦釜鏁�
+ private int reconnectStrategy = ConnectConfig.RECONNECT_LINE_EXPONENT; //閲嶈繛绛栫暐
+ private int reconnectMaxTimes = Integer.MAX_VALUE; //鏈�澶ч噸杩炴鏁�
+ private long reconnectBaseSpaceTime = 8000; //閲嶈繛鍩虹鏃堕棿闂撮殧ms
+ private int reconnectedLineToExponentTimes = 5; //蹇�熼噸杩炵殑娆℃暟(绾挎�у埌鎸囨暟)
+ private int connectTimeOutTimes = 15000; //杩炴帴瓒呮椂鏃堕棿15s
+
+ /**
+ * setting is debug mode, if false then the log will disable
+ * @param isDebugMode you can set by BuildConfig.DEBUG, default is true
+ * @return
+ */
+ public Builder setDebugMode(boolean isDebugMode){
+ this.isDebugMode = isDebugMode;
+ return this;
+ }
+
+ /**
+ * Sets the duration in milliseconds of each Bluetooth LE scan cycle to look for beacons.
+ * This function is used to setup the period when switching
+ * between background/foreground. To have it effect on an already running scan (when the next
+ * cycle starts)
+ *
+ * @param foregroundScanPeriod defalut is 10 seconds, you should using milliseconds
+ * @return
+ */
+ public Builder setForegroundScanPeriod(@IntRange(from = 0) long foregroundScanPeriod) {
+ if (foregroundScanPeriod < 0){
+ throw new IllegalArgumentException("Period time must > 0, now is "+foregroundScanPeriod);
+ }
+ this.foregroundScanPeriod = foregroundScanPeriod;
+ return this;
+ }
+
+ /**
+ * Sets the duration in milliseconds between each Bluetooth LE scan cycle to look for beacons.
+ * This function is used to setup the period when switching
+ * between background/foreground. To have it effect on an already running scan (when the next
+ * cycle starts)
+ * @param foregroundBetweenScanPeriod defalut is 5 seconds, you should using milliseconds
+ * @return
+ */
+ public Builder setForegroundBetweenScanPeriod(@IntRange(from = 0) long foregroundBetweenScanPeriod) {
+ if (foregroundBetweenScanPeriod < 0){
+ throw new IllegalArgumentException("Period time must > 0, now is "+foregroundBetweenScanPeriod);
+ }
+ this.foregroundBetweenScanPeriod = foregroundBetweenScanPeriod;
+ return this;
+ }
+
+ /**
+ * Sets the duration in milliseconds of each Bluetooth LE scan cycle to look for beacons.
+ * This function is used to setup the period when switching
+ * between background/foreground. To have it effect on an already running scan (when the next
+ * cycle starts)
+ * @param backgroundScanPeriod default is 10 seconds, you should using milliseconds
+ * @return
+ */
+ public Builder setBackgroundScanPeriod(@IntRange(from = 0) long backgroundScanPeriod) {
+ if (backgroundScanPeriod < 0){
+ throw new IllegalArgumentException("Period time must > 0, now is "+backgroundScanPeriod);
+ }
+ this.backgroundScanPeriod = backgroundScanPeriod;
+ return this;
+ }
+
+ /**
+ * Sets the duration in milliseconds spent not scanning between each Bluetooth LE scan cycle when no ranging/monitoring clients are in the foreground
+ * @param backgroundBetweenScanPeriod default is 5 minutes, you should using milliseconds
+ * @return
+ */
+ public Builder setBackgroundBetweenScanPeriod(@IntRange(from = 0) long backgroundBetweenScanPeriod) {
+ if (backgroundBetweenScanPeriod < 0){
+ throw new IllegalArgumentException("Period time must > 0, now is "+backgroundBetweenScanPeriod);
+ }
+ this.backgroundBetweenScanPeriod = backgroundBetweenScanPeriod;
+ return this;
+ }
+
+ /**
+ * max number of connect ble device
+ * @param maxConnectDeviceNum default is 5
+ * @return
+ */
+ public Builder setMaxConnectDeviceNum(@IntRange(from = 1) int maxConnectDeviceNum) {
+ if (maxConnectDeviceNum < 1){
+ throw new IllegalArgumentException("Connect device number must > 1, now is "+maxConnectDeviceNum);
+ }
+ this.maxConnectDeviceNum = maxConnectDeviceNum;
+ return this;
+ }
+
+ /**
+ * how to reconnect, you have choose reconnectStrategy:
+ * <ol>
+ * <li>1. ConnectConfig.RECONNECT_LINEAR, each reconnection interval time is the same</li>
+ * <li>2. ConnectConfig.RECONNECT_EXPONENT, the reconnect time interval is exponential growth</li>
+ * <li>3. ConnectConfig.RECONNECT_LINE_EXPONENT, Start time interval is the same, after reconnectedLineToExponentTimes times then use exponential growth<li/>
+ * </ol>
+ * @param reconnectStrategy
+ * @return
+ */
+ public Builder setReconnectStrategy(@IntRange(from = 1, to = 4) int reconnectStrategy) {
+ if (reconnectStrategy < 1 || reconnectStrategy > 4){
+ throw new IllegalArgumentException("reconnectStrategy range is 1 to 4");
+ }
+ this.reconnectStrategy = reconnectStrategy;
+ return this;
+ }
+
+ /**
+ * usable only the reconnect strategy is ConnectConfig.RECONNECT_LINE_EXPONENT
+ * @param reconnectedLineToExponentTimes the times from linear to exponential, default is 5 times
+ * @return
+ */
+ public Builder setReconnectedLineToExponentTimes(@IntRange(from = 1) int reconnectedLineToExponentTimes) {
+ if (reconnectedLineToExponentTimes < 1){
+ throw new IllegalArgumentException("reconnectedLineToExponentTimes value must >= 1, now is "+reconnectedLineToExponentTimes);
+ }
+ this.reconnectedLineToExponentTimes = reconnectedLineToExponentTimes;
+ return this;
+ }
+
+ /**
+ * max reconnect times, if you set 0 will not reconnect
+ * @param reconnectMaxTimes default is Integer.MAX_VALUE
+ * @return
+ */
+ public Builder setReconnectMaxTimes(@IntRange(from = 0) int reconnectMaxTimes) {
+ if (reconnectMaxTimes < 0){
+ throw new IllegalArgumentException("Reconnect max times must > 0, now is "+reconnectMaxTimes);
+ }
+ this.reconnectMaxTimes = reconnectMaxTimes;
+ return this;
+ }
+
+ /**
+ * reconnect interval time(>=1000ms)
+ * @param reconnectBaseSpaceTime default is 8 seconds
+ * @return
+ */
+ public Builder setReconnectBaseSpaceTime(@IntRange(from = 1000) long reconnectBaseSpaceTime) {
+ if (reconnectBaseSpaceTime < 1000){
+ throw new IllegalArgumentException("reconnectBaseSpaceTime must >= 1000ms, now is "+reconnectBaseSpaceTime);
+ }
+ this.reconnectBaseSpaceTime = reconnectBaseSpaceTime;
+ return this;
+ }
+
+ /**
+ * time out of connect device(after this time will check bluetooth state, if bluetooth not available will close all connect)
+ * @param connectTimeOutTimes default is 15 seconds(must > 1 seconds)
+ * @return
+ */
+ public Builder setConnectTimeOutTimes(@IntRange(from = 1000) int connectTimeOutTimes){
+ if (connectTimeOutTimes < 1000){
+ throw new IllegalArgumentException("connectTimeOutTimes must >= 1000ms, now is "+connectTimeOutTimes);
+ }
+ this.connectTimeOutTimes = connectTimeOutTimes;
+ return this;
+ }
+
+ /** Builds configured {@link BleParamsOptions} object */
+ public BleParamsOptions build() {
+ return new BleParamsOptions(this);
+ }
+ }
+
+ public static BleParamsOptions createDefault() {
+ return new Builder().build();
+ }
+
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothConnectInterface.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothConnectInterface.java
new file mode 100644
index 0000000..40326ea
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothConnectInterface.java
@@ -0,0 +1,398 @@
+package com.blakequ.bluetooth_manager_lib.connect;
+
+import android.annotation.SuppressLint;
+import android.annotation.TargetApi;
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCallback;
+import android.bluetooth.BluetoothGattCharacteristic;
+import android.bluetooth.BluetoothGattDescriptor;
+import android.bluetooth.BluetoothGattService;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.os.Build;
+import android.os.Handler;
+import android.os.Looper;
+
+import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
+import com.blankj.utilcode.util.LogUtils;
+
+import java.lang.reflect.Field;
+import java.util.List;
+import java.util.Queue;
+import java.util.UUID;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/19 11:16 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description:bluetooth connect interface
+ */
+public abstract class BluetoothConnectInterface {
+ protected static final String TAG = "BluetoothConnectInterface";
+ protected Context context;
+ private BluetoothOperatorQueue mOpratorQueue;
+ private Handler mHandler = new Handler(Looper.getMainLooper());
+
+ public BluetoothConnectInterface(Context context){
+ this.context = context;
+ mOpratorQueue = new BluetoothOperatorQueue();
+ }
+
+ /**
+ * release resource
+ */
+ public abstract void release();
+
+ /**
+ * get gatt connect callback
+ * @return
+ */
+ protected abstract BluetoothGattCallback getBluetoothGattCallback();
+
+ protected abstract String getServiceUUID();
+
+ /**
+ * get device gatt service, if not will return null
+ * @param address
+ * @return null if not find gatt service
+ */
+ public abstract BluetoothGatt getBluetoothGatt(String address);
+
+ /**
+ * get the list of subscribe
+ * @return
+ */
+ protected abstract Queue<BluetoothSubScribeData> getSubscribeDataQueue();
+
+ /**
+ * invoke when bluetooth disconnect
+ * @param gatt
+ */
+ protected abstract void onDeviceDisconnect(BluetoothGatt gatt, int errorState);
+
+ /**
+ * invoke when bluetooth connected
+ * @param gatt
+ */
+ protected abstract void onDeviceConnected(BluetoothGatt gatt);
+
+ /**
+ * invoke when fail to discover service
+ * @param gatt
+ */
+ protected abstract void onDiscoverServicesFail(BluetoothGatt gatt);
+
+ /**
+ * invoke when success to discover service
+ * @param gatt
+ */
+ protected abstract void onDiscoverServicesSuccess(BluetoothGatt gatt);
+
+ /**
+ * Runs the specified action on the UI thread. If the current thread is the UI
+ * thread, then the action is executed immediately. If the current thread is
+ * not the UI thread, the action is posted to the event queue of the UI thread.
+ *
+ * @param action the action to run on the UI thread
+ */
+ public final void runOnUiThread(Runnable action) {
+ if (Thread.currentThread() != Looper.getMainLooper().getThread()) {
+ mHandler.post(action);
+ } else {
+ action.run();
+ }
+ }
+
+ protected Handler getMainLooperHandler(){
+ return mHandler;
+ }
+
+ protected BluetoothGattCallback gattCallback = new BluetoothGattCallback() {
+ @Override
+ public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
+ super.onCharacteristicChanged(gatt, characteristic);
+ if (getBluetoothGattCallback() != null) getBluetoothGattCallback().onCharacteristicChanged(gatt, characteristic);
+ }
+
+ @Override
+ public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
+ super.onCharacteristicRead(gatt, characteristic, status);
+ LogUtils.i("onCharacteristicRead data status:" + GattError.parseConnectionError(status) + " " + characteristic.getUuid().toString());
+ mOpratorQueue.nextOperator();
+ if (getBluetoothGattCallback() != null) getBluetoothGattCallback().onCharacteristicRead(gatt, characteristic, status);
+ }
+
+ @Override
+ public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
+ super.onCharacteristicWrite(gatt, characteristic, status);
+ LogUtils.i("onCharacteristicWrite write status:" + GattError.parseConnectionError(status));
+ mOpratorQueue.nextOperator();
+ if (getBluetoothGattCallback() != null) getBluetoothGattCallback().onCharacteristicWrite(gatt, characteristic, status);
+ }
+
+ @Override
+ public void onConnectionStateChange(final BluetoothGatt gatt, int status, final int newState) {
+ super.onConnectionStateChange(gatt, status, newState);
+ //status=133鏄疓ATT_ERROR閿欒http://stackoverflow.com/questions/25330938/android-bluetoothgatt-status-133-register-callback
+ //http://www.loverobots.cn/android-ble-connection-solution-bluetoothgatt-status-133.html
+ LogUtils.i("onConnectionStateChange gattStatus=" + GattError.parseConnectionError(status) + " newStatus="
+ + (newState == BluetoothProfile.STATE_CONNECTED ? "CONNECTED" : "DISCONNECTED"));
+
+ //涓嶅悓鐨勬墜鏈哄綋钃濈墮鍏抽棴锛岃澶囨柇寮�锛堥噸鍚紝杩滅锛夎繑鍥炵殑鐘舵�佷笉涓�鏍凤紝newState閮戒竴鏍锋槸DISCONNECTED锛岃澶囧垏鎹笉浼氫骇鐢熷奖鍝�
+ if (status == BluetoothGatt.GATT_SUCCESS) {
+ if (newState == BluetoothProfile.STATE_CONNECTED) {//璋冪敤connect浼氳皟鐢�
+ LogUtils.i("Connected to GATT server");
+ // Attempts to discover services after successful connection.
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ onDeviceConnected(gatt);
+ if (gatt != null && !gatt.discoverServices()) {
+ LogUtils.e("onConnectionStateChange start service discovery fail! Thread:" + Thread.currentThread());
+ }
+ }
+ });
+ } else if (newState == BluetoothProfile.STATE_DISCONNECTED) {//璋冪敤disconnect浼氳皟鐢紝璁惧鏂紑鎴栬摑鐗欏叧闂細杩涘叆
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ onDeviceDisconnect(gatt, newState);
+ }
+ });
+ }
+ } else{ //璋冪敤connect鍜宒isconnect鍑洪敊鍚庝細杩涘叆,璁惧鏂紑鎴栬摑鐗欏叧闂細杩涘叆
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ onDeviceDisconnect(gatt, newState);
+ }
+ });
+ }
+ if (getBluetoothGattCallback() != null) getBluetoothGattCallback().onConnectionStateChange(gatt, status, newState);
+ }
+
+ @Override
+ public void onDescriptorRead(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {
+ super.onDescriptorRead(gatt, descriptor, status);
+ LogUtils.i("onDescriptorRead status=" + GattError.parseConnectionError(status));
+ mOpratorQueue.nextOperator();
+ if (getBluetoothGattCallback() != null) getBluetoothGattCallback().onDescriptorRead(gatt, descriptor, status);
+ }
+
+ @Override
+ public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {
+ super.onDescriptorWrite(gatt, descriptor, status);
+ LogUtils.i("onDescriptorWrite status=" + GattError.parseConnectionError(status));
+ mOpratorQueue.nextOperator();
+ if (getBluetoothGattCallback() != null) getBluetoothGattCallback().onDescriptorWrite(gatt, descriptor, status);
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ @Override
+ public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
+ super.onMtuChanged(gatt, mtu, status);
+ if (getBluetoothGattCallback() != null) getBluetoothGattCallback().onMtuChanged(gatt, mtu, status);
+ }
+
+ @Override
+ public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
+ super.onReadRemoteRssi(gatt, rssi, status);
+ if (getBluetoothGattCallback() != null) getBluetoothGattCallback().onReadRemoteRssi(gatt, rssi, status);
+ }
+
+ @Override
+ public void onReliableWriteCompleted(BluetoothGatt gatt, int status) {
+ super.onReliableWriteCompleted(gatt, status);
+ if (getBluetoothGattCallback() != null) getBluetoothGattCallback().onReliableWriteCompleted(gatt, status);
+ }
+
+ @Override
+ public void onServicesDiscovered(final BluetoothGatt gatt, int status) {
+ LogUtils.i("onServicesDiscovered status=" + GattError.parseConnectionError(status));
+ if (status == BluetoothGatt.GATT_SUCCESS) {
+ //start subscribe data
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ onDiscoverServicesSuccess(gatt);
+ if (gatt != null){
+ startSubscribe(gatt);
+ }
+ }
+ });
+ }else {
+ LogUtils.e("onServicesDiscovered fail!");
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ onDiscoverServicesFail(gatt);
+ }
+ });
+ }
+ if (getBluetoothGattCallback() != null) getBluetoothGattCallback().onServicesDiscovered(gatt, status);
+ }
+ };
+
+ /**
+ * start subscribe data, add data to subscribe list before invoke this method
+ * <p>You should invoke this method after onServicesDiscovered, otherwise can not find service<p/>
+ * @param bluetoothGatt
+ * @return boolean is success start read or write character
+ */
+ public boolean startSubscribe(BluetoothGatt bluetoothGatt){
+ if (bluetoothGatt == null){
+ LogUtils.e("Fail to subscribe, BluetoothGatt is null");
+ return false;
+ }
+ boolean isSuccess = subscribe(bluetoothGatt.getDevice().getAddress());
+ mOpratorQueue.start(bluetoothGatt);
+ return isSuccess;
+ }
+
+ /**
+ * 璁㈤槄钃濈墮璁惧閫氱煡鍙婅鍐欐暟鎹�
+ * @return
+ */
+ protected boolean subscribe(String address){
+ BluetoothGatt mBluetoothGatt = getBluetoothGatt(address);
+ if (mBluetoothGatt == null){
+ LogUtils.e("can not subscribe to ble device info "+address);
+ return false;
+ }
+ mOpratorQueue.clean();
+
+ if (isEmpty(getServiceUUID())){
+ LogUtils.e("Service UUID is null");
+ return false;
+ }
+
+ //check subscribe list
+ if (getSubscribeDataQueue() == null && getSubscribeDataQueue().size() > 0){
+ LogUtils.e("Subscribe BLE data is null, you must invoke addBluetoothSubscribeData to add data");
+ return false;
+ }
+
+ BluetoothGattService gattService = mBluetoothGatt.getService(UUID.fromString(getServiceUUID()));
+ if (gattService != null){
+ for (BluetoothSubScribeData data:getSubscribeDataQueue()){
+ final BluetoothGattCharacteristic characteristic = gattService.getCharacteristic(data.getCharacteristicUUID());
+ if (characteristic != null){
+ switch (data.getOperatorType()){
+ case CHAR_WIRTE:
+ if (BluetoothUtils.isCharacteristicWrite(characteristic.getProperties())){
+ characteristic.setValue(data.getCharacteristicValue());
+ mOpratorQueue.addOperator(characteristic, true);
+ }else{
+ LogUtils.e("Fail to write characteristic, not have write property , uuid:"+characteristic.getUuid()+" ,property:"+characteristic.getProperties());
+ }
+ break;
+ case CHAR_READ:
+ //bug fix:samsung phone bug, can not read value
+ if (checkIsSamsung()){
+ setProperty(characteristic);
+ }
+ if(BluetoothUtils.isCharacteristicRead(characteristic.getProperties())){
+ mOpratorQueue.addOperator(characteristic, false);
+ }else{
+ LogUtils.e("Fail to read characteristic, not have read property , uuid:" + characteristic.getUuid() + " ,property:" + characteristic.getProperties());
+ }
+ break;
+ case DESC_READ:
+ BluetoothGattDescriptor descriptor = characteristic.getDescriptor(data.getDescriptorUUID());
+ if (descriptor != null){
+ mOpratorQueue.addOperator(descriptor, false);
+ }else {
+ LogUtils.e("Fail to get descriptor read uuid:"+data.getDescriptorUUID());
+ }
+ break;
+ case DESC_WRITE:
+ BluetoothGattDescriptor descriptor2 = characteristic.getDescriptor(data.getDescriptorUUID());
+ if (descriptor2 != null){
+ descriptor2.setValue(data.getDescriptorValue());
+ mOpratorQueue.addOperator(descriptor2, true);
+ }else {
+ LogUtils.e("Fail to get descriptor write uuid:"+data.getDescriptorUUID());
+ }
+ break;
+ case NOTIFY:
+ if(BluetoothUtils.isCharacteristicNotify(characteristic.getProperties())){
+ mBluetoothGatt.setCharacteristicNotification(characteristic, true);
+ BluetoothGattDescriptor descriptor3 = characteristic.getDescriptor(data.getDescriptorUUID());
+ if (descriptor3 != null){
+ if ((characteristic.getProperties() & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0){
+ descriptor3.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
+ }else if((characteristic.getProperties() & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0){
+ //涓や釜閮芥槸閫氱煡鐨勬剰鎬濓紝notify鍜宨ndication鐨勫尯鍒湪浜庯紝notify鍙槸灏嗕綘瑕佸彂鐨勬暟鎹彂閫佺粰鎵嬫満锛屾病鏈夌‘璁ゆ満鍒讹紝
+ //涓嶄細淇濊瘉鏁版嵁鍙戦�佹槸鍚﹀埌杈俱�傝�宨ndication鐨勬柟寮忓湪鎵嬫満鏀跺埌鏁版嵁鏃朵細涓诲姩鍥炰竴涓猘ck鍥炴潵銆傚嵆鏈夌‘璁ゆ満鍒讹紝鍙湁鏀�
+ //鍒拌繖涓猘ck浣犳墠鑳界户缁彂閫佷笅涓�涓暟鎹�傝繖淇濊瘉浜嗘暟鎹殑姝g‘鍒拌揪锛屼篃璧峰埌浜嗘祦鎺х殑浣滅敤銆傛墍浠ュ湪鎵撳紑閫氱煡鐨勬椂鍊欙紝闇�瑕佽缃竴涓嬨��
+ descriptor3.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE);
+ }
+ mOpratorQueue.addOperator(descriptor3, true);
+ }else {
+ LogUtils.e("Fail to get notify descriptor uuid:"+data.getDescriptorUUID());
+ }
+ }else{
+ LogUtils.e("Fail to notify characteristic, not have notify property , uuid:" + characteristic.getUuid() + " ,property:" + characteristic.getProperties());
+ }
+ break;
+ }
+ }else {
+ LogUtils.e("Fail to get characteristic service uuid:"+data.getCharacteristicUUID());
+ }
+ }
+ }else {
+ LogUtils.e("Can not get gatt service uuid:"+getServiceUUID());
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * 璁剧疆灞炴��,璁剧疆璇绘潈闄�
+ * @param flagReadChar
+ */
+ @SuppressLint("SoonBlockedPrivateApi")
+ private void setProperty(BluetoothGattCharacteristic flagReadChar){
+ Field properField = null;
+ try {
+ properField = flagReadChar.getClass().getDeclaredField("mProperties");
+ properField.setAccessible(true);
+ properField.set(flagReadChar, 10);
+ } catch (NoSuchFieldException e) {
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 鍒ゆ柇鎵嬫満绫诲瀷
+ * @return
+ */
+ protected boolean checkIsSamsung() {
+ String brand = android.os.Build.BRAND;
+ if (brand.toLowerCase().equals("samsung")) {
+ return true;
+ }
+ return false;
+ }
+
+ public boolean isEmpty(String str) {
+ return str == null || str.length() == 0;
+ }
+
+ public <V> boolean isEmpty(List<V> sourceList) {
+ return sourceList == null || sourceList.size() == 0;
+ }
+
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothConnectManager.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothConnectManager.java
new file mode 100644
index 0000000..0126d7b
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothConnectManager.java
@@ -0,0 +1,475 @@
+package com.blakequ.bluetooth_manager_lib.connect;
+
+import android.annotation.TargetApi;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCallback;
+import android.bluetooth.BluetoothManager;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.os.Looper;
+import android.os.SystemClock;
+
+import com.blakequ.bluetooth_manager_lib.BleManager;
+import com.blakequ.bluetooth_manager_lib.BleParamsOptions;
+import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
+import com.blankj.utilcode.util.LogUtils;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/18 11:29 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description: 鐢ㄤ簬褰撳墠钃濈墮鐨勮繛鎺ョ鐞嗭紝璐熻矗杩炴帴鐨勫缓绔嬫柇寮�锛屼娇鐢ㄦ椂闇�瑕佽缃洖璋儃@link #setBluetoothGattCallback(BluetoothGattCallback)},
+ * 杩炴帴{@link #connect(String)},鏂紑杩炴帴{@link #disconnect(String)}, 鍏抽棴杩炴帴{@link #close(String)}.
+ * 娉ㄦ剰锛�<br>
+ * 1.鍦ㄨ繘琛岃摑鐗欐柇寮�鍜岃繛鎺ヨ皟鐢ㄧ殑鏃跺�欙紝闇�瑕佸湪涓荤嚎绋嬫墽琛岋紝鍚﹀垯鍦ㄤ笁鏄熸墜鏈轰細鍑虹幇璁稿寮傚父閿欒鎴栨棤娉曡繛鎺ョ殑鎯呭喌<br>
+ * 2.璇ヨ繛鎺ョ鐞嗗彧鑳借繛鎺ヤ竴涓澶囷紝涓嶆敮鎸佸悓鏃惰繛鎺ュ涓澶�<br>
+ * 3.鍙互鑷畾涔夋柇寮�鍚庨噸杩炴鏁板拰閲嶈繛鐨勯棿闅旀椂闂�<br>
+ * 4.濡傛灉瑕佽闃呮湇鍔℃暟鎹紙read,write,notify锛塖ervice UUID {@link #setServiceUUID(String)}锛� 鍚﹀垯涓嶈兘鑷姩鐨勮繘琛岄�氱煡鍜宑har鍜宒esc鐨勮鍐欐搷浣滐紙杩橀渶瑕亄@link #addBluetoothSubscribeData(BluetoothSubScribeData)}锛�<br>
+ * 5.鍗曠嫭璁㈤槄鏁版嵁锛岄渶瑕佽皟鐢▄@link #cleanSubscribeData()}娓呴櫎璁㈤槄鍘嗗彶鍒楄〃, {@link #addBluetoothSubscribeData(BluetoothSubScribeData)}娣诲姞鍙傛暟, {@link #startSubscribe(BluetoothGatt)}鍚姩璁㈤槄锛屼細鑷姩鍥炶皟{@link #setBluetoothGattCallback(BluetoothGattCallback)}璁㈤槄缁撴灉
+ */
+@TargetApi(18)
+public final class BluetoothConnectManager extends BluetoothConnectInterface{
+ private static final String TAG = "BluetoothConnectManager";
+
+ private static BluetoothConnectManager INSTANCE = null;
+ private final BluetoothUtils mBluetoothUtils;
+ private BluetoothGattCallback mBluetoothGattCallback;
+ private BluetoothManager bluetoothManager;
+ private final Map<String, BluetoothGatt> gattMap; //淇濆瓨杩炴帴杩囩殑gatt
+ private final Queue<BluetoothSubScribeData> subscribeQueue;
+ private static String serviceUUID;
+ private ReconnectParamsBean reconnectParamsBean;
+ private List<ConnectStateListener> connectStateListeners;
+ private ConnectState currentState = ConnectState.NORMAL;
+ private static Object obj = new Object();
+
+ public BluetoothConnectManager(Context context) {
+ super(context);
+ subscribeQueue = new ConcurrentLinkedQueue<BluetoothSubScribeData>();
+ mBluetoothUtils = BluetoothUtils.getInstance(context);
+ bluetoothManager = (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);
+ gattMap = new ConcurrentHashMap<String, BluetoothGatt>(); //浼氭湁骞跺彂鐨勬柇寮�鍜岃繛鎺ワ紝鏁呰�屽繀椤讳娇鐢ㄥ苟鍙慍oncurrentHashMap鎵嶈锛屽惁鍒欎細鏈塁oncurrentModificationException
+ connectStateListeners = new ArrayList<>();
+ BleManager.getBleParamsOptions();
+ }
+
+ @Override
+ public void release() {
+ closeAll();
+ gattMap.clear();
+ reconnectParamsBean = null;
+ }
+
+
+ public static BluetoothConnectManager getInstance(Context context){
+ if (INSTANCE == null){
+ synchronized (obj){
+ if (INSTANCE == null){
+ INSTANCE = new BluetoothConnectManager(context);
+ }
+ }
+ }
+ return INSTANCE;
+ }
+
+
+ /**
+ * add callback of gatt connect, notice:<br>
+ * 1. can not do any task which need a lot of time<br>
+ * 2. you should update UI in the main thread, in callback method use {@link #runOnUiThread(Runnable)}
+ * @param callback
+ * @see #runOnUiThread(Runnable)
+ */
+ public void setBluetoothGattCallback(BluetoothGattCallback callback){
+ this.mBluetoothGattCallback = callback;
+ }
+
+ /**
+ * add listener of connect state
+ * @param listener
+ * @see #removeConnectStateListener(ConnectStateListener)
+ */
+ public void addConnectStateListener(ConnectStateListener listener){
+ synchronized(connectStateListeners){
+ connectStateListeners.add(listener);
+ }
+ }
+
+ /**
+ * remove listener
+ * @param listener
+ * @see #addBluetoothSubscribeData(BluetoothSubScribeData)
+ */
+ public void removeConnectStateListener(ConnectStateListener listener){
+ synchronized(connectStateListeners){
+ connectStateListeners.remove(listener);
+ }
+ }
+
+ /**
+ * add subscribe data while auto read or write characteristic(or descriptor) after discover service, you can clean subscribe list by {@link #cleanSubscribeData()}
+ * @param data
+ * @see #cleanSubscribeData()
+ * @see #startSubscribe(BluetoothGatt)
+ * @see #setServiceUUID(String)
+ */
+ public void addBluetoothSubscribeData(BluetoothSubScribeData data){
+ subscribeQueue.add(data);
+ }
+
+ /**
+ * clean subscribe list
+ * @see #addBluetoothSubscribeData(BluetoothSubScribeData)
+ */
+ public void cleanSubscribeData(){
+ subscribeQueue.clear();
+ }
+
+ /**
+ * set bluetooth service uuid, can not be null
+ * @see #addBluetoothSubscribeData(BluetoothSubScribeData)
+ * @param serviceUUID
+ */
+ public void setServiceUUID(String serviceUUID){
+ this.serviceUUID = serviceUUID;
+ }
+
+ @Override
+ public BluetoothGatt getBluetoothGatt(String address){
+ if (!isEmpty(address) && gattMap.containsKey(address)){
+ return gattMap.get(address);
+ }
+ return null;
+ }
+
+ @Override
+ protected BluetoothGattCallback getBluetoothGattCallback() {
+ return mBluetoothGattCallback;
+ }
+
+ @Override
+ protected String getServiceUUID() {
+ return serviceUUID;
+ }
+
+ @Override
+ protected void onDeviceDisconnect(final BluetoothGatt gatt, int errorState) {
+ //is bluetooth enable
+ //鍙互涓嶅叧闂紝浠ヤ究閲嶇敤锛屽洜涓哄湪杩炴帴connect鐨勬椂鍊欏彲浠ュ揩閫熻繛鎺�
+ if (!checkIsSamsung() || !mBluetoothUtils.isBluetoothIsEnable()){//涓夋槦鎵嬫満鏂紑鍚庣洿鎺ヨ繛鎺�
+ LogUtils.e( "Disconnected from GATT server address:"+gatt.getDevice().getAddress());
+ close(gatt.getDevice().getAddress()); //闃叉鍑虹幇status 133
+ }else {
+ updateConnectStateListener(gatt.getDevice().getAddress(), ConnectState.NORMAL);
+ }
+
+ //if disconnect by hand, so not run reconnect device
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ reconnectDevice(gatt.getDevice().getAddress()); //濡傛灉璁惧鏂紑鍒欐寚瀹氭椂闂村悗灏濊瘯閲嶆柊杩炴帴,閲嶆柊杩炴帴
+ }
+ });
+ }
+
+ @Override
+ protected void onDeviceConnected(BluetoothGatt gatt) {
+ updateConnectStateListener(gatt.getDevice().getAddress(), ConnectState.CONNECTED);
+ reconnectParamsBean = null;
+ }
+
+ @Override
+ protected void onDiscoverServicesFail(final BluetoothGatt gatt) {
+ if (!checkIsSamsung() || !mBluetoothUtils.isBluetoothIsEnable()){//涓夋槦鎵嬫満鏂紑鍚庣洿鎺ヨ繛鎺�
+ LogUtils.e( "Disconnected from GATT server address:"+gatt.getDevice().getAddress());
+ close(gatt.getDevice().getAddress()); //闃叉鍑虹幇status 133
+ }else {
+ updateConnectStateListener(gatt.getDevice().getAddress(), ConnectState.NORMAL);
+ }
+
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ reconnectDevice(gatt.getDevice().getAddress());
+ }
+ });
+ }
+
+ public void updateReconnectParams(){
+ reconnectParamsBean = null;
+ }
+
+ @Override
+ protected void onDiscoverServicesSuccess(BluetoothGatt gatt) {
+ }
+
+ @Override
+ protected Queue<BluetoothSubScribeData> getSubscribeDataQueue() {
+ return subscribeQueue;
+ }
+
+ /**
+ * has device is connected or connecting
+ * @return
+ */
+ public boolean isConnectDevice(){
+ if (gattMap.size() == 0) return false;
+ return true;
+ }
+
+ /**
+ * 鑾峰彇宸茬粡杩炴帴鐨勮澶�,娉ㄦ剰锛氳繑鍥炵殑璁惧涓嶄竴瀹氬叏閮ㄦ槸褰撳墠APP鎵�杩炴帴鐨勮澶囷紝闇�瑕侀�氳繃UUID鎴栬澶囧悕瀛楃瓑鍖哄垎
+ * @return
+ */
+ public List<BluetoothDevice> getConnectedDevice(){
+ if (isConnectDevice()){
+ return bluetoothManager.getConnectedDevices(BluetoothProfile.GATT);
+ }
+ return Collections.EMPTY_LIST;
+ }
+
+ public ConnectState getCurrentState(){
+ return currentState;
+ }
+
+ /**
+ * Connects to the GATT server hosted on the Bluetooth LE device. 涓轰繚璇佸彧鏈変竴涓繛鎺ワ紝褰撹繛鎺ュ垱寤烘垨鍒濆鍖栨垚鍔熷垯浼氬己鍒跺叧闂叾浠栬繛鎺�
+ *
+ * @param address The device address of the destination device.
+ * @return Return true if the connection is initiated successfully. The connection result
+ * is reported asynchronously through the
+ * {@code BluetoothGattCallback#onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int)}
+ * callback.
+ */
+ public boolean connect(final String address) {
+ BluetoothAdapter mAdapter = mBluetoothUtils.getBluetoothAdapter();
+ if (mAdapter == null || address == null) {
+ LogUtils.w( "BluetoothAdapter not initialized or unspecified address.");
+ updateConnectStateListener(address, ConnectState.NORMAL);
+ return false;
+ }
+
+ if (!mBluetoothUtils.isBluetoothIsEnable()){
+ LogUtils.e( "bluetooth is not enable.");
+ updateConnectStateListener(address, ConnectState.NORMAL);
+ return false;
+ }
+
+ // Previously connected device. Try to reconnect.
+ if (gattMap.containsKey(address)){
+ BluetoothGatt mBluetoothGatt = gattMap.get(address);
+ LogUtils.i( "Trying to use an existing gatt and reconnection device " + address + " thread:" + (Thread.currentThread() == Looper.getMainLooper().getThread()));
+ if (mBluetoothGatt.connect()) {
+ closeOtherDevice(address);
+ updateConnectStateListener(address, ConnectState.CONNECTING);
+ return true;
+ } else {
+ close(address);
+ return false;
+ }
+ }
+
+ BluetoothDevice device = mAdapter.getRemoteDevice(address);
+ if (device != null){
+ /*if We want to directly connect to the device, we can setting the autoConnect
+ parameter to false.*/
+ BluetoothGatt mBluetoothGatt = device.connectGatt(context, false, gattCallback);
+ if (mBluetoothGatt != null){
+ LogUtils.d( "create a new connection address=" + address + " thread:" + (Thread.currentThread() == Looper.getMainLooper().getThread()));
+ gattMap.put(address, mBluetoothGatt);
+ closeOtherDevice(address);
+ updateConnectStateListener(address, ConnectState.CONNECTING);
+ return true;
+ }else{
+ LogUtils.e( "Get Gatt fail!, address=" + address + " thread:" + (Thread.currentThread() == Looper.getMainLooper().getThread()));
+ }
+ }else{
+ LogUtils.e( "Device not found, address=" + address);
+ }
+ updateConnectStateListener(address, ConnectState.NORMAL);
+ return false;
+ }
+
+
+ /**
+ * close bluetooth, release resource
+ * @param address
+ */
+ public boolean close(String address) {
+ if (!isEmpty(address) && gattMap.containsKey(address)){
+ LogUtils.w("close gatt server " + address);
+ BluetoothGatt mBluetoothGatt = gattMap.get(address);
+ mBluetoothGatt.close();
+ gattMap.remove(address);
+ updateConnectStateListener(address, ConnectState.NORMAL);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * close all bluetooth connect, release all resource
+ */
+ public void closeAll(){
+ for (String address:gattMap.keySet()) {
+ close(address);
+ }
+ }
+
+ /**
+ * 鏂紑钃濈墮杩炴帴锛屼笉浼氶噴鏀綛luetoothGatt鎸佹湁鐨勬墍鏈夎祫婧愶紝鍙互璋冪敤mBluetoothGatt.connect()寰堝揩閲嶆柊杩炴帴涓�
+ * 濡傛灉涓嶅強鏃堕噴鏀捐祫婧愶紝鍙兘鍑虹幇133閿欒锛宧ttp://www.loverobots.cn/android-ble-connection-solution-bluetoothgatt-status-133.html
+ * @param address
+ */
+ public void disconnect(String address){
+ if (!isEmpty(address) && gattMap.containsKey(address)){
+ reconnectParamsBean = new ReconnectParamsBean(address);
+ reconnectParamsBean.setNumber(1000);
+ LogUtils.w("disconnect gatt server " + address);
+ BluetoothGatt mBluetoothGatt = gattMap.get(address);
+ mBluetoothGatt.disconnect();
+ updateConnectStateListener(address, ConnectState.NORMAL);
+ }
+ }
+
+ /**
+ * 閲嶆柊杩炴帴鏂紑鐨勮澶�
+ * @param address
+ */
+ private void reconnectDevice(final String address){
+ if (reconnectParamsBean != null){
+ if (!reconnectParamsBean.getAddress().equals(address)){
+ reconnectParamsBean.updateAddress(address);
+ }else {
+ if (reconnectParamsBean.getNumber() == 0){//same device
+ reconnectParamsBean.updateAddress(address);
+ }else if(reconnectParamsBean.getNumber() == 1000){//disconnect by hand
+ LogUtils.i("reconnect fail! disconnect by hand");
+ reconnectParamsBean.setNumber(0);
+ return;
+ }
+ }
+ reconnectParamsBean.addNumber();
+ }else{
+ reconnectParamsBean = new ReconnectParamsBean(address);
+ }
+
+ //璁$畻涓嬩竴娆¢噸杩炵殑鏃堕棿
+ long nextReconnectTime = reconnectParamsBean.getNextReconnectTime() - SystemClock.elapsedRealtime();
+ if (nextReconnectTime < 0){
+ nextReconnectTime = 0;
+ }
+ LogUtils.i("next reconnect time " + reconnectParamsBean.toString()+" after:"+nextReconnectTime/1000+"seconds");
+
+ getMainLooperHandler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ //閲嶆柊杩炴帴瑕佹眰娌℃湁宸茬粡杩炴帴鐨勮澶囷紝娌℃湁姝e湪杩炴帴鐨勶紝钃濈墮鍙敤
+ if (mBluetoothUtils.isBluetoothIsEnable()) {
+ boolean isReconncted = false;
+ if (gattMap.containsKey(address)) {
+ if (gattMap.size() == 1) isReconncted = true;
+ } else if (gattMap.size() == 0) {
+ isReconncted = true;
+ }
+
+ //濡傛灉宸茬粡杩炴帴涓婏紝涔熶笉閲嶈繛
+ if (!isEmpty(getConnectedDevice())) {
+ isReconncted = false;
+ reconnectParamsBean = null;
+ }
+
+ if (isReconncted && getConnectedDevice().size() == 0) {
+ LogUtils.d("reconnecting! will reconnect " + address);
+ if (reconnectParamsBean != null){
+ //閲嶈繛蹇呴』鍦ㄤ富绾跨▼杩愯
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ connect(address);
+ }
+ });
+ }else {
+ LogUtils.w("Fail to reconnect, ReconnectParams is null");
+ }
+ } else {
+ LogUtils.w("Fail to reconnect, refuse! " + address + " flag:" + isReconncted);
+ }
+ }else{
+ LogUtils.w("Fail to reconnect, the bluetooth is disable!");
+ }
+ }
+ }, nextReconnectTime);
+ }
+
+ /**
+ * 鍏抽棴闄や簡褰撳墠鍦板潃鐨勮澶囧鐨勫叾浠栬繛鎺�
+ * @param address
+ */
+ private void closeOtherDevice(String address){
+ if (!isEmpty(address)){
+ //鍏抽棴姝e湪宸茬粡杩炴帴鐨勮澶�
+ List<BluetoothDevice> list = getConnectedDevice();
+ for (BluetoothDevice device:list) {
+ if (!device.getAddress().equals(address)){
+ close(device.getAddress());
+ }
+ }
+
+ //鍏抽棴鍏朵粬宸茬粡鏂紑鐨勮澶�
+ for (String ads:gattMap.keySet()) {
+ BluetoothGatt mBluetoothGatt = gattMap.get(ads);
+ if (!ads.equals(address)){
+ close(ads);
+ }
+ }
+ }
+ }
+
+ private void updateConnectStateListener(String address, ConnectState state){
+ synchronized (connectStateListeners){
+ currentState = state;
+ if (state == ConnectState.CONNECTING){
+ //start check time out connect
+ BleParamsOptions options = BleManager.getBleParamsOptions();
+ getMainLooperHandler().postDelayed(timeOutTask, options.getConnectTimeOutTimes());
+ }
+ for (ConnectStateListener listener:connectStateListeners){
+ if (listener != null) listener.onConnectStateChanged(address, state);
+ }
+ }
+ }
+
+ /**
+ * connect time out task
+ */
+ private Runnable timeOutTask = new Runnable() {
+ @Override
+ public void run() {
+ if (!mBluetoothUtils.isBluetoothIsEnable()){
+ LogUtils.w("Fail to connect device! Bluetooth is not enable!");
+ closeAll();
+ }
+ }
+ };
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothOperatorQueue.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothOperatorQueue.java
new file mode 100644
index 0000000..b9722e2
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothOperatorQueue.java
@@ -0,0 +1,135 @@
+package com.blakequ.bluetooth_manager_lib.connect;
+
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCharacteristic;
+import android.bluetooth.BluetoothGattDescriptor;
+
+
+import com.blankj.utilcode.util.LogUtils;
+
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+/**
+ * bluetooth write and read queue oprator
+ * Created by PLUSUB on 2015/11/16.
+ */
+public class BluetoothOperatorQueue {
+
+ private String uuid;
+ private final Queue<SimpleEntity> sWriteQueue = new ConcurrentLinkedQueue<SimpleEntity>();
+ private boolean sIsWriting = false;
+ private BluetoothGatt mBluetoothGatt;
+
+ public BluetoothOperatorQueue(){
+ }
+
+ public synchronized void clean(){
+ sIsWriting = false;
+ uuid = null;
+ sWriteQueue.clear();
+ }
+
+ /**
+ * start operator to write or read BluetoothGatt Service
+ * @param mBluetoothGatt
+ * @exception IllegalArgumentException if mBluetoothGatt is null
+ */
+ public void start(BluetoothGatt mBluetoothGatt){
+ if (mBluetoothGatt == null){
+ throw new IllegalArgumentException("BluetoothGatt is null, can not write or read BluetoothGatt Service");
+ }
+ this.mBluetoothGatt = mBluetoothGatt;
+ nextOperator();
+ }
+
+ /**
+ * add write or read characteristic operator by order,In order execution
+ * @param gattCharacteristic
+ * @param isWrite true is write operator, false is read
+ */
+ public synchronized void addOperator(BluetoothGattCharacteristic gattCharacteristic, boolean isWrite) {
+ SimpleEntity entity = new SimpleEntity(isWrite, gattCharacteristic);
+ sWriteQueue.add(entity);
+ }
+
+ /**
+ * add write or read descriptor operator by order,In order execution
+ * @param gattDescriptor
+ * @param isWrite true is write operator, false is read
+ */
+ public synchronized void addOperator(BluetoothGattDescriptor gattDescriptor, boolean isWrite) {
+ SimpleEntity entity = new SimpleEntity(isWrite, gattDescriptor);
+ sWriteQueue.add(entity);
+ }
+
+ /**
+ * next operator, should invoke by hand
+ */
+ public synchronized void nextOperator() {
+ sIsWriting = false;
+ if (!sWriteQueue.isEmpty() && !sIsWriting) {
+ doOperator(sWriteQueue.poll());
+ }
+ }
+
+ /**
+ * do operator of read or write
+ * @param entity
+ */
+ private synchronized boolean doOperator(SimpleEntity entity) {
+ if (mBluetoothGatt == null){
+ LogUtils.e("do operator fail, bluetoothgatt is null");
+ return false;
+ }
+ boolean result = true;
+ if (entity.obj instanceof BluetoothGattCharacteristic) {
+ sIsWriting = true;
+ BluetoothGattCharacteristic character = (BluetoothGattCharacteristic) entity.obj;
+ uuid = character.getUuid().toString();
+ if (entity.isWrite){
+ result = mBluetoothGatt.writeCharacteristic(character);
+ }else{
+// test(character);
+ result = mBluetoothGatt.readCharacteristic(character);
+ }
+ } else if (entity.obj instanceof BluetoothGattDescriptor) {
+ sIsWriting = true;
+ BluetoothGattDescriptor desc = (BluetoothGattDescriptor) entity.obj;
+ uuid = desc.getUuid().toString();
+ if (entity.isWrite){
+ result = mBluetoothGatt.writeDescriptor(desc);
+ }else {
+ result = mBluetoothGatt.readDescriptor(desc);
+ }
+ } else {
+ LogUtils.d("do operator next");
+ nextOperator();
+ }
+ LogUtils.d("do operator result:"+result+" "+uuid);
+ return result;
+ }
+
+// private void test(BluetoothGattCharacteristic characteristic){
+// boolean result = (characteristic.getProperties() &
+// BluetoothGattCharacteristic.PROPERTY_READ) == 0;
+// System.out.println("result:"+result+ " "+characteristic.getProperties()+" "+BluetoothGattCharacteristic.PROPERTY_READ);
+// }
+
+ private static class SimpleEntity {
+ public boolean isWrite;
+ public Object obj;
+ public String info;
+
+ public SimpleEntity(boolean isWrite, Object obj) {
+ this.isWrite = isWrite;
+ this.obj = obj;
+ }
+
+ public SimpleEntity(boolean isWrite, Object obj, String info) {
+ this.isWrite = isWrite;
+ this.obj = obj;
+ this.info = info;
+ }
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothSubScribeData.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothSubScribeData.java
new file mode 100644
index 0000000..9f4515f
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/BluetoothSubScribeData.java
@@ -0,0 +1,187 @@
+package com.blakequ.bluetooth_manager_lib.connect;
+
+import com.blakequ.bluetooth_manager_lib.device.resolvers.GattAttributeResolver;
+
+import java.util.UUID;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/18 17:48 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description:
+ */
+public class BluetoothSubScribeData {
+
+ private UUID characteristicUUID;
+ private byte[] characteristicValue;
+ private UUID descriptorUUID;
+ private byte[] descriptorValue;
+ //the notification uuid for Characteristic
+ private Type operatorType;
+
+ private BluetoothSubScribeData(UUID characteristicUUID, byte[] characteristicValue, UUID descriptorUUID
+ ,byte[] descriptorValue, Type operatorType){
+ this.characteristicUUID = characteristicUUID;
+ this.characteristicValue = characteristicValue;
+ this.descriptorUUID = descriptorUUID;
+ this.descriptorValue = descriptorValue;
+ this.operatorType = operatorType;
+ }
+
+ private BluetoothSubScribeData(UUID characteristicUUID, Type operatorType){
+ this.characteristicUUID = characteristicUUID;
+ this.operatorType = operatorType;
+ }
+
+
+ public UUID getCharacteristicUUID() {
+ return characteristicUUID;
+ }
+
+ public byte[] getCharacteristicValue() {
+ return characteristicValue;
+ }
+
+ public UUID getDescriptorUUID() {
+ return descriptorUUID;
+ }
+
+ public byte[] getDescriptorValue() {
+ return descriptorValue;
+ }
+
+ public Type getOperatorType() {
+ return operatorType;
+ }
+
+ public static final class Builder {
+ private UUID characteristicUUID;
+ private byte[] characteristicValue;
+ private UUID descriptorUUID;
+ private byte[] descriptorValue;
+ //the notification uuid for Characteristic
+ private Type operatorType;
+
+ /**
+ * read Characteristic
+ * @param characteristicUUID
+ * @return
+ */
+ public Builder setCharacteristicRead(UUID characteristicUUID){
+ this.operatorType = Type.CHAR_READ;
+ this.characteristicUUID = characteristicUUID;
+ return this;
+ }
+
+ /**
+ * write Characteristic
+ * @param characteristicUUID
+ * @param characteristicValue
+ * @return
+ */
+ public Builder setCharacteristicWrite(UUID characteristicUUID, byte[] characteristicValue){
+ this.operatorType = Type.CHAR_WIRTE;
+ this.characteristicUUID = characteristicUUID;
+ this.characteristicValue = characteristicValue;
+ return this;
+ }
+
+ /**
+ * read Descriptor
+ * @param characteristicUUID
+ * @param descriptorUUID
+ * @return
+ */
+ public Builder setDescriptorRead(UUID characteristicUUID, UUID descriptorUUID){
+ this.operatorType = Type.DESC_READ;
+ this.characteristicUUID = characteristicUUID;
+ this.descriptorUUID = descriptorUUID;
+ return this;
+ }
+
+ /**
+ * write Descriptor
+ * @param characteristicUUID
+ * @param descriptorUUID
+ * @param descriptorValue
+ * @return
+ */
+ public Builder setDescriptorWrite(UUID characteristicUUID, UUID descriptorUUID, byte[] descriptorValue){
+ this.operatorType = Type.DESC_WRITE;
+ this.characteristicUUID = characteristicUUID;
+ this.descriptorUUID = descriptorUUID;
+ this.descriptorValue = descriptorValue;
+ return this;
+ }
+
+ /**
+ * get notify
+ * @param characteristicNotificationUUID notify characteristic uuid
+ * @return
+ */
+ public Builder setCharacteristicNotify(UUID characteristicNotificationUUID){
+ this.operatorType = Type.NOTIFY;
+ this.characteristicUUID = characteristicNotificationUUID;
+ this.descriptorUUID = UUID.fromString(GattAttributeResolver.CLIENT_CHARACTERISTIC_CONFIG);
+ return this;
+ }
+
+ public BluetoothSubScribeData build(){
+ if (characteristicUUID == null){
+ throw new IllegalArgumentException("invalid characteristic, and characteristic can not be null");
+ }
+ BluetoothSubScribeData data = null;
+ switch (operatorType){
+ case CHAR_READ:
+ data = new BluetoothSubScribeData(characteristicUUID, operatorType);
+ break;
+ case CHAR_WIRTE:
+ if (characteristicValue == null){
+ throw new IllegalArgumentException("invalid null characteristic value");
+ }
+ data = new BluetoothSubScribeData(characteristicUUID, characteristicValue, null,null, operatorType);
+ break;
+ case DESC_READ:
+ if (descriptorUUID == null){
+ throw new IllegalArgumentException("invalid null descriptor UUID");
+ }
+ data = new BluetoothSubScribeData(characteristicUUID, null, descriptorUUID, null, operatorType);
+ break;
+ case DESC_WRITE:
+ if (descriptorUUID == null || descriptorValue == null){
+ throw new IllegalArgumentException("invalid null descriptor UUID or value");
+ }
+ data = new BluetoothSubScribeData(characteristicUUID, null, descriptorUUID, descriptorValue, operatorType);
+ break;
+ case NOTIFY:
+ if (descriptorUUID == null){
+ throw new IllegalArgumentException("invalid null descriptor UUID");
+ }
+ data = new BluetoothSubScribeData(characteristicUUID, null, descriptorUUID, null, operatorType);
+ break;
+ }
+ return data;
+ }
+ }
+
+ /**
+ * bluetooth subscribe operator type
+ */
+ public static enum Type{
+ CHAR_WIRTE,
+ CHAR_READ,
+ DESC_WRITE,
+ DESC_READ,
+ NOTIFY
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectConfig.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectConfig.java
new file mode 100644
index 0000000..a6cb4d6
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectConfig.java
@@ -0,0 +1,30 @@
+package com.blakequ.bluetooth_manager_lib.connect;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/29 14:04 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description:
+ */
+public class ConnectConfig {
+ public static int maxConnectDeviceNum = 5;//涓�娆℃渶澶ц繛鎺ヤ釜鏁�
+
+ /**绾挎�ч棿闅旈噸杩烇紝姣忔鏂紑鍚庨噸杩炴椂闂存槸绾挎�у闀�*/
+ public static final int RECONNECT_LINEAR = 1;
+ /**鎸囨暟闂撮殧閲嶆柊*/
+ public static final int RECONNECT_EXPONENT = 2;
+ /**鍏堢嚎鎬у悗鎸囨暟閲嶆柊*/
+ public static final int RECONNECT_LINE_EXPONENT = 3;
+ /**鍥哄畾鏃堕棿閲嶈繛,姣忔鏂紑鍚庨兘鏄浉鍚屾椂闂翠箣鍚庡彂璧烽噸杩�*/
+ public static final int RECONNECT_FIXED_TIME = 4;
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectState.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectState.java
new file mode 100644
index 0000000..ed18226
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectState.java
@@ -0,0 +1,25 @@
+package com.blakequ.bluetooth_manager_lib.connect;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/19 15:04 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description:
+ */
+public enum ConnectState {
+ /**disconnect or not connect*/
+ NORMAL,
+ /**connected*/
+ CONNECTED,
+ CONNECTING
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectStateListener.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectStateListener.java
new file mode 100644
index 0000000..e405a67
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ConnectStateListener.java
@@ -0,0 +1,27 @@
+package com.blakequ.bluetooth_manager_lib.connect;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/23 16:51 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description:
+ */
+public interface ConnectStateListener {
+
+ /**
+ * invoke when bluetooth connect state changed
+ * @param address bluetooth device address
+ * @param state current state
+ */
+ void onConnectStateChanged(String address, ConnectState state);
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/GattError.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/GattError.java
new file mode 100644
index 0000000..167d5d7
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/GattError.java
@@ -0,0 +1,142 @@
+package com.blakequ.bluetooth_manager_lib.connect;
+
+/**
+ * Copyright (C) quhao All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the Plusub License, Version 1.0 (the "License");
+ * 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.
+ *
+ * Parses the error numbers according to the <b>gatt_api.h</b> file from bluedroid stack.
+ * See: https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-5.1.0_r1/stack/include/gatt_api.h (and other versions) for details.
+ * See:https://github.com/NordicSemiconductor/Android-DFU-Library/blob/release/dfu/src/main/java/no/nordicsemi/android/error/GattError.java
+ * <p/>
+ * author : quhao <blakequ@gmail.com>
+ * date : 2016/3/29 10:24
+ * last modify author :
+ * version : 1.0
+ * description:
+ */
+public class GattError {
+
+ // Starts at line 106 of gatt_api.h file
+ /**
+ * Converts the connection status given by the {@link android.bluetooth.BluetoothGattCallback#onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int)} to error name.
+ * @param error the status number
+ * @return the error name as stated in the gatt_api.h file
+ */
+ public static String parseConnectionError(final int error) {
+ switch (error) {
+ case 0x01:
+ return "GATT CONN L2C FAILURE";
+ case 0x08:
+ return "GATT CONN TIMEOUT";
+ case 0x13:
+ return "GATT CONN TERMINATE PEER USER";
+ case 0x16:
+ return "GATT CONN TERMINATE LOCAL HOST";
+ case 0x3E:
+ return "GATT CONN FAIL ESTABLISH";
+ case 0x22:
+ return "GATT CONN LMP TIMEOUT";
+ case 0x0100:
+ return "GATT CONN CANCEL ";
+ case 0x0085: //133閿欒
+ return "GATT ERROR"; // Device not reachable
+ default:
+ return parse(error);
+ }
+ }
+
+ // Starts at line 29 of the gatt_api.h file
+ /**
+ * Converts the bluetooth communication status given by other BluetoothGattCallbacks to error name. It also parses the DFU errors.
+ * @param error the status number
+ * @return the error name as stated in the gatt_api.h file
+ */
+ private static String parse(final int error) {
+ switch (error) {
+ case 0:
+ return "GATT SUCCESS";
+ case 0x0001:
+ return "GATT INVALID HANDLE";
+ case 0x0002:
+ return "GATT READ NOT PERMIT";
+ case 0x0003:
+ return "GATT WRITE NOT PERMIT";
+ case 0x0004:
+ return "GATT INVALID PDU";
+ case 0x0005:
+ return "GATT INSUF AUTHENTICATION";
+ case 0x0006:
+ return "GATT REQ NOT SUPPORTED";
+ case 0x0007:
+ return "GATT INVALID OFFSET";
+ case 0x0008:
+ return "GATT INSUF AUTHORIZATION";
+ case 0x0009:
+ return "GATT PREPARE Q FULL";
+ case 0x000a:
+ return "GATT NOT FOUND";
+ case 0x000b:
+ return "GATT NOT LONG";
+ case 0x000c:
+ return "GATT INSUF KEY SIZE";
+ case 0x000d:
+ return "GATT INVALID ATTR LEN";
+ case 0x000e:
+ return "GATT ERR UNLIKELY";
+ case 0x000f:
+ return "GATT INSUF ENCRYPTION";
+ case 0x0010:
+ return "GATT UNSUPPORT GRP TYPE";
+ case 0x0011:
+ return "GATT INSUF RESOURCE";
+ case 0x0087:
+ return "GATT ILLEGAL PARAMETER";
+ case 0x0080:
+ return "GATT NO RESOURCES";
+ case 0x0081:
+ return "GATT INTERNAL ERROR";
+ case 0x0082:
+ return "GATT WRONG STATE";
+ case 0x0083:
+ return "GATT DB FULL";
+ case 0x0084:
+ return "GATT BUSY";
+ case 0x0085:
+ return "GATT ERROR";
+ case 0x0086:
+ return "GATT CMD STARTED";
+ case 0x0088:
+ return "GATT PENDING";
+ case 0x0089:
+ return "GATT AUTH FAIL";
+ case 0x008a:
+ return "GATT MORE";
+ case 0x008b:
+ return "GATT INVALID CFG";
+ case 0x008c:
+ return "GATT SERVICE STARTED";
+ case 0x008d:
+ return "GATT ENCRYPTED NO MITM";
+ case 0x008e:
+ return "GATT NOT ENCRYPTED";
+ case 0x008f:
+ return "GATT CONGESTED";
+ case 0x00FD:
+ return "GATT CCCD CFG ERROR";
+ case 0x00FE:
+ return "GATT PROCEDURE IN PROGRESS";
+ case 0x00FF:
+ return "GATT VALUE OUT OF RANGE";
+ case 0x0101:
+ return "GATT FAILURE, TOO MANY OPEN CONNECTIONS";
+ default:
+ return "UNKNOWN (" + error + ")";
+ }
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ReconnectParamsBean.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ReconnectParamsBean.java
new file mode 100644
index 0000000..732594b
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/ReconnectParamsBean.java
@@ -0,0 +1,126 @@
+package com.blakequ.bluetooth_manager_lib.connect;
+
+import android.os.SystemClock;
+
+import com.blakequ.bluetooth_manager_lib.BleManager;
+import com.blakequ.bluetooth_manager_lib.BleParamsOptions;
+import com.blankj.utilcode.util.LogUtils;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/19 18:23 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description:
+ */
+public class ReconnectParamsBean {
+ private String address;
+ private int number;//reconnect times number
+ private long nextReconnectTime;//next reconnect time
+ private long startDisconnectTime; //the bluetooth disconnected time
+ private boolean isReconnectNow = false;
+
+ public ReconnectParamsBean(String address) {
+ this.address = address;
+ this.startDisconnectTime = SystemClock.elapsedRealtime();
+ this.number = 0;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void updateAddress(String address){
+ this.address = address;
+ this.startDisconnectTime = SystemClock.elapsedRealtime();
+ this.number = 0;
+ }
+
+ /**
+ * get next reconnect time
+ * @return
+ */
+ public long getNextReconnectTime() {
+ BleParamsOptions options = BleManager.getBleParamsOptions();
+ switch (options.getReconnectStrategy()){
+ case ConnectConfig.RECONNECT_EXPONENT:
+ nextReconnectTime = (long) (startDisconnectTime + options.getReconnectBaseSpaceTime() * Math.pow(2, number));
+ break;
+ case ConnectConfig.RECONNECT_LINE_EXPONENT:
+ if (number <= options.getReconnectedLineToExponentTimes()){
+ nextReconnectTime = startDisconnectTime + options.getReconnectBaseSpaceTime()*number;
+ }else {
+ nextReconnectTime = (long) (startDisconnectTime + options.getReconnectBaseSpaceTime() * Math.pow(2, number));
+ }
+ break;
+ case ConnectConfig.RECONNECT_LINEAR:
+ nextReconnectTime = startDisconnectTime + options.getReconnectBaseSpaceTime()*number;
+ break;
+ case ConnectConfig.RECONNECT_FIXED_TIME:
+ nextReconnectTime = startDisconnectTime + options.getReconnectBaseSpaceTime();
+ break;
+ }
+
+ if (isReconnectNow){
+ nextReconnectTime = SystemClock.elapsedRealtime();
+ }
+
+ //max reconnect times, not reconnect
+ if (number >= options.getReconnectMaxTimes()){
+ LogUtils.d("reconnect number="+number+" more than max times "+options.getReconnectMaxTimes());
+ //灏嗘椂闂磋缃潪甯稿ぇ
+ nextReconnectTime = SystemClock.elapsedRealtime() + 10*24*60*60*1000;
+ }
+ return nextReconnectTime;
+ }
+
+ public boolean isReconnectNow() {
+ return isReconnectNow;
+ }
+
+ public void setReconnectNow(boolean reconnectNow) {
+ number = 0;
+ startDisconnectTime = SystemClock.elapsedRealtime();
+ isReconnectNow = reconnectNow;
+ }
+
+ public int getNumber() {
+ return number;
+ }
+
+ /**
+ * invoke after bluetooth disconnected
+ */
+ public void addNumber() {
+ isReconnectNow = false;
+ this.startDisconnectTime = SystemClock.elapsedRealtime();
+ this.number++;
+ }
+
+ /**
+ * if you can not want to reconnect by auto, you can set a max value
+ * @param num
+ */
+ public void setNumber(int num){
+ this.number = num;
+ }
+
+ @Override
+ public String toString() {
+ return "ReconnectParamsBean{" +
+ "address='" + address + '\'' +
+ ", number=" + number +
+ ", next reconnect after " + (getNextReconnectTime()-startDisconnectTime)/1000 + "seconds"+
+ ", startDisconnectTime=" + startDisconnectTime +
+ '}';
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/multiple/ConnectRequestQueue.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/multiple/ConnectRequestQueue.java
new file mode 100644
index 0000000..d298375
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/multiple/ConnectRequestQueue.java
@@ -0,0 +1,609 @@
+package com.blakequ.bluetooth_manager_lib.connect.multiple;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothGatt;
+import android.content.Context;
+import android.os.Looper;
+import android.os.SystemClock;
+
+import com.blakequ.bluetooth_manager_lib.BleManager;
+import com.blakequ.bluetooth_manager_lib.BleParamsOptions;
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectInterface;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectConfig;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
+import com.blakequ.bluetooth_manager_lib.connect.ReconnectParamsBean;
+import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
+import com.blankj.utilcode.util.LogUtils;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/19 9:48 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description:the queue using for manager connect request
+ */
+public abstract class ConnectRequestQueue extends BluetoothConnectInterface{
+ private static final String TAG = "ConnectRequestQueue";
+ private Map<String, ReconnectParamsBean> reconnectMap; //reconnect device list and reconnect times number
+ private Map<String, ConnectState> macMap;//<mac address, is connected>
+ private Map<String, BluetoothGatt> gattMap;//notice:ArrayMap is not support concurrent, so can not use ArrayMap
+ private Queue<String> deviceQueue;
+ private final BluetoothUtils mBluetoothUtils;
+ private List<ConnectStateListener> connectStateListeners;
+
+ public ConnectRequestQueue(Context context){
+ super(context);
+ macMap = new ConcurrentHashMap<String, ConnectState>();//if not consider concurrent, should use ArrayMap
+ gattMap = new ConcurrentHashMap<String, BluetoothGatt>();
+ reconnectMap = new ConcurrentHashMap<String, ReconnectParamsBean>();
+ deviceQueue = new ConcurrentLinkedQueue<>();
+ mBluetoothUtils = BluetoothUtils.getInstance(context);
+ connectStateListeners = new ArrayList<>();
+ }
+
+ public void addConnectStateListener(ConnectStateListener listener){
+ synchronized (connectStateListeners){
+ connectStateListeners.add(listener);
+ }
+ }
+
+ public void removeConnectStateListener(ConnectStateListener listener){
+ synchronized (connectStateListeners){
+ connectStateListeners.remove(listener);
+ }
+ }
+
+ @Override
+ protected void onDeviceConnected(BluetoothGatt gatt) {
+ if (gatt != null){
+ updateConnectState(gatt.getDevice().getAddress(), ConnectState.CONNECTED);
+ }
+ }
+
+ @Override
+ protected void onDeviceDisconnect(BluetoothGatt gatt, int errorState) {
+ LogUtils.e( "Disconnected from GATT server address:" + gatt.getDevice().getAddress());
+ //鍙互涓嶅叧闂紝浠ヤ究閲嶇敤锛屽洜涓哄湪杩炴帴connect鐨勬椂鍊欏彲浠ュ揩閫熻繛鎺�
+ if (!mBluetoothUtils.isBluetoothIsEnable()){
+ //鍏抽棴鎵�鏈夌殑璁惧
+ closeAll();
+ }else {
+ close(gatt.getDevice().getAddress());//闃叉鍑虹幇status 133
+ }
+ }
+
+ @Override
+ protected void onDiscoverServicesFail(BluetoothGatt gatt) {
+ if (gatt != null){
+ updateConnectState(gatt.getDevice().getAddress(), ConnectState.NORMAL);
+ }
+ }
+
+ @Override
+ protected void onDiscoverServicesSuccess(BluetoothGatt gatt){
+ if (gatt != null){
+ updateConnectState(gatt.getDevice().getAddress(), ConnectState.CONNECTED);
+ }
+ }
+
+ /**
+ * start connect device one by one
+ */
+ public void startConnect(){
+ if (deviceQueue.size() > 0 && mBluetoothUtils.isBluetoothIsEnable()){
+ triggerConnectNextDevice();
+ }else {
+ triggerReconnect("");
+ LogUtils.e( "startConnect--Fail to from connect queue, and start reconnect task. ble state:" + mBluetoothUtils.isBluetoothIsEnable());
+ }
+ }
+
+ /**
+ * start connect device(will trigger reconnect)
+ * @param macAddress
+ */
+ public void startConnect(String macAddress){
+ if (macAddress != null && macAddress.length() > 0){
+ if (macMap.containsKey(macAddress)){
+ ConnectState state = macMap.get(macAddress);
+ //濡傛灉鏄湭杩炴帴鐘舵�侊紝鍒欏紑鍚噸杩烇紝閲嶇疆閲嶈繛娆℃暟锛屽苟绔嬪嵆杩炴帴
+ if (macMap.get(macAddress) == ConnectState.NORMAL){
+ ReconnectParamsBean bean;
+ if (!reconnectMap.containsKey(macAddress)){
+ bean = new ReconnectParamsBean(macAddress);
+ reconnectMap.put(macAddress, bean);
+ }else{
+ bean = reconnectMap.get(macAddress);
+ }
+ bean.setReconnectNow(true);
+ startReconnectTask();
+ }else{
+ LogUtils.i( "Device is " + state + " state");
+ }
+ }else{
+ LogUtils.e( "Fail to connect device, device can not found in queue, you must invoke addDeviceToQueue(Stirng)");
+ }
+ }else{
+ LogUtils.e( "Fail to connect device, mac address is null");
+ }
+ }
+
+ /**
+ * connect bluetooth device one by one
+ * @return the next connect device
+ */
+ private void triggerConnectNextDevice(){
+ String mac = deviceQueue.peek();
+ if (!isEmpty(mac)){
+ LogUtils.i( "Start trigger connect device "+mac);
+ connect(mac);
+ }
+ }
+
+ private void updateConnectState(String address, ConnectState state) {
+ //bug:Can not remove device from queue, this position just update connect state
+ if (macMap.containsKey(address)) {
+ macMap.put(address, state);
+ updateConnectStateListener(address, state);
+ }
+ switch (state){
+ case NORMAL: //disconnect or close
+ String mac = deviceQueue.peek();
+ if (!isEmpty(mac)){
+ if (address.equals(mac)){
+ deviceQueue.poll();
+ }
+ triggerConnectNextDevice();
+ }
+ triggerReconnect(address);
+ break;
+ case CONNECTED:
+ reconnectMap.remove(address);
+ String mac1 = deviceQueue.peek();
+ if (!isEmpty(mac1)){
+ if (address.equals(mac1)){
+ deviceQueue.poll();
+ }
+ triggerConnectNextDevice();
+ }
+ triggerReconnect(address);
+ break;
+ case CONNECTING:
+ //start check time out connect
+ BleParamsOptions options = BleManager.getBleParamsOptions();
+ getMainLooperHandler().postDelayed(timeOutTask, options.getConnectTimeOutTimes());
+ break;
+ }
+ }
+
+ /**
+ * connect time out task
+ */
+ private Runnable timeOutTask = new Runnable() {
+ @Override
+ public void run() {
+ if (!mBluetoothUtils.isBluetoothIsEnable()){
+ LogUtils.w( "Fail to connect device! Bluetooth is not enable!");
+ closeAll();
+ }
+ }
+ };
+
+ /**
+ * release resource
+ */
+ @Override
+ public void release(){
+ macMap.clear();
+ closeAll();
+ gattMap.clear();
+ reconnectMap.clear();
+ deviceQueue.clear();
+ getMainLooperHandler().removeCallbacks(reconnectTask);
+ }
+
+ /**
+ * get the size of current queue
+ * <p>Notice:this len maybe is not equal of maxLen(connect device num<=maxLen), is dynamic length by sensor physical truth</>
+ * @see #getMaxLen()
+ */
+ public int getQueueSize(){
+ return macMap.size();
+ }
+
+ /**
+ * add device to connect queue, if the number out of range will discard.
+ * @param macAddress
+ * @see #startConnect()
+ */
+ public void addDeviceToQueue(String macAddress){
+ if (!macMap.containsKey(macAddress)){
+ if (macMap.size() >= getMaxLen()){
+ String address = deviceQueue.poll();
+ if (isEmpty(address)){
+ address = getFirstDevice();
+ }
+ removeDeviceFromQueue(address);
+ }
+ deviceQueue.add(macAddress);
+ macMap.put(macAddress, ConnectState.NORMAL);
+ }
+ }
+
+ /**
+ * add device to connect queue
+ * @param devices
+ * @see #startConnect()
+ */
+ public void addDeviceToQueue(String[] devices){
+ if (devices != null && devices.length > 0){
+ for (int i=0; i<devices.length; i++){
+ addDeviceToQueue(devices[i]);
+ }
+ }
+ }
+
+ /**
+ * remove device from queue, disconnected device if in connection state
+ * @param macAddress
+ */
+ public void removeDeviceFromQueue(String macAddress){
+ if (isEmpty(macAddress)) return;
+ macMap.remove(macAddress);
+ deviceQueue.remove(macAddress);
+ reconnectMap.remove(macAddress);
+ if (gattMap.containsKey(macAddress)){
+ close(macAddress);
+ }
+ }
+
+ public List<String> getAllDevice(){
+ if (macMap.size() <= 0) return Collections.EMPTY_LIST;
+ List<String> list = new ArrayList<>();
+ for (String key:macMap.keySet()){
+ list.add(key);
+ }
+ return list;
+ }
+
+ private String getFirstDevice(){
+ if (macMap.size() <= 0) return null;
+ for (String key:macMap.keySet()){
+ return key;
+ }
+ return null;
+ }
+
+ /**
+ * get all connected device
+ * @return
+ */
+ public List<String> getAllConnectedDevice(){
+ if (macMap.size() <= 0) return Collections.EMPTY_LIST;
+ List<String> list = new ArrayList<>();
+ for (String key:macMap.keySet()){
+ if (macMap.get(key) == ConnectState.CONNECTED){
+ list.add(key);
+ }
+ }
+ return list;
+ }
+
+ /**
+ * is contain device
+ * @param address
+ * @return
+ */
+ public boolean containsDevice(String address){
+ return macMap.containsKey(address);
+ }
+
+
+ /**
+ * get bluetooth state of connect
+ * @param address
+ * @return
+ */
+ public ConnectState getDeviceState(String address){
+ return macMap.get(address);
+ }
+
+ public List<String> getAllConnectingDevice(){
+ if (macMap.size() <= 0) return Collections.EMPTY_LIST;
+ List<String> list = new ArrayList<>();
+ for (String key:macMap.keySet()){
+ if (macMap.get(key) == ConnectState.CONNECTING){
+ list.add(key);
+ }
+ }
+ return list;
+ }
+
+ /**
+ * has device is not connected
+ * @return
+ */
+ public boolean isDisconnectDevice(){
+ for (ConnectState value:macMap.values()) {
+ if (value == ConnectState.NORMAL){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * is have device is connecting
+ * @return
+ */
+ public boolean isConnectingDevice(){
+ for (ConnectState value:macMap.values()){
+ if (value == ConnectState.CONNECTING){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * is have device is connected
+ * @return
+ */
+ public boolean isConnectedDevice(){
+ for (ConnectState value:macMap.values()){
+ if (value == ConnectState.CONNECTED){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * 鑾峰彇杩炴帴璁惧鐨凚luetoothGatt瀵硅薄锛屽鏋滄病鏈夎繑鍥瀗ull
+ * @param address
+ * @return
+ */
+ public BluetoothGatt getBluetoothGatt(String address){
+ if (!isEmpty(address) && gattMap.containsKey(address)){
+ return gattMap.get(address);
+ }
+ return null;
+ }
+
+
+ /**
+ * trigger reconnect task
+ */
+ private void triggerReconnect(String mac){
+ //if deviceQueue is null, start reconnect
+ if (deviceQueue.size() == 0){
+ //灏嗛噸杩炵殑璁惧鍏ㄩ儴鏀惧叆閲嶈繛闃熷垪
+ for (String key:macMap.keySet()){
+ if (macMap.get(key) == ConnectState.NORMAL){
+ ReconnectParamsBean bean;
+ if (!reconnectMap.containsKey(key)){
+ bean = new ReconnectParamsBean(key);
+ reconnectMap.put(key, bean);
+ }else if(key.equals(mac)){
+ bean = reconnectMap.get(key);
+ bean.addNumber();
+ LogUtils.d( "trigger reconnect, reconnect after "+(bean.getNextReconnectTime() - SystemClock.elapsedRealtime())/1000+" seconds");
+ }
+ }
+ }
+
+ startReconnectTask();
+ }
+ }
+
+ /**
+ * can not reconnect all the time
+ */
+ private synchronized void startReconnectTask(){
+ if (reconnectMap.size() <= 0) return;
+ long nextTime = SystemClock.elapsedRealtime()*2;
+ String address = "";
+ //select minimum time of list
+ for (String addr:reconnectMap.keySet()){
+ ReconnectParamsBean bean = reconnectMap.get(addr);
+ if (bean.getNextReconnectTime() < nextTime){
+ nextTime = bean.getNextReconnectTime();
+ address = addr;
+ }
+ }
+
+ //start reconnect task
+ if (!isEmpty(address)){
+ if (nextTime <= SystemClock.elapsedRealtime()){
+ LogUtils.d( "start reconnect device:"+address);
+ reconnectDevice(address);
+ }else{
+ LogUtils.d( "start reconnect device "+address+" after "+(nextTime - SystemClock.elapsedRealtime())/1000+" seconds");
+ getMainLooperHandler().removeCallbacks(reconnectTask);
+ getMainLooperHandler().postDelayed(reconnectTask, nextTime - SystemClock.elapsedRealtime());
+ }
+ }
+ }
+
+ /**
+ * reconnect runnable
+ */
+ private Runnable reconnectTask = new Runnable() {
+ @Override
+ public void run() {
+ LogUtils.d( "Start reconnect task by handler");
+ startReconnectTask();
+ }
+ };
+
+ /**
+ * reconnect device
+ * @param address
+ */
+ private synchronized void reconnectDevice(final String address){
+ if (macMap.containsKey(address)){
+ ReconnectParamsBean bean = reconnectMap.get(address);
+ if (mBluetoothUtils.isBluetoothIsEnable()) {
+ if (bean == null){
+ reconnectMap.put(address, new ReconnectParamsBean(address));
+ }
+
+ //check is connected or connectting
+ ConnectState state = macMap.get(address);
+ if (state == ConnectState.NORMAL){
+ LogUtils.d( "Start reconnect device "+address+" reconnect number is "+bean.getNumber());
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ connect(address);
+ }
+ });
+ }else{
+ LogUtils.w( "Fail to reconnect device! "+address+" state is "+state);
+ }
+ }else {
+ closeAll();
+ LogUtils.w( "Fail to reconnect device! Bluetooth is not enable!");
+ }
+ }else{
+ LogUtils.w("Fail to reconnect device! "+address+" is remove from reconnectMap");
+ reconnectMap.remove(address);
+ }
+ }
+
+
+ /**
+ * You should invoke {@link #startConnect()} to begin to connect device. Not recommended for direct use this method
+ * @see #startConnect()
+ * @param address
+ * @return
+ */
+ protected boolean connect(final String address) {
+ BluetoothAdapter mAdapter = mBluetoothUtils.getBluetoothAdapter();
+ if (mAdapter == null || address == null) {
+ LogUtils.e("BluetoothAdapter not initialized or unspecified address "+address);
+ updateConnectStateListener(address, ConnectState.NORMAL);
+ return false;
+ }
+
+ if (!mBluetoothUtils.isBluetoothIsEnable()){
+ LogUtils.e("bluetooth is not enable.");
+ closeAll();
+// updateConnectStateListener(address, ConnectState.NORMAL);
+ return false;
+ }
+
+ if (isEmpty(getServiceUUID())){
+ LogUtils.w("Service uuid is null");
+ }
+
+ // Previously connected device. Try to reconnect.
+ if (gattMap.containsKey(address)){
+ BluetoothGatt mBluetoothGatt = gattMap.get(address);
+ LogUtils.i("Trying to use an existing gatt and reconnection device " + address + " thread:" + (Thread.currentThread() == Looper.getMainLooper().getThread()));
+ if (mBluetoothGatt.connect()) {
+ updateConnectState(address, ConnectState.CONNECTING);
+ return true;
+ } else {
+ close(address);
+ return false;
+ }
+ }
+
+ BluetoothDevice device = mAdapter.getRemoteDevice(address);
+ if (device != null){
+ /*if We want to directly connect to the device, we can setting the autoConnect
+ parameter to false.*/
+ BluetoothGatt mBluetoothGatt = device.connectGatt(context, false, gattCallback);
+ if (mBluetoothGatt != null){
+ LogUtils.i("create a new connection address=" + address + " thread:" + (Thread.currentThread() == Looper.getMainLooper().getThread()));
+ gattMap.put(address, mBluetoothGatt);
+ updateConnectState(address, ConnectState.CONNECTING);
+ return true;
+ } else {
+ LogUtils.e("Get Gatt fail!, address=" + address + " thread:" + (Thread.currentThread() == Looper.getMainLooper().getThread()));
+ }
+ } else {
+ LogUtils.e("Device not found, address=" + address);
+ }
+ return false;
+ }
+
+ /**
+ * 鍏抽棴钃濈墮杩炴帴,浼氶噴鏀綛luetoothGatt鎸佹湁鐨勬墍鏈夎祫婧�
+ * @param address
+ */
+ public boolean close(String address) {
+ if (!isEmpty(address) && gattMap.containsKey(address)){
+ LogUtils.w( "close gatt server " + address);
+ BluetoothGatt mBluetoothGatt = gattMap.get(address);
+ mBluetoothGatt.close();
+ gattMap.remove(address);
+ updateConnectState(address, ConnectState.NORMAL);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * 鍏抽棴鎵�鏈夎摑鐗欒澶�
+ */
+ public void closeAll(){
+ for (String address:gattMap.keySet()) {
+ close(address);
+ }
+ }
+
+ /**
+ * 鏂紑钃濈墮杩炴帴锛屼笉浼氶噴鏀綛luetoothGatt鎸佹湁鐨勬墍鏈夎祫婧愶紝鍙互璋冪敤mBluetoothGatt.connect()寰堝揩閲嶆柊杩炴帴涓�
+ * 濡傛灉涓嶅強鏃堕噴鏀捐祫婧愶紝鍙兘鍑虹幇133閿欒锛宧ttp://www.loverobots.cn/android-ble-connection-solution-bluetoothgatt-status-133.html
+ * @param address
+ */
+ public void disconnect(String address){
+ if (!isEmpty(address) && gattMap.containsKey(address)){
+ LogUtils.w("disconnect gatt server " + address);
+ BluetoothGatt mBluetoothGatt = gattMap.get(address);
+ mBluetoothGatt.disconnect();
+ updateConnectState(address, ConnectState.NORMAL);
+ }
+ }
+
+ private void updateConnectStateListener(String address, ConnectState state){
+ synchronized (connectStateListeners){
+ for (ConnectStateListener listener:connectStateListeners){
+ if (listener != null) listener.onConnectStateChanged(address, state);
+ }
+ }
+ }
+
+ /**
+ * max connected number of bluetooth queue
+ * @return
+ */
+ public int getMaxLen(){
+ return ConnectConfig.maxConnectDeviceNum;
+ }
+
+ public boolean isEmpty(String str) {
+ return str == null || str.length() == 0;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/multiple/MultiConnectManager.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/multiple/MultiConnectManager.java
new file mode 100644
index 0000000..6f73d7b
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/connect/multiple/MultiConnectManager.java
@@ -0,0 +1,147 @@
+package com.blakequ.bluetooth_manager_lib.connect.multiple;
+
+import android.annotation.TargetApi;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCallback;
+import android.bluetooth.BluetoothManager;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+
+import com.blakequ.bluetooth_manager_lib.BleManager;
+import com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectConfig;
+import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
+import com.blankj.utilcode.util.LogUtils;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/19 9:49 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description:manager multiple bluetooth device connect
+ * <p>
+ * 1.must set uuid for subscribe bluetooth device data, {@link #setServiceUUID(String)}, {@link #addBluetoothSubscribeData(BluetoothSubScribeData)}<br>
+ * 2.register callback of bluetooth notify by {@link #setBluetoothGattCallback(BluetoothGattCallback)}<br>
+ * 3.add device to connect queue, {@link #addDeviceToQueue(String)} or {@link #addDeviceToQueue(String[])}, {@link #removeDeviceFromQueue(String)}<br>
+ * 4.start auto connect one by one, {@link #startConnect()}<br>
+ * 5.close all connect, {@link #close(String)}, {@link #closeAll()}<br>
+ * <p/>
+ */
+@TargetApi(18)
+public final class MultiConnectManager extends ConnectRequestQueue {
+ private static final String TAG = "MultiConnectManager";
+ private static MultiConnectManager INSTANCE;
+ private BluetoothManager bluetoothManager;
+ private static String serviceUUID;
+ private BluetoothGattCallback mBluetoothGattCallback;
+ private final Queue<BluetoothSubScribeData> subscribeQueue;
+ private static Object obj = new Object();
+
+ private MultiConnectManager(Context context){
+ super(context);
+ bluetoothManager = (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);
+ subscribeQueue = new ConcurrentLinkedQueue<BluetoothSubScribeData>();
+ BleManager.getBleParamsOptions();
+ }
+
+ public static MultiConnectManager getInstance(Context context){
+ //鍙岄噸閿�
+ if (INSTANCE == null){
+ synchronized (obj){
+ if (INSTANCE == null){
+ INSTANCE = new MultiConnectManager(context);
+ }
+ }
+ }
+ return INSTANCE;
+ }
+
+ public List<BluetoothDevice> getConnectedDevice() {
+ List<BluetoothDevice> devices = bluetoothManager.getConnectedDevices(BluetoothProfile.GATT);
+ if (!isEmpty(devices)){
+ List<BluetoothDevice> newDevices = new ArrayList<BluetoothDevice>();
+ for (BluetoothDevice device: devices){
+ if (getDeviceState(device.getAddress()) == ConnectState.CONNECTED) {
+ newDevices.add(device);
+ }else {
+ LogUtils.i("Not exist connected device in queue "+device.getAddress());
+ }
+ }
+ return newDevices;
+ }
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * register callback of bluetooth notify
+ * @param callback
+ */
+ public void setBluetoothGattCallback(BluetoothGattCallback callback){
+ this.mBluetoothGattCallback = callback;
+ }
+
+ /**
+ * add subscribe data while read or write characteristic(or descriptor) after discover service.
+ * if each device using different config, you should invoke {@link #cleanSubscribeData()} to clean queue before using {@link #startSubscribe(BluetoothGatt)}
+ * @param data
+ * @see #cleanSubscribeData()
+ * @see #startSubscribe(BluetoothGatt)
+ * @see #setServiceUUID(String)
+ */
+ public void addBluetoothSubscribeData(BluetoothSubScribeData data){
+ subscribeQueue.add(data);
+ }
+
+ /**
+ * clean subscribe list
+ * @see #addBluetoothSubscribeData(BluetoothSubScribeData)
+ */
+ public void cleanSubscribeData(){
+ subscribeQueue.clear();
+ }
+
+ /**
+ * set bluetooth service uuid, can not be null
+ * @see #addBluetoothSubscribeData(BluetoothSubScribeData)
+ * @param serviceUUID
+ */
+ public void setServiceUUID(String serviceUUID){
+ this.serviceUUID = serviceUUID;
+ }
+
+ @Override
+ protected BluetoothGattCallback getBluetoothGattCallback() {
+ return mBluetoothGattCallback;
+ }
+
+ @Override
+ protected String getServiceUUID() {
+ return serviceUUID;
+ }
+
+ @Override
+ protected Queue<BluetoothSubScribeData> getSubscribeDataQueue() {
+ return subscribeQueue;
+ }
+
+ @Deprecated
+ public void setMaxConnectDeviceNum(int number){
+ ConnectConfig.maxConnectDeviceNum = number;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconDevice.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconDevice.java
new file mode 100644
index 0000000..5e1aed3
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconDevice.java
@@ -0,0 +1,8 @@
+package com.blakequ.bluetooth_manager_lib.device;
+
+/**
+ *
+ */
+public interface BeaconDevice {
+ BeaconType getBeaconType();
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconManufacturerData.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconManufacturerData.java
new file mode 100644
index 0000000..1962e93
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconManufacturerData.java
@@ -0,0 +1,31 @@
+package com.blakequ.bluetooth_manager_lib.device;
+
+import java.util.Arrays;
+
+/**
+ *
+ */
+public abstract class BeaconManufacturerData {
+ private final BeaconType mBeaconType;
+ private final byte[] mData;
+
+ protected BeaconManufacturerData(final BeaconType expectedType, final byte[] data){
+ if (BeaconUtils.getBeaconType(data) != expectedType) {
+ throw new IllegalArgumentException(
+ "Manufacturer record '"
+ + Arrays.toString(data)
+ + "' is not from a " + expectedType);
+ }
+
+ this.mData = data;
+ this.mBeaconType = expectedType;
+ }
+
+ public BeaconType getBeaconType(){
+ return mBeaconType;
+ }
+
+ public byte[] getData(){
+ return mData;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconType.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconType.java
new file mode 100644
index 0000000..f8614f4
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconType.java
@@ -0,0 +1,15 @@
+package com.blakequ.bluetooth_manager_lib.device;
+
+/**
+ * ble device type
+ */
+public enum BeaconType {
+ /**
+ * not ibeacon device
+ */
+ NOT_A_BEACON,
+ /**
+ * ibeacon device
+ * */
+ IBEACON,
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconUtils.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconUtils.java
new file mode 100644
index 0000000..b99b5a0
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BeaconUtils.java
@@ -0,0 +1,57 @@
+package com.blakequ.bluetooth_manager_lib.device;
+
+import com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord;
+import com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconConstants;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+
+/**
+ *
+ */
+public final class BeaconUtils {
+
+ private BeaconUtils(){
+ // TO AVOID INSTANTIATION
+ }
+
+ /**
+ * Ascertains whether a Manufacturer Data byte array belongs to a known Beacon type;
+ *
+ * @param manufacturerData a Bluetooth LE device's raw manufacturerData.
+ * @return the {@link BeaconType}
+ */
+ public static BeaconType getBeaconType(final byte[] manufacturerData) {
+ if (manufacturerData == null || manufacturerData.length == 0) {
+ return BeaconType.NOT_A_BEACON;
+ }
+
+ if(isIBeacon(manufacturerData)){
+ return BeaconType.IBEACON;
+ } else {
+ return BeaconType.NOT_A_BEACON;
+ }
+ }
+
+ /**
+ * Ascertains whether a {@link com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice} is an iBeacon;
+ *
+ * @param device a {@link com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice} device.
+ * @return the {@link BeaconType}
+ */
+ public static BeaconType getBeaconType(final BluetoothLeDevice device) {
+ final int key = AdRecord.TYPE_MANUFACTURER_SPECIFIC_DATA;
+ return getBeaconType(device.getAdRecordStore().getRecordDataAsString(key).getBytes());
+ }
+
+ private static boolean isIBeacon(final byte[] manufacturerData){
+ // An iBeacon record must be at least 25 chars long
+ if (!(manufacturerData.length >= 25)) {
+ return false;
+ }
+
+ if (ByteUtils.doesArrayBeginWith(manufacturerData, IBeaconConstants.MANUFACTURER_DATA_IBEACON_PREFIX)) {
+ return true;
+ }
+
+ return false;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BluetoothLeDevice.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BluetoothLeDevice.java
new file mode 100644
index 0000000..b1dabe0
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BluetoothLeDevice.java
@@ -0,0 +1,440 @@
+package com.blakequ.bluetooth_manager_lib.device;
+
+import android.bluetooth.BluetoothDevice;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordStore;
+import com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecordUtils;
+import com.blakequ.bluetooth_manager_lib.device.resolvers.BluetoothClassResolver;
+import com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDevice;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+import com.blakequ.bluetooth_manager_lib.util.LimitedLinkHashMap;
+
+import java.io.Serializable;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+
+// TODO: Auto-generated Javadoc
+
+/**
+ * This is a wrapper around the default BluetoothDevice object
+ * As BluetoothDevice is final it cannot be extended, so to get it you
+ * need to call {@link #getDevice()} method.
+ *
+ * @author Alexandros Schillings
+ */
+public class BluetoothLeDevice implements Parcelable ,BeaconDevice{
+ /**
+ * The Constant CREATOR.
+ */
+ public static final Creator<BluetoothLeDevice> CREATOR = new Creator<BluetoothLeDevice>() {
+ public BluetoothLeDevice createFromParcel(final Parcel in) {
+ return new BluetoothLeDevice(in);
+ }
+
+ public BluetoothLeDevice[] newArray(final int size) {
+ return new BluetoothLeDevice[size];
+ }
+ };
+ protected static final int MAX_RSSI_LOG_SIZE = 10;
+ private static final String PARCEL_EXTRA_BLUETOOTH_DEVICE = "bluetooth_device";
+ private static final String PARCEL_EXTRA_CURRENT_RSSI = "current_rssi";
+ private static final String PARCEL_EXTRA_CURRENT_TIMESTAMP = "current_timestamp";
+ private static final String PARCEL_EXTRA_DEVICE_RSSI_LOG = "device_rssi_log";
+ private static final String PARCEL_EXTRA_DEVICE_SCANRECORD = "device_scanrecord";
+ private static final String PARCEL_EXTRA_DEVICE_SCANRECORD_STORE = "device_scanrecord_store";
+ private static final String PARCEL_EXTRA_FIRST_RSSI = "device_first_rssi";
+ private static final String PARCEL_EXTRA_FIRST_TIMESTAMP = "first_timestamp";
+ private static final long LOG_INVALIDATION_THRESHOLD = 10 * 1000;
+ private final AdRecordStore mRecordStore;
+ private final BluetoothDevice mDevice;
+ private final Map<Long, Integer> mRssiLog;
+ private final byte[] mScanRecord;
+ private final int mFirstRssi;
+ private final long mFirstTimestamp;
+ private int mCurrentRssi;
+ private long mCurrentTimestamp;
+ private transient Set<BluetoothService> mServiceSet;
+
+ /**
+ * Instantiates a new Bluetooth LE device.
+ *
+ * @param device a standard android Bluetooth device
+ * @param rssi the RSSI value of the Bluetooth device
+ * @param scanRecord the scan record of the device
+ * @param timestamp the timestamp of the RSSI reading
+ */
+ public BluetoothLeDevice(final BluetoothDevice device, final int rssi, final byte[] scanRecord, final long timestamp) {
+ mDevice = device;
+ mFirstRssi = rssi;
+ mFirstTimestamp = timestamp;
+ mRecordStore = new AdRecordStore(AdRecordUtils.parseScanRecordAsSparseArray(scanRecord));
+ mScanRecord = scanRecord;
+ mRssiLog = new LimitedLinkHashMap<>(MAX_RSSI_LOG_SIZE);
+ updateRssiReading(timestamp, rssi);
+ }
+
+ /**
+ * Instantiates a new Bluetooth LE device.
+ *
+ * @param device the device
+ */
+ public BluetoothLeDevice(final BluetoothLeDevice device) {
+ mCurrentRssi = device.getRssi();
+ mCurrentTimestamp = device.getTimestamp();
+ mDevice = device.getDevice();
+ mFirstRssi = device.getFirstRssi();
+ mFirstTimestamp = device.getFirstTimestamp();
+ mRecordStore = new AdRecordStore(
+ AdRecordUtils.parseScanRecordAsSparseArray(device.getScanRecord()));
+ mRssiLog = device.getRssiLog();
+ mScanRecord = device.getScanRecord();
+ }
+
+ /**
+ * Instantiates a new bluetooth le device.
+ *
+ * @param in the in
+ */
+ @SuppressWarnings("unchecked")
+ protected BluetoothLeDevice(final Parcel in) {
+ final Bundle b = in.readBundle(getClass().getClassLoader());
+
+ mCurrentRssi = b.getInt(PARCEL_EXTRA_CURRENT_RSSI, 0);
+ mCurrentTimestamp = b.getLong(PARCEL_EXTRA_CURRENT_TIMESTAMP, 0);
+ mDevice = b.getParcelable(PARCEL_EXTRA_BLUETOOTH_DEVICE);
+ mFirstRssi = b.getInt(PARCEL_EXTRA_FIRST_RSSI, 0);
+ mFirstTimestamp = b.getLong(PARCEL_EXTRA_FIRST_TIMESTAMP, 0);
+ mRecordStore = b.getParcelable(PARCEL_EXTRA_DEVICE_SCANRECORD_STORE);
+ mRssiLog = (Map<Long, Integer>) b.getSerializable(PARCEL_EXTRA_DEVICE_RSSI_LOG);
+ mScanRecord = b.getByteArray(PARCEL_EXTRA_DEVICE_SCANRECORD);
+ }
+
+ @Override
+ public BeaconType getBeaconType() {
+ return BeaconUtils.getBeaconType(this);
+ }
+
+ /**
+ * if ble device is ibeacon will return Ibeacon device, else return null
+ * @return
+ */
+ public IBeaconDevice getIBeaconDevice(){
+ if (getBeaconType() == BeaconType.IBEACON){
+ return new IBeaconDevice(this);
+ }
+ return null;
+ }
+
+ /**
+ * Adds the to rssi log.
+ *
+ * @param timestamp the timestamp
+ * @param rssiReading the rssi reading
+ */
+ private void addToRssiLog(final long timestamp, final int rssiReading) {
+ synchronized (mRssiLog) {
+ if (timestamp - mCurrentTimestamp > LOG_INVALIDATION_THRESHOLD) {
+ mRssiLog.clear();
+ }
+
+ mCurrentRssi = rssiReading;
+ mCurrentTimestamp = timestamp;
+ mRssiLog.put(timestamp, rssiReading);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see android.os.Parcelable#describeContents()
+ */
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ final BluetoothLeDevice other = (BluetoothLeDevice) obj;
+ if (mCurrentRssi != other.mCurrentRssi)
+ return false;
+ if (mCurrentTimestamp != other.mCurrentTimestamp)
+ return false;
+ if (mDevice == null) {
+ if (other.mDevice != null)
+ return false;
+ } else if (!mDevice.equals(other.mDevice))
+ return false;
+ if (mFirstRssi != other.mFirstRssi)
+ return false;
+ if (mFirstTimestamp != other.mFirstTimestamp)
+ return false;
+ if (mRecordStore == null) {
+ if (other.mRecordStore != null)
+ return false;
+ } else if (!mRecordStore.equals(other.mRecordStore))
+ return false;
+ if (mRssiLog == null) {
+ if (other.mRssiLog != null)
+ return false;
+ } else if (!mRssiLog.equals(other.mRssiLog))
+ return false;
+ if (!Arrays.equals(mScanRecord, other.mScanRecord))
+ return false;
+ return true;
+ }
+
+ /**
+ * Gets the ad record store.
+ *
+ * @return the ad record store
+ */
+ public AdRecordStore getAdRecordStore() {
+ return mRecordStore;
+ }
+
+ /**
+ * Gets the address.
+ *
+ * @return the address
+ */
+ public String getAddress() {
+ return mDevice.getAddress();
+ }
+
+ /**
+ * Gets the bluetooth device bond state.
+ *
+ * @return the bluetooth device bond state
+ */
+ public String getBluetoothDeviceBondState() {
+ return resolveBondingState(mDevice.getBondState());
+ }
+
+ /**
+ * Gets the bluetooth device class name.
+ *
+ * @return the bluetooth device class name
+ */
+ public String getBluetoothDeviceClassName() {
+ return BluetoothClassResolver.resolveDeviceClass(mDevice.getBluetoothClass().getDeviceClass());
+ }
+
+ public Set<BluetoothService> getBluetoothDeviceKnownSupportedServices() {
+ if (mServiceSet == null) {
+ synchronized (this) {
+ if (mServiceSet == null) {
+ final Set<BluetoothService> serviceSet = new HashSet<>();
+ for (final BluetoothService service : BluetoothService.values()) {
+
+ if (mDevice.getBluetoothClass().hasService(service.getAndroidConstant())) {
+ serviceSet.add(service);
+ }
+ }
+ mServiceSet = Collections.unmodifiableSet(serviceSet);
+ }
+ }
+ }
+
+ return mServiceSet;
+ }
+
+ /**
+ * Gets the bluetooth device major class name.
+ *
+ * @return the bluetooth device major class name
+ */
+ public String getBluetoothDeviceMajorClassName() {
+ return BluetoothClassResolver.resolveMajorDeviceClass(mDevice.getBluetoothClass().getMajorDeviceClass());
+ }
+
+ /**
+ * Gets the device.
+ *
+ * @return the device
+ */
+ public BluetoothDevice getDevice() {
+ return mDevice;
+ }
+
+ /**
+ * Gets the first rssi.
+ *
+ * @return the first rssi
+ */
+ public int getFirstRssi() {
+ return mFirstRssi;
+ }
+
+ /**
+ * Gets the first timestamp.
+ *
+ * @return the first timestamp
+ */
+ public long getFirstTimestamp() {
+ return mFirstTimestamp;
+ }
+
+ /**
+ * Gets the name.
+ *
+ * @return the name
+ */
+ public String getName() {
+ return mDevice.getName();
+ }
+
+ /**
+ * Gets the rssi.
+ *
+ * @return the rssi
+ */
+ public int getRssi() {
+ return mCurrentRssi;
+ }
+
+ /**
+ * Gets the rssi log.
+ *
+ * @return the rssi log
+ */
+ protected Map<Long, Integer> getRssiLog() {
+ synchronized (mRssiLog) {
+ return mRssiLog;
+ }
+ }
+
+ /**
+ * Gets the running average rssi.
+ *
+ * @return the running average rssi
+ */
+ public double getRunningAverageRssi() {
+ int sum = 0;
+ int count = 0;
+
+ synchronized (mRssiLog) {
+
+ for (final Long aLong : mRssiLog.keySet()) {
+ count++;
+ sum += mRssiLog.get(aLong);
+ }
+ }
+
+ if (count > 0) {
+ return sum / count;
+ } else {
+ return 0;
+ }
+
+ }
+
+ /**
+ * Gets the scan record.
+ *
+ * @return the scan record
+ */
+ public byte[] getScanRecord() {
+ return mScanRecord;
+ }
+
+ /**
+ * Gets the timestamp.
+ *
+ * @return the timestamp
+ */
+ public long getTimestamp() {
+ return mCurrentTimestamp;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + mCurrentRssi;
+ result = prime * result + (int) (mCurrentTimestamp ^ (mCurrentTimestamp >>> 32));
+ result = prime * result + ((mDevice == null) ? 0 : mDevice.hashCode());
+ result = prime * result + mFirstRssi;
+ result = prime * result + (int) (mFirstTimestamp ^ (mFirstTimestamp >>> 32));
+ result = prime * result + ((mRecordStore == null) ? 0 : mRecordStore.hashCode());
+ result = prime * result + ((mRssiLog == null) ? 0 : mRssiLog.hashCode());
+ result = prime * result + Arrays.hashCode(mScanRecord);
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return "BluetoothLeDevice [mDevice=" + mDevice + ", mRssi=" + mFirstRssi + ", mScanRecord=" + ByteUtils.byteArrayToHexString(mScanRecord) + ", mRecordStore=" + mRecordStore + ", getBluetoothDeviceBondState()=" + getBluetoothDeviceBondState() + ", getBluetoothDeviceClassName()=" + getBluetoothDeviceClassName() + "]";
+ }
+
+ /**
+ * Update rssi reading.
+ *
+ * @param timestamp the timestamp
+ * @param rssiReading the rssi reading
+ */
+ public void updateRssiReading(final long timestamp, final int rssiReading) {
+ addToRssiLog(timestamp, rssiReading);
+ }
+
+ /* (non-Javadoc)
+ * @see android.os.Parcelable#writeToParcel(android.os.Parcel, int)
+ */
+ @Override
+ public void writeToParcel(final Parcel parcel, final int arg1) {
+ final Bundle b = new Bundle(getClass().getClassLoader());
+
+ b.putByteArray(PARCEL_EXTRA_DEVICE_SCANRECORD, mScanRecord);
+
+ b.putInt(PARCEL_EXTRA_FIRST_RSSI, mFirstRssi);
+ b.putInt(PARCEL_EXTRA_CURRENT_RSSI, mCurrentRssi);
+
+ b.putLong(PARCEL_EXTRA_FIRST_TIMESTAMP, mFirstTimestamp);
+ b.putLong(PARCEL_EXTRA_CURRENT_TIMESTAMP, mCurrentTimestamp);
+
+ b.putParcelable(PARCEL_EXTRA_BLUETOOTH_DEVICE, mDevice);
+ b.putParcelable(PARCEL_EXTRA_DEVICE_SCANRECORD_STORE, mRecordStore);
+ b.putSerializable(PARCEL_EXTRA_DEVICE_RSSI_LOG, (Serializable) mRssiLog);
+
+ parcel.writeBundle(b);
+ }
+
+ /**
+ * Resolve bonding state.
+ *
+ * @param bondState the bond state
+ * @return the string
+ */
+ private static String resolveBondingState(final int bondState) {
+ switch (bondState) {
+ case BluetoothDevice.BOND_BONDED:
+ return "Paired";
+ case BluetoothDevice.BOND_BONDING:
+ return "Pairing";
+ case BluetoothDevice.BOND_NONE:
+ return "Unbonded";
+ default:
+ return "Unknown";
+ }
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BluetoothService.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BluetoothService.java
new file mode 100644
index 0000000..7c4ccf6
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/BluetoothService.java
@@ -0,0 +1,28 @@
+package com.blakequ.bluetooth_manager_lib.device;
+
+import android.bluetooth.BluetoothClass;
+
+/**
+ *
+ */
+public enum BluetoothService {
+ AUDIO(BluetoothClass.Service.AUDIO),
+ CAPTURE(BluetoothClass.Service.CAPTURE),
+ INFORMATION(BluetoothClass.Service.INFORMATION),
+ LIMITED_DISCOVERABILITY(BluetoothClass.Service.LIMITED_DISCOVERABILITY),
+ NETWORKING(BluetoothClass.Service.NETWORKING),
+ OBJECT_TRANSFER(BluetoothClass.Service.OBJECT_TRANSFER),
+ POSITIONING(BluetoothClass.Service.POSITIONING),
+ RENDER(BluetoothClass.Service.RENDER),
+ TELEPHONY(BluetoothClass.Service.TELEPHONY);
+
+ private final int mAndroidConstant;
+
+ BluetoothService(final int androidCode){
+ mAndroidConstant = androidCode;
+ }
+
+ public int getAndroidConstant(){
+ return mAndroidConstant;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecord.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecord.java
new file mode 100644
index 0000000..0ce9db5
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecord.java
@@ -0,0 +1,227 @@
+package com.blakequ.bluetooth_manager_lib.device.adrecord;
+
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.util.Arrays;
+
+/**
+ * Created by Dave Smith
+ * Double Encore, Inc.
+ * <p>
+ * Expanded by Alexandros Schillings
+ */
+public final class AdRecord implements Parcelable {
+ // 02 # Number of bytes that follow in first AD structure
+ // 01 # Flags AD type
+ // 1A # Flags value 0x1A = 000011010
+ // bit 0 (OFF) LE Limited Discoverable Mode
+ // bit 1 (ON) LE General Discoverable Mode
+ // bit 2 (OFF) BR/EDR Not Supported
+ // bit 3 (ON) Simultaneous LE and BR/EDR to Same Device Capable (controller)
+ // bit 4 (ON) Simultaneous LE and BR/EDR to Same Device Capable (Host)
+ // 1A # Number of bytes that follow in second (and last) AD structure
+ // FF # Manufacturer specific data AD type
+ // 4C 00 # Company identifier code (0x004C == Apple)
+ // 02 # Byte 0 of iBeacon advertisement indicator
+ // 15 # Byte 1 of iBeacon advertisement indicator
+ // e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 # iBeacon proximity uuid
+ // 00 00 # major
+ // 00 00 # minor
+ // c5 # The 2's complement of the calibrated Tx Power
+
+
+ /**
+ * General FLAGS
+ * <p>
+ * Description: Flags
+ * <p>
+ * Information:
+ * Bit 0: LE Limited Discoverable Mode
+ * Bit 1: LE General Discoverable Mode
+ * Bit 2: BR/EDR Not Supported (i.e. bit 37 of LMP Extended Feature bits Page 0)
+ * Bit 3: Simultaneous LE and BR/EDR to Same Device Capable (Controller) (i.e. bit 49 of LMP Extended Feature bits Page 0)
+ * Bit 4: Simultaneous LE and BR/EDR to Same Device Capable (Host) (i.e. bit 66 of LMP Extended Feature bits Page 1)
+ * Bits 5-7 Reserved
+ */
+ public static final int TYPE_FLAGS = 0x01;
+ // SERVICE
+ public static final int TYPE_UUID16_INC = 0x02;
+ public static final int TYPE_UUID16 = 0x03;
+ public static final int TYPE_UUID32_INC = 0x04;
+ public static final int TYPE_UUID32 = 0x05;
+ public static final int TYPE_UUID128_INC = 0x06;
+ public static final int TYPE_UUID128 = 0x07;
+ // Local name
+ public static final int TYPE_LOCAL_NAME_SHORT = 0x08;
+ public static final int TYPE_LOCAL_NAME_COMPLETE = 0x09;
+ // TX Power Level
+ public static final int TYPE_TX_POWER_LEVEL = 0x0A;
+ // SIMPLE PAIRING OPTIONAL OOB TAGS
+ public static final int TYPE_DEVICE_CLASS = 0x0D;
+ public static final int TYPE_SIMPLE_PAIRING_HASH_C = 0x0E;
+ public static final int TYPE_SIMPLE_PAIRING_RANDOMIZER_R = 0x0F;
+ // SECURITY MANAGER TK VALUE
+ public static final int TYPE_TK_VALUE = 0x10;
+ /* SECURITY MANAGER OOB FLAGS
+ *
+ * Description: Flag (1 octet)
+ *
+ * Information:
+ * Bit 0: OOB Flags Field: (0 = OOB data not present, 1 = OOB data present)
+ * Bit 1: LE supported (Host) (i.e. bit 65 of LMP Extended Feature bits Page 1
+ * Bit 2: Simultaneous LE and BR/EDR to Same Device Capable (Host) (i.e. bit 66 of LMP Extended Feature bits Page 1)
+ * Bit 3: Address type (0 = Public Address, 1 = Random Address)
+ * Bits 4-7 Reserved
+ */
+ public static final int TYPE_SECURITY_MANAGER_OOB_FLAGS = 0x11;
+ /* SLAVE CONNECTION INTERVAL RANGE
+ *
+ * Description: Slave Connection Interval Range
+ *
+ * Information:
+ * The first 2 octets defines the minimum value for the connection interval in the following manner:
+ * connInterval min = Conn_Interval_Min * 1.25 ms
+ * Conn_Interval_Min range: 0x0006 to 0x0C80
+ * Value of 0xFFFF indicates no specific minimum.
+ * Values outside the range are reserved. (excluding 0xFFFF)
+ *
+ * The second 2 octets defines the maximum value for the connection interval in the following manner:
+ * connInterval max = Conn_Interval_Max * 1.25 ms
+ * Conn_Interval_Max range: 0x0006 to 0x0C80
+ * Conn_Interval_Max shall be equal to or greater
+ * than the Conn_Interval_Min.
+ * Value of 0xFFFF indicates no specific maximum.
+ * Values outside the range are reserved (excluding 0xFFFF)
+ */
+ public static final int TYPE_CONNECTION_INTERVAL_RANGE = 0x12;
+ // SERVICE SOLICITATION
+ public static final int TYPE_SERVICE_UUIDS_LIST_16BIT = 0x14;
+ public static final int TYPE_SERVICE_UUIDS_LIST_128BIT = 0x15;
+ /* SERVICE DATA
+ *
+ * Description: Service Data (2 or more octets)
+ * Information: The first 2 octets contain the 16 bit Service UUID followed by additional service data
+ */
+ public static final int TYPE_SERVICE_DATA = 0x16;
+ /* MANUFACTURER SPECIFIC DATA
+ *
+ * Description: Manufacturer Specific Data (2 or more octets)
+ * Information: The first 2 octets contain the Company Identifier Code followed by additional manufacturer specific data
+ */
+ public static final int TYPE_MANUFACTURER_SPECIFIC_DATA = 0xFF;
+ public static final Creator<AdRecord> CREATOR = new Creator<AdRecord>() {
+ public AdRecord createFromParcel(final Parcel in) {
+ return new AdRecord(in);
+ }
+
+ public AdRecord[] newArray(final int size) {
+ return new AdRecord[size];
+ }
+ };
+ private static final String PARCEL_RECORD_DATA = "record_data";
+ private static final String PARCEL_RECORD_TYPE = "record_type";
+ private static final String PARCEL_RECORD_LENGTH = "record_length";
+ /* Model Object Definition */
+ private final int mLength;
+ private final int mType;
+ private final byte[] mData;
+
+ public AdRecord(final int length, final int type, final byte[] data) {
+ mLength = length;
+ mType = type;
+ mData = data;
+ }
+
+ public AdRecord(final Parcel in) {
+ final Bundle b = in.readBundle(getClass().getClassLoader());
+ mLength = b.getInt(PARCEL_RECORD_LENGTH);
+ mType = b.getInt(PARCEL_RECORD_TYPE);
+ mData = b.getByteArray(PARCEL_RECORD_DATA);
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ public byte[] getData() {
+ return mData;
+ }
+
+ public String getHumanReadableType() {
+ return getHumanReadableAdType(mType);
+ }
+
+ public int getLength() {
+ return mLength;
+ }
+
+ public int getType() {
+ return mType;
+ }
+
+ @Override
+ public String toString() {
+ return "AdRecord [mLength=" + mLength + ", mType=" + mType + ", mData=" + Arrays.toString(mData) + ", getHumanReadableType()=" + getHumanReadableType() + "]";
+ }
+
+ @Override
+ public void writeToParcel(final Parcel parcel, final int arg1) {
+ final Bundle b = new Bundle(getClass().getClassLoader());
+
+ b.putInt(PARCEL_RECORD_LENGTH, mLength);
+ b.putInt(PARCEL_RECORD_TYPE, mType);
+ b.putByteArray(PARCEL_RECORD_DATA, mData);
+
+ parcel.writeBundle(b);
+ }
+
+ private static String getHumanReadableAdType(final int type) {
+ switch (type) {
+ case TYPE_CONNECTION_INTERVAL_RANGE:
+ return "Slave Connection Interval Range";
+ case TYPE_DEVICE_CLASS:
+ return "Class of device";
+ case TYPE_FLAGS:
+ return "Flags";
+ case TYPE_MANUFACTURER_SPECIFIC_DATA:
+ return "Manufacturer Specific Data";
+ case TYPE_LOCAL_NAME_COMPLETE:
+ return "Name (Complete)";
+ case TYPE_LOCAL_NAME_SHORT:
+ return "Name (Short)";
+ case TYPE_SECURITY_MANAGER_OOB_FLAGS:
+ return "Security Manager OOB Flags";
+ case TYPE_SERVICE_UUIDS_LIST_128BIT:
+ return "Service UUIDs (128bit)";
+ case TYPE_SERVICE_UUIDS_LIST_16BIT:
+ return "Service UUIDs (16bit)";
+ case TYPE_SERVICE_DATA:
+ return "Service Data";
+ case TYPE_SIMPLE_PAIRING_HASH_C:
+ return "Simple Pairing Hash C";
+ case TYPE_SIMPLE_PAIRING_RANDOMIZER_R:
+ return "Simple Pairing Randomizer R";
+ case TYPE_TK_VALUE:
+ return "TK Value";
+ case TYPE_TX_POWER_LEVEL:
+ return "Transmission Power Level";
+ case TYPE_UUID128:
+ return "Complete list of 128-bit UUIDs available";
+ case TYPE_UUID128_INC:
+ return "More 128-bit UUIDs available";
+ case TYPE_UUID16:
+ return "Complete list of 16-bit UUIDs available";
+ case TYPE_UUID16_INC:
+ return "More 16-bit UUIDs available";
+ case TYPE_UUID32:
+ return "Complete list of 32-bit UUIDs available";
+ case TYPE_UUID32_INC:
+ return "More 32-bit UUIDs available";
+ default:
+ return "Unknown AdRecord Structure: " + type;
+ }
+ }
+}
\ No newline at end of file
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecordStore.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecordStore.java
new file mode 100644
index 0000000..577a3d7
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecordStore.java
@@ -0,0 +1,157 @@
+package com.blakequ.bluetooth_manager_lib.device.adrecord;
+
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.util.SparseArray;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+
+
+/**
+ * The Class AdRecordStore.
+ */
+public class AdRecordStore implements Parcelable {
+ public static final Creator<AdRecordStore> CREATOR = new Creator<AdRecordStore>() {
+ public AdRecordStore createFromParcel(final Parcel in) {
+ return new AdRecordStore(in);
+ }
+
+ public AdRecordStore[] newArray(final int size) {
+ return new AdRecordStore[size];
+ }
+ };
+ private final SparseArray<AdRecord> mAdRecords;
+ private final String mLocalNameComplete;
+ private final String mLocalNameShort;
+
+ public AdRecordStore(final Parcel in) {
+ final Bundle b = in.readBundle(getClass().getClassLoader());
+ mAdRecords = b.getSparseParcelableArray("records_array");
+ mLocalNameComplete = b.getString("local_name_complete");
+ mLocalNameShort = b.getString("local_name_short");
+ }
+
+ /**
+ * Instantiates a new Bluetooth LE device Ad Record Store.
+ *
+ * @param adRecords the ad records
+ */
+ public AdRecordStore(final SparseArray<AdRecord> adRecords) {
+ mAdRecords = adRecords;
+
+ mLocalNameComplete = AdRecordUtils.getRecordDataAsString(
+ mAdRecords.get(AdRecord.TYPE_LOCAL_NAME_COMPLETE));
+
+ mLocalNameShort = AdRecordUtils.getRecordDataAsString(
+ mAdRecords.get(AdRecord.TYPE_LOCAL_NAME_SHORT));
+
+ }
+
+ /* (non-Javadoc)
+ * @see android.os.Parcelable#describeContents()
+ */
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ /**
+ * Gets the short local device name.
+ *
+ * @return the local name complete
+ */
+ public String getLocalNameComplete() {
+ return mLocalNameComplete;
+ }
+
+ /**
+ * Gets the complete local device name.
+ *
+ * @return the local name short
+ */
+ public String getLocalNameShort() {
+ return mLocalNameShort;
+ }
+
+ /**
+ * retrieves an individual record.
+ *
+ * @param record the record
+ * @return the record
+ */
+ public AdRecord getRecord(final int record) {
+ return mAdRecords.get(record);
+ }
+
+ /**
+ * Gets the record data as string.
+ *
+ * @param record the record
+ * @return the record data as string
+ */
+ public String getRecordDataAsString(final int record) {
+ return AdRecordUtils.getRecordDataAsString(
+ mAdRecords.get(record));
+ }
+
+ /**
+ * Gets the record as collection.
+ *
+ * @return the records as collection
+ */
+ public Collection<AdRecord> getRecordsAsCollection() {
+ return Collections.unmodifiableCollection(asList(mAdRecords));
+ }
+
+ /**
+ * Checks if is record present.
+ *
+ * @param record the record
+ * @return true, if is record present
+ */
+ public boolean isRecordPresent(final int record) {
+ return mAdRecords.indexOfKey(record) >= 0;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return "AdRecordStore [mLocalNameComplete=" + mLocalNameComplete + ", mLocalNameShort=" + mLocalNameShort + "]";
+ }
+
+ /* (non-Javadoc)
+ * @see android.os.Parcelable#writeToParcel(android.os.Parcel, int)
+ */
+ @Override
+ public void writeToParcel(final Parcel parcel, final int arg1) {
+ final Bundle b = new Bundle();
+ b.putString("local_name_complete", mLocalNameComplete);
+ b.putString("local_name_short", mLocalNameShort);
+ b.putSparseParcelableArray("records_array", mAdRecords);
+
+ parcel.writeBundle(b);
+ }
+
+ /**
+ * As list.
+ *
+ * @param <C> the generic type
+ * @param sparseArray the sparse array
+ * @return the collection
+ */
+ public static <C> Collection<C> asList(final SparseArray<C> sparseArray) {
+ if (sparseArray == null) return null;
+
+ final Collection<C> arrayList = new ArrayList<>(sparseArray.size());
+ for (int i = 0; i < sparseArray.size(); i++) {
+ arrayList.add(sparseArray.valueAt(i));
+ }
+
+ return arrayList;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecordUtils.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecordUtils.java
new file mode 100644
index 0000000..59eaff4
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/adrecord/AdRecordUtils.java
@@ -0,0 +1,132 @@
+package com.blakequ.bluetooth_manager_lib.device.adrecord;
+
+import android.annotation.SuppressLint;
+import android.util.SparseArray;
+
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+public final class AdRecordUtils {
+
+ private AdRecordUtils(){
+ // TO AVOID INSTANTIATION
+ }
+
+ public static String getRecordDataAsString(final AdRecord nameRecord) {
+ if (nameRecord == null) {
+ return "";
+ }
+ return new String(nameRecord.getData());
+ }
+
+ public static byte[] getServiceData(final AdRecord serviceData) {
+ if (serviceData == null) {
+ return null;
+ }
+ if (serviceData.getType() != AdRecord.TYPE_SERVICE_DATA) return null;
+
+ final byte[] raw = serviceData.getData();
+ //Chop out the uuid
+ return Arrays.copyOfRange(raw, 2, raw.length);
+ }
+
+ public static int getServiceDataUuid(final AdRecord serviceData) {
+ if (serviceData == null) {
+ return -1;
+ }
+ if (serviceData.getType() != AdRecord.TYPE_SERVICE_DATA) return -1;
+
+ final byte[] raw = serviceData.getData();
+ //Find UUID data in byte array
+ int uuid = (raw[1] & 0xFF) << 8;
+ uuid += (raw[0] & 0xFF);
+
+ return uuid;
+ }
+
+ /*
+ * Read out all the AD structures from the raw scan record
+ */
+ public static List<AdRecord> parseScanRecordAsList(final byte[] scanRecord) {
+ final List<AdRecord> records = new ArrayList<>();
+
+ int index = 0;
+ while (index < scanRecord.length) {
+ final int length = scanRecord[index++];
+ //Done once we run out of records
+ if (length == 0) break;
+
+ final int type = ByteUtils.getIntFromByte(scanRecord[index]);
+
+ //Done if our record isn't a valid type
+ if (type == 0) break;
+
+ final byte[] data = Arrays.copyOfRange(scanRecord, index + 1, index + length);
+
+ records.add(new AdRecord(length, type, data));
+
+ //Advance
+ index += length;
+ }
+
+ return Collections.unmodifiableList(records);
+ }
+
+ @SuppressLint("UseSparseArrays")
+ public static Map<Integer, AdRecord> parseScanRecordAsMap(final byte[] scanRecord) {
+ final Map<Integer, AdRecord> records = new HashMap<>();
+
+ int index = 0;
+ while (index < scanRecord.length) {
+ final int length = scanRecord[index++];
+ //Done once we run out of records
+ if (length == 0) break;
+
+ final int type = ByteUtils.getIntFromByte(scanRecord[index]);
+
+ //Done if our record isn't a valid type
+ if (type == 0) break;
+
+ final byte[] data = Arrays.copyOfRange(scanRecord, index + 1, index + length);
+
+ records.put(type, new AdRecord(length, type, data));
+
+ //Advance
+ index += length;
+ }
+
+ return Collections.unmodifiableMap(records);
+ }
+
+ public static SparseArray<AdRecord> parseScanRecordAsSparseArray(final byte[] scanRecord) {
+ final SparseArray<AdRecord> records = new SparseArray<>();
+
+ int index = 0;
+ while (index < scanRecord.length) {
+ final int length = scanRecord[index++];
+ //Done once we run out of records
+ if (length == 0) break;
+
+ final int type = ByteUtils.getIntFromByte(scanRecord[index]);
+
+ //Done if our record isn't a valid type
+ if (type == 0) break;
+
+ final byte[] data = Arrays.copyOfRange(scanRecord, index + 1, index + length);
+
+ records.put(type, new AdRecord(length, type, data));
+
+ //Advance
+ index += length;
+ }
+
+ return records;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconConstants.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconConstants.java
new file mode 100644
index 0000000..d301bbe
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconConstants.java
@@ -0,0 +1,9 @@
+package com.blakequ.bluetooth_manager_lib.device.ibeacon;
+
+/**
+ *
+ */
+public class IBeaconConstants {
+ public static final byte[] MANUFACTURER_DATA_IBEACON_PREFIX = {0x4C, 0x00, 0x02, 0x15};
+
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconDevice.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconDevice.java
new file mode 100644
index 0000000..ac90348
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconDevice.java
@@ -0,0 +1,144 @@
+package com.blakequ.bluetooth_manager_lib.device.ibeacon;
+
+import android.annotation.SuppressLint;
+import android.bluetooth.BluetoothDevice;
+import android.os.Parcel;
+
+import com.blakequ.bluetooth_manager_lib.device.BeaconDevice;
+import com.blakequ.bluetooth_manager_lib.device.BeaconType;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+
+
+@SuppressLint("ParcelCreator")
+public class IBeaconDevice extends BluetoothLeDevice implements BeaconDevice {
+
+ /**
+ * The m iBeacon data.
+ */
+ private final IBeaconManufacturerData mIBeaconData;
+
+ /**
+ * Instantiates a new iBeacon device.
+ *
+ * @param device the device
+ * @param rssi the RSSI value
+ * @param scanRecord the scanRecord
+ * @throws IllegalArgumentException if the passed device is not an iBeacon
+ */
+ public IBeaconDevice(final BluetoothDevice device, final int rssi, final byte[] scanRecord) {
+ super(device, rssi, scanRecord, 0);
+ mIBeaconData = new IBeaconManufacturerData(this);
+ }
+
+ /**
+ * Instantiates a new iBeacon device.
+ *
+ * @param device the device
+ * @param rssi the RSSI value of the RSSI measurement
+ * @param scanRecord the scan record
+ * @param timestamp the timestamp of the RSSI measurement
+ * @throws IllegalArgumentException if the passed device is not an iBeacon
+ */
+ public IBeaconDevice(final BluetoothDevice device, final int rssi, final byte[] scanRecord, final long timestamp) {
+ super(device, rssi, scanRecord, timestamp);
+ mIBeaconData = new IBeaconManufacturerData(this);
+ }
+
+ /**
+ * Will try to convert a {@link BluetoothLeDevice} into an
+ * iBeacon Device.
+ *
+ * @param device the device
+ * @throws IllegalArgumentException if the passed device is not an iBeacon
+ */
+ public IBeaconDevice(final BluetoothLeDevice device) {
+ super(device);
+ mIBeaconData = new IBeaconManufacturerData(this);
+ }
+
+ private IBeaconDevice(final Parcel in) {
+ super(in);
+ mIBeaconData = new IBeaconManufacturerData(this);
+ }
+
+ /**
+ * Gets the estimated Accuracy of the reading in meters based on
+ * a simple running average of the last {@link #MAX_RSSI_LOG_SIZE}
+ * samples.
+ *
+ * @return the accuracy in meters
+ */
+ public double getAccuracy() {
+ return IBeaconUtils.calculateAccuracy(
+ getCalibratedTxPower(),
+ getRunningAverageRssi());
+ }
+
+ @Override
+ public BeaconType getBeaconType() {
+ return BeaconType.IBEACON;
+ }
+
+ /**
+ * Gets the calibrated TX power of the iBeacon device as reported.
+ *
+ * @return the calibrated TX power
+ */
+ public int getCalibratedTxPower() {
+ return getIBeaconData().getCalibratedTxPower();
+ }
+
+ /**
+ * Gets the iBeacon company identifier.
+ *
+ * @return the company identifier
+ */
+ public int getCompanyIdentifier() {
+ return getIBeaconData().getCompanyIdentifier();
+ }
+
+ /**
+ * Gets the estimated Distance descriptor.
+ *
+ * @return the distance descriptor
+ */
+ public IBeaconDistanceDescriptor getDistanceDescriptor() {
+ return IBeaconUtils.getDistanceDescriptor(getAccuracy());
+ }
+
+ /**
+ * Gets the iBeacon manufacturing data.
+ *
+ * @return the iBeacon data
+ */
+ public IBeaconManufacturerData getIBeaconData() {
+ return mIBeaconData;
+ }
+
+ /**
+ * Gets the iBeacon Major value.
+ *
+ * @return the Major value
+ */
+ public int getMajor() {
+ return getIBeaconData().getMajor();
+ }
+
+ /**
+ * Gets the iBeacon Minor value.
+ *
+ * @return the Minor value
+ */
+ public int getMinor() {
+ return getIBeaconData().getMinor();
+ }
+
+ /**
+ * Gets the iBeacon UUID.
+ *
+ * @return the UUID
+ */
+ public String getUUID() {
+ return getIBeaconData().getUUID();
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconDistanceDescriptor.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconDistanceDescriptor.java
new file mode 100644
index 0000000..0b61677
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconDistanceDescriptor.java
@@ -0,0 +1,8 @@
+package com.blakequ.bluetooth_manager_lib.device.ibeacon;
+
+public enum IBeaconDistanceDescriptor {
+ IMMEDIATE,
+ NEAR,
+ FAR,
+ UNKNOWN,
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconManufacturerData.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconManufacturerData.java
new file mode 100644
index 0000000..841f5ee
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconManufacturerData.java
@@ -0,0 +1,134 @@
+package com.blakequ.bluetooth_manager_lib.device.ibeacon;
+
+import com.blakequ.bluetooth_manager_lib.device.BeaconManufacturerData;
+import com.blakequ.bluetooth_manager_lib.device.BeaconType;
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+import com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord;
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+
+import java.util.Arrays;
+
+
+/**
+ * Parses the Manufactured Data field of an iBeacon
+ * <p>
+ * The parsing is based on the following schema:
+ * <pre>
+ * Byte|Value
+ * -------------------------------------------------
+ * 0 4C - Byte 1 (LSB) of Company identifier code
+ * 1 00 - Byte 0 (MSB) of Company identifier code (0x004C == Apple)
+ * 2 02 - Byte 0 of iBeacon advertisement indicator
+ * 3 15 - Byte 1 of iBeacon advertisement indicator
+ * 4 e2 |\
+ * 5 c5 |\\
+ * 6 6d |#\\
+ * 7 b5 |##\\
+ * 8 df |###\\
+ * 9 fb |####\\
+ * 10 48 |#####\\
+ * 11 d2 |#####|| iBeacon
+ * 12 b0 |#####|| Proximity UUID
+ * 13 60 |#####//
+ * 14 d0 |####//
+ * 15 f5 |###//
+ * 16 a7 |##//
+ * 17 10 |#//
+ * 18 96 |//
+ * 19 e0 |/
+ * 20 00 - major
+ * 21 00
+ * 22 00 - minor
+ * 23 00
+ * 24 c5 - The 2's complement of the calibrated Tx Power
+ * </pre>
+ * @author Alexandros Schillings
+ */
+
+public final class IBeaconManufacturerData extends BeaconManufacturerData {
+ private final int mCalibratedTxPower;
+ private final int mCompanyIdentidier;
+ private final int mIBeaconAdvertisment;
+ private final int mMajor;
+ private final int mMinor;
+ private final String mUUID;
+
+ /**
+ * Instantiates a new iBeacon manufacturer data object.
+ *
+ * @param device a {@link BluetoothLeDevice}
+ * @throws IllegalArgumentException if the data is not from an iBeacon.
+ */
+ public IBeaconManufacturerData(final BluetoothLeDevice device) {
+ this(device.getAdRecordStore().getRecord(AdRecord.TYPE_MANUFACTURER_SPECIFIC_DATA).getData());
+ }
+
+ /**
+ * Instantiates a new iBeacon manufacturer data object.
+ *
+ * @param manufacturerData the {@link AdRecord#TYPE_MANUFACTURER_SPECIFIC_DATA} data array
+ * @throws IllegalArgumentException if the data is not from an iBeacon.
+ */
+ public IBeaconManufacturerData(final byte[] manufacturerData) {
+ super(BeaconType.IBEACON, manufacturerData);
+
+ final byte[] intArray = Arrays.copyOfRange(manufacturerData, 0, 2);
+ ByteUtils.invertArray(intArray);
+
+ mCompanyIdentidier = ByteUtils.getIntFrom2ByteArray(intArray);
+ mIBeaconAdvertisment = ByteUtils.getIntFrom2ByteArray(Arrays.copyOfRange(manufacturerData, 2, 4));
+ mUUID = IBeaconUtils.calculateUuidString(Arrays.copyOfRange(manufacturerData, 4, 20));
+ mMajor = ByteUtils.getIntFrom2ByteArray(Arrays.copyOfRange(manufacturerData, 20, 22));
+ mMinor = ByteUtils.getIntFrom2ByteArray(Arrays.copyOfRange(manufacturerData, 22, 24));
+ mCalibratedTxPower = manufacturerData[24];
+ }
+
+ /**
+ * Gets the calibrated TX power of the iBeacon device as reported.
+ *
+ * @return the calibrated TX power
+ */
+ public int getCalibratedTxPower() {
+ return mCalibratedTxPower;
+ }
+
+ /**
+ * Gets the iBeacon company identifier.
+ *
+ * @return the company identifier
+ */
+ public int getCompanyIdentifier() {
+ return mCompanyIdentidier;
+ }
+
+ public int getIBeaconAdvertisement() {
+ return mIBeaconAdvertisment;
+ }
+
+ /**
+ * Gets the iBeacon Major value.
+ *
+ * @return the Major value
+ */
+ public int getMajor() {
+ return mMajor;
+ }
+
+ /**
+ * Gets the iBeacon Minor value.
+ *
+ * @return the Minor value
+ */
+ public int getMinor() {
+ return mMinor;
+ }
+
+ /**
+ * Gets the iBeacon UUID.
+ *
+ * @return the UUID
+ */
+ public String getUUID() {
+ return mUUID;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconUtils.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconUtils.java
new file mode 100644
index 0000000..fbebffb
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/ibeacon/IBeaconUtils.java
@@ -0,0 +1,80 @@
+package com.blakequ.bluetooth_manager_lib.device.ibeacon;
+
+
+import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
+
+final class IBeaconUtils {
+ private static final double DISTANCE_THRESHOLD_WTF = 0.0;
+ private static final double DISTANCE_THRESHOLD_IMMEDIATE = 0.5;
+ private static final double DISTANCE_THRESHOLD_NEAR = 3.0;
+
+ private IBeaconUtils(){
+ // TO AVOID INSTANTIATION
+ }
+
+ /**
+ * Calculates the accuracy of an RSSI reading.
+ * <p/>
+ * The code was taken from <a href="http://stackoverflow.com/questions/20416218/understanding-ibeacon-distancing" /a>
+ *
+ * @param txPower the calibrated TX power of an iBeacon
+ * @param rssi the RSSI value of the iBeacon
+ * @return the calculated Accuracy
+ */
+ public static double calculateAccuracy(final int txPower, final double rssi) {
+ if (rssi == 0) {
+ return -1.0; // if we cannot determine accuracy, return -1.
+ }
+
+ final double ratio = rssi * 1.0 / txPower;
+ if (ratio < 1.0) {
+ return Math.pow(ratio, 10);
+ } else {
+ return (0.89976) * Math.pow(ratio, 7.7095) + 0.111;
+ }
+ }
+
+ public static String calculateUuidString(final byte[] uuid) {
+ final StringBuilder sb = new StringBuilder();
+
+ for (int i = 0; i < uuid.length; i++) {
+ if (i == 4) {
+ sb.append('-');
+ }
+ if (i == 6) {
+ sb.append('-');
+ }
+ if (i == 8) {
+ sb.append('-');
+ }
+ if (i == 10) {
+ sb.append('-');
+ }
+
+ final int intFromByte = ByteUtils.getIntFromByte(uuid[i]);
+ if(intFromByte <= 0xF){
+ sb.append('0');
+ }
+ sb.append(Integer.toHexString(intFromByte));
+ }
+
+
+ return sb.toString();
+ }
+
+ public static IBeaconDistanceDescriptor getDistanceDescriptor(final double accuracy) {
+ if (accuracy < DISTANCE_THRESHOLD_WTF) {
+ return IBeaconDistanceDescriptor.UNKNOWN;
+ }
+
+ if (accuracy < DISTANCE_THRESHOLD_IMMEDIATE) {
+ return IBeaconDistanceDescriptor.IMMEDIATE;
+ }
+
+ if (accuracy < DISTANCE_THRESHOLD_NEAR) {
+ return IBeaconDistanceDescriptor.NEAR;
+ }
+
+ return IBeaconDistanceDescriptor.FAR;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/BluetoothClassResolver.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/BluetoothClassResolver.java
new file mode 100644
index 0000000..37d3204
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/BluetoothClassResolver.java
@@ -0,0 +1,142 @@
+package com.blakequ.bluetooth_manager_lib.device.resolvers;
+
+import android.bluetooth.BluetoothClass;
+
+public class BluetoothClassResolver {
+
+ public static String resolveDeviceClass(final int btClass) {
+ switch (btClass) {
+ case BluetoothClass.Device.AUDIO_VIDEO_CAMCORDER:
+ return "A/V, Camcorder";
+ case BluetoothClass.Device.AUDIO_VIDEO_CAR_AUDIO:
+ return "A/V, Car Audio";
+ case BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE:
+ return "A/V, Handsfree";
+ case BluetoothClass.Device.AUDIO_VIDEO_HEADPHONES:
+ return "A/V, Headphones";
+ case BluetoothClass.Device.AUDIO_VIDEO_HIFI_AUDIO:
+ return "A/V, HiFi Audio";
+ case BluetoothClass.Device.AUDIO_VIDEO_LOUDSPEAKER:
+ return "A/V, Loudspeaker";
+ case BluetoothClass.Device.AUDIO_VIDEO_MICROPHONE:
+ return "A/V, Microphone";
+ case BluetoothClass.Device.AUDIO_VIDEO_PORTABLE_AUDIO:
+ return "A/V, Portable Audio";
+ case BluetoothClass.Device.AUDIO_VIDEO_SET_TOP_BOX:
+ return "A/V, Set Top Box";
+ case BluetoothClass.Device.AUDIO_VIDEO_UNCATEGORIZED:
+ return "A/V, Uncategorized";
+ case BluetoothClass.Device.AUDIO_VIDEO_VCR:
+ return "A/V, VCR";
+ case BluetoothClass.Device.AUDIO_VIDEO_VIDEO_CAMERA:
+ return "A/V, Video Camera";
+ case BluetoothClass.Device.AUDIO_VIDEO_VIDEO_CONFERENCING:
+ return "A/V, Video Conferencing";
+ case BluetoothClass.Device.AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER:
+ return "A/V, Video Display and Loudspeaker";
+ case BluetoothClass.Device.AUDIO_VIDEO_VIDEO_GAMING_TOY:
+ return "A/V, Video Gaming Toy";
+ case BluetoothClass.Device.AUDIO_VIDEO_VIDEO_MONITOR:
+ return "A/V, Video Monitor";
+ case BluetoothClass.Device.AUDIO_VIDEO_WEARABLE_HEADSET:
+ return "A/V, Video Wearable Headset";
+ case BluetoothClass.Device.COMPUTER_DESKTOP:
+ return "Computer, Desktop";
+ case BluetoothClass.Device.COMPUTER_HANDHELD_PC_PDA:
+ return "Computer, Handheld PC/PDA";
+ case BluetoothClass.Device.COMPUTER_LAPTOP:
+ return "Computer, Laptop";
+ case BluetoothClass.Device.COMPUTER_PALM_SIZE_PC_PDA:
+ return "Computer, Palm Size PC/PDA";
+ case BluetoothClass.Device.COMPUTER_SERVER:
+ return "Computer, Server";
+ case BluetoothClass.Device.COMPUTER_UNCATEGORIZED:
+ return "Computer, Uncategorized";
+ case BluetoothClass.Device.COMPUTER_WEARABLE:
+ return "Computer, Wearable";
+ case BluetoothClass.Device.HEALTH_BLOOD_PRESSURE:
+ return "Health, Blood Pressure";
+ case BluetoothClass.Device.HEALTH_DATA_DISPLAY:
+ return "Health, Data Display";
+ case BluetoothClass.Device.HEALTH_GLUCOSE:
+ return "Health, Glucose";
+ case BluetoothClass.Device.HEALTH_PULSE_OXIMETER:
+ return "Health, Pulse Oximeter";
+ case BluetoothClass.Device.HEALTH_PULSE_RATE:
+ return "Health, Pulse Rate";
+ case BluetoothClass.Device.HEALTH_THERMOMETER:
+ return "Health, Thermometer";
+ case BluetoothClass.Device.HEALTH_UNCATEGORIZED:
+ return "Health, Uncategorized";
+ case BluetoothClass.Device.HEALTH_WEIGHING:
+ return "Health, Weighting";
+ case BluetoothClass.Device.PHONE_CELLULAR:
+ return "Phone, Cellular";
+ case BluetoothClass.Device.PHONE_CORDLESS:
+ return "Phone, Cordless";
+ case BluetoothClass.Device.PHONE_ISDN:
+ return "Phone, ISDN";
+ case BluetoothClass.Device.PHONE_MODEM_OR_GATEWAY:
+ return "Phone, Modem or Gateway";
+ case BluetoothClass.Device.PHONE_SMART:
+ return "Phone, Smart";
+ case BluetoothClass.Device.PHONE_UNCATEGORIZED:
+ return "Phone, Uncategorized";
+ case BluetoothClass.Device.TOY_CONTROLLER:
+ return "Toy, Controller";
+ case BluetoothClass.Device.TOY_DOLL_ACTION_FIGURE:
+ return "Toy, Doll/Action Figure";
+ case BluetoothClass.Device.TOY_GAME:
+ return "Toy, Game";
+ case BluetoothClass.Device.TOY_ROBOT:
+ return "Toy, Robot";
+ case BluetoothClass.Device.TOY_UNCATEGORIZED:
+ return "Toy, Uncategorized";
+ case BluetoothClass.Device.TOY_VEHICLE:
+ return "Toy, Vehicle";
+ case BluetoothClass.Device.WEARABLE_GLASSES:
+ return "Wearable, Glasses";
+ case BluetoothClass.Device.WEARABLE_HELMET:
+ return "Wearable, Helmet";
+ case BluetoothClass.Device.WEARABLE_JACKET:
+ return "Wearable, Jacket";
+ case BluetoothClass.Device.WEARABLE_PAGER:
+ return "Wearable, Pager";
+ case BluetoothClass.Device.WEARABLE_UNCATEGORIZED:
+ return "Wearable, Uncategorized";
+ case BluetoothClass.Device.WEARABLE_WRIST_WATCH:
+ return "Wearable, Wrist Watch";
+ default:
+ return "Unknown, Unknown (class=" + btClass + ")";
+ }
+ }
+
+ public static String resolveMajorDeviceClass(final int majorBtClass) {
+ switch (majorBtClass) {
+ case BluetoothClass.Device.Major.AUDIO_VIDEO:
+ return "Audio/ Video";
+ case BluetoothClass.Device.Major.COMPUTER:
+ return "Computer";
+ case BluetoothClass.Device.Major.HEALTH:
+ return "Health";
+ case BluetoothClass.Device.Major.IMAGING:
+ return "Imaging";
+ case BluetoothClass.Device.Major.MISC:
+ return "Misc";
+ case BluetoothClass.Device.Major.NETWORKING:
+ return "Networking";
+ case BluetoothClass.Device.Major.PERIPHERAL:
+ return "Peripheral";
+ case BluetoothClass.Device.Major.PHONE:
+ return "Phone";
+ case BluetoothClass.Device.Major.TOY:
+ return "Toy";
+ case BluetoothClass.Device.Major.UNCATEGORIZED:
+ return "Uncategorized";
+ case BluetoothClass.Device.Major.WEARABLE:
+ return "Wearable";
+ default:
+ return "Unknown (" +majorBtClass+ ")";
+ }
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/CompanyIdentifierResolver.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/CompanyIdentifierResolver.java
new file mode 100644
index 0000000..002d1dc
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/CompanyIdentifierResolver.java
@@ -0,0 +1,646 @@
+package com.blakequ.bluetooth_manager_lib.device.resolvers;
+
+import android.util.SparseArray;
+
+public class CompanyIdentifierResolver {
+ public static final int ERICSSON_TECHNOLOGY_LICENSING = 0x0000;
+ public static final int NOKIA_MOBILE_PHONES = 0x0001;
+ public static final int INTEL_CORP = 0x0002;
+ public static final int IBM_CORP = 0x0003;
+ public static final int TOSHIBA_CORP = 0x0004;
+ public static final int THREE_COM = 0x0005;
+ public static final int MICROSOFT = 0x0006;
+ public static final int LUCENT = 0x0007;
+ public static final int MOTOROLA = 0x0008;
+ public static final int INFINEON_TECHNOLOGIES_AG = 0x0009;
+ public static final int CAMBRIDGE_SILICON_RADIO = 0x000A;
+ public static final int SILICON_WAVE = 0x000B;
+ public static final int DIGIANSWER_A_S = 0x000C;
+ public static final int TEXAS_INSTRUMENTS_INC = 0x000D;
+ public static final int CEVA_INC_FORMERLY_PARTHUS_TECHNOLOGIES_INC = 0x000E;
+ public static final int BROADCOM_CORPORATION = 0x000F;
+ public static final int MITEL_SEMICONDUCTOR = 0x0010;
+ public static final int WIDCOMM_INC = 0x0011;
+ public static final int ZEEVO_INC = 0x0012;
+ public static final int ATMEL_CORPORATION = 0x0013;
+ public static final int MITSUBISHI_ELECTRIC_CORPORATION = 0x0014;
+ public static final int RTX_TELECOM_A_S = 0x0015;
+ public static final int KC_TECHNOLOGY_INC = 0x0016;
+ public static final int NEWLOGIC = 0x0017;
+ public static final int TRANSILICA_INC = 0x0018;
+ public static final int ROHDE_SCHWARZ_GMBH_CO_KG = 0x0019;
+ public static final int TTPCOM_LIMITED = 0x001A;
+ public static final int SIGNIA_TECHNOLOGIES_INC = 0x001B;
+ public static final int CONEXANT_SYSTEMS_INC = 0x001C;
+ public static final int QUALCOMM = 0x001D;
+ public static final int INVENTEL = 0x001E;
+ public static final int AVM_BERLIN = 0x001F;
+ public static final int BANDSPEED_INC = 0x0020;
+ public static final int MANSELLA_LTD = 0x0021;
+ public static final int NEC_CORPORATION = 0x0022;
+ public static final int WAVEPLUS_TECHNOLOGY_CO_LTD = 0x0023;
+ public static final int ALCATEL = 0x0024;
+ public static final int PHILIPS_SEMICONDUCTORS = 0x0025;
+ public static final int C_TECHNOLOGIES = 0x0026;
+ public static final int OPEN_INTERFACE = 0x0027;
+ public static final int R_F_MICRO_DEVICES = 0x0028;
+ public static final int HITACHI_LTD = 0x0029;
+ public static final int SYMBOL_TECHNOLOGIES_INC = 0x002A;
+ public static final int TENOVIS = 0x002B;
+ public static final int MACRONIX_INTERNATIONAL_CO_LTD = 0x002C;
+ public static final int GCT_SEMICONDUCTOR = 0x002D;
+ public static final int NORWOOD_SYSTEMS = 0x002E;
+ public static final int MEWTEL_TECHNOLOGY_INC = 0x002F;
+ public static final int ST_MICROELECTRONICS = 0x0030;
+ public static final int SYNOPSIS = 0x0031;
+ public static final int REDM_COMMUNICATIONS_LTD = 0x0032;
+ public static final int COMMIL_LTD = 0x0033;
+ public static final int COMPUTER_ACCESS_TECHNOLOGY_CORPORATION_CATC = 0x0034;
+ public static final int ECLIPSE_HQ_ESPANA_SL = 0x0035;
+ public static final int RENESAS_TECHNOLOGY_CORP = 0x0036;
+ public static final int MOBILIAN_CORPORATION = 0x0037;
+ public static final int TERAX = 0x0038;
+ public static final int INTEGRATED_SYSTEM_SOLUTION_CORP = 0x0039;
+ public static final int MATSUSHITA_ELECTRIC_INDUSTRIAL_CO_LTD = 0x003A;
+ public static final int GENNUM_CORPORATION = 0x003B;
+ public static final int RESEARCH_IN_MOTION = 0x003C;
+ public static final int IPEXTREME_INC = 0x003D;
+ public static final int SYSTEMS_AND_CHIPS_INC = 0x003E;
+ public static final int BLUETOOTH_SIG_INC = 0x003F;
+ public static final int SEIKO_EPSON_CORPORATION = 0x0040;
+ public static final int INTEGRATED_SILICON_SOLUTION_TAIWAN_INC = 0x0041;
+ public static final int CONWISE_TECHNOLOGY_CORPORATION_LTD = 0x0042;
+ public static final int PARROT_SA = 0x0043;
+ public static final int SOCKET_MOBILE = 0x0044;
+ public static final int ATHEROS_COMMUNICATIONS_INC = 0x0045;
+ public static final int MEDIATEK_INC = 0x0046;
+ public static final int BLUEGIGA = 0x0047;
+ public static final int MARVELL_TECHNOLOGY_GROUP_LTD = 0x0048;
+ public static final int THREE_DSP_CORPORATION = 0x0049;
+ public static final int ACCEL_SEMICONDUCTOR_LTD = 0x004A;
+ public static final int CONTINENTAL_AUTOMOTIVE_SYSTEMS = 0x004B;
+ public static final int APPLE_INC = 0x004C;
+ public static final int STACCATO_COMMUNICATIONS_INC = 0x004D;
+ public static final int AVAGO_TECHNOLOGIES = 0x004E;
+ public static final int APT_LICENSING_LTD = 0x004F;
+ public static final int SIRF_TECHNOLOGY = 0x0050;
+ public static final int TZERO_TECHNOLOGIES_INC = 0x0051;
+ public static final int JM_CORPORATION = 0x0052;
+ public static final int FREE2MOVE_AB = 0x0053;
+ public static final int THREE_DIJOY_CORPORATION = 0x0054;
+ public static final int PLANTRONICS_INC = 0x0055;
+ public static final int SONY_ERICSSON_MOBILE_COMMUNICATIONS = 0x0056;
+ public static final int HARMAN_INTERNATIONAL_INDUSTRIES_INC = 0x0057;
+ public static final int VIZIO_INC = 0x0058;
+ public static final int NORDIC_SEMICONDUCTOR_ASA = 0x0059;
+ public static final int EM_MICROELECTRONICMARIN_SA = 0x005A;
+ public static final int RALINK_TECHNOLOGY_CORPORATION = 0x005B;
+ public static final int BELKIN_INTERNATIONAL_INC = 0x005C;
+ public static final int REALTEK_SEMICONDUCTOR_CORPORATION = 0x005D;
+ public static final int STONESTREET_ONE_LLC = 0x005E;
+ public static final int WICENTRIC_INC = 0x005F;
+ public static final int RIVIERAWAVES_SAS = 0x0060;
+ public static final int RDA_MICROELECTRONICS = 0x0061;
+ public static final int GIBSON_GUITARS = 0x0062;
+ public static final int MICOMMAND_INC = 0x0063;
+ public static final int BAND_XI_INTERNATIONAL_LLC = 0x0064;
+ public static final int HEWLETTPACKARD_COMPANY = 0x0065;
+ public static final int NINE_SOLUTIONS_OY = 0x0066;
+ public static final int GN_NETCOM_A_S = 0x0067;
+ public static final int GENERAL_MOTORS = 0x0068;
+ public static final int AD_ENGINEERING_INC = 0x0069;
+ public static final int MINDTREE_LTD = 0x006A;
+ public static final int POLAR_ELECTRO_OY = 0x006B;
+ public static final int BEAUTIFUL_ENTERPRISE_CO_LTD = 0x006C;
+ public static final int BRIARTEK_INC = 0x006D;
+ public static final int SUMMIT_DATA_COMMUNICATIONS_INC = 0x006E;
+ public static final int SOUND_ID = 0x006F;
+ public static final int MONSTER_LLC = 0x0070;
+ public static final int CONNECTBLUE_AB = 0x0071;
+ public static final int SHANGHAI_SUPER_SMART_ELECTRONICS_CO_LTD = 0x0072;
+ public static final int GROUP_SENSE_LTD = 0x0073;
+ public static final int ZOMM_LLC = 0x0074;
+ public static final int SAMSUNG_ELECTRONICS_CO_LTD = 0x0075;
+ public static final int CREATIVE_TECHNOLOGY_LTD = 0x0076;
+ public static final int LAIRD_TECHNOLOGIES = 0x0077;
+ public static final int NIKE_INC = 0x0078;
+ public static final int LESSWIRE_AG = 0x0079;
+ public static final int MSTAR_SEMICONDUCTOR_INC = 0x007A;
+ public static final int HANLYNN_TECHNOLOGIES = 0x007B;
+ public static final int A_R_CAMBRIDGE = 0x007C;
+ public static final int SEERS_TECHNOLOGY_CO_LTD = 0x007D;
+ public static final int SPORTS_TRACKING_TECHNOLOGIES_LTD = 0x007E;
+ public static final int AUTONET_MOBILE = 0x007F;
+ public static final int DELORME_PUBLISHING_COMPANY_INC = 0x0080;
+ public static final int WUXI_VIMICRO = 0x0081;
+ public static final int SENNHEISER_COMMUNICATIONS_A_S = 0x0082;
+ public static final int TIMEKEEPING_SYSTEMS_INC = 0x0083;
+ public static final int LUDUS_HELSINKI_LTD = 0x0084;
+ public static final int BLUERADIOS_INC = 0x0085;
+ public static final int EQUINOX_AG = 0x0086;
+ public static final int GARMIN_INTERNATIONAL_INC = 0x0087;
+ public static final int ECOTEST = 0x0088;
+ public static final int GN_RESOUND_A_S = 0x0089;
+ public static final int JAWBONE = 0x008A;
+ public static final int TOPCORN_POSITIONING_SYSTEMS_LLC = 0x008B;
+ public static final int QUALCOMM_RETAIL_SOLUTIONS_INC_FORMERLY_QUALCOMM_LABS_INC = 0x008C;
+ public static final int ZSCAN_SOFTWARE = 0x008D;
+ public static final int QUINTIC_CORP = 0x008E;
+ public static final int STOLLMAN_EV_GMBH = 0x008F;
+ public static final int FUNAI_ELECTRIC_CO_LTD = 0x0090;
+ public static final int ADVANCED_PANMOBIL_SYSTEMS_GMBH_CO_KG = 0x0091;
+ public static final int THINKOPTICS_INC = 0x0092;
+ public static final int UNIVERSAL_ELECTRONICS_INC = 0x0093;
+ public static final int AIROHA_TECHNOLOGY_CORP = 0x0094;
+ public static final int NEC_LIGHTING_LTD = 0x0095;
+ public static final int ODM_TECHNOLOGY_INC = 0x0096;
+ public static final int CONNECTEDEVICE_LTD = 0x0097;
+ public static final int ZER01TV_GMBH = 0x0098;
+ public static final int ITECH_DYNAMIC_GLOBAL_DISTRIBUTION_LTD = 0x0099;
+ public static final int ALPWISE = 0x009A;
+ public static final int JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS_CO_LTD = 0x009B;
+ public static final int COLORFY_INC = 0x009C;
+ public static final int GEOFORCE_INC = 0x009D;
+ public static final int BOSE_CORPORATION = 0x009E;
+ public static final int SUUNTO_OY = 0x009F;
+ public static final int KENSINGTON_COMPUTER_PRODUCTS_GROUP = 0x00A0;
+ public static final int SRMEDIZINELEKTRONIK = 0x00A1;
+ public static final int VERTU_CORPORATION_LIMITED = 0x00A2;
+ public static final int META_WATCH_LTD = 0x00A3;
+ public static final int LINAK_A_S = 0x00A4;
+ public static final int OTL_DYNAMICS_LLC = 0x00A5;
+ public static final int PANDA_OCEAN_INC = 0x00A6;
+ public static final int VISTEON_CORPORATION = 0x00A7;
+ public static final int ARP_DEVICES_LIMITED = 0x00A8;
+ public static final int MAGNETI_MARELLI_SPA = 0x00A9;
+ public static final int CAEN_RFID_SRL = 0x00AA;
+ public static final int INGENIEURSYSTEMGRUPPE_ZAHN_GMBH = 0x00AB;
+ public static final int GREEN_THROTTLE_GAMES = 0x00AC;
+ public static final int PETER_SYSTEMTECHNIK_GMBH = 0x00AD;
+ public static final int OMEGAWAVE_OY = 0x00AE;
+ public static final int CINETIX = 0x00AF;
+ public static final int PASSIF_SEMICONDUCTOR_CORP = 0x00B0;
+ public static final int SARIS_CYCLING_GROUP_INC = 0x00B1;
+ public static final int BEKEY_A_S = 0x00B2;
+ public static final int CLARINOX_TECHNOLOGIES_PTY_LTD = 0x00B3;
+ public static final int BDE_TECHNOLOGY_CO_LTD = 0x00B4;
+ public static final int SWIRL_NETWORKS = 0x00B5;
+ public static final int MESO_INTERNATIONAL = 0x00B6;
+ public static final int TRELAB_LTD = 0x00B7;
+ public static final int QUALCOMM_INNOVATION_CENTER_INC_QUIC = 0x00B8;
+ public static final int JOHNSON_CONTROLS_INC = 0x00B9;
+ public static final int STARKEY_LABORATORIES_INC = 0x00BA;
+ public static final int SPOWER_ELECTRONICS_LIMITED = 0x00BB;
+ public static final int ACE_SENSOR_INC = 0x00BC;
+ public static final int APLIX_CORPORATION = 0x00BD;
+ public static final int AAMP_OF_AMERICA = 0x00BE;
+ public static final int STALMART_TECHNOLOGY_LIMITED = 0x00BF;
+ public static final int AMICCOM_ELECTRONICS_CORPORATION = 0x00C0;
+ public static final int SHENZHEN_EXCELSECU_DATA_TECHNOLOGY_COLTD = 0x00C1;
+ public static final int GENEQ_INC = 0x00C2;
+ public static final int ADIDAS_AG = 0x00C3;
+ public static final int LG_ELECTRONICS = 0x00C4;
+ public static final int ONSET_COMPUTER_CORPORATION = 0x00C5;
+ public static final int SELFLY_BV = 0x00C6;
+ public static final int QUUPPA_OY = 0x00C7;
+ public static final int GELO_INC = 0x00C8;
+ public static final int EVLUMA = 0x00C9;
+ public static final int MC10 = 0x00CA;
+ public static final int BINAURIC_SE = 0x00CB;
+ public static final int BEATS_ELECTRONICS = 0x00CC;
+ public static final int MICROCHIP_TECHNOLOGY_INC = 0x00CD;
+ public static final int ELGATO_SYSTEMS_GMBH = 0x00CE;
+ public static final int ARCHOS_SA = 0x00CF;
+ public static final int DEXCOM_INC = 0x00D0;
+ public static final int POLAR_ELECTRO_EUROPE_BV = 0x00D1;
+ public static final int DIALOG_SEMICONDUCTOR_BV = 0x00D2;
+ public static final int TAIXINGBANG_TECHNOLOGY_HK_CO_LTD = 0x00D3;
+ public static final int KAWANTECH = 0x00D4;
+ public static final int AUSTCO_COMMUNICATION_SYSTEMS = 0x00D5;
+ public static final int TIMEX_GROUP_USA_INC = 0x00D6;
+ public static final int QUALCOMM_TECHNOLOGIES_INC = 0x00D7;
+ public static final int QUALCOMM_CONNECTED_EXPERIENCES_INC = 0x00D8;
+ public static final int VOYETRA_TURTLE_BEACH = 0x00D9;
+ public static final int TXTR_GMBH = 0x00DA;
+ public static final int BIOSENTRONICS = 0x00DB;
+ public static final int PROCTER_GAMBLE = 0x00DC;
+ public static final int HOSIDEN_CORPORATION = 0x00DD;
+ public static final int MUZIK_LLC = 0x00DE;
+ public static final int MISFIT_WEARABLES_CORP = 0x00DF;
+ public static final int GOOGLE = 0x00E0;
+ public static final int DANLERS_LTD = 0x00E1;
+ public static final int SEMILINK_INC = 0x00E2;
+ public static final int INMUSIC_BRANDS_INC = 0x00E3;
+ public static final int LS_RESEARCH_INC = 0x00E4;
+ public static final int EDEN_SOFTWARE_CONSULTANTS_LTD = 0x00E5;
+ public static final int FRESHTEMP = 0x00E6;
+ public static final int KS_TECHNOLOGIES = 0x00E7;
+ public static final int ACTS_TECHNOLOGIES = 0x00E8;
+ public static final int VTRACK_SYSTEMS = 0x00E9;
+ public static final int NIELSENKELLERMAN_COMPANY = 0x00EA;
+ public static final int SERVER_TECHNOLOGY_INC = 0x00EB;
+ public static final int BIORESEARCH_ASSOCIATES = 0x00EC;
+ public static final int JOLLY_LOGIC_LLC = 0x00ED;
+ public static final int ABOVE_AVERAGE_OUTCOMES_INC = 0x00EE;
+ public static final int BITSPLITTERS_GMBH = 0x00EF;
+ public static final int PAYPAL_INC = 0x00F0;
+ public static final int WITRON_TECHNOLOGY_LIMITED = 0x00F1;
+ public static final int MORSE_PROJECT_INC = 0x00F2;
+ public static final int KENT_DISPLAYS_INC = 0x00F3;
+ public static final int NAUTILUS_INC = 0x00F4;
+ public static final int SMARTIFIER_OY = 0x00F5;
+ public static final int ELCOMETER_LIMITED = 0x00F6;
+ public static final int VSN_TECHNOLOGIES_INC = 0x00F7;
+ public static final int ACEUNI_CORP_LTD = 0x00F8;
+ public static final int STICKNFIND = 0x00F9;
+ public static final int CRYSTAL_CODE_AB = 0x00FA;
+ public static final int KOUKAAM_AS = 0x00FB;
+ public static final int DELPHI_CORPORATION = 0x00FC;
+ public static final int VALENCETECH_LIMITED = 0x00FD;
+ public static final int RESERVED = 0x00FE;
+ public static final int TYPO_PRODUCTS_LLC = 0x00FF;
+ public static final int TOMTOM_INTERNATIONAL_BV = 0x0100;
+ public static final int FUGOO_INC = 0x0101;
+ public static final int KEISER_CORPORATION = 0x0102;
+ public static final int BANG_OLUFSEN_A_S = 0x0103;
+ public static final int PLUS_LOCATIONS_SYSTEMS_PTY_LTD = 0x0104;
+ public static final int UBIQUITOUS_COMPUTING_TECHNOLOGY_CORPORATION = 0x0105;
+ public static final int INNOVATIVE_YACHTTER_SOLUTIONS = 0x0106;
+ public static final int WILLIAM_DEMANT_HOLDING_A_S = 0x0107;
+ public static final int CHICONY_ELECTRONICS_CO_LTD = 0x0108;
+ public static final int ATUS_BV = 0x0109;
+ public static final int CODEGATE_LTD = 0x010A;
+ public static final int ERI_INC = 0x010B;
+ public static final int TRANSDUCERS_DIRECT_LLC = 0x010C;
+ public static final int FUJITSU_TEN_LIMITED = 0x010D;
+ public static final int AUDI_AG = 0x010E;
+ public static final int HISILICON_TECHNOLOGIES_CO_LTD = 0x010F;
+ public static final int NIPPON_SEIKI_CO_LTD = 0x0110;
+ public static final int STEELSERIES_APS = 0x0111;
+ public static final int VYZYBL_INC = 0x0112;
+ public static final int OPENBRAIN_TECHNOLOGIES_CO_LTD = 0x0113;
+ public static final int XENSR = 0x0114;
+ public static final int ESOLUTIONS = 0x0115;
+ public static final int ONE_OAK_TECHNOLOGIES = 0x0116;
+ public static final int WIMOTO_TECHNOLOGIES_INC = 0x0117;
+ public static final int RADIUS_NETWORKS_INC = 0x0118;
+ public static final int WIZE_TECHNOLOGY_CO_LTD = 0x0119;
+ public static final int QUALCOMM_LABS_INC = 0x011A;
+ public static final int ARUBA_NETWORKS = 0x011B;
+ public static final int BAIDU = 0x011C;
+ public static final int ARENDI_AG = 0x011D;
+ public static final int SKODA_AUTO_AS = 0x011E;
+ public static final int VOLKSWAGON_AG = 0x011F;
+ public static final int PORSCHE_AG = 0x0120;
+ public static final int SINO_WEALTH_ELECTRONIC_LTD = 0x0121;
+ public static final int AIRTURN_INC = 0x0122;
+ public static final int KINSA_INC = 0x0123;
+ public static final int HID_GLOBAL = 0x0124;
+ public static final int SEAT_ES = 0x0125;
+ public static final int PROMETHEAN_LTD = 0x0126;
+ public static final int SALUTICA_ALLIED_SOLUTIONS = 0x0127;
+ public static final int GPSI_GROUP_PTY_LTD = 0x0128;
+ public static final int NIMBLE_DEVICES_OY = 0x0129;
+ public static final int CHANGZHOU_YONGSE_INFOTECH_CO_LTD = 0x012A;
+ public static final int SPORTIQ = 0x012B;
+ public static final int TEMEC_INSTRUMENTS_BV = 0x012C;
+ public static final int SONY_CORPORATION = 0x012D;
+ public static final int ASSA_ABLOY = 0x012E;
+ public static final int CLARION_CO_LTD = 0x012F;
+ public static final int WAREHOUSE_INNOVATIONS = 0x0130;
+ public static final int CYPRESS_SEMICONDUCTOR_CORPORATION = 0x0131;
+ public static final int MADS_INC = 0x0132;
+ public static final int BLUE_MAESTRO_LIMITED = 0x0133;
+ public static final int RESOLUTION_PRODUCTS_INC = 0x0134;
+ public static final int AIREWEAR_LLC = 0x0135;
+ public static final int ETC_SP_ZOO = 0x0136;
+ public static final int PRESTIGIO_PLAZA_LTD = 0x0137;
+
+ private static final SparseArray<String> COMPANY_NAME_MAP = populateCompanyNameMap();
+
+ public static String getCompanyName(final int companyId, final String fallback) {
+ final String name = COMPANY_NAME_MAP.get(companyId);
+ return name == null ? fallback : name;
+ }
+
+ private static SparseArray<String> populateCompanyNameMap() {
+ final SparseArray<String> map = new SparseArray<>();
+
+ map.put(ERICSSON_TECHNOLOGY_LICENSING, "Ericsson Technology Licensing");
+ map.put(NOKIA_MOBILE_PHONES, "Nokia Mobile Phones");
+ map.put(INTEL_CORP, "Intel Corp.");
+ map.put(IBM_CORP, "IBM Corp.");
+ map.put(TOSHIBA_CORP, "Toshiba Corp.");
+ map.put(THREE_COM, "3Com");
+ map.put(MICROSOFT, "Microsoft");
+ map.put(LUCENT, "Lucent");
+ map.put(MOTOROLA, "Motorola");
+ map.put(INFINEON_TECHNOLOGIES_AG, "Infineon Technologies AG");
+ map.put(CAMBRIDGE_SILICON_RADIO, "Cambridge Silicon Radio");
+ map.put(SILICON_WAVE, "Silicon Wave");
+ map.put(DIGIANSWER_A_S, "Digianswer A/S");
+ map.put(TEXAS_INSTRUMENTS_INC, "Texas Instruments Inc.");
+ map.put(CEVA_INC_FORMERLY_PARTHUS_TECHNOLOGIES_INC, "Ceva, Inc. (formerly Parthus Technologies, Inc.)");
+ map.put(BROADCOM_CORPORATION, "Broadcom Corporation");
+ map.put(MITEL_SEMICONDUCTOR, "Mitel Semiconductor");
+ map.put(WIDCOMM_INC, "Widcomm, Inc");
+ map.put(ZEEVO_INC, "Zeevo, Inc.");
+ map.put(ATMEL_CORPORATION, "Atmel Corporation");
+ map.put(MITSUBISHI_ELECTRIC_CORPORATION, "Mitsubishi Electric Corporation");
+ map.put(RTX_TELECOM_A_S, "RTX Telecom A/S");
+ map.put(KC_TECHNOLOGY_INC, "KC Technology Inc.");
+ map.put(NEWLOGIC, "NewLogic");
+ map.put(TRANSILICA_INC, "Transilica, Inc.");
+ map.put(ROHDE_SCHWARZ_GMBH_CO_KG, "Rohde & Schwarz GmbH & Co. KG");
+ map.put(TTPCOM_LIMITED, "TTPCom Limited");
+ map.put(SIGNIA_TECHNOLOGIES_INC, "Signia Technologies, Inc.");
+ map.put(CONEXANT_SYSTEMS_INC, "Conexant Systems Inc.");
+ map.put(QUALCOMM, "Qualcomm");
+ map.put(INVENTEL, "Inventel");
+ map.put(AVM_BERLIN, "AVM Berlin");
+ map.put(BANDSPEED_INC, "BandSpeed, Inc.");
+ map.put(MANSELLA_LTD, "Mansella Ltd");
+ map.put(NEC_CORPORATION, "NEC Corporation");
+ map.put(WAVEPLUS_TECHNOLOGY_CO_LTD, "WavePlus Technology Co., Ltd.");
+ map.put(ALCATEL, "Alcatel");
+ map.put(PHILIPS_SEMICONDUCTORS, "Philips Semiconductors");
+ map.put(C_TECHNOLOGIES, "C Technologies");
+ map.put(OPEN_INTERFACE, "Open Interface");
+ map.put(R_F_MICRO_DEVICES, "R F Micro Devices");
+ map.put(HITACHI_LTD, "Hitachi Ltd");
+ map.put(SYMBOL_TECHNOLOGIES_INC, "Symbol Technologies, Inc.");
+ map.put(TENOVIS, "Tenovis");
+ map.put(MACRONIX_INTERNATIONAL_CO_LTD, "Macronix International Co. Ltd.");
+ map.put(GCT_SEMICONDUCTOR, "GCT Semiconductor");
+ map.put(NORWOOD_SYSTEMS, "Norwood Systems");
+ map.put(MEWTEL_TECHNOLOGY_INC, "MewTel Technology Inc.");
+ map.put(ST_MICROELECTRONICS, "ST Microelectronics");
+ map.put(SYNOPSIS, "Synopsis");
+ map.put(REDM_COMMUNICATIONS_LTD, "Red-M (Communications) Ltd");
+ map.put(COMMIL_LTD, "Commil Ltd");
+ map.put(COMPUTER_ACCESS_TECHNOLOGY_CORPORATION_CATC, "Computer Access Technology Corporation (CATC)");
+ map.put(ECLIPSE_HQ_ESPANA_SL, "Eclipse (HQ Espana) S.L.");
+ map.put(RENESAS_TECHNOLOGY_CORP, "Renesas Technology Corp.");
+ map.put(MOBILIAN_CORPORATION, "Mobilian Corporation");
+ map.put(TERAX, "Terax");
+ map.put(INTEGRATED_SYSTEM_SOLUTION_CORP, "Integrated System Solution Corp.");
+ map.put(MATSUSHITA_ELECTRIC_INDUSTRIAL_CO_LTD, "Matsushita Electric Industrial Co., Ltd.");
+ map.put(GENNUM_CORPORATION, "Gennum Corporation");
+ map.put(RESEARCH_IN_MOTION, "Research In Motion");
+ map.put(IPEXTREME_INC, "IPextreme, Inc.");
+ map.put(SYSTEMS_AND_CHIPS_INC, "Systems and Chips, Inc.");
+ map.put(BLUETOOTH_SIG_INC, "Bluetooth SIG, Inc.");
+ map.put(SEIKO_EPSON_CORPORATION, "Seiko Epson Corporation");
+ map.put(INTEGRATED_SILICON_SOLUTION_TAIWAN_INC, "Integrated Silicon Solution Taiwan, Inc.");
+ map.put(CONWISE_TECHNOLOGY_CORPORATION_LTD, "CONWISE Technology Corporation Ltd");
+ map.put(PARROT_SA, "PARROT SA");
+ map.put(SOCKET_MOBILE, "Socket Mobile");
+ map.put(ATHEROS_COMMUNICATIONS_INC, "Atheros Communications, Inc.");
+ map.put(MEDIATEK_INC, "MediaTek, Inc.");
+ map.put(BLUEGIGA, "Bluegiga");
+ map.put(MARVELL_TECHNOLOGY_GROUP_LTD, "Marvell Technology Group Ltd.");
+ map.put(THREE_DSP_CORPORATION, "3DSP Corporation");
+ map.put(ACCEL_SEMICONDUCTOR_LTD, "Accel Semiconductor Ltd.");
+ map.put(CONTINENTAL_AUTOMOTIVE_SYSTEMS, "Continental Automotive Systems");
+ map.put(APPLE_INC, "Apple, Inc.");
+ map.put(STACCATO_COMMUNICATIONS_INC, "Staccato Communications, Inc.");
+ map.put(AVAGO_TECHNOLOGIES, "Avago Technologies");
+ map.put(APT_LICENSING_LTD, "APT Licensing Ltd.");
+ map.put(SIRF_TECHNOLOGY, "SiRF Technology");
+ map.put(TZERO_TECHNOLOGIES_INC, "Tzero Technologies, Inc.");
+ map.put(JM_CORPORATION, "J&M Corporation");
+ map.put(FREE2MOVE_AB, "Free2move AB");
+ map.put(THREE_DIJOY_CORPORATION, "3DiJoy Corporation");
+ map.put(PLANTRONICS_INC, "Plantronics, Inc.");
+ map.put(SONY_ERICSSON_MOBILE_COMMUNICATIONS, "Sony Ericsson Mobile Communications");
+ map.put(HARMAN_INTERNATIONAL_INDUSTRIES_INC, "Harman International Industries, Inc.");
+ map.put(VIZIO_INC, "Vizio, Inc.");
+ map.put(NORDIC_SEMICONDUCTOR_ASA, "Nordic Semiconductor ASA");
+ map.put(EM_MICROELECTRONICMARIN_SA, "EM Microelectronic-Marin SA");
+ map.put(RALINK_TECHNOLOGY_CORPORATION, "Ralink Technology Corporation");
+ map.put(BELKIN_INTERNATIONAL_INC, "Belkin International, Inc.");
+ map.put(REALTEK_SEMICONDUCTOR_CORPORATION, "Realtek Semiconductor Corporation");
+ map.put(STONESTREET_ONE_LLC, "Stonestreet One, LLC");
+ map.put(WICENTRIC_INC, "Wicentric, Inc.");
+ map.put(RIVIERAWAVES_SAS, "RivieraWaves S.A.S");
+ map.put(RDA_MICROELECTRONICS, "RDA Microelectronics");
+ map.put(GIBSON_GUITARS, "Gibson Guitars");
+ map.put(MICOMMAND_INC, "MiCommand Inc.");
+ map.put(BAND_XI_INTERNATIONAL_LLC, "Band XI International, LLC");
+ map.put(HEWLETTPACKARD_COMPANY, "Hewlett-Packard Company");
+ map.put(NINE_SOLUTIONS_OY, "9Solutions Oy");
+ map.put(GN_NETCOM_A_S, "GN Netcom A/S");
+ map.put(GENERAL_MOTORS, "General Motors");
+ map.put(AD_ENGINEERING_INC, "A&D Engineering, Inc.");
+ map.put(MINDTREE_LTD, "MindTree Ltd.");
+ map.put(POLAR_ELECTRO_OY, "Polar Electro OY");
+ map.put(BEAUTIFUL_ENTERPRISE_CO_LTD, "Beautiful Enterprise Co., Ltd.");
+ map.put(BRIARTEK_INC, "BriarTek, Inc.");
+ map.put(SUMMIT_DATA_COMMUNICATIONS_INC, "Summit Data Communications, Inc.");
+ map.put(SOUND_ID, "Sound ID");
+ map.put(MONSTER_LLC, "Monster, LLC");
+ map.put(CONNECTBLUE_AB, "connectBlue AB");
+ map.put(SHANGHAI_SUPER_SMART_ELECTRONICS_CO_LTD, "ShangHai Super Smart Electronics Co. Ltd.");
+ map.put(GROUP_SENSE_LTD, "Group Sense Ltd.");
+ map.put(ZOMM_LLC, "Zomm, LLC");
+ map.put(SAMSUNG_ELECTRONICS_CO_LTD, "Samsung Electronics Co. Ltd.");
+ map.put(CREATIVE_TECHNOLOGY_LTD, "Creative Technology Ltd.");
+ map.put(LAIRD_TECHNOLOGIES, "Laird Technologies");
+ map.put(NIKE_INC, "Nike, Inc.");
+ map.put(LESSWIRE_AG, "lesswire AG");
+ map.put(MSTAR_SEMICONDUCTOR_INC, "MStar Semiconductor, Inc.");
+ map.put(HANLYNN_TECHNOLOGIES, "Hanlynn Technologies");
+ map.put(A_R_CAMBRIDGE, "A & R Cambridge");
+ map.put(SEERS_TECHNOLOGY_CO_LTD, "Seers Technology Co. Ltd");
+ map.put(SPORTS_TRACKING_TECHNOLOGIES_LTD, "Sports Tracking Technologies Ltd.");
+ map.put(AUTONET_MOBILE, "Autonet Mobile");
+ map.put(DELORME_PUBLISHING_COMPANY_INC, "DeLorme Publishing Company, Inc.");
+ map.put(WUXI_VIMICRO, "WuXi Vimicro");
+ map.put(SENNHEISER_COMMUNICATIONS_A_S, "Sennheiser Communications A/S");
+ map.put(TIMEKEEPING_SYSTEMS_INC, "TimeKeeping Systems, Inc.");
+ map.put(LUDUS_HELSINKI_LTD, "Ludus Helsinki Ltd.");
+ map.put(BLUERADIOS_INC, "BlueRadios, Inc.");
+ map.put(EQUINOX_AG, "equinox AG");
+ map.put(GARMIN_INTERNATIONAL_INC, "Garmin International, Inc.");
+ map.put(ECOTEST, "Ecotest");
+ map.put(GN_RESOUND_A_S, "GN ReSound A/S");
+ map.put(JAWBONE, "Jawbone");
+ map.put(TOPCORN_POSITIONING_SYSTEMS_LLC, "Topcorn Positioning Systems, LLC");
+ map.put(QUALCOMM_RETAIL_SOLUTIONS_INC_FORMERLY_QUALCOMM_LABS_INC, "Qualcomm Retail Solutions, Inc. (formerly Qualcomm Labs, Inc.)");
+ map.put(ZSCAN_SOFTWARE, "Zscan Software");
+ map.put(QUINTIC_CORP, "Quintic Corp.");
+ map.put(STOLLMAN_EV_GMBH, "Stollman E+V GmbH");
+ map.put(FUNAI_ELECTRIC_CO_LTD, "Funai Electric Co., Ltd.");
+ map.put(ADVANCED_PANMOBIL_SYSTEMS_GMBH_CO_KG, "Advanced PANMOBIL Systems GmbH & Co. KG");
+ map.put(THINKOPTICS_INC, "ThinkOptics, Inc.");
+ map.put(UNIVERSAL_ELECTRONICS_INC, "Universal Electronics, Inc.");
+ map.put(AIROHA_TECHNOLOGY_CORP, "Airoha Technology Corp.");
+ map.put(NEC_LIGHTING_LTD, "NEC Lighting, Ltd.");
+ map.put(ODM_TECHNOLOGY_INC, "ODM Technology, Inc.");
+ map.put(CONNECTEDEVICE_LTD, "ConnecteDevice Ltd.");
+ map.put(ZER01TV_GMBH, "zer01.tv GmbH");
+ map.put(ITECH_DYNAMIC_GLOBAL_DISTRIBUTION_LTD, "i.Tech Dynamic Global Distribution Ltd.");
+ map.put(ALPWISE, "Alpwise");
+ map.put(JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS_CO_LTD, "Jiangsu Toppower Automotive Electronics Co., Ltd.");
+ map.put(COLORFY_INC, "Colorfy, Inc.");
+ map.put(GEOFORCE_INC, "Geoforce Inc.");
+ map.put(BOSE_CORPORATION, "Bose Corporation");
+ map.put(SUUNTO_OY, "Suunto Oy");
+ map.put(KENSINGTON_COMPUTER_PRODUCTS_GROUP, "Kensington Computer Products Group");
+ map.put(SRMEDIZINELEKTRONIK, "SR-Medizinelektronik");
+ map.put(VERTU_CORPORATION_LIMITED, "Vertu Corporation Limited");
+ map.put(META_WATCH_LTD, "Meta Watch Ltd.");
+ map.put(LINAK_A_S, "LINAK A/S");
+ map.put(OTL_DYNAMICS_LLC, "OTL Dynamics LLC");
+ map.put(PANDA_OCEAN_INC, "Panda Ocean Inc.");
+ map.put(VISTEON_CORPORATION, "Visteon Corporation");
+ map.put(ARP_DEVICES_LIMITED, "ARP Devices Limited");
+ map.put(MAGNETI_MARELLI_SPA, "Magneti Marelli S.p.A");
+ map.put(CAEN_RFID_SRL, "CAEN RFID srl");
+ map.put(INGENIEURSYSTEMGRUPPE_ZAHN_GMBH, "Ingenieur-Systemgruppe Zahn GmbH");
+ map.put(GREEN_THROTTLE_GAMES, "Green Throttle Games");
+ map.put(PETER_SYSTEMTECHNIK_GMBH, "Peter Systemtechnik GmbH");
+ map.put(OMEGAWAVE_OY, "Omegawave Oy");
+ map.put(CINETIX, "Cinetix");
+ map.put(PASSIF_SEMICONDUCTOR_CORP, "Passif Semiconductor Corp");
+ map.put(SARIS_CYCLING_GROUP_INC, "Saris Cycling Group, Inc");
+ map.put(BEKEY_A_S, "Bekey A/S");
+ map.put(CLARINOX_TECHNOLOGIES_PTY_LTD, "Clarinox Technologies Pty. Ltd.");
+ map.put(BDE_TECHNOLOGY_CO_LTD, "BDE Technology Co., Ltd.");
+ map.put(SWIRL_NETWORKS, "Swirl Networks");
+ map.put(MESO_INTERNATIONAL, "Meso international");
+ map.put(TRELAB_LTD, "TreLab Ltd");
+ map.put(QUALCOMM_INNOVATION_CENTER_INC_QUIC, "Qualcomm Innovation Center, Inc. (QuIC)");
+ map.put(JOHNSON_CONTROLS_INC, "Johnson Controls, Inc.");
+ map.put(STARKEY_LABORATORIES_INC, "Starkey Laboratories Inc.");
+ map.put(SPOWER_ELECTRONICS_LIMITED, "S-Power Electronics Limited");
+ map.put(ACE_SENSOR_INC, "Ace Sensor Inc");
+ map.put(APLIX_CORPORATION, "Aplix Corporation");
+ map.put(AAMP_OF_AMERICA, "AAMP of America");
+ map.put(STALMART_TECHNOLOGY_LIMITED, "Stalmart Technology Limited");
+ map.put(AMICCOM_ELECTRONICS_CORPORATION, "AMICCOM Electronics Corporation");
+ map.put(SHENZHEN_EXCELSECU_DATA_TECHNOLOGY_COLTD, "Shenzhen Excelsecu Data Technology Co.,Ltd");
+ map.put(GENEQ_INC, "Geneq Inc.");
+ map.put(ADIDAS_AG, "adidas AG");
+ map.put(LG_ELECTRONICS, "LG Electronics");
+ map.put(ONSET_COMPUTER_CORPORATION, "Onset Computer Corporation");
+ map.put(SELFLY_BV, "Selfly BV");
+ map.put(QUUPPA_OY, "Quuppa Oy.");
+ map.put(GELO_INC, "GeLo Inc");
+ map.put(EVLUMA, "Evluma");
+ map.put(MC10, "MC10");
+ map.put(BINAURIC_SE, "Binauric SE");
+ map.put(BEATS_ELECTRONICS, "Beats Electronics");
+ map.put(MICROCHIP_TECHNOLOGY_INC, "Microchip Technology Inc.");
+ map.put(ELGATO_SYSTEMS_GMBH, "Elgato Systems GmbH");
+ map.put(ARCHOS_SA, "ARCHOS SA");
+ map.put(DEXCOM_INC, "Dexcom, Inc.");
+ map.put(POLAR_ELECTRO_EUROPE_BV, "Polar Electro Europe B.V.");
+ map.put(DIALOG_SEMICONDUCTOR_BV, "Dialog Semiconductor B.V.");
+ map.put(TAIXINGBANG_TECHNOLOGY_HK_CO_LTD, "Taixingbang聽Technology (HK) Co,. LTD.");
+ map.put(KAWANTECH, "Kawantech");
+ map.put(AUSTCO_COMMUNICATION_SYSTEMS, "Austco Communication Systems");
+ map.put(TIMEX_GROUP_USA_INC, "Timex Group USA, Inc.");
+ map.put(QUALCOMM_TECHNOLOGIES_INC, "Qualcomm Technologies, Inc.");
+ map.put(QUALCOMM_CONNECTED_EXPERIENCES_INC, "Qualcomm Connected Experiences, Inc.");
+ map.put(VOYETRA_TURTLE_BEACH, "Voyetra Turtle Beach");
+ map.put(TXTR_GMBH, "txtr GmbH");
+ map.put(BIOSENTRONICS, "Biosentronics");
+ map.put(PROCTER_GAMBLE, "Procter & Gamble");
+ map.put(HOSIDEN_CORPORATION, "Hosiden Corporation");
+ map.put(MUZIK_LLC, "Muzik LLC");
+ map.put(MISFIT_WEARABLES_CORP, "Misfit Wearables Corp");
+ map.put(GOOGLE, "Google");
+ map.put(DANLERS_LTD, "Danlers Ltd");
+ map.put(SEMILINK_INC, "Semilink Inc");
+ map.put(INMUSIC_BRANDS_INC, "inMusic Brands, Inc");
+ map.put(LS_RESEARCH_INC, "L.S. Research Inc.");
+ map.put(EDEN_SOFTWARE_CONSULTANTS_LTD, "Eden Software Consultants Ltd.");
+ map.put(FRESHTEMP, "Freshtemp");
+ map.put(KS_TECHNOLOGIES, "KS Technologies");
+ map.put(ACTS_TECHNOLOGIES, "ACTS Technologies");
+ map.put(VTRACK_SYSTEMS, "Vtrack Systems");
+ map.put(NIELSENKELLERMAN_COMPANY, "Nielsen-Kellerman Company");
+ map.put(SERVER_TECHNOLOGY_INC, "Server Technology, Inc.");
+ map.put(BIORESEARCH_ASSOCIATES, "BioResearch Associates");
+ map.put(JOLLY_LOGIC_LLC, "Jolly Logic, LLC");
+ map.put(ABOVE_AVERAGE_OUTCOMES_INC, "Above Average Outcomes, Inc.");
+ map.put(BITSPLITTERS_GMBH, "Bitsplitters GmbH");
+ map.put(PAYPAL_INC, "PayPal, Inc.");
+ map.put(WITRON_TECHNOLOGY_LIMITED, "Witron Technology Limited");
+ map.put(MORSE_PROJECT_INC, "Morse Project Inc.");
+ map.put(KENT_DISPLAYS_INC, "Kent Displays Inc.");
+ map.put(NAUTILUS_INC, "Nautilus Inc.");
+ map.put(SMARTIFIER_OY, "Smartifier Oy");
+ map.put(ELCOMETER_LIMITED, "Elcometer Limited");
+ map.put(VSN_TECHNOLOGIES_INC, "VSN Technologies Inc.");
+ map.put(ACEUNI_CORP_LTD, "AceUni Corp., Ltd.");
+ map.put(STICKNFIND, "StickNFind");
+ map.put(CRYSTAL_CODE_AB, "Crystal Code AB");
+ map.put(KOUKAAM_AS, "KOUKAAM a.s.");
+ map.put(DELPHI_CORPORATION, "Delphi Corporation");
+ map.put(VALENCETECH_LIMITED, "ValenceTech Limited");
+ map.put(RESERVED, "Reserved");
+ map.put(TYPO_PRODUCTS_LLC, "Typo Products, LLC");
+ map.put(TOMTOM_INTERNATIONAL_BV, "TomTom International BV");
+ map.put(FUGOO_INC, "Fugoo, Inc");
+ map.put(KEISER_CORPORATION, "Keiser Corporation");
+ map.put(BANG_OLUFSEN_A_S, "Bang & Olufsen A/S");
+ map.put(PLUS_LOCATIONS_SYSTEMS_PTY_LTD, "PLUS Locations Systems Pty Ltd");
+ map.put(UBIQUITOUS_COMPUTING_TECHNOLOGY_CORPORATION, "Ubiquitous Computing Technology Corporation");
+ map.put(INNOVATIVE_YACHTTER_SOLUTIONS, "Innovative Yachtter Solutions");
+ map.put(WILLIAM_DEMANT_HOLDING_A_S, "William Demant Holding A/S");
+ map.put(CHICONY_ELECTRONICS_CO_LTD, "Chicony Electronics Co., Ltd.");
+ map.put(ATUS_BV, "Atus BV");
+ map.put(CODEGATE_LTD, "Codegate Ltd.");
+ map.put(ERI_INC, "ERi, Inc.");
+ map.put(TRANSDUCERS_DIRECT_LLC, "Transducers Direct, LLC");
+ map.put(FUJITSU_TEN_LIMITED, "Fujitsu Ten Limited");
+ map.put(AUDI_AG, "Audi AG");
+ map.put(HISILICON_TECHNOLOGIES_CO_LTD, "HiSilicon Technologies Co., Ltd.");
+ map.put(NIPPON_SEIKI_CO_LTD, "Nippon Seiki Co., Ltd.");
+ map.put(STEELSERIES_APS, "Steelseries ApS");
+ map.put(VYZYBL_INC, "vyzybl Inc.");
+ map.put(OPENBRAIN_TECHNOLOGIES_CO_LTD, "Openbrain Technologies, Co., Ltd.");
+ map.put(XENSR, "Xensr");
+ map.put(ESOLUTIONS, "e.solutions");
+ map.put(ONE_OAK_TECHNOLOGIES, "1OAK Technologies");
+ map.put(WIMOTO_TECHNOLOGIES_INC, "Wimoto Technologies Inc");
+ map.put(RADIUS_NETWORKS_INC, "Radius Networks, Inc.");
+ map.put(WIZE_TECHNOLOGY_CO_LTD, "Wize Technology Co., Ltd.");
+ map.put(QUALCOMM_LABS_INC, "Qualcomm Labs, Inc.");
+ map.put(ARUBA_NETWORKS, "Aruba Networks");
+ map.put(BAIDU, "Baidu");
+ map.put(ARENDI_AG, "Arendi AG");
+ map.put(SKODA_AUTO_AS, "Skoda Auto a.s.");
+ map.put(VOLKSWAGON_AG, "Volkswagon AG");
+ map.put(PORSCHE_AG, "Porsche AG");
+ map.put(SINO_WEALTH_ELECTRONIC_LTD, "Sino Wealth Electronic Ltd.");
+ map.put(AIRTURN_INC, "AirTurn, Inc.");
+ map.put(KINSA_INC, "Kinsa, Inc.");
+ map.put(HID_GLOBAL, "HID Global");
+ map.put(SEAT_ES, "SEAT es");
+ map.put(PROMETHEAN_LTD, "Promethean Ltd.");
+ map.put(SALUTICA_ALLIED_SOLUTIONS, "Salutica Allied Solutions");
+ map.put(GPSI_GROUP_PTY_LTD, "GPSI Group Pty Ltd");
+ map.put(NIMBLE_DEVICES_OY, "Nimble Devices Oy");
+ map.put(CHANGZHOU_YONGSE_INFOTECH_CO_LTD, "Changzhou Yongse Infotech Co., Ltd");
+ map.put(SPORTIQ, "SportIQ");
+ map.put(TEMEC_INSTRUMENTS_BV, "TEMEC Instruments B.V.");
+ map.put(SONY_CORPORATION, "Sony Corporation");
+ map.put(ASSA_ABLOY, "ASSA ABLOY");
+ map.put(CLARION_CO_LTD, "Clarion Co., Ltd.");
+ map.put(WAREHOUSE_INNOVATIONS, "Warehouse Innovations");
+ map.put(CYPRESS_SEMICONDUCTOR_CORPORATION, "Cypress Semiconductor Corporation");
+ map.put(MADS_INC, "MADS Inc");
+ map.put(BLUE_MAESTRO_LIMITED, "Blue Maestro Limited");
+ map.put(RESOLUTION_PRODUCTS_INC, "Resolution Products, Inc.");
+ map.put(AIREWEAR_LLC, "Airewear LLC");
+ map.put(ETC_SP_ZOO, "ETC sp. z.o.o.");
+ map.put(PRESTIGIO_PLAZA_LTD, "Prestigio Plaza Ltd.");
+
+ return map;
+ }
+
+
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/GattAttributeResolver.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/GattAttributeResolver.java
new file mode 100644
index 0000000..a554b87
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/device/resolvers/GattAttributeResolver.java
@@ -0,0 +1,380 @@
+package com.blakequ.bluetooth_manager_lib.device.resolvers;
+
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * The UUIDS have been collected from the following sources:
+ * <p>
+ * - http://developer.nokia.com/community/wiki/Bluetooth_Services_for_Windows_Phone
+ * - The Bluez project
+ *
+ * @author Alexandros Schillings
+ */
+public class GattAttributeResolver {
+ public static final String BASE_GUID = "00000000-0000-1000-8000-00805f9b34fb";
+ public static final String SERVICE_DISCOVERY_PROTOCOL_SDP = "00000001-0000-1000-8000-00805f9b34fb";
+ public static final String USER_DATAGRAM_PROTOCOL_UDP = "00000002-0000-1000-8000-00805f9b34fb";
+ public static final String RADIO_FREQUENCY_COMMUNICATION_PROTOCOL_RFCOMM = "00000003-0000-1000-8000-00805f9b34fb";
+ public static final String TCP = "00000004-0000-1000-8000-00805f9b34fb";
+ public static final String TCSBIN = "00000005-0000-1000-8000-00805f9b34fb";
+ public static final String TCSAT = "00000006-0000-1000-8000-00805f9b34fb";
+ public static final String OBJECT_EXCHANGE_PROTOCOL_OBEX = "00000008-0000-1000-8000-00805f9b34fb";
+ public static final String IP = "00000009-0000-1000-8000-00805f9b34fb";
+ public static final String FTP = "0000000a-0000-1000-8000-00805f9b34fb";
+ public static final String HTTP = "0000000c-0000-1000-8000-00805f9b34fb";
+ public static final String WSP = "0000000e-0000-1000-8000-00805f9b34fb";
+ public static final String BNEP_SVC = "0000000f-0000-1000-8000-00805f9b34fb";
+ public static final String UPNP_PROTOCOL = "00000010-0000-1000-8000-00805f9b34fb";
+ public static final String HIDP = "00000011-0000-1000-8000-00805f9b34fb";
+ public static final String HARDCOPY_CONTROL_CHANNEL_PROTOCOL = "00000012-0000-1000-8000-00805f9b34fb";
+ public static final String HARDCOPY_DATA_CHANNEL_PROTOCOL = "00000014-0000-1000-8000-00805f9b34fb";
+ public static final String HARDCOPY_NOTIFICATION_PROTOCOL = "00000016-0000-1000-8000-00805f9b34fb";
+ public static final String VCTP_PROTOCOL = "00000017-0000-1000-8000-00805f9b34fb";
+ public static final String VDTP_PROTOCOL = "00000019-0000-1000-8000-00805f9b34fb";
+ public static final String CMPT_PROTOCOL = "0000001b-0000-1000-8000-00805f9b34fb";
+ public static final String UDI_C_PLANE_PROTOCOL = "0000001d-0000-1000-8000-00805f9b34fb";
+ public static final String MCAP_CONTROL_CHANNEL = "0000001e-0000-1000-8000-00805f9b34fb";
+ public static final String MCAP_DATA_CHANNEL = "0000001f-0000-1000-8000-00805f9b34fb";
+ public static final String L2CAP = "00000100-0000-1000-8000-00805f9b34fb";
+ public static final String SERVICE_DISCOVERY_SERVER = "00001000-0000-1000-8000-00805f9b34fb";
+ public static final String BROWSE_GROUP_DESCRIPTOR = "00001001-0000-1000-8000-00805f9b34fb";
+ public static final String PUBLIC_BROWSE_GROUP = "00001002-0000-1000-8000-00805f9b34fb";
+ public static final String SPP = "00001101-0000-1000-8000-00805f9b34fb";
+ public static final String LAN_ACCESS_USING_PPP = "00001102-0000-1000-8000-00805f9b34fb";
+ public static final String DUN_GW = "00001103-0000-1000-8000-00805f9b34fb";
+ public static final String OBEX_SYNC = "00001104-0000-1000-8000-00805f9b34fb";
+ public static final String OBEX_OBJECT_PUSH = "00001105-0000-1000-8000-00805f9b34fb";
+ public static final String OBEX_FILE_TRANSFER = "00001106-0000-1000-8000-00805f9b34fb";
+ public static final String IRMC_SYNC_COMMAND = "00001107-0000-1000-8000-00805f9b34fb";
+ public static final String HSP_HS = "00001108-0000-1000-8000-00805f9b34fb";
+ public static final String CORDLESS_TELEPHONY = "00001109-0000-1000-8000-00805f9b34fb";
+ public static final String AUDIO_SOURCE = "0000110a-0000-1000-8000-00805f9b34fb";
+ public static final String AUDIO_SINK = "0000110b-0000-1000-8000-00805f9b34fb";
+ public static final String AV_REMOTE_CONTROL_TARGET = "0000110c-0000-1000-8000-00805f9b34fb";
+ public static final String ADVANCED_AUDIO = "0000110d-0000-1000-8000-00805f9b34fb";
+ public static final String AVRCP_REMOTE = "0000110e-0000-1000-8000-00805f9b34fb";
+ public static final String VIDEO_CONFERENCING = "0000110f-0000-1000-8000-00805f9b34fb";
+ public static final String INTERCOM = "00001110-0000-1000-8000-00805f9b34fb";
+ public static final String FAX = "00001111-0000-1000-8000-00805f9b34fb";
+ public static final String HEADSET_PROFILE_HSP_AUDIO_GATEWAY = "00001112-0000-1000-8000-00805f9b34fb";
+ public static final String WAP = "00001113-0000-1000-8000-00805f9b34fb";
+ public static final String WAP_CLIENT = "00001114-0000-1000-8000-00805f9b34fb";
+ public static final String PANU = "00001115-0000-1000-8000-00805f9b34fb";
+ public static final String NAP = "00001116-0000-1000-8000-00805f9b34fb";
+ public static final String GN = "00001117-0000-1000-8000-00805f9b34fb";
+ public static final String DIRECT_PRINTING = "00001118-0000-1000-8000-00805f9b34fb";
+ public static final String REFERENCE_PRINTING = "00001119-0000-1000-8000-00805f9b34fb";
+ public static final String IMAGING = "0000111a-0000-1000-8000-00805f9b34fb";
+ public static final String IMAGING_RESPONDER = "0000111b-0000-1000-8000-00805f9b34fb";
+ public static final String IMAGING_AUTOMATIC_ARCHIVE = "0000111c-0000-1000-8000-00805f9b34fb";
+ public static final String IMAGING_REFERENCE_OBJECTS = "0000111d-0000-1000-8000-00805f9b34fb";
+ public static final String HANDS_FREE_PROFILE_HFP = "0000111e-0000-1000-8000-00805f9b34fb";
+ public static final String HANDS_FREE_PROFILE_HFP_AUDIO_GATEWAY = "0000111f-0000-1000-8000-00805f9b34fb";
+ public static final String DIRECT_PRINTING_REFERENCE_OBJECTS = "00001120-0000-1000-8000-00805f9b34fb";
+ public static final String REFLECTED_UI = "00001121-0000-1000-8000-00805f9b34fb";
+ public static final String BASIC_PRINTING = "00001122-0000-1000-8000-00805f9b34fb";
+ public static final String PRINTING_STATUS = "00001123-0000-1000-8000-00805f9b34fb";
+ public static final String HID = "00001124-0000-1000-8000-00805f9b34fb";
+ public static final String HARDCOPY_CABLE_REPLACEMENT = "00001125-0000-1000-8000-00805f9b34fb";
+ public static final String HCR_PRINT = "00001126-0000-1000-8000-00805f9b34fb";
+ public static final String HCR_SCAN = "00001127-0000-1000-8000-00805f9b34fb";
+ public static final String COMMON_ISDN_ACCESS = "00001128-0000-1000-8000-00805f9b34fb";
+ public static final String VIDEO_CONFERENCING_GATEWAY = "00001129-0000-1000-8000-00805f9b34fb";
+ public static final String UDIMT = "0000112a-0000-1000-8000-00805f9b34fb";
+ public static final String UDITA = "0000112b-0000-1000-8000-00805f9b34fb";
+ public static final String AUDIO_VIDEO = "0000112c-0000-1000-8000-00805f9b34fb";
+ public static final String SIM_ACCESS = "0000112d-0000-1000-8000-00805f9b34fb";
+ public static final String OBEX_PCE = "0000112e-0000-1000-8000-00805f9b34fb";
+ public static final String OBEX_PSE = "0000112f-0000-1000-8000-00805f9b34fb";
+ public static final String OBEX_PBAP = "00001130-0000-1000-8000-00805f9b34fb";
+ public static final String OBEX_MAS = "00001132-0000-1000-8000-00805f9b34fb";
+ public static final String OBEX_MNS = "00001133-0000-1000-8000-00805f9b34fb";
+ public static final String OBEX_MAP = "00001134-0000-1000-8000-00805f9b34fb";
+ public static final String PNP = "00001200-0000-1000-8000-00805f9b34fb";
+ public static final String GENERIC_NETWORKING = "00001201-0000-1000-8000-00805f9b34fb";
+ public static final String GENERIC_FILE_TRANSFER = "00001202-0000-1000-8000-00805f9b34fb";
+ public static final String GENERIC_AUDIO = "00001203-0000-1000-8000-00805f9b34fb";
+ public static final String GENERIC_TELEPHONY = "00001204-0000-1000-8000-00805f9b34fb";
+ public static final String UPNP = "00001205-0000-1000-8000-00805f9b34fb";
+ public static final String UPNP_IP = "00001206-0000-1000-8000-00805f9b34fb";
+ public static final String ESDP_UPNP_IP_PAN = "00001300-0000-1000-8000-00805f9b34fb";
+ public static final String ESDP_UPNP_IP_LAP = "00001301-0000-1000-8000-00805f9b34fb";
+ public static final String ESDP_UPNP_L2CAP = "00001302-0000-1000-8000-00805f9b34fb";
+ public static final String VIDEO_DISTRIBUTION_PROFILE_VDP_SOURCE = "00001303-0000-1000-8000-00805f9b34fb";
+ public static final String VIDEO_DISTRIBUTION_PROFILE_VDP_SINK = "00001304-0000-1000-8000-00805f9b34fb";
+ public static final String VIDEO_DISTRIBUTION_PROFILE_VDP = "00001305-0000-1000-8000-00805f9b34fb";
+ public static final String HEALTH_DEVICE_PROFILE_HDP = "00001400-0000-1000-8000-00805f9b34fb";
+ public static final String HEALTH_DEVICE_PROFILE_HDP_SOURCE = "00001401-0000-1000-8000-00805f9b34fb";
+ public static final String HEALTH_DEVICE_PROFILE_HDP_SINK = "00001402-0000-1000-8000-00805f9b34fb";
+ public static final String GAP = "00001800-0000-1000-8000-00805f9b34fb";
+ public static final String GATT = "00001801-0000-1000-8000-00805f9b34fb";
+ public static final String IMMEDIATE_ALERT = "00001802-0000-1000-8000-00805f9b34fb";
+ public static final String LINK_LOSS = "00001803-0000-1000-8000-00805f9b34fb";
+ public static final String TX_POWER = "00001804-0000-1000-8000-00805f9b34fb";
+ public static final String HEALTH_THERMOMETER = "00001809-0000-1000-8000-00805f9b34fb";
+ public static final String DEVICE_INFORMATION = "0000180a-0000-1000-8000-00805f9b34fb";
+ public static final String HEART_RATE = "0000180d-0000-1000-8000-00805f9b34fb";
+ public static final String CYCLING_SC = "00001816-0000-1000-8000-00805f9b34fb";
+ public static final String CLIENT_CHARACTERISTIC_CONFIG = "00002902-0000-1000-8000-00805f9b34fb";
+ public static final String DEVICE_NAME = "00002a00-0000-1000-8000-00805f9b34fb";
+ public static final String APPEARANCE = "00002a01-0000-1000-8000-00805f9b34fb";
+ public static final String PERIPHERAL_PRIVACY_FLAG = "00002a02-0000-1000-8000-00805f9b34fb";
+ public static final String RECONNECTION_ADDRESS = "00002a03-0000-1000-8000-00805f9b34fb";
+ public static final String PERIPHERAL_PREFERRED_CONNECTION_PARAMETERS = "00002a04-0000-1000-8000-00805f9b34fb";
+ public static final String SERVICE_CHANGED = "00002a05-0000-1000-8000-00805f9b34fb";
+ public static final String ALERT_LEVEL = "00002a06-0000-1000-8000-00805f9b34fb";
+ public static final String TX_POWER_LEVEL = "00002a07-0000-1000-8000-00805f9b34fb";
+ public static final String DATE_TIME = "00002a08-0000-1000-8000-00805f9b34fb";
+ public static final String DAY_OF_WEEK = "00002a09-0000-1000-8000-00805f9b34fb";
+ public static final String DAY_DATE_TIME = "00002a0a-0000-1000-8000-00805f9b34fb";
+ public static final String EXACT_TIME_256 = "00002a0c-0000-1000-8000-00805f9b34fb";
+ public static final String DST_OFFSET = "00002a0d-0000-1000-8000-00805f9b34fb";
+ public static final String TIME_ZONE = "00002a0e-0000-1000-8000-00805f9b34fb";
+ public static final String LOCAL_TIME_INFORMATION = "00002a0f-0000-1000-8000-00805f9b34fb";
+ public static final String TIME_WITH_DST = "00002a11-0000-1000-8000-00805f9b34fb";
+ public static final String TIME_ACCURACY = "00002a12-0000-1000-8000-00805f9b34fb";
+ public static final String TIME_SOURCE = "00002a13-0000-1000-8000-00805f9b34fb";
+ public static final String REFERENCE_TIME_INFORMATION = "00002a14-0000-1000-8000-00805f9b34fb";
+ public static final String TIME_UPDATE_CONTROL_POINT = "00002a16-0000-1000-8000-00805f9b34fb";
+ public static final String TIME_UPDATE_STATE = "00002a17-0000-1000-8000-00805f9b34fb";
+ public static final String TEMPERATURE_MEASUREMENT = "00002a1c-0000-1000-8000-00805f9b34fb";
+ public static final String TEMPERATURE_TYPE = "00002a1d-0000-1000-8000-00805f9b34fb";
+ public static final String INTERMEDIATE_TEMPERATURE = "00002a1e-0000-1000-8000-00805f9b34fb";
+ public static final String MEASUREMENT_INTERVAL = "00002a21-0000-1000-8000-00805f9b34fb";
+ public static final String SYSTEM_ID = "00002a23-0000-1000-8000-00805f9b34fb";
+ public static final String MODEL_NUMBER_STRING = "00002a24-0000-1000-8000-00805f9b34fb";
+ public static final String SERIAL_NUMBER_STRING = "00002a25-0000-1000-8000-00805f9b34fb";
+ public static final String FIRMWARE_REVISION_STRING = "00002a26-0000-1000-8000-00805f9b34fb";
+ public static final String HARDWARE_REVISION_STRING = "00002a27-0000-1000-8000-00805f9b34fb";
+ public static final String SOFTWARE_REVISION_STRING = "00002a28-0000-1000-8000-00805f9b34fb";
+ public static final String MANUFACTURER_NAME_STRING = "00002a29-0000-1000-8000-00805f9b34fb";
+ public static final String IEEE_1107320601_REGULATORY = "00002a2a-0000-1000-8000-00805f9b34fb";
+ public static final String CURRENT_TIME = "00002a2b-0000-1000-8000-00805f9b34fb";
+ public static final String BLOOD_PRESSURE_MEASUREMENT = "00002a35-0000-1000-8000-00805f9b34fb";
+ public static final String INTERMEDIATE_CUFF_PRESSURE = "00002a36-0000-1000-8000-00805f9b34fb";
+ public static final String HEART_RATE_MEASUREMENT = "00002a37-0000-1000-8000-00805f9b34fb";
+ public static final String BODY_SENSOR_LOCATION = "00002a38-0000-1000-8000-00805f9b34fb";
+ public static final String HEART_RATE_CONTROL_POINT = "00002a39-0000-1000-8000-00805f9b34fb";
+ public static final String ALERT_STATUS = "00002a3f-0000-1000-8000-00805f9b34fb";
+ public static final String RINGER_CONTROL_POINT = "00002a40-0000-1000-8000-00805f9b34fb";
+ public static final String RINGER_SETTING = "00002a41-0000-1000-8000-00805f9b34fb";
+ public static final String ALERT_CATEGORY_ID_BIT_MASK = "00002a42-0000-1000-8000-00805f9b34fb";
+ public static final String ALERT_CATEGORY_ID = "00002a43-0000-1000-8000-00805f9b34fb";
+ public static final String ALERT_NOTIFICATION_CONTROL_POINT = "00002a44-0000-1000-8000-00805f9b34fb";
+ public static final String UNREAD_ALERT_STATUS = "00002a45-0000-1000-8000-00805f9b34fb";
+ public static final String NEW_ALERT = "00002a46-0000-1000-8000-00805f9b34fb";
+ public static final String SUPPORTED_NEW_ALERT_CATEGORY = "00002a47-0000-1000-8000-00805f9b34fb";
+ public static final String SUPPORTED_UNREAD_ALERT_CATEGORY = "00002a48-0000-1000-8000-00805f9b34fb";
+ public static final String BLOOD_PRESSURE_FEATURE = "00002a49-0000-1000-8000-00805f9b34fb";
+ public static final String PNPID = "00002a50-0000-1000-8000-00805f9b34fb";
+ public static final String SC_CONTROL_POINT = "00002a55-0000-1000-8000-00805f9b34fb";
+ public static final String CSC_MEASUREMENT = "00002a5b-0000-1000-8000-00805f9b34fb";
+ public static final String CSC_FEATURE = "00002a5c-0000-1000-8000-00805f9b34fb";
+ public static final String SENSOR_LOCATION = "00002a5d-0000-1000-8000-00805f9b34fb";
+ public static final String ACTIVESYNC = "831c4071-7bc8-4a9c-a01c-15df25a4adbc";
+ public static final String ESTIMOTE_SERVICE = "b9403000-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_UUID = "b9403003-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_MAJOR = "b9403001-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_MINOR = "b9403002-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_BATTERY = "b9403041-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_TEMPERATURE = "b9403021-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_POWER = "b9403011-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_ADVERTISING_INTERVAL = "b9403012-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_VERSION_SERVICE = "b9404000-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_SOFTWARE_VERSION = "b9404001-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_HARDWARE_VERSION = "b9404002-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_AUTHENTICATION_SERVICE = "b9402000-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_ADVERTISING_SEED = "b9402001-f5f8-466e-aff9-25556b57fe6d";
+ public static final String ESTIMOTE_ADVERTISING_VECTOR = "b9402002-f5f8-466e-aff9-25556b57fe6d";
+
+ private final static Map<String, String> sGattAttributesMap = populateGattAttributesMap();
+
+ public static String getAttributeName(final String uuid, final String fallback) {
+ final String name = sGattAttributesMap.get(uuid.toLowerCase(Locale.US));
+ return name == null ? fallback : name;
+ }
+
+ private static Map<String, String> populateGattAttributesMap() {
+ final Map<String, String> map = new HashMap<>();
+
+ map.put(BASE_GUID , "Base GUID");
+ map.put(SERVICE_DISCOVERY_PROTOCOL_SDP , "Service Discovery Protocol (SDP)");
+ map.put(USER_DATAGRAM_PROTOCOL_UDP , "User Datagram Protocol (UDP)");
+ map.put(RADIO_FREQUENCY_COMMUNICATION_PROTOCOL_RFCOMM , "Radio Frequency Communication Protocol (RFCOMM)");
+ map.put(TCP , "TCP");
+ map.put(TCSBIN , "TCSBIN");
+ map.put(TCSAT , "TCSAT");
+ map.put(OBJECT_EXCHANGE_PROTOCOL_OBEX , "Object Exchange Protocol (OBEX)");
+ map.put(IP , "IP");
+ map.put(FTP , "FTP");
+ map.put(HTTP , "HTTP");
+ map.put(WSP , "WSP");
+ map.put(BNEP_SVC , "BNEP_SVC");
+ map.put(UPNP_PROTOCOL , "UPNP Protocol");
+ map.put(HIDP , "HIDP");
+ map.put(HARDCOPY_CONTROL_CHANNEL_PROTOCOL , "Hardcopy Control Channel Protocol");
+ map.put(HARDCOPY_DATA_CHANNEL_PROTOCOL , "Hardcopy Data Channel Protocol");
+ map.put(HARDCOPY_NOTIFICATION_PROTOCOL , "Hardcopy Notification Protocol");
+ map.put(VCTP_PROTOCOL , "VCTP Protocol");
+ map.put(VDTP_PROTOCOL , "VDTP Protocol");
+ map.put(CMPT_PROTOCOL , "CMPT Protocol");
+ map.put(UDI_C_PLANE_PROTOCOL , "UDI C Plane Protocol");
+ map.put(MCAP_CONTROL_CHANNEL , "MCAP Control Channel");
+ map.put(MCAP_DATA_CHANNEL , "MCAP Data Channel");
+ map.put(L2CAP , "L2CAP");
+ map.put(SERVICE_DISCOVERY_SERVER , "Service Discovery Server");
+ map.put(BROWSE_GROUP_DESCRIPTOR , "Browse Group Descriptor");
+ map.put(PUBLIC_BROWSE_GROUP , "Public Browse Group");
+ map.put(SPP , "SPP");
+ map.put(LAN_ACCESS_USING_PPP , "LAN Access Using PPP");
+ map.put(DUN_GW , "DUN_GW");
+ map.put(OBEX_SYNC , "OBEX_SYNC");
+ map.put(OBEX_OBJECT_PUSH , "OBEX Object Push");
+ map.put(OBEX_FILE_TRANSFER , "OBEX File Transfer");
+ map.put(IRMC_SYNC_COMMAND , "IrMC Sync Command");
+ map.put(HSP_HS , "HSP_HS");
+ map.put(CORDLESS_TELEPHONY , "Cordless Telephony");
+ map.put(AUDIO_SOURCE , "Audio Source");
+ map.put(AUDIO_SINK , "Audio Sink");
+ map.put(AV_REMOTE_CONTROL_TARGET , "AV Remote Control Target");
+ map.put(ADVANCED_AUDIO , "ADVANCED_AUDIO");
+ map.put(AVRCP_REMOTE , "AVRCP_REMOTE");
+ map.put(VIDEO_CONFERENCING , "Video Conferencing");
+ map.put(INTERCOM , "Intercom");
+ map.put(FAX , "FAX");
+ map.put(HEADSET_PROFILE_HSP_AUDIO_GATEWAY , "Headset Profile (HSP) - Audio Gateway");
+ map.put(WAP , "WAP");
+ map.put(WAP_CLIENT , "WAP Client");
+ map.put(PANU , "PANU");
+ map.put(NAP , "NAP");
+ map.put(GN , "GN");
+ map.put(DIRECT_PRINTING , "Direct Printing");
+ map.put(REFERENCE_PRINTING , "Reference Printing");
+ map.put(IMAGING , "Imaging");
+ map.put(IMAGING_RESPONDER , "Imaging Responder");
+ map.put(IMAGING_AUTOMATIC_ARCHIVE , "Imaging Automatic Archive");
+ map.put(IMAGING_REFERENCE_OBJECTS , "Imaging Reference Objects");
+ map.put(HANDS_FREE_PROFILE_HFP , "Hands Free Profile (HFP)");
+ map.put(HANDS_FREE_PROFILE_HFP_AUDIO_GATEWAY , "Hands Free Profile (HFP) 鈥� Audio Gateway");
+ map.put(DIRECT_PRINTING_REFERENCE_OBJECTS , "Direct Printing Reference Objects");
+ map.put(REFLECTED_UI , "Reflected UI");
+ map.put(BASIC_PRINTING , "Basic Printing");
+ map.put(PRINTING_STATUS , "Printing Status");
+ map.put(HID , "HID");
+ map.put(HARDCOPY_CABLE_REPLACEMENT , "Hardcopy Cable Replacement");
+ map.put(HCR_PRINT , "HCR Print");
+ map.put(HCR_SCAN , "HCR Scan");
+ map.put(COMMON_ISDN_ACCESS , "Common ISDN Access");
+ map.put(VIDEO_CONFERENCING_GATEWAY , "Video Conferencing Gateway");
+ map.put(UDIMT , "UDIMT");
+ map.put(UDITA , "UDITA");
+ map.put(AUDIO_VIDEO , "Audio Video");
+ map.put(SIM_ACCESS , "SIM Access");
+ map.put(OBEX_PCE , "OBEX PCE");
+ map.put(OBEX_PSE , "OBEX PSE");
+ map.put(OBEX_PBAP , "OBEX PBAP");
+ map.put(OBEX_MAS , "OBEX MAS");
+ map.put(OBEX_MNS , "OBEX MNS");
+ map.put(OBEX_MAP , "OBEX MAP");
+ map.put(PNP , "PNP");
+ map.put(GENERIC_NETWORKING , "Generic Networking");
+ map.put(GENERIC_FILE_TRANSFER , "Generic File Transfer");
+ map.put(GENERIC_AUDIO , "Generic Audio");
+ map.put(GENERIC_TELEPHONY , "Generic Telephony");
+ map.put(UPNP , "UPNP");
+ map.put(UPNP_IP , "UPNP IP");
+ map.put(ESDP_UPNP_IP_PAN , "ESDP UPnP IP PAN");
+ map.put(ESDP_UPNP_IP_LAP , "ESDP UPnP IP LAP");
+ map.put(ESDP_UPNP_L2CAP , "ESDP Upnp L2CAP");
+ map.put(VIDEO_DISTRIBUTION_PROFILE_VDP_SOURCE , "Video Distribution Profile (VDP) - Source");
+ map.put(VIDEO_DISTRIBUTION_PROFILE_VDP_SINK , "Video Distribution Profile (VDP) - Sink");
+ map.put(VIDEO_DISTRIBUTION_PROFILE_VDP , "Video Distribution Profile (VDP)");
+ map.put(HEALTH_DEVICE_PROFILE_HDP , "Health Device Profile (HDP)");
+ map.put(HEALTH_DEVICE_PROFILE_HDP_SOURCE , "Health Device Profile (HDP) - Source");
+ map.put(HEALTH_DEVICE_PROFILE_HDP_SINK , "Health Device Profile (HDP) - Sink");
+ map.put(GAP , "GAP");
+ map.put(GATT , "GATT");
+ map.put(IMMEDIATE_ALERT , "IMMEDIATE_ALERT");
+ map.put(LINK_LOSS , "LINK_LOSS");
+ map.put(TX_POWER , "TX_POWER");
+ map.put(HEALTH_THERMOMETER , "Health Thermometer");
+ map.put(DEVICE_INFORMATION , "Device Information");
+ map.put(HEART_RATE , "HEART_RATE");
+ map.put(CYCLING_SC , "CYCLING_SC");
+ map.put(CLIENT_CHARACTERISTIC_CONFIG , "CLIENT_CHARACTERISTIC_CONFIG");
+ map.put(DEVICE_NAME , "Device Name");
+ map.put(APPEARANCE , "Appearance");
+ map.put(PERIPHERAL_PRIVACY_FLAG , "Peripheral Privacy Flag");
+ map.put(RECONNECTION_ADDRESS , "Reconnection Address");
+ map.put(PERIPHERAL_PREFERRED_CONNECTION_PARAMETERS , "Peripheral Preferred Connection Parameters");
+ map.put(SERVICE_CHANGED , "Service Changed");
+ map.put(ALERT_LEVEL , "Alert Level");
+ map.put(TX_POWER_LEVEL , "Tx Power Level");
+ map.put(DATE_TIME , "Date Time");
+ map.put(DAY_OF_WEEK , "Day of Week");
+ map.put(DAY_DATE_TIME , "Day Date Time");
+ map.put(EXACT_TIME_256 , "Exact Time 256");
+ map.put(DST_OFFSET , "DST Offset");
+ map.put(TIME_ZONE , "Time Zone");
+ map.put(LOCAL_TIME_INFORMATION , "Local Time Information");
+ map.put(TIME_WITH_DST , "Time with DST");
+ map.put(TIME_ACCURACY , "Time Accuracy");
+ map.put(TIME_SOURCE , "Time Source");
+ map.put(REFERENCE_TIME_INFORMATION , "Reference Time Information");
+ map.put(TIME_UPDATE_CONTROL_POINT , "Time Update Control Point");
+ map.put(TIME_UPDATE_STATE , "Time Update State");
+ map.put(TEMPERATURE_MEASUREMENT , "Temperature Measurement");
+ map.put(TEMPERATURE_TYPE , "Temperature Type");
+ map.put(INTERMEDIATE_TEMPERATURE , "Intermediate Temperature");
+ map.put(MEASUREMENT_INTERVAL , "Measurement Interval");
+ map.put(SYSTEM_ID , "System ID");
+ map.put(MODEL_NUMBER_STRING , "Model Number String");
+ map.put(SERIAL_NUMBER_STRING , "Serial Number String");
+ map.put(FIRMWARE_REVISION_STRING , "Firmware Revision String");
+ map.put(HARDWARE_REVISION_STRING , "Hardware Revision String");
+ map.put(SOFTWARE_REVISION_STRING , "Software Revision String");
+ map.put(MANUFACTURER_NAME_STRING , "Manufacturer Name String");
+ map.put(IEEE_1107320601_REGULATORY , "IEEE 11073-20601 Regulatory");
+ map.put(CURRENT_TIME , "Current Time");
+ map.put(BLOOD_PRESSURE_MEASUREMENT , "Blood Pressure Measurement");
+ map.put(INTERMEDIATE_CUFF_PRESSURE , "Intermediate Cuff Pressure");
+ map.put(HEART_RATE_MEASUREMENT , "Heart Rate Measurement");
+ map.put(BODY_SENSOR_LOCATION , "Body Sensor Location");
+ map.put(HEART_RATE_CONTROL_POINT , "Heart Rate Control Point");
+ map.put(ALERT_STATUS , "Alert Status");
+ map.put(RINGER_CONTROL_POINT , "Ringer Control Point");
+ map.put(RINGER_SETTING , "Ringer Setting");
+ map.put(ALERT_CATEGORY_ID_BIT_MASK , "Alert Category ID Bit Mask");
+ map.put(ALERT_CATEGORY_ID , "Alert Category ID");
+ map.put(ALERT_NOTIFICATION_CONTROL_POINT , "Alert Notification Control Point");
+ map.put(UNREAD_ALERT_STATUS , "Unread Alert Status");
+ map.put(NEW_ALERT , "New Alert");
+ map.put(SUPPORTED_NEW_ALERT_CATEGORY , "Supported New Alert Category");
+ map.put(SUPPORTED_UNREAD_ALERT_CATEGORY , "Supported Unread Alert Category");
+ map.put(BLOOD_PRESSURE_FEATURE , "Blood Pressure Feature");
+ map.put(PNPID , "PNPID");
+ map.put(SC_CONTROL_POINT , "SC_CONTROL_POINT");
+ map.put(CSC_MEASUREMENT , "CSC_MEASUREMENT");
+ map.put(CSC_FEATURE , "CSC_FEATURE");
+ map.put(SENSOR_LOCATION , "SENSOR_LOCATION");
+ map.put(ACTIVESYNC , "ActiveSync");
+ map.put(ESTIMOTE_SERVICE , "Estimote Service");
+ map.put(ESTIMOTE_UUID , "Estimote UUID");
+ map.put(ESTIMOTE_MAJOR , "Estimote Major");
+ map.put(ESTIMOTE_MINOR , "Estimote Minor");
+ map.put(ESTIMOTE_BATTERY , "Estimote Battery");
+ map.put(ESTIMOTE_TEMPERATURE , "Estimote Temperature");
+ map.put(ESTIMOTE_POWER , "Estimote Power");
+ map.put(ESTIMOTE_ADVERTISING_INTERVAL , "Estimote Advertising Interval");
+ map.put(ESTIMOTE_VERSION_SERVICE , "Estimote Version Service");
+ map.put(ESTIMOTE_SOFTWARE_VERSION , "Estimote Software Version");
+ map.put(ESTIMOTE_HARDWARE_VERSION , "Estimote Hardware Version");
+ map.put(ESTIMOTE_AUTHENTICATION_SERVICE , "Estimote Authentication Service");
+ map.put(ESTIMOTE_ADVERTISING_SEED , "Estimote Advertising Seed");
+ map.put(ESTIMOTE_ADVERTISING_VECTOR , "Estimote Advertising Vector");
+
+ return map;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/BackgroundPowerSaver.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/BackgroundPowerSaver.java
new file mode 100644
index 0000000..49f0bae
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/BackgroundPowerSaver.java
@@ -0,0 +1,197 @@
+package com.blakequ.bluetooth_manager_lib.scan;
+
+import android.annotation.TargetApi;
+import android.app.Activity;
+import android.app.Application;
+import android.content.Context;
+import android.os.Bundle;
+
+import com.blakequ.bluetooth_manager_lib.BleManager;
+import com.blakequ.bluetooth_manager_lib.BleParamsOptions;
+import com.blankj.utilcode.util.LogUtils;
+
+
+/**
+ *
+ * Simply creating an instance of this class and holding a reference to it in your Application can
+ * improve battery life by 60% by slowing down scans when your app is in the background.
+ *
+ */
+@TargetApi(18)
+public class BackgroundPowerSaver implements Application.ActivityLifecycleCallbacks {
+ private int activeActivityCount = 0;
+ private Context mContext;
+ /**
+ * The default duration in milliseconds of the Bluetooth scan cycle
+ */
+ public static final long DEFAULT_FOREGROUND_SCAN_PERIOD = 10000;
+ /**
+ * The default duration in milliseconds spent not scanning between each Bluetooth scan cycle
+ */
+ public static final long DEFAULT_FOREGROUND_BETWEEN_SCAN_PERIOD = 5*1000;
+ /**
+ * The default duration in milliseconds of the Bluetooth scan cycle when no ranging/monitoring clients are in the foreground
+ */
+ public static final long DEFAULT_BACKGROUND_SCAN_PERIOD = 10000;
+ /**
+ * The default duration in milliseconds spent not scanning between each Bluetooth scan cycle when no ranging/monitoring clients are in the foreground
+ */
+ public static final long DEFAULT_BACKGROUND_BETWEEN_SCAN_PERIOD = 5 * 60 * 1000;
+
+ private long foregroundScanPeriod = DEFAULT_FOREGROUND_SCAN_PERIOD;
+ private long foregroundBetweenScanPeriod = DEFAULT_FOREGROUND_BETWEEN_SCAN_PERIOD;
+ private long backgroundScanPeriod = DEFAULT_BACKGROUND_SCAN_PERIOD;
+ private long backgroundBetweenScanPeriod = DEFAULT_BACKGROUND_BETWEEN_SCAN_PERIOD;
+
+ /**
+ *
+ * Constructs a new BackgroundPowerSaver
+ *
+ * @param context
+ * @deprecated the countActiveActivityStrategy flag is no longer used.
+ *
+ */
+ public BackgroundPowerSaver(Context context, boolean countActiveActivityStrategy) {
+ this(context);
+ }
+
+ /**
+ *
+ * Constructs a new BackgroundPowerSaver using the default background determination strategy
+ *
+ * @param context
+ */
+ public BackgroundPowerSaver(Context context) {
+ if (android.os.Build.VERSION.SDK_INT < 18) {
+ LogUtils.w("BackgroundPowerSaver requires API 18 or higher.");
+ return;
+ }
+ ((Application)context.getApplicationContext()).registerActivityLifecycleCallbacks(this);
+ this.mContext = context;
+ }
+
+ /**
+ * Sets the duration in milliseconds of each Bluetooth LE scan cycle to look for beacons.
+ * This function is used to setup the period when switching
+ * between background/foreground. To have it effect on an already running scan (when the next
+ * cycle starts), call {@link BluetoothScanManager#setBackgroundMode}
+ *
+ * @param p
+ */
+ @Deprecated
+ public void setForegroundScanPeriod(long p) {
+ foregroundScanPeriod = p;
+ }
+
+ /**
+ * Sets the duration in milliseconds between each Bluetooth LE scan cycle to look for beacons.
+ * This function is used to setup the period when switching
+ * between background/foreground. To have it effect on an already running scan (when the next
+ * cycle starts), call {@link BluetoothScanManager#setBackgroundMode}
+ *
+ * @param p
+ */
+ @Deprecated
+ public void setForegroundBetweenScanPeriod(long p) {
+ foregroundBetweenScanPeriod = p;
+ }
+
+ /**
+ * Sets the duration in milliseconds of each Bluetooth LE scan cycle to look for beacons.
+ * This function is used to setup the period when switching
+ * between background/foreground. To have it effect on an already running scan (when the next
+ * cycle starts), call {@link BluetoothScanManager#setBackgroundMode}
+ *
+ * @param p
+ */
+ @Deprecated
+ public void setBackgroundScanPeriod(long p) {
+ backgroundScanPeriod = p;
+ }
+
+ /**
+ * Sets the duration in milliseconds spent not scanning between each Bluetooth LE scan cycle when no ranging/monitoring clients are in the foreground
+ *
+ * @param p
+ */
+ @Deprecated
+ public void setBackgroundBetweenScanPeriod(long p) {
+ backgroundBetweenScanPeriod = p;
+ }
+
+ public long getScanPeriod() {
+ BleParamsOptions options = BleManager.getBleParamsOptions();
+ if (BluetoothScanManager.getInstance(mContext).isBackgroundMode()) {
+ if (options != null){
+ return options.getBackgroundScanPeriod();
+ }else {
+ return backgroundScanPeriod;
+ }
+ } else {
+ if (options != null){
+ return options.getForegroundScanPeriod();
+ }else {
+ return foregroundScanPeriod;
+ }
+ }
+ }
+
+ public long getBetweenScanPeriod() {
+ BleParamsOptions options = BleManager.getBleParamsOptions();
+ if (BluetoothScanManager.getInstance(mContext).isBackgroundMode()) {
+ if (options != null){
+ return options.getBackgroundBetweenScanPeriod();
+ }else {
+ return backgroundBetweenScanPeriod;
+ }
+ } else {
+ if (options != null){
+ return options.getForegroundBetweenScanPeriod();
+ }else {
+ return foregroundBetweenScanPeriod;
+ }
+ }
+ }
+
+ @Override
+ public void onActivityCreated(Activity activity, Bundle bundle) {
+ }
+
+ @Override
+ public void onActivityStarted(Activity activity) {
+ }
+
+ @Override
+ public void onActivityResumed(Activity activity) {
+ activeActivityCount++;
+ if (activeActivityCount < 1) {
+ LogUtils.d("reset active activity count on resume. It was " + activeActivityCount);
+ activeActivityCount = 1;
+ }
+ BluetoothScanManager.getInstance(mContext).setBackgroundMode(false);
+ LogUtils.d("activity resumed: "+activity+" active activities: "+activeActivityCount);
+ }
+
+ @Override
+ public void onActivityPaused(Activity activity) {
+ activeActivityCount--;
+ LogUtils.d("activity paused: "+activity+" active activities: "+activeActivityCount);
+ if (activeActivityCount < 1) {
+ LogUtils.d("setting background mode");
+ BluetoothScanManager.getInstance(mContext).setBackgroundMode(true);
+ }
+ }
+
+ @Override
+ public void onActivityStopped(Activity activity) {
+ }
+
+ @Override
+ public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
+
+ }
+
+ @Override
+ public void onActivityDestroyed(Activity activity) {
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/BluetoothScanManager.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/BluetoothScanManager.java
new file mode 100644
index 0000000..f034f05
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/BluetoothScanManager.java
@@ -0,0 +1,243 @@
+package com.blakequ.bluetooth_manager_lib.scan;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+
+import com.blakequ.bluetooth_manager_lib.BleManager;
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat;
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat;
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanResultCompat;
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat;
+import com.blankj.utilcode.util.LogUtils;
+
+import java.util.List;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/17 11:30 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description: 鎵弿绠$悊鍣紝瑕佸疄鐜扮殑鍔熻兘
+ * <ol>
+ * <li>鎵弿灏佽</li>
+ * <li>鎵弿绠$悊</li>
+ * <li>鏀寔ibeacon鎵弿瑙f瀽</li>
+ * <li>鎸佺画鎵弿鐪佺數绠$悊锛圔ackgroundPowerSaver)</li>
+ * <li>寰幆鎵弿鏆傚仠涓庡紑濮嬶紙褰撹繛鎺ユ椂鍙互璁╂壂鎻忔殏鍋滐紝涓�鏃︽柇寮�灏遍噸鍚壂鎻忥級</li>
+ * <li>褰撳墠鎵弿鐘舵��</li>
+ * </ol>
+ * 娉ㄦ剰锛氬洖璋冧笉鍦ㄤ富绾跨▼涓墽琛岋紝闇�瑕佽嚜宸卞湪涓荤嚎绋嬩腑澶勭悊鍥炶皟锛坽@link com.blakequ.bluetooth_manager_lib.scan.ScanOverListener} and {@link com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat}锛�,
+ * 灏ゅ叾鏄兂鍦ㄦ壂鎻忕粨鏉熶箣鍚庣洿鎺ユ墽琛岃繛鎺ヨ摑鐗欐垨鏂紑钃濈墮璁惧锛岄兘闇�瑕佸湪涓荤嚎绋嬫墽琛岋紝鍚﹀垯鍦ㄦ煇浜涙満鍨嬪涓夋槦浼氬嚭鐜板紓甯搞��
+ */
+@TargetApi(18)
+public final class BluetoothScanManager {
+ private static BluetoothScanManager INSTANCE = null;
+
+ //is background mode or not
+ private boolean backgroundMode = false;
+ private BackgroundPowerSaver mPowerSaver;
+ private CycledLeScanner cycledLeScanner;
+ private ScanCallbackCompat scanCallbackCompat;
+ private final Handler mHandler;
+ private static Object obj = new Object();
+
+ private BluetoothScanManager(Context context){
+ mPowerSaver = new BackgroundPowerSaver(context);
+ mHandler = new Handler(Looper.getMainLooper());
+ cycledLeScanner = new CycledLeScanner(context,
+ BackgroundPowerSaver.DEFAULT_FOREGROUND_SCAN_PERIOD,
+ BackgroundPowerSaver.DEFAULT_FOREGROUND_BETWEEN_SCAN_PERIOD,
+ backgroundMode,
+ getScanCallback());
+ BleManager.getBleParamsOptions();
+ }
+
+ public static BluetoothScanManager getInstance(Context context){
+ if (INSTANCE == null){
+ synchronized (obj){
+ if (INSTANCE == null){
+ LogUtils.d("BluetoothScanManager instance creation");
+ INSTANCE = new BluetoothScanManager(context);
+ }
+ }
+ }
+ return INSTANCE;
+ }
+
+ /**
+ * Runs the specified action on the UI thread. If the current thread is the UI
+ * thread, then the action is executed immediately. If the current thread is
+ * not the UI thread, the action is posted to the event queue of the UI thread.
+ *
+ * @param action the action to run on the UI thread
+ */
+ public final void runOnUiThread(Runnable action) {
+ if (Thread.currentThread() != Looper.getMainLooper().getThread()) {
+ mHandler.post(action);
+ } else {
+ action.run();
+ }
+ }
+
+ /**
+ * @return
+ */
+ public BackgroundPowerSaver getPowerSaver(){
+ return mPowerSaver;
+ }
+
+ /**
+ * set scan device invoke
+ * @param scanCallbackCompat
+ */
+ public void setScanCallbackCompat(ScanCallbackCompat scanCallbackCompat) {
+ this.scanCallbackCompat = scanCallbackCompat;
+ }
+
+ public void setScanOverListener(ScanOverListener scanOverListener) {
+ cycledLeScanner.setScanOverListener(scanOverListener);
+ }
+
+ /**
+ * is scanning
+ * @return
+ */
+ public boolean isScanning(){
+ return cycledLeScanner.isScanning();
+ }
+
+ public boolean isPauseScanning(){
+ return cycledLeScanner.isPauseScan();
+ }
+
+ /**
+ * stop cycle scan and will restart when invoke {@link #startCycleScan()}
+ */
+ public void stopCycleScan(){
+ cycledLeScanner.setPauseScan(true);
+ }
+
+ /**
+ * start scan device and will stop until invoke {@link #stopCycleScan()}
+ * notice: maybe is not scan right now
+ * @see #startScanNow()
+ * @see #stopCycleScan()
+ */
+ public void startCycleScan(){
+ cycledLeScanner.startScan();
+ }
+
+ /**
+ * Immediately start a scan(only one times)
+ */
+ public void startScanOnce(){
+ cycledLeScanner.startOnceScan();
+ }
+
+ /**
+ * start scan right now, is different {@link #startCycleScan()}
+ * @see #startCycleScan()
+ */
+ public void startScanNow(){
+ // FIXME: 2017/6/22 modify config not enable first time
+ cycledLeScanner.setBackgroundMode(mPowerSaver.getScanPeriod(), mPowerSaver.getBetweenScanPeriod(), backgroundMode);
+ cycledLeScanner.startScanNow();
+ }
+
+ /**
+ * add scan filter
+ * @param scanFilter
+ */
+ public void addScanFilterCompats(ScanFilterCompat scanFilter){
+ cycledLeScanner.addScanFilterCompats(scanFilter);
+ }
+
+ public void setScanSettings(ScanSettingsCompat scanSettings) {
+ cycledLeScanner.setScanSettings(scanSettings);
+ }
+
+ /**
+ * default using new scan method if API >= 21
+ * @return
+ */
+ @Deprecated
+ public static boolean isAPI21ScanningDisabled(){
+ return false;
+ }
+
+ /**
+ * This method notifies the beacon service that the application is either moving to background
+ * mode or foreground mode. When in background mode, BluetoothLE scans to look for beacons are
+ * executed less frequently in order to save battery life. The specific scan rates for
+ * background and foreground operation are set by the defaults below, but may be customized.
+ * When ranging in the background, the time between updates will be much less frequent than in
+ * the foreground. Updates will come every time interval equal to the sum total of the
+ * BackgroundScanPeriod and the BackgroundBetweenScanPeriod.
+ *
+ * @param backgroundMode true indicates the app is in the background
+ */
+ public void setBackgroundMode(boolean backgroundMode) {
+ if (android.os.Build.VERSION.SDK_INT < 18) {
+ LogUtils.w("Not supported prior to API 18. Method invocation will be ignored");
+ }
+ if (backgroundMode != this.backgroundMode) {
+ this.backgroundMode = backgroundMode;
+ cycledLeScanner.setBackgroundMode(mPowerSaver.getScanPeriod(), mPowerSaver.getBetweenScanPeriod(), backgroundMode);
+ }
+ }
+
+ public boolean isBackgroundMode() {
+ return backgroundMode;
+ }
+
+ private ScanCallbackCompat getScanCallback(){
+ return new ScanCallbackCompat() {
+ @Override
+ public void onBatchScanResults(final List<ScanResultCompat> results) {
+ if (scanCallbackCompat != null){
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ scanCallbackCompat.onBatchScanResults(results);
+ }
+ });
+ }
+ }
+
+ @Override
+ public void onScanFailed(final int errorCode) {
+ if (scanCallbackCompat != null){
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ scanCallbackCompat.onScanFailed(errorCode);
+ }
+ });
+ }
+ }
+
+ @Override
+ public void onScanResult(final int callbackType, final ScanResultCompat result) {
+ if (scanCallbackCompat != null){
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ scanCallbackCompat.onScanResult(callbackType, result);
+ }
+ });
+ }
+ }
+ };
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/CycledLeScanner.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/CycledLeScanner.java
new file mode 100644
index 0000000..7cbfd13
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/CycledLeScanner.java
@@ -0,0 +1,363 @@
+package com.blakequ.bluetooth_manager_lib.scan;
+
+import android.Manifest;
+import android.annotation.TargetApi;
+import android.bluetooth.BluetoothAdapter;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.location.LocationManager;
+import android.os.Handler;
+import android.os.SystemClock;
+import androidx.core.content.ContextCompat;
+
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.BluetoothLeScannerCompat;
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanCallbackCompat;
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanFilterCompat;
+import com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat.ScanSettingsCompat;
+import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
+import com.blankj.utilcode.util.LogUtils;
+
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/18 11:54 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description:
+ */
+@TargetApi(18)
+public class CycledLeScanner {
+ private boolean isPrintCycleTime = true;
+ private final Context mContext;
+ private long scanPeriod;
+ private long betweenScanPeriod;
+ private boolean mBackgroundFlag = false;
+ private ScanCallbackCompat scanCallbackCompat;
+ private final BluetoothUtils mBluetoothUtils;
+ private ScanOverListener scanOverListener;
+ private long nextScanStartTime = 0;
+ private long scanStopTime = 0;
+ private long lastScanEndTime = 0;
+ private boolean mScanning = false;
+ private boolean isPauseScan = false; //pause scan or restart
+ private boolean isOnceScan = false; //scan only once
+ private boolean isStartNow = false;
+ private final Handler mHandler = new Handler();
+ private boolean isSetScanSetting = false;
+ private ScanSettingsCompat scanSettings;
+ private final List<ScanFilterCompat> scanFilterCompats = new CopyOnWriteArrayList<>();
+
+ public CycledLeScanner(Context context, long scanPeriod, long betweenScanPeriod, boolean backgroundFlag, ScanCallbackCompat callbackCompat){
+ this.mContext = context;
+ this.scanPeriod = scanPeriod;
+ this.betweenScanPeriod = betweenScanPeriod;
+ this.scanCallbackCompat = callbackCompat;
+ this.mBackgroundFlag = backgroundFlag;
+ this.mBluetoothUtils = BluetoothUtils.getInstance(context);
+ }
+
+ /**
+ * invoke at the end of scan(every scan cycle over)
+ * @param scanOverListener
+ */
+ public void setScanOverListener(ScanOverListener scanOverListener) {
+ this.scanOverListener = scanOverListener;
+ }
+
+ /**
+ * add scan filter
+ * @param scanFilter
+ */
+ public void addScanFilterCompats(ScanFilterCompat scanFilter){
+ scanFilterCompats.add(scanFilter);
+ }
+
+ public void setScanSettings(ScanSettingsCompat scanSettings) {
+ isSetScanSetting = true;
+ this.scanSettings = scanSettings;
+ }
+
+ public void startOnceScan() {
+ isOnceScan = true;
+ scanLeDevice(true);
+ }
+
+ /**
+ * pause or restart scan device cycle
+ * @param isPauseScan
+ */
+ public void setPauseScan(boolean isPauseScan) {
+ this.isPauseScan = isPauseScan;
+ if (!isPauseScan){
+ scanLeDevice(true);
+ }else {
+ scanLeDevice(false);
+ }
+ }
+
+ /**
+ * start scan device
+ */
+ public void startScan(){
+ isPauseScan = false;
+ scanLeDevice(true);
+ }
+
+ /**
+ * start scan device right now
+ */
+ public void startScanNow(){
+ isStartNow = true;
+ isPauseScan = false;
+ scanLeDevice(true);
+ }
+
+ /**
+ * Tells the cycler the scan rate and whether it is in operating in background mode.
+ * Background mode flag is used only with the Android 5.0 scanning implementations to switch
+ * between LOW_POWER_MODE vs. LOW_LATENCY_MODE
+ * @param backgroundFlag is running background
+ */
+ public void setBackgroundMode(long scanPeriod, long betweenScanPeriod, boolean backgroundFlag) {
+ if (android.os.Build.VERSION.SDK_INT < 18) {
+ LogUtils.w("Not supported prior to API 18. Method invocation will be ignored");
+ return;
+ }
+
+ this.scanPeriod = scanPeriod;
+ this.betweenScanPeriod = betweenScanPeriod;
+ if (backgroundFlag != mBackgroundFlag) {
+ LogUtils.d("restart polling task scanPeriod:" + scanPeriod + " betweenScanPeriod:" + betweenScanPeriod + " backgroundFlag:" + backgroundFlag + " mode:" + mBackgroundFlag);
+ mBackgroundFlag = backgroundFlag;
+ long now = SystemClock.elapsedRealtime();
+
+ //update next scan start time锛堝湪绛夊緟寮�濮嬫壂鎻忔椂淇涓嬩竴娆″紑濮嬫椂闂�,鎻愬墠寮�濮嬶級
+ if (nextScanStartTime > now){
+ long proposedNextScanStartTime = lastScanEndTime + betweenScanPeriod;
+ if (proposedNextScanStartTime < nextScanStartTime){
+ LogUtils.d("Waiting...Adjusted nextScanStartTime to be" + (proposedNextScanStartTime - now) + " old:" + (nextScanStartTime - now));
+ nextScanStartTime = proposedNextScanStartTime;
+ }
+ }
+
+ //update current scan stop time(濡傛灉鍦ㄦ壂鎻忎腑鍒欎慨姝f湰娆$殑缁撴潫鏃堕棿,鎻愬墠缁撴潫)
+ if (scanStopTime > now){
+ long proposedStopTime = nextScanStartTime + scanPeriod;
+ if (proposedStopTime < scanStopTime){
+ LogUtils.d("Scanning...Adjusted scanStopTime to be " + (proposedStopTime - now) + " old:" + (scanStopTime - now));
+ scanStopTime = proposedStopTime;
+ }
+ }
+
+ //set scan setting params
+ if (!isSetScanSetting || scanSettings == null){
+ if (mBackgroundFlag) {
+ LogUtils.d("starting filtered scan in SCAN_MODE_LOW_POWER");
+ scanSettings = (new ScanSettingsCompat.Builder().setScanMode(ScanSettingsCompat.SCAN_MODE_LOW_POWER)).build();
+ } else {
+ LogUtils.d("starting non-filtered scan in SCAN_MODE_LOW_LATENCY");
+ scanSettings = (new ScanSettingsCompat.Builder().setScanMode(ScanSettingsCompat.SCAN_MODE_LOW_LATENCY)).build();
+ }
+ }
+ }
+ }
+
+ public boolean isScanning() {
+ return mScanning;
+ }
+
+ public boolean isPauseScan() {
+ return isPauseScan;
+ }
+
+ /**
+ * start or stop scan
+ * @param enable true-start scan right now锛宖alse-stop scan
+ */
+ private void scanLeDevice(boolean enable) {
+ BluetoothAdapter mAdapter = mBluetoothUtils.getBluetoothAdapter();
+ if (mBluetoothUtils == null || !mBluetoothUtils.isBluetoothIsEnable()){
+ LogUtils.e("ScanDevice: Scanning fail! BluetoothAdapter is null");
+ return;
+ }
+
+
+ if (enable) {
+ //is delay scan
+ if (deferScanIfNeeded()){
+ if (!isStartNow){
+ return;
+ }else{
+ LogUtils.i("ScanDevice: Scan right now!");
+ isStartNow = false;
+ }
+ }
+
+ if (mScanning) {
+ LogUtils.d("ScanDevice: Scanning is running now !");
+ return;
+ }
+ LogUtils.d("ScanDevice: Starting Scanning scanPeriod:"+scanPeriod+", between:"+betweenScanPeriod);
+ mScanning = true;
+ if (!isPauseScan || isOnceScan){
+ try {
+ if (android.os.Build.VERSION.SDK_INT < 23 || checkLocationPermission()) {
+ if (android.os.Build.VERSION.SDK_INT >= 23 && !isGpsProviderEnabled(mContext)){
+ LogUtils.e("If SDK>=23, current SDK=" + android.os.Build.VERSION.SDK_INT+", Location info not open and can not scan any device!");
+ scanCallbackCompat.onScanFailed(ScanCallbackCompat.SCAN_FAILED_LOCATION_CLOSE);
+ }else {
+ LogUtils.i("ScanDevice: Start scan...");
+ BluetoothLeScannerCompat.startScan(mAdapter, scanFilterCompats, getScanSettings(), scanCallbackCompat);
+ }
+ }else{
+ scanCallbackCompat.onScanFailed(ScanCallbackCompat.SCAN_FAILED_LOCATION_PERMISSION_FORBID);
+ LogUtils.e("If SDK>=23, current SDK="+android.os.Build.VERSION.SDK_INT+", Please check the location permission is enabled(ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION)");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ LogUtils.e("Internal Android exception scanning for beacons "+e.toString());
+ }
+
+ if (isOnceScan){
+ LogUtils.d("ScanDevice: Scanning once");
+ isOnceScan = false;
+ }
+ }else{
+ LogUtils.d("ScanDevice: Pause Scanning");
+ }
+ scanStopTime = SystemClock.elapsedRealtime() + scanPeriod;
+ nextScanStartTime = scanStopTime + betweenScanPeriod;
+ scheduleScanStop();
+ } else {
+ LogUtils.d("ScanDevice: Stopping Scan");
+ stopScan();
+ }
+ }
+
+ private void scheduleScanStop(){
+ // Stops scanning after a pre-defined scan period.
+ long millisecondsUntilStop = scanStopTime - SystemClock.elapsedRealtime();
+ if (millisecondsUntilStop > 0) {
+ if (isPrintCycleTime){
+ LogUtils.d("Waiting to stop scan cycle for another " + millisecondsUntilStop + " milliseconds");
+ }
+
+ if (!isPauseScan) {
+ mHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ scheduleScanStop();
+ }
+ }, millisecondsUntilStop > 1000 ? 1000 : millisecondsUntilStop);
+ }
+ } else {
+ LogUtils.d("Stop cycle scan");
+ stopScan();
+ }
+ }
+
+ private void stopScan(){
+ if (mScanning) {
+ BluetoothAdapter mAdapter = mBluetoothUtils.getBluetoothAdapter();
+ if (mAdapter != null && mBluetoothUtils.isBluetoothIsEnable()) {
+ try {
+ BluetoothLeScannerCompat.stopScan(mAdapter, scanCallbackCompat);
+ lastScanEndTime = SystemClock.elapsedRealtime();
+ LogUtils.d("stopping bluetooth le scan "+lastScanEndTime);
+ } catch (Exception e) {
+ LogUtils.w("Internal Android exception scanning for beacons "+e.toString());
+ }
+ } else {
+ LogUtils.d("Bluetooth is disabled. Cannot scan for beacons.");
+ }
+ nextScanStartTime = SystemClock.elapsedRealtime() + betweenScanPeriod;
+ //start next scan cycle
+ if (!isPauseScan){
+ scanLeDevice(true);
+ }
+ }
+ mScanning = false;
+ //// FIXME: 2017/6/22 灏嗗叾璋冩暣鍒癿Scanning鍚庨潰
+ if (scanOverListener != null){
+ scanOverListener.onScanOver();
+ }
+ }
+
+ /**
+ * check is defter scan
+ * @return
+ */
+ private boolean deferScanIfNeeded(){
+ long millisecondsUntilStart = nextScanStartTime - SystemClock.elapsedRealtime();
+ if (millisecondsUntilStart > 0) {
+ if (isPrintCycleTime){
+ LogUtils.d("Waiting to start next Bluetooth scan for another "+millisecondsUntilStart+" milliseconds");
+ }
+ // Don't actually wait until the next scan time -- only wait up to 1 second. This
+ // allows us to start scanning sooner if a consumer enters the foreground and expects
+ // results more quickly.
+ mHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ if (!isPauseScan) {
+ scanLeDevice(true);
+ }
+ }
+ }, millisecondsUntilStart > 1000 ? 1000 : millisecondsUntilStart);
+ return true;
+ }
+ LogUtils.d("Start cycle scan");
+ return false;
+ }
+
+
+ /**
+ * get scan settings
+ * @return
+ */
+ private ScanSettingsCompat getScanSettings() {
+ if (scanSettings == null){
+ if (mBackgroundFlag) {
+ LogUtils.d("starting filtered scan in SCAN_MODE_LOW_POWER");
+ scanSettings = (new ScanSettingsCompat.Builder().setScanMode(ScanSettingsCompat.SCAN_MODE_LOW_POWER)).build();
+ } else {
+ LogUtils.d("starting non-filtered scan in SCAN_MODE_LOW_LATENCY");
+ scanSettings = (new ScanSettingsCompat.Builder().setScanMode(ScanSettingsCompat.SCAN_MODE_LOW_LATENCY)).build();
+ }
+ }
+ return scanSettings;
+ }
+
+ /**
+ * is open GPS
+ * @param context
+ * @return
+ */
+ public static boolean isGpsProviderEnabled(Context context){
+ LocationManager service = (LocationManager) context.getSystemService(context.LOCATION_SERVICE);
+ return service.isProviderEnabled(LocationManager.GPS_PROVIDER);
+ }
+
+ /**
+ * when API>=23, if the location disabled, can not scan any devices
+ * @return
+ */
+ private boolean checkLocationPermission() {
+ return checkPermission(Manifest.permission.ACCESS_COARSE_LOCATION) || checkPermission(Manifest.permission.ACCESS_FINE_LOCATION);
+ }
+
+ private boolean checkPermission(final String permission) {
+ return ContextCompat.checkSelfPermission(mContext, permission) == PackageManager.PERMISSION_GRANTED;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/ScanOverListener.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/ScanOverListener.java
new file mode 100644
index 0000000..74e97a7
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/ScanOverListener.java
@@ -0,0 +1,21 @@
+package com.blakequ.bluetooth_manager_lib.scan;
+
+/**
+ * Copyright (C) BlakeQu All Rights Reserved <blakequ@gmail.com>
+ * <p/>
+ * Licensed under the blakequ.com License, Version 1.0 (the "License");
+ * 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.
+ * <p/>
+ * author : quhao <blakequ@gmail.com> <br>
+ * date : 2016/8/18 15:35 <br>
+ * last modify author : <br>
+ * version : 1.0 <br>
+ * description:when once scan at the cycle end
+ */
+public interface ScanOverListener {
+ void onScanOver();
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/BluetoothLeScannerCompat.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/BluetoothLeScannerCompat.java
new file mode 100644
index 0000000..4b7571e
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/BluetoothLeScannerCompat.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright (C) 2015 Joe Rogers
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat;
+
+import android.annotation.TargetApi;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.le.ScanCallback;
+import android.bluetooth.le.ScanFilter;
+import android.bluetooth.le.ScanResult;
+import android.bluetooth.le.ScanSettings;
+import android.os.Build;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.RequiresPermission;
+import androidx.collection.SimpleArrayMap;
+
+import com.blakequ.bluetooth_manager_lib.scan.BluetoothScanManager;
+
+import java.lang.ref.WeakReference;
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class BluetoothLeScannerCompat {
+
+ private static final String TAG = "BLeScannerCompat";
+
+ @RequiresPermission("android.permission.BLUETOOTH_ADMIN")
+ public static void flushPendingScanResults(@NonNull BluetoothAdapter adapter, @NonNull ScanCallbackCompat callbackCompat) {
+ IMPL.flushPendingScanResults(adapter, callbackCompat);
+ }
+
+ @RequiresPermission("android.permission.BLUETOOTH_ADMIN")
+ public static void startScan(@NonNull BluetoothAdapter adapter, @Nullable List<ScanFilterCompat> filters, @NonNull ScanSettingsCompat settings, @NonNull ScanCallbackCompat callbackCompat) {
+ IMPL.startScan(adapter, filters, settings, callbackCompat);
+ }
+
+ @RequiresPermission("android.permission.BLUETOOTH_ADMIN")
+ public static void startScan(@NonNull BluetoothAdapter adapter, @NonNull ScanCallbackCompat callbackCompat) {
+ IMPL.startScan(adapter, callbackCompat);
+ }
+
+ @RequiresPermission("android.permission.BLUETOOTH_ADMIN")
+ public static void stopScan(@NonNull BluetoothAdapter adapter, @NonNull ScanCallbackCompat callbackCompat) {
+ IMPL.stopScan(adapter, callbackCompat);
+ }
+
+ static final BluetoothLeScannerCompatImpl IMPL;
+
+ static {
+ final int version = Build.VERSION.SDK_INT;
+ if (BluetoothScanManager.isAPI21ScanningDisabled()){
+ IMPL = new API18BluetoothLeScannerCompatImpl();
+ }else{
+ if (version >= Build.VERSION_CODES.LOLLIPOP) {
+ IMPL = new API21BluetoothLeScannerCompatImpl();
+ }else {
+ IMPL = new API18BluetoothLeScannerCompatImpl();
+ }
+ }
+ }
+
+ interface BluetoothLeScannerCompatImpl {
+ void flushPendingScanResults(BluetoothAdapter adapter, ScanCallbackCompat callbackCompat);
+
+ void startScan(BluetoothAdapter adapter, List<ScanFilterCompat> filters, ScanSettingsCompat settings, ScanCallbackCompat callbackCompat);
+
+ void startScan(BluetoothAdapter adapter, ScanCallbackCompat callbackCompat);
+
+ void stopScan(BluetoothAdapter adapter, ScanCallbackCompat callbackCompat);
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ static class API21BluetoothLeScannerCompatImpl implements BluetoothLeScannerCompatImpl {
+ static final SimpleArrayMap<ScanCallbackCompat, API21ScanCallback> callbackMap = new SimpleArrayMap<>();
+
+ @Override
+ public void flushPendingScanResults(BluetoothAdapter adapter, ScanCallbackCompat callbackCompat) {
+ API21ScanCallback result = callbackMap.get(callbackCompat);
+ if (result == null) {
+ return;
+ }
+ adapter.getBluetoothLeScanner().flushPendingScanResults(result);
+ }
+
+ @Override
+ public void startScan(BluetoothAdapter adapter, List<ScanFilterCompat> filters, ScanSettingsCompat settings, ScanCallbackCompat callbackCompat) {
+
+ List<ScanFilter> scanFilters = null;
+ if (filters != null) {
+ scanFilters = new ArrayList<>(filters.size());
+
+ for (ScanFilterCompat filter : filters) {
+ scanFilters.add(filter.toApi21());
+ }
+ }
+ if (settings == null) {
+ throw new IllegalStateException("Scan settings are null");
+ }
+ ScanSettings scanSettings = settings.toApi21();
+ adapter.getBluetoothLeScanner().startScan(scanFilters, scanSettings, registerCallback(callbackCompat));
+ }
+
+ @Override
+ public void startScan(BluetoothAdapter adapter, ScanCallbackCompat callbackCompat) {
+ adapter.getBluetoothLeScanner().startScan(registerCallback(callbackCompat));
+ }
+
+ @Override
+ public void stopScan(BluetoothAdapter adapter, ScanCallbackCompat callbackCompat) {
+ API21ScanCallback result = callbackMap.remove(callbackCompat);
+ if (result == null) {
+ return;
+ }
+ adapter.getBluetoothLeScanner().stopScan(result);
+ }
+
+ private API21ScanCallback registerCallback(ScanCallbackCompat callbackCompat) {
+ API21ScanCallback result = callbackMap.get(callbackCompat);
+ // Attempting to rescan, just let it fail deeper down.
+ if (result != null) {
+ return result;
+ }
+ result = new API21ScanCallback(callbackCompat);
+ callbackMap.put(callbackCompat, result);
+ return result;
+ }
+ }
+
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
+ static class API18BluetoothLeScannerCompatImpl implements BluetoothLeScannerCompatImpl {
+ static final SimpleArrayMap<ScanCallbackCompat, API18ScanCallback> callbackMap = new SimpleArrayMap<>();
+
+ @Override
+ public void flushPendingScanResults(BluetoothAdapter adapter, ScanCallbackCompat callbackCompat) {
+ // no matching api
+ new IllegalArgumentException("this method can not found");
+ }
+
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public void startScan(BluetoothAdapter adapter, List<ScanFilterCompat> filters, ScanSettingsCompat settings, ScanCallbackCompat callbackCompat) {
+ adapter.startLeScan(registerCallback(filters, callbackCompat));
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public void startScan(BluetoothAdapter adapter, ScanCallbackCompat callbackCompat) {
+ adapter.startLeScan(registerCallback(null, callbackCompat));
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ public void stopScan(BluetoothAdapter adapter, ScanCallbackCompat callbackCompat) {
+ API18ScanCallback callback = callbackMap.remove(callbackCompat);
+ if (callback == null) {
+ return;
+ }
+ adapter.stopLeScan(callback);
+ }
+
+ private API18ScanCallback registerCallback(List<ScanFilterCompat> filters, ScanCallbackCompat callbackCompat) {
+ API18ScanCallback result = callbackMap.get(callbackCompat);
+ // Attempting to rescan, just let it fail deeper down.
+ if (result != null) {
+ return result;
+ }
+ result = new API18ScanCallback(filters, callbackCompat);
+ callbackMap.put(callbackCompat, result);
+ return result;
+ }
+ }
+
+ static class API18ScanCallback implements BluetoothAdapter.LeScanCallback {
+
+ private final List<ScanFilterCompat> filters;
+ private final WeakReference<ScanCallbackCompat> callbackCompatRef;
+
+ API18ScanCallback(List<ScanFilterCompat> filters, ScanCallbackCompat callbackCompat) {
+ this.filters = filters;
+ this.callbackCompatRef = new WeakReference<>(callbackCompat);
+ }
+
+ @Override
+ public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) {
+ ScanCallbackCompat callbackCompat = callbackCompatRef.get();
+ if (callbackCompat == null) return;
+
+ ScanResultCompat result = new ScanResultCompat(
+ device,
+ ScanRecordCompat.parseFromBytes(scanRecord),
+ rssi, System.currentTimeMillis());
+
+ // No filters so return any result
+ if (filters == null) {
+ callbackCompat.onScanResult(ScanSettingsCompat.CALLBACK_TYPE_ALL_MATCHES, result);
+ return;
+ }
+
+ // Filters specified, so see if there is a match.
+ for (ScanFilterCompat filter : filters) {
+ if (filter.matches(result)) {
+ callbackCompat.onScanResult(ScanSettingsCompat.CALLBACK_TYPE_ALL_MATCHES, result);
+ return;
+ }
+ }
+ }
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ static class API21ScanCallback extends ScanCallback {
+
+ private final WeakReference<ScanCallbackCompat> callbackCompatRef;
+
+ API21ScanCallback(ScanCallbackCompat callbackCompat) {
+ this.callbackCompatRef = new WeakReference<>(callbackCompat);
+ }
+
+ @Override
+ public void onScanResult(int callbackType, ScanResult result) {
+ ScanCallbackCompat callbackCompat = callbackCompatRef.get();
+ if (callbackCompat != null) {
+ callbackCompat.onScanResult(callbackType, new ScanResultCompat(result));
+ }
+ }
+
+ @Override
+ public void onBatchScanResults(List<ScanResult> results) {
+ ScanCallbackCompat callbackCompat = callbackCompatRef.get();
+ if (callbackCompat == null) return;
+ List<ScanResultCompat> compatResults = new ArrayList<>(results.size());
+ for (ScanResult result : results) {
+ compatResults.add(new ScanResultCompat(result));
+ }
+ callbackCompat.onBatchScanResults(compatResults);
+ }
+
+ @Override
+ public void onScanFailed(int errorCode) {
+ ScanCallbackCompat callbackCompat = callbackCompatRef.get();
+ if (callbackCompat != null) {
+ callbackCompat.onScanFailed(errorCode);
+ }
+ }
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/BluetoothUuidCompat.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/BluetoothUuidCompat.java
new file mode 100644
index 0000000..a21feb0
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/BluetoothUuidCompat.java
@@ -0,0 +1,310 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ * Copyright (C) 2015 Joe Rogers
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat;
+
+import android.os.ParcelUuid;
+
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.UUID;
+
+/**
+ * Compat version of BluetoothUuid
+ */
+/* package */ class BluetoothUuidCompat {
+
+ /* See Bluetooth Assigned Numbers document - SDP section, to get the values of UUIDs
+ * for the various services.
+ *
+ * The following 128 bit values are calculated as:
+ * uuid * 2^96 + BASE_UUID
+ */
+ public static final ParcelUuid AudioSink =
+ ParcelUuid.fromString("0000110B-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid AudioSource =
+ ParcelUuid.fromString("0000110A-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid AdvAudioDist =
+ ParcelUuid.fromString("0000110D-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid HSP =
+ ParcelUuid.fromString("00001108-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid HSP_AG =
+ ParcelUuid.fromString("00001112-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid Handsfree =
+ ParcelUuid.fromString("0000111E-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid Handsfree_AG =
+ ParcelUuid.fromString("0000111F-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid AvrcpController =
+ ParcelUuid.fromString("0000110E-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid AvrcpTarget =
+ ParcelUuid.fromString("0000110C-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid ObexObjectPush =
+ ParcelUuid.fromString("00001105-0000-1000-8000-00805f9b34fb");
+ public static final ParcelUuid Hid =
+ ParcelUuid.fromString("00001124-0000-1000-8000-00805f9b34fb");
+ public static final ParcelUuid Hogp =
+ ParcelUuid.fromString("00001812-0000-1000-8000-00805f9b34fb");
+ public static final ParcelUuid PANU =
+ ParcelUuid.fromString("00001115-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid NAP =
+ ParcelUuid.fromString("00001116-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid BNEP =
+ ParcelUuid.fromString("0000000f-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid PBAP_PSE =
+ ParcelUuid.fromString("0000112f-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid MAP =
+ ParcelUuid.fromString("00001134-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid MNS =
+ ParcelUuid.fromString("00001133-0000-1000-8000-00805F9B34FB");
+ public static final ParcelUuid MAS =
+ ParcelUuid.fromString("00001132-0000-1000-8000-00805F9B34FB");
+
+ public static final ParcelUuid BASE_UUID =
+ ParcelUuid.fromString("00000000-0000-1000-8000-00805F9B34FB");
+
+ /**
+ * Length of bytes for 16 bit UUID
+ */
+ public static final int UUID_BYTES_16_BIT = 2;
+ /**
+ * Length of bytes for 32 bit UUID
+ */
+ public static final int UUID_BYTES_32_BIT = 4;
+ /**
+ * Length of bytes for 128 bit UUID
+ */
+ public static final int UUID_BYTES_128_BIT = 16;
+
+ public static final ParcelUuid[] RESERVED_UUIDS = {
+ AudioSink, AudioSource, AdvAudioDist, HSP, Handsfree, AvrcpController, AvrcpTarget,
+ ObexObjectPush, PANU, NAP, MAP, MNS, MAS};
+
+ public static boolean isAudioSource(ParcelUuid uuid) {
+ return uuid.equals(AudioSource);
+ }
+
+ public static boolean isAudioSink(ParcelUuid uuid) {
+ return uuid.equals(AudioSink);
+ }
+
+ public static boolean isAdvAudioDist(ParcelUuid uuid) {
+ return uuid.equals(AdvAudioDist);
+ }
+
+ public static boolean isHandsfree(ParcelUuid uuid) {
+ return uuid.equals(Handsfree);
+ }
+
+ public static boolean isHeadset(ParcelUuid uuid) {
+ return uuid.equals(HSP);
+ }
+
+ public static boolean isAvrcpController(ParcelUuid uuid) {
+ return uuid.equals(AvrcpController);
+ }
+
+ public static boolean isAvrcpTarget(ParcelUuid uuid) {
+ return uuid.equals(AvrcpTarget);
+ }
+
+ public static boolean isInputDevice(ParcelUuid uuid) {
+ return uuid.equals(Hid);
+ }
+
+ public static boolean isPanu(ParcelUuid uuid) {
+ return uuid.equals(PANU);
+ }
+
+ public static boolean isNap(ParcelUuid uuid) {
+ return uuid.equals(NAP);
+ }
+
+ public static boolean isBnep(ParcelUuid uuid) {
+ return uuid.equals(BNEP);
+ }
+
+ public static boolean isMap(ParcelUuid uuid) {
+ return uuid.equals(MAP);
+ }
+
+ public static boolean isMns(ParcelUuid uuid) {
+ return uuid.equals(MNS);
+ }
+
+ public static boolean isMas(ParcelUuid uuid) {
+ return uuid.equals(MAS);
+ }
+
+ /**
+ * Returns true if ParcelUuid is present in uuidArray
+ *
+ * @param uuidArray - Array of ParcelUuids
+ * @param uuid
+ */
+ public static boolean isUuidPresent(ParcelUuid[] uuidArray, ParcelUuid uuid) {
+ if ((uuidArray == null || uuidArray.length == 0) && uuid == null)
+ return true;
+
+ if (uuidArray == null)
+ return false;
+
+ for (ParcelUuid element : uuidArray) {
+ if (element.equals(uuid)) return true;
+ }
+ return false;
+ }
+
+ /**
+ * Returns true if there any common ParcelUuids in uuidA and uuidB.
+ *
+ * @param uuidA - List of ParcelUuids
+ * @param uuidB - List of ParcelUuids
+ */
+ public static boolean containsAnyUuid(ParcelUuid[] uuidA, ParcelUuid[] uuidB) {
+ if (uuidA == null && uuidB == null) return true;
+
+ if (uuidA == null) {
+ return uuidB.length == 0;
+ }
+
+ if (uuidB == null) {
+ return uuidA.length == 0;
+ }
+
+ HashSet<ParcelUuid> uuidSet = new HashSet<>(Arrays.asList(uuidA));
+ for (ParcelUuid uuid : uuidB) {
+ if (uuidSet.contains(uuid)) return true;
+ }
+ return false;
+ }
+
+ /**
+ * Returns true if all the ParcelUuids in ParcelUuidB are present in
+ * ParcelUuidA
+ *
+ * @param uuidA - Array of ParcelUuidsA
+ * @param uuidB - Array of ParcelUuidsB
+ */
+ public static boolean containsAllUuids(ParcelUuid[] uuidA, ParcelUuid[] uuidB) {
+ if (uuidA == null && uuidB == null) return true;
+
+ if (uuidA == null) {
+ return uuidB.length == 0;
+ }
+
+ if (uuidB == null) return true;
+
+ HashSet<ParcelUuid> uuidSet = new HashSet<>(Arrays.asList(uuidA));
+ for (ParcelUuid uuid : uuidB) {
+ if (!uuidSet.contains(uuid)) return false;
+ }
+ return true;
+ }
+
+ /**
+ * Extract the Service Identifier or the actual uuid from the Parcel Uuid.
+ * For example, if 0000110B-0000-1000-8000-00805F9B34FB is the parcel Uuid,
+ * this function will return 110B
+ *
+ * @param parcelUuid
+ * @return the service identifier.
+ */
+ public static int getServiceIdentifierFromParcelUuid(ParcelUuid parcelUuid) {
+ UUID uuid = parcelUuid.getUuid();
+ long value = (uuid.getMostSignificantBits() & 0x0000FFFF00000000L) >>> 32;
+ return (int) value;
+ }
+
+ /**
+ * Parse UUID from bytes. The {@code uuidBytes} can represent a 16-bit, 32-bit or 128-bit UUID,
+ * but the returned UUID is always in 128-bit format.
+ * Note UUID is little endian in Bluetooth.
+ *
+ * @param uuidBytes Byte representation of uuid.
+ * @return {@link ParcelUuid} parsed from bytes.
+ * @throws IllegalArgumentException If the {@code uuidBytes} cannot be parsed.
+ */
+ public static ParcelUuid parseUuidFrom(byte[] uuidBytes) {
+ if (uuidBytes == null) {
+ throw new IllegalArgumentException("uuidBytes cannot be null");
+ }
+ int length = uuidBytes.length;
+ if (length != UUID_BYTES_16_BIT && length != UUID_BYTES_32_BIT &&
+ length != UUID_BYTES_128_BIT) {
+ throw new IllegalArgumentException("uuidBytes length invalid - " + length);
+ }
+
+ // Construct a 128 bit UUID.
+ if (length == UUID_BYTES_128_BIT) {
+ ByteBuffer buf = ByteBuffer.wrap(uuidBytes).order(ByteOrder.LITTLE_ENDIAN);
+ long msb = buf.getLong(8);
+ long lsb = buf.getLong(0);
+ return new ParcelUuid(new UUID(msb, lsb));
+ }
+
+ // For 16 bit and 32 bit UUID we need to convert them to 128 bit value.
+ // 128_bit_value = uuid * 2^96 + BASE_UUID
+ long shortUuid;
+ if (length == UUID_BYTES_16_BIT) {
+ shortUuid = uuidBytes[0] & 0xFF;
+ shortUuid += (uuidBytes[1] & 0xFF) << 8;
+ }
+ else {
+ shortUuid = uuidBytes[0] & 0xFF;
+ shortUuid += (uuidBytes[1] & 0xFF) << 8;
+ shortUuid += (uuidBytes[2] & 0xFF) << 16;
+ shortUuid += (uuidBytes[3] & 0xFF) << 24;
+ }
+ long msb = BASE_UUID.getUuid().getMostSignificantBits() + (shortUuid << 32);
+ long lsb = BASE_UUID.getUuid().getLeastSignificantBits();
+ return new ParcelUuid(new UUID(msb, lsb));
+ }
+
+ /**
+ * Check whether the given parcelUuid can be converted to 16 bit bluetooth uuid.
+ *
+ * @param parcelUuid
+ * @return true if the parcelUuid can be converted to 16 bit uuid, false otherwise.
+ */
+ public static boolean is16BitUuid(ParcelUuid parcelUuid) {
+ UUID uuid = parcelUuid.getUuid();
+ if (uuid.getLeastSignificantBits() != BASE_UUID.getUuid().getLeastSignificantBits()) {
+ return false;
+ }
+ return ((uuid.getMostSignificantBits() & 0xFFFF0000FFFFFFFFL) == 0x1000L);
+ }
+
+
+ /**
+ * Check whether the given parcelUuid can be converted to 32 bit bluetooth uuid.
+ *
+ * @param parcelUuid
+ * @return true if the parcelUuid can be converted to 32 bit uuid, false otherwise.
+ */
+ public static boolean is32BitUuid(ParcelUuid parcelUuid) {
+ UUID uuid = parcelUuid.getUuid();
+ if (uuid.getLeastSignificantBits() != BASE_UUID.getUuid().getLeastSignificantBits()) {
+ return false;
+ }
+ if (is16BitUuid(parcelUuid)) {
+ return false;
+ }
+ return ((uuid.getMostSignificantBits() & 0xFFFFFFFFL) == 0x1000L);
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ObjectsCompat.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ObjectsCompat.java
new file mode 100644
index 0000000..2baa5da
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ObjectsCompat.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ * Copyright (C) 2015 Joe Rogers
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat;
+
+import java.util.Arrays;
+
+/**
+ * Subset of utility methods for objects, used by the existing bluetooth framework
+ */
+/* package */ class ObjectsCompat {
+
+ /* package */ static String toString(Object o) {
+ return (o == null) ? "null" : o.toString();
+ }
+
+ /* package */ static int hash(Object... values) {
+ return Arrays.hashCode(values);
+ }
+
+ /* package */ static boolean equals(Object a, Object b) {
+ return (a == null) ? (b == null) : a.equals(b);
+ }
+
+ /* package */ static boolean deepEquals(Object a, Object b) {
+ if (a == null || b == null) {
+ return a == b;
+ }
+ else if (a instanceof Object[] && b instanceof Object[]) {
+ return Arrays.deepEquals((Object[]) a, (Object[]) b);
+ }
+ else if (a instanceof boolean[] && b instanceof boolean[]) {
+ return Arrays.equals((boolean[]) a, (boolean[]) b);
+ }
+ else if (a instanceof byte[] && b instanceof byte[]) {
+ return Arrays.equals((byte[]) a, (byte[]) b);
+ }
+ else if (a instanceof char[] && b instanceof char[]) {
+ return Arrays.equals((char[]) a, (char[]) b);
+ }
+ else if (a instanceof double[] && b instanceof double[]) {
+ return Arrays.equals((double[]) a, (double[]) b);
+ }
+ else if (a instanceof float[] && b instanceof float[]) {
+ return Arrays.equals((float[]) a, (float[]) b);
+ }
+ else if (a instanceof int[] && b instanceof int[]) {
+ return Arrays.equals((int[]) a, (int[]) b);
+ }
+ else if (a instanceof long[] && b instanceof long[]) {
+ return Arrays.equals((long[]) a, (long[]) b);
+ }
+ else if (a instanceof short[] && b instanceof short[]) {
+ return Arrays.equals((short[]) a, (short[]) b);
+ }
+ return a.equals(b);
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanCallbackCompat.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanCallbackCompat.java
new file mode 100644
index 0000000..acd7c74
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanCallbackCompat.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 Joe Rogers
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat;
+
+import java.util.List;
+
+/**
+ * Bluetooth LE scan callbacks. Scan results are reported using these callbacks.
+ *
+ * @see BluetoothLeScannerCompat#startScan
+ */
+
+public abstract class ScanCallbackCompat {
+ /**
+ * Fails to start scan as BLE scan with the same settings is already started by the app.
+ */
+ public static final int SCAN_FAILED_ALREADY_STARTED = 1;
+
+ /**
+ * Fails to start scan as app cannot be registered.
+ */
+ public static final int SCAN_FAILED_APPLICATION_REGISTRATION_FAILED = 2;
+
+ /**
+ * Fails to start scan due an internal error
+ */
+ public static final int SCAN_FAILED_INTERNAL_ERROR = 3;
+
+ /**
+ * Fails to start power optimized scan as this feature is not supported.
+ */
+ public static final int SCAN_FAILED_FEATURE_UNSUPPORTED = 4;
+
+ /**
+ * new error code, Fails to scan as location permission is forbid()
+ */
+ public static final int SCAN_FAILED_LOCATION_PERMISSION_FORBID = 5;
+
+ /**
+ * use SDK>=23, The location is not open(if sdk>=23, will not scan any device)
+ * http://stackoverflow.com/questions/33043582/bluetooth-low-energy-startscan-on-android-6-0-does-not-find-devices/33045489#33045489
+ */
+ public static final int SCAN_FAILED_LOCATION_CLOSE = 6;
+
+ /**
+ * Callback when a BLE advertisement has been found.
+ *
+ * @param callbackType Determines how this callback was triggered. Currently could only be
+ * {@link android.bluetooth.le.ScanSettings#CALLBACK_TYPE_ALL_MATCHES}.
+ * @param result A Bluetooth LE scan result.
+ */
+ @SuppressWarnings("EmptyMethod")
+ public void onScanResult(int callbackType, ScanResultCompat result) {
+ // no implementation
+ }
+
+ /**
+ * Callback when batch results are delivered.
+ *
+ * @param results List of scan results that are previously scanned.
+ */
+ @SuppressWarnings("EmptyMethod")
+ public void onBatchScanResults(List<ScanResultCompat> results) {
+ }
+
+ /**
+ * Callback when scan could not be started.
+ *
+ * @param errorCode Error code (one of SCAN_FAILED_*) for scan failure.
+ */
+ @SuppressWarnings("EmptyMethod")
+ public void onScanFailed(int errorCode) {
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanFilterCompat.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanFilterCompat.java
new file mode 100644
index 0000000..c6df460
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanFilterCompat.java
@@ -0,0 +1,627 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 Joe Rogers
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat;
+
+import android.annotation.TargetApi;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.le.ScanFilter;
+import android.bluetooth.le.ScanResult;
+import android.os.Build;
+import android.os.Parcel;
+import android.os.ParcelUuid;
+import android.os.Parcelable;
+import androidx.annotation.Nullable;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * Criteria for filtering result from Bluetooth LE scans. A {@link ScanFilterCompat} allows clients to
+ * restrict scan results to only those that are of interest to them.
+ * <p/>
+ * Current filtering on the following fields are supported:
+ * <li>Service UUIDs which identify the bluetooth gatt services running on the device.
+ * <li>Name of remote Bluetooth LE device.
+ * <li>Mac address of the remote device.
+ * <li>Service data which is the data associated with a service.
+ * <li>Manufacturer specific data which is the data associated with a particular manufacturer.
+ *
+ * @see ScanResult
+ * @see android.bluetooth.le.BluetoothLeScanner
+ */
+public class ScanFilterCompat implements Parcelable {
+ @Nullable
+ private final String mDeviceName;
+
+ @Nullable
+ private final String mDeviceAddress;
+
+ @Nullable
+ private final ParcelUuid mServiceUuid;
+ @Nullable
+ private final ParcelUuid mServiceUuidMask;
+
+ @Nullable
+ private final ParcelUuid mServiceDataUuid;
+ @Nullable
+ private final byte[] mServiceData;
+ @Nullable
+ private final byte[] mServiceDataMask;
+
+ private final int mManufacturerId;
+ @Nullable
+ private final byte[] mManufacturerData;
+ @Nullable
+ private final byte[] mManufacturerDataMask;
+ private static final ScanFilterCompat EMPTY = new ScanFilterCompat.Builder().build() ;
+
+ private ScanFilterCompat(@Nullable String name, @Nullable String deviceAddress, @Nullable ParcelUuid uuid,
+ @Nullable ParcelUuid uuidMask, @Nullable ParcelUuid serviceDataUuid,
+ @Nullable byte[] serviceData, @Nullable byte[] serviceDataMask,
+ int manufacturerId, @Nullable byte[] manufacturerData, @Nullable byte[] manufacturerDataMask) {
+ mDeviceName = name;
+ mServiceUuid = uuid;
+ mServiceUuidMask = uuidMask;
+ mDeviceAddress = deviceAddress;
+ mServiceDataUuid = serviceDataUuid;
+ mServiceData = serviceData;
+ mServiceDataMask = serviceDataMask;
+ mManufacturerId = manufacturerId;
+ mManufacturerData = manufacturerData;
+ mManufacturerDataMask = manufacturerDataMask;
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ public ScanFilter toApi21() {
+ ScanFilter.Builder builder = new ScanFilter.Builder();
+ if (mDeviceName != null) {
+ builder.setDeviceName(mDeviceName);
+ }
+ if (mServiceUuid != null) {
+ builder.setServiceUuid(mServiceUuid, mServiceUuidMask);
+ }
+ if (mDeviceAddress != null) {
+ builder.setDeviceAddress(mDeviceAddress);
+ }
+ if (mServiceDataUuid != null) {
+ builder.setServiceData(mServiceDataUuid, mServiceData, mServiceDataMask);
+ }
+ if (mManufacturerId < 0) {
+ builder.setManufacturerData(mManufacturerId, mManufacturerData, mManufacturerDataMask);
+ }
+ return builder.build();
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeInt(mDeviceName == null ? 0 : 1);
+ if (mDeviceName != null) {
+ dest.writeString(mDeviceName);
+ }
+ dest.writeInt(mDeviceAddress == null ? 0 : 1);
+ if (mDeviceAddress != null) {
+ dest.writeString(mDeviceAddress);
+ }
+ dest.writeInt(mServiceUuid == null ? 0 : 1);
+ if (mServiceUuid != null) {
+ dest.writeParcelable(mServiceUuid, flags);
+ dest.writeInt(mServiceUuidMask == null ? 0 : 1);
+ if (mServiceUuidMask != null) {
+ dest.writeParcelable(mServiceUuidMask, flags);
+ }
+ }
+ dest.writeInt(mServiceDataUuid == null ? 0 : 1);
+ if (mServiceDataUuid != null) {
+ dest.writeParcelable(mServiceDataUuid, flags);
+ dest.writeInt(mServiceData == null ? 0 : 1);
+ if (mServiceData != null) {
+ dest.writeInt(mServiceData.length);
+ dest.writeByteArray(mServiceData);
+
+ dest.writeInt(mServiceDataMask == null ? 0 : 1);
+ if (mServiceDataMask != null) {
+ dest.writeInt(mServiceDataMask.length);
+ dest.writeByteArray(mServiceDataMask);
+ }
+ }
+ }
+ dest.writeInt(mManufacturerId);
+ dest.writeInt(mManufacturerData == null ? 0 : 1);
+ if (mManufacturerData != null) {
+ dest.writeInt(mManufacturerData.length);
+ dest.writeByteArray(mManufacturerData);
+
+ dest.writeInt(mManufacturerDataMask == null ? 0 : 1);
+ if (mManufacturerDataMask != null) {
+ dest.writeInt(mManufacturerDataMask.length);
+ dest.writeByteArray(mManufacturerDataMask);
+ }
+ }
+ }
+
+ /**
+ * A {@link Creator} to create {@link ScanFilterCompat} from parcel.
+ */
+ public static final Creator<ScanFilterCompat>
+ CREATOR = new Creator<ScanFilterCompat>() {
+
+ @Override
+ public ScanFilterCompat[] newArray(int size) {
+ return new ScanFilterCompat[size];
+ }
+
+ @Override
+ public ScanFilterCompat createFromParcel(Parcel in) {
+ Builder builder = new Builder();
+ if (in.readInt() == 1) {
+ builder.setDeviceName(in.readString());
+ }
+ if (in.readInt() == 1) {
+ builder.setDeviceAddress(in.readString());
+ }
+ if (in.readInt() == 1) {
+ ParcelUuid uuid = in.readParcelable(ParcelUuid.class.getClassLoader());
+ builder.setServiceUuid(uuid);
+ if (in.readInt() == 1) {
+ ParcelUuid uuidMask = in.readParcelable(
+ ParcelUuid.class.getClassLoader());
+ builder.setServiceUuid(uuid, uuidMask);
+ }
+ }
+ if (in.readInt() == 1) {
+ ParcelUuid servcieDataUuid =
+ in.readParcelable(ParcelUuid.class.getClassLoader());
+ if (in.readInt() == 1) {
+ int serviceDataLength = in.readInt();
+ byte[] serviceData = new byte[serviceDataLength];
+ in.readByteArray(serviceData);
+ if (in.readInt() == 0) {
+ builder.setServiceData(servcieDataUuid, serviceData);
+ }
+ else {
+ int serviceDataMaskLength = in.readInt();
+ byte[] serviceDataMask = new byte[serviceDataMaskLength];
+ in.readByteArray(serviceDataMask);
+ builder.setServiceData(
+ servcieDataUuid, serviceData, serviceDataMask);
+ }
+ }
+ }
+
+ int manufacturerId = in.readInt();
+ if (in.readInt() == 1) {
+ int manufacturerDataLength = in.readInt();
+ byte[] manufacturerData = new byte[manufacturerDataLength];
+ in.readByteArray(manufacturerData);
+ if (in.readInt() == 0) {
+ builder.setManufacturerData(manufacturerId, manufacturerData);
+ }
+ else {
+ int manufacturerDataMaskLength = in.readInt();
+ byte[] manufacturerDataMask = new byte[manufacturerDataMaskLength];
+ in.readByteArray(manufacturerDataMask);
+ builder.setManufacturerData(manufacturerId, manufacturerData,
+ manufacturerDataMask);
+ }
+ }
+
+ return builder.build();
+ }
+ };
+
+ /**
+ * Returns the filter set the device name field of Bluetooth advertisement data.
+ */
+ @Nullable
+ public String getDeviceName() {
+ return mDeviceName;
+ }
+
+ /**
+ * Returns the filter set on the service uuid.
+ */
+ @Nullable
+ public ParcelUuid getServiceUuid() {
+ return mServiceUuid;
+ }
+
+ @Nullable
+ public ParcelUuid getServiceUuidMask() {
+ return mServiceUuidMask;
+ }
+
+ @Nullable
+ public String getDeviceAddress() {
+ return mDeviceAddress;
+ }
+
+ @Nullable
+ public byte[] getServiceData() {
+ return mServiceData;
+ }
+
+ @Nullable
+ public byte[] getServiceDataMask() {
+ return mServiceDataMask;
+ }
+
+ @Nullable
+ public ParcelUuid getServiceDataUuid() {
+ return mServiceDataUuid;
+ }
+
+ /**
+ * Returns the manufacturer id. -1 if the manufacturer filter is not set.
+ */
+ public int getManufacturerId() {
+ return mManufacturerId;
+ }
+
+ @Nullable
+ public byte[] getManufacturerData() {
+ return mManufacturerData;
+ }
+
+ @Nullable
+ public byte[] getManufacturerDataMask() {
+ return mManufacturerDataMask;
+ }
+
+ /**
+ * Check if the scan filter matches a {@code scanResultCompat}. A scan result is considered as a match
+ * if it matches all the field filters.
+ */
+ public boolean matches(ScanResultCompat scanResult) {
+ if (scanResult == null) {
+ return false;
+ }
+ BluetoothDevice device = scanResult.getDevice();
+ // Device match.
+ if (mDeviceAddress != null
+ && (device == null || !mDeviceAddress.equals(device.getAddress()))) {
+ return false;
+ }
+
+ ScanRecordCompat scanRecord = scanResult.getScanRecord();
+
+ // Scan record is null but there exist filters on it.
+ if (scanRecord == null
+ && (mDeviceName != null || mServiceUuid != null || mManufacturerData != null
+ || mServiceData != null || mServiceDataUuid != null || mManufacturerId >= 0)) {
+ return false;
+ }
+
+ // Local name match.
+ if (mDeviceName != null && !mDeviceName.equals(scanRecord.getDeviceName())) {
+ return false;
+ }
+
+ // UUID match.
+ if (mServiceUuid != null && !matchesServiceUuids(mServiceUuid, mServiceUuidMask,
+ scanRecord.getServiceUuids())) {
+ return false;
+ }
+
+ // Service data match
+ if (mServiceDataUuid != null) {
+ if (!matchesPartialData(mServiceData, mServiceDataMask,
+ scanRecord.getServiceData(mServiceDataUuid))) {
+ return false;
+ }
+ }
+
+ // Manufacturer data match.
+ if (mManufacturerId >= 0 && scanRecord != null) {
+ if (!matchesPartialData(mManufacturerData, mManufacturerDataMask,
+ scanRecord.getManufacturerSpecificData(mManufacturerId))) {
+ return false;
+ }
+ }
+ // All filters match.
+ return true;
+ }
+
+ // Check if the uuid pattern is contained in a list of parcel uuids.
+ private boolean matchesServiceUuids(ParcelUuid uuid, ParcelUuid parcelUuidMask,
+ List<ParcelUuid> uuids) {
+ if (uuid == null) {
+ return true;
+ }
+ if (uuids == null) {
+ return false;
+ }
+
+ for (ParcelUuid parcelUuid : uuids) {
+ UUID uuidMask = parcelUuidMask == null ? null : parcelUuidMask.getUuid();
+ if (matchesServiceUuid(uuid.getUuid(), uuidMask, parcelUuid.getUuid())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ // Check if the uuid pattern matches the particular service uuid.
+ private boolean matchesServiceUuid(UUID uuid, UUID mask, UUID data) {
+ if (mask == null) {
+ return uuid.equals(data);
+ }
+ if ((uuid.getLeastSignificantBits() & mask.getLeastSignificantBits()) !=
+ (data.getLeastSignificantBits() & mask.getLeastSignificantBits())) {
+ return false;
+ }
+ return ((uuid.getMostSignificantBits() & mask.getMostSignificantBits()) ==
+ (data.getMostSignificantBits() & mask.getMostSignificantBits()));
+ }
+
+ // Check whether the data pattern matches the parsed data.
+ private boolean matchesPartialData(byte[] data, byte[] dataMask, byte[] parsedData) {
+ if (parsedData == null || parsedData.length < data.length) {
+ return false;
+ }
+ if (dataMask == null) {
+ for (int i = 0; i < data.length; ++i) {
+ if (parsedData[i] != data[i]) {
+ return false;
+ }
+ }
+ return true;
+ }
+ for (int i = 0; i < data.length; ++i) {
+ if ((dataMask[i] & parsedData[i]) != (dataMask[i] & data[i])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "BluetoothLeScanFilter [mDeviceName=" + mDeviceName + ", mDeviceAddress="
+ + mDeviceAddress
+ + ", mUuid=" + mServiceUuid + ", mUuidMask=" + mServiceUuidMask
+ + ", mServiceDataUuid=" + ObjectsCompat.toString(mServiceDataUuid) + ", mServiceData="
+ + Arrays.toString(mServiceData) + ", mServiceDataMask="
+ + Arrays.toString(mServiceDataMask) + ", mManufacturerId=" + mManufacturerId
+ + ", mManufacturerData=" + Arrays.toString(mManufacturerData)
+ + ", mManufacturerDataMask=" + Arrays.toString(mManufacturerDataMask) + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ return ObjectsCompat.hash(mDeviceName, mDeviceAddress, mManufacturerId, mManufacturerData,
+ mManufacturerDataMask, mServiceDataUuid, mServiceData, mServiceDataMask,
+ mServiceUuid, mServiceUuidMask);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null || getClass() != obj.getClass()) {
+ return false;
+ }
+ ScanFilterCompat other = (ScanFilterCompat) obj;
+ return (ObjectsCompat.equals(mDeviceName, other.mDeviceName) &&
+ ObjectsCompat.equals(mDeviceAddress, other.mDeviceAddress) &&
+ mManufacturerId == other.mManufacturerId &&
+ ObjectsCompat.deepEquals(mManufacturerData, other.mManufacturerData) &&
+ ObjectsCompat.deepEquals(mManufacturerDataMask, other.mManufacturerDataMask) &&
+ ObjectsCompat.deepEquals(mServiceDataUuid, other.mServiceDataUuid) &&
+ ObjectsCompat.deepEquals(mServiceData, other.mServiceData) &&
+ ObjectsCompat.deepEquals(mServiceDataMask, other.mServiceDataMask) &&
+ ObjectsCompat.equals(mServiceUuid, other.mServiceUuid) &&
+ ObjectsCompat.equals(mServiceUuidMask, other.mServiceUuidMask));
+ }
+
+ /**
+ * Checks if the scanfilter is empty
+ * @hide
+ */
+ public boolean isAllFieldsEmpty() {
+ return EMPTY.equals(this);
+ }
+
+ /**
+ * Builder class for {@link ScanFilterCompat}.
+ */
+ public static final class Builder {
+
+ private String mDeviceName;
+ private String mDeviceAddress;
+
+ private ParcelUuid mServiceUuid;
+ private ParcelUuid mUuidMask;
+
+ private ParcelUuid mServiceDataUuid;
+ private byte[] mServiceData;
+ private byte[] mServiceDataMask;
+
+ private int mManufacturerId = -1;
+ private byte[] mManufacturerData;
+ private byte[] mManufacturerDataMask;
+
+ /**
+ * Set filter on device name.
+ */
+ public Builder setDeviceName(String deviceName) {
+ mDeviceName = deviceName;
+ return this;
+ }
+
+ /**
+ * Set filter on device address.
+ *
+ * @param deviceAddress The device Bluetooth address for the filter. It needs to be in the
+ * format of "01:02:03:AB:CD:EF". The device address can be validated using
+ * {@link BluetoothAdapter#checkBluetoothAddress}.
+ * @throws IllegalArgumentException If the {@code deviceAddress} is invalid.
+ */
+ public Builder setDeviceAddress(String deviceAddress) {
+ if (deviceAddress != null && !BluetoothAdapter.checkBluetoothAddress(deviceAddress)) {
+ throw new IllegalArgumentException("invalid device address " + deviceAddress);
+ }
+ mDeviceAddress = deviceAddress;
+ return this;
+ }
+
+ /**
+ * Set filter on service uuid.
+ */
+ public Builder setServiceUuid(ParcelUuid serviceUuid) {
+ mServiceUuid = serviceUuid;
+ mUuidMask = null; // clear uuid mask
+ return this;
+ }
+
+ /**
+ * Set filter on partial service uuid. The {@code uuidMask} is the bit mask for the
+ * {@code serviceUuid}. Set any bit in the mask to 1 to indicate a match is needed for the
+ * bit in {@code serviceUuid}, and 0 to ignore that bit.
+ *
+ * @throws IllegalArgumentException If {@code serviceUuid} is {@code null} but
+ * {@code uuidMask} is not {@code null}.
+ */
+ public Builder setServiceUuid(ParcelUuid serviceUuid, ParcelUuid uuidMask) {
+ if (mUuidMask != null && mServiceUuid == null) {
+ throw new IllegalArgumentException("uuid is null while uuidMask is not null!");
+ }
+ mServiceUuid = serviceUuid;
+ mUuidMask = uuidMask;
+ return this;
+ }
+
+ /**
+ * Set filtering on service data.
+ *
+ * @throws IllegalArgumentException If {@code serviceDataUuid} is null.
+ */
+ public Builder setServiceData(ParcelUuid serviceDataUuid, byte[] serviceData) {
+ if (serviceDataUuid == null) {
+ throw new IllegalArgumentException("serviceDataUuid is null");
+ }
+ mServiceDataUuid = serviceDataUuid;
+ mServiceData = serviceData;
+ mServiceDataMask = null; // clear service data mask
+ return this;
+ }
+
+ /**
+ * Set partial filter on service data. For any bit in the mask, set it to 1 if it needs to
+ * match the one in service data, otherwise set it to 0 to ignore that bit.
+ * <p/>
+ * The {@code serviceDataMask} must have the same length of the {@code serviceData}.
+ *
+ * @throws IllegalArgumentException If {@code serviceDataUuid} is null or
+ * {@code serviceDataMask} is {@code null} while {@code serviceData} is not or
+ * {@code serviceDataMask} and {@code serviceData} has different length.
+ */
+ public Builder setServiceData(ParcelUuid serviceDataUuid,
+ byte[] serviceData, byte[] serviceDataMask) {
+ if (serviceDataUuid == null) {
+ throw new IllegalArgumentException("serviceDataUuid is null");
+ }
+ if (mServiceDataMask != null) {
+ if (mServiceData == null) {
+ throw new IllegalArgumentException(
+ "serviceData is null while serviceDataMask is not null");
+ }
+ // Since the mServiceDataMask is a bit mask for mServiceData, the lengths of the two
+ // byte array need to be the same.
+ if (mServiceData.length != mServiceDataMask.length) {
+ throw new IllegalArgumentException(
+ "size mismatch for service data and service data mask");
+ }
+ }
+ mServiceDataUuid = serviceDataUuid;
+ mServiceData = serviceData;
+ mServiceDataMask = serviceDataMask;
+ return this;
+ }
+
+ /**
+ * Set filter on on manufacturerData. A negative manufacturerId is considered as invalid id.
+ * <p/>
+ * Note the first two bytes of the {@code manufacturerData} is the manufacturerId.
+ *
+ * @throws IllegalArgumentException If the {@code manufacturerId} is invalid.
+ */
+ public Builder setManufacturerData(int manufacturerId, byte[] manufacturerData) {
+ if (manufacturerData != null && manufacturerId < 0) {
+ throw new IllegalArgumentException("invalid manufacture id");
+ }
+ mManufacturerId = manufacturerId;
+ mManufacturerData = manufacturerData;
+ mManufacturerDataMask = null; // clear manufacturer data mask
+ return this;
+ }
+
+ /**
+ * Set filter on partial manufacture data. For any bit in the mask, set it the 1 if it needs
+ * to match the one in manufacturer data, otherwise set it to 0.
+ * <p/>
+ * The {@code manufacturerDataMask} must have the same length of {@code manufacturerData}.
+ *
+ * @throws IllegalArgumentException If the {@code manufacturerId} is invalid, or
+ * {@code manufacturerData} is null while {@code manufacturerDataMask} is not,
+ * or {@code manufacturerData} and {@code manufacturerDataMask} have different
+ * length.
+ */
+ public Builder setManufacturerData(int manufacturerId, byte[] manufacturerData,
+ byte[] manufacturerDataMask) {
+ if (manufacturerData != null && manufacturerId < 0) {
+ throw new IllegalArgumentException("invalid manufacture id");
+ }
+ if (mManufacturerDataMask != null) {
+ if (mManufacturerData == null) {
+ throw new IllegalArgumentException(
+ "manufacturerData is null while manufacturerDataMask is not null");
+ }
+ // Since the mManufacturerDataMask is a bit mask for mManufacturerData, the lengths
+ // of the two byte array need to be the same.
+ if (mManufacturerData.length != mManufacturerDataMask.length) {
+ throw new IllegalArgumentException(
+ "size mismatch for manufacturerData and manufacturerDataMask");
+ }
+ }
+ mManufacturerId = manufacturerId;
+ mManufacturerData = manufacturerData;
+ mManufacturerDataMask = manufacturerDataMask;
+ return this;
+ }
+
+ /**
+ * Build {@link ScanFilterCompat}.
+ *
+ * @throws IllegalArgumentException If the filter cannot be built.
+ */
+ public ScanFilterCompat build() {
+ return new ScanFilterCompat(mDeviceName, mDeviceAddress,
+ mServiceUuid, mUuidMask,
+ mServiceDataUuid, mServiceData, mServiceDataMask,
+ mManufacturerId, mManufacturerData, mManufacturerDataMask);
+ }
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanRecordCompat.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanRecordCompat.java
new file mode 100644
index 0000000..3f232c2
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanRecordCompat.java
@@ -0,0 +1,353 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 Joe Rogers
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat;
+
+import android.annotation.TargetApi;
+import android.bluetooth.le.ScanRecord;
+import android.os.Build;
+import android.os.ParcelUuid;
+import androidx.annotation.Nullable;
+import androidx.collection.ArrayMap;
+import android.util.Log;
+import android.util.SparseArray;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Compatible version so the ScanRecord
+ */
+public class ScanRecordCompat {
+ private static final String TAG = "ScanRecordCompat";
+
+ // The following data type values are assigned by Bluetooth SIG.
+ // For more details refer to Bluetooth 4.1 specification, Volume 3, Part C, Section 18.
+ //https://devzone.nordicsemi.com/documentation/nrf51/4.2.0/html/group___b_l_e___g_a_p___a_d___t_y_p_e___d_e_f_i_n_i_t_i_o_n_s.html
+ private static final int DATA_TYPE_FLAGS = 0x01;
+ private static final int DATA_TYPE_SERVICE_UUIDS_16_BIT_PARTIAL = 0x02;
+ private static final int DATA_TYPE_SERVICE_UUIDS_16_BIT_COMPLETE = 0x03;
+ private static final int DATA_TYPE_SERVICE_UUIDS_32_BIT_PARTIAL = 0x04;
+ private static final int DATA_TYPE_SERVICE_UUIDS_32_BIT_COMPLETE = 0x05;
+ private static final int DATA_TYPE_SERVICE_UUIDS_128_BIT_PARTIAL = 0x06;
+ private static final int DATA_TYPE_SERVICE_UUIDS_128_BIT_COMPLETE = 0x07;
+ private static final int DATA_TYPE_LOCAL_NAME_SHORT = 0x08;
+ private static final int DATA_TYPE_LOCAL_NAME_COMPLETE = 0x09;
+ private static final int DATA_TYPE_TX_POWER_LEVEL = 0x0A;
+ private static final int DATA_TYPE_SERVICE_DATA = 0x16;
+ private static final int DATA_TYPE_MANUFACTURER_SPECIFIC_DATA = 0xFF;
+
+ // Flags of the advertising data.
+ private final int mAdvertiseFlags;
+
+ @Nullable
+ private final List<ParcelUuid> mServiceUuids;
+
+ private final SparseArray<byte[]> mManufacturerSpecificData;
+
+ private final Map<ParcelUuid, byte[]> mServiceData;
+
+ // Transmission power level(in dB).
+ private final int mTxPowerLevel;
+
+ // Local name of the Bluetooth LE device.
+ private final String mDeviceName;
+
+ // Raw bytes of scan record.
+ private final byte[] mBytes;
+
+ /**
+ * Returns the advertising flags indicating the discoverable mode and capability of the device.
+ * Returns -1 if the flag field is not set.
+ */
+ public int getAdvertiseFlags() {
+ return mAdvertiseFlags;
+ }
+
+ /**
+ * Returns a list of service UUIDs within the advertisement that are used to identify the
+ * bluetooth GATT services.
+ */
+ public List<ParcelUuid> getServiceUuids() {
+ return mServiceUuids;
+ }
+
+ /**
+ * Returns a sparse array of manufacturer identifier and its corresponding manufacturer specific
+ * data.
+ */
+ public SparseArray<byte[]> getManufacturerSpecificData() {
+ return mManufacturerSpecificData;
+ }
+
+ /**
+ * Returns the manufacturer specific data associated with the manufacturer id. Returns
+ * {@code null} if the {@code manufacturerId} is not found.
+ */
+ @Nullable
+ public byte[] getManufacturerSpecificData(int manufacturerId) {
+ return mManufacturerSpecificData.get(manufacturerId);
+ }
+
+ /**
+ * Returns a map of service UUID and its corresponding service data.
+ */
+ public Map<ParcelUuid, byte[]> getServiceData() {
+ return mServiceData;
+ }
+
+ /**
+ * Returns the service data byte array associated with the {@code serviceUuid}. Returns
+ * {@code null} if the {@code serviceDataUuid} is not found.
+ */
+ @Nullable
+ public byte[] getServiceData(ParcelUuid serviceDataUuid) {
+ if (serviceDataUuid == null) {
+ return null;
+ }
+ return mServiceData.get(serviceDataUuid);
+ }
+
+ /**
+ * Returns the transmission power level of the packet in dBm. Returns {@link Integer#MIN_VALUE}
+ * if the field is not set. This value can be used to calculate the path loss of a received
+ * packet using the following equation:
+ * <p>
+ * <code>pathloss = txPowerLevel - rssi</code>
+ */
+ public int getTxPowerLevel() {
+ return mTxPowerLevel;
+ }
+
+ /**
+ * Returns the local name of the BLE device. The is a UTF-8 encoded string.
+ */
+ @Nullable
+ public String getDeviceName() {
+ return mDeviceName;
+ }
+
+ /**
+ * Returns raw bytes of scan record.
+ */
+ public byte[] getBytes() {
+ return mBytes;
+ }
+
+ private ScanRecordCompat(@Nullable List<ParcelUuid> serviceUuids,
+ SparseArray<byte[]> manufacturerData,
+ Map<ParcelUuid, byte[]> serviceData,
+ int advertiseFlags, int txPowerLevel,
+ String localName, byte[] bytes) {
+ mServiceUuids = serviceUuids;
+ mManufacturerSpecificData = manufacturerData;
+ mServiceData = serviceData;
+ mDeviceName = localName;
+ mAdvertiseFlags = advertiseFlags;
+ mTxPowerLevel = txPowerLevel;
+ mBytes = bytes;
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ ScanRecordCompat(ScanRecord record) {
+ mServiceUuids = record.getServiceUuids();
+ mManufacturerSpecificData = record.getManufacturerSpecificData();
+ mServiceData = record.getServiceData();
+ mDeviceName = record.getDeviceName();
+ mAdvertiseFlags = record.getAdvertiseFlags();
+ mTxPowerLevel = record.getTxPowerLevel();
+ mBytes = record.getBytes();
+ }
+
+ /**
+ * Parse scan record bytes to {@link ScanRecordCompat}.
+ * <p>
+ * The format is defined in Bluetooth 4.1 specification, Volume 3, Part C, Section 11 and 18.
+ * <p>
+ * All numerical multi-byte entities and values shall use little-endian <strong>byte</strong>
+ * order.
+ *
+ * @param scanRecord The scan record of Bluetooth LE advertisement and/or scan response.
+ */
+ public static ScanRecordCompat parseFromBytes(byte[] scanRecord) {
+ if (scanRecord == null) {
+ return null;
+ }
+
+ int currentPos = 0;
+ int advertiseFlag = -1;
+ List<ParcelUuid> serviceUuids = new ArrayList<>();
+ String localName = null;
+ int txPowerLevel = Integer.MIN_VALUE;
+
+ SparseArray<byte[]> manufacturerData = new SparseArray<>();
+ Map<ParcelUuid, byte[]> serviceData = new ArrayMap<>();
+
+ try {
+ while (currentPos < scanRecord.length) {
+ // length is unsigned int.
+ int length = scanRecord[currentPos++] & 0xFF;
+ if (length == 0) {
+ break;
+ }
+ // Note the length includes the length of the field type itself.
+ int dataLength = length - 1;
+ // fieldType is unsigned int.
+ int fieldType = scanRecord[currentPos++] & 0xFF;
+ switch (fieldType) {
+ case DATA_TYPE_FLAGS:
+ advertiseFlag = scanRecord[currentPos] & 0xFF;
+ break;
+ case DATA_TYPE_SERVICE_UUIDS_16_BIT_PARTIAL:
+ case DATA_TYPE_SERVICE_UUIDS_16_BIT_COMPLETE:
+ parseServiceUuid(scanRecord, currentPos,
+ dataLength, BluetoothUuidCompat.UUID_BYTES_16_BIT, serviceUuids);
+ break;
+ case DATA_TYPE_SERVICE_UUIDS_32_BIT_PARTIAL:
+ case DATA_TYPE_SERVICE_UUIDS_32_BIT_COMPLETE:
+ parseServiceUuid(scanRecord, currentPos, dataLength,
+ BluetoothUuidCompat.UUID_BYTES_32_BIT, serviceUuids);
+ break;
+ case DATA_TYPE_SERVICE_UUIDS_128_BIT_PARTIAL:
+ case DATA_TYPE_SERVICE_UUIDS_128_BIT_COMPLETE:
+ parseServiceUuid(scanRecord, currentPos, dataLength,
+ BluetoothUuidCompat.UUID_BYTES_128_BIT, serviceUuids);
+ break;
+ case DATA_TYPE_LOCAL_NAME_SHORT:
+ case DATA_TYPE_LOCAL_NAME_COMPLETE:
+ localName = new String(
+ extractBytes(scanRecord, currentPos, dataLength));
+ break;
+ case DATA_TYPE_TX_POWER_LEVEL:
+ txPowerLevel = scanRecord[currentPos];
+ break;
+ case DATA_TYPE_SERVICE_DATA:
+ // The first two bytes of the service data are service data UUID in little
+ // endian. The rest bytes are service data.
+ int serviceUuidLength = BluetoothUuidCompat.UUID_BYTES_16_BIT;
+ byte[] serviceDataUuidBytes = extractBytes(scanRecord, currentPos,
+ serviceUuidLength);
+ ParcelUuid serviceDataUuid = BluetoothUuidCompat.parseUuidFrom(
+ serviceDataUuidBytes);
+ byte[] serviceDataArray = extractBytes(scanRecord,
+ currentPos + serviceUuidLength, dataLength - serviceUuidLength);
+ serviceData.put(serviceDataUuid, serviceDataArray);
+ break;
+ case DATA_TYPE_MANUFACTURER_SPECIFIC_DATA:
+ // The first two bytes of the manufacturer specific data are
+ // manufacturer ids in little endian.
+ int manufacturerId = ((scanRecord[currentPos + 1] & 0xFF) << 8) +
+ (scanRecord[currentPos] & 0xFF);
+ byte[] manufacturerDataBytes = extractBytes(scanRecord, currentPos + 2,
+ dataLength - 2);
+ manufacturerData.put(manufacturerId, manufacturerDataBytes);
+ break;
+ default:
+ // Just ignore, we don't handle such data type.
+ break;
+ }
+ currentPos += dataLength;
+ }
+
+ if (serviceUuids.isEmpty()) {
+ serviceUuids = null;
+ }
+ return new ScanRecordCompat(serviceUuids, manufacturerData, serviceData,
+ advertiseFlag, txPowerLevel, localName, scanRecord);
+ } catch (Exception e) {
+ Log.e(TAG, "unable to parse scan record: " + Arrays.toString(scanRecord));
+ // As the record is invalid, ignore all the parsed results for this packet
+ // and return an empty record with raw scanRecord bytes in results
+ return new ScanRecordCompat(null, null, null, -1, Integer.MIN_VALUE, null, scanRecord);
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "ScanRecord [mAdvertiseFlags=" + mAdvertiseFlags + ", mServiceUuids=" + mServiceUuids
+ + ", mManufacturerSpecificData=" + toString(mManufacturerSpecificData)
+ + ", mServiceData=" + toString(mServiceData)
+ + ", mTxPowerLevel=" + mTxPowerLevel + ", mDeviceName=" + mDeviceName + "]";
+ }
+
+ // Parse service UUIDs.
+ private static int parseServiceUuid(byte[] scanRecord, int currentPos, int dataLength,
+ int uuidLength, List<ParcelUuid> serviceUuids) {
+ while (dataLength > 0) {
+ byte[] uuidBytes = extractBytes(scanRecord, currentPos,
+ uuidLength);
+ serviceUuids.add(BluetoothUuidCompat.parseUuidFrom(uuidBytes));
+ dataLength -= uuidLength;
+ currentPos += uuidLength;
+ }
+ return currentPos;
+ }
+
+ // Helper method to extract bytes from byte array.
+ private static byte[] extractBytes(byte[] scanRecord, int start, int length) {
+ byte[] bytes = new byte[length];
+ System.arraycopy(scanRecord, start, bytes, 0, length);
+ return bytes;
+ }
+
+ /**
+ * Returns a string composed from a {@link SparseArray}.
+ */
+ static String toString(SparseArray<byte[]> array) {
+ if (array == null) {
+ return "null";
+ }
+ if (array.size() == 0) {
+ return "{}";
+ }
+ StringBuilder buffer = new StringBuilder();
+ buffer.append('{');
+ for (int i = 0; i < array.size(); ++i) {
+ buffer.append(array.keyAt(i)).append("=").append(Arrays.toString(array.valueAt(i)));
+ }
+ buffer.append('}');
+ return buffer.toString();
+ }
+
+ /**
+ * Returns a string composed from a {@link Map}.
+ */
+ static <T> String toString(Map<T, byte[]> map) {
+ if (map == null) {
+ return "null";
+ }
+ if (map.isEmpty()) {
+ return "{}";
+ }
+ StringBuilder buffer = new StringBuilder();
+ buffer.append('{');
+ Iterator<Map.Entry<T, byte[]>> it = map.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry<T, byte[]> entry = it.next();
+ T key = entry.getKey();
+ buffer.append(key).append("=").append(Arrays.toString(map.get(key)));
+ if (it.hasNext()) {
+ buffer.append(", ");
+ }
+ }
+ buffer.append('}');
+ return buffer.toString();
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanResultCompat.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanResultCompat.java
new file mode 100644
index 0000000..09b92a3
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanResultCompat.java
@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 Joe Rogers
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat;
+
+import android.annotation.TargetApi;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.le.ScanResult;
+import android.os.Build;
+import android.os.Parcel;
+import android.os.Parcelable;
+import androidx.annotation.Nullable;
+
+import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
+
+/**
+ * Backwards compatible version of a ScanResult
+ */
+public class ScanResultCompat implements Parcelable {
+ // Remote bluetooth device.
+ private BluetoothLeDevice mDevice;
+
+ // Scan record, including advertising data and scan response data.
+ @Nullable
+ private ScanRecordCompat mScanRecord;
+
+ // Received signal strength.
+ private int mRssi;
+
+ // Device timestamp when the result was last seen.
+ private long mTimestampNanos;
+
+ /**
+ * Constructor of scan result.
+ *
+ * @param device Remote bluetooth device that is found.
+ * @param scanRecord Scan record including both advertising data and scan response data.
+ * @param rssi Received signal strength.
+ * @param timestampNanos Device timestamp when the scan result was observed.
+ */
+ public ScanResultCompat(BluetoothDevice device, @Nullable ScanRecordCompat scanRecord, int rssi,
+ long timestampNanos) {
+ mDevice = new BluetoothLeDevice(device, rssi, scanRecord.getBytes(), timestampNanos);
+ mScanRecord = scanRecord;
+ mRssi = rssi;
+ mTimestampNanos = timestampNanos;
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ ScanResultCompat(ScanResult result) {
+ mDevice = new BluetoothLeDevice(result.getDevice(), result.getRssi(), result.getScanRecord().getBytes(), System.currentTimeMillis());//result.getTimestampNanos()
+ mScanRecord = new ScanRecordCompat(result.getScanRecord());
+ mRssi = result.getRssi();
+ mTimestampNanos = System.currentTimeMillis();//result.getTimestampNanos();
+ }
+
+ private ScanResultCompat(Parcel in) {
+ readFromParcel(in);
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ if (mDevice != null) {
+ dest.writeInt(1);
+ mDevice.writeToParcel(dest, flags);
+ }
+ else {
+ dest.writeInt(0);
+ }
+ if (mScanRecord != null) {
+ dest.writeInt(1);
+ dest.writeByteArray(mScanRecord.getBytes());
+ }
+ else {
+ dest.writeInt(0);
+ }
+ dest.writeInt(mRssi);
+ dest.writeLong(mTimestampNanos);
+ }
+
+ private void readFromParcel(Parcel in) {
+ if (in.readInt() == 1) {
+ mDevice = BluetoothLeDevice.CREATOR.createFromParcel(in);
+ }
+ if (in.readInt() == 1) {
+ mScanRecord = ScanRecordCompat.parseFromBytes(in.createByteArray());
+ }
+ mRssi = in.readInt();
+ mTimestampNanos = in.readLong();
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ /**
+ * Returns the remote bluetooth device identified by the bluetooth device address.
+ */
+ public BluetoothLeDevice getLeDevice() {
+ return mDevice;
+ }
+
+ /**
+ * Returns the remote bluetooth device identified by the bluetooth device address.
+ * @return
+ */
+ public BluetoothDevice getDevice() {
+ if (mDevice != null){
+ return mDevice.getDevice();
+ }
+ return null;
+ }
+
+ /**
+ * Returns the scan record, which is a combination of advertisement and scan response.
+ */
+ @Nullable
+ public ScanRecordCompat getScanRecord() {
+ return mScanRecord;
+ }
+
+ /**
+ * Returns the received signal strength in dBm. The valid range is [-127, 127].
+ */
+ public int getRssi() {
+ return mRssi;
+ }
+
+ /**
+ * Returns timestamp since boot when the scan record was observed.
+ */
+ public long getTimestampNanos() {
+ return mTimestampNanos;
+ }
+
+ @Override
+ public int hashCode() {
+ return ObjectsCompat.hash(mDevice, mRssi, mScanRecord, mTimestampNanos);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null || getClass() != obj.getClass()) {
+ return false;
+ }
+ ScanResultCompat other = (ScanResultCompat) obj;
+ return ObjectsCompat.equals(mDevice, other.mDevice) && (mRssi == other.mRssi) &&
+ ObjectsCompat.equals(mScanRecord, other.mScanRecord)
+ && (mTimestampNanos == other.mTimestampNanos);
+ }
+
+ @Override
+ public String toString() {
+ return "ScanResult{" + "mDevice=" + mDevice + ", mScanRecord="
+ + ObjectsCompat.toString(mScanRecord) + ", mRssi=" + mRssi + ", mTimestampNanos="
+ + mTimestampNanos + '}';
+ }
+
+ public static final Creator<ScanResultCompat> CREATOR = new Creator<ScanResultCompat>() {
+ @Override
+ public ScanResultCompat createFromParcel(Parcel source) {
+ return new ScanResultCompat(source);
+ }
+
+ @Override
+ public ScanResultCompat[] newArray(int size) {
+ return new ScanResultCompat[size];
+ }
+ };
+
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanSettingsCompat.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanSettingsCompat.java
new file mode 100644
index 0000000..055dfa5
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/scan/bluetoothcompat/ScanSettingsCompat.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ * Copyright (C) 2015 Joe Rogers
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.blakequ.bluetooth_manager_lib.scan.bluetoothcompat;
+
+import android.annotation.TargetApi;
+import android.bluetooth.le.ScanSettings;
+import android.os.Build;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * Compatible version of ScanSettings
+ */
+public class ScanSettingsCompat implements Parcelable {
+ /**
+ * Perform Bluetooth LE scan in low power mode. This is the default scan mode as it consumes the
+ * least power.
+ */
+ public static final int SCAN_MODE_LOW_POWER = 0;
+
+ /**
+ * Perform Bluetooth LE scan in balanced power mode. Scan results are returned at a rate that
+ * provides a good trade-off between scan frequency and power consumption.
+ */
+ public static final int SCAN_MODE_BALANCED = 1;
+
+ /**
+ * Scan using highest duty cycle. It's recommended to only use this mode when the application is
+ * running in the foreground.
+ */
+ public static final int SCAN_MODE_LOW_LATENCY = 2;
+
+ /**
+ * Trigger a callback for every Bluetooth advertisement found that matches the filter criteria.
+ * If no filter is active, all advertisement packets are reported.
+ */
+ public static final int CALLBACK_TYPE_ALL_MATCHES = 1;
+
+ // Bluetooth LE scan mode.
+ private final int mScanMode;
+
+ // Bluetooth LE scan callback type
+ private final int mCallbackType;
+
+ // Time of delay for reporting the scan result
+ private final long mReportDelayMillis;
+
+ public int getScanMode() {
+ return mScanMode;
+ }
+
+ public int getCallbackType() {
+ return mCallbackType;
+ }
+
+ /**
+ * Returns report delay timestamp based on the device clock.
+ */
+ public long getReportDelayMillis() {
+ return mReportDelayMillis;
+ }
+
+ private ScanSettingsCompat(int scanMode, int callbackType,
+ long reportDelayMillis) {
+ mScanMode = scanMode;
+ mCallbackType = callbackType;
+ mReportDelayMillis = reportDelayMillis;
+ }
+
+ private ScanSettingsCompat(Parcel in) {
+ mScanMode = in.readInt();
+ mCallbackType = in.readInt();
+ mReportDelayMillis = in.readLong();
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ ScanSettings toApi21() {
+ return new ScanSettings.Builder()
+ .setReportDelay(getReportDelayMillis())
+ .setScanMode(getScanMode())
+ .build();
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeInt(mScanMode);
+ dest.writeInt(mCallbackType);
+ dest.writeLong(mReportDelayMillis);
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ public static final Creator<ScanSettingsCompat>
+ CREATOR = new Creator<ScanSettingsCompat>() {
+ @Override
+ public ScanSettingsCompat[] newArray(int size) {
+ return new ScanSettingsCompat[size];
+ }
+
+ @Override
+ public ScanSettingsCompat createFromParcel(Parcel in) {
+ return new ScanSettingsCompat(in);
+ }
+ };
+
+ /**
+ * Builder for {@link ScanSettingsCompat}.
+ */
+ public static final class Builder {
+ private int mScanMode = SCAN_MODE_LOW_POWER;
+ private final int mCallbackType = CALLBACK_TYPE_ALL_MATCHES;
+ private long mReportDelayMillis = 0;
+
+ /**
+ * Set scan mode for Bluetooth LE scan.
+ *
+ * @param scanMode The scan mode can be one of {@link ScanSettingsCompat#SCAN_MODE_LOW_POWER},
+ * {@link ScanSettingsCompat#SCAN_MODE_BALANCED} or
+ * {@link ScanSettingsCompat#SCAN_MODE_LOW_LATENCY}.
+ * @throws IllegalArgumentException If the {@code scanMode} is invalid.
+ */
+ public Builder setScanMode(int scanMode) {
+ if (scanMode < SCAN_MODE_LOW_POWER || scanMode > SCAN_MODE_LOW_LATENCY) {
+ throw new IllegalArgumentException("invalid scan mode " + scanMode);
+ }
+ mScanMode = scanMode;
+ return this;
+ }
+
+ // Returns true if the callbackType is valid.
+ private boolean isValidCallbackType(int callbackType) {
+ return callbackType == CALLBACK_TYPE_ALL_MATCHES;
+ }
+
+ /**
+ * Set report delay timestamp for Bluetooth LE scan.
+ *
+ * @param reportDelayMillis Delay of report in milliseconds. Set to 0 to be notified of
+ * results immediately. Values > 0 causes the scan results to be queued up and
+ * delivered after the requested delay or when the internal buffers fill up.
+ * @throws IllegalArgumentException If {@code reportDelayMillis} < 0.
+ */
+ public Builder setReportDelay(long reportDelayMillis) {
+ if (reportDelayMillis < 0) {
+ throw new IllegalArgumentException("reportDelay must be > 0");
+ }
+ mReportDelayMillis = reportDelayMillis;
+ return this;
+ }
+
+ /**
+ * Build {@link ScanSettingsCompat}.
+ */
+ public ScanSettingsCompat build() {
+ return new ScanSettingsCompat(mScanMode, mCallbackType, mReportDelayMillis);
+ }
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/BluetoothUtils.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/BluetoothUtils.java
new file mode 100644
index 0000000..e08936e
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/BluetoothUtils.java
@@ -0,0 +1,137 @@
+package com.blakequ.bluetooth_manager_lib.util;
+
+import android.app.Activity;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothGattCharacteristic;
+import android.bluetooth.BluetoothManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.util.Log;
+
+/**
+ * the utils of bluetooth
+ *
+ * <li>
+ * <li>1.check phone is supports BLE features{@link #isBluetoothLeSupported(Context)}
+ * <li>2.the bluetooth is open or enable{@link #isBluetoothIsEnable()}
+ * <li>3.if the bluetooth is closed you can using this method open system setting to open bluetooth{@link #askUserToEnableBluetoothIfNeeded(Activity)}??{@link #openBlueToothSetting(Activity)}
+ */
+public final class BluetoothUtils {
+ private static String TAG = "BluetoothUtils";
+ public final static int REQUEST_ENABLE_BT = 2001;
+ private BluetoothAdapter mBluetoothAdapter = null;
+ private BluetoothManager mBluetoothManager = null;
+ private static BluetoothUtils mBluetoothUtils;
+ private Context mContext;
+
+ public static synchronized BluetoothUtils getInstance(Context mContext){
+ if (mBluetoothUtils == null){
+ mBluetoothUtils = new BluetoothUtils(mContext);
+ }
+ return mBluetoothUtils;
+ }
+
+ private BluetoothUtils(Context mContext) {
+ this.mContext = mContext;
+ }
+
+ /**
+ * get adapter
+ * @return
+ */
+ public BluetoothAdapter getBluetoothAdapter() {
+ if (mBluetoothAdapter == null) {
+ // Initializes Bluetooth adapter.
+ if (mBluetoothManager == null){
+ mBluetoothManager = (BluetoothManager) mContext.getSystemService(Context.BLUETOOTH_SERVICE);
+ }
+ mBluetoothAdapter = mBluetoothManager.getAdapter();
+ if (mBluetoothAdapter == null) {
+ Log.e(TAG, "Failed to construct a BluetoothAdapter");
+ }
+ }
+ return mBluetoothAdapter;
+ }
+
+ /**
+ * bluetooth is enable
+ */
+ public boolean isBluetoothIsEnable(){
+ if (getBluetoothAdapter() == null || !isBluetoothLeSupported(mContext)) {
+ return false;
+ }
+
+ return getBluetoothAdapter().isEnabled();
+ }
+
+ /**
+ * open system setting to open bluetooth
+ * <p>Notification of the result of this activity is posted using the
+ * {@link android.app.Activity#onActivityResult} callback. The
+ * <code>resultCode</code>
+ * will be {@link android.app.Activity#RESULT_OK} if Bluetooth has been
+ * turned on or {@link android.app.Activity#RESULT_CANCELED} if the user
+ * has rejected the request or an error has occurred.
+ */
+ public void askUserToEnableBluetoothIfNeeded(Activity activity) {
+ if (isBluetoothLeSupported(activity) && (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled())) {
+ final Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
+ activity.startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
+ }
+ }
+
+ /**
+ * you phone is support bluetooth feature
+ * @return
+ */
+ public static boolean isBluetoothLeSupported(Context context) {
+ return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE);
+ }
+
+ /**
+ * open system setting to open bluetooth
+ * <p>Notification of the result of this activity is posted using the
+ * {@link android.app.Activity#onActivityResult} callback. The
+ * <code>resultCode</code>
+ * will be {@link android.app.Activity#RESULT_OK} if Bluetooth has been
+ * turned on or {@link android.app.Activity#RESULT_CANCELED} if the user
+ * has rejected the request or an error has occurred.
+ * @param mActivity
+ */
+ public static void openBlueToothSetting(Activity mActivity){
+ final Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
+ mActivity.startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
+ }
+
+ public static boolean isCharacteristicRead(int property){
+ if ((property & BluetoothGattCharacteristic.PROPERTY_READ) > 0) {
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean isCharacteristicWrite(int property){
+ if ((property & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) > 0
+ || (property & BluetoothGattCharacteristic.PROPERTY_WRITE) > 0) {
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean isCharacteristicNotify(int property){
+ if ((property & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0
+ || (property & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0) {
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean isCharacteristicBroadcast(int property){
+ if ((property & BluetoothGattCharacteristic.PROPERTY_BROADCAST) > 0){
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/ByteUtils.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/ByteUtils.java
new file mode 100644
index 0000000..fcbc253
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/ByteUtils.java
@@ -0,0 +1,178 @@
+package com.blakequ.bluetooth_manager_lib.util;
+
+import android.util.SparseArray;
+
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.Map;
+
+public class ByteUtils {
+
+ /**
+ * The Constant HEXES.
+ */
+ private static final String HEXES = "0123456789ABCDEF";
+
+ private ByteUtils(){
+ // TO AVOID INSTANTIATION
+ }
+
+ /**
+ * Gets a pretty representation of a Byte Array as a HEX String.
+ * <p>
+ * Sample output: [01, 30, FF, AA]
+ *
+ * @param array the array
+ * @return the string
+ */
+ public static String byteArrayToHexString(final byte[] array) {
+ final StringBuilder sb = new StringBuilder();
+ boolean firstEntry = true;
+ sb.append('[');
+
+ for (final byte b : array) {
+ if (!firstEntry) {
+ sb.append(", ");
+ }
+ sb.append(HEXES.charAt((b & 0xF0) >> 4));
+ sb.append(HEXES.charAt((b & 0x0F)));
+ firstEntry = false;
+ }
+
+ sb.append(']');
+ return sb.toString();
+ }
+
+ /**
+ * Checks to see if a byte array starts with another byte array.
+ *
+ * @param array the array
+ * @param prefix the prefix
+ * @return true, if successful
+ */
+ public static boolean doesArrayBeginWith(final byte[] array, final byte[] prefix) {
+ if (array.length < prefix.length) {
+ return false;
+ }
+
+ for (int i = 0; i < prefix.length; i++) {
+ if (array[i] != prefix[i]) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Converts a byte array with a length of 2 into an int
+ *
+ * @param input the input
+ * @return the int from the array
+ */
+ public static int getIntFrom2ByteArray(final byte[] input) {
+ final byte[] result = new byte[4];
+
+ result[0] = 0;
+ result[1] = 0;
+ result[2] = input[0];
+ result[3] = input[1];
+
+ return ByteUtils.getIntFromByteArray(result);
+ }
+
+ /**
+ * Converts a byte to an int, preserving the sign.
+ * <p>
+ * For example, FF will be converted to 255 and not -1.
+ *
+ * @param bite the byte
+ * @return the int from byte
+ */
+ public static int getIntFromByte(final byte bite) {
+ return bite & 0xFF;
+ }
+
+ /**
+ * Converts a byte array to an int.
+ *
+ * @param bytes the bytes
+ * @return the int from byte array
+ */
+ public static int getIntFromByteArray(final byte[] bytes) {
+ return ByteBuffer.wrap(bytes).getInt();
+ }
+
+ /**
+ * Converts a byte array to a long.
+ *
+ * @param bytes the bytes
+ * @return the long from byte array
+ */
+ public static long getLongFromByteArray(final byte[] bytes) {
+ return ByteBuffer.wrap(bytes).getLong();
+ }
+
+
+ /**
+ * Inverts an byte array in place.
+ *
+ * @param array the array
+ */
+ public static void invertArray(final byte[] array) {
+ final int size = array.length;
+ byte temp;
+
+ for (int i = 0; i < size / 2; i++) {
+ temp = array[i];
+ array[i] = array[size - 1 - i];
+ array[size - 1 - i] = temp;
+ }
+ }
+
+ /**
+ * Returns a string composed from a {@link SparseArray}.
+ */
+ public static String toString(SparseArray<byte[]> array) {
+ if (array == null) {
+ return "null";
+ }
+ if (array.size() == 0) {
+ return "{}";
+ }
+ StringBuilder buffer = new StringBuilder();
+ buffer.append('{');
+ for (int i = 0; i < array.size(); ++i) {
+ buffer.append(array.keyAt(i)).append("=").append(array.valueAt(i));
+ }
+ buffer.append('}');
+ return buffer.toString();
+ }
+
+
+ /**
+ * Returns a string composed from a {@link Map}.
+ */
+ public static <T> String toString(Map<T, byte[]> map) {
+ if (map == null) {
+ return "null";
+ }
+ if (map.isEmpty()) {
+ return "{}";
+ }
+ StringBuilder buffer = new StringBuilder();
+ buffer.append('{');
+ Iterator<Map.Entry<T, byte[]>> it = map.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry<T, byte[]> entry = it.next();
+ Object key = entry.getKey();
+ buffer.append(key).append("=").append(Arrays.toString(map.get(key)));
+ if (it.hasNext()) {
+ buffer.append(", ");
+ }
+ }
+ buffer.append('}');
+ return buffer.toString();
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/LimitedLinkHashMap.java b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/LimitedLinkHashMap.java
new file mode 100644
index 0000000..b0dc7f1
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/java/com/blakequ/bluetooth_manager_lib/util/LimitedLinkHashMap.java
@@ -0,0 +1,19 @@
+package com.blakequ.bluetooth_manager_lib.util;
+
+import java.util.LinkedHashMap;
+
+public class LimitedLinkHashMap<K, V> extends LinkedHashMap<K, V> {
+ private static final long serialVersionUID = -5375660288461724925L;
+
+ private final int mMaxSize;
+
+ public LimitedLinkHashMap(final int maxSize) {
+ super(maxSize + 1, 1, false);
+ mMaxSize = maxSize;
+ }
+
+ @Override
+ protected boolean removeEldestEntry(final Entry<K, V> eldest) {
+ return this.size() > mMaxSize;
+ }
+}
diff --git a/bluetooth-manager-lib/src/main/res/values/strings.xml b/bluetooth-manager-lib/src/main/res/values/strings.xml
new file mode 100644
index 0000000..273544b
--- /dev/null
+++ b/bluetooth-manager-lib/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+<resources>
+ <string name="app_name">bluetooth-manager-lib</string>
+</resources>
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..e47b6b9
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,15 @@
+buildscript {
+ ext {
+ agp_version = '8.6.0'
+ }
+}// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+
+plugins {
+ id 'com.android.application' version '8.6.0' apply false
+ id 'com.android.library' version '7.2.1' apply false
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
+}
\ No newline at end of file
diff --git a/comb.jks b/comb.jks
new file mode 100644
index 0000000..e71eaa8
--- /dev/null
+++ b/comb.jks
Binary files differ
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..dab7c28
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,21 @@
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app"s APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Enables namespacing of each library's R class so that its R class includes only the
+# resources declared in the library itself and none from the library's dependencies,
+# thereby reducing the size of the R class for that library
+android.nonTransitiveRClass=true
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..e40670f
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1,19 @@
+pluginManagement {
+ repositories {
+ gradlePluginPortal()
+ google()
+ mavenCentral()
+ }
+}
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ mavenCentral()
+ maven { url 'https://jitpack.io' }
+ }
+}
+rootProject.name = "comb-android"
+include ':app'
+include ':bluetooth-manager-lib'
+
--
Gitblit v1.9.3