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