17f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang/* 27f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * Copyright (C) 2016 The Android Open Source Project 37f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * 47f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * Licensed under the Apache License, Version 2.0 (the "License"); 57f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * you may not use this file except in compliance with the License. 67f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * You may obtain a copy of the License at 77f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * 87f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * http://www.apache.org/licenses/LICENSE-2.0 97f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * 107f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * Unless required by applicable law or agreed to in writing, software 117f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * distributed under the License is distributed on an "AS IS" BASIS, 127f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * See the License for the specific language governing permissions and 147f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang * limitations under the License. 157f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang */ 167f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang 177f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuangpackage com.android.settings.development; 187f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang 197f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuangimport android.content.Context; 207f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuangimport android.os.UserManager; 217f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang 2237df3d6d1f3114fbf4906889f9855de2e11990efjeffreyhuangimport com.android.settings.core.PreferenceControllerMixin; 2337df3d6d1f3114fbf4906889f9855de2e11990efjeffreyhuangimport com.android.settingslib.development.DeveloperOptionsPreferenceController; 2437df3d6d1f3114fbf4906889f9855de2e11990efjeffreyhuang 25e89dc361496aa728f336bf1945553c2f16cb5ba8jeffreyhuangpublic class BugReportPreferenceController extends DeveloperOptionsPreferenceController implements 2637df3d6d1f3114fbf4906889f9855de2e11990efjeffreyhuang PreferenceControllerMixin { 277f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang 287f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang private static final String KEY_BUGREPORT = "bugreport"; 297f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang 307f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang private final UserManager mUserManager; 317f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang 32e89dc361496aa728f336bf1945553c2f16cb5ba8jeffreyhuang public BugReportPreferenceController(Context context) { 337f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang super(context); 347f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang 357f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); 367f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang } 377f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang 387f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang @Override 397f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang public boolean isAvailable() { 407f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang return !mUserManager.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES); 417f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang } 427f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang 437f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang @Override 447f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang public String getPreferenceKey() { 457f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang return KEY_BUGREPORT; 467f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang } 477f578fb1ef3e845f2c7810b2bdaf759b648ed1bfjeffreyhuang} 48