mirror of https://github.com/M66B/NetGuard.git
Handle application add/remove
This commit is contained in:
parent
c6c4464228
commit
de7eaa8554
|
@ -1,7 +1,10 @@
|
|||
package eu.faircode.netguard;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.VpnService;
|
||||
import android.os.AsyncTask;
|
||||
|
@ -75,6 +78,35 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences
|
|||
// Listen for external enabled changes
|
||||
prefs.registerOnSharedPreferenceChangeListener(this);
|
||||
|
||||
// Fill application list
|
||||
getApplicationList();
|
||||
|
||||
// Listen for added/removed applications
|
||||
IntentFilter intentFilter = new IntentFilter();
|
||||
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
|
||||
intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
|
||||
intentFilter.addDataScheme("package");
|
||||
registerReceiver(packageChangedReceiver, intentFilter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
Log.i(TAG, "Destroy");
|
||||
running = false;
|
||||
PreferenceManager.getDefaultSharedPreferences(this).unregisterOnSharedPreferenceChangeListener(this);
|
||||
unregisterReceiver(packageChangedReceiver);
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
private BroadcastReceiver packageChangedReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Log.i(TAG, "Received " + intent);
|
||||
getApplicationList();
|
||||
}
|
||||
};
|
||||
|
||||
private void getApplicationList() {
|
||||
// Package list
|
||||
final RecyclerView rvApplication = (RecyclerView) findViewById(R.id.rvApplication);
|
||||
rvApplication.setHasFixedSize(true);
|
||||
|
@ -107,14 +139,6 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
Log.i(TAG, "Destroy");
|
||||
running = false;
|
||||
PreferenceManager.getDefaultSharedPreferences(this).unregisterOnSharedPreferenceChangeListener(this);
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
MenuInflater inflater = getMenuInflater();
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
<string name="menu_search">Search</string>
|
||||
<string name="menu_wifi">Toggle Wi-Fi</string>
|
||||
<string name="menu_other">Toggle other</string>
|
||||
<string name="menu_vpn_settings">VPN settings</string>
|
||||
<string name="menu_vpn_settings">Android VPN settings</string>
|
||||
<string name="menu_about">About</string>
|
||||
</resources>
|
||||
|
|
Loading…
Reference in New Issue