Преглед изворни кода

1.修改Android Apex Drivers ActionBar样式。

Pen Li пре 7 година
родитељ
комит
db14544223

+ 28 - 15
ApexDrivers/app/src/main/java/com/usai/redant/apexdrivers/MainActivity.java

@@ -6,6 +6,7 @@ import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.ServiceConnection;
+import android.graphics.drawable.Drawable;
 import android.location.Location;
 import android.net.Uri;
 import android.os.Build;
@@ -16,6 +17,7 @@ import android.provider.Settings;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentTransaction;
+import android.support.v4.content.ContextCompat;
 import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 import android.view.Menu;
@@ -116,9 +118,11 @@ public class MainActivity extends AppCompatActivity implements LoginFragment.Log
 
         android.support.v7.app.ActionBar actionBar = getSupportActionBar();
         if(actionBar != null){
-            actionBar.setElevation(0);
+            actionBar.setElevation(0); // 5.0以上隐藏分割线
+            actionBar.setHomeAsUpIndicator(R.drawable.apexlogo_large);
+            actionBar.setDisplayHomeAsUpEnabled(true);
         }
-
+        setTitle(null);
 
         initView();
 
@@ -165,11 +169,15 @@ public class MainActivity extends AppCompatActivity implements LoginFragment.Log
             HomeFragment homeFragment = new HomeFragment();
             transaction.add(R.id.root_container, homeFragment,FragmentTag);
 
+            setTitle(ApexDriverApplication.sharedApplication().user);
+
         } else {
 
             LoginFragment loginFragment = new LoginFragment();
             loginFragment.setCallBack(this);
             transaction.add(R.id.root_container, loginFragment,FragmentTag);
+
+            setTitle("Login");
         }
         transaction.commit();
 
@@ -189,6 +197,24 @@ public class MainActivity extends AppCompatActivity implements LoginFragment.Log
         transaction.commit();
 
         invalidateOptionsMenu();
+
+        setTitle(ApexDriverApplication.sharedApplication().user);
+    }
+
+    private void showLogin() {
+
+        FragmentManager manager = getSupportFragmentManager();
+        FragmentTransaction transaction = manager.beginTransaction();
+
+        LoginFragment loginFragment = new LoginFragment();
+        loginFragment.setCallBack(this);
+        transaction.replace(R.id.root_container, loginFragment,FragmentTag);
+
+        transaction.commit();
+
+        invalidateOptionsMenu();
+
+        setTitle("Login");
     }
 
     @Override
@@ -281,17 +307,4 @@ public class MainActivity extends AppCompatActivity implements LoginFragment.Log
         }).start();
     }
 
-    private void showLogin() {
-
-        FragmentManager manager = getSupportFragmentManager();
-        FragmentTransaction transaction = manager.beginTransaction();
-
-        LoginFragment loginFragment = new LoginFragment();
-        loginFragment.setCallBack(this);
-        transaction.replace(R.id.root_container, loginFragment,FragmentTag);
-
-        transaction.commit();
-
-        invalidateOptionsMenu();
-    }
 }

+ 2 - 0
ApexDrivers/app/src/main/java/com/usai/redant/apexdrivers/home/HomeFragment.java

@@ -464,12 +464,14 @@ public class HomeFragment extends Fragment implements HomeHeaderView.HomeHeaderD
                         int new_count = json.optInt("new_count");
                         int processing_count = json.optInt("processing_count");
                         int finish_count = json.optInt("finish_count");
+                        int message_count = json.optInt("message_count");
 
                         if (fragment.mHeaderView != null) {
                             fragment.mHeaderView.setAvailable(driver_available);
                             fragment.mHeaderView.setNewCount(new_count);
                             fragment.mHeaderView.setProcessingCount(processing_count);
                             fragment.mHeaderView.setFinishCount(finish_count);
+                            fragment.mHeaderView.setExistNewMessage(message_count > 0);
                         }
                     }
                 }

+ 3 - 2
ApexDrivers/app/src/main/java/com/usai/redant/apexdrivers/network/Network.java

@@ -32,7 +32,7 @@ public class Network extends com.usai.redant.rautils.utils.Network {
     public static final String URL_REPORT_LOCATION = URL_HOST + "/j/mobile/uploadDriverLocation.mo/";
     public static final String URL_RETRIVED_PASSWORD = URL_HOST + "/j/mobile/resetPassword.mo/";
     public static final String URL_DRIVER_AVAILABLE = URL_HOST + "/j/mobile/updateDriverAvailable.mo/";
-    public static final String URL_CHANGE_PASSWORD = URL_HOST + "/j/mobile/updateDriverAvailable.mo/";
+    public static final String URL_CHANGE_PASSWORD = URL_HOST + "/j/mobile/changePassword.mo/";
     public static final String URL_MESSAGE_LIST = URL_HOST + "/j/mobile/moreDriverMessages.mo/";
 
     private static void prepareParams(Bundle params) {
@@ -261,7 +261,8 @@ public class Network extends com.usai.redant.rautils.utils.Network {
     public static JSONObject updateDriverAvailable(boolean available) {
 
         Bundle params = new Bundle();
-        params.putBoolean("available",available);
+        int a = available ? 1 : 0;
+        params.putInt("available",a);
 
         prepareParams(params);
         String jsonStr = getJson(URL_DRIVER_AVAILABLE,params);

+ 4 - 1
ApexDrivers/app/src/main/java/com/usai/redant/apexdrivers/setting/changepassword/ChangePasswordDialog.java

@@ -110,10 +110,13 @@ public class ChangePasswordDialog extends Dialog {
 
         showProgressDialog();
 
+        final String encryptOldPass = ApexDriverApplication.sharedApplication().encryptString(oldPass);
+        final String encryptNewPass = ApexDriverApplication.sharedApplication().encryptString(newPass);
+
         ApexDriverApplication.sharedApplication().getNetworkQueue().addOperationTask(new OperationQueue.OperationBackgroundCallBack() {
             @Override
             public Object operationDoInBackground() {
-                return Network.changePassword(oldPass,newPass);
+                return Network.changePassword(encryptOldPass,encryptNewPass);
             }
         }, new OperationQueue.OperationCompletionCallBack() {
             @Override

BIN
ApexDrivers/app/src/main/res/drawable-hdpi/apexlogo_large.png


BIN
ApexDrivers/app/src/main/res/drawable-ldpi/apexlogo_large.png


BIN
ApexDrivers/app/src/main/res/drawable-mdpi/apexlogo_large.png


BIN
ApexDrivers/app/src/main/res/drawable-xhdpi/apexlogo_large.png


BIN
ApexDrivers/app/src/main/res/drawable-xxhdpi/apexlogo_large.png


+ 39 - 3
ApexDrivers/app/src/main/res/values/styles.xml

@@ -23,19 +23,52 @@
 
     <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
 
-    <style name="ApexDriverTheme" parent="Theme.AppCompat.Light">
+    <!--App 样式-->
+
+    <style name="ApexDriverTheme" parent="Theme.AppCompat.Light.DarkActionBar">
 
         <item name="colorPrimary">@color/ApexDriverOrange</item> <!--Action Bar-->
 
         <item name="colorPrimaryDark">@color/ApexDriverOrange</item> <!--Status Bar-->
 
-        <!--<item name="android:textColorPrimary">@color/ApexDriverWhite</item> &lt;!&ndash;Title Color&ndash;&gt;-->
+        <!--Title Color 包括Dialog字体颜色-->
+        <!--<item name="android:textColorPrimary">@color/ApexDriverWhite</item>-->
+
+        <!--ActionBar-->
+        <item name="android:actionBarStyle">@style/MyActionBar</item>
+        <item name="actionBarStyle">@style/MyActionBar</item>
+        <!--Menu Item 颜色-->
+        <item name="actionMenuTextColor">@color/ApexDriverWhite</item>
+
+        <!--返回键(不起作用),直接设置parent DarkActionBar-->
+        <!--<item name="colorControlNormal">@color/ApexDriverWhite</item>-->
+
+
 
         <!--Action Bar Bottom黑色分割线,android5.0使用代码actionBar.setElevation(0)去除-->
         <item name="android:windowContentOverlay">@null</item>
 
     </style>
 
+    <style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
+        <item name="android:background">@color/ApexDriverOrange</item>
+        <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
+        <item name="android:backgroundStacked">@color/ApexDriverOrange</item>
+
+        <!-- Support library compatibility -->
+        <item name="background">@color/ApexDriverOrange</item>
+        <item name="titleTextStyle">@style/MyActionBarTitleText</item>
+        <item name="backgroundStacked">@color/ApexDriverOrange</item>
+    </style>
+
+    <style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
+        <item name="android:textColor">@color/ApexDriverWhite</item>
+    </style>
+
+
+
+    <!--Dialog 样式-->
+
     <style name="changePasswordDialog" parent="@android:style/Theme.Dialog">
 
         <!-- 背景透明 -->
@@ -54,7 +87,10 @@
         <!-- Dialog进入及退出动画 -->
         <item name="android:windowAnimationStyle">@style/DialogAnimation</item>
     </style>
-    <!-- ActionSheet进出动画 -->
+
+
+
+    <!-- Dialog进出动画 -->
     <style name="DialogAnimation" parent="@android:style/Animation.Dialog">
         <item name="android:windowEnterAnimation">@anim/dialog_in</item>
         <item name="android:windowExitAnimation">@anim/dialog_out</item>