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.annotation.Nullable; 24 import android.support.v7.app.ActionBarActivity; 25 import android.view.Menu; 26 import android.view.MenuItem; 27 28 /** 29 * Activity to view the contents of an album. 30 */ 31 public class PhotoViewActivity extends ActionBarActivity 32 implements PhotoViewController.ActivityInterface { 33 34 private PhotoViewController mController; 35 private ActionBarWrapper mActionBar; 36 37 @Override 38 protected void onCreate(@Nullable Bundle savedInstanceState) { 39 super.onCreate(savedInstanceState); 40 mController = createController(); 41 mController.onCreate(savedInstanceState); 42 } 43 44 protected PhotoViewController createController() { 45 return new PhotoViewController(this); 46 } 47 48 @Override 49 public PhotoViewController getController() { 50 return mController; 51 } 52 53 @Override 54 protected void onStart() { 55 super.onStart(); 56 mController.onStart(); 57 } 58 59 @Override 60 protected void onResume() { 61 super.onResume(); 62 mController.onResume(); 63 } 64 65 @Override 66 protected void onPause() { 67 mController.onPause(); 68 super.onPause(); 69 } 70 71 @Override 72 protected void onStop() { 73 mController.onStop(); 74 super.onStop(); 75 } 76 77 @Override 78 protected void onDestroy() { 79 mController.onDestroy(); 80 super.onDestroy(); 81 } 82 83 @Override 84 public void onBackPressed() { 85 if (!mController.onBackPressed()) { 86 super.onBackPressed(); 87 } 88 } 89 90 @Override 91 public void onSaveInstanceState(Bundle outState) { 92 super.onSaveInstanceState(outState); 93 mController.onSaveInstanceState(outState); 94 } 95 96 @Override 97 public boolean onCreateOptionsMenu(Menu menu) { 98 return mController.onCreateOptionsMenu(menu) || super.onCreateOptionsMenu(menu); 99 } 100 101 @Override 102 public boolean onPrepareOptionsMenu(Menu menu) { 103 return mController.onPrepareOptionsMenu(menu) || super.onPrepareOptionsMenu(menu); 104 } 105 106 @Override 107 public boolean onOptionsItemSelected(MenuItem item) { 108 return mController.onOptionsItemSelected(item) || super.onOptionsItemSelected(item); 109 } 110 111 @Override 112 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 113 super.onActivityResult(requestCode, resultCode, data); 114 mController.onActivityResult(requestCode, resultCode, data); 115 } 116 117 @Override 118 public Context getContext() { 119 return this; 120 } 121 122 @Override 123 public ActionBarInterface getActionBarInterface() { 124 if (mActionBar == null) { 125 mActionBar = new ActionBarWrapper(getSupportActionBar()); 126 } 127 return mActionBar; 128 } 129 130 } 131