1d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque/*
2d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * Copyright (C) 2015 The Android Open Source Project
3d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque *
4d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * Licensed under the Apache License, Version 2.0 (the "License");
5d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * you may not use this file except in compliance with the License.
6d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * You may obtain a copy of the License at
7d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque *
8d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque *      http://www.apache.org/licenses/LICENSE-2.0
9d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque *
10d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * Unless required by applicable law or agreed to in writing, software
11d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * distributed under the License is distributed on an "AS IS" BASIS,
12d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * See the License for the specific language governing permissions and
14d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * limitations under the License.
15d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque */
16d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haquepackage com.android.test.uibench;
17d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
18d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.app.ActivityOptions;
19d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.content.Intent;
20d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.graphics.Color;
21d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.graphics.drawable.ColorDrawable;
22d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.graphics.drawable.Drawable;
23d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.os.Bundle;
24d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.support.v7.app.AppCompatActivity;
25d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.view.View;
26d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.widget.ImageView;
27d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
28d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport com.android.test.uibench.ActivityTransition;
29d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport com.android.test.uibench.R;
30d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
31d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
32d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haquepublic class ActivityTransitionDetails extends AppCompatActivity {
33d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    private static final String KEY_ID = "ViewTransitionValues:id";
34d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    private int mImageResourceId = R.drawable.ducky;
35d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    private String mName = "ducky";
36d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
37d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    @Override
38d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    protected void onCreate(Bundle savedInstanceState) {
39d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        super.onCreate(savedInstanceState);
40d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        getWindow().setBackgroundDrawable(new ColorDrawable(Color.DKGRAY));
41d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        setContentView(R.layout.activity_transition_details);
42d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        ImageView titleImage = (ImageView) findViewById(R.id.titleImage);
43d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        titleImage.setImageDrawable(getHeroDrawable());
44d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    }
45d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
46d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    private Drawable getHeroDrawable() {
47d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        String name = getIntent().getStringExtra(KEY_ID);
48d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        if (name != null) {
49d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque            mName = name;
50d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque            mImageResourceId = ActivityTransition.getDrawableIdForKey(name);
51d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        }
52d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
53d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        return getResources().getDrawable(mImageResourceId);
54d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    }
55d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
56d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    public void clicked(View v) {
57d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        Intent intent = new Intent(this, ActivityTransition.class);
58d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        intent.putExtra(KEY_ID, mName);
59d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        ActivityOptions activityOptions = ActivityOptions.makeSceneTransitionAnimation(
60d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque                this, v, "hero");
61d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        startActivity(intent, activityOptions.toBundle());
62d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    }
63d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque}
64