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 useLegacyFragment()24 private boolean useLegacyFragment() { 25 return (DetailsPresenterSelectionActivity.USE_LEGACY_PRESENTER 26 && !(this instanceof SearchDetailsActivity)); 27 } 28 29 /** Called when the activity is first created. */ 30 @Override onCreate(Bundle savedInstanceState)31 public void onCreate(Bundle savedInstanceState) 32 { 33 super.onCreate(savedInstanceState); 34 setContentView(useLegacyFragment() ? R.layout.legacy_details : R.layout.details); 35 if (savedInstanceState == null) { 36 // Only pass object to fragment when activity is first time created, 37 // later object is modified and persisted with fragment state. 38 if (useLegacyFragment()) { 39 ((DetailsFragment)getFragmentManager().findFragmentById(R.id.details_fragment)) 40 .setItem((PhotoItem) getIntent().getParcelableExtra(EXTRA_ITEM)); 41 } else { 42 ((NewDetailsFragment)getFragmentManager().findFragmentById(R.id.details_fragment)) 43 .setItem((PhotoItem) getIntent().getParcelableExtra(EXTRA_ITEM)); 44 } 45 } 46 } 47 48 @Override onAttachedToWindow()49 public void onAttachedToWindow() { 50 super.onAttachedToWindow(); 51 BackgroundHelper.attach(this); 52 } 53 54 @Override onStop()55 public void onStop() { 56 BackgroundHelper.release(this); 57 super.onStop(); 58 } 59 } 60