92 lines
3.2 KiB
Java
92 lines
3.2 KiB
Java
package im.ricochet.androidod;
|
|
|
|
import android.content.SharedPreferences;
|
|
import android.os.StrictMode;
|
|
import android.support.v7.app.AppCompatActivity;
|
|
import android.os.Bundle;
|
|
import android.util.Log;
|
|
import android.view.View;
|
|
import android.widget.ProgressBar;
|
|
import android.widget.TextView;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.InputStreamReader;
|
|
import java.io.PrintWriter;
|
|
import java.net.Socket;
|
|
|
|
import goRicochetMobile.GoRicochetMobile;
|
|
|
|
public class ConnectActivity extends AppCompatActivity {
|
|
|
|
public static final String PREFERNCE_FILE = "im.ricochet.PREFERENCE_FILE";
|
|
private static final String TAG = "InitActivity";
|
|
private static final String PRIVATE_KEY_KEY = "privateKey";
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
setContentView(im.ricochet.androidod.R.layout.activity_connect);
|
|
|
|
TextView progressText = (TextView)findViewById(im.ricochet.androidod.R.id.progressTextView);
|
|
progressText.setText("Loading private key...");
|
|
|
|
Log.i(TAG, "Loading private key...");
|
|
SharedPreferences prefs = getSharedPreferences(PREFERNCE_FILE, MODE_PRIVATE);
|
|
String privateKey = prefs.getString(PRIVATE_KEY_KEY, "");
|
|
Log.i(TAG, "Loaded! '" + privateKey + "'");
|
|
if (privateKey.equals("")) {
|
|
Log.i(TAG, "Failed to load private key from preferences, generating new");
|
|
progressText.setText("Generating private key...");
|
|
try {
|
|
privateKey = GoRicochetMobile.generatePrivateKey();
|
|
} catch (Exception e) {
|
|
Log.e(TAG, e.toString());
|
|
}
|
|
Log.i(TAG, "Generated!: '" + privateKey + "'");
|
|
SharedPreferences.Editor prefsEditor = prefs.edit();
|
|
prefsEditor.putString(PRIVATE_KEY_KEY, privateKey);
|
|
prefsEditor.commit();
|
|
}
|
|
Log.i(TAG, "Ready!");
|
|
progressText.setText("Ready!");
|
|
ProgressBar progressBar = (ProgressBar)findViewById(im.ricochet.androidod.R.id.progressBar);
|
|
progressBar.setVisibility(View.GONE);
|
|
|
|
Log.i(TAG, "Setting thread policy perms");
|
|
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
|
|
StrictMode.setThreadPolicy(policy);
|
|
|
|
Log.i(TAG, "Attempting manual java connection to tor control");
|
|
try {
|
|
Socket socket = new Socket("127.0.0.1", 9051);
|
|
PrintWriter out =
|
|
new PrintWriter(socket.getOutputStream(), true);
|
|
BufferedReader in =
|
|
new BufferedReader(
|
|
new InputStreamReader(socket.getInputStream()));
|
|
out.write("hello");
|
|
//String result = in.readLine();
|
|
Log.i(TAG, "wrote");
|
|
//in.close();
|
|
socket.close();
|
|
} catch (Exception e) {
|
|
Log.e(TAG, e.toString());
|
|
Log.e(TAG, Log.getStackTraceString(e));
|
|
}
|
|
|
|
|
|
Log.i(TAG, "Go Net Test...");
|
|
try {
|
|
boolean ok = GoRicochetMobile.testNet();
|
|
Log.i(TAG, "NetTest: " + ok);
|
|
} catch(Exception e) {
|
|
|
|
}
|
|
|
|
Log.i(TAG, "Starting Echo Bot");
|
|
GoRicochetMobile.echoBot(privateKey);
|
|
|
|
|
|
}
|
|
}
|