BrowseErrorActivity.java revision 53e230dfe568d0f713f797be09cdac4ab1a21d28
1def91eaec25417523827df321d2e3babbcd40a36Craig Stout/* 2def91eaec25417523827df321d2e3babbcd40a36Craig Stout * Copyright (C) 2014 The Android Open Source Project 3def91eaec25417523827df321d2e3babbcd40a36Craig Stout * 4def91eaec25417523827df321d2e3babbcd40a36Craig Stout * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5def91eaec25417523827df321d2e3babbcd40a36Craig Stout * in compliance with the License. You may obtain a copy of the License at 6def91eaec25417523827df321d2e3babbcd40a36Craig Stout * 7def91eaec25417523827df321d2e3babbcd40a36Craig Stout * http://www.apache.org/licenses/LICENSE-2.0 8def91eaec25417523827df321d2e3babbcd40a36Craig Stout * 9def91eaec25417523827df321d2e3babbcd40a36Craig Stout * Unless required by applicable law or agreed to in writing, software distributed under the License 10def91eaec25417523827df321d2e3babbcd40a36Craig Stout * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11def91eaec25417523827df321d2e3babbcd40a36Craig Stout * or implied. See the License for the specific language governing permissions and limitations under 12def91eaec25417523827df321d2e3babbcd40a36Craig Stout * the License. 13def91eaec25417523827df321d2e3babbcd40a36Craig Stout */ 14def91eaec25417523827df321d2e3babbcd40a36Craig Stoutpackage com.example.android.leanback; 15def91eaec25417523827df321d2e3babbcd40a36Craig Stout 16def91eaec25417523827df321d2e3babbcd40a36Craig Stoutimport android.app.Activity; 17def91eaec25417523827df321d2e3babbcd40a36Craig Stoutimport android.app.Fragment; 18def91eaec25417523827df321d2e3babbcd40a36Craig Stoutimport android.os.Bundle; 19def91eaec25417523827df321d2e3babbcd40a36Craig Stoutimport android.os.Handler; 20def91eaec25417523827df321d2e3babbcd40a36Craig Stoutimport android.view.Gravity; 21def91eaec25417523827df321d2e3babbcd40a36Craig Stoutimport android.view.LayoutInflater; 22def91eaec25417523827df321d2e3babbcd40a36Craig Stoutimport android.view.View; 23def91eaec25417523827df321d2e3babbcd40a36Craig Stoutimport android.view.ViewGroup; 24def91eaec25417523827df321d2e3babbcd40a36Craig Stoutimport android.widget.FrameLayout; 25def91eaec25417523827df321d2e3babbcd40a36Craig Stoutimport android.widget.ProgressBar; 26def91eaec25417523827df321d2e3babbcd40a36Craig Stout 27def91eaec25417523827df321d2e3babbcd40a36Craig Stoutpublic class BrowseErrorActivity extends Activity 28def91eaec25417523827df321d2e3babbcd40a36Craig Stout{ 29def91eaec25417523827df321d2e3babbcd40a36Craig Stout private ErrorFragment mErrorFragment; 30def91eaec25417523827df321d2e3babbcd40a36Craig Stout private SpinnerFragment mSpinnerFragment; 31def91eaec25417523827df321d2e3babbcd40a36Craig Stout 32def91eaec25417523827df321d2e3babbcd40a36Craig Stout /** Called when the activity is first created. */ 33def91eaec25417523827df321d2e3babbcd40a36Craig Stout @Override 34def91eaec25417523827df321d2e3babbcd40a36Craig Stout public void onCreate(Bundle savedInstanceState) 35def91eaec25417523827df321d2e3babbcd40a36Craig Stout { 36def91eaec25417523827df321d2e3babbcd40a36Craig Stout super.onCreate(savedInstanceState); 37def91eaec25417523827df321d2e3babbcd40a36Craig Stout setContentView(R.layout.main); 38def91eaec25417523827df321d2e3babbcd40a36Craig Stout 39def91eaec25417523827df321d2e3babbcd40a36Craig Stout testError(); 40def91eaec25417523827df321d2e3babbcd40a36Craig Stout } 41def91eaec25417523827df321d2e3babbcd40a36Craig Stout 42def91eaec25417523827df321d2e3babbcd40a36Craig Stout private void testError() { 43def91eaec25417523827df321d2e3babbcd40a36Craig Stout mErrorFragment = new ErrorFragment(); 44def91eaec25417523827df321d2e3babbcd40a36Craig Stout getFragmentManager().beginTransaction().add(R.id.main_frame, mErrorFragment).commit(); 45def91eaec25417523827df321d2e3babbcd40a36Craig Stout 46def91eaec25417523827df321d2e3babbcd40a36Craig Stout mSpinnerFragment = new SpinnerFragment(); 47def91eaec25417523827df321d2e3babbcd40a36Craig Stout getFragmentManager().beginTransaction().add(R.id.main_frame, mSpinnerFragment).commit(); 48def91eaec25417523827df321d2e3babbcd40a36Craig Stout 49def91eaec25417523827df321d2e3babbcd40a36Craig Stout Handler handler = new Handler(); 50def91eaec25417523827df321d2e3babbcd40a36Craig Stout handler.postDelayed(new Runnable() { 51def91eaec25417523827df321d2e3babbcd40a36Craig Stout @Override 52def91eaec25417523827df321d2e3babbcd40a36Craig Stout public void run() { 5353e230dfe568d0f713f797be09cdac4ab1a21d28Craig Stout if (getFragmentManager().isDestroyed()) { 5453e230dfe568d0f713f797be09cdac4ab1a21d28Craig Stout return; 5553e230dfe568d0f713f797be09cdac4ab1a21d28Craig Stout } 56def91eaec25417523827df321d2e3babbcd40a36Craig Stout getFragmentManager().beginTransaction().remove(mSpinnerFragment).commit(); 57def91eaec25417523827df321d2e3babbcd40a36Craig Stout mErrorFragment.setErrorContent(getResources()); 58def91eaec25417523827df321d2e3babbcd40a36Craig Stout } 59def91eaec25417523827df321d2e3babbcd40a36Craig Stout }, 3000); 60def91eaec25417523827df321d2e3babbcd40a36Craig Stout } 61def91eaec25417523827df321d2e3babbcd40a36Craig Stout 62def91eaec25417523827df321d2e3babbcd40a36Craig Stout static public class SpinnerFragment extends Fragment { 63def91eaec25417523827df321d2e3babbcd40a36Craig Stout @Override 64def91eaec25417523827df321d2e3babbcd40a36Craig Stout public View onCreateView(LayoutInflater inflater, ViewGroup container, 65def91eaec25417523827df321d2e3babbcd40a36Craig Stout Bundle savedInstanceState) { 66def91eaec25417523827df321d2e3babbcd40a36Craig Stout ProgressBar progressBar = new ProgressBar(container.getContext()); 67def91eaec25417523827df321d2e3babbcd40a36Craig Stout if (container instanceof FrameLayout) { 68def91eaec25417523827df321d2e3babbcd40a36Craig Stout FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(100, 100, Gravity.CENTER); 69def91eaec25417523827df321d2e3babbcd40a36Craig Stout progressBar.setLayoutParams(layoutParams); 70def91eaec25417523827df321d2e3babbcd40a36Craig Stout } 71def91eaec25417523827df321d2e3babbcd40a36Craig Stout return progressBar; 72def91eaec25417523827df321d2e3babbcd40a36Craig Stout } 73def91eaec25417523827df321d2e3babbcd40a36Craig Stout } 74def91eaec25417523827df321d2e3babbcd40a36Craig Stout} 75