1394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov/* 2394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * Copyright (C) 2015 The Android Open Source Project 3394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * 4394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * Licensed under the Apache License, Version 2.0 (the "License"); 5394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * you may not use this file except in compliance with the License. 6394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * You may obtain a copy of the License at 7394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * 8394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * http://www.apache.org/licenses/LICENSE-2.0 9394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * 10394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * Unless required by applicable law or agreed to in writing, software 11394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * distributed under the License is distributed on an "AS IS" BASIS, 12394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * See the License for the specific language governing permissions and 14394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov * limitations under the License. 15394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov */ 16394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov 17394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikovpackage android.support.design.widget; 18394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov 19394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikovimport android.os.Bundle; 20394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikovimport android.support.v7.app.AppCompatActivity; 21394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikovimport android.view.WindowManager; 22394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov 23394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikovabstract class BaseTestActivity extends AppCompatActivity { 24394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov 25394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov private boolean mDestroyed; 26394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov 27394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov @Override 28394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov protected void onCreate(Bundle savedInstanceState) { 29394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov super.onCreate(savedInstanceState); 30320463c1cf5f8e50cce340df195b60835fe23002Aurimas Liutikas overridePendingTransition(0, 0); 31320463c1cf5f8e50cce340df195b60835fe23002Aurimas Liutikas 32394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 33394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov final int contentView = getContentViewLayoutResId(); 34394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov if (contentView > 0) { 35394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov setContentView(contentView); 36394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov } 37394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov onContentViewSet(); 38394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 39394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov } 40394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov 41320463c1cf5f8e50cce340df195b60835fe23002Aurimas Liutikas @Override 42320463c1cf5f8e50cce340df195b60835fe23002Aurimas Liutikas public void finish() { 43320463c1cf5f8e50cce340df195b60835fe23002Aurimas Liutikas super.finish(); 44320463c1cf5f8e50cce340df195b60835fe23002Aurimas Liutikas overridePendingTransition(0, 0); 45320463c1cf5f8e50cce340df195b60835fe23002Aurimas Liutikas } 46320463c1cf5f8e50cce340df195b60835fe23002Aurimas Liutikas 47394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov protected abstract int getContentViewLayoutResId(); 48394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov 49394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov protected void onContentViewSet() {} 50394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov 51394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov @Override 52394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov protected void onDestroy() { 53394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov super.onDestroy(); 54394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov mDestroyed = true; 55394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov } 56394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov 57394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov @Override 58394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov public boolean isDestroyed() { 59394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov return mDestroyed; 60394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov } 61394c4272d0e220cf7af236665eecaf99dfed25b1Kirill Grouchnikov} 62