diff --git a/Graphics/drawables/drawer_header2.svg b/Graphics/drawables/drawer_header2.svg
new file mode 100644
index 000000000..a431b5ac5
--- /dev/null
+++ b/Graphics/drawables/drawer_header2.svg
@@ -0,0 +1,1636 @@
+
+
+
+
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_18dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_18dp.png
new file mode 100644
index 000000000..d5e2bffeb
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_24dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_24dp.png
new file mode 100644
index 000000000..75231c4c4
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_36dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_36dp.png
new file mode 100644
index 000000000..0e59ee75a
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_48dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_48dp.png
new file mode 100644
index 000000000..063776cb6
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_black_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_18dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_18dp.png
new file mode 100644
index 000000000..97a120be1
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_24dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_24dp.png
new file mode 100644
index 000000000..956eb886c
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_36dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_36dp.png
new file mode 100644
index 000000000..b171b7142
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_48dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_48dp.png
new file mode 100644
index 000000000..1a2d6ed75
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_grey600_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_18dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_18dp.png
new file mode 100644
index 000000000..667202070
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_24dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_24dp.png
new file mode 100644
index 000000000..261f4a5ab
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_36dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_36dp.png
new file mode 100644
index 000000000..2b1fea929
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_48dp.png b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_48dp.png
new file mode 100644
index 000000000..c4f2f57c9
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-hdpi/ic_qrcode_white_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_18dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_18dp.png
new file mode 100644
index 000000000..b9dfb309c
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_24dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_24dp.png
new file mode 100644
index 000000000..f2e6ad3e7
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_36dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_36dp.png
new file mode 100644
index 000000000..75231c4c4
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_48dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_48dp.png
new file mode 100644
index 000000000..593aa8f2a
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_black_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_18dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_18dp.png
new file mode 100644
index 000000000..7ecef0044
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_24dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_24dp.png
new file mode 100644
index 000000000..af36e585c
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_36dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_36dp.png
new file mode 100644
index 000000000..956eb886c
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_48dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_48dp.png
new file mode 100644
index 000000000..347b0378a
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_grey600_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_18dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_18dp.png
new file mode 100644
index 000000000..be2f80974
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_24dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_24dp.png
new file mode 100644
index 000000000..5cf552b13
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_36dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_36dp.png
new file mode 100644
index 000000000..261f4a5ab
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_48dp.png b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_48dp.png
new file mode 100644
index 000000000..a2c6ade61
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-mdpi/ic_qrcode_white_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_18dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_18dp.png
new file mode 100644
index 000000000..75231c4c4
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_24dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_24dp.png
new file mode 100644
index 000000000..593aa8f2a
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_36dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_36dp.png
new file mode 100644
index 000000000..063776cb6
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_48dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_48dp.png
new file mode 100644
index 000000000..43daf96e6
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_black_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_18dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_18dp.png
new file mode 100644
index 000000000..956eb886c
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_24dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_24dp.png
new file mode 100644
index 000000000..347b0378a
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_36dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_36dp.png
new file mode 100644
index 000000000..1a2d6ed75
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_48dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_48dp.png
new file mode 100644
index 000000000..bd6700d03
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_grey600_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_18dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_18dp.png
new file mode 100644
index 000000000..261f4a5ab
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_24dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_24dp.png
new file mode 100644
index 000000000..a2c6ade61
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_36dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_36dp.png
new file mode 100644
index 000000000..c4f2f57c9
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_48dp.png b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_48dp.png
new file mode 100644
index 000000000..e795f80a5
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xhdpi/ic_qrcode_white_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_18dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_18dp.png
new file mode 100644
index 000000000..0e59ee75a
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_24dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_24dp.png
new file mode 100644
index 000000000..063776cb6
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_36dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_36dp.png
new file mode 100644
index 000000000..f87c96984
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_48dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_48dp.png
new file mode 100644
index 000000000..d52c08b40
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_black_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_18dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_18dp.png
new file mode 100644
index 000000000..b171b7142
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_24dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_24dp.png
new file mode 100644
index 000000000..1a2d6ed75
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_36dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_36dp.png
new file mode 100644
index 000000000..59cb56370
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_48dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_48dp.png
new file mode 100644
index 000000000..8ff5607c4
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_grey600_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_18dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_18dp.png
new file mode 100644
index 000000000..2b1fea929
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_24dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_24dp.png
new file mode 100644
index 000000000..c4f2f57c9
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_36dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_36dp.png
new file mode 100644
index 000000000..f138dfa61
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_48dp.png b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_48dp.png
new file mode 100644
index 000000000..3b15d3fcc
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxhdpi/ic_qrcode_white_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_18dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_18dp.png
new file mode 100644
index 000000000..063776cb6
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_24dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_24dp.png
new file mode 100644
index 000000000..43daf96e6
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_36dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_36dp.png
new file mode 100644
index 000000000..d52c08b40
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_48dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_48dp.png
new file mode 100644
index 000000000..0ac5a7987
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_black_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_18dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_18dp.png
new file mode 100644
index 000000000..1a2d6ed75
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_24dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_24dp.png
new file mode 100644
index 000000000..bd6700d03
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_36dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_36dp.png
new file mode 100644
index 000000000..8ff5607c4
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_48dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_48dp.png
new file mode 100644
index 000000000..9412036dd
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_18dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_18dp.png
new file mode 100644
index 000000000..c4f2f57c9
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_18dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_24dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_24dp.png
new file mode 100644
index 000000000..e795f80a5
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_24dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_36dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_36dp.png
new file mode 100644
index 000000000..3b15d3fcc
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_36dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_48dp.png b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_48dp.png
new file mode 100644
index 000000000..5de99e5c4
Binary files /dev/null and b/Graphics/drawables/qrcode/drawable-xxxhdpi/ic_qrcode_white_48dp.png differ
diff --git a/Graphics/drawables/qrcode/drawable/qrcode.xml b/Graphics/drawables/qrcode/drawable/qrcode.xml
new file mode 100644
index 000000000..7d59b50e9
--- /dev/null
+++ b/Graphics/drawables/qrcode/drawable/qrcode.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/Graphics/drawables/qrcode/readme.txt b/Graphics/drawables/qrcode/readme.txt
new file mode 100644
index 000000000..cc545383e
--- /dev/null
+++ b/Graphics/drawables/qrcode/readme.txt
@@ -0,0 +1,5 @@
+Thanks for visiting MaterialDesignIcons.com
+Check back often for new icons and follow @MaterialIcons for updates.
+
+Icon: qrcode
+By: Austin Andrews
\ No newline at end of file
diff --git a/Graphics/get-material-icons.sh b/Graphics/get-material-icons.sh
index b26e73c9c..9263b7132 100755
--- a/Graphics/get-material-icons.sh
+++ b/Graphics/get-material-icons.sh
@@ -16,4 +16,7 @@ python copy OpenKeychain action black help 24
python copy OpenKeychain action black settings 24
# floating action button
-python copy OpenKeychain av white play_arrow 24
\ No newline at end of file
+python copy OpenKeychain av white play_arrow 24
+
+# small floating action button
+python copy OpenKeychain file white folder 24
\ No newline at end of file
diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle
index e71206d16..bf7208060 100644
--- a/OpenKeychain/build.gradle
+++ b/OpenKeychain/build.gradle
@@ -28,7 +28,7 @@ dependencies {
compile 'com.jpardogo.materialtabstrip:library:1.0.8'
compile 'it.neokree:MaterialNavigationDrawer:1.3.1'
compile 'com.nispok:snackbar:2.7.4'
- compile 'com.getbase:floatingactionbutton:1.7.0'
+ compile 'com.getbase:floatingactionbutton:1.8.0'
}
android {
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
index 079ebb729..0f4b0278b 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
@@ -56,6 +56,8 @@ import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
+import com.getbase.floatingactionbutton.FloatingActionButton;
+
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.operations.results.ConsolidateResult;
@@ -105,6 +107,10 @@ public class KeyListFragment extends LoaderFragment
private String mQuery;
private SearchView mSearchView;
+ private FloatingActionButton mFabQrCode;
+ private FloatingActionButton mFabCloud;
+ private FloatingActionButton mFabFile;
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -123,6 +129,29 @@ public class KeyListFragment extends LoaderFragment
mStickyList = (StickyListHeadersListView) view.findViewById(R.id.key_list_list);
mStickyList.setOnItemClickListener(this);
+ mFabQrCode = (FloatingActionButton) view.findViewById(R.id.fab_add_qr_code);
+ mFabCloud = (FloatingActionButton) view.findViewById(R.id.fab_add_cloud);
+ mFabFile = (FloatingActionButton) view.findViewById(R.id.fab_add_file);
+
+ mFabQrCode.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ scanQrCode();
+ }
+ });
+ mFabCloud.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ searchCloud();
+ }
+ });
+ mFabFile.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ importFile();
+ }
+ });
+
mSwipeRefreshLayout = (ListAwareSwipeRefreshLayout) view.findViewById(R.id.key_list_swipe_container);
mSwipeRefreshLayout.setOnRefreshListener(new NoScrollableSwipeRefreshLayout.OnRefreshListener() {
@Override
@@ -496,26 +525,11 @@ public class KeyListFragment extends LoaderFragment
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
- case R.id.menu_key_list_add:
- Intent scanQrCode = new Intent(getActivity(), QrCodeScanActivity.class);
- scanQrCode.setAction(QrCodeScanActivity.ACTION_SCAN_WITH_RESULT);
- startActivityForResult(scanQrCode, 0);
- return true;
-
- case R.id.menu_key_list_search_cloud:
- searchCloud();
- return true;
case R.id.menu_key_list_create:
createKey();
return true;
- case R.id.menu_key_list_import_existing_key:
- Intent intentImportExisting = new Intent(getActivity(), ImportKeysActivity.class);
- intentImportExisting.setAction(ImportKeysActivity.ACTION_IMPORT_KEY_FROM_FILE_AND_RETURN);
- startActivityForResult(intentImportExisting, 0);
- return true;
-
case R.id.menu_key_list_export:
mExportHelper.showExportKeysDialog(null, Constants.Path.APP_DIR_FILE, true);
return true;
@@ -587,6 +601,18 @@ public class KeyListFragment extends LoaderFragment
startActivity(importIntent);
}
+ private void scanQrCode() {
+ Intent scanQrCode = new Intent(getActivity(), QrCodeScanActivity.class);
+ scanQrCode.setAction(QrCodeScanActivity.ACTION_SCAN_WITH_RESULT);
+ startActivityForResult(scanQrCode, 0);
+ }
+
+ private void importFile() {
+ Intent intentImportExisting = new Intent(getActivity(), ImportKeysActivity.class);
+ intentImportExisting.setAction(ImportKeysActivity.ACTION_IMPORT_KEY_FROM_FILE_AND_RETURN);
+ startActivityForResult(intentImportExisting, 0);
+ }
+
private void createKey() {
Intent intent = new Intent(getActivity(), CreateKeyActivity.class);
startActivityForResult(intent, 0);
diff --git a/OpenKeychain/src/main/res/drawable-hdpi/ic_folder_white_24dp.png b/OpenKeychain/src/main/res/drawable-hdpi/ic_folder_white_24dp.png
new file mode 100644
index 000000000..9f5c75609
Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-hdpi/ic_folder_white_24dp.png differ
diff --git a/OpenKeychain/src/main/res/drawable-mdpi/ic_folder_white_24dp.png b/OpenKeychain/src/main/res/drawable-mdpi/ic_folder_white_24dp.png
new file mode 100644
index 000000000..1c5797c9e
Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-mdpi/ic_folder_white_24dp.png differ
diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/ic_folder_white_24dp.png b/OpenKeychain/src/main/res/drawable-xhdpi/ic_folder_white_24dp.png
new file mode 100644
index 000000000..e5f54cef0
Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xhdpi/ic_folder_white_24dp.png differ
diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/ic_folder_white_24dp.png b/OpenKeychain/src/main/res/drawable-xxhdpi/ic_folder_white_24dp.png
new file mode 100644
index 000000000..0d1ac4876
Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxhdpi/ic_folder_white_24dp.png differ
diff --git a/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_folder_white_24dp.png b/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_folder_white_24dp.png
new file mode 100644
index 000000000..7a3c198ee
Binary files /dev/null and b/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_folder_white_24dp.png differ
diff --git a/OpenKeychain/src/main/res/drawable/qrcode.xml b/OpenKeychain/src/main/res/drawable/qrcode.xml
new file mode 100644
index 000000000..87eb7d485
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable/qrcode.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/OpenKeychain/src/main/res/layout/key_list_fragment.xml b/OpenKeychain/src/main/res/layout/key_list_fragment.xml
index 0c3c6404a..290e56872 100644
--- a/OpenKeychain/src/main/res/layout/key_list_fragment.xml
+++ b/OpenKeychain/src/main/res/layout/key_list_fragment.xml
@@ -63,18 +63,20 @@
android:layout_marginEnd="16dp">
-
-
-
-
-
-