Prechádzať zdrojové kódy

Merge branch 'material_toolbar' of https://github.com/owncloud/android into material_buttons

Conflicts:
	res/layout-land/account_setup.xml
	res/layout/account_setup.xml
Andy Scherzinger 9 rokov pred
rodič
commit
7f13b98cc0
36 zmenil súbory, kde vykonal 328 pridanie a 79 odobranie
  1. 1 1
      AndroidManifest.xml
  2. BIN
      res/drawable-hdpi/common_error.png
  3. BIN
      res/drawable-hdpi/ic_lock.png
  4. BIN
      res/drawable-hdpi/ic_lock_open.png
  5. BIN
      res/drawable-hdpi/ic_ok.png
  6. BIN
      res/drawable-hdpi/logo.png
  7. BIN
      res/drawable-hdpi/no_network.png
  8. BIN
      res/drawable-xhdpi/common_error.png
  9. BIN
      res/drawable-xhdpi/ic_lock.png
  10. BIN
      res/drawable-xhdpi/ic_lock_open.png
  11. BIN
      res/drawable-xhdpi/ic_ok.png
  12. BIN
      res/drawable-xhdpi/no_network.png
  13. BIN
      res/drawable-xxhdpi/common_error.png
  14. BIN
      res/drawable-xxhdpi/ic_lock.png
  15. BIN
      res/drawable-xxhdpi/ic_lock_open.png
  16. BIN
      res/drawable-xxhdpi/ic_ok.png
  17. BIN
      res/drawable-xxhdpi/logo.png
  18. BIN
      res/drawable-xxhdpi/no_network.png
  19. BIN
      res/drawable-xxxhdpi/logo.png
  20. 11 0
      res/drawable/process_dialog_background.xml
  21. 14 15
      res/layout-land/account_setup.xml
  22. 15 12
      res/layout/account_setup.xml
  23. 10 0
      res/layout/alert_dialog_list_view.xml
  24. 3 3
      res/values-de-rDE/strings.xml
  25. 23 0
      res/values-v21/styles.xml
  26. 3 2
      res/values/colors.xml
  27. 2 2
      res/values/setup.xml
  28. 2 2
      res/values/strings.xml
  29. 8 0
      res/values/styles.xml
  30. 18 0
      src/com/owncloud/android/authentication/AuthenticatorActivity.java
  31. 45 35
      src/com/owncloud/android/ui/activity/Preferences.java
  32. 11 1
      src/com/owncloud/android/ui/activity/Uploader.java
  33. 146 0
      src/com/owncloud/android/ui/dialog/AccountActionsDialogFragment.java
  34. 2 2
      src/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java
  35. 14 3
      src/com/owncloud/android/ui/dialog/IndeterminateProgressDialog.java
  36. 0 1
      src/com/owncloud/android/ui/fragment/OCFileListFragment.java

+ 1 - 1
AndroidManifest.xml

@@ -133,7 +133,7 @@
         <activity
             android:name=".authentication.AuthenticatorActivity"
             android:exported="true"
-            android:theme="@style/Theme.ownCloud.noActionBar.Login"
+            android:theme="@style/Theme.ownCloud.noActionBar"
             android:launchMode="singleTask">
             <intent-filter>
                 <action android:name="android.intent.action.VIEW" />

BIN
res/drawable-hdpi/common_error.png


BIN
res/drawable-hdpi/ic_lock.png


BIN
res/drawable-hdpi/ic_lock_open.png


BIN
res/drawable-hdpi/ic_ok.png


BIN
res/drawable-hdpi/logo.png


BIN
res/drawable-hdpi/no_network.png


BIN
res/drawable-xhdpi/common_error.png


BIN
res/drawable-xhdpi/ic_lock.png


BIN
res/drawable-xhdpi/ic_lock_open.png


BIN
res/drawable-xhdpi/ic_ok.png


BIN
res/drawable-xhdpi/no_network.png


BIN
res/drawable-xxhdpi/common_error.png


BIN
res/drawable-xxhdpi/ic_lock.png


BIN
res/drawable-xxhdpi/ic_lock_open.png


BIN
res/drawable-xxhdpi/ic_ok.png


BIN
res/drawable-xxhdpi/logo.png


BIN
res/drawable-xxhdpi/no_network.png


BIN
res/drawable-xxxhdpi/logo.png


+ 11 - 0
res/drawable/process_dialog_background.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/white"/>
+    <padding
+        android:left="@dimen/standard_padding"
+        android:top="4dp"
+        android:right="@dimen/standard_padding"
+        android:bottom="4dp"/>
+    <corners
+        android:radius="2dp"/>
+</shape>

+ 14 - 15
res/layout-land/account_setup.xml

@@ -21,7 +21,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@color/login_background_color"
-	android:padding="@dimen/standard_padding"
+	android:padding="8dip"
     >
 
     <LinearLayout
@@ -56,11 +56,10 @@
 			    android:layout_height="wrap_content"
 			    android:gravity="center"
 			    android:orientation="vertical"
-			    android:padding="0dp" >
+			    android:padding="8dp" >
 			    
-				<android.support.v7.widget.AppCompatButton
+				<Button
 				    android:id="@+id/centeredRefreshButton"
-					android:theme="@style/Button"
 				    android:layout_width="wrap_content"
 				    android:layout_height="wrap_content"
 				    android:layout_gravity="center_horizontal"
@@ -94,7 +93,7 @@
 						android:inputType="textUri"
 						android:drawablePadding="5dp"
 						android:paddingRight="55dp"
-						android:textColor="@color/login_text_color"
+						android:textColor="@color/primary"
 						android:textColorHint="@color/login_text_hint_color"
 						android:contentDescription="@string/auth_host_address"
 						>
@@ -129,14 +128,14 @@
 					android:text="@string/auth_testing_connection"
                     android:contentDescription="@string/auth_testing_connection"/>
 		             
-				<android.support.v7.widget.AppCompatCheckBox
+				<CheckBox
 					android:id="@+id/oauth_onOff_check"
 					android:layout_width="wrap_content"
 					android:layout_height="wrap_content"
 					android:checked="false"
 					android:onClick="onCheckClick"
 					android:text="@string/oauth_check_onoff"
-					android:textColor="@color/login_text_color"
+					android:textColor="@color/primary"
 					android:textColorHint="@color/login_text_hint_color"
 					android:textAppearance="?android:attr/textAppearanceSmall"
                     android:contentDescription="@string/oauth_check_onoff"
@@ -151,7 +150,7 @@
 					android:text="@string/oauth2_url_endpoint_auth"
 					android:singleLine="true"
 					android:inputType="textUri"
-					android:textColor="@color/login_text_color"
+					android:textColor="@color/primary"
 					android:textColorHint="@color/login_text_hint_color"
 					android:visibility="gone">
 				</EditText>            
@@ -165,7 +164,7 @@
 					android:text="@string/oauth2_url_endpoint_access"
 					android:singleLine="true"
 					android:inputType="textUri"
-					android:textColor="@color/login_text_color"
+					android:textColor="@color/primary"
 					android:textColorHint="@color/login_text_hint_color"
 					android:visibility="gone">
 					<requestFocus />
@@ -178,7 +177,7 @@
 					android:ems="10"
 					android:hint="@string/auth_username"
 					android:inputType="textNoSuggestions"
-					android:textColor="@color/login_text_color"
+					android:textColor="@color/primary"
 					android:textColorHint="@color/login_text_hint_color"
 					android:contentDescription="@string/auth_username"
 					/>
@@ -191,9 +190,8 @@
 					android:hint="@string/auth_password"
 					android:inputType="textPassword"
 					android:drawablePadding="5dp"
-					android:textColor="@color/login_text_color"
+					android:textColor="@color/primary"
 					android:textColorHint="@color/login_text_hint_color"
-					android:contentDescription="@string/auth_password"
 					/>
 		        
 				<TextView
@@ -221,10 +219,10 @@
         android:layout_height="wrap_content"
 		android:layout_alignParentBottom="true"
         android:orientation="vertical" >
-
+        
 		<android.support.v7.widget.AppCompatButton
 		    android:id="@+id/buttonOK"
-			android:theme="@style/Button"
+			android:theme="@style/Button.Primary"
 		    android:layout_width="match_parent"
 		    android:layout_height="wrap_content"
 		    android:layout_gravity="center_horizontal"
@@ -239,7 +237,8 @@
 		    android:layout_gravity="center_horizontal"
 		    android:background="@android:color/transparent"
 		    android:onClick="onRegisterClick"
-		    android:paddingTop="@dimen/standard_padding"
+		    android:paddingBottom="5dp"
+		    android:paddingTop="5dp"
 		    android:text="@string/auth_register"
 			android:textColor="@color/login_text_color"
             android:contentDescription="@string/auth_register"/>

+ 15 - 12
res/layout/account_setup.xml

@@ -32,19 +32,20 @@
         android:background="@color/login_background_color"
         android:gravity="center"
         android:orientation="vertical"
-        android:padding="@dimen/standard_padding" >
+        android:padding="8dp" >
 
         <ImageView
             android:id="@+id/thumbnail"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginBottom="@dimen/standard_margin"
+            android:layout_marginBottom="20dp"
+            android:layout_marginTop="10dp"
             android:src="@drawable/logo"
             android:contentDescription="@string/app_name"/>
 
         <android.support.v7.widget.AppCompatButton
             android:id="@+id/centeredRefreshButton"
-            android:theme="@style/Button"
+            style="@style/ownCloud.Button"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center_horizontal"
@@ -80,7 +81,7 @@
 				android:inputType="textUri"
 				android:drawablePadding="5dp"
 				android:paddingRight="55dp"
-                android:textColor="@color/login_text_color"
+                android:textColor="@color/primary"
                 android:textColorHint="@color/login_text_hint_color"
 				android:contentDescription="@string/auth_host_address"
                 >
@@ -115,7 +116,7 @@
             android:text="@string/auth_testing_connection"
             android:contentDescription="@string/auth_testing_connection"/>
 
-        <android.support.v7.widget.AppCompatCheckBox
+        <CheckBox
             android:id="@+id/oauth_onOff_check"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
@@ -123,7 +124,7 @@
             android:onClick="onCheckClick"
             android:text="@string/oauth_check_onoff"
             android:textAppearance="?android:attr/textAppearanceSmall"
-            android:textColor="@color/login_text_color"
+            android:textColor="@color/primary"
             android:textColorHint="@color/login_text_hint_color"
             android:contentDescription="@string/oauth_check_onoff"
             />
@@ -134,7 +135,7 @@
             android:layout_height="wrap_content"
             android:ems="10"
 			android:enabled="false"
-            android:textColor="@color/login_text_color"
+            android:textColor="@color/primary"
             android:textColorHint="@color/login_text_hint_color"
             android:text="@string/oauth2_url_endpoint_auth"
             android:singleLine="true"
@@ -151,7 +152,7 @@
             android:text="@string/oauth2_url_endpoint_access"
             android:singleLine="true"
             android:inputType="textUri"
-            android:textColor="@color/login_text_color"
+            android:textColor="@color/primary"
             android:textColorHint="@color/login_text_hint_color"
             android:visibility="gone"/>
 
@@ -162,7 +163,7 @@
             android:ems="10"
             android:hint="@string/auth_username"
             android:inputType="textNoSuggestions"
-            android:textColor="@color/login_text_color"
+            android:textColor="@color/primary"
             android:textColorHint="@color/login_text_hint_color"
             android:contentDescription="@string/auth_username"
             />
@@ -175,7 +176,7 @@
 		    android:ems="10"
 		    android:hint="@string/auth_password"
 		    android:inputType="textPassword"
-            android:textColor="@color/login_text_color"
+            android:textColor="@color/primary"
             android:textColorHint="@color/login_text_hint_color"
 		    android:contentDescription="@string/auth_password"
             />
@@ -195,7 +196,8 @@
 
         <android.support.v7.widget.AppCompatButton
             android:id="@+id/buttonOK"
-            android:theme="@style/Button"
+            android:theme="@style/Button.Primary"
+            style="@style/Button.Primary"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center_horizontal"
@@ -209,7 +211,8 @@
             android:layout_height="wrap_content"
             android:background="@android:color/transparent"
             android:onClick="onRegisterClick"
-            android:paddingTop="@dimen/standard_padding"
+            android:paddingBottom="5dp"
+            android:paddingTop="5dp"
             android:text="@string/auth_register"
             android:textColor="@color/login_text_color"
             android:textColorHint="@color/login_text_hint_color"

+ 10 - 0
res/layout/alert_dialog_list_view.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content">
+
+    <ListView
+        android:id="@+id/list"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+</LinearLayout>

+ 3 - 3
res/values-de-rDE/strings.xml

@@ -256,9 +256,9 @@
   <string name="instant_upload_path">/SofortUpload</string>
   <string name="conflict_title">Dateikonflikt</string>
   <string name="conflict_message">Welche Datei möchtest du behalten? Wenn du beide Versionen auswählst, wird der lokalen Datei eine Zahl am Ende Ihres Dateiname angehangen.</string>
-  <string name="conflict_keep_both">Beide behalten</string>
-  <string name="conflict_use_local_version">Benutze lokale Version</string>
-  <string name="conflict_use_server_version">Benutze Version auf dem Server</string>
+  <string name="conflict_keep_both">Beide</string>
+  <string name="conflict_use_local_version">lokale Version</string>
+  <string name="conflict_use_server_version">Server Version</string>
   <string name="preview_image_description">Bildvorschau</string>
   <string name="preview_image_error_unknown_format">Dieses Bild kann nicht angezeigt werden</string>
   <string name="error__upload__local_file_not_copied">%1$s konnte nicht in den lokalen %2$s Ordner kopiert werden</string>

+ 23 - 0
res/values-v21/styles.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ownCloud Android client application
+
+  Copyright (C) 2012  Bartek Przybylski
+  Copyright (C) 2015 ownCloud Inc.
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License version 2,
+  as published by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+	<style name="ProgressDialogTheme" parent="ownCloud.Dialog">
+	</style>
+</resources>

+ 3 - 2
res/values/colors.xml

@@ -31,10 +31,11 @@
     <color name="list_divider_background">#fff0f0f0</color>
     <color name="filelist_icon_backgorund">#DDDDDD</color>
     <color name="dark_background_text_color">#EEEEEE</color>
-    <color name="login_text_color">@color/dark_background_text_color</color>
-    <color name="login_text_hint_color">#777777</color>
+    <color name="login_text_color">#757575</color>
+    <color name="login_text_hint_color">#757575</color>
     <color name="primary_button_color">@color/owncloud_blue_accent</color>
     <color name="secondary_button_color">#D6D7D7</color>
+    <color name="transparent">#00000000</color>
 
     <!-- Colors -->
     <color name="color_accent">@color/owncloud_blue_accent</color>

+ 2 - 2
res/values/setup.xml

@@ -28,8 +28,8 @@
     
     
     <!-- Colors -->
-    <color name="login_background_color">#1D2D44</color>
-    <color name="login_logo_background_color">#1D2D44</color>
+    <color name="login_background_color">#FFFFFF</color>
+    <color name="login_logo_background_color">#FFFFFF</color>
     <color name="background_color">#F7F7F7</color>
     <color name="actionbar_start_color">#1D2D44</color>
     <color name="actionbar_end_color">#1D2D44</color>

+ 2 - 2
res/values/strings.xml

@@ -269,8 +269,8 @@
     <string name="conflict_title">File conflict</string>
     <string name="conflict_message">Which files do you want to keep? If you select both versions, the local file will have a number added to its name.</string>
     <string name="conflict_keep_both">Keep both</string>
-    <string name="conflict_use_local_version">Use local version</string>
-    <string name="conflict_use_server_version">Use server version</string>
+    <string name="conflict_use_local_version">local version</string>
+    <string name="conflict_use_server_version">server version</string>
     
     <string name="preview_image_description">Image preview</string>
     <string name="preview_image_error_unknown_format">This image cannot be shown</string>

+ 8 - 0
res/values/styles.xml

@@ -53,6 +53,14 @@
 
 	<style name="ownCloud.Dialog" parent="Theme.AppCompat.Light.Dialog" />
 
+	<style name="ProgressDialogTheme" parent="ownCloud.Dialog">
+		<item name="colorAccent">@color/color_accent</item>
+		<item name="android:textColorPrimary">@color/primary</item>
+		<item name="android:windowFrame">@color/transparent</item>
+		<item name="android:windowBackground">@color/transparent</item>
+		<item name="android:windowTitleBackgroundStyle">@drawable/process_dialog_background</item>
+	</style>
+
 	<style name="ownCloud.Button" parent="Widget.AppCompat.Button">
 		<item name="colorButtonNormal">@color/primary</item>
 	</style>

+ 18 - 0
src/com/owncloud/android/authentication/AuthenticatorActivity.java

@@ -251,6 +251,24 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         
         /// initialize general UI elements
         initOverallUi();
+
+        mOkButton = findViewById(R.id.buttonOK);
+        mOkButton.setOnClickListener(new View.OnClickListener() {
+
+            @Override
+            public void onClick(View v) {
+                onOkClick();
+            }
+        });
+
+        mCenteredRefreshButton = findViewById(R.id.centeredRefreshButton);
+        mCenteredRefreshButton.setOnClickListener(new View.OnClickListener() {
+
+            @Override
+            public void onClick(View v) {
+                checkOcServer();
+            }
+        });
         
         mOkButton = findViewById(R.id.buttonOK);
         mOkButton.setOnClickListener(new View.OnClickListener() {

+ 45 - 35
src/com/owncloud/android/ui/activity/Preferences.java

@@ -47,6 +47,7 @@ import android.preference.PreferenceManager;
 import android.support.annotation.LayoutRes;
 import android.support.annotation.Nullable;
 import android.support.v7.app.ActionBar;
+import android.support.v7.app.AlertDialog;
 import android.support.v7.app.AppCompatDelegate;
 import android.support.v7.widget.Toolbar;
 import android.view.ContextMenu;
@@ -58,6 +59,7 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemLongClickListener;
+import android.widget.ArrayAdapter;
 import android.widget.ListAdapter;
 import android.widget.ListView;
 
@@ -151,7 +153,49 @@ public class Preferences extends PreferenceActivity
                     mShowContextMenu = true;
                     mAccountName = ((RadioButtonPreference) obj).getKey();
 
-                    Preferences.this.openContextMenu(listView);
+                    String[] items = {
+                            getResources().getString(R.string.change_password),
+                            getResources().getString(R.string.delete_account)
+                    };
+                    final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Preferences.this);
+                    View convertView = getLayoutInflater().inflate(R.layout.alert_dialog_list_view, null);
+                    alertDialogBuilder.setView(convertView);
+                    ListView lv = (ListView) convertView.findViewById(R.id.list);
+                    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
+                            Preferences.this,R.layout.simple_dialog_list_item,items);
+                    lv.setAdapter(adapter);
+
+                    //Setup proper inline listener
+                    final AlertDialog alertDialog = alertDialogBuilder.create();
+                    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+                        @Override
+                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                            AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
+                            Account accounts[] = am.getAccountsByType(MainApp.getAccountType());
+                            for (Account a : accounts) {
+                                if (a.name.equals(mAccountName)) {
+                                    if (position==0) {
+
+                                        // Change account password
+                                        Intent updateAccountCredentials = new Intent(Preferences.this, AuthenticatorActivity.class);
+                                        updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACCOUNT, a);
+                                        updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACTION,
+                                                AuthenticatorActivity.ACTION_UPDATE_TOKEN);
+                                        startActivity(updateAccountCredentials);
+                                        alertDialog.cancel();
+                                        
+                                    } else if (position==1) {
+
+                                        // Remove account
+                                        am.removeAccount(a, Preferences.this, mHandler);
+                                        Log_OC.d(TAG, "Remove an account " + a.name);
+                                        alertDialog.cancel();
+                                    }
+                                }
+                            }
+                        }
+                    });
+                    alertDialog.show();
 
                     View.OnLongClickListener longListener = (View.OnLongClickListener) obj;
                     return longListener.onLongClick(view);
@@ -440,40 +484,6 @@ public class Preferences extends PreferenceActivity
         super.onCreateContextMenu(menu, v, menuInfo);
     }
 
-    /**
-     * Called when the user clicked on an item into the context menu created at
-     * {@link #onCreateContextMenu(ContextMenu, View, ContextMenuInfo)} for
-     * every ownCloud {@link Account} , containing 'secondary actions' for them.
-     * 
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean onContextItemSelected(android.view.MenuItem item) {
-        AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
-        Account accounts[] = am.getAccountsByType(MainApp.getAccountType());
-        for (Account a : accounts) {
-            if (a.name.equals(mAccountName)) {
-                if (item.getItemId() == R.id.change_password) {
-
-                    // Change account password
-                    Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class);
-                    updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACCOUNT, a);
-                    updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACTION,
-                            AuthenticatorActivity.ACTION_UPDATE_TOKEN);
-                    startActivity(updateAccountCredentials);
-
-                } else if (item.getItemId() == R.id.delete_account) {
-
-                    // Remove account
-                    am.removeAccount(a, this, mHandler);
-                    Log_OC.d(TAG, "Remove an account " + a.name);
-                }
-            }
-        }
-
-        return true;
-    }
-
     @Override
     public void run(AccountManagerFuture<Boolean> future) {
         if (future.isDone()) {

+ 11 - 1
src/com/owncloud/android/ui/activity/Uploader.java

@@ -64,6 +64,7 @@ import android.widget.AdapterView.OnItemClickListener;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.ListView;
+import android.widget.ProgressBar;
 import android.widget.SimpleAdapter;
 import android.widget.Toast;
 
@@ -201,10 +202,19 @@ public class Uploader extends FileActivity
         final AlertDialog.Builder builder = new Builder(this);
         switch (id) {
         case DIALOG_WAITING:
-            ProgressDialog pDialog = new ProgressDialog(this);
+            final ProgressDialog pDialog = new ProgressDialog(this, R.style.ProgressDialogTheme);
             pDialog.setIndeterminate(false);
             pDialog.setCancelable(false);
             pDialog.setMessage(getResources().getString(R.string.uploader_info_uploading));
+            pDialog.setOnShowListener(new DialogInterface.OnShowListener() {
+                @Override
+                public void onShow(DialogInterface dialog) {
+                    ProgressBar v = (ProgressBar) pDialog.findViewById(android.R.id.progress);
+                    v.getIndeterminateDrawable().setColorFilter(getResources().getColor(R.color.color_accent),
+                            android.graphics.PorterDuff.Mode.MULTIPLY);
+
+                }
+            });
             return pDialog;
         case DIALOG_NO_ACCOUNT:
             builder.setIcon(android.R.drawable.ic_dialog_alert);

+ 146 - 0
src/com/owncloud/android/ui/dialog/AccountActionsDialogFragment.java

@@ -0,0 +1,146 @@
+package com.owncloud.android.ui.dialog;
+
+import android.os.Bundle;
+import android.support.v4.app.DialogFragment;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
+import android.widget.ArrayAdapter;
+import android.widget.ListView;
+
+import com.owncloud.android.R;
+import com.owncloud.android.ui.dialog.parcel.MenuItemParcelable;
+import com.owncloud.android.ui.dialog.parcel.MenuParcelable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Dialog for choosing a file action.
+ */
+public class AccountActionsDialogFragment extends DialogFragment implements
+        OnItemClickListener {
+    private static final String ARG_ITEM_LIST = "ITEM_LIST";
+    private static final String ARG_FILE_POSITION = "FILE_POSITION";
+    public static final String FTAG_FILE_ACTIONS = "FILE_ACTIONS_FRAGMENT";
+
+    private List<MenuItemParcelable> menuItems;
+
+    private int filePosition;
+
+    private ListView mListView;
+
+    /**
+     * Listener interface for the file action fragment.
+     */
+    public interface FileActionsDialogFragmentListener {
+        public boolean onFileActionChosen(int menuId, int filePosition);
+    }
+
+    /**
+     * Public factory method to create new FileActionsDialogFragment instances.
+     *
+     * @param menu menu to be display.
+     * @return Dialog ready to show.
+     */
+    public static AccountActionsDialogFragment newInstance(Menu menu, int filePosition) {
+        AccountActionsDialogFragment fragment = new AccountActionsDialogFragment();
+        Bundle args = new Bundle();
+
+        MenuParcelable menuParcelable = new MenuParcelable();
+        menuParcelable.setMenuItems(calculateMenuParcel(menu));
+
+        args.putParcelable(ARG_ITEM_LIST, menuParcelable);
+        args.putInt(ARG_FILE_POSITION, filePosition);
+
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setStyle(DialogFragment.STYLE_NORMAL, R.style.ownCloud_Dialog);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+                             Bundle savedInstanceState) {
+        View view = inflater.inflate(R.layout.file_actions, null, false);
+        mListView = (ListView) view.findViewById(R.id.file_actions_list);
+
+        getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
+        return view;
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+
+        filePosition = getArguments().getInt(ARG_FILE_POSITION);
+
+        MenuParcelable menu = getArguments().getParcelable(ARG_ITEM_LIST);
+        menuItems = menu.getMenuItems();
+        List<String> stringList = new ArrayList<String>();
+        for (int i = 0; i < menuItems.size(); i++) {
+            stringList.add(menuItems.get(i).getMenuText());
+        }
+
+        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
+                R.layout.simple_dialog_list_item, stringList);
+
+        mListView.setAdapter(adapter);
+
+        mListView.setOnItemClickListener(this);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+        dismiss();
+        ((FileActionsDialogFragmentListener) getTargetFragment()).onFileActionChosen(menuItems.get(position).getMenuItemId(), filePosition);
+    }
+
+    /**
+     * calculates a parcelable list of MenuItemParcelable based on the given menu and the visibility of the menu items.
+     *
+     * @param menu the menu to be displayed
+     * @return a filtered List of parcelables based on the menu
+     */
+    private static List<MenuItemParcelable> calculateMenuParcel(Menu menu) {
+        int index = 0;
+        boolean hasNext = true;
+        List<MenuItemParcelable> itemList = new ArrayList<MenuItemParcelable>();
+        MenuParcelable menuParcelable = new MenuParcelable();
+        try {
+            while (hasNext) {
+                MenuItem item = menu.getItem(index);
+                if (item.isVisible()) {
+                    itemList.add(new MenuItemParcelable(item));
+                }
+                index++;
+            }
+        } catch (IndexOutOfBoundsException iobe) {
+            // reach the end of the item list
+        }
+
+        return itemList;
+    }
+}

+ 2 - 2
src/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java

@@ -60,8 +60,8 @@ public class ConflictsResolveDialog extends DialogFragment {
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         String remotepath = getArguments().getString("remotepath");
-        return new AlertDialog.Builder(getActivity())
-                   .setIcon(DisplayUtils.getSeasonalIconId())
+        return new AlertDialog.Builder(getActivity(), R.style.Theme_ownCloud_Dialog)
+                   .setIcon(R.drawable.ic_warning)
                    .setTitle(R.string.conflict_title)
                    .setMessage(String.format(getString(R.string.conflict_message), remotepath))
                    .setPositiveButton(R.string.conflict_use_local_version,

+ 14 - 3
src/com/owncloud/android/ui/dialog/IndeterminateProgressDialog.java

@@ -26,6 +26,7 @@ import android.content.DialogInterface.OnKeyListener;
 import android.os.Bundle;
 import android.support.v4.app.DialogFragment;
 import android.view.KeyEvent;
+import android.widget.ProgressBar;
 
 import com.owncloud.android.R;
 
@@ -45,6 +46,7 @@ public class IndeterminateProgressDialog extends DialogFragment {
      */
     public static IndeterminateProgressDialog newInstance(int messageId, boolean cancelable) {
         IndeterminateProgressDialog fragment = new IndeterminateProgressDialog();
+        fragment.setStyle(DialogFragment.STYLE_NO_FRAME, R.style.ownCloud_AlertDialog);
         Bundle args = new Bundle();
         args.putInt(ARG_MESSAGE_ID, messageId);
         args.putBoolean(ARG_CANCELABLE, cancelable);
@@ -59,13 +61,22 @@ public class IndeterminateProgressDialog extends DialogFragment {
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         /// create indeterminate progress dialog
-        final ProgressDialog dialog = new ProgressDialog(getActivity());
+        final ProgressDialog dialog = new ProgressDialog(getActivity(), R.style.ProgressDialogTheme);
         dialog.setIndeterminate(true);
+        dialog.setOnShowListener(new DialogInterface.OnShowListener() {
+            @Override
+            public void onShow(DialogInterface dialog) {
+                ProgressBar v = (ProgressBar) getDialog().findViewById(android.R.id.progress);
+                v.getIndeterminateDrawable().setColorFilter(getResources().getColor(R.color.color_accent),
+                        android.graphics.PorterDuff.Mode.MULTIPLY);
+
+            }
+        });
         
         /// set message
         int messageId = getArguments().getInt(ARG_MESSAGE_ID, R.string.placeholder_sentence);
         dialog.setMessage(getString(messageId));
-        
+
         /// set cancellation behavior
         boolean cancelable = getArguments().getBoolean(ARG_CANCELABLE, false);
         if (!cancelable) {
@@ -76,7 +87,7 @@ public class IndeterminateProgressDialog extends DialogFragment {
                 public boolean onKey(DialogInterface dialog, int keyCode,
                         KeyEvent event) {
 
-                    if( keyCode == KeyEvent.KEYCODE_BACK){                  
+                    if( keyCode == KeyEvent.KEYCODE_BACK) {
                         return true;
                     }
                     return false;

+ 0 - 1
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -193,7 +193,6 @@ public class OCFileListFragment extends ExtendedListFragment implements FileActi
                 }
             }
 
-            MenuItem menuItem = new DialogMenuItem(item.getItemId());
             FileActionsDialogFragment dialog = FileActionsDialogFragment.newInstance(menu, fileIndex);
             dialog.setTargetFragment(this, 0);
             dialog.show(getFragmentManager(), FileActionsDialogFragment.FTAG_FILE_ACTIONS);