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