diff --git a/.gitmodules b/.gitmodules index a971b6060..f8db64f0a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -34,6 +34,3 @@ [submodule "extern/safeslinger-exchange"] path = extern/safeslinger-exchange url = https://github.com/open-keychain/exchange-android -[submodule "extern/android-lockpattern"] - path = extern/android-lockpattern - url = https://github.com/open-keychain/android-lockpattern.git diff --git a/.travis.yml b/.travis.yml index 3c477322f..af67b2333 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ before_install: # Install required Android components. #- echo "y" | android update sdk -a --filter build-tools-19.1.0,android-19,platform-tools,extra-android-support,extra-android-m2repository --no-ui --force - - ( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) | android update sdk --no-ui --all --force --filter build-tools-21.1.1,build-tools-19.1.0,android-21,android-19,platform-tools,extra-android-support,extra-android-m2repository + - ( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) | android update sdk --no-ui --all --force --filter build-tools-21.1.2,build-tools-21.1.1,build-tools-19.1.0,android-21,android-19,platform-tools,extra-android-support,extra-android-m2repository install: echo "Installation done" script: - ./gradlew assemble -S -q diff --git a/Graphics/android-icon-copier/.gitignore b/Graphics/android-icon-copier/.gitignore new file mode 100644 index 000000000..3336b9152 --- /dev/null +++ b/Graphics/android-icon-copier/.gitignore @@ -0,0 +1,81 @@ +# Python + +*.py[cod] + +# Options +/options.json + +# Packages +*.egg +*.egg-info +/dist +/build +/eggs +/parts +/bin +/var +/sdist +/develop-eggs +/lib +/lib64 +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox +nosetests.xml + +# Translations +*.mo + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +### Generic + +*.log +*.sqlite? + +### Compiled binaries + +*.class +*.jar + +*.o +*.bin +*.a +*.lib +*.so +*.out + +*.obj +*.exe +*.dll +*.com + +### *nix OS / apps + +*.swp +*~ + +### Mac OS generated + +__MACOSX +Icon? +*.DS_Store +*.DS_Store? +._* +.Spotlight* +.Trashes + +### Windows generated + +ehthumbs.db +thumbs.db +Thumbs.db + diff --git a/Graphics/android-icon-copier/LICENSE b/Graphics/android-icon-copier/LICENSE new file mode 100644 index 000000000..4dc1175a5 --- /dev/null +++ b/Graphics/android-icon-copier/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Lucas Tan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Graphics/android-icon-copier/README.md b/Graphics/android-icon-copier/README.md new file mode 100644 index 000000000..3e12ae472 --- /dev/null +++ b/Graphics/android-icon-copier/README.md @@ -0,0 +1,109 @@ +[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-android--icon--copier-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1325) + +What is this +============ +A commandline tool to copy Android Material Design and FontAwesome icons to your + project folders: `drawable-ldpi`, `drawable-mdpi`, and etc. + +How it works +============ +It downloads from these repos: +- Material design: https://github.com/google/material-design-icons +- FontAwesome and "Classic" Android: https://github.com/svenkapudija/Android-Action-Bar-Icons + +Resolution supported +==================== + | l | m | h | xh | xxh | xxxh | +--------|---|---|---|----|-----|------| +FA | Y | Y | Y | Y | Y | - | +Classic | - | Y | Y | Y | Y | - | +Material| - | Y | Y | Y | Y | Y | + +Sizes supported +=============== +Material: 18, 24, 36, 48 dp. +FA and Classic: 32 dp only. + + +Usage +===== +
+Usage:
+Material      : ./copy {proj path} {category} {color} {icon name} [size]
+Classic and FA: ./copy {proj path} {fa/classic} {color} {icon name}
+
+ +`[]` denotes optional args. +**Args are case sensitive!** + +- `proj path`: Path to project folder relative to `base path`. + - `base path` can be defined in options file (see below). + - Auto-detects new or old project structure: `MyProject/src/main/res` or + `MyProject/res`. +- `category`: Either "classic", "fa", or Material category. +- `color`: Color of icon: Either "white", "grey" or "black". + - For Classic and FA, "white" refers to the Holo Dark theme (dark background). + "Grey" refers to the Holo Light theme. + - For Material, "grey" refers to grey600. +- `icon name`: Name of icon (must replace spaces and dashes with underscores). + - Without any prefix. Examples: FontAwesome "thumbs_up", Classic "search". +- `size` (integer): for Material only, Size in dp, defaults to 24 which is the + action bar icon size for material design. + +Examples +-------- +- `./copy MyProject maps white place` + - Downloads to `BasePath/MyProject/{src/main}/res/drawable-{m,h,xh,xxh,xxh}dpi +- `./copy MyProject maps white place 48` +- `./copy Path/to/MyProject fa grey thumbs_up` + +Windows users need to use `python copy` instead (I think). + +Filename mapping +================ +The tool also supports filename mapping of destination png files. (see options) +Mapping vars: + +- `cat`: category +- `name`: name as specified in commandline. +- `color`: color as specified: white, black, grey. +- `size`: integer only. +- `bg`: derived from color. black => bright, white => dark, grey => light. +- `bgSuffix`: "_dark" if bg is dark else empty string. + +Options file +============ +Named `options.json` in same dir. Sample: +```json +{ + "basePath": "~/Documents", + "filenameMap": { + "classic": "ic_action_{name}{bgSuffix}.png", + "fa": "ic_action_fa_{name}{bgSuffix}.png", + "material": "ic_{name}_{color}_{size}dp.png" + } +} +``` + +~ is expanded to the user home dir. + +`./copy Path/to/MyProject fa white thumbs_up` results in the +target filename of `ic_action_fa_thumbs_up_dark.png`. + +Installation +============ +- Python >= 2.7 (older or newer ver might work, you may try.) +- Python Requests package: `pip install requests` +- Git clone this repo or download the script. + +Icon cheatsheet +=============== +- Material: http://google.github.io/material-design-icons/ +- FA: http://fortawesome.github.io/Font-Awesome/icons/ (icons in 4.2 not supported) +- Classic: coming soon. + +License +======= +This project is under the MIT License. (see LICENSE) + +Please refer to the respective icon library for its licensing info. diff --git a/Graphics/android-icon-copier/classic.py b/Graphics/android-icon-copier/classic.py new file mode 100644 index 000000000..17ae1aac4 --- /dev/null +++ b/Graphics/android-icon-copier/classic.py @@ -0,0 +1,146 @@ +# Maps icon name to the dir name. +CLASSIC_MAP = { + 'about': '13_extra_actions_about', + 'accept': '01_core_accept', + 'accounts': '10_device_access_accounts', + 'add_alarm': '10_device_access_add_alarm', + 'add_group': '06_social_add_group', + 'add_person': '06_social_add_person', + 'add_to_queue': '09_media_add_to_queue', + 'airplane_mode_off': '10_device_access_airplane_mode_off', + 'airplane_mode_on': '10_device_access_airplane_mode_on', + 'alarms': '10_device_access_alarms', + 'attachment': '05_content_attachment', + 'back': '02_navigation_back', + 'backspace': '05_content_backspace', + 'bad': '03_rating_bad', + 'battery': '10_device_access_battery', + 'bightness_low': '10_device_access_bightness_low', + 'bluetooth': '10_device_access_bluetooth', + 'bluetooth_connected': '10_device_access_bluetooth_connected', + 'bluetooth_searching': '10_device_access_bluetooth_searching', + 'brightness_auto': '10_device_access_brightness_auto', + 'brightness_high': '10_device_access_brightness_high', + 'brightness_medium': '10_device_access_brightness_medium', + 'call': '01_core_call', + 'camera': '08_camera_camera', + 'cancel': '01_core_cancel', + 'cast': '09_media_cast', + 'cc_bcc': '06_social_cc_bcc', + 'chat': '06_social_chat', + 'cloud': '04_collections_cloud', + 'collapse': '02_navigation_collapse', + 'collection': '04_collections_collection', + 'computer': '11_hardware_computer', + 'copy': '01_core_copy', + 'crop': '08_camera_crop', + 'cut': '01_core_cut', + 'data_usage': '10_device_access_data_usage', + 'dial_pad': '10_device_access_dial_pad', + 'directions': '07_location_directions', + 'discard': '01_core_discard', + 'dock': '11_hardware_dock', + 'download': '09_media_download', + 'edit': '01_core_edit', + 'email': '05_content_email', + 'end_call': '10_device_access_end_call', + 'error': '12_alerts_and_states_error', + 'event': '05_content_event', + 'expand': '02_navigation_expand', + 'fast_forward': '09_media_fast_forward', + 'favorite': '03_rating_favorite', + 'flash_automatic': '08_camera_flash_automatic', + 'flash_off': '08_camera_flash_off', + 'flash_on': '08_camera_flash_on', + 'forward': '06_social_forward', + 'full_screen': '09_media_full_screen', + 'gamepad': '11_hardware_gamepad', + 'go_to_today': '04_collections_go_to_today', + 'good': '03_rating_good', + 'group': '06_social_group', + 'half_important': '03_rating_half_important', + 'headphones': '11_hardware_headphones', + 'headset': '11_hardware_headset', + 'help': '13_extra_actions_help', + 'import_export': '05_content_import_export', + 'important': '03_rating_important', + 'keyboard': '11_hardware_keyboard', + 'labels': '04_collections_labels', + 'location_found': '07_location_location_found', + 'location_off': '07_location_location_off', + 'location_searching': '07_location_location_searching', + 'make_available_offline': '09_media_make_available_offline', + 'map': '07_location_map', + 'merge': '05_content_merge', + 'mic': '08_camera_mic', + 'mic_muted': '08_camera_mic_muted', + 'mouse': '11_hardware_mouse', + 'network_cell': '10_device_access_network_cell', + 'network_wifi': '10_device_access_network_wifi', + 'new': '01_core_new', + 'new_account': '10_device_access_new_account', + 'new_attachment': '05_content_new_attachment', + 'new_email': '05_content_new_email', + 'new_event': '05_content_new_event', + 'new_label': '04_collections_new_label', + 'new_picture': '05_content_new_picture', + 'next': '09_media_next', + 'next_item': '02_navigation_next_item', + 'not_important': '03_rating_not_important', + 'not_secure': '10_device_access_not_secure', + 'overflow': '01_core_overflow', + 'paste': '01_core_paste', + 'pause': '09_media_pause', + 'pause_over_video': '09_media_pause_over_video', + 'person': '06_social_person', + 'phone': '11_hardware_phone', + 'picture': '05_content_picture', + 'place': '07_location_place', + 'play': '09_media_play', + 'play_over_video': '09_media_play_over_video', + 'previous': '09_media_previous', + 'previous_item': '02_navigation_previous_item', + 'read': '05_content_read', + 'refresh': '01_core_refresh', + 'remove': '01_core_remove', + 'repeat': '09_media_repeat', + 'replay': '09_media_replay', + 'reply': '06_social_reply', + 'reply_all': '06_social_reply_all', + 'return_from_full_screen': '09_media_return_from_full_screen', + 'rewind': '09_media_rewind', + 'ring_volume': '10_device_access_ring_volume', + 'rotate_left': '08_camera_rotate_left', + 'rotate_right': '08_camera_rotate_right', + 'save': '05_content_save', + 'screen_locked_to_landscape': '10_device_access_screen_locked_to_landscape', + 'screen_locked_to_portrait': '10_device_access_screen_locked_to_portrait', + 'screen_rotation': '10_device_access_screen_rotation', + 'sd_storage': '10_device_access_sd_storage', + 'search': '01_core_search', + 'secure': '10_device_access_secure', + 'select_all': '01_core_select_all', + 'send_now': '06_social_send_now', + 'settings': '13_extra_actions_settings', + 'share': '01_core_share', + 'shuffle': '09_media_shuffle', + 'slideshow': '09_media_slideshow', + 'sort_by_size': '04_collections_sort_by_size', + 'split': '05_content_split', + 'stop': '09_media_stop', + 'storage': '10_device_access_storage', + 'switch_camera': '08_camera_switch_camera', + 'switch_video': '08_camera_switch_video', + 'time': '10_device_access_time', + 'undo': '01_core_undo', + 'unread': '05_content_unread', + 'upload': '09_media_upload', + 'usb': '10_device_access_usb', + 'video': '08_camera_video', + 'view_as_grid': '04_collections_view_as_grid', + 'view_as_list': '04_collections_view_as_list', + 'volume_muted': '09_media_volume_muted', + 'volume_on': '09_media_volume_on', + 'warning': '12_alerts_and_states_warning', + 'web_site': '07_location_web_site', +} diff --git a/Graphics/android-icon-copier/copy b/Graphics/android-icon-copier/copy new file mode 100755 index 000000000..995a8789e --- /dev/null +++ b/Graphics/android-icon-copier/copy @@ -0,0 +1,162 @@ +#!/usr/bin/env python + +import os +import sys +import shutil +import requests +from os.path import expanduser +import classic + +resolutions = { + 'material': ("m", "h", "xh", "xxh", "xxxh"), + 'fa': ("l", "m", "h", "xh", "xxh"), + 'classic': ("m", "h", "xh", "xxh"), +} + + +class AppError(Exception): + pass + + +def make_filename(filename_format, cat, name, color, size): + args = { + 'cat': cat or '', + 'name': name, + 'color': color, + 'size': size, + } + bg = {'white': 'dark', 'grey': 'light', 'black': 'bright'}.get(color) or '' + bg_suffix = '_dark' if bg == 'dark' else '' + args['bgSuffix'] = bg_suffix + args['bg'] = bg + return filename_format.format(**args) + + +def download_url(url, target_path): + print("Downloading {} to {} ...".format(url, target_path)) + print("") + #r = requests.get(url, stream=True) + r = requests.get(url) + if r.status_code != 200: + raise AppError("url not found, perhaps invalid name, size or color") + with open(target_path, 'wb') as fd: + for chunk in r.iter_content(4096): + fd.write(chunk) + + +def make_material_icon_url(cat, res, name, color, size): + if color == 'grey': + color = 'grey600' + elif color not in ('white', 'black'): + raise AppError('invalid color') + return ('https://raw.githubusercontent.com/google/material-design-icons/master/' + + '{}/drawable-{}dpi/ic_{}_{}_{}dp.png').format(cat, res, name, color, size) + + +def make_fa_icon_url(res, name, color): + if color == 'white': + holo = 'dark' + elif color == 'grey': + holo = 'light' + else: + raise AppError('invalid color') + return ('https://raw.githubusercontent.com/svenkapudija/Android-Action-Bar-Icons/' + + 'master/Font Awesome/holo_{2}/ic_fa_{1}/drawable-{0}dpi/ic_fa_{1}.png').format(res, name, holo) + + +def make_classic_icon_url(res, name, color): + dirname = classic.CLASSIC_MAP.get(name) + if not dirname: + raise AppError('invalid name') + if color == 'white': + holo = 'dark' + elif color == 'grey': + holo = 'light' + else: + raise AppError('invalid color') + return ('https://raw.githubusercontent.com/svenkapudija/Android-Action-Bar-Icons/' + + 'master/Android Stock/holo_{2}/{3}/drawable-{0}dpi/ic_action_{1}.png').format(res, name, holo, dirname) + + +def make_target_path(base_path, proj, res, filename): + res_path1 = os.path.join(base_path, proj, 'src', 'main', 'res') + res_path2 = os.path.join(base_path, proj, 'res') + if os.path.isdir(res_path1): + res_path = res_path1 + elif os.path.isdir(res_path2): + res_path = res_path2 + else: + raise AppError('missing res dir') + res_specific_path = os.path.join(res_path, 'drawable-' + res + 'dpi') + try: + os.mkdir(res_specific_path) + except OSError: + pass + return os.path.join(res_specific_path, filename) + + +def do_material(options, proj_path, cat, name, color, size): + base_path = expanduser(options['basePath']) + filename_map = options['filenameMap'] + + for res in resolutions['material']: + filename = make_filename(filename_map['material'], cat, name, color, size) + target_path = make_target_path(base_path, proj_path, res, filename) + url = make_material_icon_url(cat, res, name, color, size) + download_url(url, target_path) + + +def do_classic_or_fa(options, proj_path, cat, name, color): + base_path = expanduser(options['basePath']) + filename_map = options['filenameMap'] + + for res in resolutions[cat]: + filename = make_filename(filename_map[cat], cat, name, color, size=32) + target_path = make_target_path(base_path, proj_path, res, filename) + url = globals()['make_' + cat + '_icon_url'](res, name, color) + download_url(url, target_path) + + +def print_usage(): + print("Usage:") + print("Material : ./copy [size]") + print("Classic & FA: ./copy ") + print("") + + +def main(): + import json + + if len(sys.argv) < 5: + print_usage() + return + + option_filename = 'options.json' + if not os.path.exists(option_filename): + option_filename = 'options.templ.json' + print("WARNING: using the template options file") + print("You should create your own options.json") + + with open(option_filename, 'r') as fd: + options = json.load(fd) + + proj_path = sys.argv[1] + cat = sys.argv[2] + color = sys.argv[3] + name = sys.argv[4] + + if cat == 'classic' or cat == 'fa': + do_classic_or_fa(options, proj_path, cat, name, color) + else: + size = sys.argv[5] if len(sys.argv) >= 6 else 0 + size = int(size) or 24 + do_material(options, proj_path, cat, name, color, size) + + +if __name__ == "__main__": + try: + main() + except AppError as e: + print(e.message) + + diff --git a/Graphics/android-icon-copier/options.templ.json b/Graphics/android-icon-copier/options.templ.json new file mode 100644 index 000000000..319d90f42 --- /dev/null +++ b/Graphics/android-icon-copier/options.templ.json @@ -0,0 +1,8 @@ +{ + "basePath": "~/Documents", + "filenameMap": { + "classic": "ic_action_{name}{bgSuffix}.png", + "fa": "ic_action_fa_{name}{bgSuffix}.png", + "material": "ic_{name}_{color}_{size}dp.png" + } +} diff --git a/Resources/graphics/All_Icons.svg b/Graphics/drawables/All_Icons.svg similarity index 100% rename from Resources/graphics/All_Icons.svg rename to Graphics/drawables/All_Icons.svg diff --git a/Graphics/drawables/comment-text.svg b/Graphics/drawables/comment-text.svg new file mode 100644 index 000000000..b881741b1 --- /dev/null +++ b/Graphics/drawables/comment-text.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Graphics/drawables/create_key_robot.svg b/Graphics/drawables/create_key_robot.svg new file mode 100644 index 000000000..ac951c8e5 --- /dev/null +++ b/Graphics/drawables/create_key_robot.svg @@ -0,0 +1,99 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/Graphics/drawables/drawer_header.svg b/Graphics/drawables/drawer_header.svg new file mode 100644 index 000000000..b8896d6ad --- /dev/null +++ b/Graphics/drawables/drawer_header.svg @@ -0,0 +1,5885 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Open + Keychain + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %#&$! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Open + Keychain + + diff --git a/Resources/graphics/first_time_1.svg b/Graphics/drawables/first_time_1.svg similarity index 95% rename from Resources/graphics/first_time_1.svg rename to Graphics/drawables/first_time_1.svg index 1f40c5ff3..eb44a8b8f 100644 --- a/Resources/graphics/first_time_1.svg +++ b/Graphics/drawables/first_time_1.svg @@ -14,7 +14,10 @@ id="svg4325" version="1.1" inkscape:version="0.48.3.1 r9886" - sodipodi:docname="ok_start.svg"> + sodipodi:docname="first_time_1.svg" + inkscape:export-filename="/home/schuerm/Projekte/OpenKeychain/Graphics/drawables/first_time_1.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + d="m 316.87315,407.66223 c 0,5.18531 -4.20353,9.38884 -9.38884,9.38884 -5.18531,0 -9.38883,-4.20353 -9.38883,-9.38884 0,-5.18531 4.20352,-9.38883 9.38883,-9.38883 5.18531,0 9.38884,4.20352 9.38884,9.38883 z" /> + + + + + image/svg+xml + + + + + + + + + diff --git a/Graphics/drawables/ic_action_encrypt_text.svg b/Graphics/drawables/ic_action_encrypt_text.svg new file mode 100644 index 000000000..92811bc94 --- /dev/null +++ b/Graphics/drawables/ic_action_encrypt_text.svg @@ -0,0 +1,60 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/Resources/graphics/ic_action_safeslinger.svg b/Graphics/drawables/ic_action_safeslinger.svg similarity index 100% rename from Resources/graphics/ic_action_safeslinger.svg rename to Graphics/drawables/ic_action_safeslinger.svg diff --git a/Resources/graphics/ic_action_search_cloud.svg b/Graphics/drawables/ic_action_search_cloud.svg similarity index 100% rename from Resources/graphics/ic_action_search_cloud.svg rename to Graphics/drawables/ic_action_search_cloud.svg diff --git a/Graphics/drawables/ic_action_verified_cutout.svg b/Graphics/drawables/ic_action_verified_cutout.svg new file mode 100644 index 000000000..c50b64a4b --- /dev/null +++ b/Graphics/drawables/ic_action_verified_cutout.svg @@ -0,0 +1,74 @@ + + + + + + image/svg+xml + + + + + + + signature-verified-cutout + Created with Sketch. + + + + + + + diff --git a/Graphics/drawables/ic_cloud_search_24px.svg b/Graphics/drawables/ic_cloud_search_24px.svg new file mode 100644 index 000000000..3b20e2d90 --- /dev/null +++ b/Graphics/drawables/ic_cloud_search_24px.svg @@ -0,0 +1,54 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/Resources/graphics/ic_launcher_old.svg b/Graphics/drawables/ic_launcher_old.svg similarity index 100% rename from Resources/graphics/ic_launcher_old.svg rename to Graphics/drawables/ic_launcher_old.svg diff --git a/Resources/graphics/icon_sizes.txt b/Graphics/drawables/icon_sizes.txt similarity index 100% rename from Resources/graphics/icon_sizes.txt rename to Graphics/drawables/icon_sizes.txt diff --git a/Resources/graphics/key_flag_authenticate.svg b/Graphics/drawables/key_flag_authenticate.svg similarity index 100% rename from Resources/graphics/key_flag_authenticate.svg rename to Graphics/drawables/key_flag_authenticate.svg diff --git a/Resources/graphics/key_flag_certify.svg b/Graphics/drawables/key_flag_certify.svg similarity index 100% rename from Resources/graphics/key_flag_certify.svg rename to Graphics/drawables/key_flag_certify.svg diff --git a/Resources/graphics/key_flag_encrypt.svg b/Graphics/drawables/key_flag_encrypt.svg similarity index 100% rename from Resources/graphics/key_flag_encrypt.svg rename to Graphics/drawables/key_flag_encrypt.svg diff --git a/Resources/graphics/key_flag_sign.svg b/Graphics/drawables/key_flag_sign.svg similarity index 100% rename from Resources/graphics/key_flag_sign.svg rename to Graphics/drawables/key_flag_sign.svg diff --git a/Resources/new icon/Feature Graphic.psd b/Graphics/drawables/material-launcher/Feature Graphic.psd similarity index 100% rename from Resources/new icon/Feature Graphic.psd rename to Graphics/drawables/material-launcher/Feature Graphic.psd diff --git a/Resources/new icon/Feature-Graphic.png b/Graphics/drawables/material-launcher/Feature-Graphic.png similarity index 100% rename from Resources/new icon/Feature-Graphic.png rename to Graphics/drawables/material-launcher/Feature-Graphic.png diff --git a/Resources/new icon/preview.psd b/Graphics/drawables/material-launcher/preview.psd similarity index 100% rename from Resources/new icon/preview.psd rename to Graphics/drawables/material-launcher/preview.psd diff --git a/Resources/new icon/preview1.png b/Graphics/drawables/material-launcher/preview1.png similarity index 100% rename from Resources/new icon/preview1.png rename to Graphics/drawables/material-launcher/preview1.png diff --git a/Resources/new icon/preview2.png b/Graphics/drawables/material-launcher/preview2.png similarity index 100% rename from Resources/new icon/preview2.png rename to Graphics/drawables/material-launcher/preview2.png diff --git a/Resources/new icon/preview3.png b/Graphics/drawables/material-launcher/preview3.png similarity index 100% rename from Resources/new icon/preview3.png rename to Graphics/drawables/material-launcher/preview3.png diff --git a/Resources/new icon/ready-launcher-icons/144/vector-src-blue.png b/Graphics/drawables/material-launcher/ready-launcher-icons/144/vector-src-blue.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/144/vector-src-blue.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/144/vector-src-blue.png diff --git a/Resources/new icon/ready-launcher-icons/144/vector-src-purple.png b/Graphics/drawables/material-launcher/ready-launcher-icons/144/vector-src-purple.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/144/vector-src-purple.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/144/vector-src-purple.png diff --git a/Resources/new icon/ready-launcher-icons/144/vector-src.png b/Graphics/drawables/material-launcher/ready-launcher-icons/144/vector-src.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/144/vector-src.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/144/vector-src.png diff --git a/Resources/new icon/ready-launcher-icons/192/vector-src-blue.png b/Graphics/drawables/material-launcher/ready-launcher-icons/192/vector-src-blue.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/192/vector-src-blue.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/192/vector-src-blue.png diff --git a/Resources/new icon/ready-launcher-icons/192/vector-src-purple.png b/Graphics/drawables/material-launcher/ready-launcher-icons/192/vector-src-purple.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/192/vector-src-purple.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/192/vector-src-purple.png diff --git a/Resources/new icon/ready-launcher-icons/192/vector-src.png b/Graphics/drawables/material-launcher/ready-launcher-icons/192/vector-src.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/192/vector-src.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/192/vector-src.png diff --git a/Resources/new icon/ready-launcher-icons/48/vector-src-blue.png b/Graphics/drawables/material-launcher/ready-launcher-icons/48/vector-src-blue.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/48/vector-src-blue.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/48/vector-src-blue.png diff --git a/Resources/new icon/ready-launcher-icons/48/vector-src-purple.png b/Graphics/drawables/material-launcher/ready-launcher-icons/48/vector-src-purple.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/48/vector-src-purple.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/48/vector-src-purple.png diff --git a/Resources/new icon/ready-launcher-icons/48/vector-src.png b/Graphics/drawables/material-launcher/ready-launcher-icons/48/vector-src.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/48/vector-src.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/48/vector-src.png diff --git a/Resources/new icon/ready-launcher-icons/512/vector-src-blue.png b/Graphics/drawables/material-launcher/ready-launcher-icons/512/vector-src-blue.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/512/vector-src-blue.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/512/vector-src-blue.png diff --git a/Resources/new icon/ready-launcher-icons/512/vector-src-purple.png b/Graphics/drawables/material-launcher/ready-launcher-icons/512/vector-src-purple.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/512/vector-src-purple.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/512/vector-src-purple.png diff --git a/Resources/new icon/ready-launcher-icons/512/vector-src.png b/Graphics/drawables/material-launcher/ready-launcher-icons/512/vector-src.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/512/vector-src.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/512/vector-src.png diff --git a/Resources/new icon/ready-launcher-icons/72/vector-src-blue.png b/Graphics/drawables/material-launcher/ready-launcher-icons/72/vector-src-blue.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/72/vector-src-blue.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/72/vector-src-blue.png diff --git a/Resources/new icon/ready-launcher-icons/72/vector-src-purple.png b/Graphics/drawables/material-launcher/ready-launcher-icons/72/vector-src-purple.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/72/vector-src-purple.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/72/vector-src-purple.png diff --git a/Resources/new icon/ready-launcher-icons/72/vector-src.png b/Graphics/drawables/material-launcher/ready-launcher-icons/72/vector-src.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/72/vector-src.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/72/vector-src.png diff --git a/Resources/new icon/ready-launcher-icons/96/vector-src-blue.png b/Graphics/drawables/material-launcher/ready-launcher-icons/96/vector-src-blue.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/96/vector-src-blue.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/96/vector-src-blue.png diff --git a/Resources/new icon/ready-launcher-icons/96/vector-src-purple.png b/Graphics/drawables/material-launcher/ready-launcher-icons/96/vector-src-purple.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/96/vector-src-purple.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/96/vector-src-purple.png diff --git a/Resources/new icon/ready-launcher-icons/96/vector-src.png b/Graphics/drawables/material-launcher/ready-launcher-icons/96/vector-src.png similarity index 100% rename from Resources/new icon/ready-launcher-icons/96/vector-src.png rename to Graphics/drawables/material-launcher/ready-launcher-icons/96/vector-src.png diff --git a/Resources/new icon/vector-src blue.ai b/Graphics/drawables/material-launcher/vector-src blue.ai similarity index 100% rename from Resources/new icon/vector-src blue.ai rename to Graphics/drawables/material-launcher/vector-src blue.ai diff --git a/Resources/new icon/vector-src purple.ai b/Graphics/drawables/material-launcher/vector-src purple.ai similarity index 100% rename from Resources/new icon/vector-src purple.ai rename to Graphics/drawables/material-launcher/vector-src purple.ai diff --git a/Resources/new icon/vector-src purple.psd b/Graphics/drawables/material-launcher/vector-src purple.psd similarity index 100% rename from Resources/new icon/vector-src purple.psd rename to Graphics/drawables/material-launcher/vector-src purple.psd diff --git a/Resources/new icon/vector-src.ai b/Graphics/drawables/material-launcher/vector-src.ai similarity index 100% rename from Resources/new icon/vector-src.ai rename to Graphics/drawables/material-launcher/vector-src.ai diff --git a/Resources/new icon/vector-src.psd b/Graphics/drawables/material-launcher/vector-src.psd similarity index 100% rename from Resources/new icon/vector-src.psd rename to Graphics/drawables/material-launcher/vector-src.psd diff --git a/Graphics/drawables/material-launcher/vector-src.svg b/Graphics/drawables/material-launcher/vector-src.svg new file mode 100644 index 000000000..a4d255d48 --- /dev/null +++ b/Graphics/drawables/material-launcher/vector-src.svg @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/Resources/new icon/vector.psd b/Graphics/drawables/material-launcher/vector.psd similarity index 100% rename from Resources/new icon/vector.psd rename to Graphics/drawables/material-launcher/vector.psd diff --git a/Resources/graphics/originals/gnupg-infographic/README b/Graphics/drawables/originals/gnupg-infographic/README similarity index 100% rename from Resources/graphics/originals/gnupg-infographic/README rename to Graphics/drawables/originals/gnupg-infographic/README diff --git a/Resources/graphics/originals/gnupg-infographic/gnupg-infographic.png b/Graphics/drawables/originals/gnupg-infographic/gnupg-infographic.png similarity index 100% rename from Resources/graphics/originals/gnupg-infographic/gnupg-infographic.png rename to Graphics/drawables/originals/gnupg-infographic/gnupg-infographic.png diff --git a/Resources/graphics/originals/gnupg-infographic/gnupg-infographic.svg b/Graphics/drawables/originals/gnupg-infographic/gnupg-infographic.svg similarity index 100% rename from Resources/graphics/originals/gnupg-infographic/gnupg-infographic.svg rename to Graphics/drawables/originals/gnupg-infographic/gnupg-infographic.svg diff --git a/Resources/graphics/originals/ic_action_qr_code/ic_menu_qr_code.svg b/Graphics/drawables/originals/ic_action_qr_code/ic_menu_qr_code.svg similarity index 100% rename from Resources/graphics/originals/ic_action_qr_code/ic_menu_qr_code.svg rename to Graphics/drawables/originals/ic_action_qr_code/ic_menu_qr_code.svg diff --git a/Graphics/drawables/originals/ic_cloud_24px.svg b/Graphics/drawables/originals/ic_cloud_24px.svg new file mode 100644 index 000000000..63f946c3e --- /dev/null +++ b/Graphics/drawables/originals/ic_cloud_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Resources/graphics/originals/ic_launcher/AUTHORS b/Graphics/drawables/originals/ic_launcher-old/AUTHORS similarity index 100% rename from Resources/graphics/originals/ic_launcher/AUTHORS rename to Graphics/drawables/originals/ic_launcher-old/AUTHORS diff --git a/Resources/graphics/originals/ic_launcher/COPYING b/Graphics/drawables/originals/ic_launcher-old/COPYING similarity index 100% rename from Resources/graphics/originals/ic_launcher/COPYING rename to Graphics/drawables/originals/ic_launcher-old/COPYING diff --git a/Resources/graphics/originals/ic_launcher/kgpg_key2_kopete.svgz b/Graphics/drawables/originals/ic_launcher-old/kgpg_key2_kopete.svgz similarity index 100% rename from Resources/graphics/originals/ic_launcher/kgpg_key2_kopete.svgz rename to Graphics/drawables/originals/ic_launcher-old/kgpg_key2_kopete.svgz diff --git a/Graphics/drawables/originals/ic_search_24px.svg b/Graphics/drawables/originals/ic_search_24px.svg new file mode 100644 index 000000000..12440059b --- /dev/null +++ b/Graphics/drawables/originals/ic_search_24px.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Resources/graphics/originals/modernpgp-icons/README.md b/Graphics/drawables/originals/modernpgp-icons/README.md similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/README.md rename to Graphics/drawables/originals/modernpgp-icons/README.md diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-closed.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-closed.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-closed.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-closed.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-closed.svg b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-closed.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-closed.svg rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-closed.svg diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-closed@200.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-closed@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-closed@200.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-closed@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-closed@300.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-closed@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-closed@300.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-closed@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-closed@512x.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-closed@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-closed@512x.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-closed@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-error.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-error.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-error.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-error.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-error.svg b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-error.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-error.svg rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-error.svg diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-error@200.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-error@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-error@200.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-error@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-error@300.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-error@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-error@300.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-error@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-error@512x.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-error@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-error@512x.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-error@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-open.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-open.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-open.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-open.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-open.svg b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-open.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-open.svg rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-open.svg diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-open@200.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-open@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-open@200.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-open@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-open@300.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-open@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-open@300.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-open@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/encryption/lock-open@512x.png b/Graphics/drawables/originals/modernpgp-icons/encryption/lock-open@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/encryption/lock-open@512x.png rename to Graphics/drawables/originals/modernpgp-icons/encryption/lock-open@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/keys/icon-fingerprint.png b/Graphics/drawables/originals/modernpgp-icons/keys/icon-fingerprint.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/keys/icon-fingerprint.png rename to Graphics/drawables/originals/modernpgp-icons/keys/icon-fingerprint.png diff --git a/Resources/graphics/originals/modernpgp-icons/keys/icon-fingerprint.svg b/Graphics/drawables/originals/modernpgp-icons/keys/icon-fingerprint.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/keys/icon-fingerprint.svg rename to Graphics/drawables/originals/modernpgp-icons/keys/icon-fingerprint.svg diff --git a/Resources/graphics/originals/modernpgp-icons/keys/icon-fingerprint@200.png b/Graphics/drawables/originals/modernpgp-icons/keys/icon-fingerprint@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/keys/icon-fingerprint@200.png rename to Graphics/drawables/originals/modernpgp-icons/keys/icon-fingerprint@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/keys/icon-fingerprint@300.png b/Graphics/drawables/originals/modernpgp-icons/keys/icon-fingerprint@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/keys/icon-fingerprint@300.png rename to Graphics/drawables/originals/modernpgp-icons/keys/icon-fingerprint@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/keys/icon-fingerprint@512x.png b/Graphics/drawables/originals/modernpgp-icons/keys/icon-fingerprint@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/keys/icon-fingerprint@512x.png rename to Graphics/drawables/originals/modernpgp-icons/keys/icon-fingerprint@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/keys/icon-key.png b/Graphics/drawables/originals/modernpgp-icons/keys/icon-key.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/keys/icon-key.png rename to Graphics/drawables/originals/modernpgp-icons/keys/icon-key.png diff --git a/Resources/graphics/originals/modernpgp-icons/keys/icon-key.svg b/Graphics/drawables/originals/modernpgp-icons/keys/icon-key.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/keys/icon-key.svg rename to Graphics/drawables/originals/modernpgp-icons/keys/icon-key.svg diff --git a/Resources/graphics/originals/modernpgp-icons/keys/icon-key@200.png b/Graphics/drawables/originals/modernpgp-icons/keys/icon-key@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/keys/icon-key@200.png rename to Graphics/drawables/originals/modernpgp-icons/keys/icon-key@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/keys/icon-key@300.png b/Graphics/drawables/originals/modernpgp-icons/keys/icon-key@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/keys/icon-key@300.png rename to Graphics/drawables/originals/modernpgp-icons/keys/icon-key@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/keys/icon-key@512x.png b/Graphics/drawables/originals/modernpgp-icons/keys/icon-key@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/keys/icon-key@512x.png rename to Graphics/drawables/originals/modernpgp-icons/keys/icon-key@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-expired-cutout.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired-cutout.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-expired-cutout.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired-cutout.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-expired-cutout.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired-cutout.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-expired-cutout.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired-cutout.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-expired-cutout@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired-cutout@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-expired-cutout@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired-cutout@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-expired-cutout@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired-cutout@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-expired-cutout@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired-cutout@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-expired-cutout@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired-cutout@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-expired-cutout@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired-cutout@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-expired.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-expired.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-expired.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-expired.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-expired@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-expired@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-expired@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-expired@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-expired@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-expired@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-expired@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid-cutout.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid-cutout.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid-cutout.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid-cutout.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid-cutout.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid-cutout.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid-cutout.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid-cutout.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid-cutout@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid-cutout@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid-cutout@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid-cutout@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid-cutout@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid-cutout@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid-cutout@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid-cutout@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid-cutout@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid-cutout@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid-cutout@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid-cutout@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-invalid@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-invalid@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked-cutout.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked-cutout.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked-cutout.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked-cutout.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked-cutout.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked-cutout.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked-cutout.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked-cutout.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked-cutout@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked-cutout@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked-cutout@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked-cutout@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked-cutout@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked-cutout@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked-cutout@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked-cutout@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked-cutout@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked-cutout@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked-cutout@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked-cutout@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-revoked@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-revoked@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown-cutout.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown-cutout.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown-cutout.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown-cutout.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown-cutout.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown-cutout.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown-cutout.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown-cutout.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown-cutout@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown-cutout@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown-cutout@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown-cutout@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown-cutout@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown-cutout@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown-cutout@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown-cutout@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown-cutout@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown-cutout@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown-cutout@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown-cutout@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unknown@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unknown@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified-cutout.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified-cutout.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified-cutout.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified-cutout.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified-cutout.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified-cutout.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified-cutout.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified-cutout.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified-cutout@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified-cutout@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified-cutout@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified-cutout@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified-cutout@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified-cutout@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified-cutout@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified-cutout@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified-cutout@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified-cutout@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified-cutout@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified-cutout@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-unverified@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-unverified@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-verified-cutout.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified-cutout.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-verified-cutout.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified-cutout.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-verified-cutout.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified-cutout.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-verified-cutout.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified-cutout.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-verified-cutout@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified-cutout@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-verified-cutout@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified-cutout@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-verified-cutout@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified-cutout@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-verified-cutout@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified-cutout@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-verified-cutout@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified-cutout@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-verified-cutout@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified-cutout@512x.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-verified.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-verified.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-verified.svg b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified.svg similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-verified.svg rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified.svg diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-verified@200.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified@200.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-verified@200.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified@200.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-verified@300.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified@300.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-verified@300.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified@300.png diff --git a/Resources/graphics/originals/modernpgp-icons/signatures/signature-verified@512x.png b/Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified@512x.png similarity index 100% rename from Resources/graphics/originals/modernpgp-icons/signatures/signature-verified@512x.png rename to Graphics/drawables/originals/modernpgp-icons/signatures/signature-verified@512x.png diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_18dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_18dp.png new file mode 100644 index 000000000..2f4925ed0 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_24dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_24dp.png new file mode 100644 index 000000000..684c2cb81 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_36dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_36dp.png new file mode 100644 index 000000000..f05f51239 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_48dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_48dp.png new file mode 100644 index 000000000..5789581cc Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_black_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_18dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_18dp.png new file mode 100644 index 000000000..01cc481bf Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_24dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_24dp.png new file mode 100644 index 000000000..fedf39013 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_36dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_36dp.png new file mode 100644 index 000000000..e97bebf0e Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_48dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_48dp.png new file mode 100644 index 000000000..7e8fa6ba2 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_grey600_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_18dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_18dp.png new file mode 100644 index 000000000..b22411115 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_24dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_24dp.png new file mode 100644 index 000000000..1d87415c5 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_36dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_36dp.png new file mode 100644 index 000000000..1ef58907d Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_48dp.png b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_48dp.png new file mode 100644 index 000000000..484856b3f Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-hdpi/ic_nfc_white_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_18dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_18dp.png new file mode 100644 index 000000000..18b1f33c4 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_24dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_24dp.png new file mode 100644 index 000000000..21f86d95e Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_36dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_36dp.png new file mode 100644 index 000000000..684c2cb81 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_48dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_48dp.png new file mode 100644 index 000000000..c987c1249 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_black_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_18dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_18dp.png new file mode 100644 index 000000000..a2eb50380 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_24dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_24dp.png new file mode 100644 index 000000000..f8f6c3812 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_36dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_36dp.png new file mode 100644 index 000000000..fedf39013 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_48dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_48dp.png new file mode 100644 index 000000000..04e0bf781 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_grey600_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_18dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_18dp.png new file mode 100644 index 000000000..71e38338d Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_24dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_24dp.png new file mode 100644 index 000000000..65ae04b7c Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_36dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_36dp.png new file mode 100644 index 000000000..1d87415c5 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_48dp.png b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_48dp.png new file mode 100644 index 000000000..44b9006ab Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-mdpi/ic_nfc_white_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_18dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_18dp.png new file mode 100644 index 000000000..684c2cb81 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_24dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_24dp.png new file mode 100644 index 000000000..c987c1249 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_36dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_36dp.png new file mode 100644 index 000000000..5789581cc Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_48dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_48dp.png new file mode 100644 index 000000000..aabd4c0b6 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_black_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_18dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_18dp.png new file mode 100644 index 000000000..fedf39013 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_24dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_24dp.png new file mode 100644 index 000000000..04e0bf781 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_36dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_36dp.png new file mode 100644 index 000000000..7e8fa6ba2 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_48dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_48dp.png new file mode 100644 index 000000000..ee00975dc Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_grey600_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_18dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_18dp.png new file mode 100644 index 000000000..1d87415c5 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_24dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_24dp.png new file mode 100644 index 000000000..44b9006ab Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_36dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_36dp.png new file mode 100644 index 000000000..484856b3f Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_48dp.png b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_48dp.png new file mode 100644 index 000000000..c8f25bbf7 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xhdpi/ic_nfc_white_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_18dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_18dp.png new file mode 100644 index 000000000..f05f51239 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_24dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_24dp.png new file mode 100644 index 000000000..5789581cc Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_36dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_36dp.png new file mode 100644 index 000000000..2f6bc956b Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_48dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_48dp.png new file mode 100644 index 000000000..e9caeea57 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_black_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_18dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_18dp.png new file mode 100644 index 000000000..e97bebf0e Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_24dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_24dp.png new file mode 100644 index 000000000..7e8fa6ba2 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_36dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_36dp.png new file mode 100644 index 000000000..b3bb585a5 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_48dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_48dp.png new file mode 100644 index 000000000..c31ee82b6 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_grey600_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_18dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_18dp.png new file mode 100644 index 000000000..1ef58907d Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_24dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_24dp.png new file mode 100644 index 000000000..484856b3f Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_36dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_36dp.png new file mode 100644 index 000000000..adc28d66c Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_48dp.png b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_48dp.png new file mode 100644 index 000000000..5cd14b5cf Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxhdpi/ic_nfc_white_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_18dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_18dp.png new file mode 100644 index 000000000..5789581cc Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_24dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_24dp.png new file mode 100644 index 000000000..aabd4c0b6 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_36dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_36dp.png new file mode 100644 index 000000000..e9caeea57 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_48dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_48dp.png new file mode 100644 index 000000000..841d1a80a Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_black_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_18dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_18dp.png new file mode 100644 index 000000000..7e8fa6ba2 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_24dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_24dp.png new file mode 100644 index 000000000..ee00975dc Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_36dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_36dp.png new file mode 100644 index 000000000..c31ee82b6 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_48dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_48dp.png new file mode 100644 index 000000000..721f42e4b Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_grey600_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_18dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_18dp.png new file mode 100644 index 000000000..484856b3f Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_18dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_24dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_24dp.png new file mode 100644 index 000000000..c8f25bbf7 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_24dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_36dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_36dp.png new file mode 100644 index 000000000..5cd14b5cf Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_36dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_48dp.png b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_48dp.png new file mode 100644 index 000000000..4ac095cc3 Binary files /dev/null and b/Graphics/drawables/originals/nfc/drawable-xxxhdpi/ic_nfc_white_48dp.png differ diff --git a/Graphics/drawables/originals/nfc/drawable/nfc.xml b/Graphics/drawables/originals/nfc/drawable/nfc.xml new file mode 100644 index 000000000..a0ce6f228 --- /dev/null +++ b/Graphics/drawables/originals/nfc/drawable/nfc.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/Graphics/drawables/originals/nfc/readme.txt b/Graphics/drawables/originals/nfc/readme.txt new file mode 100644 index 000000000..cc9018452 --- /dev/null +++ b/Graphics/drawables/originals/nfc/readme.txt @@ -0,0 +1,5 @@ +Thanks for visiting MaterialDesignIcons.com +Check back often for new icons and follow @MaterialIcons for updates. + +Icon: nfc +By: Austin Andrews \ No newline at end of file diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_18dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_18dp.png new file mode 100644 index 000000000..d5e2bffeb Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_24dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_24dp.png new file mode 100644 index 000000000..75231c4c4 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_36dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_36dp.png new file mode 100644 index 000000000..0e59ee75a Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_48dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_48dp.png new file mode 100644 index 000000000..063776cb6 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_black_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_18dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_18dp.png new file mode 100644 index 000000000..97a120be1 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_24dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_24dp.png new file mode 100644 index 000000000..956eb886c Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_36dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_36dp.png new file mode 100644 index 000000000..b171b7142 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_48dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_48dp.png new file mode 100644 index 000000000..1a2d6ed75 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_grey600_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_18dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_18dp.png new file mode 100644 index 000000000..667202070 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_24dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_24dp.png new file mode 100644 index 000000000..261f4a5ab Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_36dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_36dp.png new file mode 100644 index 000000000..2b1fea929 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_48dp.png b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_48dp.png new file mode 100644 index 000000000..c4f2f57c9 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-hdpi/ic_qrcode_white_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_18dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_18dp.png new file mode 100644 index 000000000..b9dfb309c Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_24dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_24dp.png new file mode 100644 index 000000000..f2e6ad3e7 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_36dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_36dp.png new file mode 100644 index 000000000..75231c4c4 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_48dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_48dp.png new file mode 100644 index 000000000..593aa8f2a Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_black_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_18dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_18dp.png new file mode 100644 index 000000000..7ecef0044 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_24dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_24dp.png new file mode 100644 index 000000000..af36e585c Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_36dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_36dp.png new file mode 100644 index 000000000..956eb886c Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_48dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_48dp.png new file mode 100644 index 000000000..347b0378a Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_grey600_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_18dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_18dp.png new file mode 100644 index 000000000..be2f80974 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_24dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_24dp.png new file mode 100644 index 000000000..5cf552b13 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_36dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_36dp.png new file mode 100644 index 000000000..261f4a5ab Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_48dp.png b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_48dp.png new file mode 100644 index 000000000..a2c6ade61 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-mdpi/ic_qrcode_white_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_18dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_18dp.png new file mode 100644 index 000000000..75231c4c4 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_24dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_24dp.png new file mode 100644 index 000000000..593aa8f2a Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_36dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_36dp.png new file mode 100644 index 000000000..063776cb6 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_48dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_48dp.png new file mode 100644 index 000000000..43daf96e6 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_black_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_18dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_18dp.png new file mode 100644 index 000000000..956eb886c Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_24dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_24dp.png new file mode 100644 index 000000000..347b0378a Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_36dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_36dp.png new file mode 100644 index 000000000..1a2d6ed75 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_48dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_48dp.png new file mode 100644 index 000000000..bd6700d03 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_grey600_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_18dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_18dp.png new file mode 100644 index 000000000..261f4a5ab Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_24dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_24dp.png new file mode 100644 index 000000000..a2c6ade61 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_36dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_36dp.png new file mode 100644 index 000000000..c4f2f57c9 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_48dp.png b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_48dp.png new file mode 100644 index 000000000..e795f80a5 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xhdpi/ic_qrcode_white_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_18dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_18dp.png new file mode 100644 index 000000000..0e59ee75a Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_24dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_24dp.png new file mode 100644 index 000000000..063776cb6 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_36dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_36dp.png new file mode 100644 index 000000000..f87c96984 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_48dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_48dp.png new file mode 100644 index 000000000..d52c08b40 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_black_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_18dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_18dp.png new file mode 100644 index 000000000..b171b7142 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_24dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_24dp.png new file mode 100644 index 000000000..1a2d6ed75 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_36dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_36dp.png new file mode 100644 index 000000000..59cb56370 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_48dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_48dp.png new file mode 100644 index 000000000..8ff5607c4 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_grey600_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_18dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_18dp.png new file mode 100644 index 000000000..2b1fea929 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_24dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_24dp.png new file mode 100644 index 000000000..c4f2f57c9 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_36dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_36dp.png new file mode 100644 index 000000000..f138dfa61 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_48dp.png b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_48dp.png new file mode 100644 index 000000000..3b15d3fcc Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxhdpi/ic_qrcode_white_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_18dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_18dp.png new file mode 100644 index 000000000..063776cb6 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_24dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_24dp.png new file mode 100644 index 000000000..43daf96e6 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_36dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_36dp.png new file mode 100644 index 000000000..d52c08b40 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_48dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_48dp.png new file mode 100644 index 000000000..0ac5a7987 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_black_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_18dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_18dp.png new file mode 100644 index 000000000..1a2d6ed75 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_24dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_24dp.png new file mode 100644 index 000000000..bd6700d03 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_36dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_36dp.png new file mode 100644 index 000000000..8ff5607c4 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_48dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_48dp.png new file mode 100644 index 000000000..9412036dd Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_grey600_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_18dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_18dp.png new file mode 100644 index 000000000..c4f2f57c9 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_18dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_24dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_24dp.png new file mode 100644 index 000000000..e795f80a5 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_24dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_36dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_36dp.png new file mode 100644 index 000000000..3b15d3fcc Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_36dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_48dp.png b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_48dp.png new file mode 100644 index 000000000..5de99e5c4 Binary files /dev/null and b/Graphics/drawables/originals/qrcode/drawable-xxxhdpi/ic_qrcode_white_48dp.png differ diff --git a/Graphics/drawables/originals/qrcode/drawable/qrcode.xml b/Graphics/drawables/originals/qrcode/drawable/qrcode.xml new file mode 100644 index 000000000..7d59b50e9 --- /dev/null +++ b/Graphics/drawables/originals/qrcode/drawable/qrcode.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/Graphics/drawables/originals/qrcode/readme.txt b/Graphics/drawables/originals/qrcode/readme.txt new file mode 100644 index 000000000..cc545383e --- /dev/null +++ b/Graphics/drawables/originals/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/Resources/graphics/originals/tango or oxygen/1270234450.svg b/Graphics/drawables/originals/tango or oxygen/1270234450.svg similarity index 100% rename from Resources/graphics/originals/tango or oxygen/1270234450.svg rename to Graphics/drawables/originals/tango or oxygen/1270234450.svg diff --git a/Resources/graphics/originals/tango or oxygen/application-pgp-signature.svg b/Graphics/drawables/originals/tango or oxygen/application-pgp-signature.svg similarity index 100% rename from Resources/graphics/originals/tango or oxygen/application-pgp-signature.svg rename to Graphics/drawables/originals/tango or oxygen/application-pgp-signature.svg diff --git a/Resources/graphics/originals/tango or oxygen/application-pkcs7-signature.svg b/Graphics/drawables/originals/tango or oxygen/application-pkcs7-signature.svg similarity index 100% rename from Resources/graphics/originals/tango or oxygen/application-pkcs7-signature.svg rename to Graphics/drawables/originals/tango or oxygen/application-pkcs7-signature.svg diff --git a/Resources/graphics/originals/tango or oxygen/osa_id_card.svg b/Graphics/drawables/originals/tango or oxygen/osa_id_card.svg similarity index 100% rename from Resources/graphics/originals/tango or oxygen/osa_id_card.svg rename to Graphics/drawables/originals/tango or oxygen/osa_id_card.svg diff --git a/Resources/graphics/originals/tango or oxygen/osa_padlock.svg b/Graphics/drawables/originals/tango or oxygen/osa_padlock.svg similarity index 100% rename from Resources/graphics/originals/tango or oxygen/osa_padlock.svg rename to Graphics/drawables/originals/tango or oxygen/osa_padlock.svg diff --git a/Resources/graphics/originals/tango or oxygen/tango-style-pen.svg b/Graphics/drawables/originals/tango or oxygen/tango-style-pen.svg similarity index 100% rename from Resources/graphics/originals/tango or oxygen/tango-style-pen.svg rename to Graphics/drawables/originals/tango or oxygen/tango-style-pen.svg diff --git a/Resources/graphics/status_lock_closed.svg b/Graphics/drawables/status_lock_closed.svg similarity index 100% rename from Resources/graphics/status_lock_closed.svg rename to Graphics/drawables/status_lock_closed.svg diff --git a/Resources/graphics/status_lock_error.svg b/Graphics/drawables/status_lock_error.svg similarity index 100% rename from Resources/graphics/status_lock_error.svg rename to Graphics/drawables/status_lock_error.svg diff --git a/Resources/graphics/status_lock_open.svg b/Graphics/drawables/status_lock_open.svg similarity index 100% rename from Resources/graphics/status_lock_open.svg rename to Graphics/drawables/status_lock_open.svg diff --git a/Resources/graphics/status_signature_expired.svg b/Graphics/drawables/status_signature_expired.svg similarity index 100% rename from Resources/graphics/status_signature_expired.svg rename to Graphics/drawables/status_signature_expired.svg diff --git a/Resources/graphics/status_signature_expired_cutout.svg b/Graphics/drawables/status_signature_expired_cutout.svg similarity index 100% rename from Resources/graphics/status_signature_expired_cutout.svg rename to Graphics/drawables/status_signature_expired_cutout.svg diff --git a/Resources/graphics/status_signature_invalid.svg b/Graphics/drawables/status_signature_invalid.svg similarity index 100% rename from Resources/graphics/status_signature_invalid.svg rename to Graphics/drawables/status_signature_invalid.svg diff --git a/Resources/graphics/status_signature_invalid_cutout.svg b/Graphics/drawables/status_signature_invalid_cutout.svg similarity index 100% rename from Resources/graphics/status_signature_invalid_cutout.svg rename to Graphics/drawables/status_signature_invalid_cutout.svg diff --git a/Resources/graphics/status_signature_revoked.svg b/Graphics/drawables/status_signature_revoked.svg similarity index 100% rename from Resources/graphics/status_signature_revoked.svg rename to Graphics/drawables/status_signature_revoked.svg diff --git a/Resources/graphics/status_signature_revoked_cutout.svg b/Graphics/drawables/status_signature_revoked_cutout.svg similarity index 100% rename from Resources/graphics/status_signature_revoked_cutout.svg rename to Graphics/drawables/status_signature_revoked_cutout.svg diff --git a/Resources/graphics/status_signature_unknown.svg b/Graphics/drawables/status_signature_unknown.svg similarity index 100% rename from Resources/graphics/status_signature_unknown.svg rename to Graphics/drawables/status_signature_unknown.svg diff --git a/Resources/graphics/status_signature_unknown_cutout.svg b/Graphics/drawables/status_signature_unknown_cutout.svg similarity index 100% rename from Resources/graphics/status_signature_unknown_cutout.svg rename to Graphics/drawables/status_signature_unknown_cutout.svg diff --git a/Resources/graphics/status_signature_unverified.svg b/Graphics/drawables/status_signature_unverified.svg similarity index 100% rename from Resources/graphics/status_signature_unverified.svg rename to Graphics/drawables/status_signature_unverified.svg diff --git a/Resources/graphics/status_signature_unverified_cutout.svg b/Graphics/drawables/status_signature_unverified_cutout.svg similarity index 100% rename from Resources/graphics/status_signature_unverified_cutout.svg rename to Graphics/drawables/status_signature_unverified_cutout.svg diff --git a/Resources/graphics/status_signature_verified.svg b/Graphics/drawables/status_signature_verified.svg similarity index 100% rename from Resources/graphics/status_signature_verified.svg rename to Graphics/drawables/status_signature_verified.svg diff --git a/Resources/graphics/status_signature_verified_cutout.svg b/Graphics/drawables/status_signature_verified_cutout.svg similarity index 100% rename from Resources/graphics/status_signature_verified_cutout.svg rename to Graphics/drawables/status_signature_verified_cutout.svg diff --git a/Graphics/get-material-icons.sh b/Graphics/get-material-icons.sh new file mode 100755 index 000000000..f24735642 --- /dev/null +++ b/Graphics/get-material-icons.sh @@ -0,0 +1,28 @@ +# https://google.github.io/material-design-icons/ +cd ./android-icon-copier/ +python copy OpenKeychain action white search 24 +python copy OpenKeychain navigation white arrow_back 24 +python copy OpenKeychain navigation white close 24 +python copy OpenKeychain navigation white check 24 +python copy OpenKeychain navigation black expand_less 24 +python copy OpenKeychain navigation black expand_more 24 +python copy OpenKeychain navigation white refresh 24 +python copy OpenKeychain av white repeat 24 +python copy OpenKeychain av grey repeat 24 +python copy OpenKeychain editor white mode_edit 24 + +# navigation drawer sections +python copy OpenKeychain communication black vpn_key 24 +python copy OpenKeychain action black lock 24 +python copy OpenKeychain navigation black apps 24 +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 + +# small floating action button +python copy OpenKeychain file white folder 24 + +# multi select +python copy OpenKeychain action white lock 24 \ No newline at end of file diff --git a/Graphics/screenshots/device-2015-02-20-110958-device.png b/Graphics/screenshots/device-2015-02-20-110958-device.png new file mode 100644 index 000000000..092744127 Binary files /dev/null and b/Graphics/screenshots/device-2015-02-20-110958-device.png differ diff --git a/Graphics/screenshots/device-2015-02-20-110958.png b/Graphics/screenshots/device-2015-02-20-110958.png new file mode 100644 index 000000000..cc522b7a4 Binary files /dev/null and b/Graphics/screenshots/device-2015-02-20-110958.png differ diff --git a/Graphics/update-drawables.sh b/Graphics/update-drawables.sh new file mode 100755 index 000000000..2e73641f5 --- /dev/null +++ b/Graphics/update-drawables.sh @@ -0,0 +1,88 @@ +#!/bin/bash + +APP_DIR=../OpenKeychain/src/main +DRAWABLE_DIR=$APP_DIR/res/drawable +MDPI_DIR=$APP_DIR/res/drawable-mdpi +HDPI_DIR=$APP_DIR/res/drawable-hdpi +XDPI_DIR=$APP_DIR/res/drawable-xhdpi +XXDPI_DIR=$APP_DIR/res/drawable-xxhdpi +XXXDPI_DIR=$APP_DIR/res/drawable-xxxhdpi +PLAY_DIR=./drawables/ +SRC_DIR=./drawables/ + + + +# Launcher Icon: +# ----------------------- +# mdpi: 48x48 +# hdpi: 72x72 +# xhdpi: 96x96 +# xxhdpi: 144x144. +# xxxhdpi 192x192. +# google play: 512x512 + +# Adobe Illustrator (.ai) exports by Tha Phlash are way better than the Inkscape exports (.svg) + +#NAME="ic_launcher" + +#inkscape -w 48 -h 48 -e "$MDPI_DIR/$NAME.png" $NAME.svg +#inkscape -w 72 -h 72 -e "$HDPI_DIR/$NAME.png" $NAME.svg +#inkscape -w 96 -h 96 -e "$XDPI_DIR/$NAME.png" $NAME.svg +#inkscape -w 144 -h 144 -e "$XXDPI_DIR/$NAME.png" $NAME.svg +#inkscape -w 192 -h 192 -e "$XXXDPI_DIR/$NAME.png" $NAME.svg +#inkscape -w 512 -h 512 -e "$PLAY_DIR/$NAME.png" $NAME.svg + +# Actionbar Icons +# ----------------------- +# mdpi: 32x32 +# hdpi: 48x48 +# xhdpi: 64x64 +# xxhdpi: 96x96 + +for NAME in "ic_action_search_cloud" "ic_cloud_search_24px" "ic_action_encrypt_file" "ic_action_encrypt_text" "ic_action_verified_cutout" +do +echo $NAME +inkscape -w 32 -h 32 -e "$MDPI_DIR/$NAME.png" "$SRC_DIR/$NAME.svg" +inkscape -w 48 -h 48 -e "$HDPI_DIR/$NAME.png" "$SRC_DIR/$NAME.svg" +inkscape -w 64 -h 64 -e "$XDPI_DIR/$NAME.png" "$SRC_DIR/$NAME.svg" +inkscape -w 96 -h 96 -e "$XXDPI_DIR/$NAME.png" "$SRC_DIR/$NAME.svg" +done + +for NAME in "status_lock_closed" "status_lock_error" "status_lock_open" "status_signature_expired_cutout" "status_signature_invalid_cutout" "status_signature_revoked_cutout" "status_signature_unknown_cutout" "status_signature_unverified_cutout" "status_signature_verified_cutout" "key_flag_authenticate" "key_flag_certify" "key_flag_encrypt" "key_flag_sign" +do +echo $NAME +inkscape -w 24 -h 24 -e "$MDPI_DIR/${NAME}_24px.png" "$SRC_DIR/$NAME.svg" +inkscape -w 32 -h 32 -e "$HDPI_DIR/${NAME}_24px.png" "$SRC_DIR/$NAME.svg" +inkscape -w 48 -h 48 -e "$XDPI_DIR/${NAME}_24px.png" "$SRC_DIR/$NAME.svg" +inkscape -w 64 -h 64 -e "$XXDPI_DIR/${NAME}_24px.png" "$SRC_DIR/$NAME.svg" +done + +for NAME in "status_signature_expired_cutout" "status_signature_invalid_cutout" "status_signature_revoked_cutout" "status_signature_unknown_cutout" "status_signature_unverified_cutout" "status_signature_verified_cutout" +do +echo $NAME +inkscape -w 96 -h 96 -e "$MDPI_DIR/${NAME}_96px.png" "$SRC_DIR/$NAME.svg" +inkscape -w 128 -h 128 -e "$HDPI_DIR/${NAME}_96px.png" "$SRC_DIR/$NAME.svg" +inkscape -w 192 -h 192 -e "$XDPI_DIR/${NAME}_96px.png" "$SRC_DIR/$NAME.svg" +inkscape -w 256 -h 256 -e "$XXDPI_DIR/${NAME}_96px.png" "$SRC_DIR/$NAME.svg" +done + +for NAME in "create_key_robot" +do +echo $NAME +inkscape -w 48 -h 48 -e "$MDPI_DIR/$NAME.png" "$SRC_DIR/$NAME.svg" +inkscape -w 64 -h 64 -e "$HDPI_DIR/$NAME.png" "$SRC_DIR/$NAME.svg" +inkscape -w 96 -h 96 -e "$XDPI_DIR/$NAME.png" "$SRC_DIR/$NAME.svg" +inkscape -w 128 -h 128 -e "$XXDPI_DIR/$NAME.png" "$SRC_DIR/$NAME.svg" +done + +for NAME in "drawer_header" +do +echo $NAME +inkscape -w 512 -h 288 -e "$DRAWABLE_DIR/$NAME.png" "$SRC_DIR/$NAME.svg" +done + +for NAME in "first_time_1" +do +echo $NAME +inkscape -w 512 -h 512 -e "$DRAWABLE_DIR/$NAME.png" "$SRC_DIR/$NAME.svg" +done \ No newline at end of file diff --git a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/operations/PromoteKeyOperationTest.java b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/operations/PromoteKeyOperationTest.java new file mode 100644 index 000000000..40ade064b --- /dev/null +++ b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/operations/PromoteKeyOperationTest.java @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2014 Vincent Breitmoser + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * 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 . + */ + +package org.sufficientlysecure.keychain.operations; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.Robolectric; +import org.robolectric.RobolectricTestRunner; +import org.robolectric.shadows.ShadowLog; +import org.spongycastle.bcpg.sig.KeyFlags; +import org.spongycastle.jce.provider.BouncyCastleProvider; +import org.sufficientlysecure.keychain.operations.results.PgpEditKeyResult; +import org.sufficientlysecure.keychain.operations.results.PromoteKeyResult; +import org.sufficientlysecure.keychain.pgp.CanonicalizedSecretKey.SecretKeyType; +import org.sufficientlysecure.keychain.pgp.PgpKeyOperation; +import org.sufficientlysecure.keychain.pgp.UncachedKeyRing; +import org.sufficientlysecure.keychain.pgp.UncachedPublicKey; +import org.sufficientlysecure.keychain.provider.CachedPublicKeyRing; +import org.sufficientlysecure.keychain.provider.ProviderHelper; +import org.sufficientlysecure.keychain.service.SaveKeyringParcel; +import org.sufficientlysecure.keychain.service.SaveKeyringParcel.Algorithm; +import org.sufficientlysecure.keychain.service.SaveKeyringParcel.ChangeUnlockParcel; +import org.sufficientlysecure.keychain.util.ProgressScaler; +import org.sufficientlysecure.keychain.util.TestingUtils; + +import java.io.PrintStream; +import java.security.Security; +import java.util.Iterator; + +@RunWith(RobolectricTestRunner.class) +@org.robolectric.annotation.Config(emulateSdk = 18) // Robolectric doesn't yet support 19 +public class PromoteKeyOperationTest { + + static UncachedKeyRing mStaticRing; + static String mKeyPhrase1 = TestingUtils.genPassphrase(true); + + static PrintStream oldShadowStream; + + @BeforeClass + public static void setUpOnce() throws Exception { + Security.insertProviderAt(new BouncyCastleProvider(), 1); + oldShadowStream = ShadowLog.stream; + // ShadowLog.stream = System.out; + + PgpKeyOperation op = new PgpKeyOperation(null); + + { + SaveKeyringParcel parcel = new SaveKeyringParcel(); + parcel.mAddSubKeys.add(new SaveKeyringParcel.SubkeyAdd( + Algorithm.RSA, 1024, null, KeyFlags.CERTIFY_OTHER, 0L)); + parcel.mAddSubKeys.add(new SaveKeyringParcel.SubkeyAdd( + Algorithm.DSA, 1024, null, KeyFlags.SIGN_DATA, 0L)); + parcel.mAddSubKeys.add(new SaveKeyringParcel.SubkeyAdd( + Algorithm.ELGAMAL, 1024, null, KeyFlags.ENCRYPT_COMMS, 0L)); + parcel.mAddUserIds.add("derp"); + parcel.mNewUnlock = new ChangeUnlockParcel(mKeyPhrase1); + + PgpEditKeyResult result = op.createSecretKeyRing(parcel); + Assert.assertTrue("initial test key creation must succeed", result.success()); + Assert.assertNotNull("initial test key creation must succeed", result.getRing()); + + mStaticRing = result.getRing(); + } + + } + + @Before + public void setUp() throws Exception { + ProviderHelper providerHelper = new ProviderHelper(Robolectric.application); + + // don't log verbosely here, we're not here to test imports + ShadowLog.stream = oldShadowStream; + + providerHelper.savePublicKeyRing(mStaticRing.extractPublicKeyRing(), new ProgressScaler()); + + // ok NOW log verbosely! + ShadowLog.stream = System.out; + } + + @Test + public void testPromote() throws Exception { + PromoteKeyOperation op = new PromoteKeyOperation(Robolectric.application, + new ProviderHelper(Robolectric.application), null, null); + + PromoteKeyResult result = op.execute(mStaticRing.getMasterKeyId()); + + Assert.assertTrue("promotion must succeed", result.success()); + + { + CachedPublicKeyRing ring = new ProviderHelper(Robolectric.application) + .getCachedPublicKeyRing(mStaticRing.getMasterKeyId()); + Assert.assertTrue("key must have a secret now", ring.hasAnySecret()); + + Iterator it = mStaticRing.getPublicKeys(); + while (it.hasNext()) { + long keyId = it.next().getKeyId(); + Assert.assertEquals("all subkeys must be divert-to-card", + SecretKeyType.GNU_DUMMY, ring.getSecretKeyType(keyId)); + } + } + + // second attempt should fail + result = op.execute(mStaticRing.getMasterKeyId()); + Assert.assertFalse("promotion of secret key must fail", result.success()); + + } + +} diff --git a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/pgp/PgpEncryptDecryptTest.java b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/pgp/PgpEncryptDecryptTest.java index 008edcda4..d782230c7 100644 --- a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/pgp/PgpEncryptDecryptTest.java +++ b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/pgp/PgpEncryptDecryptTest.java @@ -22,6 +22,7 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; +import org.openintents.openpgp.OpenPgpMetadata; import org.openintents.openpgp.OpenPgpSignatureResult; import org.robolectric.*; import org.robolectric.shadows.ShadowLog; @@ -29,13 +30,12 @@ import org.spongycastle.bcpg.sig.KeyFlags; import org.spongycastle.jce.provider.BouncyCastleProvider; import org.spongycastle.openpgp.PGPEncryptedData; import org.sufficientlysecure.keychain.operations.results.PgpEditKeyResult; -import org.sufficientlysecure.keychain.pgp.PgpSignEncrypt.Builder; +import org.sufficientlysecure.keychain.operations.results.PgpSignEncryptResult; import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRingData; import org.sufficientlysecure.keychain.provider.ProviderHelper; import org.sufficientlysecure.keychain.service.SaveKeyringParcel; import org.sufficientlysecure.keychain.service.SaveKeyringParcel.Algorithm; import org.sufficientlysecure.keychain.operations.results.DecryptVerifyResult; -import org.sufficientlysecure.keychain.operations.results.SignEncryptResult; import org.sufficientlysecure.keychain.service.SaveKeyringParcel.ChangeUnlockParcel; import org.sufficientlysecure.keychain.support.KeyringTestingHelper; import org.sufficientlysecure.keychain.util.InputData; @@ -131,15 +131,17 @@ public class PgpEncryptDecryptTest { ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayInputStream in = new ByteArrayInputStream(plaintext.getBytes()); - InputData data = new InputData(in, in.available()); - Builder b = new PgpSignEncrypt.Builder(Robolectric.application, - new ProviderHelper(Robolectric.application), - null, - data, out); + PgpSignEncryptOperation op = new PgpSignEncryptOperation(Robolectric.application, + new ProviderHelper(Robolectric.application), null); + InputData data = new InputData(in, in.available()); + + PgpSignEncryptInput b = new PgpSignEncryptInput(); b.setSymmetricPassphrase(mPassphrase); b.setSymmetricEncryptionAlgorithm(PGPEncryptedData.AES_128); - SignEncryptResult result = b.build().execute(); + + PgpSignEncryptResult result = op.execute(b, data, out); + Assert.assertTrue("encryption must succeed", result.success()); ciphertext = out.toByteArray(); @@ -161,6 +163,10 @@ public class PgpEncryptDecryptTest { Assert.assertArrayEquals("decrypted ciphertext should equal plaintext", out.toByteArray(), plaintext.getBytes()); Assert.assertNull("signature should be an error", result.getSignatureResult()); + + OpenPgpMetadata metadata = result.getDecryptMetadata(); + Assert.assertEquals("filesize must be correct", + out.toByteArray().length, metadata.getOriginalSize()); } { // decryption with a bad passphrase should fail @@ -210,16 +216,15 @@ public class PgpEncryptDecryptTest { ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayInputStream in = new ByteArrayInputStream(plaintext.getBytes()); + PgpSignEncryptOperation op = new PgpSignEncryptOperation(Robolectric.application, + new ProviderHelper(Robolectric.application), null); + InputData data = new InputData(in, in.available()); - Builder b = new PgpSignEncrypt.Builder( - Robolectric.application, - new ProviderHelper(Robolectric.application), - null, // new DummyPassphraseCache(mPassphrase, 0L), - data, out); + PgpSignEncryptInput b = new PgpSignEncryptInput(); b.setEncryptionMasterKeyIds(new long[]{ mStaticRing1.getMasterKeyId() }); b.setSymmetricEncryptionAlgorithm(PGPEncryptedData.AES_128); - SignEncryptResult result = b.build().execute(); + PgpSignEncryptResult result = op.execute(b, data, out); Assert.assertTrue("encryption must succeed", result.success()); ciphertext = out.toByteArray(); @@ -239,6 +244,11 @@ public class PgpEncryptDecryptTest { Assert.assertArrayEquals("decrypted ciphertext with provided passphrase should equal plaintext", out.toByteArray(), plaintext.getBytes()); Assert.assertNull("signature be empty", result.getSignatureResult()); + + OpenPgpMetadata metadata = result.getDecryptMetadata(); + Assert.assertEquals("filesize must be correct", + out.toByteArray().length, metadata.getOriginalSize()); + } // TODO how to test passphrase cache? @@ -286,19 +296,19 @@ public class PgpEncryptDecryptTest { ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayInputStream in = new ByteArrayInputStream(plaintext.getBytes()); - InputData data = new InputData(in, in.available()); - Builder b = new PgpSignEncrypt.Builder( - Robolectric.application, - new ProviderHelper(Robolectric.application), - null, // new DummyPassphraseCache(mPassphrase, 0L), - data, out); + PgpSignEncryptOperation op = new PgpSignEncryptOperation(Robolectric.application, + new ProviderHelper(Robolectric.application), null); + InputData data = new InputData(in, in.available()); + + PgpSignEncryptInput b = new PgpSignEncryptInput(); b.setEncryptionMasterKeyIds(new long[] { mStaticRing1.getMasterKeyId(), mStaticRing2.getMasterKeyId() }); b.setSymmetricEncryptionAlgorithm(PGPEncryptedData.AES_128); - SignEncryptResult result = b.build().execute(); + + PgpSignEncryptResult result = op.execute(b, data, out); Assert.assertTrue("encryption must succeed", result.success()); ciphertext = out.toByteArray(); @@ -318,6 +328,10 @@ public class PgpEncryptDecryptTest { Assert.assertArrayEquals("decrypted ciphertext with cached passphrase should equal plaintext", out.toByteArray(), plaintext.getBytes()); Assert.assertNull("signature should be empty", result.getSignatureResult()); + + OpenPgpMetadata metadata = result.getDecryptMetadata(); + Assert.assertEquals("filesize must be correct", + out.toByteArray().length, metadata.getOriginalSize()); } { // decryption with passphrase cached should succeed for the first key @@ -375,12 +389,11 @@ public class PgpEncryptDecryptTest { ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayInputStream in = new ByteArrayInputStream(plaintext.getBytes()); + PgpSignEncryptOperation op = new PgpSignEncryptOperation(Robolectric.application, + new ProviderHelper(Robolectric.application), null); + InputData data = new InputData(in, in.available()); - Builder b = new PgpSignEncrypt.Builder( - Robolectric.application, - new ProviderHelper(Robolectric.application), - null, // new DummyPassphraseCache(mPassphrase, 0L), - data, out); + PgpSignEncryptInput b = new PgpSignEncryptInput(); b.setEncryptionMasterKeyIds(new long[] { mStaticRing1.getMasterKeyId(), @@ -390,7 +403,8 @@ public class PgpEncryptDecryptTest { b.setSignatureSubKeyId(KeyringTestingHelper.getSubkeyId(mStaticRing1, 1)); b.setSignaturePassphrase(mKeyPhrase1); b.setSymmetricEncryptionAlgorithm(PGPEncryptedData.AES_128); - SignEncryptResult result = b.build().execute(); + + PgpSignEncryptResult result = op.execute(b, data, out); Assert.assertTrue("encryption must succeed", result.success()); ciphertext = out.toByteArray(); @@ -411,6 +425,10 @@ public class PgpEncryptDecryptTest { out.toByteArray(), plaintext.getBytes()); Assert.assertEquals("signature should be verified and certified", OpenPgpSignatureResult.SIGNATURE_SUCCESS_CERTIFIED, result.getSignatureResult().getStatus()); + + OpenPgpMetadata metadata = result.getDecryptMetadata(); + Assert.assertEquals("filesize must be correct", + out.toByteArray().length, metadata.getOriginalSize()); } { // decryption with passphrase cached should succeed for the other key if first is gone @@ -438,6 +456,59 @@ public class PgpEncryptDecryptTest { } + @Test + public void testForeignEncoding () throws Exception { + String plaintext = "ウィキペディア"; + byte[] plaindata = plaintext.getBytes("iso-2022-jp"); + + { // some quick sanity checks + Assert.assertEquals(plaintext, new String(plaindata, "iso-2022-jp")); + Assert.assertNotEquals(plaintext, new String(plaindata, "utf-8")); + } + + byte[] ciphertext; + { // encrypt data with a given passphrase + ByteArrayOutputStream out = new ByteArrayOutputStream(); + ByteArrayInputStream in = new ByteArrayInputStream(plaindata); + + PgpSignEncryptOperation op = new PgpSignEncryptOperation(Robolectric.application, + new ProviderHelper(Robolectric.application), null); + + InputData data = new InputData(in, in.available()); + PgpSignEncryptInput b = new PgpSignEncryptInput(); + + b.setEncryptionMasterKeyIds(new long[]{ mStaticRing1.getMasterKeyId() }); + b.setSymmetricEncryptionAlgorithm(PGPEncryptedData.AES_128); + // this only works with ascii armored output! + b.setEnableAsciiArmorOutput(true); + b.setCharset("iso-2022-jp"); + PgpSignEncryptResult result = op.execute(b, data, out); + Assert.assertTrue("encryption must succeed", result.success()); + + ciphertext = out.toByteArray(); + } + + { // decryption with provided passphrase should yield the same result + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + ByteArrayInputStream in = new ByteArrayInputStream(ciphertext); + InputData data = new InputData(in, in.available()); + + PgpDecryptVerify.Builder b = builderWithFakePassphraseCache(data, out, null, null, null); + b.setPassphrase(mKeyPhrase1); + DecryptVerifyResult result = b.build().execute(); + Assert.assertTrue("decryption with provided passphrase must succeed", result.success()); + Assert.assertArrayEquals("decrypted ciphertext should equal plaintext bytes", + out.toByteArray(), plaindata); + Assert.assertEquals("charset should be read correctly", + "iso-2022-jp", result.getCharset()); + Assert.assertEquals("decrypted ciphertext should equal plaintext", + new String(out.toByteArray(), result.getCharset()), plaintext); + Assert.assertNull("signature be empty", result.getSignatureResult()); + } + + } + private PgpDecryptVerify.Builder builderWithFakePassphraseCache ( InputData data, OutputStream out, final String passphrase, final Long checkMasterKeyId, final Long checkSubKeyId) { diff --git a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperationTest.java b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperationTest.java index 3ea88aac6..dd2feb825 100644 --- a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperationTest.java +++ b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperationTest.java @@ -231,7 +231,7 @@ public class PgpKeyOperationTest { ring.getPublicKey().getCreationTime().after(new Date(new Date().getTime()-1000*120))); Assert.assertNull("key ring should not expire", - ring.getPublicKey().getExpiryTime()); + ring.getPublicKey().getUnsafeExpiryTimeForTesting()); Assert.assertEquals("first (master) key can certify", KeyFlags.CERTIFY_OTHER, (long) subkeys.get(0).getKeyUsage()); @@ -342,9 +342,9 @@ public class PgpKeyOperationTest { Assert.assertNotNull("new key is not null", newKey); Assert.assertNotNull("added key must have an expiry date", - newKey.getExpiryTime()); + newKey.getUnsafeExpiryTimeForTesting()); Assert.assertEquals("added key must have expected expiry date", - expiry, newKey.getExpiryTime().getTime()/1000); + expiry, newKey.getUnsafeExpiryTimeForTesting().getTime()/1000); Assert.assertEquals("added key must have expected flags", flags, (long) newKey.getKeyUsage()); Assert.assertEquals("added key must have expected bitsize", @@ -403,9 +403,9 @@ public class PgpKeyOperationTest { ring.getMasterKeyId(), ((SignaturePacket) p).getKeyID()); Assert.assertNotNull("modified key must have an expiry date", - modified.getPublicKey(keyId).getExpiryTime()); + modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting()); Assert.assertEquals("modified key must have expected expiry date", - expiry, modified.getPublicKey(keyId).getExpiryTime().getTime()/1000); + expiry, modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting().getTime()/1000); Assert.assertEquals("modified key must have same flags as before", ring.getPublicKey(keyId).getKeyUsage(), modified.getPublicKey(keyId).getKeyUsage()); } @@ -417,9 +417,9 @@ public class PgpKeyOperationTest { modified = applyModificationWithChecks(parcel, modified, onlyA, onlyB); Assert.assertNotNull("modified key must have an expiry date", - modified.getPublicKey(keyId).getExpiryTime()); + modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting()); Assert.assertEquals("modified key must have expected expiry date", - expiry, modified.getPublicKey(keyId).getExpiryTime().getTime()/1000); + expiry, modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting().getTime()/1000); Assert.assertEquals("modified key must have same flags as before", ring.getPublicKey(keyId).getKeyUsage(), modified.getPublicKey(keyId).getKeyUsage()); } @@ -443,9 +443,9 @@ public class PgpKeyOperationTest { Assert.assertEquals("modified key must have expected flags", flags, (long) modified.getPublicKey(keyId).getKeyUsage()); Assert.assertNotNull("key must retain its expiry", - modified.getPublicKey(keyId).getExpiryTime()); + modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting()); Assert.assertEquals("key expiry must be unchanged", - expiry, modified.getPublicKey(keyId).getExpiryTime().getTime()/1000); + expiry, modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting().getTime()/1000); } { // expiry of 0 should be "no expiry" @@ -463,7 +463,7 @@ public class PgpKeyOperationTest { Assert.assertEquals("signature must have been created by master key", ring.getMasterKeyId(), ((SignaturePacket) p).getKeyID()); - Assert.assertNull("key must not expire anymore", modified.getPublicKey(keyId).getExpiryTime()); + Assert.assertNull("key must not expire anymore", modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting()); } { // a past expiry should fail @@ -517,9 +517,9 @@ public class PgpKeyOperationTest { PacketTags.SIGNATURE, onlyB.get(1).tag); Assert.assertNotNull("modified key must have an expiry date", - modified.getPublicKey().getExpiryTime()); + modified.getPublicKey().getUnsafeExpiryTimeForTesting()); Assert.assertEquals("modified key must have expected expiry date", - expiry, modified.getPublicKey().getExpiryTime().getTime() / 1000); + expiry, modified.getPublicKey().getUnsafeExpiryTimeForTesting().getTime() / 1000); Assert.assertEquals("modified key must have same flags as before", ring.getPublicKey().getKeyUsage(), modified.getPublicKey().getKeyUsage()); } @@ -531,9 +531,9 @@ public class PgpKeyOperationTest { modified = applyModificationWithChecks(parcel, modified, onlyA, onlyB); Assert.assertNotNull("modified key must have an expiry date", - modified.getPublicKey(keyId).getExpiryTime()); + modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting()); Assert.assertEquals("modified key must have expected expiry date", - expiry, modified.getPublicKey(keyId).getExpiryTime().getTime()/1000); + expiry, modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting().getTime() / 1000); Assert.assertEquals("modified key must have same flags as before", ring.getPublicKey(keyId).getKeyUsage(), modified.getPublicKey(keyId).getKeyUsage()); } @@ -547,17 +547,29 @@ public class PgpKeyOperationTest { Assert.assertEquals("modified key must have expected flags", flags, (long) modified.getPublicKey(keyId).getKeyUsage()); Assert.assertNotNull("key must retain its expiry", - modified.getPublicKey(keyId).getExpiryTime()); + modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting()); Assert.assertEquals("key expiry must be unchanged", - expiry, modified.getPublicKey(keyId).getExpiryTime().getTime()/1000); + expiry, modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting().getTime()/1000); } { // expiry of 0 should be "no expiry" + + // even if there is a non-expiring user id while all others are revoked, it doesn't count! + // for this purpose we revoke one while they still have expiry times + parcel.reset(); + parcel.mRevokeUserIds.add("aloe"); + modified = applyModificationWithChecks(parcel, modified, onlyA, onlyB); + parcel.reset(); parcel.mChangeSubKeys.add(new SubkeyChange(keyId, null, 0L)); modified = applyModificationWithChecks(parcel, modified, onlyA, onlyB); - Assert.assertNull("key must not expire anymore", modified.getPublicKey(keyId).getExpiryTime()); + // for this check, it is relevant that we DON'T use the unsafe one! + Assert.assertNull("key must not expire anymore", + modified.canonicalize(new OperationLog(), 0).getPublicKey().getExpiryTime()); + // make sure the unsafe one behaves incorrectly as expected + Assert.assertNotNull("unsafe expiry must yield wrong result from revoked user id", + modified.getPublicKey(keyId).getUnsafeExpiryTimeForTesting()); } { // if we revoke everything, nothing is left to properly sign... @@ -609,7 +621,7 @@ public class PgpKeyOperationTest { ring.getMasterKeyId(), ((SignaturePacket) p).getKeyID()); Assert.assertTrue("subkey must actually be revoked", - modified.getPublicKey().isRevoked()); + modified.getPublicKey().isMaybeRevoked()); } @@ -653,13 +665,14 @@ public class PgpKeyOperationTest { ring.getMasterKeyId(), ((SignaturePacket) p).getKeyID()); Assert.assertTrue("subkey must actually be revoked", - modified.getPublicKey(keyId).isRevoked()); + modified.getPublicKey(keyId).isMaybeRevoked()); } { // re-add second subkey parcel.reset(); - parcel.mChangeSubKeys.add(new SubkeyChange(keyId, null, null)); + // re-certify the revoked subkey + parcel.mChangeSubKeys.add(new SubkeyChange(keyId, true)); modified = applyModificationWithChecks(parcel, modified, onlyA, onlyB); @@ -690,7 +703,7 @@ public class PgpKeyOperationTest { ring.getMasterKeyId(), ((SignaturePacket) p).getKeyID()); Assert.assertFalse("subkey must no longer be revoked", - modified.getPublicKey(keyId).isRevoked()); + modified.getPublicKey(keyId).isMaybeRevoked()); Assert.assertEquals("subkey must have the same usage flags as before", flags, (long) modified.getPublicKey(keyId).getKeyUsage()); @@ -701,7 +714,7 @@ public class PgpKeyOperationTest { public void testSubkeyStrip() throws Exception { long keyId = KeyringTestingHelper.getSubkeyId(ring, 1); - parcel.mStripSubKeys.add(keyId); + parcel.mChangeSubKeys.add(new SubkeyChange(keyId, true, null)); applyModificationWithChecks(parcel, ring, onlyA, onlyB); Assert.assertEquals("one extra packet in original", 1, onlyA.size()); @@ -727,7 +740,7 @@ public class PgpKeyOperationTest { public void testMasterStrip() throws Exception { long keyId = ring.getMasterKeyId(); - parcel.mStripSubKeys.add(keyId); + parcel.mChangeSubKeys.add(new SubkeyChange(keyId, true, null)); applyModificationWithChecks(parcel, ring, onlyA, onlyB); Assert.assertEquals("one extra packet in original", 1, onlyA.size()); @@ -746,6 +759,44 @@ public class PgpKeyOperationTest { Assert.assertEquals("new packet secret key data should have length zero", 0, ((SecretKeyPacket) p).getSecretKeyData().length); Assert.assertNull("new packet should have no iv data", ((SecretKeyPacket) p).getIV()); + } + + @Test + public void testRestrictedStrip() throws Exception { + + long keyId = KeyringTestingHelper.getSubkeyId(ring, 1); + UncachedKeyRing modified; + + { // we should be able to change the stripped/divert status of subkeys without passphrase + parcel.reset(); + parcel.mChangeSubKeys.add(new SubkeyChange(keyId, true, null)); + modified = applyModificationWithChecks(parcel, ring, onlyA, onlyB, null); + Assert.assertEquals("one extra packet in modified", 1, onlyB.size()); + Packet p = new BCPGInputStream(new ByteArrayInputStream(onlyB.get(0).buf)).readPacket(); + Assert.assertEquals("new packet should have GNU_DUMMY S2K type", + S2K.GNU_DUMMY_S2K, ((SecretKeyPacket) p).getS2K().getType()); + Assert.assertEquals("new packet should have GNU_DUMMY protection mode stripped", + S2K.GNU_PROTECTION_MODE_NO_PRIVATE_KEY, ((SecretKeyPacket) p).getS2K().getProtectionMode()); + } + + { // and again, changing to divert-to-card + parcel.reset(); + byte[] serial = new byte[] { + 0x6a, 0x6f, 0x6c, 0x6f, 0x73, 0x77, 0x61, 0x67, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }; + parcel.mChangeSubKeys.add(new SubkeyChange(keyId, false, serial)); + modified = applyModificationWithChecks(parcel, ring, onlyA, onlyB, null); + Assert.assertEquals("one extra packet in modified", 1, onlyB.size()); + Packet p = new BCPGInputStream(new ByteArrayInputStream(onlyB.get(0).buf)).readPacket(); + Assert.assertEquals("new packet should have GNU_DUMMY S2K type", + S2K.GNU_DUMMY_S2K, ((SecretKeyPacket) p).getS2K().getType()); + Assert.assertEquals("new packet should have GNU_DUMMY protection mode divert-to-card", + S2K.GNU_PROTECTION_MODE_DIVERT_TO_CARD, ((SecretKeyPacket) p).getS2K().getProtectionMode()); + Assert.assertArrayEquals("new packet should have correct serial number as iv", + serial, ((SecretKeyPacket) p).getIV()); + + } } @@ -1092,6 +1143,17 @@ public class PgpKeyOperationTest { } + @Test + public void testRestricted () throws Exception { + + CanonicalizedSecretKeyRing secretRing = new CanonicalizedSecretKeyRing(ring.getEncoded(), false, 0); + + parcel.mAddUserIds.add("discord"); + PgpKeyOperation op = new PgpKeyOperation(null); + PgpEditKeyResult result = op.modifySecretKeyRing(secretRing, parcel, null); + Assert.assertFalse("non-restricted operations should fail without passphrase", result.success()); + } + private static UncachedKeyRing applyModificationWithChecks(SaveKeyringParcel parcel, UncachedKeyRing ring, ArrayList onlyA, diff --git a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java index e4a1d62ae..171ecc377 100644 --- a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java +++ b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/provider/ProviderHelperSaveTest.java @@ -106,8 +106,8 @@ public class ProviderHelperSaveTest { UncachedKeyRing pub = readRingFromResource("/test-keys/mailvelope_07_no_key_flags.asc"); long keyId = pub.getMasterKeyId(); - Assert.assertNull("key flags should be null", - pub.canonicalize(new OperationLog(), 0).getPublicKey().getKeyUsage()); + Assert.assertEquals("key flags should be zero", + 0, (long) pub.canonicalize(new OperationLog(), 0).getPublicKey().getKeyUsage()); mProviderHelper.savePublicKeyRing(pub); @@ -117,7 +117,8 @@ public class ProviderHelperSaveTest { Assert.assertEquals("master key should be encryption key", keyId, pubRing.getEncryptId()); Assert.assertEquals("master key should be encryption key (cached)", keyId, cachedRing.getEncryptId()); - Assert.assertNull("canonicalized key flags should be null", pubRing.getPublicKey().getKeyUsage()); + Assert.assertEquals("canonicalized key flags should be zero", + 0, (long) pubRing.getPublicKey().getKeyUsage()); Assert.assertTrue("master key should be able to certify", pubRing.getPublicKey().canCertify()); Assert.assertTrue("master key should be allowed to sign", pubRing.getPublicKey().canSign()); Assert.assertTrue("master key should be able to encrypt", pubRing.getPublicKey().canEncrypt()); diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle index ff3a63fd7..7fa139c06 100644 --- a/OpenKeychain/build.gradle +++ b/OpenKeychain/build.gradle @@ -3,14 +3,14 @@ apply plugin: 'com.android.application' dependencies { // NOTE: Always use fixed version codes not dynamic ones, e.g. 0.7.3 instead of 0.7.+, see README for more information - compile 'com.android.support:support-v4:21.0.2' - compile 'com.android.support:appcompat-v7:21.0.2' + compile 'com.android.support:support-v4:21.0.3' + compile 'com.android.support:appcompat-v7:21.0.3' + compile 'com.android.support:recyclerview-v7:21.0.3' + compile 'com.android.support:cardview-v7:21.0.3' compile project(':extern:openpgp-api-lib') compile project(':extern:openkeychain-api-lib') compile project(':extern:html-textview') compile project(':extern:StickyListHeaders:library') - compile project(':extern:zxing-qr-code') - compile project(':extern:zxing-android-integration') compile project(':extern:spongycastle:core') compile project(':extern:spongycastle:pg') compile project(':extern:spongycastle:pkix') @@ -20,18 +20,32 @@ dependencies { compile project(':extern:KeybaseLib:Lib') compile project(':extern:TokenAutoComplete:library') compile project(':extern:safeslinger-exchange') - compile project(':extern:android-lockpattern:code') + + // TODO: Pin! + compile 'com.eftimoff:android-patternview:1.0.0@aar' + compile 'com.journeyapps:zxing-android-embedded:2.0.1@aar' + compile 'com.journeyapps:zxing-android-integration:2.0.1@aar' + compile 'com.google.zxing:core:3.0.1' + compile 'com.jpardogo.materialtabstrip:library:1.0.9' + compile 'it.neokree:MaterialNavigationDrawer:1.3.1' + compile 'com.nispok:snackbar:2.9.1' + compile 'com.getbase:floatingactionbutton:1.8.0' } android { compileSdkVersion 21 - buildToolsVersion '21.1.1' + buildToolsVersion '21.1.2' defaultConfig { - minSdkVersion 9 + minSdkVersion 15 targetSdkVersion 21 } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + /* * To sign release build, create file gradle.properties in ~/.gradle/ with this content: * diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml index ff04420d4..efe4b8926 100644 --- a/OpenKeychain/src/main/AndroidManifest.xml +++ b/OpenKeychain/src/main/AndroidManifest.xml @@ -31,10 +31,7 @@ For OI Filemanager it makes no difference, gpg files can't be associated --> - - - - + + @@ -96,33 +95,33 @@ + android:parentActivityName=".ui.MainActivity"> + android:value=".ui.MainActivity" /> + + android:parentActivityName=".ui.MainActivity"> + android:value=".ui.MainActivity" /> @@ -143,21 +142,20 @@ android:configChanges="orientation|screenSize|keyboardHidden|keyboard" android:label="@string/title_exchange_keys" android:windowSoftInputMode="stateHidden" - android:parentActivityName=".ui.KeyListActivity"> + android:parentActivityName=".ui.MainActivity"> + android:value=".ui.MainActivity" /> - + android:windowSoftInputMode="stateHidden" + android:parentActivityName=".ui.MainActivity"> + @@ -186,7 +184,11 @@ android:name=".ui.EncryptTextActivity" android:configChanges="orientation|screenSize|keyboardHidden|keyboard" android:label="@string/title_encrypt_text" - android:windowSoftInputMode="stateHidden"> + android:windowSoftInputMode="stateHidden" + android:parentActivityName=".ui.MainActivity"> + @@ -205,20 +207,15 @@ - + android:parentActivityName=".ui.MainActivity"> + android:value=".ui.MainActivity" /> @@ -242,10 +239,10 @@ android:configChanges="orientation|screenSize|keyboardHidden|keyboard" android:label="@string/title_decrypt" android:windowSoftInputMode="stateHidden" - android:parentActivityName=".ui.DecryptActivity"> + android:parentActivityName=".ui.MainActivity"> + android:value=".ui.MainActivity" /> @@ -420,12 +417,11 @@ android:value=".ui.ViewKeyActivity" /> - + android:label="@string/title_advanced_key_info"/> @@ -438,7 +434,7 @@ @@ -448,10 +444,18 @@ android:label="@string/title_certify_key"> + android:value=".ui.MainActivity" /> + + + + + + + + + + + - - - - - - - - @@ -655,7 +659,7 @@ + android:value=".ui.MainActivity" /> - - + - - - - - diff --git a/OpenKeychain/src/main/res/drawable/cardview_header.xml b/OpenKeychain/src/main/res/drawable/cardview_header.xml new file mode 100644 index 000000000..9bab96ea9 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable/cardview_header.xml @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/drawable/drawer_header.png b/OpenKeychain/src/main/res/drawable/drawer_header.png new file mode 100644 index 000000000..c8fdccf8d Binary files /dev/null and b/OpenKeychain/src/main/res/drawable/drawer_header.png differ diff --git a/OpenKeychain/src/main/res/drawable/fab_label_background.xml b/OpenKeychain/src/main/res/drawable/fab_label_background.xml new file mode 100644 index 000000000..0d8c05b11 --- /dev/null +++ b/OpenKeychain/src/main/res/drawable/fab_label_background.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/drawable/first_time_1.png b/OpenKeychain/src/main/res/drawable/first_time_1.png index 1f340df5c..1f93f2deb 100644 Binary files a/OpenKeychain/src/main/res/drawable/first_time_1.png and b/OpenKeychain/src/main/res/drawable/first_time_1.png differ diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_activated_background_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_activated_background_holo_light.xml deleted file mode 100644 index 60415e926..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_activated_background_holo_light.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_btn_check_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_btn_check_holo_light.xml deleted file mode 100644 index 62567cb98..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_btn_check_holo_light.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_btn_default_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_btn_default_holo_light.xml deleted file mode 100644 index c9261f53b..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_btn_default_holo_light.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_btn_radio_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_btn_radio_holo_light.xml deleted file mode 100644 index eeba95d4f..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_btn_radio_holo_light.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_edit_text_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_edit_text_holo_light.xml deleted file mode 100644 index 7acab984d..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_edit_text_holo_light.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_item_background_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_item_background_holo_light.xml deleted file mode 100644 index b385d2f92..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_item_background_holo_light.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_list_selector_background_transition_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_list_selector_background_transition_holo_light.xml deleted file mode 100644 index 2a5561b22..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_list_selector_background_transition_holo_light.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_list_selector_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_list_selector_holo_light.xml deleted file mode 100644 index 17164fd1d..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_list_selector_holo_light.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_progress_horizontal_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_progress_horizontal_holo_light.xml deleted file mode 100644 index a99f756f6..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_progress_horizontal_holo_light.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_progress_indeterminate_horizontal_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_progress_indeterminate_horizontal_holo_light.xml deleted file mode 100644 index 79c050e47..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_progress_indeterminate_horizontal_holo_light.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_searchview_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_searchview_holo_light.xml deleted file mode 100644 index e82b1c2f3..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_searchview_holo_light.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/drawable/keychaintheme_spinner_background_holo_light.xml b/OpenKeychain/src/main/res/drawable/keychaintheme_spinner_background_holo_light.xml deleted file mode 100644 index 9fbb83f95..000000000 --- a/OpenKeychain/src/main/res/drawable/keychaintheme_spinner_background_holo_light.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - diff --git a/OpenKeychain/src/main/res/drawable/section_header.xml b/OpenKeychain/src/main/res/drawable/section_header.xml index a4468484e..04d3d4957 100644 --- a/OpenKeychain/src/main/res/drawable/section_header.xml +++ b/OpenKeychain/src/main/res/drawable/section_header.xml @@ -6,6 +6,6 @@ android:height="2dp" android:width="1000dp" /> - + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout-land/qr_code_activity.xml b/OpenKeychain/src/main/res/layout-land/qr_code_activity.xml new file mode 100644 index 000000000..59a733e89 --- /dev/null +++ b/OpenKeychain/src/main/res/layout-land/qr_code_activity.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout-large/api_apps_list_activity.xml b/OpenKeychain/src/main/res/layout-large/api_apps_list_activity.xml deleted file mode 100644 index af06614b9..000000000 --- a/OpenKeychain/src/main/res/layout-large/api_apps_list_activity.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout-large/decrypt_activity.xml b/OpenKeychain/src/main/res/layout-large/decrypt_activity.xml deleted file mode 100644 index 06487a982..000000000 --- a/OpenKeychain/src/main/res/layout-large/decrypt_activity.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout-large/encrypt_files_activity.xml b/OpenKeychain/src/main/res/layout-large/encrypt_files_activity.xml deleted file mode 100644 index 4b277c331..000000000 --- a/OpenKeychain/src/main/res/layout-large/encrypt_files_activity.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout-large/encrypt_text_activity.xml b/OpenKeychain/src/main/res/layout-large/encrypt_text_activity.xml deleted file mode 100644 index 5cf838c46..000000000 --- a/OpenKeychain/src/main/res/layout-large/encrypt_text_activity.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout-large/key_list_activity.xml b/OpenKeychain/src/main/res/layout-large/key_list_activity.xml deleted file mode 100644 index 039081cd7..000000000 --- a/OpenKeychain/src/main/res/layout-large/key_list_activity.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout-v11/safe_slinger_activity.xml b/OpenKeychain/src/main/res/layout-v11/safe_slinger_activity.xml deleted file mode 100644 index 7e4410f85..000000000 --- a/OpenKeychain/src/main/res/layout-v11/safe_slinger_activity.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/OpenKeychain/src/main/res/layout/actionbar_custom_view_done.xml b/OpenKeychain/src/main/res/layout/actionbar_custom_view_done.xml deleted file mode 100644 index b219038b2..000000000 --- a/OpenKeychain/src/main/res/layout/actionbar_custom_view_done.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/actionbar_custom_view_done_cancel.xml b/OpenKeychain/src/main/res/layout/actionbar_custom_view_done_cancel.xml deleted file mode 100644 index e9047e759..000000000 --- a/OpenKeychain/src/main/res/layout/actionbar_custom_view_done_cancel.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/add_subkey_dialog.xml b/OpenKeychain/src/main/res/layout/add_subkey_dialog.xml index d52e72997..d32b1496f 100644 --- a/OpenKeychain/src/main/res/layout/add_subkey_dialog.xml +++ b/OpenKeychain/src/main/res/layout/add_subkey_dialog.xml @@ -6,10 +6,10 @@ + android:paddingTop="16dp" + android:paddingBottom="16dp" + android:paddingLeft="24dp" + android:paddingRight="24dp"> - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_account_settings_activity.xml b/OpenKeychain/src/main/res/layout/api_account_settings_activity.xml index b2a9c11f5..d2fb291ea 100644 --- a/OpenKeychain/src/main/res/layout/api_account_settings_activity.xml +++ b/OpenKeychain/src/main/res/layout/api_account_settings_activity.xml @@ -1,28 +1,35 @@ - - + - - + android:layout_height="match_parent"> - + android:layout_height="wrap_content" + android:padding="16dp" + android:orientation="vertical"> - - - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml b/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml index dae9de1f2..6df5c84f5 100644 --- a/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml +++ b/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml @@ -1,41 +1,123 @@ - - + - + + + + + + + + + + + + - + android:layout_height="match_parent"> - + android:padding="16dp" + android:orientation="vertical"> - + - + - - - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_app_settings_fragment.xml b/OpenKeychain/src/main/res/layout/api_app_settings_fragment.xml index c5477adba..ed3e33aab 100644 --- a/OpenKeychain/src/main/res/layout/api_app_settings_fragment.xml +++ b/OpenKeychain/src/main/res/layout/api_app_settings_fragment.xml @@ -1,15 +1,14 @@ @@ -17,7 +16,6 @@ android:id="@+id/api_app_settings_app_icon" android:layout_width="48dp" android:layout_height="48dp" - android:layout_alignParentBottom="true" android:layout_alignParentTop="true" android:layout_marginRight="6dp" android:src="@drawable/ic_launcher" /> @@ -31,12 +29,14 @@ android:gravity="center_vertical" android:orientation="vertical" android:text="Name (set in-code)" + android:textColor="@color/icons" android:textAppearance="?android:attr/textAppearanceMedium" /> @@ -44,6 +44,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/api_settings_package_name" + android:textColor="@color/icons" android:textAppearance="?android:attr/textAppearanceMedium" /> diff --git a/OpenKeychain/src/main/res/layout/api_apps_adapter_list_item.xml b/OpenKeychain/src/main/res/layout/api_apps_adapter_list_item.xml index b67da13a6..c4ea46d43 100644 --- a/OpenKeychain/src/main/res/layout/api_apps_adapter_list_item.xml +++ b/OpenKeychain/src/main/res/layout/api_apps_adapter_list_item.xml @@ -13,16 +13,6 @@ android:layout_centerVertical="true" android:src="@drawable/ic_launcher" /> - - + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_apps_list_activity.xml b/OpenKeychain/src/main/res/layout/api_apps_list_activity.xml deleted file mode 100644 index df187e0a5..000000000 --- a/OpenKeychain/src/main/res/layout/api_apps_list_activity.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_apps_list_content.xml b/OpenKeychain/src/main/res/layout/api_apps_list_content.xml deleted file mode 100644 index 9f9b99045..000000000 --- a/OpenKeychain/src/main/res/layout/api_apps_list_content.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_remote_create_account.xml b/OpenKeychain/src/main/res/layout/api_remote_create_account.xml index a6a39b1ad..7863f3c7f 100644 --- a/OpenKeychain/src/main/res/layout/api_remote_create_account.xml +++ b/OpenKeychain/src/main/res/layout/api_remote_create_account.xml @@ -1,37 +1,47 @@ - + android:layout_height="match_parent"> - + - + android:layout_height="match_parent" + android:orientation="vertical"> - + + + android:layout_height="wrap_content"> - - - + android:padding="16dp" + android:orientation="vertical"> - - - \ No newline at end of file + + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_remote_error_message.xml b/OpenKeychain/src/main/res/layout/api_remote_error_message.xml index 3d69a25b3..0bcf40407 100644 --- a/OpenKeychain/src/main/res/layout/api_remote_error_message.xml +++ b/OpenKeychain/src/main/res/layout/api_remote_error_message.xml @@ -1,16 +1,26 @@ - + - + - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_remote_register_app.xml b/OpenKeychain/src/main/res/layout/api_remote_register_app.xml index f85f3b8f7..7cb3666bf 100644 --- a/OpenKeychain/src/main/res/layout/api_remote_register_app.xml +++ b/OpenKeychain/src/main/res/layout/api_remote_register_app.xml @@ -1,29 +1,39 @@ - + android:layout_height="match_parent"> - + + + android:layout_height="wrap_content"> - - - + android:padding="16dp" + android:orientation="vertical"> - - + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/api_remote_select_pub_keys.xml b/OpenKeychain/src/main/res/layout/api_remote_select_pub_keys.xml index bf4d0a70d..3d3d55f3c 100644 --- a/OpenKeychain/src/main/res/layout/api_remote_select_pub_keys.xml +++ b/OpenKeychain/src/main/res/layout/api_remote_select_pub_keys.xml @@ -1,21 +1,31 @@ - + - + - + - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/certify_fingerprint_activity.xml b/OpenKeychain/src/main/res/layout/certify_fingerprint_activity.xml new file mode 100644 index 000000000..ec91d1455 --- /dev/null +++ b/OpenKeychain/src/main/res/layout/certify_fingerprint_activity.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/certify_fingerprint_fragment.xml b/OpenKeychain/src/main/res/layout/certify_fingerprint_fragment.xml new file mode 100644 index 000000000..9b6b35012 --- /dev/null +++ b/OpenKeychain/src/main/res/layout/certify_fingerprint_fragment.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/certify_key_activity.xml b/OpenKeychain/src/main/res/layout/certify_key_activity.xml index 2bf2c4197..fab8bc2d2 100644 --- a/OpenKeychain/src/main/res/layout/certify_key_activity.xml +++ b/OpenKeychain/src/main/res/layout/certify_key_activity.xml @@ -1,21 +1,31 @@ - + - + - - - + - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/certify_key_fragment.xml b/OpenKeychain/src/main/res/layout/certify_key_fragment.xml index a55a8ea0c..2df3755a4 100644 --- a/OpenKeychain/src/main/res/layout/certify_key_fragment.xml +++ b/OpenKeychain/src/main/res/layout/certify_key_fragment.xml @@ -95,7 +95,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:padding="8dp" - android:src="@drawable/status_signature_verified_cutout" + android:src="@drawable/status_signature_verified_cutout_24px" android:layout_gravity="center_vertical" /> diff --git a/OpenKeychain/src/main/res/layout/create_key_activity.xml b/OpenKeychain/src/main/res/layout/create_key_activity.xml index 0bd053c49..b9d5206a1 100644 --- a/OpenKeychain/src/main/res/layout/create_key_activity.xml +++ b/OpenKeychain/src/main/res/layout/create_key_activity.xml @@ -1,15 +1,27 @@ - - + + + android:layout_height="match_parent"> - \ No newline at end of file + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/create_key_final_fragment.xml b/OpenKeychain/src/main/res/layout/create_key_final_fragment.xml index 7f7b2cdce..9b6a807cb 100644 --- a/OpenKeychain/src/main/res/layout/create_key_final_fragment.xml +++ b/OpenKeychain/src/main/res/layout/create_key_final_fragment.xml @@ -66,6 +66,7 @@ android:layout_marginTop="8dp" android:layout_marginBottom="8dp" android:textAppearance="?android:attr/textAppearanceMedium" + android:checked="true" android:text="@string/create_key_upload" android:id="@+id/create_key_upload" /> @@ -86,7 +87,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/create_key_rsa" - android:textColor="@color/android_green_dark" + android:textColor="@color/android_green_light" android:textAppearance="?android:attr/textAppearanceMedium" android:minHeight="?android:attr/listPreferredItemHeight" android:clickable="true" @@ -128,7 +129,7 @@ android:layout_marginTop="16dp" android:layout_marginBottom="8dp" android:text="@string/create_key_final_robot_text" - android:textColor="@color/android_green_dark" + android:textColor="@color/android_green_light" android:textAppearance="?android:attr/textAppearanceMedium" android:drawableLeft="@drawable/create_key_robot" android:drawablePadding="8dp" /> @@ -159,7 +160,7 @@ android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" android:clickable="true" - style="@style/SelectableItem" + style="?android:attr/borderlessButtonStyle" android:layout_gravity="center_vertical" /> diff --git a/OpenKeychain/src/main/res/layout/create_key_input_fragment.xml b/OpenKeychain/src/main/res/layout/create_key_input_fragment.xml index d92988111..f678825aa 100644 --- a/OpenKeychain/src/main/res/layout/create_key_input_fragment.xml +++ b/OpenKeychain/src/main/res/layout/create_key_input_fragment.xml @@ -1,12 +1,12 @@ \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/decrypt_activity.xml b/OpenKeychain/src/main/res/layout/decrypt_activity.xml deleted file mode 100644 index bb0e463b3..000000000 --- a/OpenKeychain/src/main/res/layout/decrypt_activity.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - diff --git a/OpenKeychain/src/main/res/layout/decrypt_content.xml b/OpenKeychain/src/main/res/layout/decrypt_content.xml deleted file mode 100644 index 5e7cda4f9..000000000 --- a/OpenKeychain/src/main/res/layout/decrypt_content.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/decrypt_files_activity.xml b/OpenKeychain/src/main/res/layout/decrypt_files_activity.xml index 0380787db..06c1dda7b 100644 --- a/OpenKeychain/src/main/res/layout/decrypt_files_activity.xml +++ b/OpenKeychain/src/main/res/layout/decrypt_files_activity.xml @@ -1,14 +1,30 @@ - + android:layout_height="match_parent"> - + - + + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/decrypt_result_include.xml b/OpenKeychain/src/main/res/layout/decrypt_result_include.xml index 9140ad07b..659d1c207 100644 --- a/OpenKeychain/src/main/res/layout/decrypt_result_include.xml +++ b/OpenKeychain/src/main/res/layout/decrypt_result_include.xml @@ -24,7 +24,7 @@ android:id="@+id/result_encryption_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/status_lock_open" + android:src="@drawable/status_lock_open_24px" android:layout_gravity="center_vertical" /> - + android:layout_height="match_parent"> - - - + + + + android:layout_height="match_parent" + android:orientation="vertical"> - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/drawer_custom_header.xml b/OpenKeychain/src/main/res/layout/drawer_custom_header.xml new file mode 100644 index 000000000..86465db98 --- /dev/null +++ b/OpenKeychain/src/main/res/layout/drawer_custom_header.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/drawer_list.xml b/OpenKeychain/src/main/res/layout/drawer_list.xml deleted file mode 100644 index ab00c0073..000000000 --- a/OpenKeychain/src/main/res/layout/drawer_list.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/OpenKeychain/src/main/res/layout/drawer_list_item.xml b/OpenKeychain/src/main/res/layout/drawer_list_item.xml deleted file mode 100644 index 4719483da..000000000 --- a/OpenKeychain/src/main/res/layout/drawer_list_item.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - diff --git a/OpenKeychain/src/main/res/layout/edit_key_activity.xml b/OpenKeychain/src/main/res/layout/edit_key_activity.xml index 7e71ccf53..c8b0e3afc 100644 --- a/OpenKeychain/src/main/res/layout/edit_key_activity.xml +++ b/OpenKeychain/src/main/res/layout/edit_key_activity.xml @@ -1,15 +1,25 @@ - - + - + android:layout_height="match_parent"> - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/edit_subkey_expiry_dialog.xml b/OpenKeychain/src/main/res/layout/edit_subkey_expiry_dialog.xml index 8a713115e..a692db574 100644 --- a/OpenKeychain/src/main/res/layout/edit_subkey_expiry_dialog.xml +++ b/OpenKeychain/src/main/res/layout/edit_subkey_expiry_dialog.xml @@ -1,14 +1,15 @@ + + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + android:id="@+id/label_fileCompression" + android:layout_width="0dip" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:layout_weight="1" + android:paddingRight="10dip" + android:text="@string/label_file_compression" + android:textAppearance="?android:attr/textAppearanceSmall" /> + android:id="@+id/fileCompression" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" /> diff --git a/OpenKeychain/src/main/res/layout/encrypt_decrypt_overview_fragment.xml b/OpenKeychain/src/main/res/layout/encrypt_decrypt_overview_fragment.xml new file mode 100644 index 000000000..d62c9f32b --- /dev/null +++ b/OpenKeychain/src/main/res/layout/encrypt_decrypt_overview_fragment.xml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/encrypt_files_activity.xml b/OpenKeychain/src/main/res/layout/encrypt_files_activity.xml index cdcf4fa43..168e6d0be 100644 --- a/OpenKeychain/src/main/res/layout/encrypt_files_activity.xml +++ b/OpenKeychain/src/main/res/layout/encrypt_files_activity.xml @@ -1,14 +1,38 @@ - + + + + + + android:orientation="vertical"> - + - + - \ No newline at end of file + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/encrypt_files_content.xml b/OpenKeychain/src/main/res/layout/encrypt_files_content.xml deleted file mode 100644 index b44a2bc4d..000000000 --- a/OpenKeychain/src/main/res/layout/encrypt_files_content.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/encrypt_text_activity.xml b/OpenKeychain/src/main/res/layout/encrypt_text_activity.xml index 5d5e16131..fd7fd6672 100644 --- a/OpenKeychain/src/main/res/layout/encrypt_text_activity.xml +++ b/OpenKeychain/src/main/res/layout/encrypt_text_activity.xml @@ -1,14 +1,38 @@ - + + + + + + android:orientation="vertical"> - + - + - \ No newline at end of file + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/encrypt_text_content.xml b/OpenKeychain/src/main/res/layout/encrypt_text_content.xml deleted file mode 100644 index 809f00204..000000000 --- a/OpenKeychain/src/main/res/layout/encrypt_text_content.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/file_dialog.xml b/OpenKeychain/src/main/res/layout/file_dialog.xml index dcf711679..deefd0428 100644 --- a/OpenKeychain/src/main/res/layout/file_dialog.xml +++ b/OpenKeychain/src/main/res/layout/file_dialog.xml @@ -1,10 +1,12 @@ + android:paddingTop="16dp" + android:paddingBottom="16dp" + android:paddingLeft="24dp" + android:paddingRight="24dp"> + android:lines="1" + android:maxLines="1" + android:minLines="1" + android:scrollbars="vertical" + android:layout_gravity="center_vertical" /> + + @@ -128,5 +134,4 @@ - diff --git a/OpenKeychain/src/main/res/layout/foldable_linearlayout.xml b/OpenKeychain/src/main/res/layout/foldable_linearlayout.xml index 13cf7c225..773a9d416 100644 --- a/OpenKeychain/src/main/res/layout/foldable_linearlayout.xml +++ b/OpenKeychain/src/main/res/layout/foldable_linearlayout.xml @@ -1,37 +1,37 @@ - + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + android:id="@+id/foldableControl" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:clickable="true"> + android:id="@+id/foldableIcon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:layout_marginRight="10dp" + android:src="@drawable/ic_expand_more_black_24dp" /> + android:id="@+id/foldableText" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/none" + android:layout_gravity="center_vertical" + android:textColor="@color/header_text" /> + android:id="@+id/foldableContainer" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:visibility="gone" /> \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/full_screen_dialog.xml b/OpenKeychain/src/main/res/layout/full_screen_dialog.xml new file mode 100644 index 000000000..5eb50da07 --- /dev/null +++ b/OpenKeychain/src/main/res/layout/full_screen_dialog.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/full_screen_dialog_2.xml b/OpenKeychain/src/main/res/layout/full_screen_dialog_2.xml new file mode 100644 index 000000000..b1d5efe76 --- /dev/null +++ b/OpenKeychain/src/main/res/layout/full_screen_dialog_2.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/actionbar_include_cancel_button.xml b/OpenKeychain/src/main/res/layout/full_screen_dialog_2_cancel_button.xml similarity index 56% rename from OpenKeychain/src/main/res/layout/actionbar_include_cancel_button.xml rename to OpenKeychain/src/main/res/layout/full_screen_dialog_2_cancel_button.xml index ec27e394a..7c2c2a62d 100644 --- a/OpenKeychain/src/main/res/layout/actionbar_include_cancel_button.xml +++ b/OpenKeychain/src/main/res/layout/full_screen_dialog_2_cancel_button.xml @@ -1,19 +1,3 @@ - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/actionbar_include_done_button.xml b/OpenKeychain/src/main/res/layout/full_screen_dialog_2_done_button.xml similarity index 56% rename from OpenKeychain/src/main/res/layout/actionbar_include_done_button.xml rename to OpenKeychain/src/main/res/layout/full_screen_dialog_2_done_button.xml index 2590f272c..cd24a1e6d 100644 --- a/OpenKeychain/src/main/res/layout/actionbar_include_done_button.xml +++ b/OpenKeychain/src/main/res/layout/full_screen_dialog_2_done_button.xml @@ -1,19 +1,3 @@ - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/full_screen_dialog_done_button.xml b/OpenKeychain/src/main/res/layout/full_screen_dialog_done_button.xml new file mode 100644 index 000000000..49018fee1 --- /dev/null +++ b/OpenKeychain/src/main/res/layout/full_screen_dialog_done_button.xml @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/full_screen_dialog_old.xml b/OpenKeychain/src/main/res/layout/full_screen_dialog_old.xml new file mode 100644 index 000000000..ed375094f --- /dev/null +++ b/OpenKeychain/src/main/res/layout/full_screen_dialog_old.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/help_activity.xml b/OpenKeychain/src/main/res/layout/help_activity.xml index 3ad087da3..1722f03ea 100644 --- a/OpenKeychain/src/main/res/layout/help_activity.xml +++ b/OpenKeychain/src/main/res/layout/help_activity.xml @@ -1,17 +1,33 @@ - + android:layout_height="match_parent"> - + + + android:layout_height="match_parent" + android:orientation="vertical" + android:elevation="4dp"> - + - \ No newline at end of file + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/import_keys_activity.xml b/OpenKeychain/src/main/res/layout/import_keys_activity.xml index 35818e4ea..dcdd9a31a 100644 --- a/OpenKeychain/src/main/res/layout/import_keys_activity.xml +++ b/OpenKeychain/src/main/res/layout/import_keys_activity.xml @@ -1,68 +1,84 @@ - + android:layout_height="match_parent"> - - - - - - - - - - - + + + android:layout_height="match_parent" + android:orientation="vertical"> + + + + - + android:layout_height="16dp" /> + + + + + + + + + + + - \ No newline at end of file + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/import_keys_cloud_fragment.xml b/OpenKeychain/src/main/res/layout/import_keys_cloud_fragment.xml index 46ec736ca..6f52e1938 100644 --- a/OpenKeychain/src/main/res/layout/import_keys_cloud_fragment.xml +++ b/OpenKeychain/src/main/res/layout/import_keys_cloud_fragment.xml @@ -1,5 +1,4 @@ diff --git a/OpenKeychain/src/main/res/layout/import_keys_list_item.xml b/OpenKeychain/src/main/res/layout/import_keys_list_item.xml index a97e81abe..bf9d33852 100644 --- a/OpenKeychain/src/main/res/layout/import_keys_list_item.xml +++ b/OpenKeychain/src/main/res/layout/import_keys_list_item.xml @@ -73,7 +73,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" - android:src="@drawable/status_signature_revoked_cutout" + android:src="@drawable/status_signature_revoked_cutout_24px" android:padding="16dp" /> @@ -38,7 +38,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:padding="8dp" - android:src="@drawable/ic_action_nfc" + android:src="@drawable/ic_nfc_white_24dp" android:layout_gravity="center_vertical" style="@style/SelectableItem" /> diff --git a/OpenKeychain/src/main/res/layout/indeterminate_progress.xml b/OpenKeychain/src/main/res/layout/indeterminate_progress.xml new file mode 100644 index 000000000..8515e83a4 --- /dev/null +++ b/OpenKeychain/src/main/res/layout/indeterminate_progress.xml @@ -0,0 +1,9 @@ + + + diff --git a/OpenKeychain/src/main/res/layout/key_list_activity.xml b/OpenKeychain/src/main/res/layout/key_list_activity.xml deleted file mode 100644 index 03ef85381..000000000 --- a/OpenKeychain/src/main/res/layout/key_list_activity.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/key_list_content.xml b/OpenKeychain/src/main/res/layout/key_list_content.xml index dd230806f..bd0239da7 100644 --- a/OpenKeychain/src/main/res/layout/key_list_content.xml +++ b/OpenKeychain/src/main/res/layout/key_list_content.xml @@ -1,47 +1,55 @@ - - + - + + - - --> - - + android:layout_height="0dp" + android:layout_weight="1" /> + - - \ 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 6529a88e0..65935f9c8 100644 --- a/OpenKeychain/src/main/res/layout/key_list_fragment.xml +++ b/OpenKeychain/src/main/res/layout/key_list_fragment.xml @@ -1,9 +1,10 @@ - + android:layout_width="match_parent" + > + @@ -38,4 +37,54 @@ - \ No newline at end of file + + + + + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/key_list_item.xml b/OpenKeychain/src/main/res/layout/key_list_item.xml index df69e4237..27444a260 100644 --- a/OpenKeychain/src/main/res/layout/key_list_item.xml +++ b/OpenKeychain/src/main/res/layout/key_list_item.xml @@ -58,7 +58,7 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="center" - android:src="@drawable/ic_action_safeslinger" + android:src="@drawable/ic_repeat_grey_24dp" android:padding="12dp" style="@style/SelectableItem" /> @@ -69,7 +69,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" - android:src="@drawable/status_signature_revoked_cutout" + android:src="@drawable/status_signature_revoked_cutout_24px" android:padding="16dp" /> diff --git a/OpenKeychain/src/main/res/layout/key_server_preference.xml b/OpenKeychain/src/main/res/layout/key_server_preference.xml index 33866f746..5319a3ec0 100644 --- a/OpenKeychain/src/main/res/layout/key_server_preference.xml +++ b/OpenKeychain/src/main/res/layout/key_server_preference.xml @@ -1,82 +1,94 @@ - + + + + android:layout_height="fill_parent" + android:orientation="vertical"> - - - - - -