Browse Source

setting the username on the drawer header for startup and coming back from the preferences screen for account switching

AndyScherzinger 10 năm trước cách đây
mục cha
commit
bfea14e876

+ 2 - 2
res/layout/drawer.xml

@@ -67,12 +67,12 @@
             android:paddingTop="100dp" />
 
         <TextView
-            android:id="@+id/tv_header"
+            android:id="@+id/drawer_username"
             android:layout_width="fill_parent"
             android:layout_height="100dp"
             android:layout_alignParentTop="true"
             android:layout_centerHorizontal="true"
-            android:background="@color/owncloud_blue"
+            android:background="@color/owncloud_blue_accent"
             android:gravity="bottom"
             android:orientation="vertical"
             android:text="@string/app_name"

+ 9 - 0
src/com/owncloud/android/ui/activity/FileActivity.java

@@ -47,6 +47,7 @@ import android.view.View;
 import android.widget.AdapterView;
 import android.widget.ListView;
 import android.widget.RelativeLayout;
+import android.widget.TextView;
 import android.widget.Toast;
 
 import com.owncloud.android.BuildConfig;
@@ -346,6 +347,14 @@ public class FileActivity extends AppCompatActivity
 //            username.setText(account.name.substring(0, lastAtPos));
 //        }
 
+        // Display username in drawer
+        Account account = AccountUtils.getCurrentOwnCloudAccount(getApplicationContext());
+        if (account != null) {
+            TextView username = (TextView) navigationDrawerLayout.findViewById(R.id.drawer_username);
+            int lastAtPos = account.name.lastIndexOf("@");
+            username.setText(account.name.substring(0, lastAtPos));
+        }
+
         // load slide menu items
         mDrawerTitles = getResources().getStringArray(R.array.drawer_items);
 

+ 12 - 1
src/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@ -54,6 +54,8 @@ import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.widget.ProgressBar;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
 import android.widget.Toast;
 
 import com.owncloud.android.MainApp;
@@ -259,7 +261,16 @@ public class FileDisplayActivity extends HookActivity
                 file = getStorageManager().getFileByPath(OCFile.ROOT_PATH);  // never returns null
             }
             setFile(file);
-            
+
+            if (mAccountWasSet) {
+                RelativeLayout navigationDrawerLayout = (RelativeLayout) findViewById(R.id.left_drawer);
+                if (navigationDrawerLayout != null && getAccount() != null) {
+                    TextView username = (TextView) navigationDrawerLayout.findViewById(R.id.drawer_username);
+                    int lastAtPos = getAccount().name.lastIndexOf("@");
+                    username.setText(getAccount().name.substring(0, lastAtPos));
+                }
+            }
+
             if (!stateWasRecovered) {
                 Log_OC.d(TAG, "Initializing Fragments in onAccountChanged..");
                 initFragmentsWithFile();