Home | History | Annotate | Download | only in hcgallery
      1 // Copyright 2011 Google Inc. All Rights Reserved.
      2 
      3 package com.example.android.hcgallery;
      4 
      5 import android.app.Activity;
      6 import android.os.Bundle;
      7 
      8 /** This is a shell activity that hosts ContentFragment when the device screen
      9  * is smaller than "large".
     10  */
     11 public class ContentActivity extends Activity {
     12   private int mThemeId = 0;
     13 
     14   @Override
     15   public void onCreate(Bundle savedInstanceState) {
     16       super.onCreate(savedInstanceState);
     17 
     18       Bundle extras = getIntent().getExtras();
     19       if (extras != null) {
     20           // The activity theme is the only state data that the activity needs
     21           // to restore. All info about the content displayed is managed by the fragment
     22           mThemeId = extras.getInt("theme");
     23       } else if (savedInstanceState != null) {
     24           // If there's no restore state, get the theme from the intent
     25           mThemeId = savedInstanceState.getInt("theme");
     26       }
     27 
     28       if (mThemeId != 0) {
     29           setTheme(mThemeId);
     30       }
     31 
     32       setContentView(R.layout.content_activity);
     33 
     34       if (extras != null) {
     35         // Take the info from the intent and deliver it to the fragment so it can update
     36         int category = extras.getInt("category");
     37         int position = extras.getInt("position");
     38         ContentFragment frag = (ContentFragment) getFragmentManager().findFragmentById(R.id.content_frag);
     39         frag.updateContentAndRecycleBitmap(category, position);
     40       }
     41   }
     42 
     43   @Override
     44   protected void onSaveInstanceState(Bundle outState) {
     45       super.onSaveInstanceState(outState);
     46       outState.putInt("theme", mThemeId);
     47   }
     48 }
     49