12ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner/* 22ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * Copyright (C) 2015 The Android Open Source Project 32ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * 42ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * Licensed under the Apache License, Version 2.0 (the "License"); 52ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * you may not use this file except in compliance with the License. 62ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * You may obtain a copy of the License at 72ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * 82ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * http://www.apache.org/licenses/LICENSE-2.0 92ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * 102ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * Unless required by applicable law or agreed to in writing, software 112ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * distributed under the License is distributed on an "AS IS" BASIS, 122ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * See the License for the specific language governing permissions and 142ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner * limitations under the License 152ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner */ 162ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner 172ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautnerpackage com.google.android.example.locktasktests; 182ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner 192ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautnerimport android.app.Activity; 202ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautnerimport android.app.ActivityManager; 212ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautnerimport android.content.Context; 222ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautnerimport android.content.Intent; 232ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautnerimport android.os.Bundle; 24c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautnerimport android.os.Handler; 25c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautnerimport android.os.Looper; 262ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautnerimport android.view.View; 272ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautnerimport android.widget.EditText; 282ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner 292ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautnerpublic class LaunchActivity extends Activity { 302ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner 31c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner Runnable mBackgroundPolling; 32c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner boolean mRunning; 33c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner Handler mHandler; 342ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner 352ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner @Override 362ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner protected void onCreate(Bundle savedInstanceState) { 372ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner super.onCreate(savedInstanceState); 382ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner setContentView(R.layout.activity_launch); 39c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner mBackgroundPolling = new Runnable() { 40c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner @Override 41c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner public void run() { 42c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner if (!mRunning) { 43c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner return; 44c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner } 45c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner ActivityManager activityManager = 46c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 47c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner final int color = activityManager.getLockTaskModeState() != 48c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner ActivityManager.LOCK_TASK_MODE_NONE ? 0xFFFFC0C0 : 0xFFFFFFFF; 49c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner findViewById(R.id.root_launch).setBackgroundColor(color); 50c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner mHandler.postDelayed(this, 1000); 51c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner } 52c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner }; 53c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner mHandler = new Handler(Looper.getMainLooper()); 542ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner } 552ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner 562ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner @Override 572ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner public void onResume() { 582ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner super.onResume(); 59c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner mRunning = true; 60c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner mBackgroundPolling.run(); 61c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner } 62c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner 63c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner @Override 64c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner public void onPause() { 65c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner super.onPause(); 66c21ae9ed221912b61306e075d3f22726ac04013cCraig Mautner mRunning = false; 672ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner } 682ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner 692ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner public void onTryLock(View view) { 702ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner startLockTask(); 712ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner } 722ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner 732ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner public void onTryUnlock(View view) { 742ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner stopLockTask(); 752ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner } 762ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner 772ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner public void onLaunchMain(View view) { 782ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner Intent intent = new Intent(this, MainActivity.class); 792ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner startActivity(intent); 802ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner } 812ad0bb46a42476f91b63baa95f0bcf97a337a4fcCraig Mautner} 82