Network status in nav drawer
This commit is contained in:
@@ -18,21 +18,25 @@
|
||||
android:id="@+id/drawer_outer"
|
||||
android:layout_width="240dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start" >
|
||||
android:layout_gravity="start"
|
||||
android:background="#111" >
|
||||
|
||||
<ListView
|
||||
android:id="@+id/drawer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#111"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_above="@+id/fixed_actions"
|
||||
android:layout_alignParentTop="true"
|
||||
android:choiceMode="singleChoice"
|
||||
android:divider="@android:color/transparent"
|
||||
android:dividerHeight="0dp" />
|
||||
|
||||
<RelativeLayout
|
||||
<LinearLayout
|
||||
android:id="@+id/fixed_actions"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true" >
|
||||
android:layout_alignParentBottom="true"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/address_book"
|
||||
@@ -42,7 +46,16 @@
|
||||
android:text="@string/address_book"
|
||||
android:textAppearance="?android:attr/textAppearanceMediumInverse" />
|
||||
|
||||
</RelativeLayout>
|
||||
<TextView
|
||||
android:id="@+id/network_status"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableLeft="@android:drawable/presence_offline"
|
||||
android:padding="15dp"
|
||||
android:drawablePadding="10dp"
|
||||
android:text="@string/network_status"
|
||||
android:textAppearance="?android:attr/textAppearanceMediumInverse" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
</android.support.v4.widget.DrawerLayout>
|
||||
@@ -26,6 +26,13 @@
|
||||
<string name="folder_sent">Sent</string>
|
||||
<string name="folder_trash">Trash</string>
|
||||
<string name="address_book">Address book</string>
|
||||
<string name="network_status">Network status</string>
|
||||
|
||||
<string name="not_started">Not started</string>
|
||||
<string name="connect_delay">Waiting 3 minutes…</string>
|
||||
<string name="connecting">Connecting…</string>
|
||||
<string name="connected">Connected</string>
|
||||
<string name="error">Error</string>
|
||||
|
||||
<string name="folder_empty">Folder is empty</string>
|
||||
<string name="folder_does_not_exist">Folder does not exist</string>
|
||||
|
||||
@@ -12,6 +12,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.support.v4.app.ActionBarDrawerToggle;
|
||||
import android.support.v4.view.GravityCompat;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
@@ -38,6 +39,7 @@ public class EmailListActivity extends ActionBarActivity implements
|
||||
private RelativeLayout mDrawerOuter;
|
||||
private FolderListAdapter mFolderAdapter;
|
||||
private ListView mFolderList;
|
||||
private TextView mNetworkStatus;
|
||||
private ActionBarDrawerToggle mDrawerToggle;
|
||||
|
||||
private static final String SHARED_PREFS = "i2p.bote";
|
||||
@@ -60,6 +62,7 @@ public class EmailListActivity extends ActionBarActivity implements
|
||||
mDrawerOuter = (RelativeLayout) findViewById(R.id.drawer_outer);
|
||||
mFolderAdapter = new FolderListAdapter(this);
|
||||
mFolderList = (ListView) findViewById(R.id.drawer);
|
||||
mNetworkStatus = (TextView) findViewById(R.id.network_status);
|
||||
|
||||
// Set the list of folders
|
||||
// TODO: This is slow, needs a loader
|
||||
@@ -103,8 +106,36 @@ public class EmailListActivity extends ActionBarActivity implements
|
||||
|
||||
/** Called when the drawer motion state changes. */
|
||||
public void onDrawerStateChanged(int newState) {
|
||||
if (newState == DrawerLayout.STATE_DRAGGING)
|
||||
if (newState == DrawerLayout.STATE_DRAGGING) {
|
||||
wasDragged = true;
|
||||
|
||||
// Update network status
|
||||
Drawable statusIcon;
|
||||
switch (I2PBote.getInstance().getNetworkStatus()) {
|
||||
case DELAY:
|
||||
mNetworkStatus.setText(R.string.connect_delay);
|
||||
statusIcon = getResources().getDrawable(android.R.drawable.presence_away);
|
||||
break;
|
||||
case CONNECTING:
|
||||
mNetworkStatus.setText(R.string.connecting);
|
||||
statusIcon = getResources().getDrawable(android.R.drawable.presence_away);
|
||||
break;
|
||||
case CONNECTED:
|
||||
mNetworkStatus.setText(R.string.connected);
|
||||
statusIcon = getResources().getDrawable(android.R.drawable.presence_online);
|
||||
break;
|
||||
case ERROR:
|
||||
mNetworkStatus.setText(R.string.error);
|
||||
statusIcon = getResources().getDrawable(android.R.drawable.presence_busy);
|
||||
break;
|
||||
case NOT_STARTED:
|
||||
default:
|
||||
mNetworkStatus.setText(R.string.not_started);
|
||||
statusIcon = getResources().getDrawable(android.R.drawable.presence_offline);
|
||||
}
|
||||
mNetworkStatus.setCompoundDrawablesWithIntrinsicBounds(
|
||||
statusIcon, null, null, null);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -122,13 +153,17 @@ public class EmailListActivity extends ActionBarActivity implements
|
||||
}
|
||||
|
||||
// Set up fixed actions
|
||||
TextView addressBook = (TextView) findViewById(R.id.address_book);
|
||||
addressBook.setOnClickListener(new View.OnClickListener() {
|
||||
findViewById(R.id.address_book).setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View view) {
|
||||
Intent ai = new Intent(EmailListActivity.this, AddressBookActivity.class);
|
||||
startActivity(ai);
|
||||
}
|
||||
});
|
||||
mNetworkStatus.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View view) {
|
||||
// TODO: network status page
|
||||
}
|
||||
});
|
||||
|
||||
// Open nav drawer if the user has never opened it themselves
|
||||
if (!mSharedPrefs.getBoolean(PREF_NAV_DRAWER_OPENED, false))
|
||||
|
||||
Reference in New Issue
Block a user