1 /* 2 * Copyright (C) 2011 Google Inc. 3 * Licensed to The Android Open Source Project. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package com.android.ex.photo; 19 20 import android.content.Context; 21 import android.content.Intent; 22 import android.os.Bundle; 23 import android.support.v4.app.FragmentActivity; 24 import android.view.Menu; 25 import android.view.MenuItem; 26 27 /** 28 * Activity to view the contents of an album. 29 */ 30 public class PhotoViewActivity extends FragmentActivity 31 implements PhotoViewController.ActivityInterface { 32 33 private PhotoViewController mController; 34 private ActionBarWrapper mActionBar; 35 36 @Override onCreate(Bundle savedInstanceState)37 protected void onCreate(Bundle savedInstanceState) { 38 super.onCreate(savedInstanceState); 39 mController = createController(); 40 mController.onCreate(savedInstanceState); 41 } 42 createController()43 public PhotoViewController createController() { 44 return new PhotoViewController(this); 45 } 46 47 @Override getController()48 public PhotoViewController getController() { 49 return mController; 50 } 51 52 @Override onStart()53 protected void onStart() { 54 super.onStart(); 55 mController.onStart(); 56 } 57 58 @Override onResume()59 protected void onResume() { 60 super.onResume(); 61 mController.onResume(); 62 } 63 64 @Override onPause()65 protected void onPause() { 66 mController.onPause(); 67 super.onPause(); 68 } 69 70 @Override onStop()71 protected void onStop() { 72 mController.onStop(); 73 super.onStop(); 74 } 75 76 @Override onDestroy()77 protected void onDestroy() { 78 mController.onDestroy(); 79 super.onDestroy(); 80 } 81 82 @Override onBackPressed()83 public void onBackPressed() { 84 if (!mController.onBackPressed()) { 85 super.onBackPressed(); 86 } 87 } 88 89 @Override onSaveInstanceState(Bundle outState)90 public void onSaveInstanceState(Bundle outState) { 91 super.onSaveInstanceState(outState); 92 mController.onSaveInstanceState(outState); 93 } 94 95 @Override onCreateOptionsMenu(Menu menu)96 public boolean onCreateOptionsMenu(Menu menu) { 97 return mController.onCreateOptionsMenu(menu) || super.onCreateOptionsMenu(menu); 98 } 99 100 @Override onPrepareOptionsMenu(Menu menu)101 public boolean onPrepareOptionsMenu(Menu menu) { 102 return mController.onPrepareOptionsMenu(menu) || super.onPrepareOptionsMenu(menu); 103 } 104 105 @Override onOptionsItemSelected(MenuItem item)106 public boolean onOptionsItemSelected(MenuItem item) { 107 return mController.onOptionsItemSelected(item) || super.onOptionsItemSelected(item); 108 } 109 110 @Override onActivityResult(int requestCode, int resultCode, Intent data)111 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 112 super.onActivityResult(requestCode, resultCode, data); 113 mController.onActivityResult(requestCode, resultCode, data); 114 } 115 116 @Override getContext()117 public Context getContext() { 118 return this; 119 } 120 121 @Override getActionBarInterface()122 public ActionBarInterface getActionBarInterface() { 123 if (mActionBar == null) { 124 mActionBar = new ActionBarWrapper(getActionBar()); 125 } 126 return mActionBar; 127 } 128 129 } 130