It's very unlikely that your album has uniqueId 'id/no_id/1
'. You can verify it using dump.py
. If I run dump.py --uniqueId
on 4.0.3 Gallery I obtain
com.android.internal.policy.impl.PhoneWindow$DecorView NO_ID None id/no_id/1
android.widget.LinearLayout NO_ID None id/no_id/2
android.view.ViewStub id/action_mode_bar_stub None id/action_mode_bar_stub
android.widget.FrameLayout NO_ID None id/no_id/3
android.widget.TextView id/title Gallery id/title
android.widget.FrameLayout id/content None id/content
android.widget.RelativeLayout id/root None id/root
android.widget.GridView id/albums None id/albums
android.widget.LinearLayout NO_ID None id/no_id/4
com.android.camera.GalleryPickerItem id/thumbnail None id/thumbnail
android.widget.TextView id/title All pictures (3) id/title/1
android.widget.LinearLayout NO_ID None id/no_id/5
com.android.camera.GalleryPickerItem id/thumbnail None id/thumbnail/1
android.widget.TextView id/title Download (3) id/title/2
so, I guess you want the first album, then I would use:
vc = ViewClient(*ViewClient.connectToDeviceOrExit())
firstAlbum = vc.findViewWithTextOrRaise(re.compile('All pictures \(\d+\)'))
firstAlbum.touch()
or (as oneliner):
ViewClient(*ViewClient.connectToDeviceOrExit()).findViewWithTextOrRaise(re.compile('All pictures \(\d+\)')).touch()
using a regular expression you can select the album, the one with All pictures title independently of the number of pictures listed in the title.