diff --git a/F-Droid/res/drawable-hdpi/ic_arrow_forward_white.png b/F-Droid/res/drawable-hdpi/ic_arrow_forward_white.png
new file mode 100644
index 000000000..8c4c394e4
Binary files /dev/null and b/F-Droid/res/drawable-hdpi/ic_arrow_forward_white.png differ
diff --git a/F-Droid/res/drawable-hdpi/ic_close_white.png b/F-Droid/res/drawable-hdpi/ic_close_white.png
new file mode 100644
index 000000000..a7486ae4f
Binary files /dev/null and b/F-Droid/res/drawable-hdpi/ic_close_white.png differ
diff --git a/F-Droid/res/drawable-mdpi/ic_arrow_forward_white.png b/F-Droid/res/drawable-mdpi/ic_arrow_forward_white.png
new file mode 100644
index 000000000..878b6e5e8
Binary files /dev/null and b/F-Droid/res/drawable-mdpi/ic_arrow_forward_white.png differ
diff --git a/F-Droid/res/drawable-mdpi/ic_close_white.png b/F-Droid/res/drawable-mdpi/ic_close_white.png
new file mode 100644
index 000000000..24b2e4d2d
Binary files /dev/null and b/F-Droid/res/drawable-mdpi/ic_close_white.png differ
diff --git a/F-Droid/res/drawable-xhdpi/ic_arrow_forward_white.png b/F-Droid/res/drawable-xhdpi/ic_arrow_forward_white.png
new file mode 100644
index 000000000..5e93f8862
Binary files /dev/null and b/F-Droid/res/drawable-xhdpi/ic_arrow_forward_white.png differ
diff --git a/F-Droid/res/drawable-xhdpi/ic_close_white.png b/F-Droid/res/drawable-xhdpi/ic_close_white.png
new file mode 100644
index 000000000..04fa6efe6
Binary files /dev/null and b/F-Droid/res/drawable-xhdpi/ic_close_white.png differ
diff --git a/F-Droid/res/drawable-xxhdpi/ic_arrow_forward_white.png b/F-Droid/res/drawable-xxhdpi/ic_arrow_forward_white.png
new file mode 100644
index 000000000..f8cf79f9d
Binary files /dev/null and b/F-Droid/res/drawable-xxhdpi/ic_arrow_forward_white.png differ
diff --git a/F-Droid/res/drawable-xxhdpi/ic_close_white.png b/F-Droid/res/drawable-xxhdpi/ic_close_white.png
new file mode 100644
index 000000000..279cce3fe
Binary files /dev/null and b/F-Droid/res/drawable-xxhdpi/ic_close_white.png differ
diff --git a/F-Droid/res/drawable-xxxhdpi/ic_arrow_forward_white.png b/F-Droid/res/drawable-xxxhdpi/ic_arrow_forward_white.png
new file mode 100644
index 000000000..c619b9a89
Binary files /dev/null and b/F-Droid/res/drawable-xxxhdpi/ic_arrow_forward_white.png differ
diff --git a/F-Droid/res/drawable-xxxhdpi/ic_close_white.png b/F-Droid/res/drawable-xxxhdpi/ic_close_white.png
new file mode 100644
index 000000000..8ab8f84fa
Binary files /dev/null and b/F-Droid/res/drawable-xxxhdpi/ic_close_white.png differ
diff --git a/F-Droid/res/drawable/ic_arrow_forward_white.png b/F-Droid/res/drawable/ic_arrow_forward_white.png
new file mode 100644
index 000000000..878b6e5e8
Binary files /dev/null and b/F-Droid/res/drawable/ic_arrow_forward_white.png differ
diff --git a/F-Droid/res/drawable/ic_close_white.png b/F-Droid/res/drawable/ic_close_white.png
new file mode 100644
index 000000000..24b2e4d2d
Binary files /dev/null and b/F-Droid/res/drawable/ic_close_white.png differ
diff --git a/F-Droid/res/layout/swap_activity.xml b/F-Droid/res/layout/swap_activity.xml
index 4f8096856..8349507a5 100644
--- a/F-Droid/res/layout/swap_activity.xml
+++ b/F-Droid/res/layout/swap_activity.xml
@@ -1,14 +1,21 @@
-
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+
+ android:layout_height="fill_parent" />
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/F-Droid/res/layout/swap_wifi_qr.xml b/F-Droid/res/layout/swap_wifi_qr.xml
index da0ba3a3b..38dba512b 100644
--- a/F-Droid/res/layout/swap_wifi_qr.xml
+++ b/F-Droid/res/layout/swap_wifi_qr.xml
@@ -12,13 +12,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content">
-
-
+
+
diff --git a/F-Droid/res/menu/swap_next.xml b/F-Droid/res/menu/swap_next.xml
index 12e8c099f..4a6450213 100644
--- a/F-Droid/res/menu/swap_next.xml
+++ b/F-Droid/res/menu/swap_next.xml
@@ -2,6 +2,7 @@
diff --git a/F-Droid/res/menu/swap_next_search.xml b/F-Droid/res/menu/swap_next_search.xml
index 2f2bd980c..c11143276 100644
--- a/F-Droid/res/menu/swap_next_search.xml
+++ b/F-Droid/res/menu/swap_next_search.xml
@@ -1,14 +1,15 @@
\ No newline at end of file
diff --git a/F-Droid/res/menu/swap_skip.xml b/F-Droid/res/menu/swap_skip.xml
index 7d9ffc826..4adcb7942 100644
--- a/F-Droid/res/menu/swap_skip.xml
+++ b/F-Droid/res/menu/swap_skip.xml
@@ -2,6 +2,7 @@
diff --git a/F-Droid/res/values-v11/styles.xml b/F-Droid/res/values-v11/styles.xml
new file mode 100644
index 000000000..1b9ea4093
--- /dev/null
+++ b/F-Droid/res/values-v11/styles.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/F-Droid/res/values-v21/styles.xml b/F-Droid/res/values-v21/styles.xml
index 76b75bab0..9b2ebc734 100644
--- a/F-Droid/res/values-v21/styles.xml
+++ b/F-Droid/res/values-v21/styles.xml
@@ -13,4 +13,8 @@
- @color/fdroid_blue
+
+
\ No newline at end of file
diff --git a/F-Droid/res/values/colors.xml b/F-Droid/res/values/colors.xml
index 6709ce46c..6f47493c9 100644
--- a/F-Droid/res/values/colors.xml
+++ b/F-Droid/res/values/colors.xml
@@ -18,5 +18,6 @@
#ff3096b9
#fbb040
#00a14b
+ #00b9e6
\ No newline at end of file
diff --git a/F-Droid/res/values/strings.xml b/F-Droid/res/values/strings.xml
index 3a1e7d20d..c7bb99b45 100644
--- a/F-Droid/res/values/strings.xml
+++ b/F-Droid/res/values/strings.xml
@@ -299,8 +299,9 @@
This option is only available when F-Droid is installed as a system-app.
F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform. The client makes it easy to browse, install, and keep track of updates on your device.
+ Touch to swap
If your friend has F-Droid and NFC turned on touch your phones together.
- Join the same Wifi as your friend
+ Join the same WiFi
Help your friend join your hotspot
Use Bluetooth instead
Learn more about Wifi
@@ -310,10 +311,10 @@
Swap success!
No network yet
Your hotspot is active
- (Tap to open available networks)
- (Tap to switch to a WiFi network)
+ Tap to open available networks
+ Tap to switch to a WiFi network
It\'s not working
- Open QR Code Scanner
+ Open QR Scanner
Welcome to F-Droid!
Do you want to get apps from %1$s now?
Your mobile device becomes an app store with Swap!
@@ -322,7 +323,7 @@
Tap to select the apps you want to swap.
Don\'t show this again
Tap an app for details and to install.
- One person needs to scan the code, or type the URL of the other swapper into a browser.
+ One person needs to scan the code, or type the URL of the other in a browser.
Public
Private
@@ -330,4 +331,6 @@
May work
Promising
Best bet
+ Choose Apps
+ Scan QR Code
diff --git a/F-Droid/res/values/styles.xml b/F-Droid/res/values/styles.xml
index 84053d843..3146556f1 100644
--- a/F-Droid/res/values/styles.xml
+++ b/F-Droid/res/values/styles.xml
@@ -32,10 +32,11 @@
-
+
+
@@ -132,7 +136,7 @@
- bold
-
diff --git a/F-Droid/src/org/fdroid/fdroid/localrepo/SwapManager.java b/F-Droid/src/org/fdroid/fdroid/localrepo/SwapManager.java
index 9f5e1d1d1..90803d306 100644
--- a/F-Droid/src/org/fdroid/fdroid/localrepo/SwapManager.java
+++ b/F-Droid/src/org/fdroid/fdroid/localrepo/SwapManager.java
@@ -207,6 +207,7 @@ public class SwapManager {
} else {
Log.e(TAG, "Couldn't disable swap, because service was not running.");
}
+ setStep(STEP_INTRO);
}
/**
diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/JoinWifiView.java b/F-Droid/src/org/fdroid/fdroid/views/swap/JoinWifiView.java
index 8bf9bd6dc..092ec07d9 100644
--- a/F-Droid/src/org/fdroid/fdroid/views/swap/JoinWifiView.java
+++ b/F-Droid/src/org/fdroid/fdroid/views/swap/JoinWifiView.java
@@ -7,6 +7,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.WifiManager;
import android.os.Build;
+import android.support.annotation.ColorRes;
import android.support.annotation.NonNull;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v4.view.MenuItemCompat;
@@ -128,4 +129,14 @@ public class JoinWifiView extends RelativeLayout implements SwapWorkflowActivity
public int getPreviousStep() {
return SwapManager.STEP_SELECT_APPS;
}
+
+ @ColorRes
+ public int getToolbarColour() {
+ return getResources().getColor(R.color.swap_blue);
+ }
+
+ @Override
+ public String getToolbarTitle() {
+ return getResources().getString(R.string.swap_join_same_wifi);
+ }
}
diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/NfcView.java b/F-Droid/src/org/fdroid/fdroid/views/swap/NfcView.java
index 5dba1c7c1..ab8da2d32 100644
--- a/F-Droid/src/org/fdroid/fdroid/views/swap/NfcView.java
+++ b/F-Droid/src/org/fdroid/fdroid/views/swap/NfcView.java
@@ -3,6 +3,7 @@ package org.fdroid.fdroid.views.swap;
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
+import android.support.annotation.ColorRes;
import android.support.annotation.NonNull;
import android.support.v4.view.MenuItemCompat;
import android.util.AttributeSet;
@@ -76,4 +77,14 @@ public class NfcView extends RelativeLayout implements SwapWorkflowActivity.Inne
public int getPreviousStep() {
return SwapManager.STEP_JOIN_WIFI;
}
+
+ @ColorRes
+ public int getToolbarColour() {
+ return getResources().getColor(R.color.swap_blue);
+ }
+
+ @Override
+ public String getToolbarTitle() {
+ return getResources().getString(R.string.swap_nfc_title);
+ }
}
diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/SelectAppsView.java b/F-Droid/src/org/fdroid/fdroid/views/swap/SelectAppsView.java
index 49c8defb3..1da5116ca 100644
--- a/F-Droid/src/org/fdroid/fdroid/views/swap/SelectAppsView.java
+++ b/F-Droid/src/org/fdroid/fdroid/views/swap/SelectAppsView.java
@@ -9,6 +9,7 @@ import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
+import android.support.annotation.ColorRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.LoaderManager;
@@ -89,9 +90,6 @@ public class SelectAppsView extends ListView implements
adapter = new AppListAdapter(this, getContext(),
getContext().getContentResolver().query(InstalledAppProvider.getContentUri(), InstalledAppProvider.DataColumns.ALL, null, null, null));
- // Has to be _before_ "setAdapter()", as per the API docs.
- addHeaderView(inflate(getContext(), R.layout.swap_create_header, null), null, false);
-
setAdapter(adapter);
setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
@@ -100,10 +98,7 @@ public class SelectAppsView extends ListView implements
setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView> parent, View v, int position, long id) {
- if (position > 0) {
- // Ignore the headerView at position 0.
- toggleAppSelected(position);
- }
+ toggleAppSelected(position);
}
});
@@ -145,8 +140,18 @@ public class SelectAppsView extends ListView implements
return SwapManager.STEP_INTRO;
}
+ @ColorRes
+ public int getToolbarColour() {
+ return getResources().getColor(R.color.swap_bright_blue);
+ }
+
+ @Override
+ public String getToolbarTitle() {
+ return getResources().getString(R.string.swap_choose_apps);
+ }
+
private void toggleAppSelected(int position) {
- Cursor c = (Cursor) adapter.getItem(position - 1);
+ Cursor c = (Cursor) adapter.getItem(position);
String packageName = c.getString(c.getColumnIndex(InstalledAppProvider.DataColumns.APP_ID));
if (getState().hasSelectedPackage(packageName)) {
getState().deselectPackage(packageName);
@@ -179,13 +184,13 @@ public class SelectAppsView extends ListView implements
public void onLoadFinished(Loader loader, Cursor cursor) {
adapter.swapCursor(cursor);
- for (int i = 0; i < getCount() - 1; i++) {
- Cursor c = ((Cursor) getItemAtPosition(i + 1));
+ for (int i = 0; i < getCount(); i++) {
+ Cursor c = ((Cursor) getItemAtPosition(i));
String packageName = c.getString(c.getColumnIndex(InstalledAppProvider.DataColumns.APP_ID));
getState().ensureFDroidSelected();
for (String selected : getState().getAppsToSwap()) {
if (TextUtils.equals(packageName, selected)) {
- setItemChecked(i + 1, true);
+ setItemChecked(i, true);
}
}
}
@@ -279,7 +284,7 @@ public class SelectAppsView extends ListView implements
labelView.setText(appLabel);
iconView.setImageDrawable(icon);
- final int listPosition = cursor.getPosition() + 1; // To account for the header view.
+ final int listPosition = cursor.getPosition();
// Since v11, the Android SDK provided the ability to show selected list items
// by highlighting their background. Prior to this, we need to handle this ourselves
@@ -319,7 +324,7 @@ public class SelectAppsView extends ListView implements
int colour;
if (checked) {
resource = R.drawable.ic_check_circle_white;
- colour = getResources().getColor(R.color.fdroid_blue);
+ colour = getResources().getColor(R.color.swap_bright_blue);
} else {
resource = R.drawable.ic_add_circle_outline_white;
colour = 0xFFD0D0D4;
diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapView.java b/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapView.java
index f46b21eb3..13d240358 100644
--- a/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapView.java
+++ b/F-Droid/src/org/fdroid/fdroid/views/swap/StartSwapView.java
@@ -3,6 +3,7 @@ package org.fdroid.fdroid.views.swap;
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
+import android.support.annotation.ColorRes;
import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.view.Menu;
@@ -75,4 +76,15 @@ public class StartSwapView extends LinearLayout implements SwapWorkflowActivity.
// else.
return SwapManager.STEP_INTRO;
}
+
+ @Override
+ @ColorRes
+ public int getToolbarColour() {
+ return getResources().getColor(R.color.swap_bright_blue);
+ }
+
+ @Override
+ public String getToolbarTitle() {
+ return getResources().getString(R.string.swap_start);
+ }
}
diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java b/F-Droid/src/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java
index 7c28b6457..f77c986eb 100644
--- a/F-Droid/src/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java
+++ b/F-Droid/src/org/fdroid/fdroid/views/swap/SwapWorkflowActivity.java
@@ -7,10 +7,12 @@ import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.support.annotation.ColorRes;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.ActionBarActivity;
+import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -51,10 +53,15 @@ public class SwapWorkflowActivity extends ActionBarActivity {
@SwapManager.SwapStep int getStep();
@SwapManager.SwapStep int getPreviousStep();
+
+ @ColorRes int getToolbarColour();
+
+ String getToolbarTitle();
}
private static final int CONNECT_TO_SWAP = 1;
+ private Toolbar toolbar;
private SwapManager state;
private InnerView currentView;
private boolean hasPreparedLocalRepo = false;
@@ -76,6 +83,11 @@ public class SwapWorkflowActivity extends ActionBarActivity {
super.onCreate(savedInstanceState);
state = SwapManager.load(this);
setContentView(R.layout.swap_activity);
+
+ toolbar = (Toolbar) findViewById(R.id.toolbar);
+ toolbar.setTitleTextAppearance(getApplicationContext(), R.style.SwapTheme_Wizard_Text_Toolbar);
+ setSupportActionBar(toolbar);
+
container = (ViewGroup) findViewById(R.id.fragment_container);
showRelevantView();
}
@@ -134,10 +146,24 @@ public class SwapWorkflowActivity extends ActionBarActivity {
View view = ((LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE)).inflate(viewRes, container, false);
currentView = (InnerView)view;
state.setStep(currentView.getStep());
+ toolbar.setBackgroundColor(currentView.getToolbarColour());
+ toolbar.setTitle(currentView.getToolbarTitle());
+ toolbar.setNavigationIcon(R.drawable.ic_close_white);
+ toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ onToolbarCancel();
+ }
+ });
container.addView(view);
supportInvalidateOptionsMenu();
}
+ private void onToolbarCancel() {
+ SwapManager.load(this).disableSwapping();
+ finish();
+ }
+
private void showIntro() {
inflateInnerView(R.layout.swap_blank);
}
diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/WifiQrView.java b/F-Droid/src/org/fdroid/fdroid/views/swap/WifiQrView.java
index 9a0d4f449..8737524f2 100644
--- a/F-Droid/src/org/fdroid/fdroid/views/swap/WifiQrView.java
+++ b/F-Droid/src/org/fdroid/fdroid/views/swap/WifiQrView.java
@@ -8,6 +8,7 @@ import android.content.IntentFilter;
import android.graphics.LightingColorFilter;
import android.net.Uri;
import android.os.Build;
+import android.support.annotation.ColorRes;
import android.support.annotation.NonNull;
import android.support.v4.content.LocalBroadcastManager;
import android.text.TextUtils;
@@ -122,6 +123,16 @@ public class WifiQrView extends ScrollView implements SwapWorkflowActivity.Inner
return SwapManager.STEP_JOIN_WIFI;
}
+ @ColorRes
+ public int getToolbarColour() {
+ return getResources().getColor(R.color.swap_blue);
+ }
+
+ @Override
+ public String getToolbarTitle() {
+ return getResources().getString(R.string.swap_scan_qr);
+ }
+
private void setUIFromWifi() {
if (TextUtils.isEmpty(FDroidApp.repo.address))
diff --git a/F-Droid/tools/download-material-icon.sh b/F-Droid/tools/download-material-icon.sh
index 6bd8e128b..fc5ce8639 100755
--- a/F-Droid/tools/download-material-icon.sh
+++ b/F-Droid/tools/download-material-icon.sh
@@ -48,7 +48,7 @@ function download {
RES_DIR=$1
CATEGORY=$2
-ICON="${3}_black"
+ICON="${3}_white"
BASE_URL="https://raw.githubusercontent.com/google/material-design-icons/master"
SCREENS="mdpi hdpi xhdpi xxhdpi xxxhdpi"