package de.blinkt.openvpn.api; import java.util.HashSet; import java.util.Set; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.preference.PreferenceManager; public class ExternalAppDatabase { Context mContext; public ExternalAppDatabase(Context c) { mContext =c; } private final String PREFERENCES_KEY = "PREFERENCES_KEY"; boolean isAllowed(String packagename) { Set allowedapps = getExtAppList(); return allowedapps.contains(packagename); } public Set getExtAppList() { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); return prefs.getStringSet(PREFERENCES_KEY, new HashSet()); } void addApp(String packagename) { Set allowedapps = getExtAppList(); allowedapps.add(packagename); saveExtAppList(allowedapps); } private void saveExtAppList( Set allowedapps) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); Editor prefedit = prefs.edit(); prefedit.putStringSet(PREFERENCES_KEY, allowedapps); prefedit.apply(); } public void clearAllApiApps() { saveExtAppList(new HashSet()); } public void removeApp(String packagename) { Set allowedapps = getExtAppList(); allowedapps.remove(packagename); saveExtAppList(allowedapps); } }