19e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn/* 29e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** 39e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** Copyright 2007, The Android Open Source Project 49e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** 59e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** Licensed under the Apache License, Version 2.0 (the "License"); 69e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** you may not use this file except in compliance with the License. 79e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** You may obtain a copy of the License at 89e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** 99e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** http://www.apache.org/licenses/LICENSE-2.0 109e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** 119e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** Unless required by applicable law or agreed to in writing, software 129e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** distributed under the License is distributed on an "AS IS" BASIS, 139e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 149e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** See the License for the specific language governing permissions and 159e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn** limitations under the License. 169e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn*/ 179e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackbornpackage com.android.packageinstaller; 189e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn 199e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackbornimport android.content.BroadcastReceiver; 209e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackbornimport android.content.Context; 219e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackbornimport android.content.Intent; 229e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackbornimport android.content.SharedPreferences; 239e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackbornimport android.net.Uri; 249e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn 259e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackbornpublic class RemoveReceiver extends BroadcastReceiver { 269e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn 279e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn @Override 289e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn public void onReceive(Context context, Intent intent) { 299e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn if (Intent.ACTION_PACKAGE_FULLY_REMOVED.equals(intent.getAction())) { 309e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn Uri uri = intent.getData(); 319e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn String pkg = uri != null ? uri.getSchemeSpecificPart() : null; 329e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn if (pkg != null) { 339e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn SharedPreferences prefs = context.getSharedPreferences( 349e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn PackageInstallerActivity.PREFS_ALLOWED_SOURCES, 359e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn Context.MODE_PRIVATE); 369e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn if (prefs.getBoolean(pkg, false)) { 379e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn prefs.edit().remove(pkg).apply(); 389e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn } 399e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn } 409e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn } 419e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn } 429e9721266feafdf16786b94f6fac4c06220cd422Dianne Hackborn} 43