| // Copyright 2011 Google Inc. All Rights Reserved. |
| |
| package com.example.android.hcgallery; |
| |
| import android.app.Activity; |
| import android.os.Bundle; |
| |
| /** This is a shell activity that hosts ContentFragment when the device screen |
| * is smaller than "large". |
| */ |
| public class ContentActivity extends Activity { |
| private int mThemeId = 0; |
| |
| @Override |
| public void onCreate(Bundle savedInstanceState) { |
| super.onCreate(savedInstanceState); |
| |
| Bundle extras = getIntent().getExtras(); |
| if (extras != null) { |
| // The activity theme is the only state data that the activity needs |
| // to restore. All info about the content displayed is managed by the fragment |
| mThemeId = extras.getInt("theme"); |
| } else if (savedInstanceState != null) { |
| // If there's no restore state, get the theme from the intent |
| mThemeId = savedInstanceState.getInt("theme"); |
| } |
| |
| if (mThemeId != 0) { |
| setTheme(mThemeId); |
| } |
| |
| setContentView(R.layout.content_activity); |
| |
| if (extras != null) { |
| // Take the info from the intent and deliver it to the fragment so it can update |
| int category = extras.getInt("category"); |
| int position = extras.getInt("position"); |
| ContentFragment frag = (ContentFragment) getFragmentManager().findFragmentById(R.id.content_frag); |
| frag.updateContentAndRecycleBitmap(category, position); |
| } |
| } |
| |
| @Override |
| protected void onSaveInstanceState(Bundle outState) { |
| super.onSaveInstanceState(outState); |
| outState.putInt("theme", mThemeId); |
| } |
| } |