Пример #1
0
 public Intent prepare() {
   Intent i = new Intent(Intent.ACTION_SEND_MULTIPLE);
   i.setType("text/plain");
   i.putExtra(Intent.EXTRA_EMAIL, new String[] {"*****@*****.**"});
   i.putExtra(
       Intent.EXTRA_SUBJECT,
       "android fqrouter error report for version " + LaunchService.getMyVersion(context));
   String error = createLogFiles();
   i.putExtra(Intent.EXTRA_TEXT, getErrorMailBody() + error);
   attachLogFiles(
       i,
       "manager.log",
       "fqsocks.log",
       "fqsocks.log.1",
       "logcat.log",
       "getprop.log",
       "iptables.log",
       "wifi.log",
       "wifi.log.1",
       "fqdns.log",
       "fqting.log",
       "fqlan.log",
       "scan.log",
       "current-java.log",
       "current-python.log");
   return i;
 }
Пример #2
0
 private String getErrorMailBody() {
   StringBuilder body = new StringBuilder();
   body.append("phone model: " + Build.MODEL + "\n");
   body.append("android version: " + Build.VERSION.RELEASE + "\n");
   body.append("kernel version: " + System.getProperty("os.version") + "\n");
   body.append("fqrouter version: " + LaunchService.getMyVersion(context) + "\n");
   return body.toString();
 }
Пример #3
0
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     PreferenceManager.setDefaultValues(this, R.xml.preferences, true);
     setTitle("fqrouter " + LaunchService.getMyVersion(this));
     setupUI();
     LaunchedIntent.register(this);
     UpdateFoundIntent.register(this);
     ExitedIntent.register(this);
     WifiRepeaterChangedIntent.register(this);
     PickAndPlayChangedIntent.register(this);
     FreeInternetChangedIntent.register(this);
     DownloadingIntent.register(this);
     DownloadedIntent.register(this);
     DownloadFailedIntent.register(this);
     HandleFatalErrorIntent.register(this);
     DnsPollutedIntent.register(this);
     HandleAlertIntent.register(this);
     ExitingIntent.register(this);
     blinkStatus(0);
     String apnName = getApnName();
     LogUtils.i("apn name: " + apnName);
     final File ignoredFile = new File("/data/data/fq.router2/etc/apn-alert-ignored");
     if (apnName != null && WAP_APN_LIST.contains(apnName.trim().toLowerCase()) && !ignoredFile.exists()) {
         new AlertDialog.Builder(MainActivity.this)
                 .setIcon(android.R.drawable.ic_dialog_alert)
                 .setTitle(R.string.wap_apn_alert_title)
                 .setMessage(String.format(_(R.string.wap_apn_alert_message), apnName))
                 .setPositiveButton(R.string.wap_apn_alert_change_now, new DialogInterface.OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialogInterface, int i) {
                         Intent intent = new Intent(Settings.ACTION_APN_SETTINGS);
                         startActivity(intent);
                         clearNotification();
                         MainActivity.this.finish();
                     }
                 })
                 .setNegativeButton(R.string.wap_apn_alert_ignore, new DialogInterface.OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialogInterface, int i) {
                         IOUtils.writeToFile(ignoredFile, "OK");
                         launch();
                     }
                 })
                 .show();
     } else {
         launch();
     }
 }