diff --git a/README.md b/README.md
index ac2fc50..69c524e 100644
--- a/README.md
+++ b/README.md
@@ -18,14 +18,14 @@ You can try the demo in one of two ways:
### Gradle
- compile 'uk.co.markormesher:android-fab:2.0.0'
+ compile 'uk.co.markormesher:android-fab:2.3.1'
### Maven
uk.co.markormesher
android-fab
- 2.0.0
+ 2.3.1
pom
@@ -43,7 +43,7 @@ See [app/proguard-rules.pro](app/proguard-rules.pro) for an example.
// Java
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
-
+
// Kotlin (without Android extensions)
val fab = findViewById(R.id.fab) as FloatingActionButton
@@ -63,17 +63,17 @@ The FAB can be positioned in any of the four corners of the activity via XML or
// Java
fab.setButtonPosition(POSITION_BOTTOM | POSITION_END);
-
+
// Kotlin
fab.setButtonPosition(POSITION_BOTTOM.or(POSITION_END))
-
+
// XML
-
+
The FAB is aware of text-direction (right-to-left or left-to-right) and adjusts the meaning of "start" and "end" positions accordingly. This functionality can be overridden using the named constants for left and right.
### FAB Icon
@@ -82,10 +82,10 @@ The icon displayed in the centre of the FAB can be set via XML using a `Drawable
// Java
fab.setButtonIconResource(R.drawable.ic_add);
-
+
// Kotlin
fab.setButtonIconResource(R.drawable.ic_add)
-
+
// XML
// ...
@@ -129,7 +129,7 @@ A click listener can be added to the FAB in the same way as any other button. Th
### Speed-Dial Menu
-The speed-dial menu is enabled by creating a class that extends `SpeedDialMenuAdapter` and passing it to `fab.setSpeedDialMenuAdapter(...)`. The adapter class methods are [documented in-situ](fab/src/main/java/uk/co/markormesher/android_fab/SpeedDialMenuAdapter.kt).
+The speed-dial menu is enabled by creating a class that extends `SpeedDialMenuAdapter` and passing it to `fab.setSpeedDialMenuAdapter(...)`. The adapter class methods are [documented in-situ](fab/src/main/kotlin/uk/co/markormesher/android_fab/SpeedDialMenuAdapter.kt).
### Speed-Dial Menu Content Cover
@@ -139,7 +139,7 @@ The colour of the content cover can be set programmatically with `fab.setContent
// Java
fab.setContentCoverColour(0xffff9900);
-
+
// Kotlin
fab.setContentCoverColour(0xffff9900.toInt())
@@ -148,7 +148,7 @@ The cover can be enabled/disabled programmatically with `fab.setContentCoverEnab
// Java
fab.setContentCoverEnabled(true);
fab.setContentCoverEnabled(false);
-
+
// Kotlin
fab.setContentCoverEnabled(true)
fab.setContentCoverEnabled(false)
@@ -164,7 +164,7 @@ State change events are fired when the speed-dial menu opens or closes, which ca
// ...
}
});
-
+
// Kotlin
fab.setOnSpeedDialMenuOpenListener { floatingActionButton ->
// ...
@@ -172,10 +172,28 @@ State change events are fired when the speed-dial menu opens or closes, which ca
### Show/Hide Controls
-The FAB can be hidden and shown with the `fab.hide()` and `fab.show()` methods, and the method `fab.isShown()` will return a boolean indicating the current state. These methods animate the FAB in and out of visibility. If the speed-dial menu is open when `.hide()` is called it will be closed.
+The FAB can be hidden and shown with the `fab.hide()` and `fab.show()` methods, and the method `fab.isShown()` will return a boolean indicating the current state. These methods animate the FAB in and out of visibility. If the speed-dial menu is open when `.hide()` is called it will be closed.
The speed-dial menu can be manually opened and closed with `fab.openSpeedDialMenu()` and `fab.closeSpeedDialMenu()`. These methods will do nothing if no speed-dial menu adapter is set, if an adapter is set but disabled, if the FAB is hidden, or if they are called when the menu is already in the indicated state (i.e. `fab.openSpeedDialMenu()` will do nothing if the menu is already open).
+### Access to Underlying Views
+
+The FAB's key underlying views can be accessed using the three properties/methods detailed below:
+
+ // Java
+ fab.getCardView() // the card behind the button itself
+ fab.getContentCoverView() // the view that obscures content behind the speed-dial menu
+ fab.getIconWrapper() // the wrapper used to place icons in the button
+
+ // Kotlin
+ fab.cardView
+ fab.contentCoverView
+ fab.iconWrapper
+
+The card view is implemented as a `CardView` on SDK 21+ and a `LinearLayout` on SDK 20 and below.
+
+The content cover view and icon wrapper are implemented as a `View` and `LinearLayout` respectively on all SDKs.
+
### Note: Click Action Priority
As per Material Design specs, the FAB functions as a regular button **or** a trigger for the speed-dial menu, but not both. For this reason, the click listener and the speed-dial menu are never invoked at the same time.
@@ -183,7 +201,7 @@ As per Material Design specs, the FAB functions as a regular button **or** a tri
The speed-dial menu is given priority: when the FAB is clicked the speed-dial menu will be shown if the speed-dial menu adapter is non-null, the adapter's `isEnabled()` function returns `true` and the adapter's `getCount()` returns a number greater than zero. Otherwise, the FAB's click listener will be called (if it has been set).
Setting a speed-dial menu adapter does not remove the click listener, and setting a click listener does not remove the speed-dial menu adapter. For an example of how the two operation modes interact, check the demo app's source code.
-
+
To receive state change updates when the speed-dial menu is opened or closed, use the open/close listeners described above.
### Note: State Preservation
diff --git a/app/build.gradle b/app/build.gradle
index ec85127..2844f79 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,10 +1,14 @@
buildscript {
repositories {
jcenter()
+ maven {
+ url "https://maven.google.com"
+ }
+ google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.3.0'
+ classpath 'com.android.tools.build:gradle:3.1.3'
}
}
@@ -16,14 +20,14 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
- compileSdkVersion 26
- buildToolsVersion "26.0.1"
+ compileSdkVersion 27
+ buildToolsVersion '27.0.3'
defaultConfig {
applicationId "uk.co.markormesher.android_fab.app"
minSdkVersion 14
- targetSdkVersion 26
+ targetSdkVersion 27
versionCode properties['version_code']
versionName properties['version_name']
@@ -58,10 +62,6 @@ android {
}
debug {
- // signing
- //noinspection GroovyAssignabilityCheck
- signingConfig signingConfigs.main
-
// minify
minifyEnabled false
@@ -74,12 +74,17 @@ android {
repositories {
jcenter()
+ maven {
+ url "https://maven.google.com"
+ }
+ google()
}
dependencies {
- compile fileTree(include: ['*.jar'], dir: 'libs')
- compile 'com.android.support:support-v4:26.0.1'
- compile 'com.android.support:appcompat-v7:26.0.1'
- compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
- compile project(':fab')
+ implementation fileTree(include: ['*.jar'], dir: 'libs')
+ implementation 'com.android.support:support-v4:27.1.1'
+ implementation 'com.android.support:design:27.1.1'
+ implementation 'com.android.support:appcompat-v7:27.1.1'
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+ implementation project(':fab')
}
diff --git a/app/src/main/kotlin/uk/co/markormesher/android_fab/app/DemoActivity.kt b/app/src/main/kotlin/uk/co/markormesher/android_fab/app/DemoActivity.kt
index 9a5aeb2..fb8b124 100644
--- a/app/src/main/kotlin/uk/co/markormesher/android_fab/app/DemoActivity.kt
+++ b/app/src/main/kotlin/uk/co/markormesher/android_fab/app/DemoActivity.kt
@@ -1,13 +1,16 @@
package uk.co.markormesher.android_fab.app
import android.content.Context
+import android.graphics.Typeface
import android.os.*
import android.support.annotation.StringRes
+import android.support.design.widget.Snackbar
import android.support.v7.app.AppCompatActivity
import android.view.KeyEvent
import android.view.Menu
import android.view.MenuItem
import android.view.MotionEvent
+import android.widget.TextView
import android.widget.Toast
import kotlinx.android.synthetic.main.demo_activity.*
import uk.co.markormesher.android_fab.FloatingActionButton
@@ -63,14 +66,21 @@ class DemoActivity: AppCompatActivity() {
Pair("Faint Orange", 0xccff9900.toInt())
)
+ private val snackbarEnabledOptions = arrayOf(
+ Pair("Off", 0),
+ Pair("On", 1)
+ )
+
private var buttonShown = 0
private var buttonPosition = 0
private var buttonBackgroundColour = 0
private var buttonIcon = 0
private var speedDialSize = 0
private var contentCoverColour = 0
+ private var snackbarEnabled = 0
private var activeToast: Toast? = null
+ private var snackbar: Snackbar? = null
private var clickCounter = 0
private var stressTestActive = false
@@ -99,6 +109,14 @@ class DemoActivity: AppCompatActivity() {
return true
}
+ override fun onPrepareItemLabel(context: Context, position: Int, label: TextView) {
+ // make the first item bold if there are multiple items
+ // (this isn't a design pattern, it's just to demo the functionality)
+ if (position == 0 && speedDialSize > 1) {
+ label.setTypeface(label.typeface, Typeface.BOLD)
+ }
+ }
+
// rotate the "+" icon only
override fun fabRotationDegrees(): Float = if (buttonIcon == 0) 135F else 0F
}
@@ -121,6 +139,7 @@ class DemoActivity: AppCompatActivity() {
updateButtonIcon()
updateSpeedDialSize()
updateContentCoverColour()
+ updateSnackbarEnabled()
if (stressTestActive) {
startStressTest()
@@ -135,6 +154,7 @@ class DemoActivity: AppCompatActivity() {
outState.putInt("buttonIcon", buttonIcon)
outState.putInt("speedDialSize", speedDialSize)
outState.putInt("contentCoverColour", contentCoverColour)
+ outState.putInt("snackbarEnabled", snackbarEnabled)
outState.putBoolean("stressTestActive", stressTestActive)
}
@@ -147,6 +167,7 @@ class DemoActivity: AppCompatActivity() {
buttonIcon = savedInstanceState.getInt("buttonIcon")
speedDialSize = savedInstanceState.getInt("speedDialSize")
contentCoverColour = savedInstanceState.getInt("contentCoverColour")
+ snackbarEnabled = savedInstanceState.getInt("snackbarEnabled")
stressTestActive = savedInstanceState.getBoolean("stressTestActive")
}
@@ -229,6 +250,15 @@ class DemoActivity: AppCompatActivity() {
contentCoverColour = (contentCoverColour + contentCoverColourOptions.size - 1).rem(contentCoverColourOptions.size)
updateContentCoverColour()
}
+
+ set_snackbar_enabled_next.setOnClickListener {
+ snackbarEnabled = (snackbarEnabled + 1).rem(snackbarEnabledOptions.size)
+ updateSnackbarEnabled()
+ }
+ set_snackbar_enabled_prev.setOnClickListener {
+ snackbarEnabled = (snackbarEnabled + snackbarEnabledOptions.size - 1).rem(snackbarEnabledOptions.size)
+ updateSnackbarEnabled()
+ }
}
private fun toast(@StringRes str: Int) {
@@ -275,6 +305,16 @@ class DemoActivity: AppCompatActivity() {
fab.setContentCoverColour(contentCoverColourOptions[contentCoverColour].second)
}
+ private fun updateSnackbarEnabled() {
+ snackbar_enabled.text = snackbarEnabledOptions[snackbarEnabled].first
+ if (snackbarEnabled == 1) {
+ snackbar = Snackbar.make(root_view, "Hey there!", Snackbar.LENGTH_INDEFINITE)
+ snackbar?.show()
+ } else {
+ snackbar?.dismiss()
+ }
+ }
+
private fun startStressTest() {
stressTestActive = true
if (Build.VERSION.SDK_INT < 24) {
diff --git a/app/src/main/res/layout/demo_activity.xml b/app/src/main/res/layout/demo_activity.xml
index 913c5be..4afbce5 100644
--- a/app/src/main/res/layout/demo_activity.xml
+++ b/app/src/main/res/layout/demo_activity.xml
@@ -1,5 +1,5 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -318,4 +364,4 @@
android:layout_height="match_parent"
/>
-
+
diff --git a/app/src/main/res/values/values.xml b/app/src/main/res/values/values.xml
index 3caa3c9..5ad6e91 100644
--- a/app/src/main/res/values/values.xml
+++ b/app/src/main/res/values/values.xml
@@ -13,6 +13,7 @@
Button Icon:
Speed-Dial Size:
Content Cover Colour:
+ Snackbar:
Prev
Next
diff --git a/build.gradle b/build.gradle
index e3b9833..b6b2aca 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,12 +1,13 @@
buildscript {
- ext.kotlin_version = '1.1.51'
+ ext.kotlin_version = '1.2.60'
repositories {
jcenter()
+ google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.3.0'
+ classpath 'com.android.tools.build:gradle:3.1.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
@@ -40,7 +41,7 @@ static def getSecrets() {
@SuppressWarnings("GroovyUnusedDeclaration")
static def getProps() {
Properties properties = new Properties()
- properties['version_code'] = 14
- properties['version_name'] = '2.0.0'
+ properties['version_code'] = 20
+ properties['version_name'] = '2.3.1'
return properties
}
diff --git a/fab/build.gradle b/fab/build.gradle
index 83ea6e2..893aa6b 100644
--- a/fab/build.gradle
+++ b/fab/build.gradle
@@ -1,10 +1,14 @@
buildscript {
repositories {
jcenter()
+ maven {
+ url "https://maven.google.com"
+ }
+ google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.3.0'
+ classpath 'com.android.tools.build:gradle:3.1.2'
}
}
@@ -15,12 +19,12 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
- compileSdkVersion 26
- buildToolsVersion "26.0.1"
+ compileSdkVersion 27
+ buildToolsVersion '27.0.3'
defaultConfig {
minSdkVersion 14
- targetSdkVersion 26
+ targetSdkVersion 27
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
@@ -35,10 +39,12 @@ repositories {
}
dependencies {
- compile fileTree(include: ['*.jar'], dir: 'libs')
- compile 'com.android.support:support-annotations:26.0.1'
- compile 'com.android.support:cardview-v7:26.0.1'
- compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
+ implementation fileTree(include: ['*.jar'], dir: 'libs')
+ implementation 'com.android.support:support-annotations:27.1.1'
+ implementation 'com.android.support:support-v4:27.1.1'
+ implementation 'com.android.support:design:27.1.1'
+ implementation 'com.android.support:cardview-v7:27.1.1'
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
/*========================*
diff --git a/fab/src/main/kotlin/uk/co/markormesher/android_fab/FloatingActionButton.kt b/fab/src/main/kotlin/uk/co/markormesher/android_fab/FloatingActionButton.kt
index d5efb78..3a3df46 100644
--- a/fab/src/main/kotlin/uk/co/markormesher/android_fab/FloatingActionButton.kt
+++ b/fab/src/main/kotlin/uk/co/markormesher/android_fab/FloatingActionButton.kt
@@ -3,17 +3,22 @@ package uk.co.markormesher.android_fab
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.content.Context
+import android.content.res.Resources
import android.graphics.drawable.GradientDrawable
import android.os.Build
import android.os.Bundle
import android.os.Parcelable
import android.support.annotation.ColorInt
import android.support.annotation.DrawableRes
+import android.support.design.widget.CoordinatorLayout
+import android.support.design.widget.Snackbar
+import android.support.v4.view.ViewCompat
import android.support.v7.widget.CardView
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.LinearLayout
import android.widget.RelativeLayout
import kotlinx.android.synthetic.main.fab_container.view.*
import kotlinx.android.synthetic.main.floating_action_button.view.*
@@ -22,6 +27,8 @@ import kotlinx.android.synthetic.main.menu_item_icon.view.*
import uk.co.markormesher.android_fab.extensions.clearParentAlignmentRules
import uk.co.markormesher.android_fab.fab.R
+
+
class FloatingActionButton: RelativeLayout {
private val SPEED_DIAL_ANIMATION_DURATION = 200L
@@ -41,7 +48,8 @@ class FloatingActionButton: RelativeLayout {
private var speedDialMenuOpenListener: SpeedDialMenuOpenListener? = null
private var speedDialMenuCloseListener: SpeedDialMenuCloseListener? = null
- private var speedDialMenuOpen = false
+ var isSpeedDialMenuOpen = false
+ private set
private val speedDialMenuViews = ArrayList()
var speedDialMenuAdapter: SpeedDialMenuAdapter? = null
set(value) {
@@ -129,6 +137,14 @@ class FloatingActionButton: RelativeLayout {
rebuildSpeedDialMenu()
content_cover.alpha = 0f
+
+ addOnLayoutChangeListener { _, _, _, _, _, _, _, _, _ ->
+ if (layoutParams is CoordinatorLayout.LayoutParams) {
+ val lp = (layoutParams as CoordinatorLayout.LayoutParams)
+ lp.behavior = MoveUpwardBehavior()
+ layoutParams = lp
+ }
+ }
}
private fun applyAttributes(rawAttrs: AttributeSet?) {
@@ -248,22 +264,31 @@ class FloatingActionButton: RelativeLayout {
}
fun openSpeedDialMenu() {
- if (!speedDialMenuOpen) {
+ if (!isSpeedDialMenuOpen) {
toggleSpeedDialMenu()
}
}
fun closeSpeedDialMenu() {
- if (speedDialMenuOpen) {
+ if (isSpeedDialMenuOpen) {
toggleSpeedDialMenu()
}
}
- fun setOnSpeedMenuDialOpenListener(listener: SpeedDialMenuOpenListener) {
+ @Deprecated(
+ "This method name is incorrect and is kept only for backwards compatibility",
+ ReplaceWith("setOnSpeedDialMenuOpenListener"),
+ DeprecationLevel.WARNING
+ )
+ fun setOnSpeedMenuDialOpenListener(listener: SpeedDialMenuOpenListener?) {
+ setOnSpeedDialMenuOpenListener(listener)
+ }
+
+ fun setOnSpeedDialMenuOpenListener(listener: SpeedDialMenuOpenListener?) {
speedDialMenuOpenListener = listener
}
- fun setOnSpeedDialMenuCloseListener(listener: SpeedDialMenuCloseListener) {
+ fun setOnSpeedDialMenuCloseListener(listener: SpeedDialMenuCloseListener?) {
speedDialMenuCloseListener = listener
}
@@ -330,12 +355,14 @@ class FloatingActionButton: RelativeLayout {
setSpeedDialMenuItemViewOrder(view)
view.menu_item_label.text = menuItem.getLabel()
+ speedDialMenuAdapter?.onPrepareItemLabel(context, i, view.menu_item_label)
if (Build.VERSION.SDK_INT >= 21) {
(view.menu_item_card as CardView).setCardBackgroundColor(adapter.getBackgroundColour(i))
} else {
((view.menu_item_card as ViewGroup).background as GradientDrawable).setColor(adapter.getBackgroundColour(i))
}
+ speedDialMenuAdapter?.onPrepareItemCard(context, i, view.menu_item_card)
if (Build.VERSION.SDK_INT >= 16) {
view.menu_item_icon_wrapper.background = menuItem.getIcon()
@@ -343,6 +370,7 @@ class FloatingActionButton: RelativeLayout {
@Suppress("DEPRECATION")
view.menu_item_icon_wrapper.setBackgroundDrawable(menuItem.getIcon())
}
+ speedDialMenuAdapter?.onPrepareItemIconWrapper(context, i, view.menu_item_icon_wrapper)
view.alpha = 0F
view.visibility = GONE
@@ -355,6 +383,10 @@ class FloatingActionButton: RelativeLayout {
}
}
}
+
+ if (isSpeedDialMenuOpen) {
+ animateSpeedDialMenuItems(true)
+ }
}
private fun toggleSpeedDialMenu() {
@@ -362,9 +394,9 @@ class FloatingActionButton: RelativeLayout {
return
}
- speedDialMenuOpen = !speedDialMenuOpen
+ isSpeedDialMenuOpen = !isSpeedDialMenuOpen
- if (speedDialMenuOpen) {
+ if (isSpeedDialMenuOpen) {
speedDialMenuOpenListener?.onOpen(this)
} else {
speedDialMenuCloseListener?.onClose(this)
@@ -374,9 +406,9 @@ class FloatingActionButton: RelativeLayout {
animateContentCover()
animateSpeedDialMenuItems()
- content_cover.isClickable = speedDialMenuOpen
- content_cover.isFocusable = speedDialMenuOpen
- if (speedDialMenuOpen) {
+ content_cover.isClickable = isSpeedDialMenuOpen
+ content_cover.isFocusable = isSpeedDialMenuOpen
+ if (isSpeedDialMenuOpen) {
content_cover.setOnClickListener({ toggleSpeedDialMenu() })
} else {
content_cover.setOnClickListener(null)
@@ -390,7 +422,7 @@ class FloatingActionButton: RelativeLayout {
busyAnimatingFabIconRotation = true
fab_icon_wrapper.animate()
- .rotation(if (speedDialMenuOpen) speedDialMenuAdapter?.fabRotationDegrees() ?: 0F else 0F)
+ .rotation(if (isSpeedDialMenuOpen) speedDialMenuAdapter?.fabRotationDegrees() ?: 0F else 0F)
.setDuration(SPEED_DIAL_ANIMATION_DURATION)
.setListener(object: AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator?) {
@@ -400,8 +432,8 @@ class FloatingActionButton: RelativeLayout {
}
private fun animateContentCover() {
- if (speedDialMenuOpen && !contentCoverEnabled) {
- // speedDialMenuOpen is checked to make sure the cover is closed if it is disabled whilst open
+ if (isSpeedDialMenuOpen && !contentCoverEnabled) {
+ // isSpeedDialMenuOpen is checked to make sure the cover is closed if it is disabled whilst open
return
}
@@ -410,34 +442,55 @@ class FloatingActionButton: RelativeLayout {
}
busyAnimatingContentCover = true
+ // calculate the cover scale only if we're going to need it
+ var coverScale = 0f
+ if (isSpeedDialMenuOpen) {
+ // get the diagonal size of the screen to determine the proper scale factor
+ val displayMetrics = Resources.getSystem().displayMetrics
+ val windowHeight = displayMetrics.heightPixels.toDouble()
+ val windowWidth = displayMetrics.widthPixels.toDouble()
+ val windowDiagonal = Math.sqrt(Math.pow(windowHeight, 2.0) + Math.pow(windowWidth, 2.0))
+
+ // the cover is the same size as the fab_card, so we use a ratio of that size
+ // using the width is fine: both shapes are circles so their diameter is the same at any angle
+ // we * 2 because only half of the cover will be on screen
+ coverScale = 2 * windowDiagonal.toFloat() / fab_card.width
+ }
+
content_cover.visibility = View.VISIBLE
content_cover.animate()
- .scaleX(if (speedDialMenuOpen) 50f else 0f)
- .scaleY(if (speedDialMenuOpen) 50f else 0f)
- .alpha(if (speedDialMenuOpen) 1f else 0f)
+ .scaleX(coverScale)
+ .scaleY(coverScale)
+ .alpha(if (isSpeedDialMenuOpen) 1f else 0f)
.setDuration(SPEED_DIAL_ANIMATION_DURATION)
.setListener(object: AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) {
busyAnimatingContentCover = false
- if (!speedDialMenuOpen) {
+ if (!isSpeedDialMenuOpen) {
content_cover.visibility = View.GONE
}
}
})
}
- private fun animateSpeedDialMenuItems() {
+ private fun animateSpeedDialMenuItems(immediate: Boolean = false) {
if (busyAnimatingSpeedDialMenuItems) {
return
}
busyAnimatingSpeedDialMenuItems = true
+ val duration = if (immediate) {
+ 0L
+ } else {
+ SPEED_DIAL_ANIMATION_DURATION
+ }
+
val distance = fab_card.height.toFloat()
speedDialMenuViews.forEachIndexed { i, v ->
- if (speedDialMenuOpen) {
+ if (isSpeedDialMenuOpen) {
v.visibility = View.VISIBLE
}
- val translation = if (speedDialMenuOpen) {
+ val translation = if (isSpeedDialMenuOpen) {
val direction = if (buttonPosition.and(POSITION_TOP) > 0) 1 else -1
(i + 1.125F) * distance * direction
} else {
@@ -445,16 +498,43 @@ class FloatingActionButton: RelativeLayout {
}
v.animate()
.translationY(translation)
- .alpha(if (speedDialMenuOpen) 1f else 0f)
- .setDuration(SPEED_DIAL_ANIMATION_DURATION)
+ .alpha(if (isSpeedDialMenuOpen) 1f else 0f)
+ .setDuration(duration)
.setListener(object: AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) {
busyAnimatingSpeedDialMenuItems = false
- if (!speedDialMenuOpen) {
+ if (!isSpeedDialMenuOpen) {
v.visibility = View.GONE
}
}
})
}
}
+
+ val cardView: View
+ get() = fab_card
+
+ val contentCoverView: View
+ get() = content_cover
+
+ val iconWrapper: LinearLayout
+ get() = fab_icon_wrapper
+
+
+ inner class MoveUpwardBehavior: CoordinatorLayout.Behavior() {
+
+ override fun layoutDependsOn(parent: CoordinatorLayout, child: View, dependency: View): Boolean {
+ return buttonPosition.and(POSITION_BOTTOM) > 0 && dependency is Snackbar.SnackbarLayout
+ }
+
+ override fun onDependentViewChanged(parent: CoordinatorLayout, child: View, dependency: View): Boolean {
+ child.translationY = Math.min(0f, dependency.translationY - dependency.height)
+ return true
+ }
+
+ override fun onDependentViewRemoved(parent: CoordinatorLayout, child: View, dependency: View) {
+ ViewCompat.animate(child).translationY(0f).start()
+ }
+ }
+
}
diff --git a/fab/src/main/kotlin/uk/co/markormesher/android_fab/SpeedDialMenuAdapter.kt b/fab/src/main/kotlin/uk/co/markormesher/android_fab/SpeedDialMenuAdapter.kt
index 82e04e0..be0fb9b 100644
--- a/fab/src/main/kotlin/uk/co/markormesher/android_fab/SpeedDialMenuAdapter.kt
+++ b/fab/src/main/kotlin/uk/co/markormesher/android_fab/SpeedDialMenuAdapter.kt
@@ -3,6 +3,9 @@ package uk.co.markormesher.android_fab
import android.content.Context
import android.graphics.Color
import android.support.annotation.ColorInt
+import android.view.View
+import android.widget.LinearLayout
+import android.widget.TextView
abstract class SpeedDialMenuAdapter {
@@ -36,6 +39,26 @@ abstract class SpeedDialMenuAdapter {
*/
@ColorInt open fun getBackgroundColour(position: Int): Int = Color.argb(255, 192, 192, 192)
+ /**
+ * Apply formatting to the `TextView` used for the label of the menu item at the given position.
+ * Note: positions start at zero closest to the FAB and increase for items further away.
+ */
+ open fun onPrepareItemLabel(context: Context, position: Int, label: TextView) {}
+
+ /**
+ * Apply formatting to the view used for the card behind the icon at the given position.
+ * Note: the view will be a `CardView` on SDK 21+ and a `LinearLayout` on SDK 20 and below.
+ * Note: positions start at zero closest to the FAB and increase for items further away.
+ */
+ open fun onPrepareItemCard(context: Context, position: Int, card: View) {}
+
+ /**
+ * Apply formatting to the `LinearLayout` that wraps the icon of the menu item at the given position.
+ * This is called after the icon is set as the background of the given wrapper.
+ * Note: positions start at zero closest to the FAB and increase for items further away.
+ */
+ open fun onPrepareItemIconWrapper(context: Context, position: Int, label: LinearLayout) {}
+
/**
* Gets the number of degrees to rotate the FAB's icon when the speed-dial menu opens.
* This is useful for the popular "plus icon"/"close icon" transition.
diff --git a/fab/src/main/res/layout/fab_container.xml b/fab/src/main/res/layout/fab_container.xml
index bae7b9d..ee5a107 100644
--- a/fab/src/main/res/layout/fab_container.xml
+++ b/fab/src/main/res/layout/fab_container.xml
@@ -15,6 +15,7 @@
android:id="@+id/content_cover"
android:layout_width="@dimen/fab_size"
android:layout_height="@dimen/fab_size"
+ android:layout_margin="@dimen/fab_padding"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ec2f052..91c3de6 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Aug 20 18:19:32 BST 2017
+#Sun Aug 05 12:38:20 BST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
diff --git a/misc/proguard-mappings/build-15.txt b/misc/proguard-mappings/build-15.txt
new file mode 100644
index 0000000..febdc85
--- /dev/null
+++ b/misc/proguard-mappings/build-15.txt
@@ -0,0 +1,10993 @@
+android.support.compat.R -> android.support.a.a:
+android.support.compat.R$styleable -> android.support.a.b:
+ int[] FontFamily -> FontFamily
+ int[] FontFamilyFont -> FontFamilyFont
+ int FontFamilyFont_font -> FontFamilyFont_font
+ int FontFamilyFont_fontStyle -> FontFamilyFont_fontStyle
+ int FontFamilyFont_fontWeight -> FontFamilyFont_fontWeight
+ int FontFamily_fontProviderAuthority -> FontFamily_fontProviderAuthority
+ int FontFamily_fontProviderCerts -> FontFamily_fontProviderCerts
+ int FontFamily_fontProviderFetchStrategy -> FontFamily_fontProviderFetchStrategy
+ int FontFamily_fontProviderFetchTimeout -> FontFamily_fontProviderFetchTimeout
+ int FontFamily_fontProviderPackage -> FontFamily_fontProviderPackage
+ int FontFamily_fontProviderQuery -> FontFamily_fontProviderQuery
+ 117:118:void () ->
+android.support.graphics.drawable.AndroidResources -> android.support.b.a.a:
+ int[] STYLEABLE_VECTOR_DRAWABLE_TYPE_ARRAY -> a
+ int[] STYLEABLE_VECTOR_DRAWABLE_GROUP -> b
+ int[] STYLEABLE_VECTOR_DRAWABLE_PATH -> c
+ int[] STYLEABLE_VECTOR_DRAWABLE_CLIP_PATH -> d
+ int[] STYLEABLE_ANIMATED_VECTOR_DRAWABLE -> e
+ int[] STYLEABLE_ANIMATED_VECTOR_DRAWABLE_TARGET -> f
+ int[] STYLEABLE_ANIMATOR -> g
+ int[] STYLEABLE_ANIMATOR_SET -> h
+ int[] STYLEABLE_PROPERTY_VALUES_HOLDER -> i
+ int[] STYLEABLE_KEYFRAME -> j
+ int[] STYLEABLE_PROPERTY_ANIMATOR -> k
+ int[] STYLEABLE_PATH_INTERPOLATOR -> l
+ 22:135:void () ->
+android.support.graphics.drawable.Animatable2Compat -> android.support.b.a.b:
+android.support.graphics.drawable.AnimatedVectorDrawableCompat -> android.support.b.a.c:
+ android.support.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState mAnimatedVectorState -> c
+ android.content.Context mContext -> d
+ android.animation.ArgbEvaluator mArgbEvaluator -> e
+ android.animation.Animator$AnimatorListener mAnimatorListener -> f
+ java.util.ArrayList mAnimationCallbacks -> g
+ android.graphics.drawable.Drawable$Callback mCallback -> a
+ 164:165:void () ->
+ 168:169:void (android.content.Context) ->
+ 152:719:void (android.content.Context,android.support.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState,android.content.res.Resources) ->
+ 189:194:android.graphics.drawable.Drawable mutate() -> mutate
+ 249:251:android.support.graphics.drawable.AnimatedVectorDrawableCompat createFromXmlInner(android.content.Context,android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> a
+ 261:267:android.graphics.drawable.Drawable$ConstantState getConstantState() -> getConstantState
+ 272:275:int getChangingConfigurations() -> getChangingConfigurations
+ 280:288:void draw(android.graphics.Canvas) -> draw
+ 292:297:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 301:304:boolean onStateChange(int[]) -> onStateChange
+ 309:312:boolean onLevelChange(int) -> onLevelChange
+ 317:320:int getAlpha() -> getAlpha
+ 325:330:void setAlpha(int) -> setAlpha
+ 334:339:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 343:349:void setTint(int) -> setTint
+ 353:359:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 363:369:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 373:377:boolean setVisible(boolean,boolean) -> setVisible
+ 382:385:boolean isStateful() -> isStateful
+ 390:393:int getOpacity() -> getOpacity
+ 398:401:int getIntrinsicWidth() -> getIntrinsicWidth
+ 406:409:int getIntrinsicHeight() -> getIntrinsicHeight
+ 414:417:boolean isAutoMirrored() -> isAutoMirrored
+ 422:427:void setAutoMirrored(boolean) -> setAutoMirrored
+ 432:498:void inflate(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflate
+ 503:504:void inflate(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet) -> inflate
+ 508:513:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 518:522:boolean canApplyTheme() -> canApplyTheme
+ 647:665:void setupColorAnimator(android.animation.Animator) -> a
+ 668:682:void setupAnimatorsForTarget(java.lang.String,android.animation.Animator) -> a
+ 686:690:boolean isRunning() -> isRunning
+ 695:707:void start() -> start
+ 711:717:void stop() -> stop
+ 139:139:boolean setState(int[]) -> setState
+ 139:139:void setChangingConfigurations(int) -> setChangingConfigurations
+ 139:139:android.graphics.Region getTransparentRegion() -> getTransparentRegion
+ 139:139:int[] getState() -> getState
+ 139:139:boolean getPadding(android.graphics.Rect) -> getPadding
+ 139:139:int getMinimumHeight() -> getMinimumHeight
+ 139:139:int getMinimumWidth() -> getMinimumWidth
+ 139:139:android.graphics.drawable.Drawable getCurrent() -> getCurrent
+ 139:139:void clearColorFilter() -> clearColorFilter
+ 139:139:void jumpToCurrentState() -> jumpToCurrentState
+ 139:139:void setFilterBitmap(boolean) -> setFilterBitmap
+ 139:139:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 139:139:void setHotspot(float,float) -> setHotspot
+ 139:139:android.graphics.ColorFilter getColorFilter() -> getColorFilter
+ 139:139:void setColorFilter(int,android.graphics.PorterDuff$Mode) -> setColorFilter
+android.support.graphics.drawable.AnimatedVectorDrawableCompat$1 -> android.support.b.a.d:
+ android.support.graphics.drawable.AnimatedVectorDrawableCompat this$0 -> a
+ 719:719:void (android.support.graphics.drawable.AnimatedVectorDrawableCompat) ->
+ 722:723:void invalidateDrawable(android.graphics.drawable.Drawable) -> invalidateDrawable
+ 727:728:void scheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable,long) -> scheduleDrawable
+ 732:733:void unscheduleDrawable(android.graphics.drawable.Drawable,java.lang.Runnable) -> unscheduleDrawable
+android.support.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState -> android.support.b.a.e:
+ int mChangingConfigurations -> a
+ android.support.graphics.drawable.VectorDrawableCompat mVectorDrawable -> b
+ android.animation.AnimatorSet mAnimatorSet -> c
+ java.util.ArrayList mAnimators -> e
+ android.support.v4.util.ArrayMap mTargetNameMap -> d
+ 585:616:void (android.content.Context,android.support.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState,android.graphics.drawable.Drawable$Callback,android.content.res.Resources) ->
+ 620:620:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 625:625:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+ 630:630:int getChangingConfigurations() -> getChangingConfigurations
+ 634:638:void setupAnimatorSet() -> a
+ 576:576:java.util.ArrayList access$000(android.support.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState) -> a
+ 576:576:java.util.ArrayList access$002(android.support.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState,java.util.ArrayList) -> a
+android.support.graphics.drawable.AnimatedVectorDrawableCompat$AnimatedVectorDrawableDelegateState -> android.support.b.a.f:
+ android.graphics.drawable.Drawable$ConstantState mDelegateState -> a
+ 534:536:void (android.graphics.drawable.Drawable$ConstantState) ->
+ 540:544:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 549:553:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+ 558:562:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources,android.content.res.Resources$Theme) -> newDrawable
+ 567:567:boolean canApplyTheme() -> canApplyTheme
+ 572:572:int getChangingConfigurations() -> getChangingConfigurations
+android.support.graphics.drawable.AnimationUtilsCompat -> android.support.b.a.g:
+ 66:94:android.view.animation.Interpolator loadInterpolator(android.content.Context,int) -> a
+ 104:145:android.view.animation.Interpolator createInterpolatorFromXml(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser) -> a
+android.support.graphics.drawable.AnimatorInflaterCompat -> android.support.b.a.h:
+ 99:104:android.animation.Animator loadAnimator(android.content.Context,int) -> a
+ 118:118:android.animation.Animator loadAnimator(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,int) -> a
+ 128:146:android.animation.Animator loadAnimator(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,int,float) -> a
+ 206:330:android.animation.PropertyValuesHolder getPVH(android.content.res.TypedArray,int,int,int,java.lang.String) -> a
+ 344:377:void parseAnimatorFromTypeArray(android.animation.ValueAnimator,android.content.res.TypedArray,android.content.res.TypedArray,float,org.xmlpull.v1.XmlPullParser) -> a
+ 389:428:void setupObjectAnimator(android.animation.ValueAnimator,android.content.res.TypedArray,int,float,org.xmlpull.v1.XmlPullParser) -> a
+ 435:495:void setupPathMotion(android.graphics.Path,android.animation.ObjectAnimator,float,java.lang.String,java.lang.String) -> a
+ 501:501:android.animation.Animator createAnimatorFromXml(android.content.Context,android.content.res.Resources,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser,float) -> a
+ 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) -> a
+ 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) -> a
+ 636:650:int inferValueTypeOfKeyframe(android.content.res.Resources,android.content.res.Resources$Theme,android.util.AttributeSet,org.xmlpull.v1.XmlPullParser) -> a
+ 655:669:int inferValueTypeFromValues(android.content.res.TypedArray,int,int) -> a
+ 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) -> a
+ 779:783:android.animation.Keyframe createNewKeyframe(android.animation.Keyframe,float) -> a
+ 806:811:void distributeKeyframes(android.animation.Keyframe[],float,int,int) -> a
+ 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) -> a
+ 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) -> a
+ 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) -> a
+ 917:917:boolean isColorType(int) -> a
+android.support.graphics.drawable.AnimatorInflaterCompat$1 -> android.support.b.a.i:
+android.support.graphics.drawable.AnimatorInflaterCompat$PathDataEvaluator -> android.support.b.a.j:
+ android.support.v4.graphics.PathParser$PathDataNode[] mNodeArray -> a
+ 165:166:void () ->
+ 184:198:android.support.v4.graphics.PathParser$PathDataNode[] evaluate(float,android.support.v4.graphics.PathParser$PathDataNode[],android.support.v4.graphics.PathParser$PathDataNode[]) -> a
+ 156:156:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 156:156:void (android.support.graphics.drawable.AnimatorInflaterCompat$1) ->
+android.support.graphics.drawable.ArgbEvaluator -> android.support.b.a.k:
+ android.support.graphics.drawable.ArgbEvaluator sInstance -> a
+ 31:31:void () ->
+ 42:42:android.support.graphics.drawable.ArgbEvaluator getInstance() -> a
+ 63:96:java.lang.Object evaluate(float,java.lang.Object,java.lang.Object) -> evaluate
+ 32:32:void () ->
+android.support.graphics.drawable.PathInterpolatorCompat -> android.support.b.a.l:
+ float[] mX -> a
+ float[] mY -> b
+ 67:68:void (android.content.Context,android.util.AttributeSet,org.xmlpull.v1.XmlPullParser) ->
+ 71:76:void (android.content.res.Resources,android.content.res.Resources$Theme,android.util.AttributeSet,org.xmlpull.v1.XmlPullParser) ->
+ 81:119:void parseInterpolatorFromTypeArray(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser) -> a
+ 122:126:void initQuad(float,float) -> a
+ 129:133:void initCubic(float,float,float,float) -> a
+ 136:180:void initPath(android.graphics.Path) -> a
+ 194:222:float getInterpolation(float) -> getInterpolation
+android.support.graphics.drawable.VectorDrawableCommon -> android.support.b.a.m:
+ android.graphics.drawable.Drawable mDelegateDrawable -> b
+ 29:29:void () ->
+ 36:41:void setColorFilter(int,android.graphics.PorterDuff$Mode) -> setColorFilter
+ 45:48:android.graphics.ColorFilter getColorFilter() -> getColorFilter
+ 53:56:boolean onLevelChange(int) -> onLevelChange
+ 61:66:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 70:73:void setHotspot(float,float) -> setHotspot
+ 78:82:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 86:90:void setFilterBitmap(boolean) -> setFilterBitmap
+ 94:98:void jumpToCurrentState() -> jumpToCurrentState
+ 103:107:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 111:116:void clearColorFilter() -> clearColorFilter
+ 120:123:android.graphics.drawable.Drawable getCurrent() -> getCurrent
+ 128:131:int getMinimumWidth() -> getMinimumWidth
+ 136:139:int getMinimumHeight() -> getMinimumHeight
+ 144:147:boolean getPadding(android.graphics.Rect) -> getPadding
+ 152:155:int[] getState() -> getState
+ 161:164:android.graphics.Region getTransparentRegion() -> getTransparentRegion
+ 169:174:void setChangingConfigurations(int) -> setChangingConfigurations
+ 178:181:boolean setState(int[]) -> setState
+android.support.graphics.drawable.VectorDrawableCompat -> android.support.b.a.n:
+ android.graphics.PorterDuff$Mode DEFAULT_TINT_MODE -> a
+ android.support.graphics.drawable.VectorDrawableCompat$VectorDrawableCompatState mVectorState -> c
+ android.graphics.PorterDuffColorFilter mTintFilter -> d
+ android.graphics.ColorFilter mColorFilter -> e
+ boolean mMutated -> f
+ boolean mAllowCaching -> g
+ android.graphics.drawable.Drawable$ConstantState mCachedConstantStateDelegate -> h
+ float[] mTmpFloats -> i
+ android.graphics.Matrix mTmpMatrix -> j
+ android.graphics.Rect mTmpBounds -> k
+ 229:241:void () ->
+ 229:246:void (android.support.graphics.drawable.VectorDrawableCompat$VectorDrawableCompatState) ->
+ 250:259:android.graphics.drawable.Drawable mutate() -> mutate
+ 263:263:java.lang.Object getTargetByName(java.lang.String) -> a
+ 268:273:android.graphics.drawable.Drawable$ConstantState getConstantState() -> getConstantState
+ 278:346:void draw(android.graphics.Canvas) -> draw
+ 350:354:int getAlpha() -> getAlpha
+ 359:368:void setAlpha(int) -> setAlpha
+ 372:379:void setColorFilter(android.graphics.ColorFilter) -> setColorFilter
+ 387:393:android.graphics.PorterDuffColorFilter updateTintFilter(android.graphics.PorterDuffColorFilter,android.content.res.ColorStateList,android.graphics.PorterDuff$Mode) -> a
+ 398:404:void setTint(int) -> setTint
+ 408:419:void setTintList(android.content.res.ColorStateList) -> setTintList
+ 423:434:void setTintMode(android.graphics.PorterDuff$Mode) -> setTintMode
+ 438:443:boolean isStateful() -> isStateful
+ 448:458:boolean onStateChange(int[]) -> onStateChange
+ 463:467:int getOpacity() -> getOpacity
+ 472:476:int getIntrinsicWidth() -> getIntrinsicWidth
+ 481:485:int getIntrinsicHeight() -> getIntrinsicHeight
+ 491:495:boolean canApplyTheme() -> canApplyTheme
+ 500:503:boolean isAutoMirrored() -> isAutoMirrored
+ 508:513:void setAutoMirrored(boolean) -> setAutoMirrored
+ 549:574:android.support.graphics.drawable.VectorDrawableCompat create(android.content.res.Resources,int,android.content.res.Resources$Theme) -> a
+ 585:587:android.support.graphics.drawable.VectorDrawableCompat createFromXmlInner(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> a
+ 591:594:int applyAlpha(int,float) -> a
+ 600:606:void inflate(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet) -> inflate
+ 611:630:void inflate(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> inflate
+ 638:656:android.graphics.PorterDuff$Mode parseTintModeCompat(int,android.graphics.PorterDuff$Mode) -> a
+ 662:719:void updateStateFromTypedArray(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser) -> a
+ 723:793:void inflateInternal(android.content.res.Resources,org.xmlpull.v1.XmlPullParser,android.util.AttributeSet,android.content.res.Resources$Theme) -> b
+ 816:817:void setAllowCaching(boolean) -> a
+ 821:825:boolean needMirroring() -> a
+ 832:835:void onBoundsChange(android.graphics.Rect) -> onBoundsChange
+ 839:842:int getChangingConfigurations() -> getChangingConfigurations
+ 847:852:void invalidateSelf() -> invalidateSelf
+ 856:861:void scheduleSelf(java.lang.Runnable,long) -> scheduleSelf
+ 865:868:boolean setVisible(boolean,boolean) -> setVisible
+ 873:878:void unscheduleSelf(java.lang.Runnable) -> unscheduleSelf
+ 195:195:boolean setState(int[]) -> setState
+ 195:195:void setChangingConfigurations(int) -> setChangingConfigurations
+ 195:195:android.graphics.Region getTransparentRegion() -> getTransparentRegion
+ 195:195:int[] getState() -> getState
+ 195:195:boolean getPadding(android.graphics.Rect) -> getPadding
+ 195:195:int getMinimumHeight() -> getMinimumHeight
+ 195:195:int getMinimumWidth() -> getMinimumWidth
+ 195:195:android.graphics.drawable.Drawable getCurrent() -> getCurrent
+ 195:195:void clearColorFilter() -> clearColorFilter
+ 195:195:void applyTheme(android.content.res.Resources$Theme) -> applyTheme
+ 195:195:void jumpToCurrentState() -> jumpToCurrentState
+ 195:195:void setFilterBitmap(boolean) -> setFilterBitmap
+ 195:195:void setHotspotBounds(int,int,int,int) -> setHotspotBounds
+ 195:195:void setHotspot(float,float) -> setHotspot
+ 195:195:android.graphics.ColorFilter getColorFilter() -> getColorFilter
+ 195:195:void setColorFilter(int,android.graphics.PorterDuff$Mode) -> setColorFilter
+ 198:198:void () ->
+android.support.graphics.drawable.VectorDrawableCompat$VClipPath -> android.support.b.a.o:
+ 1595:1597:void () ->
+ 1600:1601:void (android.support.graphics.drawable.VectorDrawableCompat$VClipPath) ->
+ 1605:1613:void inflate(android.content.res.Resources,android.util.AttributeSet,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser) -> a
+ 1619:1630:void updateStateFromTypedArray(android.content.res.TypedArray) -> a
+ 1634:1634:boolean isClipPath() -> a
+android.support.graphics.drawable.VectorDrawableCompat$VFullPath -> android.support.b.a.p:
+ int[] mThemeAttrs -> p
+ int mStrokeColor -> a
+ float mStrokeWidth -> b
+ int mFillColor -> c
+ float mStrokeAlpha -> d
+ int mFillRule -> e
+ float mFillAlpha -> f
+ float mTrimPathStart -> g
+ float mTrimPathEnd -> h
+ float mTrimPathOffset -> i
+ android.graphics.Paint$Cap mStrokeLineCap -> j
+ android.graphics.Paint$Join mStrokeLineJoin -> k
+ float mStrokeMiterlimit -> l
+ 1646:1663:void () ->
+ 1646:1682:void (android.support.graphics.drawable.VectorDrawableCompat$VFullPath) ->
+ 1685:1693:android.graphics.Paint$Cap getStrokeLineCap(int,android.graphics.Paint$Cap) -> a
+ 1698:1706:android.graphics.Paint$Join getStrokeLineJoin(int,android.graphics.Paint$Join) -> a
+ 1716:1720:void inflate(android.content.res.Resources,android.util.AttributeSet,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser) -> a
+ 1727:1782:void updateStateFromTypedArray(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser) -> a
+ 1800:1800:int getStrokeColor() -> getStrokeColor
+ 1805:1806:void setStrokeColor(int) -> setStrokeColor
+ 1810:1810:float getStrokeWidth() -> getStrokeWidth
+ 1815:1816:void setStrokeWidth(float) -> setStrokeWidth
+ 1820:1820:float getStrokeAlpha() -> getStrokeAlpha
+ 1825:1826:void setStrokeAlpha(float) -> setStrokeAlpha
+ 1830:1830:int getFillColor() -> getFillColor
+ 1835:1836:void setFillColor(int) -> setFillColor
+ 1840:1840:float getFillAlpha() -> getFillAlpha
+ 1845:1846:void setFillAlpha(float) -> setFillAlpha
+ 1850:1850:float getTrimPathStart() -> getTrimPathStart
+ 1855:1856:void setTrimPathStart(float) -> setTrimPathStart
+ 1860:1860:float getTrimPathEnd() -> getTrimPathEnd
+ 1865:1866:void setTrimPathEnd(float) -> setTrimPathEnd
+ 1870:1870:float getTrimPathOffset() -> getTrimPathOffset
+ 1875:1876:void setTrimPathOffset(float) -> setTrimPathOffset
+android.support.graphics.drawable.VectorDrawableCompat$VGroup -> android.support.b.a.q:
+ android.graphics.Matrix mStackedMatrix -> d
+ java.util.ArrayList mChildren -> a
+ float mRotate -> b
+ float mPivotX -> e
+ float mPivotY -> f
+ float mScaleX -> g
+ float mScaleY -> h
+ float mTranslateX -> i
+ float mTranslateY -> j
+ android.graphics.Matrix mLocalMatrix -> k
+ int mChangingConfigurations -> c
+ int[] mThemeAttrs -> l
+ java.lang.String mGroupName -> m
+ 1294:1353:void (android.support.graphics.drawable.VectorDrawableCompat$VGroup,android.support.v4.util.ArrayMap) ->
+ 1294:1356:void () ->
+ 1359:1359:java.lang.String getGroupName() -> getGroupName
+ 1363:1363:android.graphics.Matrix getLocalMatrix() -> getLocalMatrix
+ 1367:1371:void inflate(android.content.res.Resources,android.util.AttributeSet,android.content.res.Resources$Theme,org.xmlpull.v1.XmlPullParser) -> a
+ 1378:1407:void updateStateFromTypedArray(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser) -> a
+ 1412:1417:void updateLocalMatrix() -> a
+ 1422:1422:float getRotation() -> getRotation
+ 1427:1431:void setRotation(float) -> setRotation
+ 1435:1435:float getPivotX() -> getPivotX
+ 1440:1444:void setPivotX(float) -> setPivotX
+ 1448:1448:float getPivotY() -> getPivotY
+ 1453:1457:void setPivotY(float) -> setPivotY
+ 1461:1461:float getScaleX() -> getScaleX
+ 1466:1470:void setScaleX(float) -> setScaleX
+ 1474:1474:float getScaleY() -> getScaleY
+ 1479:1483:void setScaleY(float) -> setScaleY
+ 1487:1487:float getTranslateX() -> getTranslateX
+ 1492:1496:void setTranslateX(float) -> setTranslateX
+ 1500:1500:float getTranslateY() -> getTranslateY
+ 1505:1509:void setTranslateY(float) -> setTranslateY
+ 1291:1291:android.graphics.Matrix access$200(android.support.graphics.drawable.VectorDrawableCompat$VGroup) -> a
+ 1291:1291:android.graphics.Matrix access$300(android.support.graphics.drawable.VectorDrawableCompat$VGroup) -> b
+android.support.graphics.drawable.VectorDrawableCompat$VPath -> android.support.b.a.r:
+ android.support.v4.graphics.PathParser$PathDataNode[] mNodes -> m
+ java.lang.String mPathName -> n
+ int mChangingConfigurations -> o
+ 1516:1522:void () ->
+ 1516:1550:void (android.support.graphics.drawable.VectorDrawableCompat$VPath) ->
+ 1553:1557:void toPath(android.graphics.Path) -> a
+ 1560:1560:java.lang.String getPathName() -> getPathName
+ 1571:1571:boolean isClipPath() -> a
+ 1577:1577:android.support.v4.graphics.PathParser$PathDataNode[] getPathData() -> getPathData
+ 1582:1588:void setPathData(android.support.v4.graphics.PathParser$PathDataNode[]) -> setPathData
+android.support.graphics.drawable.VectorDrawableCompat$VPathRenderer -> android.support.b.a.s:
+ android.graphics.Path mPath -> i
+ android.graphics.Path mRenderPath -> j
+ android.graphics.Matrix IDENTITY_MATRIX -> k
+ android.graphics.Matrix mFinalPathMatrix -> l
+ android.graphics.Paint mStrokePaint -> m
+ android.graphics.Paint mFillPaint -> n
+ android.graphics.PathMeasure mPathMeasure -> o
+ int mChangingConfigurations -> p
+ android.support.graphics.drawable.VectorDrawableCompat$VGroup mRootGroup -> a
+ float mBaseWidth -> b
+ float mBaseHeight -> c
+ float mViewportWidth -> d
+ float mViewportHeight -> e
+ int mRootAlpha -> f
+ java.lang.String mRootName -> g
+ android.support.v4.util.ArrayMap mVGTargetsMap -> h
+ 1073:1096:void () ->
+ 1099:1100:void setRootAlpha(int) -> setRootAlpha
+ 1103:1103:int getRootAlpha() -> getRootAlpha
+ 1109:1110:void setAlpha(float) -> setAlpha
+ 1114:1114:float getAlpha() -> getAlpha
+ 1073:1131:void (android.support.graphics.drawable.VectorDrawableCompat$VPathRenderer) ->
+ 1139:1160:void drawGroupTree(android.support.graphics.drawable.VectorDrawableCompat$VGroup,android.graphics.Matrix,android.graphics.Canvas,int,int,android.graphics.ColorFilter) -> a
+ 1164:1165:void draw(android.graphics.Canvas,int,int,android.graphics.ColorFilter) -> a
+ 1169:1255:void drawPath(android.support.graphics.drawable.VectorDrawableCompat$VGroup,android.support.graphics.drawable.VectorDrawableCompat$VPath,android.graphics.Canvas,int,int,android.graphics.ColorFilter) -> a
+ 1258:1258:float cross(float,float,float,float) -> a
+ 1272:1287:float getMatrixScale(android.graphics.Matrix) -> a
+ 1055:1055:android.graphics.Paint access$000(android.support.graphics.drawable.VectorDrawableCompat$VPathRenderer) -> a
+ 1055:1055:android.graphics.Paint access$002(android.support.graphics.drawable.VectorDrawableCompat$VPathRenderer,android.graphics.Paint) -> a
+ 1055:1055:android.graphics.Paint access$100(android.support.graphics.drawable.VectorDrawableCompat$VPathRenderer) -> b
+ 1055:1055:android.graphics.Paint access$102(android.support.graphics.drawable.VectorDrawableCompat$VPathRenderer,android.graphics.Paint) -> b
+ 1072:1072:void () ->
+android.support.graphics.drawable.VectorDrawableCompat$VectorDrawableCompatState -> android.support.b.a.t:
+ int mChangingConfigurations -> a
+ android.support.graphics.drawable.VectorDrawableCompat$VPathRenderer mVPathRenderer -> b
+ android.content.res.ColorStateList mTint -> c
+ android.graphics.PorterDuff$Mode mTintMode -> d
+ boolean mAutoMirrored -> e
+ android.graphics.Bitmap mCachedBitmap -> f
+ android.content.res.ColorStateList mCachedTint -> g
+ android.graphics.PorterDuff$Mode mCachedTintMode -> h
+ int mCachedRootAlpha -> i
+ boolean mCachedAutoMirrored -> j
+ boolean mCacheDirty -> k
+ android.graphics.Paint mTempPaint -> l
+ 929:961:void (android.support.graphics.drawable.VectorDrawableCompat$VectorDrawableCompatState) ->
+ 966:968:void drawCachedBitmapWithRootAlpha(android.graphics.Canvas,android.graphics.ColorFilter,android.graphics.Rect) -> a
+ 971:971:boolean hasTranslucentRoot() -> a
+ 978:988:android.graphics.Paint getPaint(android.graphics.ColorFilter) -> a
+ 992:995:void updateCachedBitmap(int,int) -> a
+ 998:1004:void createCachedBitmapIfNeeded(int,int) -> b
+ 1007:1011:boolean canReuseBitmap(int,int) -> c
+ 1015:1022:boolean canReuseCache() -> b
+ 1028:1033:void updateCacheStates() -> c
+ 929:1037:void () ->
+ 1041:1041:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 1046:1046:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+ 1051:1051:int getChangingConfigurations() -> getChangingConfigurations
+android.support.graphics.drawable.VectorDrawableCompat$VectorDrawableDelegateState -> android.support.b.a.u:
+ android.graphics.drawable.Drawable$ConstantState mDelegateState -> a
+ 889:891:void (android.graphics.drawable.Drawable$ConstantState) ->
+ 895:897:android.graphics.drawable.Drawable newDrawable() -> newDrawable
+ 902:904:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources) -> newDrawable
+ 909:912:android.graphics.drawable.Drawable newDrawable(android.content.res.Resources,android.content.res.Resources$Theme) -> newDrawable
+ 917:917:boolean canApplyTheme() -> canApplyTheme
+ 922:922:int getChangingConfigurations() -> getChangingConfigurations
+android.support.v4.app.ActivityCompat -> android.support.v4.app.a:
+ 204:209:void finishAffinity(android.app.Activity) -> a
+android.support.v4.app.AppOpsManagerCompat -> android.support.v4.app.b:
+ 60:63:java.lang.String permissionToOp(java.lang.String) -> a
+ 110:114:int noteProxyOp(android.content.Context,java.lang.String,java.lang.String) -> a
+android.support.v4.app.BackStackRecord -> android.support.v4.app.c:
+ boolean SUPPORTS_TRANSITIONS -> a
+ android.support.v4.app.FragmentManagerImpl mManager -> b
+ java.util.ArrayList mOps -> c
+ int mEnterAnim -> d
+ int mExitAnim -> e
+ int mPopEnterAnim -> f
+ int mPopExitAnim -> g
+ int mTransition -> h
+ int mTransitionStyle -> i
+ boolean mAddToBackStack -> j
+ boolean mAllowAddToBackStack -> k
+ java.lang.String mName -> l
+ boolean mCommitted -> m
+ int mIndex -> n
+ int mBreadCrumbTitleRes -> o
+ java.lang.CharSequence mBreadCrumbTitleText -> p
+ int mBreadCrumbShortTitleRes -> q
+ java.lang.CharSequence mBreadCrumbShortTitleText -> r
+ java.util.ArrayList mSharedElementSourceNames -> s
+ java.util.ArrayList mSharedElementTargetNames -> t
+ boolean mReorderingAllowed -> u
+ java.util.ArrayList mCommitRunnables -> v
+ 235:247:java.lang.String toString() -> toString
+ 251:252:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> a
+ 255:330:void dump(java.lang.String,java.io.PrintWriter,boolean) -> a
+ 209:334:void (android.support.v4.app.FragmentManagerImpl) ->
+ 368:373:void addOp(android.support.v4.app.BackStackRecord$Op) -> a
+ 389:390:android.support.v4.app.FragmentTransaction add(int,android.support.v4.app.Fragment,java.lang.String) -> a
+ 394:428:void doAddOp(int,android.support.v4.app.Fragment,java.lang.String,int) -> a
+ 468:470:android.support.v4.app.FragmentTransaction detach(android.support.v4.app.Fragment) -> a
+ 475:477:android.support.v4.app.FragmentTransaction attach(android.support.v4.app.Fragment) -> b
+ 594:608:void bumpBackStackNesting(int) -> a
+ 624:630:void runOnCommitRunnables() -> a
+ 634:634:int commit() -> b
+ 666:681:int commitInternal(boolean) -> a
+ 695:704:boolean generateOps(java.util.ArrayList,java.util.ArrayList) -> a
+ 708:716:boolean interactsWith(int) -> b
+ 720:744:boolean interactsWith(java.util.ArrayList,int,int) -> a
+ 752:801:void executeOps() -> c
+ 811:859:void executePopOps(boolean) -> b
+ 885:950:android.support.v4.app.Fragment expandOps(java.util.ArrayList,android.support.v4.app.Fragment) -> a
+ 964:983:android.support.v4.app.Fragment trackAddedFragmentsInPop(java.util.ArrayList,android.support.v4.app.Fragment) -> b
+ 987:993:boolean isPostponed() -> d
+ 997:1003:void setOnStartPostponedListener(android.support.v4.app.Fragment$OnStartEnterTransitionListener) -> a
+ 1006:1008:boolean isFragmentPostponed(android.support.v4.app.BackStackRecord$Op) -> b
+ 1013:1013:java.lang.String getName() -> e
+ 177:177:void () ->
+android.support.v4.app.BackStackRecord$Op -> android.support.v4.app.d:
+ int cmd -> a
+ android.support.v4.app.Fragment fragment -> b
+ int enterAnim -> c
+ int exitAnim -> d
+ int popEnterAnim -> e
+ int popExitAnim -> f
+ 200:201:void () ->
+ 203:206:void (int,android.support.v4.app.Fragment) ->
+android.support.v4.app.BackStackState -> android.support.v4.app.BackStackState:
+ int[] mOps -> a
+ int mTransition -> b
+ int mTransitionStyle -> c
+ java.lang.String mName -> d
+ int mIndex -> e
+ int mBreadCrumbTitleRes -> f
+ java.lang.CharSequence mBreadCrumbTitleText -> g
+ int mBreadCrumbShortTitleRes -> h
+ java.lang.CharSequence mBreadCrumbShortTitleText -> i
+ java.util.ArrayList mSharedElementSourceNames -> j
+ java.util.ArrayList mSharedElementTargetNames -> k
+ boolean mReorderingAllowed -> l
+ android.os.Parcelable$Creator CREATOR -> CREATOR
+ 47:76:void (android.support.v4.app.BackStackRecord) ->
+ 78:91:void (android.os.Parcel) ->
+ 94:133:android.support.v4.app.BackStackRecord instantiate(android.support.v4.app.FragmentManagerImpl) -> a
+ 138:138:int describeContents() -> describeContents
+ 143:155:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+ 157:157:void () ->
+android.support.v4.app.BackStackState$1 -> android.support.v4.app.e:
+ 158:158:void () ->
+ 161:161:android.support.v4.app.BackStackState createFromParcel(android.os.Parcel) -> a
+ 166:166:android.support.v4.app.BackStackState[] newArray(int) -> a
+ 158:158:java.lang.Object[] newArray(int) -> newArray
+ 158:158:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+android.support.v4.app.BaseFragmentActivityApi14 -> android.support.v4.app.f:
+ boolean mStartedIntentSenderFromFragment -> a
+ 28:28:void () ->
+ 39:43:android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 48:52:android.view.View onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ android.view.View dispatchFragmentsOnCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> a
+ 64:71:void startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int) -> startIntentSenderForResult
+ 78:81:void checkForValidRequestCode(int) -> a
+android.support.v4.app.BaseFragmentActivityApi16 -> android.support.v4.app.g:
+ boolean mStartedActivityFromFragment -> b
+ 34:34:void () ->
+ 49:55:void startActivityForResult(android.content.Intent,int,android.os.Bundle) -> startActivityForResult
+ 64:71:void startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle) -> startIntentSenderForResult
+android.support.v4.app.BundleCompat -> android.support.v4.app.h:
+ 98:101:android.os.IBinder getBinder(android.os.Bundle,java.lang.String) -> a
+android.support.v4.app.BundleCompat$BundleCompatBaseImpl -> android.support.v4.app.i:
+ java.lang.reflect.Method sGetIBinderMethod -> a
+ boolean sGetIBinderMethodFetched -> b
+ 42:61:android.os.IBinder getBinder(android.os.Bundle,java.lang.String) -> a
+android.support.v4.app.Fragment -> android.support.v4.app.Fragment:
+ android.support.v4.util.SimpleArrayMap sClassMap -> U
+ java.lang.Object USE_DEFAULT_TRANSITION -> a
+ int mState -> b
+ android.os.Bundle mSavedFragmentState -> c
+ android.util.SparseArray mSavedViewState -> d
+ int mIndex -> e
+ java.lang.String mWho -> f
+ android.os.Bundle mArguments -> g
+ android.support.v4.app.Fragment mTarget -> h
+ int mTargetIndex -> i
+ int mTargetRequestCode -> j
+ boolean mAdded -> k
+ boolean mRemoving -> l
+ boolean mFromLayout -> m
+ boolean mInLayout -> n
+ boolean mRestored -> o
+ boolean mPerformedCreateView -> p
+ int mBackStackNesting -> q
+ android.support.v4.app.FragmentManagerImpl mFragmentManager -> r
+ android.support.v4.app.FragmentHostCallback mHost -> s
+ android.support.v4.app.FragmentManagerImpl mChildFragmentManager -> t
+ android.support.v4.app.FragmentManagerNonConfig mChildNonConfig -> u
+ android.support.v4.app.Fragment mParentFragment -> v
+ int mFragmentId -> w
+ int mContainerId -> x
+ java.lang.String mTag -> y
+ boolean mHidden -> z
+ boolean mDetached -> A
+ boolean mRetainInstance -> B
+ boolean mRetaining -> C
+ boolean mHasMenu -> D
+ boolean mMenuVisible -> E
+ boolean mCalled -> F
+ android.view.ViewGroup mContainer -> G
+ android.view.View mView -> H
+ android.view.View mInnerView -> I
+ boolean mDeferStart -> J
+ boolean mUserVisibleHint -> K
+ android.support.v4.app.LoaderManagerImpl mLoaderManager -> L
+ boolean mLoadersStarted -> M
+ boolean mCheckedForLoaderManager -> N
+ android.support.v4.app.Fragment$AnimationInfo mAnimationInfo -> O
+ boolean mIsNewlyAdded -> P
+ boolean mHiddenChanged -> Q
+ float mPostponedAlpha -> R
+ android.view.LayoutInflater mLayoutInflater -> S
+ boolean mIsCreated -> T
+ 201:417:void () ->
+ 443:471:android.support.v4.app.Fragment instantiate(android.content.Context,java.lang.String,android.os.Bundle) -> a
+ 486:494:boolean isSupportFragmentClass(android.content.Context,java.lang.String) -> a
+ 499:509:void restoreViewState(android.os.Bundle) -> a
+ 512:518:void setIndex(int,android.support.v4.app.Fragment) -> a
+ 521:521:boolean isInBackStack() -> a
+ 528:528:boolean equals(java.lang.Object) -> equals
+ 535:535:int hashCode() -> hashCode
+ 540:555:java.lang.String toString() -> toString
+ 582:586:void setArguments(android.os.Bundle) -> b
+ 605:608:boolean isStateSaved() -> b
+ 689:689:android.support.v4.app.FragmentActivity getActivity() -> c
+ 704:707:android.content.res.Resources getResources() -> d
+ 754:754:android.support.v4.app.FragmentManager getFragmentManager() -> e
+ 762:774:android.support.v4.app.FragmentManager getChildFragmentManager() -> f
+ 782:782:android.support.v4.app.FragmentManager peekChildFragmentManager() -> g
+ 806:806:boolean isDetached() -> h
+ 877:877:void onHiddenChanged(boolean) -> a
+ 1050:1050:void onActivityResult(int,int,android.content.Intent) -> a
+ 1152:1152:void onRequestPermissionsResult(int,java.lang.String[],int[]) -> a
+ 1191:1191:android.view.LayoutInflater onGetLayoutInflater(android.os.Bundle) -> c
+ 1221:1223:android.view.LayoutInflater performGetLayoutInflater(android.os.Bundle) -> d
+ 1238:1245:android.view.LayoutInflater getLayoutInflater(android.os.Bundle) -> e
+ 1292:1298:void onInflate(android.content.Context,android.util.AttributeSet,android.os.Bundle) -> a
+ 1309:1310:void onInflate(android.app.Activity,android.util.AttributeSet,android.os.Bundle) -> a
+ 1322:1322:void onAttachFragment(android.support.v4.app.Fragment) -> a
+ 1330:1336:void onAttach(android.content.Context) -> a
+ 1347:1348:void onAttach(android.app.Activity) -> a
+ 1366:1366:android.view.animation.Animation onCreateAnimation(int,boolean,int) -> a
+ 1386:1386:android.animation.Animator onCreateAnimator(int,boolean,int) -> b
+ 1408:1414:void onCreate(android.os.Bundle) -> f
+ 1429:1441:void restoreChildFragmentState(android.os.Bundle) -> g
+ 1465:1465:android.view.View onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle) -> a
+ 1479:1479:void onViewCreated(android.view.View,android.os.Bundle) -> a
+ 1489:1489:android.view.View getView() -> i
+ 1507:1508:void onActivityCreated(android.os.Bundle) -> h
+ 1523:1524:void onViewStateRestored(android.os.Bundle) -> i
+ 1533:1544:void onStart() -> j
+ 1554:1555:void onResume() -> k
+ 1577:1577:void onSaveInstanceState(android.os.Bundle) -> j
+ 1587:1587:void onMultiWindowModeChanged(boolean) -> b
+ 1596:1596:void onPictureInPictureModeChanged(boolean) -> c
+ 1601:1602:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 1611:1612:void onPause() -> l
+ 1621:1622:void onStop() -> m
+ 1627:1628:void onLowMemory() -> onLowMemory
+ 1641:1642:void onDestroyView() -> n
+ 1650:1660:void onDestroy() -> o
+ 1669:1689:void initState() -> p
+ 1697:1698:void onDetach() -> q
+ 1714:1714:void onCreateOptionsMenu(android.view.Menu,android.view.MenuInflater) -> a
+ 1731:1731:void onPrepareOptionsMenu(android.view.Menu) -> a
+ 1741:1741:void onDestroyOptionsMenu() -> r
+ 1762:1762:boolean onOptionsItemSelected(android.view.MenuItem) -> a
+ 1773:1773:void onOptionsMenuClosed(android.view.Menu) -> b
+ 1794:1795:void onCreateContextMenu(android.view.ContextMenu,android.view.View,android.view.ContextMenu$ContextMenuInfo) -> onCreateContextMenu
+ 1840:1840:boolean onContextItemSelected(android.view.MenuItem) -> b
+ 1889:1892:java.lang.Object getEnterTransition() -> s
+ 1926:1930:java.lang.Object getReturnTransition() -> t
+ 1963:1966:java.lang.Object getExitTransition() -> u
+ 1999:2003:java.lang.Object getReenterTransition() -> v
+ 2029:2032:java.lang.Object getSharedElementEnterTransition() -> w
+ 2064:2069:java.lang.Object getSharedElementReturnTransition() -> x
+ 2093:2094:boolean getAllowEnterTransitionOverlap() -> y
+ 2118:2119:boolean getAllowReturnTransitionOverlap() -> z
+ 2167:2179:void startPostponedEnterTransition() -> A
+ 2186:2196:void callStartTransitionListener() -> W
+ 2208:2284:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> a
+ 2287:2293:android.support.v4.app.Fragment findFragmentByWho(java.lang.String) -> a
+ 2297:2321:void instantiateChildFragmentManager() -> B
+ 2324:2335:void performCreate(android.os.Bundle) -> k
+ 2339:2343:android.view.View performCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle) -> b
+ 2347:2360:void performActivityCreated(android.os.Bundle) -> l
+ 2363:2380:void performStart() -> C
+ 2383:2398:void performResume() -> D
+ 2401:2404:void noteStateNotSaved() -> E
+ 2407:2411:void performMultiWindowModeChanged(boolean) -> d
+ 2414:2418:void performPictureInPictureModeChanged(boolean) -> e
+ 2421:2425:void performConfigurationChanged(android.content.res.Configuration) -> a
+ 2428:2432:void performLowMemory() -> F
+ 2444:2454:boolean performCreateOptionsMenu(android.view.Menu,android.view.MenuInflater) -> b
+ 2458:2468:boolean performPrepareOptionsMenu(android.view.Menu) -> c
+ 2472:2484:boolean performOptionsItemSelected(android.view.MenuItem) -> c
+ 2488:2498:boolean performContextItemSelected(android.view.MenuItem) -> d
+ 2502:2510:void performOptionsMenuClosed(android.view.Menu) -> d
+ 2513:2520:void performSaveInstanceState(android.os.Bundle) -> m
+ 2523:2533:void performPause() -> G
+ 2536:2546:void performStop() -> H
+ 2549:2567:void performReallyStop() -> I
+ 2570:2584:void performDestroyView() -> J
+ 2587:2599:void performDestroy() -> K
+ 2602:2621:void performDetach() -> L
+ 2624:2638:void setOnStartEnterTransitionListener(android.support.v4.app.Fragment$OnStartEnterTransitionListener) -> a
+ 2641:2644:android.support.v4.app.Fragment$AnimationInfo ensureAnimationInfo() -> X
+ 2648:2651:int getNextAnim() -> M
+ 2655:2659:void setNextAnim(int) -> a
+ 2662:2665:int getNextTransition() -> N
+ 2669:2675:void setNextTransition(int,int) -> a
+ 2678:2681:int getNextTransitionStyle() -> O
+ 2685:2688:android.support.v4.app.SharedElementCallback getEnterTransitionCallback() -> P
+ 2692:2695:android.support.v4.app.SharedElementCallback getExitTransitionCallback() -> Q
+ 2699:2702:android.view.View getAnimatingAway() -> R
+ 2706:2707:void setAnimatingAway(android.view.View) -> a
+ 2710:2711:void setAnimator(android.animation.Animator) -> a
+ 2714:2717:android.animation.Animator getAnimator() -> S
+ 2721:2724:int getStateAfterAnimating() -> T
+ 2728:2729:void setStateAfterAnimating(int) -> b
+ 2732:2735:boolean isPostponed() -> U
+ 2739:2742:boolean isHideReplaced() -> V
+ 2746:2747:void setHideReplaced(boolean) -> f
+ 188:188:void access$800(android.support.v4.app.Fragment) -> b
+ 189:192:void () ->
+android.support.v4.app.Fragment$1 -> android.support.v4.app.j:
+ android.support.v4.app.Fragment this$0 -> a
+ 2170:2170:void (android.support.v4.app.Fragment) ->
+ 2173:2174:void run() -> run
+android.support.v4.app.Fragment$2 -> android.support.v4.app.k:
+ android.support.v4.app.Fragment this$0 -> a
+ 2301:2301:void (android.support.v4.app.Fragment) ->
+ 2305:2308:android.view.View onFindViewById(int) -> a
+ 2313:2313:boolean onHasView() -> a
+ 2318:2318:android.support.v4.app.Fragment instantiate(android.content.Context,java.lang.String,android.os.Bundle) -> a
+android.support.v4.app.Fragment$AnimationInfo -> android.support.v4.app.l:
+ android.view.View mAnimatingAway -> a
+ android.animation.Animator mAnimator -> b
+ int mStateAfterAnimating -> c
+ int mNextAnim -> d
+ int mNextTransition -> e
+ int mNextTransitionStyle -> f
+ java.lang.Object mEnterTransition -> l
+ java.lang.Object mReturnTransition -> m
+ java.lang.Object mExitTransition -> n
+ java.lang.Object mReenterTransition -> o
+ java.lang.Object mSharedElementEnterTransition -> p
+ java.lang.Object mSharedElementReturnTransition -> q
+ java.lang.Boolean mAllowReturnTransitionOverlap -> r
+ java.lang.Boolean mAllowEnterTransitionOverlap -> s
+ android.support.v4.app.SharedElementCallback mEnterTransitionCallback -> g
+ android.support.v4.app.SharedElementCallback mExitTransitionCallback -> h
+ boolean mEnterTransitionPostponed -> i
+ android.support.v4.app.Fragment$OnStartEnterTransitionListener mStartEnterTransitionListener -> j
+ boolean mIsHideReplaced -> k
+ 2763:2796:void () ->
+ 2763:2763:java.lang.Object access$000(android.support.v4.app.Fragment$AnimationInfo) -> a
+ 2763:2763:java.lang.Object access$100(android.support.v4.app.Fragment$AnimationInfo) -> b
+ 2763:2763:java.lang.Object access$200(android.support.v4.app.Fragment$AnimationInfo) -> c
+ 2763:2763:java.lang.Object access$300(android.support.v4.app.Fragment$AnimationInfo) -> d
+ 2763:2763:java.lang.Object access$400(android.support.v4.app.Fragment$AnimationInfo) -> e
+ 2763:2763:java.lang.Object access$500(android.support.v4.app.Fragment$AnimationInfo) -> f
+ 2763:2763:java.lang.Boolean access$600(android.support.v4.app.Fragment$AnimationInfo) -> g
+ 2763:2763:java.lang.Boolean access$700(android.support.v4.app.Fragment$AnimationInfo) -> h
+android.support.v4.app.Fragment$InstantiationException -> android.support.v4.app.m:
+ 397:398:void (java.lang.String,java.lang.Exception) ->
+android.support.v4.app.Fragment$OnStartEnterTransitionListener -> android.support.v4.app.n:
+ void onStartEnterTransition() -> a
+ void startListening() -> b
+android.support.v4.app.Fragment$SavedState -> android.support.v4.app.Fragment$SavedState:
+ android.os.Bundle mState -> a
+ android.os.Parcelable$Creator CREATOR -> CREATOR
+ 360:365:void (android.os.Parcel,java.lang.ClassLoader) ->
+ 369:369:int describeContents() -> describeContents
+ 374:375:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+ 377:377:void () ->
+android.support.v4.app.Fragment$SavedState$1 -> android.support.v4.app.o:
+ 378:378:void () ->
+ 381:381:android.support.v4.app.Fragment$SavedState createFromParcel(android.os.Parcel) -> a
+ 386:386:android.support.v4.app.Fragment$SavedState[] newArray(int) -> a
+ 378:378:java.lang.Object[] newArray(int) -> newArray
+ 378:378:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+android.support.v4.app.FragmentActivity -> android.support.v4.app.p:
+ android.os.Handler mHandler -> c
+ android.support.v4.app.FragmentController mFragments -> d
+ boolean mCreated -> e
+ boolean mResumed -> f
+ boolean mStopped -> g
+ boolean mReallyStopped -> h
+ boolean mRetaining -> i
+ int mNextCandidateRequestIndex -> j
+ android.support.v4.util.SparseArrayCompat mPendingFragmentActivityResults -> k
+ 65:860:void () ->
+ 134:155:void onActivityResult(int,int,android.content.Intent) -> onActivityResult
+ 163:175:void onBackPressed() -> onBackPressed
+ 243:244:void onMultiWindowModeChanged(boolean) -> onMultiWindowModeChanged
+ 258:259:void onPictureInPictureModeChanged(boolean) -> onPictureInPictureModeChanged
+ 266:268:void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
+ 276:313:void onCreate(android.os.Bundle) -> onCreate
+ 320:325:boolean onCreatePanelMenu(int,android.view.Menu) -> onCreatePanelMenu
+ 331:331:android.view.View dispatchFragmentsOnCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> a
+ 339:345:void onDestroy() -> onDestroy
+ 352:354:void onLowMemory() -> onLowMemory
+ 361:373:boolean onMenuItemSelected(int,android.view.MenuItem) -> onMenuItemSelected
+ 382:388:void onPanelClosed(int,android.view.Menu) -> onPanelClosed
+ 395:402:void onPause() -> onPause
+ 416:418:void onNewIntent(android.content.Intent) -> onNewIntent
+ 425:426:void onStateNotSaved() -> onStateNotSaved
+ 439:443:void onResume() -> onResume
+ 450:454:void onPostResume() -> onPostResume
+ 463:464:void onResumeFragments() -> a_
+ 471:476:boolean onPreparePanel(int,android.view.View,android.view.Menu) -> onPreparePanel
+ 484:484:boolean onPrepareOptionsPanel(android.view.View,android.view.Menu) -> a
+ 494:511:java.lang.Object onRetainNonConfigurationInstance() -> onRetainNonConfigurationInstance
+ 519:536:void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
+ 544:564:void onStart() -> onStart
+ 571:577:void onStop() -> onStop
+ 588:588:java.lang.Object onRetainCustomNonConfigurationInstance() -> b
+ 613:614:void supportInvalidateOptionsMenu() -> c
+ 628:640:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> dump
+ 643:656:void doReallyStop(boolean) -> a
+ 666:669:void onReallyStop() -> d
+ 684:684:void onAttachFragment(android.support.v4.app.Fragment) -> a
+ 706:712:void startActivityForResult(android.content.Intent,int) -> startActivityForResult
+ 749:766:void onRequestPermissionsResult(int,java.lang.String[],int[]) -> onRequestPermissionsResult
+ 65:65:void startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle) -> startIntentSenderForResult
+ 65:65:void startActivityForResult(android.content.Intent,int,android.os.Bundle) -> startActivityForResult
+ 65:65:void startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int) -> startIntentSenderForResult
+ 65:65:android.view.View onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 65:65:android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+android.support.v4.app.FragmentActivity$1 -> android.support.v4.app.q:
+ android.support.v4.app.FragmentActivity this$0 -> a
+ 79:79:void (android.support.v4.app.FragmentActivity) ->
+ 82:95:void handleMessage(android.os.Message) -> handleMessage
+android.support.v4.app.FragmentActivity$HostCallbacks -> android.support.v4.app.r:
+ android.support.v4.app.FragmentActivity this$0 -> a
+ 861:863:void (android.support.v4.app.FragmentActivity) ->
+ 867:868:void onDump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> a
+ 872:872:boolean onShouldSaveFragmentState(android.support.v4.app.Fragment) -> a
+ 877:877:android.view.LayoutInflater onGetLayoutInflater() -> b
+ 887:888:void onSupportInvalidateOptionsMenu() -> c
+ 924:924:boolean onHasWindowAnimations() -> d
+ 929:930:int onGetWindowAnimations() -> e
+ 935:936:void onAttachFragment(android.support.v4.app.Fragment) -> b
+ 941:941:android.view.View onFindViewById(int) -> a
+ 946:947:boolean onHasView() -> a
+android.support.v4.app.FragmentActivity$NonConfigurationInstances -> android.support.v4.app.s:
+ java.lang.Object custom -> a
+ android.support.v4.app.FragmentManagerNonConfig fragments -> b
+ android.support.v4.util.SimpleArrayMap loaders -> c
+ 119:119:void () ->
+android.support.v4.app.FragmentContainer -> android.support.v4.app.t:
+ 13:13:void () ->
+ android.view.View onFindViewById(int) -> a
+ boolean onHasView() -> a
+ 33:33:android.support.v4.app.Fragment instantiate(android.content.Context,java.lang.String,android.os.Bundle) -> a
+android.support.v4.app.FragmentController -> android.support.v4.app.u:
+ android.support.v4.app.FragmentHostCallback mHost -> a
+ 47:47:android.support.v4.app.FragmentController createController(android.support.v4.app.FragmentHostCallback) -> a
+ 50:52:void (android.support.v4.app.FragmentHostCallback) ->
+ 58:58:android.support.v4.app.FragmentManager getSupportFragmentManager() -> a
+ 73:73:android.support.v4.app.Fragment findFragmentByWho(java.lang.String) -> a
+ 95:97:void attachHost(android.support.v4.app.Fragment) -> a
+ 111:111:android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> a
+ 118:119:void noteStateNotSaved() -> b
+ 125:125:android.os.Parcelable saveAllState() -> c
+ 149:150:void restoreAllState(android.os.Parcelable,android.support.v4.app.FragmentManagerNonConfig) -> a
+ 170:170:android.support.v4.app.FragmentManagerNonConfig retainNestedNonConfig() -> d
+ 181:182:void dispatchCreate() -> e
+ 192:193:void dispatchActivityCreated() -> f
+ 203:204:void dispatchStart() -> g
+ 214:215:void dispatchResume() -> h
+ 225:226:void dispatchPause() -> i
+ 236:237:void dispatchStop() -> j
+ 240:241:void dispatchReallyStop() -> k
+ 262:263:void dispatchDestroy() -> l
+ 273:274:void dispatchMultiWindowModeChanged(boolean) -> a
+ 284:285:void dispatchPictureInPictureModeChanged(boolean) -> b
+ 295:296:void dispatchConfigurationChanged(android.content.res.Configuration) -> a
+ 307:308:void dispatchLowMemory() -> m
+ 319:319:boolean dispatchCreateOptionsMenu(android.view.Menu,android.view.MenuInflater) -> a
+ 331:331:boolean dispatchPrepareOptionsMenu(android.view.Menu) -> a
+ 344:344:boolean dispatchOptionsItemSelected(android.view.MenuItem) -> a
+ 357:357:boolean dispatchContextItemSelected(android.view.MenuItem) -> b
+ 368:369:void dispatchOptionsMenuClosed(android.view.Menu) -> b
+ 379:379:boolean execPendingActions() -> n
+ 386:387:void doLoaderStart() -> o
+ 397:398:void doLoaderStop(boolean) -> c
+ 411:412:void doLoaderDestroy() -> p
+ 418:419:void reportLoaderStart() -> q
+ 426:426:android.support.v4.util.SimpleArrayMap retainLoaderNonConfig() -> r
+ 436:437:void restoreLoaderNonConfig(android.support.v4.util.SimpleArrayMap) -> a
+ 443:444:void dumpLoaders(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> a
+android.support.v4.app.FragmentHostCallback -> android.support.v4.app.v:
+ android.app.Activity mActivity -> a
+ android.content.Context mContext -> b
+ android.os.Handler mHandler -> e
+ int mWindowAnimations -> c
+ android.support.v4.app.FragmentManagerImpl mFragmentManager -> d
+ android.support.v4.util.SimpleArrayMap mAllLoaderManagers -> f
+ boolean mRetainLoaders -> g
+ android.support.v4.app.LoaderManagerImpl mLoaderManager -> h
+ boolean mCheckedForLoaderManager -> i
+ boolean mLoadersStarted -> j
+ 63:64:void (android.support.v4.app.FragmentActivity) ->
+ 46:72:void (android.app.Activity,android.content.Context,android.os.Handler,int) ->
+ 84:84:void onDump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> a
+ 90:90:boolean onShouldSaveFragmentState(android.support.v4.app.Fragment) -> a
+ 98:98:android.view.LayoutInflater onGetLayoutInflater() -> b
+ 114:114:void onSupportInvalidateOptionsMenu() -> c
+ 172:172:boolean onHasWindowAnimations() -> d
+ 179:179:int onGetWindowAnimations() -> e
+ 185:185:android.view.View onFindViewById(int) -> a
+ 190:190:boolean onHasView() -> a
+ 194:194:android.app.Activity getActivity() -> f
+ 198:198:android.content.Context getContext() -> g
+ 202:202:android.os.Handler getHandler() -> h
+ 206:206:android.support.v4.app.FragmentManagerImpl getFragmentManagerImpl() -> i
+ 220:227:void inactivateFragment(java.lang.String) -> a
+ 230:230:void onAttachFragment(android.support.v4.app.Fragment) -> b
+ 233:233:boolean getRetainLoaders() -> j
+ 237:252:void doLoaderStart() -> k
+ 256:272:void doLoaderStop(boolean) -> a
+ 282:286:void doLoaderDestroy() -> l
+ 289:301:void reportLoaderStart() -> m
+ 304:314:android.support.v4.app.LoaderManagerImpl getLoaderManager(java.lang.String,boolean,boolean) -> a
+ 318:348:android.support.v4.util.SimpleArrayMap retainLoaderNonConfig() -> n
+ 352:358:void restoreLoaderNonConfig(android.support.v4.util.SimpleArrayMap) -> a
+ 361:369:void dumpLoaders(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> b
+android.support.v4.app.FragmentManager -> android.support.v4.app.w:
+ 85:448:void () ->
+ android.support.v4.app.FragmentTransaction beginTransaction() -> a
+ boolean executePendingTransactions() -> b
+ android.support.v4.app.Fragment findFragmentByTag(java.lang.String) -> a
+ boolean popBackStackImmediate() -> c
+ void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> a
+ boolean isStateSaved() -> d
+android.support.v4.app.FragmentManager$FragmentLifecycleCallbacks -> android.support.v4.app.x:
+ 448:448:void () ->
+ 458:458:void onFragmentPreAttached(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment,android.content.Context) -> a
+ 468:468:void onFragmentAttached(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment,android.content.Context) -> b
+ 480:480:void onFragmentPreCreated(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment,android.os.Bundle) -> a
+ 491:491:void onFragmentCreated(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment,android.os.Bundle) -> b
+ 503:503:void onFragmentActivityCreated(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment,android.os.Bundle) -> c
+ 515:515:void onFragmentViewCreated(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment,android.view.View,android.os.Bundle) -> a
+ 524:524:void onFragmentStarted(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment) -> a
+ 533:533:void onFragmentResumed(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment) -> b
+ 542:542:void onFragmentPaused(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment) -> c
+ 551:551:void onFragmentStopped(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment) -> d
+ 561:561:void onFragmentSaveInstanceState(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment,android.os.Bundle) -> d
+ 570:570:void onFragmentViewDestroyed(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment) -> e
+ 579:579:void onFragmentDestroyed(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment) -> f
+ 588:588:void onFragmentDetached(android.support.v4.app.FragmentManager,android.support.v4.app.Fragment) -> g
+android.support.v4.app.FragmentManager$OnBackStackChangedListener -> android.support.v4.app.y:
+ void onBackStackChanged() -> a
+android.support.v4.app.FragmentManagerImpl -> android.support.v4.app.z:
+ boolean DEBUG -> a
+ java.util.ArrayList mPendingActions -> b
+ boolean mExecutingActions -> c
+ int mNextFragmentIndex -> d
+ java.util.ArrayList mAdded -> e
+ android.util.SparseArray mActive -> f
+ java.util.ArrayList mBackStack -> g
+ java.util.ArrayList mCreatedMenus -> h
+ java.util.ArrayList mBackStackIndices -> i
+ java.util.ArrayList mAvailBackStackIndices -> j
+ java.util.ArrayList mBackStackChangeListeners -> k
+ java.util.concurrent.CopyOnWriteArrayList mLifecycleCallbacks -> I
+ int mCurState -> l
+ android.support.v4.app.FragmentHostCallback mHost -> m
+ android.support.v4.app.FragmentContainer mContainer -> n
+ android.support.v4.app.Fragment mParent -> o
+ android.support.v4.app.Fragment mPrimaryNav -> p
+ java.lang.reflect.Field sAnimationListenerField -> q
+ boolean mNeedMenuInvalidate -> r
+ boolean mStateSaved -> s
+ boolean mDestroyed -> t
+ java.lang.String mNoTransactionsBecause -> u
+ boolean mHavePendingDeferredStart -> v
+ java.util.ArrayList mTmpRecords -> w
+ java.util.ArrayList mTmpIsPop -> x
+ java.util.ArrayList mTmpAddedFragments -> y
+ android.os.Bundle mStateBundle -> z
+ android.util.SparseArray mStateArray -> A
+ java.util.ArrayList mPostponedTransactions -> B
+ android.support.v4.app.FragmentManagerNonConfig mSavedNonConfig -> C
+ java.lang.Runnable mExecCommit -> D
+ android.view.animation.Interpolator DECELERATE_QUINT -> E
+ android.view.animation.Interpolator DECELERATE_CUBIC -> F
+ android.view.animation.Interpolator ACCELERATE_QUINT -> G
+ android.view.animation.Interpolator ACCELERATE_CUBIC -> H
+ 641:3963:void () ->
+ 705:716:boolean modifiesAlpha(android.support.v4.app.FragmentManagerImpl$AnimationOrAnimator) -> a
+ 721:740:boolean modifiesAlpha(android.animation.Animator) -> a
+ 744:750:boolean shouldRunOnHWLayer(android.view.View,android.support.v4.app.FragmentManagerImpl$AnimationOrAnimator) -> a
+ 754:771:void throwException(java.lang.RuntimeException) -> a
+ 776:776:android.support.v4.app.FragmentTransaction beginTransaction() -> a
+ 781:783:boolean executePendingTransactions() -> b
+ 793:794:boolean popBackStackImmediate() -> c
+ 834:859:boolean popBackStackImmediate(java.lang.String,int,int) -> a
+ 889:894:void putFragment(android.os.Bundle,java.lang.String,android.support.v4.app.Fragment) -> a
+ 898:907:android.support.v4.app.Fragment getFragment(android.os.Bundle,java.lang.String) -> a
+ 970:980:java.lang.String toString() -> toString
+ 985:1091:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> a
+ 1102:1112:android.support.v4.app.FragmentManagerImpl$AnimationOrAnimator makeOpenCloseAnimation(android.content.Context,float,float,float,float) -> a
+ 1116:1119:android.support.v4.app.FragmentManagerImpl$AnimationOrAnimator makeFadeAnimation(android.content.Context,float,float) -> a
+ 1124:1217:android.support.v4.app.FragmentManagerImpl$AnimationOrAnimator loadAnimation(android.support.v4.app.Fragment,int,boolean,int) -> a
+ 1221:1230:void performPendingDeferredStart(android.support.v4.app.Fragment) -> a
+ 1240:1256:void setHWLayerAnimListenerIfAlpha(android.view.View,android.support.v4.app.FragmentManagerImpl$AnimationOrAnimator) -> b
+ 1262:1274:android.view.animation.Animation$AnimationListener getAnimationListener(android.view.animation.Animation) -> a
+ 1278:1278:boolean isStateAtLeast(int) -> a
+ 1285:1584:void moveToState(android.support.v4.app.Fragment,int,int,int,boolean) -> a
+ 1596:1637:void animateRemoveFragment(android.support.v4.app.Fragment,android.support.v4.app.FragmentManagerImpl$AnimationOrAnimator,int) -> a
+ 1640:1641:void moveToState(android.support.v4.app.Fragment) -> b
+ 1644:1657:void ensureInflatedFragmentView(android.support.v4.app.Fragment) -> c
+ 1670:1720:void completeShowHideFragment(android.support.v4.app.Fragment) -> d
+ 1729:1780:void moveFragmentToExpectedState(android.support.v4.app.Fragment) -> e
+ 1792:1837:void moveToState(int,boolean) -> a
+ 1840:1848:void startPendingDeferredFragments() -> e
+ 1851:1861:void makeActive(android.support.v4.app.Fragment) -> f
+ 1864:1875:void makeInactive(android.support.v4.app.Fragment) -> g
+ 1878:1899:void addFragment(android.support.v4.app.Fragment,boolean) -> a
+ 1902:1914:void removeFragment(android.support.v4.app.Fragment) -> h
+ 1923:1930:void hideFragment(android.support.v4.app.Fragment) -> i
+ 1939:1946:void showFragment(android.support.v4.app.Fragment) -> j
+ 1949:1964:void detachFragment(android.support.v4.app.Fragment) -> k
+ 1967:1984:void attachFragment(android.support.v4.app.Fragment) -> l
+ 1989:2004:android.support.v4.app.Fragment findFragmentById(int) -> b
+ 2009:2027:android.support.v4.app.Fragment findFragmentByTag(java.lang.String) -> a
+ 2031:2039:android.support.v4.app.Fragment findFragmentByWho(java.lang.String) -> b
+ 2043:2051:void checkStateLoss() -> y
+ 2055:2055:boolean isStateSaved() -> d
+ 2066:2083:void enqueueAction(android.support.v4.app.FragmentManagerImpl$OpGenerator,boolean) -> a
+ 2092:2101:void scheduleCommit() -> z
+ 2104:2120:int allocBackStackIndex(android.support.v4.app.BackStackRecord) -> a
+ 2124:2146:void setBackStackIndex(int,android.support.v4.app.BackStackRecord) -> a
+ 2149:2157:void freeBackStackIndex(int) -> c
+ 2166:2188:void ensureExecReady(boolean) -> c
+ 2214:2217:void cleanupExec() -> A
+ 2223:2239:boolean execPendingActions() -> f
+ 2248:2274:void executePostponedTransaction(java.util.ArrayList,java.util.ArrayList) -> a
+ 2292:2330:void removeRedundantOperationsAndExecute(java.util.ArrayList,java.util.ArrayList) -> b
+ 2342:2397:void executeOpsTogether(java.util.ArrayList,java.util.ArrayList,int,int) -> a
+ 2407:2416:void makeRemovedFragmentsInvisible(android.support.v4.util.ArraySet) -> a
+ 2433:2466:int postponePostponableTransactions(java.util.ArrayList,java.util.ArrayList,int,int,android.support.v4.util.ArraySet) -> a
+ 2486:2522:void completeExecute(android.support.v4.app.BackStackRecord,boolean,boolean,boolean) -> a
+ 2541:2556:android.support.v4.app.Fragment findFragmentUnder(android.support.v4.app.Fragment) -> p
+ 2569:2583:void executeOps(java.util.ArrayList,java.util.ArrayList,int,int) -> b
+ 2592:2608:void addAddedFragments(android.support.v4.util.ArraySet) -> b
+ 2614:2619:void forcePostponedTransactions() -> B
+ 2626:2648:void endAnimatingAwayFragments() -> C
+ 2662:2675:boolean generateOpsForPendingActions(java.util.ArrayList,java.util.ArrayList) -> c
+ 2679:2692:void doPendingDeferredStart() -> g
+ 2695:2700:void reportBackStackChanged() -> h
+ 2703:2707:void addBackStackState(android.support.v4.app.BackStackRecord) -> b
+ 2712:2763:boolean popBackStackState(java.util.ArrayList,java.util.ArrayList,java.lang.String,int,int) -> a
+ 2767:2768:android.support.v4.app.FragmentManagerNonConfig retainNonConfig() -> i
+ 2778:2793:void setRetaining(android.support.v4.app.FragmentManagerNonConfig) -> a
+ 2796:2838:void saveNonConfig() -> j
+ 2841:2854:void saveFragmentViewState(android.support.v4.app.Fragment) -> m
+ 2857:2887:android.os.Bundle saveFragmentBasicState(android.support.v4.app.Fragment) -> n
+ 2893:3000:android.os.Parcelable saveAllState() -> k
+ 3006:3127:void restoreAllState(android.os.Parcelable,android.support.v4.app.FragmentManagerNonConfig) -> a
+ 3135:3142:void burpActive() -> D
+ 3146:3150:void attachController(android.support.v4.app.FragmentHostCallback,android.support.v4.app.FragmentContainer,android.support.v4.app.Fragment) -> a
+ 3153:3162:void noteStateNotSaved() -> l
+ 3165:3167:void dispatchCreate() -> m
+ 3170:3172:void dispatchActivityCreated() -> n
+ 3175:3177:void dispatchStart() -> o
+ 3180:3182:void dispatchResume() -> p
+ 3185:3186:void dispatchPause() -> q
+ 3192:3195:void dispatchStop() -> r
+ 3198:3199:void dispatchReallyStop() -> s
+ 3202:3203:void dispatchDestroyView() -> t
+ 3206:3212:void dispatchDestroy() -> u
+ 3216:3222:void dispatchStateChange(int) -> e
+ 3225:3231:void dispatchMultiWindowModeChanged(boolean) -> a
+ 3234:3240:void dispatchPictureInPictureModeChanged(boolean) -> b
+ 3243:3249:void dispatchConfigurationChanged(android.content.res.Configuration) -> a
+ 3252:3258:void dispatchLowMemory() -> v
+ 3261:3287:boolean dispatchCreateOptionsMenu(android.view.Menu,android.view.MenuInflater) -> a
+ 3291:3300:boolean dispatchPrepareOptionsMenu(android.view.Menu) -> a
+ 3304:3312:boolean dispatchOptionsItemSelected(android.view.MenuItem) -> a
+ 3316:3324:boolean dispatchContextItemSelected(android.view.MenuItem) -> b
+ 3328:3334:void dispatchOptionsMenuClosed(android.view.Menu) -> b
+ 3338:3344:void setPrimaryNavigationFragment(android.support.v4.app.Fragment) -> o
+ 3348:3348:android.support.v4.app.Fragment getPrimaryNavigationFragment() -> w
+ 3370:3382:void dispatchOnFragmentPreAttached(android.support.v4.app.Fragment,android.content.Context,boolean) -> a
+ 3385:3397:void dispatchOnFragmentAttached(android.support.v4.app.Fragment,android.content.Context,boolean) -> b
+ 3401:3413:void dispatchOnFragmentPreCreated(android.support.v4.app.Fragment,android.os.Bundle,boolean) -> a
+ 3416:3428:void dispatchOnFragmentCreated(android.support.v4.app.Fragment,android.os.Bundle,boolean) -> b
+ 3432:3444:void dispatchOnFragmentActivityCreated(android.support.v4.app.Fragment,android.os.Bundle,boolean) -> c
+ 3448:3460:void dispatchOnFragmentViewCreated(android.support.v4.app.Fragment,android.view.View,android.os.Bundle,boolean) -> a
+ 3463:3475:void dispatchOnFragmentStarted(android.support.v4.app.Fragment,boolean) -> b
+ 3478:3490:void dispatchOnFragmentResumed(android.support.v4.app.Fragment,boolean) -> c
+ 3493:3505:void dispatchOnFragmentPaused(android.support.v4.app.Fragment,boolean) -> d
+ 3508:3520:void dispatchOnFragmentStopped(android.support.v4.app.Fragment,boolean) -> e
+ 3523:3535:void dispatchOnFragmentSaveInstanceState(android.support.v4.app.Fragment,android.os.Bundle,boolean) -> d
+ 3538:3550:void dispatchOnFragmentViewDestroyed(android.support.v4.app.Fragment,boolean) -> f
+ 3553:3565:void dispatchOnFragmentDestroyed(android.support.v4.app.Fragment,boolean) -> g
+ 3568:3580:void dispatchOnFragmentDetached(android.support.v4.app.Fragment,boolean) -> h
+ 3583:3595:int reverseTransit(int) -> d
+ 3607:3619:int transitToStyleIndex(int,boolean) -> b
+ 3624:3715:android.view.View onCreateView(android.view.View,java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 3720:3720:android.view.View onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet) -> onCreateView
+ 3724:3724:android.view.LayoutInflater$Factory2 getLayoutInflaterFactory() -> x
+ 641:641:void access$500(android.support.v4.app.FragmentManagerImpl) -> a
+ 641:641:void access$600(android.support.v4.app.FragmentManagerImpl,android.support.v4.app.BackStackRecord,boolean,boolean,boolean) -> a
+ 642:1096:void () ->
+android.support.v4.app.FragmentManagerImpl$1 -> android.support.v4.app.aa:
+ android.support.v4.app.FragmentManagerImpl this$0 -> a
+ 697:697:void (android.support.v4.app.FragmentManagerImpl) ->
+ 700:701:void run() -> run
+android.support.v4.app.FragmentManagerImpl$2 -> android.support.v4.app.ab:
+ android.support.v4.app.Fragment val$fragment -> a
+ android.support.v4.app.FragmentManagerImpl this$0 -> b
+ 1602:1602:void (android.support.v4.app.FragmentManagerImpl,android.view.animation.Animation$AnimationListener,android.support.v4.app.Fragment) ->
+ 1605:1610:void onAnimationEnd(android.view.animation.Animation) -> onAnimationEnd
+android.support.v4.app.FragmentManagerImpl$3 -> android.support.v4.app.ac:
+ android.view.ViewGroup val$container -> a
+ android.view.View val$viewToAnimate -> b
+ android.support.v4.app.Fragment val$fragment -> c
+ android.support.v4.app.FragmentManagerImpl this$0 -> d
+ 1621:1621:void (android.support.v4.app.FragmentManagerImpl,android.view.ViewGroup,android.view.View,android.support.v4.app.Fragment) ->
+ 1624:1631:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+android.support.v4.app.FragmentManagerImpl$4 -> android.support.v4.app.ad:
+ android.view.ViewGroup val$container -> a
+ android.view.View val$animatingView -> b
+ android.support.v4.app.Fragment val$fragment -> c
+ android.support.v4.app.FragmentManagerImpl this$0 -> d
+ 1684:1684:void (android.support.v4.app.FragmentManagerImpl,android.view.ViewGroup,android.view.View,android.support.v4.app.Fragment) ->
+ 1687:1692:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+android.support.v4.app.FragmentManagerImpl$AnimateOnHWLayerIfNeededListener -> android.support.v4.app.ae:
+ android.view.View mView -> a
+ 3929:3931:void (android.view.View,android.view.animation.Animation$AnimationListener) ->
+ 3946:3957:void onAnimationEnd(android.view.animation.Animation) -> onAnimationEnd
+android.support.v4.app.FragmentManagerImpl$AnimateOnHWLayerIfNeededListener$1 -> android.support.v4.app.af:
+ android.support.v4.app.FragmentManagerImpl$AnimateOnHWLayerIfNeededListener this$0 -> a
+ 3947:3947:void (android.support.v4.app.FragmentManagerImpl$AnimateOnHWLayerIfNeededListener) ->
+ 3950:3951:void run() -> run
+android.support.v4.app.FragmentManagerImpl$AnimationListenerWrapper -> android.support.v4.app.ag:
+ android.view.animation.Animation$AnimationListener mWrapped -> a
+ 3893:3895:void (android.view.animation.Animation$AnimationListener) ->
+ 3900:3903:void onAnimationStart(android.view.animation.Animation) -> onAnimationStart
+ 3908:3911:void onAnimationEnd(android.view.animation.Animation) -> onAnimationEnd
+ 3916:3919:void onAnimationRepeat(android.view.animation.Animation) -> onAnimationRepeat
+ 3890:3890:void (android.view.animation.Animation$AnimationListener,android.support.v4.app.FragmentManagerImpl$1) ->
+android.support.v4.app.FragmentManagerImpl$AnimationOrAnimator -> android.support.v4.app.ah:
+ android.view.animation.Animation animation -> a
+ android.animation.Animator animator -> b
+ 3870:3876:void (android.view.animation.Animation) ->
+ 3878:3884:void (android.animation.Animator) ->
+ 3866:3866:void (android.view.animation.Animation,android.support.v4.app.FragmentManagerImpl$1) ->
+ 3866:3866:void (android.animation.Animator,android.support.v4.app.FragmentManagerImpl$1) ->
+android.support.v4.app.FragmentManagerImpl$AnimatorOnHWLayerIfNeededListener -> android.support.v4.app.ai:
+ android.view.View mView -> a
+ 3966:3968:void (android.view.View) ->
+ 3972:3973:void onAnimationStart(android.animation.Animator) -> onAnimationStart
+ 3977:3979:void onAnimationEnd(android.animation.Animator) -> onAnimationEnd
+android.support.v4.app.FragmentManagerImpl$FragmentTag -> android.support.v4.app.aj:
+ int[] Fragment -> a
+ 3728:3728:void () ->
+android.support.v4.app.FragmentManagerImpl$OpGenerator -> android.support.v4.app.ak:
+ boolean generateOps(java.util.ArrayList,java.util.ArrayList) -> a
+android.support.v4.app.FragmentManagerImpl$StartEnterTransitionListener -> android.support.v4.app.al:
+ boolean mIsBack -> a
+ android.support.v4.app.BackStackRecord mRecord -> b
+ int mNumPostponed -> c
+ 3798:3801:void (android.support.v4.app.BackStackRecord,boolean) ->
+ 3810:3815:void onStartEnterTransition() -> a
+ 3824:3825:void startListening() -> b
+ 3831:3831:boolean isReady() -> c
+ 3841:3852:void completeTransaction() -> d
+ 3859:3860:void cancelTransaction() -> e
+ 3792:3792:boolean access$300(android.support.v4.app.FragmentManagerImpl$StartEnterTransitionListener) -> a
+ 3792:3792:android.support.v4.app.BackStackRecord access$400(android.support.v4.app.FragmentManagerImpl$StartEnterTransitionListener) -> b
+android.support.v4.app.FragmentManagerNonConfig -> android.support.v4.app.am:
+ java.util.List mFragments -> a
+ java.util.List mChildNonConfigs -> b
+ 38:41:void (java.util.List,java.util.List) ->
+ 47:47:java.util.List getFragments() -> a
+ 54:54:java.util.List getChildNonConfigs() -> b
+android.support.v4.app.FragmentManagerState -> android.support.v4.app.FragmentManagerState:
+ android.support.v4.app.FragmentState[] mActive -> a
+ int[] mAdded -> b
+ android.support.v4.app.BackStackState[] mBackStack -> c
+ int mPrimaryNavActiveIndex -> d
+ int mNextFragmentIndex -> e
+ android.os.Parcelable$Creator CREATOR -> CREATOR
+ 596:600:void () ->
+ 596:608:void (android.os.Parcel) ->
+ 612:612:int describeContents() -> describeContents
+ 617:622:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+ 624:624:void () ->
+android.support.v4.app.FragmentManagerState$1 -> android.support.v4.app.an:
+ 625:625:void () ->
+ 628:628:android.support.v4.app.FragmentManagerState createFromParcel(android.os.Parcel) -> a
+ 633:633:android.support.v4.app.FragmentManagerState[] newArray(int) -> a
+ 625:625:java.lang.Object[] newArray(int) -> newArray
+ 625:625:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+android.support.v4.app.FragmentState -> android.support.v4.app.FragmentState:
+ java.lang.String mClassName -> a
+ int mIndex -> b
+ boolean mFromLayout -> c
+ int mFragmentId -> d
+ int mContainerId -> e
+ java.lang.String mTag -> f
+ boolean mRetainInstance -> g
+ boolean mDetached -> h
+ android.os.Bundle mArguments -> i
+ boolean mHidden -> j
+ android.os.Bundle mSavedFragmentState -> k
+ android.support.v4.app.Fragment mInstance -> l
+ android.os.Parcelable$Creator CREATOR -> CREATOR
+ 76:87:void (android.support.v4.app.Fragment) ->
+ 89:101:void (android.os.Parcel) ->
+ 105:136:android.support.v4.app.Fragment instantiate(android.support.v4.app.FragmentHostCallback,android.support.v4.app.FragmentContainer,android.support.v4.app.Fragment,android.support.v4.app.FragmentManagerNonConfig) -> a
+ 141:141:int describeContents() -> describeContents
+ 146:157:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+ 159:159:void () ->
+android.support.v4.app.FragmentState$1 -> android.support.v4.app.ao:
+ 160:160:void () ->
+ 163:163:android.support.v4.app.FragmentState createFromParcel(android.os.Parcel) -> a
+ 168:168:android.support.v4.app.FragmentState[] newArray(int) -> a
+ 160:160:java.lang.Object[] newArray(int) -> newArray
+ 160:160:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+android.support.v4.app.FragmentTabHost -> android.support.v4.app.FragmentTabHost:
+ java.util.ArrayList mTabs -> a
+ android.content.Context mContext -> b
+ android.support.v4.app.FragmentManager mFragmentManager -> c
+ int mContainerId -> d
+ android.widget.TabHost$OnTabChangeListener mOnTabChangeListener -> e
+ android.support.v4.app.FragmentTabHost$TabInfo mLastTab -> f
+ boolean mAttached -> g
+ 188:188:void setup() -> setup
+ 228:229:void setOnTabChangedListener(android.widget.TabHost$OnTabChangeListener) -> setOnTabChangedListener
+ 256:291:void onAttachedToWindow() -> onAttachedToWindow
+ 295:297:void onDetachedFromWindow() -> onDetachedFromWindow
+ 301:304:android.os.Parcelable onSaveInstanceState() -> onSaveInstanceState
+ 309:316:void onRestoreInstanceState(android.os.Parcelable) -> onRestoreInstanceState
+ 320:329:void onTabChanged(java.lang.String) -> onTabChanged
+ 334:359:android.support.v4.app.FragmentTransaction doTabChanged(java.lang.String,android.support.v4.app.FragmentTransaction) -> a
+ 364:370:android.support.v4.app.FragmentTabHost$TabInfo getTabInfoForTag(java.lang.String) -> a
+android.support.v4.app.FragmentTabHost$SavedState -> android.support.v4.app.FragmentTabHost$SavedState:
+ java.lang.String curTab -> a
+ android.os.Parcelable$Creator CREATOR -> CREATOR
+ 97:98:void (android.os.Parcelable) ->
+ 101:103:void (android.os.Parcel) ->
+ 107:109:void writeToParcel(android.os.Parcel,int) -> writeToParcel
+ 113:114:java.lang.String toString() -> toString
+ 118:118:void () ->
+android.support.v4.app.FragmentTabHost$SavedState$1 -> android.support.v4.app.ap:
+ 119:119:void () ->
+ 122:122:android.support.v4.app.FragmentTabHost$SavedState createFromParcel(android.os.Parcel) -> a
+ 127:127:android.support.v4.app.FragmentTabHost$SavedState[] newArray(int) -> a
+ 119:119:java.lang.Object[] newArray(int) -> newArray
+ 119:119:java.lang.Object createFromParcel(android.os.Parcel) -> createFromParcel
+android.support.v4.app.FragmentTabHost$TabInfo -> android.support.v4.app.aq:
+ java.lang.String tag -> a
+ java.lang.Class clss -> b
+ android.os.Bundle args -> c
+ android.support.v4.app.Fragment fragment -> d
+android.support.v4.app.FragmentTransaction -> android.support.v4.app.ar:
+ 42:187:void () ->
+ android.support.v4.app.FragmentTransaction add(int,android.support.v4.app.Fragment,java.lang.String) -> a
+ android.support.v4.app.FragmentTransaction detach(android.support.v4.app.Fragment) -> a
+ android.support.v4.app.FragmentTransaction attach(android.support.v4.app.Fragment) -> b
+ int commit() -> b
+android.support.v4.app.FragmentTransition -> android.support.v4.app.as:
+ int[] INVERSE_OPS -> a
+ 86:124:void startTransitions(android.support.v4.app.FragmentManagerImpl,java.util.ArrayList,java.util.ArrayList,int,int,boolean) -> a
+ 144:174:android.support.v4.util.ArrayMap calculateNameOverrides(int,java.util.ArrayList,java.util.ArrayList,int,int) -> a
+ 196:247:void configureTransitionsReordered(android.support.v4.app.FragmentManagerImpl,int,android.support.v4.app.FragmentTransition$FragmentContainerTransition,android.view.View,android.support.v4.util.ArrayMap) -> a
+ 257:270:void replaceHide(java.lang.Object,android.support.v4.app.Fragment,java.util.ArrayList) -> a
+ 291:346:void configureTransitionsOrdered(android.support.v4.app.FragmentManagerImpl,int,android.support.v4.app.FragmentTransition$FragmentContainerTransition,android.view.View,android.support.v4.util.ArrayMap) -> b
+ 371:394:void scheduleTargetChange(android.view.ViewGroup,android.support.v4.app.Fragment,android.view.View,java.util.ArrayList,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList) -> a
+ 411:417:java.lang.Object getSharedElementTransition(android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean) -> a
+ 425:430:java.lang.Object getEnterTransition(android.support.v4.app.Fragment,boolean) -> a
+ 438:443:java.lang.Object getExitTransition(android.support.v4.app.Fragment,boolean) -> b
+ 480:552:java.lang.Object configureSharedElementsReordered(android.view.ViewGroup,android.view.View,android.support.v4.util.ArrayMap,android.support.v4.app.FragmentTransition$FragmentContainerTransition,java.util.ArrayList,java.util.ArrayList,java.lang.Object,java.lang.Object) -> a
+ 566:572:void addSharedElementsWithMatchingNames(java.util.ArrayList,android.support.v4.util.ArrayMap,java.util.Collection) -> a
+ 609:682:java.lang.Object configureSharedElementsOrdered(android.view.ViewGroup,android.view.View,android.support.v4.util.ArrayMap,android.support.v4.app.FragmentTransition$FragmentContainerTransition,java.util.ArrayList,java.util.ArrayList,java.lang.Object,java.lang.Object) -> b
+ 703:738:android.support.v4.util.ArrayMap captureOutSharedElements(android.support.v4.util.ArrayMap,java.lang.Object,android.support.v4.app.FragmentTransition$FragmentContainerTransition) -> b
+ 759:802:android.support.v4.util.ArrayMap captureInSharedElements(android.support.v4.util.ArrayMap,java.lang.Object,android.support.v4.app.FragmentTransition$FragmentContainerTransition) -> c
+ 809:815:java.lang.String findKeyForValue(android.support.v4.util.ArrayMap,java.lang.String) -> a
+ 830:839:android.view.View getInEpicenterView(android.support.v4.util.ArrayMap,android.support.v4.app.FragmentTransition$FragmentContainerTransition,java.lang.Object,boolean) -> b
+ 855:867:void setOutEpicenter(java.lang.Object,java.lang.Object,android.support.v4.util.ArrayMap,boolean,android.support.v4.app.BackStackRecord) -> a
+ 876:882:void retainValues(android.support.v4.util.ArrayMap,android.support.v4.util.ArrayMap) -> a
+ 897:914:void callSharedElementStartEnd(android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean,android.support.v4.util.ArrayMap,boolean) -> b
+ 919:934:java.util.ArrayList configureEnteringExitingViews(java.lang.Object,android.support.v4.app.Fragment,java.util.ArrayList,android.view.View) -> b
+ 941:948:void setViewVisibility(java.util.ArrayList,int) -> b
+ 958:979:java.lang.Object mergeTransitions(java.lang.Object,java.lang.Object,java.lang.Object,android.support.v4.app.Fragment,boolean) -> a
+ 993:998:void calculateFragments(android.support.v4.app.BackStackRecord,android.util.SparseArray,boolean) -> a
+ 1010:1018:void calculatePopFragments(android.support.v4.app.BackStackRecord,android.util.SparseArray,boolean) -> b
+ 1037:1124:void addToFirstInLastOut(android.support.v4.app.BackStackRecord,android.support.v4.app.BackStackRecord$Op,android.util.SparseArray,boolean,boolean) -> a
+ 1134:1138:android.support.v4.app.FragmentTransition$FragmentContainerTransition ensureContainer(android.support.v4.app.FragmentTransition$FragmentContainerTransition,android.util.SparseArray,int) -> a
+ 38:38:void access$000(java.util.ArrayList,int) -> a
+ 38:38:java.util.ArrayList access$100(java.lang.Object,android.support.v4.app.Fragment,java.util.ArrayList,android.view.View) -> a
+ 38:38:void access$200(android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean,android.support.v4.util.ArrayMap,boolean) -> a
+ 38:38:android.support.v4.util.ArrayMap access$300(android.support.v4.util.ArrayMap,java.lang.Object,android.support.v4.app.FragmentTransition$FragmentContainerTransition) -> a
+ 38:38:android.view.View access$400(android.support.v4.util.ArrayMap,android.support.v4.app.FragmentTransition$FragmentContainerTransition,java.lang.Object,boolean) -> a
+ 43:43:void () ->
+android.support.v4.app.FragmentTransition$1 -> android.support.v4.app.at:
+ java.util.ArrayList val$exitingViews -> a
+ 263:263:void (java.util.ArrayList) ->
+ 266:267:void run() -> run
+android.support.v4.app.FragmentTransition$2 -> android.support.v4.app.au:
+ java.lang.Object val$enterTransition -> a
+ android.view.View val$nonExistentView -> b
+ android.support.v4.app.Fragment val$inFragment -> c
+ java.util.ArrayList val$sharedElementsIn -> d
+ java.util.ArrayList val$enteringViews -> e
+ java.util.ArrayList val$exitingViews -> f
+ java.lang.Object val$exitTransition -> g
+ 371:371:void (java.lang.Object,android.view.View,android.support.v4.app.Fragment,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.lang.Object) ->
+ 374:392:void run() -> run
+android.support.v4.app.FragmentTransition$3 -> android.support.v4.app.av:
+ android.support.v4.app.Fragment val$inFragment -> a
+ android.support.v4.app.Fragment val$outFragment -> b
+ boolean val$inIsPop -> c
+ android.support.v4.util.ArrayMap val$inSharedElements -> d
+ android.view.View val$epicenterView -> e
+ android.graphics.Rect val$epicenter -> f
+ 542:542:void (android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean,android.support.v4.util.ArrayMap,android.view.View,android.graphics.Rect) ->
+ 545:550:void run() -> run
+android.support.v4.app.FragmentTransition$4 -> android.support.v4.app.aw:
+ android.support.v4.util.ArrayMap val$nameOverrides -> a
+ java.lang.Object val$finalSharedElementTransition -> b
+ android.support.v4.app.FragmentTransition$FragmentContainerTransition val$fragments -> c
+ java.util.ArrayList val$sharedElementsIn -> d
+ android.view.View val$nonExistentView -> e
+ android.support.v4.app.Fragment val$inFragment -> f
+ android.support.v4.app.Fragment val$outFragment -> g
+ boolean val$inIsPop -> h
+ java.util.ArrayList val$sharedElementsOut -> i
+ java.lang.Object val$enterTransition -> j
+ android.graphics.Rect val$inEpicenter -> k
+ 654:654:void (android.support.v4.util.ArrayMap,java.lang.Object,android.support.v4.app.FragmentTransition$FragmentContainerTransition,java.util.ArrayList,android.view.View,android.support.v4.app.Fragment,android.support.v4.app.Fragment,boolean,java.util.ArrayList,java.lang.Object,android.graphics.Rect) ->
+ 657:679:void run() -> run
+android.support.v4.app.FragmentTransition$FragmentContainerTransition -> android.support.v4.app.ax:
+ android.support.v4.app.Fragment lastIn -> a
+ boolean lastInIsPop -> b
+ android.support.v4.app.BackStackRecord lastInTransaction -> c
+ android.support.v4.app.Fragment firstOut -> d
+ boolean firstOutIsPop -> e
+ android.support.v4.app.BackStackRecord firstOutTransaction -> f
+ 1145:1145:void () ->
+android.support.v4.app.FragmentTransitionCompat21 -> android.support.v4.app.ay:
+ 38:42:java.lang.Object cloneTransition(java.lang.Object) -> a
+ 50:55:java.lang.Object wrapTransitionInSet(java.lang.Object) -> b
+ 66:77:void setSharedElementTargets(java.lang.Object,android.view.View,java.util.ArrayList) -> a
+ 84:102:void bfsAddViewChildren(java.util.List,android.view.View) -> a
+ 109:114:boolean containedBeforeIndex(java.util.List,android.view.View,int) -> a
+ 121:133:void setEpicenter(java.lang.Object,android.view.View) -> a
+ 140:143:void getBoundsOnScreen(android.view.View,android.graphics.Rect) -> a
+ 154:175:void addTargets(java.lang.Object,java.util.ArrayList) -> a
+ 181:183:boolean hasSimpleTarget(android.transition.Transition) -> a
+ 190:190:boolean isNullOrEmpty(java.util.List) -> a
+ 200:210:java.lang.Object mergeTransitionsTogether(java.lang.Object,java.lang.Object,java.lang.Object) -> a
+ 219:247:void scheduleHideFragmentView(java.lang.Object,android.view.View,java.util.ArrayList) -> b
+ 262:284:java.lang.Object mergeTransitionsInSequence(java.lang.Object,java.lang.Object,java.lang.Object) -> b
+ 292:293:void beginDelayedTransition(android.view.ViewGroup,java.lang.Object) -> a
+ 304:311:java.util.ArrayList prepareSetNameOverridesReordered(java.util.ArrayList) -> a
+ 323:352:void setNameOverridesReordered(android.view.View,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.Map) -> a
+ 362:378:void captureTransitioningViews(java.util.ArrayList,android.view.View) -> a
+ 385:399:void findNamedViews(java.util.Map,android.view.View) -> a
+ 403:417:void setNameOverridesOrdered(android.view.View,java.util.ArrayList,java.util.Map) -> a
+ 423:428:java.lang.String findKeyForValue(java.util.Map,java.lang.String) -> b
+ 439:470:void scheduleRemoveTargets(java.lang.Object,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList) -> a
+ 478:484:void swapSharedElementTargets(java.lang.Object,java.util.ArrayList,java.util.ArrayList) -> a
+ 495:517:void replaceTargets(java.lang.Object,java.util.ArrayList,java.util.ArrayList) -> b
+ 523:527:void addTarget(java.lang.Object,android.view.View) -> b
+ 533:537:void removeTarget(java.lang.Object,android.view.View) -> c
+ 544:556:void setEpicenter(java.lang.Object,android.graphics.Rect) -> a
+ 560:572:void scheduleNameReset(android.view.ViewGroup,java.util.ArrayList,java.util.Map) -> a
+ 32:32:java.lang.String access$000(java.util.Map,java.lang.String) -> a
+android.support.v4.app.FragmentTransitionCompat21$1 -> android.support.v4.app.az:
+ android.graphics.Rect val$epicenter -> a
+ 126:126:void (android.graphics.Rect) ->
+ 129:129:android.graphics.Rect onGetEpicenter(android.transition.Transition) -> onGetEpicenter
+android.support.v4.app.FragmentTransitionCompat21$2 -> android.support.v4.app.ba:
+ android.view.View val$fragmentView -> a
+ java.util.ArrayList val$exitingViews -> b
+ 220:220:void (android.view.View,java.util.ArrayList) ->
+ 223:223:void onTransitionStart(android.transition.Transition) -> onTransitionStart
+ 227:233:void onTransitionEnd(android.transition.Transition) -> onTransitionEnd
+ 237:237:void onTransitionCancel(android.transition.Transition) -> onTransitionCancel
+ 241:241:void onTransitionPause(android.transition.Transition) -> onTransitionPause
+ 245:245:void onTransitionResume(android.transition.Transition) -> onTransitionResume
+android.support.v4.app.FragmentTransitionCompat21$3 -> android.support.v4.app.bb:
+ int val$numSharedElements -> a
+ java.util.ArrayList val$sharedElementsIn -> b
+ java.util.ArrayList val$inNames -> c
+ java.util.ArrayList val$sharedElementsOut -> d
+ java.util.ArrayList val$outNames -> e
+ 343:343:void (int,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList,java.util.ArrayList) ->
+ 346:350:void run() -> run
+android.support.v4.app.FragmentTransitionCompat21$4 -> android.support.v4.app.bc:
+ java.util.ArrayList val$sharedElementsIn -> a
+ java.util.Map val$nameOverrides -> b
+ 403:403:void (java.util.ArrayList,java.util.Map) ->
+ 406:415:void run() -> run
+android.support.v4.app.FragmentTransitionCompat21$5 -> android.support.v4.app.bd:
+ java.lang.Object val$enterTransition -> a
+ java.util.ArrayList val$enteringViews -> b
+ java.lang.Object val$exitTransition -> c
+ java.util.ArrayList val$exitingViews -> d
+ java.lang.Object val$sharedElementTransition -> e
+ java.util.ArrayList val$sharedElementsIn -> f
+ 440:440:void (java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList,java.lang.Object,java.util.ArrayList) ->
+ 443:452:void onTransitionStart(android.transition.Transition) -> onTransitionStart
+ 456:456:void onTransitionEnd(android.transition.Transition) -> onTransitionEnd
+ 460:460:void onTransitionCancel(android.transition.Transition) -> onTransitionCancel
+ 464:464:void onTransitionPause(android.transition.Transition) -> onTransitionPause
+ 468:468:void onTransitionResume(android.transition.Transition) -> onTransitionResume
+android.support.v4.app.FragmentTransitionCompat21$6 -> android.support.v4.app.be:
+ android.graphics.Rect val$epicenter -> a
+ 546:546:void (android.graphics.Rect) ->
+ 549:552:android.graphics.Rect onGetEpicenter(android.transition.Transition) -> onGetEpicenter
+android.support.v4.app.FragmentTransitionCompat21$7 -> android.support.v4.app.bf:
+ java.util.ArrayList val$sharedElementsIn -> a
+ java.util.Map val$nameOverrides -> b
+ 560:560:void (java.util.ArrayList,java.util.Map) ->
+ 563:570:void run() -> run
+android.support.v4.app.LoaderManager -> android.support.v4.app.bg:
+ 39:43:void () ->
+ 184:184:boolean hasRunningLoaders() -> a
+android.support.v4.app.LoaderManager$LoaderCallbacks -> android.support.v4.app.bh:
+ android.support.v4.content.Loader onCreateLoader(int,android.os.Bundle) -> a
+ void onLoadFinished(android.support.v4.content.Loader,java.lang.Object) -> a
+ void onLoaderReset(android.support.v4.content.Loader) -> a
+android.support.v4.app.LoaderManagerImpl -> android.support.v4.app.bi:
+ boolean DEBUG -> a
+ android.support.v4.util.SparseArrayCompat mLoaders -> b
+ android.support.v4.util.SparseArrayCompat mInactiveLoaders -> c
+ java.lang.String mWho -> d
+ boolean mStarted -> e
+ boolean mRetaining -> f
+ android.support.v4.app.FragmentHostCallback mHost -> g
+ 194:530:void (java.lang.String,android.support.v4.app.FragmentHostCallback,boolean) ->
+ 533:534:void updateHostController(android.support.v4.app.FragmentHostCallback) -> a
+ 757:772:void doStart() -> b
+ 775:787:void doStop() -> c
+ 790:803:void doRetain() -> d
+ 806:814:void finishRetain() -> e
+ 817:820:void doReportNextStart() -> f
+ 823:826:void doReportStart() -> g
+ 829:843:void doDestroy() -> h
+ 847:853:java.lang.String toString() -> toString
+ 858:878:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> a
+ 882:888:boolean hasRunningLoaders() -> a
+ 189:189:void () ->
+android.support.v4.app.LoaderManagerImpl$LoaderInfo -> android.support.v4.app.bj:
+ int mId -> a
+ android.os.Bundle mArgs -> b
+ android.support.v4.app.LoaderManager$LoaderCallbacks mCallbacks -> c
+ android.support.v4.content.Loader mLoader -> d
+ boolean mHaveData -> e
+ boolean mDeliveredData -> f
+ java.lang.Object mData -> g
+ boolean mStarted -> h
+ boolean mRetaining -> i
+ boolean mRetainingStarted -> j
+ boolean mReportNextStart -> k
+ boolean mDestroyed -> l
+ boolean mListenerRegistered -> m
+ android.support.v4.app.LoaderManagerImpl$LoaderInfo mPendingLoader -> n
+ android.support.v4.app.LoaderManagerImpl this$0 -> o
+ 239:272:void start() -> a
+ 275:280:void retain() -> b
+ 283:305:void finishRetain() -> c
+ 308:316:void reportStart() -> d
+ 319:330:void stop() -> e
+ 345:378:void destroy() -> f
+ 467:484:void callOnLoadFinished(android.support.v4.content.Loader,java.lang.Object) -> a
+ 488:496:java.lang.String toString() -> toString
+ 500:523:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> a
+android.support.v4.app.NavUtils -> android.support.v4.app.bk:
+ 57:61:boolean shouldUpRecreateTask(android.app.Activity,android.content.Intent) -> a
+ 105:112:void navigateUpTo(android.app.Activity,android.content.Intent) -> b
+ 125:146:android.content.Intent getParentActivityIntent(android.app.Activity) -> a
+ 187:197:android.content.Intent getParentActivityIntent(android.content.Context,android.content.ComponentName) -> a
+ 212:215:java.lang.String getParentActivityName(android.app.Activity) -> b
+ 231:249:java.lang.String getParentActivityName(android.content.Context,android.content.ComponentName) -> b
+android.support.v4.app.OneShotPreDrawListener -> android.support.v4.app.bl:
+ android.view.View mView -> a
+ android.view.ViewTreeObserver mViewTreeObserver -> b
+ java.lang.Runnable mRunnable -> c
+ 41:45:void (android.view.View,java.lang.Runnable) ->
+ 55:58:android.support.v4.app.OneShotPreDrawListener add(android.view.View,java.lang.Runnable) -> a
+ 63:65:boolean onPreDraw() -> onPreDraw
+ 73:79:void removeListener() -> a
+ 83:84:void onViewAttachedToWindow(android.view.View) -> onViewAttachedToWindow
+ 88:89:void onViewDetachedFromWindow(android.view.View) -> onViewDetachedFromWindow
+android.support.v4.app.SharedElementCallback -> android.support.v4.app.bm:
+ int MAX_IMAGE_SIZE -> a
+ 78:78:void onSharedElementStart(java.util.List,java.util.List,java.util.List) -> a
+ 109:109:void onSharedElementEnd(java.util.List,java.util.List,java.util.List) -> b
+ 144:144:void onMapSharedElements(java.util.List,java.util.Map) -> a
+ 44:44:void () ->
+android.support.v4.app.SuperNotCalledException -> android.support.v4.app.bn:
+ 23:24:void (java.lang.String) ->
+android.support.v4.app.SupportActivity -> android.support.v4.app.bo:
+ android.support.v4.util.SimpleArrayMap mExtraDataMap -> a
+ 31:68:void () ->
+android.support.v4.app.TaskStackBuilder -> android.support.v4.app.bp:
+ android.support.v4.app.TaskStackBuilder$TaskStackBuilderBaseImpl IMPL -> a
+ java.util.ArrayList mIntents -> b
+ android.content.Context mSourceContext -> c
+ 106:111:void (android.content.Context) ->
+ 121:121:android.support.v4.app.TaskStackBuilder create(android.content.Context) -> a
+ 146:147:android.support.v4.app.TaskStackBuilder addNextIntent(android.content.Intent) -> a
+ 182:200:android.support.v4.app.TaskStackBuilder addParentStack(android.app.Activity) -> a
+ 223:234:android.support.v4.app.TaskStackBuilder addParentStack(android.content.ComponentName) -> a
+ 277:277:java.util.Iterator iterator() -> iterator
+ 289:290:void startActivities() -> a
+ 304:317:void startActivities(android.os.Bundle) -> a
+ 99:104:void () ->
+android.support.v4.app.TaskStackBuilder$SupportParentable -> android.support.v4.app.bq:
+ android.content.Intent getSupportParentActivityIntent() -> a
+android.support.v4.app.TaskStackBuilder$TaskStackBuilderApi16Impl -> android.support.v4.app.br:
+ 86:86:void () ->
+android.support.v4.app.TaskStackBuilder$TaskStackBuilderBaseImpl -> android.support.v4.app.bs:
+ 76:76:void () ->
+android.support.v4.content.ContextCompat -> android.support.v4.a.a:
+ java.lang.Object sLock -> a
+ android.util.TypedValue sTempValue -> b
+ 114:119:boolean startActivities(android.content.Context,android.content.Intent[],android.os.Bundle) -> a
+ 350:367:android.graphics.drawable.Drawable getDrawable(android.content.Context,int) -> a
+ 386:389:android.content.res.ColorStateList getColorStateList(android.content.Context,int) -> b
+ 45:45:void () ->
+android.support.v4.content.Loader -> android.support.v4.a.b:
+ int mId -> a
+ android.support.v4.content.Loader$OnLoadCompleteListener mListener -> b
+ android.support.v4.content.Loader$OnLoadCanceledListener mOnLoadCanceledListener -> c
+ boolean mStarted -> d
+ boolean mAbandoned -> e
+ boolean mReset -> f
+ boolean mContentChanged -> g
+ boolean mProcessingChange -> h
+ 164:169:void registerListener(int,android.support.v4.content.Loader$OnLoadCompleteListener) -> a
+ 177:184:void unregisterListener(android.support.v4.content.Loader$OnLoadCompleteListener) -> a
+ 196:200:void registerOnLoadCanceledListener(android.support.v4.content.Loader$OnLoadCanceledListener) -> a
+ 211:218:void unregisterOnLoadCanceledListener(android.support.v4.content.Loader$OnLoadCanceledListener) -> b
+ 269:273:void startLoading() -> a
+ 281:281:void onStartLoading() -> b
+ 360:362:void stopLoading() -> c
+ 371:371:void onStopLoading() -> d
+ 420:426:void reset() -> e
+ 435:435:void onReset() -> f
+ 497:500:java.lang.String dataToString(java.lang.Object) -> a
+ 505:510:java.lang.String toString() -> toString
+ 522:533:void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]) -> a
+android.support.v4.content.Loader$OnLoadCanceledListener -> android.support.v4.a.c:
+android.support.v4.content.Loader$OnLoadCompleteListener -> android.support.v4.a.d:
+android.support.v4.content.PermissionChecker -> android.support.v4.a.e:
+ 94:116:int checkPermission(android.content.Context,java.lang.String,int,int,java.lang.String) -> a
+ 130:131:int checkSelfPermission(android.content.Context,java.lang.String) -> a
+android.support.v4.content.res.FontResourcesParserCompat -> android.support.v4.a.a.a:
+ 153:161:android.support.v4.content.res.FontResourcesParserCompat$FamilyResourceEntry parse(org.xmlpull.v1.XmlPullParser,android.content.res.Resources) -> a
+ 166:172:android.support.v4.content.res.FontResourcesParserCompat$FamilyResourceEntry readFamilies(org.xmlpull.v1.XmlPullParser,android.content.res.Resources) -> b
+ 178:211:android.support.v4.content.res.FontResourcesParserCompat$FamilyResourceEntry readFamily(org.xmlpull.v1.XmlPullParser,android.content.res.Resources) -> c
+ 219:240:java.util.List readCerts(android.content.res.Resources,int) -> a
+ 244:248:java.util.List toByteArrayList(java.lang.String[]) -> a
+ 253:263:android.support.v4.content.res.FontResourcesParserCompat$FontFileResourceEntry readFont(org.xmlpull.v1.XmlPullParser,android.content.res.Resources) -> d
+ 267:278:void skip(org.xmlpull.v1.XmlPullParser) -> a
+android.support.v4.content.res.FontResourcesParserCompat$FamilyResourceEntry -> android.support.v4.a.a.b:
+android.support.v4.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry -> android.support.v4.a.a.c:
+ android.support.v4.content.res.FontResourcesParserCompat$FontFileResourceEntry[] mEntries -> a
+ 138:140:void (android.support.v4.content.res.FontResourcesParserCompat$FontFileResourceEntry[]) ->
+ 143:143:android.support.v4.content.res.FontResourcesParserCompat$FontFileResourceEntry[] getEntries() -> a
+android.support.v4.content.res.FontResourcesParserCompat$FontFileResourceEntry -> android.support.v4.a.a.d:
+ java.lang.String mFileName -> a
+ int mWeight -> b
+ boolean mItalic -> c
+ int mResourceId -> d
+ 108:113:void (java.lang.String,int,boolean,int) ->
+ 116:116:java.lang.String getFileName() -> a
+ 120:120:int getWeight() -> b
+ 124:124:boolean isItalic() -> c
+ 128:128:int getResourceId() -> d
+android.support.v4.content.res.FontResourcesParserCompat$ProviderResourceEntry -> android.support.v4.a.a.e:
+ android.support.v4.provider.FontRequest mRequest -> a
+ int mTimeoutMs -> b
+ int mStrategy -> c
+ 79:83:void (android.support.v4.provider.FontRequest,int,int) ->
+ 86:86:android.support.v4.provider.FontRequest getRequest() -> a
+ 90:90:int getFetchStrategy() -> b
+ 94:94:int getTimeout() -> c
+android.support.v4.content.res.ResourcesCompat -> android.support.v4.a.a.f:
+ 75:78:android.graphics.drawable.Drawable getDrawable(android.content.res.Resources,int,android.content.res.Resources$Theme) -> a
+ 203:206:android.graphics.Typeface getFont(android.content.Context,int,android.util.TypedValue,int,android.widget.TextView) -> a
+ 211:218:android.graphics.Typeface loadFont(android.content.Context,int,android.util.TypedValue,int,android.widget.TextView) -> b
+ 224:258:android.graphics.Typeface loadFont(android.content.Context,android.content.res.Resources,android.util.TypedValue,int,int,android.widget.TextView) -> a
+android.support.v4.content.res.TypedArrayUtils -> android.support.v4.a.a.g:
+ 55:55:boolean hasAttribute(org.xmlpull.v1.XmlPullParser,java.lang.String) -> a
+ 67:71:float getNamedFloat(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int,float) -> a
+ 84:88:boolean getNamedBoolean(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int,boolean) -> a
+ 101:105:int getNamedInt(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int,int) -> a
+ 119:123:int getNamedColor(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int,int) -> b
+ 137:141:int getNamedResourceId(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int,int) -> c
+ 154:158:java.lang.String getNamedString(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int) -> a
+ 169:173:android.util.TypedValue peekNamedValue(android.content.res.TypedArray,org.xmlpull.v1.XmlPullParser,java.lang.String,int) -> b
+ 183:186:android.content.res.TypedArray obtainAttributes(android.content.res.Resources,android.content.res.Resources$Theme,android.util.AttributeSet,int[]) -> a
+android.support.v4.graphics.ColorUtils -> android.support.v4.b.a:
+ java.lang.ThreadLocal TEMP_ARRAY -> a
+ 48:59:int compositeColors(int,int) -> a
+ 63:63:int compositeAlpha(int,int) -> c
+ 67:68:int compositeComponent(int,int,int,int,int) -> a
+ 297:300:int setAlphaComponent(int,int) -> b
+ 40:40:void () ->
+android.support.v4.graphics.PathParser -> android.support.v4.b.b:
+ 54:65:float[] copyOfRange(float[],int,int) -> a
+ 73:83:android.graphics.Path createPathFromPathData(java.lang.String) -> a
+ 91:112:android.support.v4.graphics.PathParser$PathDataNode[] createNodesFromPathData(java.lang.String) -> b
+ 120:127:android.support.v4.graphics.PathParser$PathDataNode[] deepCopyNodes(android.support.v4.graphics.PathParser$PathDataNode[]) -> a
+ 136:150:boolean canMorph(android.support.v4.graphics.PathParser$PathDataNode[],android.support.v4.graphics.PathParser$PathDataNode[]) -> a
+ 161:167:void updateNodes(android.support.v4.graphics.PathParser$PathDataNode[],android.support.v4.graphics.PathParser$PathDataNode[]) -> b
+ 172:184:int nextStart(java.lang.String,int) -> a
+ 188:189:void addNode(java.util.ArrayList,char,float[]) -> a
+ 209:242:float[] getFloats(java.lang.String) -> c
+ 256:298:void extract(java.lang.String,int,android.support.v4.graphics.PathParser$ExtractFloatResult) -> a
+android.support.v4.graphics.PathParser$ExtractFloatResult -> android.support.v4.b.c:
+ int mEndPosition -> a
+ boolean mEndWithNegOrDot -> b
+ 197:198:void () ->
+android.support.v4.graphics.PathParser$PathDataNode -> android.support.v4.b.d:
+ char mType -> a
+ float[] mParams -> b
+ 319:322:void (char,float[]) ->
+ 324:327:void (android.support.v4.graphics.PathParser$PathDataNode) ->
+ 336:342:void nodesToPath(android.support.v4.graphics.PathParser$PathDataNode[],android.graphics.Path) -> a
+ 355:359:void interpolatePathDataNode(android.support.v4.graphics.PathParser$PathDataNode,android.support.v4.graphics.PathParser$PathDataNode,float) -> a
+ 364:609:void addCommand(android.graphics.Path,float[],char,char,float[]) -> a
+ 623:686:void drawArc(android.graphics.Path,float,float,float,float,float,float,float,boolean,boolean) -> a
+ 716:758:void arcToBezier(android.graphics.Path,double,double,double,double,double,double,double,double,double) -> a
+android.support.v4.graphics.TypefaceCompat -> android.support.v4.b.e:
+ android.support.v4.graphics.TypefaceCompat$TypefaceCompatImpl sTypefaceCompatImpl -> a
+ android.support.v4.util.LruCache sTypefaceCache -> b
+ 86:86:android.graphics.Typeface findFromCache(android.content.res.Resources,int,int) -> a
+ 98:98:java.lang.String createResourceUid(android.content.res.Resources,int,int) -> b
+ 110:122:android.graphics.Typeface createFromResourcesFamilyXml(android.content.Context,android.support.v4.content.res.FontResourcesParserCompat$FamilyResourceEntry,android.content.res.Resources,int,int,android.widget.TextView) -> a
+ 131:136:android.graphics.Typeface createFromResourcesFontFile(android.content.Context,android.content.res.Resources,int,java.lang.String,int) -> a
+ 144:144:android.graphics.Typeface createFromFontInfo(android.content.Context,android.os.CancellationSignal,android.support.v4.provider.FontsContractCompat$FontInfo[],int) -> a
+ 47:62:void () ->
+android.support.v4.graphics.TypefaceCompat$TypefaceCompatImpl -> android.support.v4.b.f:
+ android.graphics.Typeface createFromFontFamilyFilesResourceEntry(android.content.Context,android.support.v4.content.res.FontResourcesParserCompat$FontFamilyFilesResourceEntry,android.content.res.Resources,int) -> a
+ android.graphics.Typeface createFromFontInfo(android.content.Context,android.os.CancellationSignal,android.support.v4.provider.FontsContractCompat$FontInfo[],int) -> a
+ android.graphics.Typeface createFromResourcesFontFile(android.content.Context,android.content.res.Resources,int,java.lang.String,int) -> a
+android.support.v4.graphics.TypefaceCompatApi21Impl -> android.support.v4.b.g:
+ 45:45:void () ->