17e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer/*
27e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer * Copyright (c) 2016, The Android Open Source Project
37e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer *
47e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer * Licensed under the Apache License, Version 2.0 (the "License");
57e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer * you may not use this file except in compliance with the License.
67e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer * You may obtain a copy of the License at
77e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer *
87e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer *     http://www.apache.org/licenses/LICENSE-2.0
97e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer *
107e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer * Unless required by applicable law or agreed to in writing, software
117e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer * distributed under the License is distributed on an "AS IS" BASIS,
127e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer * See the License for the specific language governing permissions and
147e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer * limitations under the License.
157e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer */
167e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyerpackage com.android.car.media.localmediaplayer;
177e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer
187e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyerimport android.app.Activity;
197e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyerimport android.os.Bundle;
207e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer
217e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyerpublic class PermissionsActivity extends Activity {
227e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer    private static final int REQUEST_CODE = 42;
237e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer
247e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer    @Override
257e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer    protected void onCreate(Bundle savedInstanceState) {
267e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer        super.onCreate(savedInstanceState);
277e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer
287e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer        // Check again, just in case.
297e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer        if (!Utils.hasRequiredPermissions(this)) {
307e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer            requestPermissions(Utils.PERMISSIONS, REQUEST_CODE);
317e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer        } else {
327e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer            finish();
337e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer        }
347e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer    }
357e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer
367e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer    @Override
377e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer    public void onRequestPermissionsResult(int request, String[] permissions, int[] results) {
387e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer        // The media browser displays an error anyway if it doesn't have the required permissions
397e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer        // so we call finish irrespective of the grant result. This whole activity exists just
407e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer        // for the purpose of trampolining the permissions request anyway.
417e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer        finish();
427e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer    }
437e37ae05a9c7c9ecf8569a5bfe752a54f660a6baRakesh Iyer}
44