@@ -126,6 +126,7 @@ public class MediaAppControllerActivity extends AppCompatActivity {
126
126
private RatingUiHelper mRatingUiHelper ;
127
127
private CustomControlsAdapter mCustomControlsAdapter = new CustomControlsAdapter ();
128
128
129
+ private ViewPager mViewPager ;
129
130
private Spinner mInputTypeView ;
130
131
private EditText mUriInput ;
131
132
private TextView mMediaInfoText ;
@@ -163,6 +164,7 @@ protected void onCreate(Bundle savedInstanceState) {
163
164
final Toolbar toolbar = findViewById (R .id .toolbar );
164
165
setSupportActionBar (toolbar );
165
166
167
+ mViewPager = findViewById (R .id .view_pager );
166
168
mInputTypeView = findViewById (R .id .input_type );
167
169
mUriInput = findViewById (R .id .uri_id_query );
168
170
mMediaInfoText = findViewById (R .id .media_info );
@@ -192,17 +194,19 @@ protected void onCreate(Bundle savedInstanceState) {
192
194
// that will be taken care of by #connectToMediaBrowserPackage in handleIntent.
193
195
setupMediaController ();
194
196
setupToolbar (mMediaAppDetails .appName , mMediaAppDetails .icon );
197
+ } else {
198
+ // Wait to show the ViewPager until connected.
199
+ mViewPager .setVisibility (View .GONE );
195
200
}
196
201
197
- final ViewPager viewPager = findViewById (R .id .view_pager );
198
202
final int [] pages = {
199
203
R .id .prepare_play_page ,
200
204
R .id .controls_page ,
201
205
R .id .custom_controls_page ,
202
206
};
203
207
// Simplify the adapter by not keeping track of creating/destroying off-screen views.
204
- viewPager .setOffscreenPageLimit (pages .length );
205
- viewPager .setAdapter (new PagerAdapter () {
208
+ mViewPager .setOffscreenPageLimit (pages .length );
209
+ mViewPager .setAdapter (new PagerAdapter () {
206
210
207
211
@ Override
208
212
public int getCount () {
@@ -221,7 +225,7 @@ public Object instantiateItem(@NonNull ViewGroup container, int position) {
221
225
}
222
226
});
223
227
final TabLayout pageIndicator = findViewById (R .id .page_indicator );
224
- pageIndicator .setupWithViewPager (viewPager );
228
+ pageIndicator .setupWithViewPager (mViewPager );
225
229
226
230
final RecyclerView customControlsList = findViewById (R .id .custom_controls_list );
227
231
customControlsList .setLayoutManager (new LinearLayoutManager (this ));
@@ -335,6 +339,9 @@ private void setupMediaController() {
335
339
mCallback .onPlaybackStateChanged (mController .getPlaybackState ());
336
340
mCallback .onMetadataChanged (mController .getMetadata ());
337
341
342
+ // Ensure views are visible.
343
+ mViewPager .setVisibility (View .VISIBLE );
344
+
338
345
Log .d (TAG , "MediaControllerCompat created" );
339
346
} catch (RemoteException remoteException ) {
340
347
Log .e (TAG , "Failed to create MediaController from session token" , remoteException );
0 commit comments