1 /* 2 * Copyright (C) 2014 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 * in compliance with the License. You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software distributed under the License 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11 * or implied. See the License for the specific language governing permissions and limitations under 12 * the License. 13 */ 14 package com.example.android.leanback; 15 16 import android.app.Activity; 17 import android.os.Bundle; 18 19 public class DetailsActivity extends Activity 20 { 21 public static final String EXTRA_ITEM = "item"; 22 public static final String SHARED_ELEMENT_NAME = "hero"; 23 24 public static boolean USE_LEGACY_PRESENTER = false; 25 useLegacyFragment()26 private boolean useLegacyFragment() { 27 return (USE_LEGACY_PRESENTER && !(this instanceof SearchDetailsActivity)); 28 } 29 30 /** Called when the activity is first created. */ 31 @Override onCreate(Bundle savedInstanceState)32 public void onCreate(Bundle savedInstanceState) 33 { 34 super.onCreate(savedInstanceState); 35 setContentView(useLegacyFragment() ? R.layout.legacy_details : R.layout.details); 36 if (savedInstanceState == null) { 37 // Only pass object to fragment when activity is first time created, 38 // later object is modified and persisted with fragment state. 39 if (useLegacyFragment()) { 40 ((DetailsFragment)getFragmentManager().findFragmentById(R.id.details_fragment)) 41 .setItem((PhotoItem) getIntent().getParcelableExtra(EXTRA_ITEM)); 42 } else { 43 ((NewDetailsFragment)getFragmentManager().findFragmentById(R.id.details_fragment)) 44 .setItem((PhotoItem) getIntent().getParcelableExtra(EXTRA_ITEM)); 45 } 46 } 47 } 48 49 @Override onAttachedToWindow()50 public void onAttachedToWindow() { 51 super.onAttachedToWindow(); 52 BackgroundHelper.attach(this); 53 } 54 55 @Override onStop()56 public void onStop() { 57 BackgroundHelper.release(this); 58 super.onStop(); 59 } 60 } 61