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 */
14package com.example.android.leanback;
15
16import android.app.Activity;
17import android.os.Bundle;
18
19public class DetailsActivity extends Activity
20{
21    public static final String EXTRA_ITEM = "item";
22    public static final String SHARED_ELEMENT_NAME = "hero";
23
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
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
49    public void onAttachedToWindow() {
50        super.onAttachedToWindow();
51        BackgroundHelper.attach(this);
52    }
53
54    @Override
55    public void onStop() {
56        BackgroundHelper.release(this);
57        super.onStop();
58    }
59}
60