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