aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/fil/libre/repwifiapp/Commons.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/fil/libre/repwifiapp/Commons.java')
-rw-r--r--app/src/fil/libre/repwifiapp/Commons.java295
1 files changed, 11 insertions, 284 deletions
diff --git a/app/src/fil/libre/repwifiapp/Commons.java b/app/src/fil/libre/repwifiapp/Commons.java
index 1603a76..0347982 100644
--- a/app/src/fil/libre/repwifiapp/Commons.java
+++ b/app/src/fil/libre/repwifiapp/Commons.java
@@ -1,5 +1,5 @@
//
-// Copyright 2017 Filippo "Fil" Bergamo <fil.bergamo@riseup.net>
+// Copyright 2017, 2018 Filippo "Fil" Bergamo <fil.bergamo@riseup.net>
//
// This file is part of RepWifiApp.
//
@@ -20,64 +20,26 @@
package fil.libre.repwifiapp;
-import java.io.File;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Locale;
-import android.annotation.SuppressLint;
-import android.app.AlertDialog;
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.app.Service;
import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.Editor;
-import android.os.Environment;
-import android.preference.PreferenceManager;
-import fil.libre.repwifiapp.activities.MainActivity;
-import fil.libre.repwifiapp.helpers.ConnectionStatus;
-import fil.libre.repwifiapp.helpers.Engine;
-import fil.libre.repwifiapp.helpers.Engine6p0;
-import fil.libre.repwifiapp.helpers.IEngine;
-import fil.libre.repwifiapp.helpers.NetworkManager;
-import fil.libre.repwifiapp.helpers.Utils;
-import fil.libre.repwifiapp.helpers.WpaCli;
-import fil.libre.repwifiapp.helpers.WpaSupplicant;
+import fil.libre.repwifiapp.network.NetworkManager;
public abstract class Commons {
- private static Context currentContext;
-
- public static Context getContext() {
- return currentContext;
- }
-
// ------------- Environment Constants -----------------
public static final int EXCOD_ROOT_DISABLED = 255;
public static final int EXCOD_ROOT_DENIED = 1;
public static final int WAIT_ON_USB_ATTACHED = 1500;
public static final int WAIT_FOR_GATEWAY = 4000;
+ public static final int WAIT_FOR_DHCPCD = 30;
public static final String BSSID_NOT_AVAILABLE = "[BSSID-NOT-AVAILABLE]";
public static final String v6p0 = "6.0";
// ---------------------------------------------
- // ------------- Shared Engines -----------------------
- public static IEngine connectionEngine = null;
- public static NetworkManager storage = null;
- // ----------------------------------------------------
-
- // ------------- Shared Resources ---------------------
- public static int colorThemeDark;
- public static int colorThemeLight;
- public static int colorBlack;
- public static String dns1Default = "";
- public static String dns2Default = "";
private static String APP_DATA_FOLDER;
- public static String msgNoSavedNetwork;
+ public static void init(Context context) {
+ APP_DATA_FOLDER = context.getExternalFilesDir(null).getAbsolutePath();
+ NetworkManager.init(getNetworkStorageFile());
+ }
public static String getNetworkStorageFile() {
if (APP_DATA_FOLDER == null) {
@@ -86,249 +48,14 @@ public abstract class Commons {
return APP_DATA_FOLDER + "/repwifi_storage.conf";
}
}
-
- @SuppressLint("SimpleDateFormat")
- public static String getLogDumpFile() {
- File f = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
- if (f == null || !f.exists()) {
- return null;
- }
-
- String basefolder;
- try {
- basefolder = f.getCanonicalPath();
- } catch (Exception e) {
- Utils.logError("Exception while resolving canonical path for log dump file.", e);
+ public static String getExitCodeTempFile() {
+ if (APP_DATA_FOLDER == null) {
return null;
- }
-
- DateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmss", Locale.getDefault());
- String ts = dateFormat.format(Calendar.getInstance().getTime());
- return basefolder + "/repwifi_log_dump." + ts + ".log";
- }
-
- // --------------------------------------------------------
-
- private static final int NOTIFICATION_ID = 1;
-
- public static void updateNotification(Context context) {
-
- ConnectionStatus status = WpaCli.getConnectionStatus();
-
- Notification.Builder builder = new Notification.Builder(context);
-
- Intent intent = new Intent(context, MainActivity.class);
- PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
- builder.setContentIntent(pendingIntent);
-
- int iconId = R.drawable.ic_stat_discon;
- String msg = "RepWifi";
- if (status != null) {
- if (status.isConnected()) {
- iconId = R.drawable.ic_stat_repwifi;
- msg += " - " + status.SSID;
- } else {
- msg += " - " + status.status;
- }
-
- }
-
- builder.setSmallIcon(iconId);
-
- builder.setContentTitle(msg);
- builder.setContentText(currentContext.getString(R.string.msg_touch_open));
-
- Notification n = builder.build();
- n.flags |= Notification.FLAG_NO_CLEAR;
-
- NotificationManager notificationManager = (NotificationManager) context
- .getSystemService(Service.NOTIFICATION_SERVICE);
- notificationManager.notify(NOTIFICATION_ID, n);
-
- }
-
- public static void showMessage(String msg) {
- showMessage(msg, currentContext);
- }
-
- public static void showMessage(String msg, Context context) {
-
- AlertDialog.Builder dlgAlert = new AlertDialog.Builder(context,
- R.style.Theme_RepWifiDialogTheme);
- dlgAlert.setMessage(msg);
- dlgAlert.setPositiveButton(currentContext.getString(android.R.string.ok),
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int whichButton) {
- return;
- }
- });
-
- dlgAlert.setCancelable(false);
- AlertDialog diag = dlgAlert.create();
-
- diag.show();
-
- }
-
- public static void resetSettingsDefault(Context context, boolean silent) {
-
- if (silent) {
- Editor e = getSettings().edit();
- e.clear();
- e.commit();
- } else {
-
- String msg = context.getString(R.string.confirm_reset_settings);
- AlertDialog.Builder dlgAlert = new AlertDialog.Builder(context,
- R.style.Theme_RepWifiDialogTheme);
- dlgAlert.setMessage(msg);
- dlgAlert.setPositiveButton(context.getString(android.R.string.ok),
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int whichButton) {
- resetSettingsDefault(null, true);
- return;
- }
- });
- dlgAlert.setNegativeButton(context.getString(android.R.string.cancel),
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int whichButton) {
- return;
- }
- });
-
- dlgAlert.setCancelable(false);
- AlertDialog diag = dlgAlert.create();
-
- diag.show();
-
- return;
- }
-
- }
-
- public static void killBackEnd(Context context, boolean silent) {
-
- if (silent) {
-
- Engine.killDhcpcd();
- WpaSupplicant.kill();
-
} else {
-
- String msg = context.getString(R.string.confirm_kill_backend);
- AlertDialog.Builder dlgAlert = new AlertDialog.Builder(context,
- R.style.Theme_RepWifiDialogTheme);
- dlgAlert.setMessage(msg);
- dlgAlert.setPositiveButton(context.getString(android.R.string.ok),
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int whichButton) {
- killBackEnd(null, true);
- return;
- }
- });
- dlgAlert.setNegativeButton(context.getString(android.R.string.cancel),
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int whichButton) {
- return;
- }
- });
-
- dlgAlert.setCancelable(false);
- AlertDialog diag = dlgAlert.create();
-
- diag.show();
- return;
-
- }
-
- }
-
- public static int getLogPriority() {
-
- SharedPreferences sets = getSettings();
- return Integer.parseInt(sets.getString("debug_priority", "3"));
-
- }
-
- public static boolean isProgbarEnabled() {
- return getSettings().getBoolean("enable_progbar", true);
- }
-
- public static boolean isAutoConnectEnabled() {
- return getSettings().getBoolean("enable_autoconnect", false);
- }
-
- public static String[] getDnss() {
-
- String dns1 = getSettings().getString("dns1", dns1Default);
- String dns2 = getSettings().getString("dns2", dns2Default);
-
- if (dns1 == null || dns1.isEmpty()) {
- return null;
- }
-
- return new String[] { dns1, dns2 };
-
- }
-
- public static SharedPreferences getSettings() {
-
- return PreferenceManager.getDefaultSharedPreferences(currentContext);
-
- }
-
- // ----------------------------------------------------
-
- // ----------- Initialization methods ---------------------------
- public static boolean init(Context context) {
-
- currentContext = context;
-
- try {
-
- colorThemeDark = currentContext.getResources().getColor(R.color.ThemeDark);
- colorThemeLight = currentContext.getResources().getColor(R.color.ThemeLight);
- msgNoSavedNetwork = currentContext.getResources().getString(
- R.string.msg_no_saved_network);
- colorBlack = currentContext.getResources().getColor(R.color.black);
- APP_DATA_FOLDER = currentContext.getExternalFilesDir(null).getAbsolutePath();
- dns1Default = currentContext.getResources().getString(R.string.dns1_default);
- dns2Default = currentContext.getResources().getString(R.string.dns2_default);
-
- initEngine();
- initNetworkStorage();
-
- return true;
-
- } catch (Exception e) {
- Utils.logError("Error initializing common resources.", e);
- return false;
+ return APP_DATA_FOLDER + "/tmp_excode";
}
}
- private static void initEngine() throws Exception {
-
- connectionEngine = new Engine6p0();
-
- String vers = android.os.Build.VERSION.RELEASE;
-
- if (!vers.startsWith(Commons.v6p0)) {
- showMessage(currentContext.getString(R.string.msg_os_unsupported));
- }
-
- }
-
- private static void initNetworkStorage() throws Exception {
-
- Commons.storage = new NetworkManager(getNetworkStorageFile());
-
- }
- // --------------------------------------------------------------
-
+
}