100 Examples - sikuli/sieveable GitHub Wiki

  1. Phone Dial
MATCH app
WHERE
<code class=“android.telephony.PhoneNumberUtils” method=“stripSeparators” />
<LinearLayout>
    <RelativeLayout></RelativeLayout>
    <RelativeLayout></RelativeLayout>
    <RelativeLayout></RelativeLayout>
</LinearLayout>
<LinearLayout>
    <RelativeLayout></RelativeLayout>
    <RelativeLayout></RelativeLayout>
    <RelativeLayout></RelativeLayout>
</LinearLayout>
<LinearLayout>
    <RelativeLayout></RelativeLayout>
    <RelativeLayout></RelativeLayout>
    <RelativeLayout></RelativeLayout>
</LinearLayout>
<LinearLayout>
    <RelativeLayout></RelativeLayout>
    <RelativeLayout></RelativeLayout>
    <RelativeLayout></RelativeLayout>
</LinearLayout>

RETURN app
  1. Sign in with Google account
MATCH app
WHERE
<code class="com.google.android.gms.common.SignInButton" />
RETURN app
  1. Cards View
MATCH app
WHERE
<FrameLayout>
	<android.support.v7.widget.CardView />
	<android.support.v7.widget.CardView />
	<android.support.v7.widget.CardView />
</FrameLayout>
RETURN app
  1. Spinner Drop Down Menu
MATCH app
WHERE
<Spinner />
<code class="android.widget.Spinner" method ="setEnabled" />
RETURN app
  1. Checklist
MATCH app
WHERE
<CheckBox />
<CheckBox />
<code class="android.widget.CheckBox" />
RETURN app
  1. Drag and Drop
MATCH app
WHERE
<code class="android.view.View" method ="startDrag" />
<code class="android.view.DragEvent" method ="getAction" />
RETURN app
  1. Calendar
MATCH app
WHERE
<code class="android.view.CalendarView" />
<ListView>
    <View />
    <View />
</ListView>
RETURN app
  1. Calculator
MATCH app
WHERE
<View>
    <Button android:text="9" />
    <Button android:text="8" />
    <Button android:text="7" />
    <Button android:text="6" />
    <Button android:text="5" />
    <Button android:text="4" />
    <Button android:text="3" />
    <Button android:text="2" />
    <Button android:text="1" />
    <Button android:text="0" />
    <Button android:text="." />
    <Button android:text="=" />
</View>
RETURN app
  1. Floating Action Buttons
MATCH app
WHERE
<code class="android.support.design.widget.FloatingActionButton" />
RETURN app
  1. Search Widget
MATCH app
WHERE
<SearchView></SearchView>
RETURN app
  1. Loading Screen
MATCH app
WHERE
<LinearLayout>
    <TextView />
    <TextView />
    <ImageView />
    <TextView android:text="Loading" />
</LinearLayout>
RETURN app
  1. Web Page Popup within App
MATCH app
WHERE
<uses-permission android:name="android.permission.INTERNET" />
<code class="android.webkit.WebView" />
<RelativeLayout>
    <android.webkit.WebView/>
    <ImageButton />
</RelativeLayout>
RETURN app
  1. Advertisement Banner
MATCH app
WHERE
<code class="com.google.android.gms.ads.AdView" method="loadAd" />
RETURN app
  1. Sign In Dialogue
MATCH app
WHERE
<LinearLayout>
    <EditText android:inputType="textEmailAddress"/>
    <EditText android:inputType="textPassword"/>
    <Button />
</LinearLayout>
<code class="android.app.Dialog" method="show"/>
RETURN app
  1. Multi Choice Selection Dialogue
MATCH app
WHERE
<LinearLayout>
    <Button />
</LinearLayout>
<code class="android.app.AlertDialog.Builder" method="setMultiChoiceItems"/>
RETURN app
  1. Single Choice Selection Dialogue
MATCH app
WHERE
<LinearLayout>
    <Button />
</LinearLayout>
<code class="android.app.AlertDialog.Builder" method="setSingleChoiceItems"/>
RETURN app
  1. Three Button Response Dialogue
MATCH app
WHERE
<LinearLayout>
    <Button />
</LinearLayout>
<code class="android.app.AlertDialog.Builder" method="setPositiveButton"/>
<code class="android.app.AlertDialog.Builder" method="setNeutralButton"/>
<code class="android.app.AlertDialog.Builder" method="setNegativeButton"/>
RETURN app
  1. Video Playback
MATCH app
WHERE
<ToggleButton />
<code class="android.widget.VideoView" method="start" />	
<code class="android.content.BroadcastReceiver" />
RETURN app
  1. Switch
MATCH app
WHERE
<code class="android.widget.Switch" method="setChecked" />
RETURN app
  1. Row of Icons
MATCH app
WHERE
<android.support.v7.widget.LinearLayoutCompat>
    <ImageView />
    <ImageView />
</android.support.v7.widget.LinearLayoutCompat>
RETURN app
  1. Collapsing Toolbar
MATCH app
WHERE
<android.support.design.widget.AppBarLayout>
    <android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
RETURN app
  1. Action Menu
MATCH app
WHERE
<code class="android.widget.ActionMenuView" method="getMenu" />
<ImageView />
RETURN app
  1. Share Action Provider in Action Bar
MATCH app
WHERE
<code class="android.widget.ShareActionProvider" method="setShareIntent" />
RETURN app
  1. Vertically Scrolling Grid View via third party library
MATCH app
WHERE
<code class="com.jess.ui.TwoWayGridView" app:scrollDirectionPortrait="vertical" />
RETURN app
  1. Horizontally Scrolling Grid View via third party library
MATCH app
WHERE
<code class="com.jess.ui.TwoWayGridView" app:scrollDirectionPortrait="horizontal" />
RETURN app
  1. Nested Scrolling
MATCH app
WHERE
<code class="android.support.v4.widget.NestedScrollView" method="startNestedScroll" />
RETURN app
  1. Gridview with 2 columns
MATCH app
WHERE
<code class="android.widget.GridView" android:numColumns="2" />
RETURN app
  1. Floating Context Menu
MATCH app
WHERE
<code class="android.app.Activity" method="registerForContextMenu" />
<code class="android.app.Activity" method="onContextItemSelected" />
<code class="
android.view.View.OnCreateContextMenuListener" method="onCreateContextMenu" />
<View></View>
RETURN app
  1. Single Checkable Menu
MATCH app
WHERE
<menu>
    <group android:checkableBehavior="single"></group>    
</menu>
RETURN app
  1. Multiple Checkable Menu
MATCH app
WHERE
<menu>
    <group android:checkableBehavior="all"></group>    
</menu>
RETURN app
  1. GridView with right gravity
MATCH app
WHERE
<code class="android.widget.GridView" android:gravity="right" />
RETURN app
  1. Toast
MATCH app
WHERE
<code class="android.widget.Toast" method="show" />
<LinearLayout>
	<TextView />
</LinearLayout>
RETURN app
  1. Phone Text Field
MATCH app
WHERE
<EditText android:inputType="phone"/>
RETURN app
  1. Autocomplete Text Field
MATCH app
WHERE
<AutoCompleteTextView></AutoCompleteTextView>
RETURN app
  1. Number Text Field with Fullscreen Input Mode
MATCH app
WHERE
<EditText android:inputType="number" android:imeOptions="flagNoExtractUi"></EditText>
RETURN app
  1. Vertical Radio Buttons
MATCH app
WHERE
<RadioGroup>
    <RadioButton />
    <RadioButton />
</RadioGroup>
RETURN app
  1. Horizontal Radio Buttons
MATCH app
WHERE
<RadioGroup android:orientation="horizontal">
    <RadioButton />
    <RadioButton />
</RadioGroup>
RETURN app
  1. Toggle Button
MATCH app
WHERE
<ToggleButton />
<code class="android.widget.CompoundButton" method="isChecked"/>
RETURN app
  1. Switch with Split Track
MATCH app
WHERE
<Switch android:splitTrack="true" />
<code class="android.widget.CompoundButton" method="isChecked"/>
RETURN app
  1. Horizontal Scroll Picker using third party library
MATCH app
WHERE
<com.wefika.horizontalpicker.HorizontalPicker />
RETURN app
  1. Time Picker
MATCH app
WHERE
<code class="android.support.v4.app.DialogFragment" method="onCreateDialog" />
<code class="android.support.v4.app.TimePickerDialog" method="onClick" />
RETURN app
  1. Popup Menu
MATCH app
WHERE
<code class="android.widget.PopupMenu" />
RETURN app
  1. Menu with grouped items
MATCH app
WHERE
<code class="android.view.Menu" method="add" />
<menu>
    <item></item>
    <group>
        <item></item>
        <item></item>
    </group>
</menu>
RETURN app
  1. Action View in Action Bar
MATCH app
WHERE
<code class="android.view.MenuItem" method="getActionView" />
<menu>
    <item></item>
</menu>
RETURN app
  1. Collapsible Action Views
MATCH app
WHERE
<code class="
android.support.v4.view.MenuItemCompat" method="setOnActionExpandListener" />
<code class="
android.support.v4.view.MenuItemCompat.OnActionExpandListener" />
<menu>
    <item></item>
</menu>
RETURN app
  1. Custom Action Provider in Action Bar
MATCH app
WHERE
<code class="android.support.v4.view.ActionProvider" methods="onCreateActionView" />
<code class="android.support.v4.view.ActionProvider" methods="onPerformDefaultAction" />
RETURN app
  1. Drop-down Navigation on Action Bar
MATCH app
WHERE
<code class="
android.widget.SpinnerAdapter" />
<code class="
android.support.v7.app.ActionBar.OnNavigationListener" />
<code class="android.support.v7.app.ActionBar" method="setNavigationMode" />
<code class="android.support.v7.app.ActionBar" method="setListNavigationCallbacks" />
RETURN app
  1. Horizontal Progress Bar
MATCH app
WHERE
<ProgressBar style="@android:style/Widget.ProgressBar.Horizontal" />
RETURN app
  1. SeekBar
MATCH app
WHERE
<code class="android.widget.SeekBar" method="setOnSeekBarChangeListener" />
RETURN app
  1. List Preference
MATCH app
WHERE
<code class="android.preference.ListPreference" />
<RadioGroup>
    <RadioButton />
    <RadioButton />
</RadioGroup>
RETURN app
  1. Checkbox Preference with default as true
MATCH app
WHERE
<CheckBoxPreference android:defaultValue="true" />
<code class="android.widget.CheckBox" />
RETURN app
  1. EditText Preference
MATCH app
WHERE
<code class="android.preference.EditTextPreference" />
<LinearLayout>
    <EditText />
</LinearLayout>
RETURN app
  1. Progress Spinner in Dialog
MATCH app
WHERE
<code class="android.app.ProgressDialog" />
<TextView />
RETURN app
  1. SeekBar inside Alert Dialogue
MATCH app
WHERE
<LinearLayout>
	<SeekBar />
    <Button/>
</LinearLayout>
<code class="android.app.AlertDialog" method="setMessage"/>
<code class="android.app.Dialog" method="show"/>
RETURN app
  1. Search Dialog with Suggestions
MATCH app
WHERE
<code class="android.content.SearchRecentSuggestionsProvider" />
<code class="android.app.Activity" method="onSearchRequested" />
RETURN app
  1. Search with Clear History
MATCH app
WHERE
<code class="android.provider.SearchRecentSuggestions" method="clearHistory" />
RETURN app
  1. Styled Textview
MATCH app
WHERE
<TextView
    android:textColor="#FFFFFF"
    android:typeface="monospace" />
RETURN app
  1. Gallery
MATCH app
WHERE
<code class="android.widget.Gallery" method="onScroll" />   
RETURN app
  1. Text Switcher
MATCH app
WHERE
<TextView>
    <ViewSwitcher></ViewSwitcher>
</TextView>  
RETURN app
  1. Camera View that takes Pictures
MATCH app
WHERE
<code class="android.hardware.Camera" method="open" />
<code class="android.hardware.Camera" method="takePicture" />
<code class="android.hardware.Camera" method="setPreviewDisplay" />
<SurfaceView />
RETURN app
  1. Camera View with Video Recording
MATCH app
WHERE
<code class="android.hardware.Camera" method="open" />
<code class="android.hardware.Camera" method="takePicture" />
<code class="android.hardware.Camera" method="setPreviewDisplay" />
<code class="android.hardware.Camera" method="unlock" />
<code class="android.media.MediaRecorder" method="setCamera" />
<code class="android.media.MediaRecorder" method="setVideoSource" />
<code class="android.media.MediaRecorder" method="prepare" />
<code class="android.media.MediaRecorder" method="start" />
<code class="android.media.MediaRecorder" method="stop" />
<code class="android.hardware.Camera" method="stopPreview" />
<SurfaceView />
RETURN app
  1. Camera View with Video and Audio
MATCH app
WHERE
<code class="android.hardware.Camera" method="open" />
<code class="android.hardware.Camera" method="takePicture" />
<code class="android.hardware.Camera" method="setPreviewDisplay" />
<code class="android.hardware.Camera" method="unlock" />
<code class="android.media.MediaRecorder" method="setCamera" />
<code class="android.media.MediaRecorder" method="setAudioSource" />
<code class="android.media.MediaRecorder" method="setVideoSource" />
<code class="android.media.MediaRecorder" method="prepare" />
<code class="android.media.MediaRecorder" method="start" />
<code class="android.media.MediaRecorder" method="stop" />
<code class="android.hardware.Camera" method="stopPreview" />
<SurfaceView />
RETURN app
  1. Audio Recording
MATCH app
WHERE
<code class="android.media.MediaRecorder" method ="setAudioSource" />
<code class="android.media.MediaRecorder" method ="setAudioEncoder" />
<code class="android.media.MediaRecorder" method ="prepare" />
<code class="android.media.MediaRecorder" method ="start" />
<code class="android.media.MediaRecorder" method ="stop" />
<code class="android.media.MediaRecorder" method ="release" />
RETURN app
  1. Play Audio
MATCH app
WHERE
<code class="android.media.MediaPlayer" method ="setAudioStreamType" />
<code class="android.media.MediaPlayer" method ="setDataSource" />
<code class="android.media.MediaPlayer" method ="prepare" />
<code class="android.media.MediaPlayer" method ="start" />
RETURN app
  1. Animation on TextView
MATCH app
WHERE
<code class="android.widget.TextView" method="setAnimation" />
<code class="android.view.animation.Animation" method="setStartTime" />
RETURN app
  1. Animation on ImageView
MATCH app
WHERE
<code class="android.widget.ImageView" method="setAnimation" />
<code class="android.view.animation.Animation" method="setStartTime" />
RETURN app
  1. Custom Animation on ImageView
MATCH app
WHERE
<code class="android.widget.ImageView" method="setAnimation" />
<code class="android.graphics.drawable.AnimationDrawable" method="start" />
RETURN app
  1. Play Audio through a Third Party Class
MATCH app
WHERE
<code class="com.google.android.exoplayer.audio" />
RETURN app
  1. Split Action Bar
MATCH app
WHERE
<manifest>
    <activity android:uiOptions="splitActionBarWhenNarrow"></activity>
</manifest>
RETURN app
  1. Expandable List View
MATCH app
WHERE
<ExpandableListView></ExpandableListView>
<code class="android.widget.ExpandableListAdapter" />
RETURN app
  1. Search within Navigation Drawer
MATCH app
WHERE
<android.support.v4.widget.DrawerLayout>
    <SearchView></SearchView>
</android.support.v4.widget.DrawerLayout>
<code class="android.widget.ListView" method="setAdapter"/>
RETURN app
  1. Staggered Grid Layout
MATCH app
WHERE
<code class="android.support.v7.widget.StaggeredGridLayoutManager" />
<android.support.v7.widget.RecyclerView></android.support.v7.widget.RecyclerView>
RETURN app
  1. Horizontal RecyclerViews
MATCH app
WHERE
<code class="android.support.v7.widget.LinearLayoutManager" android:orientation="horizontal" />
<android.support.v7.widget.RecyclerView android:scrollbars="horizontal"></android.support.v7.widget.RecyclerView>
RETURN app
  1. Animated RecyclerView
MATCH app
WHERE
<code class="android.support.v7.widget.RecyclerView.ItemAnimator" />
<code class="android.support.v7.widget.RecyclerView" method="setItemAnimator" />
RETURN app
  1. Styled Cards
MATCH app
WHERE
<android.support.v7.widget.CardView android.support.v7.cardview:cardBackgroundColor="#FFFFFF" android.support.v7.cardview:cardCornerRadius="14.5sp" />
RETURN app
  1. Bottom Fixed RelativeLayout
MATCH app
WHERE
<RelativeLayout>
    <RelativeLayoutandroid:layout_alignParentBottom="true" >
        <TextView />
    </RelativeLayout>
</RelativeLayout>
RETURN app
  1. Markers on Maps
MATCH app
WHERE
<uses-library android:name="com.google.android.maps"/>
<code class="com.google.android.gms.maps.model.Marker" />
RETURN app
  1. Interstitial Advertisement
MATCH app
WHERE
<code class="com.google.android.gms.ads.InterstitialAd" method="loadAd" />
RETURN app
  1. Rewards Video Advertisement
MATCH app
WHERE
<code class="com.google.android.gms.ads.reward.RewardedVideoAd" method="loadAd" />
RETURN app
  1. In App Purchase Advertisement
MATCH app
WHERE
<code class="com.google.android.gms.ads.purchase.InAppPurchase" method="loadAd" />
<code class="com.google.android.gms.ads.purchase.InAppPurchaseListener" />
RETURN app
  1. Open Google Drive Documents
MATCH app
WHERE
<code class="com.google.android.gms.drive.OpenFileActivityBuilder" method="build" />
<code class="com.google.android.gms.drive.DriveId" />
RETURN app
  1. Game Leaderboards
MATCH app
WHERE
<code class="com.google.android.gms.games.leaderboard.LeaderboardBuffer" />
RETURN app
  1. Game Achievements
MATCH app
WHERE
<code class="com.google.android.gms.games.achievement.Achievement" />
RETURN app
  1. Game Quests
MATCH app
WHERE
<code class="com.google.android.gms.games.quest.Quest" />
<code class="com.google.android.gms.games.quest.Milestone" />
RETURN app
  1. Place Picker
MATCH app
WHERE
<code class="com.google.android.gms.location.places.ui.PlacePicker" />
<code class="com.google.android.gms.location.places.Place" />
RETURN app
  1. Maps Street View Panorama
MATCH app
WHERE
<code class="com.google.android.gms.maps.StreetViewPanorama" />
<code class="com.google.android.gms.maps.StreetViewPanoramaView" />
<uses-library android:name="com.google.android.maps"/>
RETURN app
  1. Maps Fragment
MATCH app
WHERE
<fragment class="com.google.android.gms.maps.SupportMapFragment" />
<uses-library android:name="com.google.android.maps"/>
RETURN app
  1. Circles on Maps
MATCH app
WHERE
<code class="com.google.android.gms.maps.model.Circle" />
<uses-library android:name="com.google.android.maps"/>
RETURN app
  1. Ground Overlays on Maps
MATCH app
WHERE
<code class="com.google.android.gms.maps.model.GroundOverlay" />
<uses-library android:name="com.google.android.maps"/>
RETURN app
  1. Polygon on Maps
MATCH app
WHERE
<code class="com.google.android.gms.maps.model.Polygon" />
<uses-library android:name="com.google.android.maps"/>
RETURN app
  1. Polyline on Maps
MATCH app
WHERE
<code class="com.google.android.gms.maps.model.Polyline" />
<uses-library android:name="com.google.android.maps"/>
RETURN app
  1. Tiles on Maps
MATCH app
WHERE
<code class="com.google.android.gms.maps.model.TileOverlay" />
<code class="com.google.android.gms.maps.model.Tile" />
<uses-library android:name="com.google.android.maps"/>
RETURN app
  1. Quadrilateral on Maps
MATCH app
WHERE
<code class="com.google.android.gms.maps.model.VisibleRegion" />
<uses-library android:name="com.google.android.maps"/>
RETURN app
  1. Google Plus +1 Button
MATCH app
WHERE
<code class="com.google.android.gms.plus.PlusOneButton" />
RETURN app
  1. Facebook Like Button
MATCH app
WHERE
<code class="com.facebook.widget.LikeView" />
RETURN app
  1. Multiline TextView
MATCH app
WHERE
<TextView android:lines="2" />
RETURN app  
  1. Multiplayer Game Invitation
MATCH app
WHERE
<code class="com.google.android.gms.games.multiplayer.Invitation" />
<code class="com.google.android.gms.games.multiplayer.Participant" />
<code class="com.google.android.gms.games.multiplayer.OnInvitationReceivedListener" />
RETURN app
  1. Turnbased Match
MATCH app
WHERE
<code class="com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatch" />
RETURN app
  1. Game Snapshot
MATCH app
WHERE
<code class="com.google.android.gms.games.snapshot.Snapshot" />
RETURN app
  1. Uses Long Press
MATCH app
WHERE
<code class="android.view.GestureDetector.OnGestureListener" method="onLongPress" />
RETURN app
  1. Uses Fling motion
MATCH app
WHERE
<code class="android.view.GestureDetector.OnGestureListener" method="onFling" />
RETURN app
  1. Uses Double Tap
MATCH app
WHERE
<code class="android.view.GestureDetector.SimpleOnGestureListener" method="onDoubleTap" />
RETURN app
  1. Up Navigation within same app
MATCH app
WHERE
<code class="android.app.ActionBar" method="setDisplayHomeAsUpEnabled" />
<code class="android.app.Activity" method="onOptionsItemSelected" />
<code class="android.support.v4.app.NavUtils" method="navigateUpFromSameTask" />
RETURN app
  1. Up Navigation between apps
MATCH app
WHERE
<code class="android.app.ActionBar" method="setDisplayHomeAsUpEnabled" />
<code class="android.app.Activity" method="onOptionsItemSelected" />	
<code class="android.support.v4.app.NavUtils" method="shouldUpRecreateTask" />
<code class="android.support.v4.app.TaskStackBuilder" method="create" />
RETURN app
  1. Back Navigation for fragments
MATCH app
WHERE
<code class="android.app.FragmentManager.OnBackStackChangedListener" />
<code class="android.app.FragmentTransaction" method="addToBackStack" />	
RETURN app
  1. Back Navigation for Deep Links
MATCH app
WHERE
<code class="android.support.v4.app.TaskStackBuilder" method="getPendingIntent" />
<code class="android.support.v4.app.TaskStackBuilder" method="addNextIntentWithParentStack" />
RETURN app
  1. Parallax Viewpager using third party library
MATCH app
WHERE
<code class="com.garrapeta.view.parallaxviewpager.ParallaxViewPager" />
RETURN app
  1. Parallax ListView using third party library
MATCH app
WHERE
<com.nirhart.parallaxscroll.views.ParallaxExpandableListView />
RETURN app
  1. Parallax ScrollView using third party library
MATCH app
WHERE
<com.nirhart.parallaxscroll.views.ParallaxScrollView />
RETURN app
  1. Crossfading Animation
MATCH app
WHERE
<View android:visibility="2"/>
<ProgressBar />
<code class="android.animation.Animator.AnimatorListener" method ="onAnimationEnd" />
RETURN app
  1. Screen Slide Animation
MATCH app
WHERE
<code class="android.app.Fragment" method = "onCreateView" />
<code class="android.support.v4.app.FragmentStatePagerAdapter" method = "getItem" />
<code class="android.support.v4.view.PagerAdapter" method = "getCount" />
<code class="android.app.FragmentManager.OnBackStackChangedListener" />
<code class="android.app.FragmentTransaction" method="addToBackStack" />
<android.support.v4.view.ViewPager>
RETURN app
  1. Card Flip Animation
MATCH app
WHERE
<code class="android.animation.ObjectAnimator" />
<code class="android.app.Fragment" method = "onCreateView" />
<code method="flipCard" />
<FrameLayout />
RETURN app
  1. Zoom Out Page Transformer Animation
MATCH app
WHERE
<code class="android.app.Fragment" method = "onCreateView" />
<code class="android.support.v4.app.FragmentStatePagerAdapter" method = "getItem" />
<code class="android.support.v4.view.PagerAdapter" method = "getCount" />
<code class="android.app.FragmentManager.OnBackStackChangedListener" />
<code class="android.app.FragmentTransaction" method="addToBackStack" />
<code class="android.support.v4.view.ViewPager.PageTransformer" method="transformPage" />
<android.support.v4.view.ViewPager>
RETURN app
  1. Depth Page Transformer Animation
MATCH app
WHERE
<code class="android.app.Fragment" method = "onCreateView" />
<code class="android.support.v4.app.FragmentStatePagerAdapter" method = "getItem" />
<code class="android.support.v4.view.PagerAdapter" method = "getCount" />
<code class="android.app.FragmentManager.OnBackStackChangedListener" />
<code class="android.app.FragmentTransaction" method="addToBackStack" />
<code class="android.support.v4.view.ViewPager.PageTransformer" method="transformPage" />
<code class="android.view.View" method="setTranslationX" />
<android.support.v4.view.ViewPager>
RETURN app
  1. Zoomable Image Thumbnail
MATCH app
WHERE
<code class="android.view.View.OnClickListener" method="onClick" />
<code class="android.view.View" method="setScaleX" />
<code class="android.view.View" method="setScaleY" />
<code class="android.animation.AnimatorSet" method="start" />
<FrameLayout>
    <LinearLayout>
        <ImageButton />
    </LinearLayout>
    <ImageView android:visibility="invisible" />
</FrameLayout>
RETURN app
  1. Layout Changes Animation
MATCH app
WHERE
<code class="android.view.ViewGroup" method="setLayoutTransition" />
<code class="android.animation.LayoutTransition" />
<LinearLayout></LinearLayout>
RETURN app
  1. Quick Contact Badge
MATCH app
WHERE
<code class="android.provider.ContactsContract.ContactsColumns" />
<code class="android.provider.ContactsContract.Contacts" methods="getLookupUri" />
<code class="assignContactUri" method="assignContactUri" />
<RelativeLayout>
    <QuickContactBadge />
</RelativeLayout>
RETURN app
  1. Share on Google+ Button
MATCH app
WHERE
<code class="com.google.android.gms.plus.PlusShare.Builder" />
<Button android:text="Share on Google+" />
RETURN app
  1. Overscroller Effect
MATCH app
WHERE
<code class="android.widget.OverScroller" method ="computeScrollOffset" />
<code class="android.support.v4.view.ViewCompat" method ="postInvalidateOnAnimation" />
RETURN app
  1. Scroll Snapping Animation
MATCH app
WHERE
<code class="android.support.v4.view.ViewPager.PageTransformer" method ="transformPage" />
<code class="android.support.v4.view.ViewPager" method="onInterceptTouchEvent" />
<code class="android.support.v4.view.ViewPager" method="onTouchEvent" />
<code class="android.view.MotionEvent" />
RETURN app
  1. Deep Nested Structure
MATCH app
WHERE
<android.support.v4.widget.DrawerLayout>
  <FrameLayout>
    <FrameLayout>
        <LinearLayout>
            <FrameLayout>
                <ImageView />
            </FrameLayout>
        </LinearLayout>
    </FrameLayout>
  </FrameLayout>
</android.support.v4.widget.DrawerLayout>
RETURN app
⚠️ **GitHub.com Fallback** ⚠️