I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit 5b9203f7 authored by str4d's avatar str4d
Browse files

File framework for I2PTunnel interface

Broken: cannot find net.i2p.i2ptunnel.I2PTunnel
(but it can when launching the router)
parent 9757d6e3
No related branches found
No related tags found
No related merge requests found
...@@ -65,6 +65,10 @@ ...@@ -65,6 +65,10 @@
<meta-data android:name="android.app.searchable" <meta-data android:name="android.app.searchable"
android:resource="@xml/searchable_addressbook"/> android:resource="@xml/searchable_addressbook"/>
</activity> </activity>
<activity android:name=".activity.I2PTunnelActivity"
android:label="I2PTunnel"
android:launchMode="singleTop" >
</activity>
<activity android:name=".activity.LogActivity" <activity android:name=".activity.LogActivity"
android:label="I2P Logs" android:label="I2P Logs"
android:parentActivityName=".activity.MainActivity" > android:parentActivityName=".activity.MainActivity" >
......
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="6dp"
android:textSize="16sp" >
</TextView>
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:i2pandroid="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_add_tunnel"
android:title="@string/action_add"
android:icon="@drawable/ic_content_new"
i2pandroid:showAsAction="ifRoom" />
</menu>
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<string-array name="navdrawer_activity_titles"> <string-array name="navdrawer_activity_titles">
<item>@string/label_home</item> <item>@string/label_home</item>
<item>@string/label_addressbook</item> <item>@string/label_addressbook</item>
<item>@string/label_i2ptunnel</item>
<item>@string/label_logs</item> <item>@string/label_logs</item>
<item>@string/label_error_logs</item> <item>@string/label_error_logs</item>
<item>@string/label_licenses</item> <item>@string/label_licenses</item>
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
<string name="label_main_controls">Main Controls</string> <string name="label_main_controls">Main Controls</string>
<string name="label_tools">I2P Tools</string> <string name="label_tools">I2P Tools</string>
<string name="label_addressbook">Addressbook</string> <string name="label_addressbook">Addressbook</string>
<string name="label_i2ptunnel">I2PTunnel</string>
<string name="label_logs">Logs</string> <string name="label_logs">Logs</string>
<string name="label_error_logs">Error Logs</string> <string name="label_error_logs">Error Logs</string>
<string name="label_info_and_pages">Information and pages</string> <string name="label_info_and_pages">Information and pages</string>
...@@ -69,4 +70,5 @@ ...@@ -69,4 +70,5 @@
<string name="settings_label_expl_backupQuantity">Backup quantity</string> <string name="settings_label_expl_backupQuantity">Backup quantity</string>
<string name="settings_desc_expl_backupQuantity">How many tunnel backups</string> <string name="settings_desc_expl_backupQuantity">How many tunnel backups</string>
<string name="i2ptunnel_not_initialized">Tunnels are not initialized yet, please reload in two minutes.</string>
</resources> </resources>
\ No newline at end of file
...@@ -103,15 +103,19 @@ public class I2PActivityBase extends ActionBarActivity { ...@@ -103,15 +103,19 @@ public class I2PActivityBase extends ActionBarActivity {
startActivity(ab); startActivity(ab);
break; break;
case 2: case 2:
Intent itb = new Intent(I2PActivityBase.this, I2PTunnelActivity.class);
startActivity(itb);
break;
case 3:
Intent log = new Intent(I2PActivityBase.this, LogActivity.class); Intent log = new Intent(I2PActivityBase.this, LogActivity.class);
startActivity(log); startActivity(log);
break; break;
case 3: case 4:
Intent err = new Intent(I2PActivityBase.this, LogActivity.class); Intent err = new Intent(I2PActivityBase.this, LogActivity.class);
err.putExtra(LogActivity.ERRORS_ONLY, true); err.putExtra(LogActivity.ERRORS_ONLY, true);
startActivity(err); startActivity(err);
break; break;
case 4: case 5:
Intent lic = new Intent(I2PActivityBase.this, LicenseActivity.class); Intent lic = new Intent(I2PActivityBase.this, LicenseActivity.class);
startActivity(lic); startActivity(lic);
break; break;
......
package net.i2p.android.router.activity;
import net.i2p.android.router.R;
import net.i2p.android.router.fragment.I2PTunnelFragment;
import android.os.Bundle;
public class I2PTunnelActivity extends I2PActivityBase {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Start with the base view
if (savedInstanceState == null) {
I2PTunnelFragment f = new I2PTunnelFragment();
f.setArguments(getIntent().getExtras());
getSupportFragmentManager().beginTransaction()
.add(R.id.main_content, f).commit();
}
}
}
package net.i2p.android.router.fragment;
import net.i2p.android.router.R;
import net.i2p.i2ptunnel.TunnelControllerGroup;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
public class I2PTunnelFragment extends ListFragment {
private TunnelControllerGroup mGroup;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
TunnelControllerGroup tcg;
String error;
try {
tcg = TunnelControllerGroup.getInstance();
error = tcg == null ? getResources().getString(R.string.i2ptunnel_not_initialized) : null;
} catch (IllegalArgumentException iae) {
tcg = null;
error = iae.toString();
}
if (tcg != null) {
mGroup = tcg;
setEmptyText("Win!");
} else {
setEmptyText(error);
}
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.fragment_i2ptunnel_actions, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_add_tunnel:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment