Added some quick & dirty activity to show addresses and the network state
This commit is contained in:
parent
abd25f4010
commit
2d2916f498
@ -1,7 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
package="ch.dissem.apps.abit"
|
||||||
package="ch.dissem.apps.abit">
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
@ -87,7 +88,6 @@
|
|||||||
<category android:name="android.intent.category.DEFAULT"/>
|
<category android:name="android.intent.category.DEFAULT"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".OpenBitmessageLinkActivity"
|
android:name=".OpenBitmessageLinkActivity"
|
||||||
android:label="@string/title_activity_open_bitmessage_link"
|
android:label="@string/title_activity_open_bitmessage_link"
|
||||||
@ -103,6 +103,7 @@
|
|||||||
<category android:name="android.intent.category.BROWSABLE"/>
|
<category android:name="android.intent.category.BROWSABLE"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<service android:name=".service.BitmessageService"/>
|
<service android:name=".service.BitmessageService"/>
|
||||||
<service android:name=".service.ProofOfWorkService"/>
|
<service android:name=".service.ProofOfWorkService"/>
|
||||||
|
|
||||||
@ -112,10 +113,12 @@
|
|||||||
android:authorities="ch.dissem.apps.abit.provider"
|
android:authorities="ch.dissem.apps.abit.provider"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:syncable="true"/>
|
android:syncable="true"/>
|
||||||
|
|
||||||
<service android:name=".synchronization.AuthenticatorService">
|
<service android:name=".synchronization.AuthenticatorService">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.accounts.AccountAuthenticator"/>
|
<action android:name="android.accounts.AccountAuthenticator"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.accounts.AccountAuthenticator"
|
android:name="android.accounts.AccountAuthenticator"
|
||||||
android:resource="@xml/authenticator"/>
|
android:resource="@xml/authenticator"/>
|
||||||
@ -126,7 +129,9 @@
|
|||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.content.SyncAdapter"/>
|
<action android:name="android.content.SyncAdapter"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<meta-data android:name="android.content.SyncAdapter"
|
|
||||||
|
<meta-data
|
||||||
|
android:name="android.content.SyncAdapter"
|
||||||
android:resource="@xml/syncadapter"/>
|
android:resource="@xml/syncadapter"/>
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
@ -136,6 +141,15 @@
|
|||||||
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
|
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name=".StatusActivity"
|
||||||
|
android:label="@string/title_activity_status"
|
||||||
|
android:parentActivityName=".SettingsActivity">
|
||||||
|
<meta-data
|
||||||
|
android:name="android.support.PARENT_ACTIVITY"
|
||||||
|
android:value=".SettingsActivity"/>
|
||||||
|
</activity>
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package ch.dissem.apps.abit;
|
package ch.dissem.apps.abit;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
@ -42,6 +43,15 @@ public class SettingsFragment
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Preference status = findPreference("status");
|
||||||
|
status.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
startActivity(new Intent(getActivity(), StatusActivity.class));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
36
app/src/main/java/ch/dissem/apps/abit/StatusActivity.java
Normal file
36
app/src/main/java/ch/dissem/apps/abit/StatusActivity.java
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
package ch.dissem.apps.abit;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.support.v7.app.AppCompatActivity;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import ch.dissem.apps.abit.service.Singleton;
|
||||||
|
import ch.dissem.bitmessage.BitmessageContext;
|
||||||
|
import ch.dissem.bitmessage.entity.BitmessageAddress;
|
||||||
|
|
||||||
|
public class StatusActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_status);
|
||||||
|
|
||||||
|
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
getSupportActionBar().setHomeButtonEnabled(false);
|
||||||
|
|
||||||
|
BitmessageContext bmc = Singleton.getBitmessageContext(this);
|
||||||
|
StringBuilder status = new StringBuilder();
|
||||||
|
for (BitmessageAddress address : bmc.addresses().getIdentities()) {
|
||||||
|
status.append(address.getAddress()).append('\n');
|
||||||
|
}
|
||||||
|
status.append('\n');
|
||||||
|
status.append(bmc.status());
|
||||||
|
((TextView) findViewById(R.id.content)).setText(status);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -17,6 +17,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
|
|
||||||
|
import ch.dissem.apps.abit.R;
|
||||||
import ch.dissem.apps.abit.notification.NetworkNotification;
|
import ch.dissem.apps.abit.notification.NetworkNotification;
|
||||||
import ch.dissem.bitmessage.BitmessageContext;
|
import ch.dissem.bitmessage.BitmessageContext;
|
||||||
import ch.dissem.bitmessage.entity.BitmessageAddress;
|
import ch.dissem.bitmessage.entity.BitmessageAddress;
|
||||||
@ -101,6 +102,8 @@ public class BitmessageService extends Service {
|
|||||||
switch (msg.what) {
|
switch (msg.what) {
|
||||||
case MSG_CREATE_IDENTITY: {
|
case MSG_CREATE_IDENTITY: {
|
||||||
BitmessageAddress identity = bmc.createIdentity(false);
|
BitmessageAddress identity = bmc.createIdentity(false);
|
||||||
|
identity.setAlias(service.get().getString(R.string.alias_default_identity));
|
||||||
|
bmc.addresses().save(identity);
|
||||||
if (msg.replyTo != null) {
|
if (msg.replyTo != null) {
|
||||||
try {
|
try {
|
||||||
Message message = Message.obtain(this, MSG_CREATE_IDENTITY);
|
Message message = Message.obtain(this, MSG_CREATE_IDENTITY);
|
||||||
|
40
app/src/main/res/layout/activity_status.xml
Normal file
40
app/src/main/res/layout/activity_status.xml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<android.support.design.widget.CoordinatorLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:fitsSystemWindows="true"
|
||||||
|
tools:context="ch.dissem.apps.abit.StatusActivity">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/content"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:fontFamily="monospace"
|
||||||
|
android:padding="16dp"
|
||||||
|
android:text=""
|
||||||
|
android:textIsSelectable="true"
|
||||||
|
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||||
|
</TextView>
|
||||||
|
|
||||||
|
<android.support.design.widget.AppBarLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<android.support.v7.widget.Toolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
android:background="?attr/colorPrimary"
|
||||||
|
android:elevation="4dp"
|
||||||
|
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
|
||||||
|
android:title="@string/status"
|
||||||
|
app:title="@string/status"
|
||||||
|
app:layout_scrollFlags="scroll|enterAlways"
|
||||||
|
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
|
||||||
|
|
||||||
|
</android.support.design.widget.AppBarLayout>
|
||||||
|
|
||||||
|
</android.support.design.widget.CoordinatorLayout>
|
@ -52,4 +52,8 @@
|
|||||||
<string name="server_pow">Server POW</string>
|
<string name="server_pow">Server POW</string>
|
||||||
<string name="server_pow_summary">Der vertrauenswürdige Knoten macht den Proof of Work</string>
|
<string name="server_pow_summary">Der vertrauenswürdige Knoten macht den Proof of Work</string>
|
||||||
<string name="full_node_warning">Ein aktiver Bitmessage-Knoten muss viel hoch- und herunterladen, was auf einem mobilen Netzwerk teuer sein kann. Soll tatsächlich ein aktiver Knoten gestartet werden?</string>
|
<string name="full_node_warning">Ein aktiver Bitmessage-Knoten muss viel hoch- und herunterladen, was auf einem mobilen Netzwerk teuer sein kann. Soll tatsächlich ein aktiver Knoten gestartet werden?</string>
|
||||||
|
<string name="status">Debugging</string>
|
||||||
|
<string name="alias_default_identity">Ich</string>
|
||||||
|
<string name="title_activity_status">Debugging</string>
|
||||||
|
<string name="status_summary">Technische Infos</string>
|
||||||
</resources>
|
</resources>
|
@ -55,4 +55,8 @@
|
|||||||
<string name="full_node_warning">Running a full Bitmessage node uses a lot of traffic, which could be expensive on a mobile network. Are you sure you want to start a full node?</string>
|
<string name="full_node_warning">Running a full Bitmessage node uses a lot of traffic, which could be expensive on a mobile network. Are you sure you want to start a full node?</string>
|
||||||
<string name="about">About Abit</string>
|
<string name="about">About Abit</string>
|
||||||
<string name="about_summary">Open source dependencies.</string>
|
<string name="about_summary">Open source dependencies.</string>
|
||||||
|
<string name="title_activity_status">Debugging</string>
|
||||||
|
<string name="status">Debugging</string>
|
||||||
|
<string name="status_summary">Technical information</string>
|
||||||
|
<string name="alias_default_identity">Me</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -36,4 +36,9 @@
|
|||||||
android:title="@string/about"
|
android:title="@string/about"
|
||||||
android:summary="@string/about_summary"
|
android:summary="@string/about_summary"
|
||||||
/>
|
/>
|
||||||
|
<Preference
|
||||||
|
android:key="status"
|
||||||
|
android:title="@string/status"
|
||||||
|
android:summary="@string/status_summary"
|
||||||
|
/>
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
Loading…
Reference in New Issue
Block a user