├── .Rhistory ├── .gitignore ├── .gitmodules ├── .travis.yml ├── COPYING ├── NOTICES.md ├── README.md ├── Sealnote.iml ├── Sealnote.ipr ├── Sealnote.iws ├── Sealnote ├── .gitignore ├── Sealnote-Sealnote.iml ├── build.gradle ├── proguard-rules.txt └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── acknowledgements.html │ ├── fonts │ │ ├── Apache License.txt │ │ ├── Roboto-Light.ttf │ │ ├── RobotoCondensed-Regular.ttf │ │ ├── SourceSansPro-Bold.ttf │ │ ├── SourceSansPro-Light.ttf │ │ └── SourceSansPro-Regular.ttf │ ├── icudt46l.zip │ └── xato_passlist.txt │ ├── java │ └── com │ │ └── twistedplane │ │ └── sealnote │ │ ├── BackupActivity.java │ │ ├── NoteActivity.java │ │ ├── PasswordActivity.java │ │ ├── RestoreActivity.java │ │ ├── SealnoteActivity.java │ │ ├── SealnoteApplication.java │ │ ├── SettingsActivity.java │ │ ├── TagsEditorActivity.java │ │ ├── WebViewActivity.java │ │ ├── crypto │ │ └── PasswordQuality.java │ │ ├── data │ │ ├── AdapterLoader.java │ │ ├── CardGridStaggeredCursorAdapter.java │ │ ├── DatabaseHandler.java │ │ ├── Note.java │ │ ├── NoteContent.java │ │ ├── NoteContentCard.java │ │ ├── NoteContentGeneric.java │ │ ├── NoteContentLogin.java │ │ └── SealnoteAdapter.java │ │ ├── fragment │ │ ├── ColorDialogFragment.java │ │ └── SealnoteFragment.java │ │ ├── internal │ │ ├── MultiChoiceCallback.java │ │ └── SealnoteCard.java │ │ ├── settings │ │ ├── PasswordPreference.java │ │ └── VersionPreference.java │ │ ├── storage │ │ └── BackupUtils.java │ │ ├── utils │ │ ├── EasyDate.java │ │ ├── FontCache.java │ │ ├── Misc.java │ │ ├── PreferenceHandler.java │ │ └── TimeoutHandler.java │ │ └── view │ │ ├── NoteCardView.java │ │ ├── NoteGenericView.java │ │ ├── NoteLoginView.java │ │ ├── NoteView.java │ │ ├── PasswordInput.java │ │ ├── TagEditText.java │ │ ├── simplelist │ │ ├── SimpleListAdapter.java │ │ └── SimpleListFragment.java │ │ └── staggeredgrid │ │ ├── StaggeredGridAdapter.java │ │ ├── StaggeredGridFragment.java │ │ └── StaggeredGridView.java │ └── res │ ├── anim │ ├── flipin.xml │ └── flipout.xml │ ├── drawable-hdpi │ ├── drawer_shadow.9.png │ ├── ic_action_archive.png │ ├── ic_action_archive_light.png │ ├── ic_action_collection.png │ ├── ic_action_core_overflow.png │ ├── ic_action_discard.png │ ├── ic_action_discard_light.png │ ├── ic_action_new.png │ ├── ic_action_refresh.png │ ├── ic_action_save.png │ ├── ic_action_unarchive.png │ ├── ic_action_unarchive_light.png │ ├── ic_home.png │ ├── ic_launcher.png │ ├── ic_menu_color.png │ └── ic_navigation_drawer.png │ ├── drawable-ldpi │ └── ic_launcher.png │ ├── drawable-mdpi │ ├── drawer_shadow.9.png │ ├── ic_action_archive.png │ ├── ic_action_archive_light.png │ ├── ic_action_collection.png │ ├── ic_action_core_overflow.png │ ├── ic_action_discard.png │ ├── ic_action_discard_light.png │ ├── ic_action_new.png │ ├── ic_action_refresh.png │ ├── ic_action_save.png │ ├── ic_action_unarchive.png │ ├── ic_action_unarchive_light.png │ ├── ic_home.png │ ├── ic_launcher.png │ ├── ic_menu_color.png │ └── ic_navigation_drawer.png │ ├── drawable-xhdpi │ ├── drawer_shadow.9.png │ ├── ic_action_archive.png │ ├── ic_action_archive_light.png │ ├── ic_action_collection.png │ ├── ic_action_core_overflow.png │ ├── ic_action_discard.png │ ├── ic_action_discard_light.png │ ├── ic_action_new.png │ ├── ic_action_refresh.png │ ├── ic_action_save.png │ ├── ic_action_unarchive.png │ ├── ic_action_unarchive_light.png │ ├── ic_home.png │ ├── ic_launcher.png │ ├── ic_menu_color.png │ └── ic_navigation_drawer.png │ ├── drawable-xxhdpi │ ├── drawer_shadow.9.png │ ├── ic_action_archive.png │ ├── ic_action_archive_light.png │ ├── ic_action_collection.png │ ├── ic_action_core_overflow.png │ ├── ic_action_discard.png │ ├── ic_action_discard_light.png │ ├── ic_action_new.png │ ├── ic_action_refresh.png │ ├── ic_action_save.png │ ├── ic_action_unarchive.png │ ├── ic_action_unarchive_light.png │ ├── ic_home.png │ ├── ic_launcher.png │ ├── ic_menu_color.png │ └── ic_navigation_drawer.png │ ├── drawable-xxxhdpi │ └── ic_launcher.png │ ├── drawable │ ├── ab_background.png │ ├── ab_background_archive.png │ ├── ab_background_tag.png │ ├── ab_background_trash.png │ ├── actionbar_item_selector.xml │ ├── activated_background_card.xml │ ├── bubble.xml │ ├── button_background_darkblue.png │ ├── button_create_note.xml │ ├── button_create_note_background.xml │ ├── button_password_login.xml │ ├── button_text_color_selector.xml │ ├── card_background_color0.xml │ ├── card_background_color1.xml │ ├── card_background_color2.xml │ ├── card_background_color3.xml │ ├── card_background_color4.xml │ ├── card_background_color5.xml │ ├── card_background_color6.xml │ ├── card_background_color7.xml │ ├── card_brand_americanexpress.png │ ├── card_brand_cirrus.png │ ├── card_brand_diners.png │ ├── card_brand_discover.png │ ├── card_brand_jcb.png │ ├── card_brand_maestro.png │ ├── card_brand_mastercard.png │ ├── card_brand_unknown.png │ ├── card_brand_visa.png │ ├── card_selector_color0.xml │ ├── card_selector_color1.xml │ ├── card_selector_color2.xml │ ├── card_selector_color3.xml │ ├── card_selector_color4.xml │ ├── card_selector_color5.xml │ ├── card_selector_color6.xml │ ├── card_selector_color7.xml │ ├── checked.png │ ├── drawer_text_selector.xml │ ├── intelligence_gathering.jpg │ ├── list_button_bg.xml │ ├── no_card_background.png │ ├── note_type_card.xml │ ├── password_button_pressed.png │ ├── passwordmeter_default.xml │ ├── passwordmeter_good.xml │ ├── passwordmeter_ok.xml │ ├── passwordmeter_strong.xml │ ├── passwordmeter_weak.xml │ ├── simple_list_view_divider.xml │ ├── simple_list_view_item_background.xml │ ├── textlines.xml │ └── theme_color.png │ ├── layout-large │ └── view_password_meter.xml │ ├── layout │ ├── about.xml │ ├── actionbar_progress.xml │ ├── activity_backup.xml │ ├── activity_note.xml │ ├── activity_password.xml │ ├── activity_restore.xml │ ├── card_layout.xml │ ├── cardcontent.xml │ ├── color_choose_list_item.xml │ ├── dialog_password_pref.xml │ ├── drawer_list_item.xml │ ├── drawer_tag_list_item.xml │ ├── empty_tags.xml │ ├── fragment_sealnote.xml │ ├── main.xml │ ├── note_type_card.xml │ ├── note_type_card_layout.xml │ ├── note_type_generic.xml │ ├── note_type_login.xml │ ├── note_type_login_layout.xml │ ├── simple_list_item_2.xml │ ├── simplelist.xml │ ├── singlecolumnview.xml │ ├── staggeredgrid.xml │ ├── tag_rename_dialog.xml │ ├── tags_edit_list_item.xml │ ├── view_password_meter.xml │ └── webview.xml │ ├── menu │ ├── context_menu.xml │ ├── main_activity_actionbar.xml │ └── note_activity_actionbar.xml │ ├── values-de │ ├── array.xml │ └── strings.xml │ ├── values-it │ ├── array.xml │ └── strings.xml │ ├── values-ja │ └── strings.xml │ ├── values-large │ └── dimens.xml │ ├── values-ru │ └── strings.xml │ ├── values-w820dp │ └── dimens.xml │ ├── values │ ├── array.xml │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml │ └── xml │ └── preferences.xml ├── TODO.md ├── aFileChooser ├── .project ├── AndroidManifest.xml ├── aFileChooser.iml ├── build.gradle ├── proguard.cfg ├── project.properties ├── res │ ├── drawable-hdpi │ │ ├── ic_chooser.png │ │ ├── ic_file.png │ │ ├── ic_folder.png │ │ └── ic_provider.png │ ├── drawable-mdpi │ │ ├── ic_chooser.png │ │ ├── ic_file.png │ │ ├── ic_folder.png │ │ └── ic_provider.png │ ├── drawable-xhdpi │ │ ├── ic_chooser.png │ │ ├── ic_file.png │ │ ├── ic_folder.png │ │ └── ic_provider.png │ ├── drawable-xxhdpi │ │ ├── ic_chooser.png │ │ ├── ic_file.png │ │ ├── ic_folder.png │ │ └── ic_provider.png │ ├── layout │ │ └── file.xml │ ├── values-ca │ │ └── strings.xml │ ├── values-de │ │ └── strings.xml │ ├── values-es │ │ └── strings.xml │ ├── values-fr │ │ └── strings.xml │ ├── values-ga │ │ └── strings.xml │ ├── values-it │ │ └── strings.xml │ ├── values-ja │ │ └── strings.xml │ ├── values-ko │ │ └── strings.xml │ ├── values-pl │ │ └── strings.xml │ ├── values-pt-rBR │ │ └── strings.xml │ ├── values-ru │ │ └── strings.xml │ ├── values-v11 │ │ └── strings.xml │ ├── values-v19 │ │ └── bool.xml │ ├── values │ │ ├── bool.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── xml │ │ └── mimetypes.xml └── src │ └── com │ ├── ianhanniballake │ └── localstorage │ │ └── LocalStorageProvider.java │ └── ipaulpro │ └── afilechooser │ ├── FileChooserActivity.java │ ├── FileListAdapter.java │ ├── FileListFragment.java │ ├── FileLoader.java │ └── utils │ └── FileUtils.java ├── build.gradle ├── data ├── NoCardBackground.xcf └── ic_menu_color.xcf ├── gradle.properties ├── gradle ├── gradle.iml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── playstore-icon.png └── settings.gradle /.Rhistory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/.Rhistory -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | .idea/ 3 | /local.properties 4 | /.idea/workspace.xml 5 | .DS_Store 6 | build/ 7 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/.gitmodules -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: android 2 | jdk: oraclejdk8 3 | licenses: 4 | - 'android-sdk-preview-license-.+' 5 | - 'android-sdk-license-.+' 6 | - 'google-gdk-license-.+' 7 | 8 | android: 9 | components: 10 | # Uncomment the lines below if you want to 11 | # use the latest revision of Android SDK Tools 12 | - platform-tools 13 | - tools 14 | 15 | # The BuildTools version used by your project 16 | - build-tools-25.0.2 17 | 18 | # The SDK version used to compile your project 19 | - android-25 20 | 21 | # Additional components 22 | - extra-google-google_play_services 23 | - extra-google-m2repository 24 | - extra-android-m2repository 25 | - addon-google_apis-google-19 26 | 27 | # Specify at least one system image, 28 | # if you need to run emulator(s) during your tests 29 | - sys-img-armeabi-v7a-android-22 30 | - sys-img-x86-android-17 31 | 32 | script: 33 | - ./gradlew assembleDebug 34 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Vishesh Yadav 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /Sealnote.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Sealnote/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Sealnote/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | jcenter() 4 | mavenCentral() 5 | } 6 | dependencies { 7 | classpath 'com.android.tools.build:gradle:2.3.0' 8 | } 9 | } 10 | apply plugin: 'com.android.application' 11 | 12 | repositories { 13 | jcenter() 14 | } 15 | 16 | android { 17 | compileSdkVersion 25 18 | buildToolsVersion '25.0.2' 19 | 20 | defaultConfig { 21 | minSdkVersion 14 22 | targetSdkVersion 25 23 | 24 | versionCode 27 25 | versionName "0.8.7" 26 | } 27 | 28 | signingConfigs { 29 | release { 30 | storeFile file(String.valueOf(System.getenv("SEALNOTE_KEYSTORE"))) 31 | storePassword System.getenv("SEALNOTE_KEYSTORE_PASSWORD") 32 | keyAlias System.getenv("SEALNOTE_KEY_ALIAS") 33 | keyPassword System.getenv("SEALNOTE_KEY_PASSWORD") 34 | } 35 | } 36 | 37 | buildTypes { 38 | release { 39 | minifyEnabled false 40 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 41 | debuggable false 42 | jniDebuggable false 43 | signingConfig signingConfigs.release 44 | } 45 | debug { 46 | debuggable true 47 | jniDebuggable true 48 | minifyEnabled false 49 | } 50 | } 51 | 52 | 53 | lintOptions { 54 | //checkReleaseBuilds false 55 | 56 | // This is temporary 57 | abortOnError false 58 | } 59 | } 60 | 61 | 62 | dependencies { 63 | compile 'com.android.support:support-v4:25.1.1' 64 | compile 'com.etsy.android.grid:library:1.0.4' 65 | compile 'com.github.gabrielemariotti.cards:library:1.6.0' 66 | compile 'com.github.gabrielemariotti.cards:library-extra:1.6.0' 67 | compile 'com.nhaarman.listviewanimations:library:2.6.0' 68 | 69 | compile 'com.github.codechimp-org.apprater:library:1.0.32' 70 | compile 'net.zetetic:android-database-sqlcipher:3.5.6@aar' 71 | 72 | compile group: 'commons-codec', name: 'commons-codec', version: '1.10' 73 | compile group: 'com.google.guava', name: 'guava', version: 'r09' 74 | 75 | compile project(':aFileChooser') 76 | } 77 | -------------------------------------------------------------------------------- /Sealnote/proguard-rules.txt: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/vishesh/Applications/adt-bundle/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the ProGuard 5 | # include property in project.properties. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} -------------------------------------------------------------------------------- /Sealnote/src/main/assets/fonts/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/assets/fonts/Roboto-Light.ttf -------------------------------------------------------------------------------- /Sealnote/src/main/assets/fonts/RobotoCondensed-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/assets/fonts/RobotoCondensed-Regular.ttf -------------------------------------------------------------------------------- /Sealnote/src/main/assets/fonts/SourceSansPro-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/assets/fonts/SourceSansPro-Bold.ttf -------------------------------------------------------------------------------- /Sealnote/src/main/assets/fonts/SourceSansPro-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/assets/fonts/SourceSansPro-Light.ttf -------------------------------------------------------------------------------- /Sealnote/src/main/assets/fonts/SourceSansPro-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/assets/fonts/SourceSansPro-Regular.ttf -------------------------------------------------------------------------------- /Sealnote/src/main/assets/icudt46l.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/assets/icudt46l.zip -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/SealnoteApplication.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote; 2 | 3 | import android.app.Application; 4 | import android.view.ViewConfiguration; 5 | import com.twistedplane.sealnote.data.DatabaseHandler; 6 | import net.sqlcipher.database.SQLiteDatabase; 7 | 8 | import java.lang.reflect.Field; 9 | 10 | public class SealnoteApplication extends Application { 11 | public final static String TAG = "SealnoteApplication"; 12 | 13 | private static DatabaseHandler mDatabase; 14 | 15 | @Override 16 | public void onCreate() { 17 | super.onCreate(); 18 | 19 | // load sqlite-cipher native libraries 20 | SQLiteDatabase.loadLibs(this); 21 | mDatabase = new DatabaseHandler(this); 22 | 23 | // Force show overflow button on Action Bar 24 | try { 25 | ViewConfiguration config = ViewConfiguration.get(this); 26 | Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); 27 | 28 | if (menuKeyField != null) { 29 | menuKeyField.setAccessible(true); 30 | menuKeyField.setBoolean(config, false); 31 | } 32 | } 33 | catch (Exception e) { 34 | // presumably, not relevant 35 | } 36 | } 37 | 38 | public static DatabaseHandler getDatabase() { 39 | return mDatabase; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/SettingsActivity.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote; 2 | 3 | import android.app.ActionBar; 4 | import android.os.Bundle; 5 | import android.preference.PreferenceActivity; 6 | import android.view.MenuItem; 7 | 8 | /** 9 | * Activity for configuring the preferences/settings of application. 10 | */ 11 | public class SettingsActivity extends PreferenceActivity { 12 | public final static String TAG = "SettingsActivity"; 13 | 14 | @Override 15 | public void onCreate(Bundle savedInstanceState) { 16 | super.onCreate(savedInstanceState); 17 | addPreferencesFromResource(R.xml.preferences); 18 | 19 | //NOTE: for ICS 20 | ActionBar actionBar = getActionBar(); 21 | actionBar.setHomeButtonEnabled(true); 22 | actionBar.setDisplayHomeAsUpEnabled(true); 23 | } 24 | 25 | @Override 26 | public boolean onOptionsItemSelected(MenuItem item) { 27 | switch (item.getItemId()) { 28 | case android.R.id.home: 29 | onBackPressed(); 30 | return true; 31 | default: 32 | return super.onOptionsItemSelected(item); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/WebViewActivity.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote; 2 | 3 | import android.app.ActionBar; 4 | import android.app.Activity; 5 | import android.os.Bundle; 6 | import android.webkit.WebView; 7 | 8 | public class WebViewActivity extends Activity { 9 | @Override 10 | public void onCreate(Bundle savedInstanceState) { 11 | super.onCreate(savedInstanceState); 12 | setContentView(R.layout.webview); 13 | 14 | WebView wv = (WebView) findViewById(R.id.webview); 15 | wv.loadUrl("file:///android_asset/acknowledgements.html"); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/data/AdapterLoader.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.data; 2 | 3 | import android.content.AsyncTaskLoader; 4 | import android.content.Context; 5 | import android.database.Cursor; 6 | import android.util.Log; 7 | import com.twistedplane.sealnote.SealnoteApplication; 8 | import com.twistedplane.sealnote.fragment.SealnoteFragment; 9 | 10 | /** 11 | * Loader for loading notes in Adapter 12 | */ 13 | public class AdapterLoader extends AsyncTaskLoader { 14 | private Note.Folder currentFolder = Note.Folder.FOLDER_LIVE; 15 | private int tagid = -1; 16 | private Cursor mCursor; 17 | 18 | /** 19 | * Loads database, get cursor to all notes given folder in database 20 | */ 21 | @Override 22 | public Cursor loadInBackground() { 23 | Log.d(SealnoteFragment.TAG, "Adapter loader started!"); 24 | 25 | final DatabaseHandler db = SealnoteApplication.getDatabase(); 26 | final Cursor cursor; 27 | 28 | switch (currentFolder) { 29 | case FOLDER_LIVE: 30 | cursor = db.getNotesCursor(); 31 | break; 32 | case FOLDER_ARCHIVE: 33 | cursor = db.getArchivedNotesCursor(); 34 | break; 35 | case FOLDER_TRASH: 36 | cursor = db.getDeletedNotesCursor(); 37 | break; 38 | case FOLDER_TAG: 39 | cursor = db.getNotesCursor(tagid); 40 | break; 41 | default: 42 | cursor = null; 43 | } 44 | 45 | return cursor; 46 | } 47 | 48 | public AdapterLoader(Context context, Note.Folder currentFolder, int tagid) { 49 | super(context); 50 | Log.d(SealnoteFragment.TAG, "New adapter loader created"); 51 | this.currentFolder = currentFolder; 52 | this.tagid = tagid; 53 | } 54 | 55 | /* Runs on the UI thread */ 56 | @Override 57 | public void deliverResult(Cursor cursor) { 58 | if (isReset()) { 59 | // An async query came in while the loader is stopped 60 | if (cursor != null) { 61 | cursor.close(); 62 | } 63 | return; 64 | } 65 | Cursor oldCursor = mCursor; 66 | mCursor = cursor; 67 | 68 | if (isStarted()) { 69 | super.deliverResult(cursor); 70 | } 71 | 72 | if (oldCursor != null && oldCursor != cursor && !oldCursor.isClosed()) { 73 | oldCursor.close(); 74 | } 75 | } 76 | 77 | /** 78 | * Must be called from the UI thread 79 | */ 80 | @Override 81 | protected void onStartLoading() { 82 | if (mCursor != null) { 83 | deliverResult(mCursor); 84 | } 85 | if (takeContentChanged() || mCursor == null) { 86 | forceLoad(); 87 | } 88 | } 89 | 90 | /** 91 | * Must be called from the UI thread 92 | */ 93 | @Override 94 | protected void onStopLoading() { 95 | // Attempt to cancel the current load task if possible. 96 | cancelLoad(); 97 | } 98 | 99 | @Override 100 | public void onCanceled(Cursor cursor) { 101 | if (cursor != null && !cursor.isClosed()) { 102 | cursor.close(); 103 | } 104 | } 105 | 106 | @Override 107 | protected void onReset() { 108 | super.onReset(); 109 | 110 | // Ensure the loader is stopped 111 | onStopLoading(); 112 | 113 | if (mCursor != null && !mCursor.isClosed()) { 114 | mCursor.close(); 115 | } 116 | mCursor = null; 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/data/NoteContent.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.data; 2 | 3 | /** 4 | * Abstract class for different types of Note Contents 5 | */ 6 | public abstract class NoteContent { 7 | protected String mContent; /* Raw unparsed content */ 8 | protected String mCardString; /* String to show in cards */ 9 | protected boolean mUpdated = false; /* Is mContent parsed yet? */ 10 | 11 | protected NoteContent() { 12 | mUpdated = true; 13 | } 14 | 15 | protected NoteContent(String content) { 16 | mContent = content; 17 | mUpdated = false; 18 | } 19 | 20 | /** 21 | * Returns string to be shown in Cards from latest valuess 22 | */ 23 | abstract public String getCardString(); 24 | 25 | /** 26 | * Parse mContent and update all fields 27 | */ 28 | abstract public void update(); 29 | 30 | /** 31 | * Returns raw string for storage from latest values 32 | */ 33 | abstract public String toString(); 34 | 35 | /** 36 | * Assign card string to given string. This value is used as 37 | * cache to improve performance when showing all notes. 38 | * 39 | * This method should be called only by the DatabaseHandler 40 | * when saving or updating note 41 | */ 42 | public void setCardString(String cardString) { 43 | mCardString = cardString; 44 | } 45 | 46 | /** 47 | * Return the cached value of card string which will be used to 48 | * show in cards when listing all notes 49 | * @return 50 | */ 51 | public String getCardStringCached() { 52 | return mCardString; 53 | } 54 | 55 | /** 56 | * Create a NoteContent object of appropriate type from given content 57 | * @param type Type of NoteContent 58 | * @param content Raw string of NoteContent 59 | * @return Object of a derived class of NoteContent of Note.Type=type 60 | */ 61 | public static NoteContent fromString(Note.Type type, String content) { 62 | switch (type) { 63 | case TYPE_GENERIC: 64 | return new NoteContentGeneric(content); 65 | case TYPE_CARD: 66 | return new NoteContentCard(content); 67 | case TYPE_LOGIN: 68 | return new NoteContentLogin(content); 69 | default: 70 | throw new IllegalArgumentException("Invalid Note.Type '" + type + "' provided"); 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/data/NoteContentGeneric.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.data; 2 | 3 | /** 4 | * Note Content for plain text notes 5 | */ 6 | public class NoteContentGeneric extends NoteContent { 7 | public final static String TAG = "NoteContentGeneric"; 8 | 9 | private String mContent; 10 | 11 | protected NoteContentGeneric(String content) { 12 | mContent = content; 13 | } 14 | 15 | @Override 16 | public String getCardString() { 17 | return mContent; 18 | } 19 | 20 | @Override 21 | public String getCardStringCached() { 22 | // Cache not required here as we use whole note to show 23 | return mContent; 24 | } 25 | 26 | @Override 27 | public void setCardString(String string) { 28 | // no implementation required 29 | } 30 | 31 | @Override 32 | public void update() { 33 | // no implementation required 34 | } 35 | 36 | @Override 37 | public String toString() { 38 | return mContent; 39 | } 40 | } 41 | 42 | 43 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/data/NoteContentLogin.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.data; 2 | 3 | 4 | import java.util.NoSuchElementException; 5 | import java.util.Scanner; 6 | 7 | 8 | /** 9 | * Implementation of NoteContent for Note.Type = LOGIN. 10 | */ 11 | public class NoteContentLogin extends NoteContent { 12 | public final static String TAG = "NoteContentLogin"; 13 | 14 | private String mUrl; 15 | private String mLogin; 16 | private String mPassword; 17 | private String mAdditionalNote; 18 | 19 | protected NoteContentLogin(String content) { 20 | super(content); 21 | mUrl = mLogin = mPassword = mAdditionalNote = ""; 22 | } 23 | 24 | public NoteContentLogin(String url, String login, String password, String additionalNote) { 25 | super(); 26 | mUrl = url; 27 | mLogin = login; 28 | mPassword = password; 29 | mAdditionalNote = additionalNote; 30 | } 31 | 32 | @Override 33 | public String getCardString() { 34 | //NOTE: We return HTML from this 35 | if (!mUpdated) { 36 | update(); 37 | } 38 | String result = mUrl.trim(); 39 | if (!result.equals("")) { 40 | result += "
"; 41 | } 42 | if (!mLogin.equals("")) { 43 | result += String.format("Login: %s", mLogin); 44 | } 45 | return result; 46 | } 47 | 48 | @Override 49 | public void update() { 50 | Scanner scanner = new Scanner(mContent); 51 | 52 | try { 53 | mUrl = scanner.nextLine(); 54 | mLogin = scanner.nextLine(); 55 | mPassword = scanner.nextLine(); 56 | mAdditionalNote = scanner.nextLine(); 57 | while (scanner.hasNextLine()) { 58 | mAdditionalNote += "\n"; 59 | mAdditionalNote += scanner.nextLine(); 60 | } 61 | } catch (NoSuchElementException e) { 62 | // Log.e(TAG, "Insufficient data in scanner stream. Done reading."); 63 | } 64 | 65 | mUpdated = true; 66 | } 67 | 68 | @Override 69 | public String toString() { 70 | final String format = "%s\n%s\n%s\n%s"; 71 | return String.format(format, 72 | mUrl, mLogin, mPassword, mAdditionalNote 73 | ); 74 | } 75 | 76 | public void setUrl(String url) { 77 | mUrl = url; 78 | } 79 | 80 | public String getUrl() { 81 | if (!mUpdated) { 82 | update(); 83 | } 84 | return mUrl; 85 | } 86 | 87 | public void setLogin(String login) { 88 | mLogin = login; 89 | } 90 | 91 | public String getLogin() { 92 | if (!mUpdated) { 93 | update(); 94 | } 95 | return mLogin; 96 | } 97 | 98 | public void setPassword(String password) { 99 | mPassword = password; 100 | } 101 | 102 | public String getPassword() { 103 | if (!mUpdated) { 104 | update(); 105 | } 106 | return mPassword; 107 | } 108 | 109 | public void setAdditionalNote(String additionalNote) { 110 | mAdditionalNote = additionalNote; 111 | } 112 | 113 | public String getAdditionalNote() { 114 | if (!mUpdated) { 115 | update(); 116 | } 117 | return mAdditionalNote; 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/data/SealnoteAdapter.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.data; 2 | 3 | import android.database.Cursor; 4 | import android.widget.ListAdapter; 5 | 6 | public interface SealnoteAdapter extends ListAdapter { 7 | public Cursor getCursor(); 8 | public void clearCursor(); 9 | public void changeCursor(Cursor cursor); 10 | public void setFolder(Note.Folder folder, int tagid); 11 | public void startActionMode(); 12 | } 13 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/settings/VersionPreference.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.settings; 2 | 3 | import android.content.Context; 4 | import android.content.pm.PackageInfo; 5 | import android.content.pm.PackageManager; 6 | import android.preference.Preference; 7 | import android.util.AttributeSet; 8 | import com.twistedplane.sealnote.R; 9 | 10 | public class VersionPreference extends Preference { 11 | public VersionPreference(Context context, AttributeSet attrs) { 12 | super(context, attrs); 13 | String version = ""; 14 | 15 | final PackageManager packageManager = context.getPackageManager(); 16 | if (packageManager != null) { 17 | try { 18 | PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), 0); 19 | version = String.format("%s (#%d)", packageInfo.versionName, packageInfo.versionCode); 20 | } catch (PackageManager.NameNotFoundException e) { 21 | // 22 | } 23 | setSummary(version); 24 | setTitle(R.string.version); 25 | setPersistent(false); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/utils/EasyDate.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.utils; 2 | 3 | import java.text.ParseException; 4 | import java.text.SimpleDateFormat; 5 | import java.util.Calendar; 6 | import java.util.Date; 7 | import java.util.TimeZone; 8 | 9 | /** 10 | * A helper class to easily get dates and times for use in notes and views. 11 | * Appropriate conversions from current timezone to GMT is made behind the 12 | * scenes. 13 | */ 14 | public class EasyDate { 15 | public final static String TAG = "EasyDate"; 16 | 17 | private final static String mDF_ISO_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS zzz"; 18 | 19 | final private Date mDate; 20 | 21 | /** 22 | * Return EasyDate object containing current timestamp. 23 | */ 24 | public static EasyDate now() { 25 | return new EasyDate(new Date()); 26 | } 27 | 28 | /** 29 | * Convert a date given in ISO format to EasyDate object 30 | * 31 | * @param date String containing date in ISO format 32 | * @return EasyDate object with given date 33 | * @throws ParseException 34 | */ 35 | public static EasyDate fromIsoString(String date) throws ParseException { 36 | SimpleDateFormat df = new SimpleDateFormat(mDF_ISO_FORMAT); 37 | df.setTimeZone(TimeZone.getTimeZone("UTC")); 38 | return new EasyDate(df.parse(date)); 39 | } 40 | 41 | /** 42 | * Create a EasyDate object using given java Date object 43 | */ 44 | private EasyDate(Date date) { 45 | mDate = date; 46 | } 47 | 48 | /** 49 | * Convert current EasyDate object to ISO format string with UTC 50 | * as timezone. 51 | * 52 | * @return String containing ISO format UTC time. 53 | */ 54 | public String toString() { 55 | SimpleDateFormat df = new SimpleDateFormat(mDF_ISO_FORMAT); 56 | df.setTimeZone(TimeZone.getTimeZone("UTC")); 57 | return df.format(mDate); 58 | } 59 | 60 | /** 61 | * Return a string containing datetime in user friendly easy to read 62 | * form. 63 | * 64 | * + If the date equal to today, just show time. Eg "12:40 PM" 65 | * + If year is equal to current year. Eg. "24th July" 66 | * + Else show date. Eg. "24th July 2011" 67 | */ 68 | public String friendly() { 69 | Calendar now = Calendar.getInstance(); 70 | Calendar previous = Calendar.getInstance(); 71 | SimpleDateFormat df; 72 | 73 | previous.setTime(mDate); 74 | 75 | if (previous.get(Calendar.DATE) == now.get(Calendar.DATE) && 76 | previous.get(Calendar.MONTH) == now.get(Calendar.MONTH) && 77 | previous.get(Calendar.YEAR) == now.get(Calendar.YEAR)) { 78 | df = new SimpleDateFormat("hh:mm aa"); 79 | } else if (previous.get(Calendar.YEAR) == now.get(Calendar.YEAR)) { 80 | df = new SimpleDateFormat("MMM dd"); 81 | 82 | } else { 83 | df = new SimpleDateFormat("MMM dd, yyyy"); 84 | } 85 | df.setTimeZone(TimeZone.getDefault()); 86 | return df.format(mDate); 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/utils/FontCache.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.utils; 2 | 3 | import android.content.Context; 4 | import android.graphics.Typeface; 5 | 6 | import java.util.HashMap; 7 | import java.util.Map; 8 | 9 | /** 10 | * Cache to store external fonts. 11 | */ 12 | public class FontCache { 13 | public static final String TAG = "FontCache"; 14 | 15 | final private static Map mFontMap = new HashMap(); 16 | 17 | public static Typeface getFont(Context context, String fontName){ 18 | if (mFontMap.containsKey(fontName)){ 19 | return mFontMap.get(fontName); 20 | } 21 | else { 22 | Typeface tf = Typeface.createFromAsset(context.getApplicationContext().getAssets(), 23 | "fonts/" + fontName + ".ttf"); 24 | mFontMap.put(fontName, tf); 25 | return tf; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/utils/Misc.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.utils; 2 | 3 | import android.app.Activity; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | import android.content.res.Resources; 7 | import android.view.Window; 8 | import android.view.WindowManager; 9 | import com.twistedplane.sealnote.PasswordActivity; 10 | import com.twistedplane.sealnote.R; 11 | import com.twistedplane.sealnote.SealnoteApplication; 12 | 13 | /** 14 | * Miscellaneous helper functions 15 | */ 16 | public class Misc { 17 | public static final String TAG = "Misc"; 18 | 19 | private Misc() {} 20 | 21 | /** 22 | * Get background color corresponsing to given code 23 | * 24 | * @param context Context used to get resources 25 | * @param code Code of background color 26 | * @return Background color integer value 27 | */ 28 | public static int getColorForCode(Context context, int code) { 29 | Resources resources = context.getResources(); 30 | 31 | switch (code) { 32 | case 0: 33 | return resources.getColor(R.color.card_background_color0); 34 | case 1: 35 | return resources.getColor(R.color.card_background_color1); 36 | case 2: 37 | return resources.getColor(R.color.card_background_color2); 38 | case 3: 39 | return resources.getColor(R.color.card_background_color3); 40 | case 4: 41 | return resources.getColor(R.color.card_background_color4); 42 | case 5: 43 | return resources.getColor(R.color.card_background_color5); 44 | case 6: 45 | return resources.getColor(R.color.card_background_color6); 46 | case 7: 47 | return resources.getColor(R.color.card_background_color7); 48 | } 49 | 50 | // return the first color 51 | return resources.getColor(R.color.card_background_color0); 52 | } 53 | 54 | /** 55 | * Checks if secure window preference is enabled and update appropriate flags. 56 | * Secure window prevents non-secure displays such as application switcher, 57 | * screenshots etc to access the content of window. 58 | * 59 | * @param activity Activity whose window is to be secured 60 | */ 61 | public static void secureWindow(Activity activity) { 62 | boolean isSecureWindow = PreferenceHandler.isSecureWindowEnabled(activity); 63 | Window window = activity.getWindow(); 64 | 65 | if (isSecureWindow) { 66 | window.setFlags(WindowManager.LayoutParams.FLAG_SECURE, 67 | WindowManager.LayoutParams.FLAG_SECURE); 68 | } else { 69 | window.setFlags(0, WindowManager.LayoutParams.FLAG_SECURE); 70 | } 71 | } 72 | 73 | public static boolean isPasswordLoaded() { 74 | return SealnoteApplication.getDatabase().getPassword() != null; 75 | } 76 | 77 | public static void startPasswordActivity(Activity activity) { 78 | Intent passwordIntent = new Intent(activity, PasswordActivity.class); 79 | activity.startActivity(passwordIntent); 80 | activity.finish(); 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/utils/PreferenceHandler.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.utils; 2 | 3 | import android.content.Context; 4 | import android.content.SharedPreferences; 5 | import android.graphics.Typeface; 6 | import android.preference.PreferenceManager; 7 | 8 | /** 9 | * Helper class to easily access preference values used by SealNote. 10 | */ 11 | public class PreferenceHandler { 12 | public final static String TAG = "PreferenceHandler"; 13 | 14 | public static enum NoteListViewType { 15 | VIEW_TILES, VIEW_COLUMN, VIEW_SIMPLE_LIST 16 | } 17 | 18 | public static boolean isSecureWindowEnabled(Context c) { 19 | SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(c); 20 | return sharedPrefs.getBoolean("SecureWindow", false); 21 | } 22 | 23 | public static int getPasswordTimeout(Context c) { 24 | SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(c); 25 | return Integer.parseInt(sharedPrefs.getString("PasswordTimeout", "10000")); //FIXME: Get integer 26 | } 27 | 28 | public static boolean isDynamicFontSizeEnabled(Context c) { 29 | SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(c); 30 | return sharedPrefs.getBoolean("DynamicFontSize", true); 31 | } 32 | 33 | public static NoteListViewType getNoteListViewType(Context c) { 34 | SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(c); 35 | String result = sharedPrefs.getString("NoteListViewType", "tiles"); 36 | 37 | if (result.equals("tiles")) { 38 | return NoteListViewType.VIEW_TILES; 39 | } else if (result.equals("column")) { 40 | return NoteListViewType.VIEW_COLUMN; 41 | } else if (result.equals("simplelist")) { 42 | return NoteListViewType.VIEW_SIMPLE_LIST; 43 | } 44 | 45 | return NoteListViewType.VIEW_TILES; 46 | } 47 | 48 | public static boolean isAutosaveEnabled(Context c) { 49 | SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(c); 50 | return sharedPrefs.getBoolean("AutoSave", false); 51 | } 52 | 53 | public static boolean isNoteActivityBackgroundEnabled(Context c) { 54 | SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(c); 55 | return sharedPrefs.getBoolean("NoteActivityBackground", true); 56 | } 57 | 58 | public static String getFontDefault() { 59 | return "SourceSansPro-Regular"; 60 | } 61 | 62 | public static String getFontLight() { 63 | return "SourceSansPro-Light"; 64 | } 65 | 66 | public static String getFontBold() { 67 | return "SourceSansPro-Bold"; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/utils/TimeoutHandler.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.utils; 2 | 3 | import android.app.Activity; 4 | import android.content.Intent; 5 | import android.os.Handler; 6 | import android.util.Log; 7 | import com.twistedplane.sealnote.PasswordActivity; 8 | import com.twistedplane.sealnote.SealnoteApplication; 9 | import com.twistedplane.sealnote.data.DatabaseHandler; 10 | 11 | /** 12 | * Handler implementing the password expiry and appropriate callbacks. 13 | * This is a singleton and manages timeout for complete application 14 | * with its own Handler instance. 15 | */ 16 | public class TimeoutHandler implements Runnable { 17 | public final static String TAG = "TimeoutHandler"; 18 | 19 | final private Handler mHandler = new Handler(); 20 | 21 | /** 22 | * Are we timed out? 23 | */ 24 | private boolean mTimedOut = true; 25 | 26 | /** 27 | * Singleton instance 28 | */ 29 | final private static TimeoutHandler mInstance = new TimeoutHandler(); 30 | 31 | private TimeoutHandler() {} 32 | 33 | /** 34 | * Reinitalize the timeout handler 35 | */ 36 | public void init() { 37 | passwordTimeoutClear(); 38 | mTimedOut = true; 39 | } 40 | 41 | /** 42 | * Get singleton instance. 43 | */ 44 | public static TimeoutHandler instance() { 45 | return mInstance; 46 | } 47 | 48 | /** 49 | * Method run after timeout. Recycles database and set state 50 | * as timed out. 51 | */ 52 | @Override 53 | public void run() { 54 | DatabaseHandler db = SealnoteApplication.getDatabase(); 55 | db.recycle(); 56 | mTimedOut = true; 57 | } 58 | 59 | /** 60 | * Remove any pending timeout callbacks and halt the state 61 | */ 62 | public void passwordTimeoutClear() { 63 | mHandler.removeCallbacks(mInstance, null); 64 | mTimedOut = false; 65 | } 66 | 67 | /** 68 | * Resets any existing/pending callbacks and resets the timeout/state 69 | * by postDelaying another callback. 70 | */ 71 | private void passwordTimeoutStart(Activity activity) { 72 | int timeout = PreferenceHandler.getPasswordTimeout(activity); 73 | passwordTimeoutClear(); 74 | mHandler.postDelayed(mInstance, timeout); 75 | mTimedOut = false; 76 | } 77 | 78 | /** 79 | * Check if we have timed out, and if so start login activity. Otherwise 80 | * clear and halt state. 81 | * 82 | * @param activity Current active activity 83 | * @return true if we are timed out, else false 84 | */ 85 | public boolean resume(Activity activity) { 86 | if (mTimedOut) { 87 | Log.d(TAG, "Timed out, starting password activity."); 88 | Intent intent = new Intent(activity, PasswordActivity.class); 89 | activity.startActivity(intent); 90 | activity.finish(); 91 | } else { 92 | Log.d(TAG, "Back on time. Resuming activity."); 93 | passwordTimeoutClear(); 94 | } 95 | return mTimedOut; 96 | } 97 | 98 | /** 99 | * Expire the state immediately ie. set state to timed out. 100 | * Usage example: logout button 101 | * 102 | * @param activity Current active activity to use 103 | */ 104 | public void expire(Activity activity) { 105 | passwordTimeoutClear(); 106 | run(); 107 | resume(activity); 108 | } 109 | 110 | /** 111 | * Schedule a new timeout callback. Called from activity onPause 112 | * method 113 | * 114 | * @param activity Current active activity to use 115 | */ 116 | public void pause(Activity activity) { 117 | passwordTimeoutStart(activity); 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/view/NoteGenericView.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.view; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.EditText; 6 | import com.twistedplane.sealnote.data.Note; 7 | import com.twistedplane.sealnote.data.NoteContent; 8 | import com.twistedplane.sealnote.utils.FontCache; 9 | import com.twistedplane.sealnote.utils.PreferenceHandler; 10 | 11 | /** 12 | * View for simple plain text note content. 13 | */ 14 | public class NoteGenericView extends EditText implements NoteView { 15 | public NoteGenericView(Context context) { 16 | super(context); 17 | init(); 18 | } 19 | 20 | public NoteGenericView(Context context, AttributeSet attrs) { 21 | super(context, attrs); 22 | init(); 23 | } 24 | 25 | public NoteGenericView(Context context, AttributeSet attrs, int defStyle) { 26 | super(context, attrs, defStyle); 27 | init(); 28 | } 29 | 30 | public void init() { 31 | setTypeface(FontCache.getFont(getContext(), PreferenceHandler.getFontDefault())); //LOOK 32 | } 33 | 34 | /** 35 | * Returns NoteContent object with latest valuess 36 | */ 37 | @Override 38 | public NoteContent getNoteContent() { 39 | return NoteContent.fromString(Note.Type.TYPE_GENERIC, getText().toString()); 40 | } 41 | 42 | /** 43 | * Load values into View from given NoteContent object 44 | */ 45 | @Override 46 | public void setNoteContent(NoteContent noteContent) { 47 | setText(noteContent.toString()); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/view/NoteLoginView.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.view; 2 | 3 | import android.content.Context; 4 | import android.text.TextWatcher; 5 | import android.util.AttributeSet; 6 | import android.view.LayoutInflater; 7 | import android.widget.EditText; 8 | import android.widget.LinearLayout; 9 | import com.twistedplane.sealnote.R; 10 | import com.twistedplane.sealnote.data.NoteContent; 11 | import com.twistedplane.sealnote.data.NoteContentLogin; 12 | import com.twistedplane.sealnote.utils.FontCache; 13 | import com.twistedplane.sealnote.utils.PreferenceHandler; 14 | 15 | /** 16 | * View for editing note content of Note.Type = Login 17 | */ 18 | public class NoteLoginView extends LinearLayout implements NoteView { 19 | private EditText mUrl; 20 | private EditText mLogin; 21 | private EditText mPassword; 22 | private EditText mNote; 23 | 24 | public NoteLoginView(Context context) { 25 | super(context); 26 | init(); 27 | } 28 | 29 | public NoteLoginView(Context context, AttributeSet attrs) { 30 | super(context, attrs); 31 | init(); 32 | } 33 | 34 | public NoteLoginView(Context context, AttributeSet attrs, int defStyle) { 35 | super(context, attrs, defStyle); 36 | init(); 37 | } 38 | 39 | private void init() { 40 | LayoutInflater.from(getContext()).inflate(R.layout.note_type_login_layout, this); 41 | 42 | mUrl = (EditText) findViewById(R.id.note_login_url); 43 | mLogin = (EditText) findViewById(R.id.note_login_name); 44 | mPassword = (EditText) findViewById(R.id.note_login_password); 45 | mNote = (EditText) findViewById(R.id.note_additional_note); 46 | 47 | mNote.setTypeface(FontCache.getFont(getContext(), PreferenceHandler.getFontDefault())); //LOOK 48 | } 49 | 50 | @Override 51 | public NoteContent getNoteContent() { 52 | return new NoteContentLogin( 53 | mUrl.getText().toString(), 54 | mLogin.getText().toString(), 55 | mPassword.getText().toString(), 56 | mNote.getText().toString() 57 | ); 58 | } 59 | 60 | @Override 61 | public void setNoteContent(NoteContent noteContent) { 62 | NoteContentLogin noteContentLogin = (NoteContentLogin) noteContent; 63 | 64 | mUrl.setText(noteContentLogin.getUrl()); 65 | mLogin.setText(noteContentLogin.getLogin()); 66 | mPassword.setText(noteContentLogin.getPassword()); 67 | mNote.setText(noteContentLogin.getAdditionalNote()); 68 | } 69 | 70 | @Override 71 | public void setEnabled(boolean enabled) { 72 | super.setEnabled(enabled); 73 | mUrl.setEnabled(enabled); 74 | mLogin.setEnabled(enabled); 75 | mPassword.setEnabled(enabled); 76 | mNote.setEnabled(enabled); 77 | } 78 | 79 | @Override 80 | public void addTextChangedListener(TextWatcher textWatcher) { 81 | mUrl.addTextChangedListener(textWatcher); 82 | mLogin.addTextChangedListener(textWatcher); 83 | mPassword.addTextChangedListener(textWatcher); 84 | mNote.addTextChangedListener(textWatcher); 85 | } 86 | } 87 | 88 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/view/NoteView.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.view; 2 | 3 | import android.text.TextWatcher; 4 | import com.twistedplane.sealnote.data.NoteContent; 5 | 6 | /** 7 | * Interface for Views for editing note content. 8 | */ 9 | public interface NoteView { 10 | /** 11 | * Returns NoteContent object with latest changes. 12 | */ 13 | public NoteContent getNoteContent(); 14 | 15 | /** 16 | * Load values into View from give NoteContent object 17 | */ 18 | public void setNoteContent(NoteContent noteContent); 19 | 20 | /** 21 | * Add Text Watcher to all input views within this View 22 | */ 23 | public void addTextChangedListener(TextWatcher textWatcher); 24 | } 25 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/view/simplelist/SimpleListAdapter.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.view.simplelist; 2 | 3 | import android.content.Context; 4 | import android.database.Cursor; 5 | import android.text.Html; 6 | import android.util.Log; 7 | import android.view.View; 8 | import android.view.ViewGroup; 9 | import android.widget.SimpleCursorAdapter; 10 | import android.widget.TextView; 11 | import com.twistedplane.sealnote.R; 12 | import com.twistedplane.sealnote.data.DatabaseHandler; 13 | import com.twistedplane.sealnote.data.Note; 14 | import com.twistedplane.sealnote.data.SealnoteAdapter; 15 | import com.twistedplane.sealnote.utils.EasyDate; 16 | import com.twistedplane.sealnote.utils.FontCache; 17 | import com.twistedplane.sealnote.utils.Misc; 18 | import com.twistedplane.sealnote.utils.PreferenceHandler; 19 | 20 | import java.text.ParseException; 21 | 22 | /** 23 | * Adapter for SimpleListView. 24 | */ 25 | public class SimpleListAdapter extends SimpleCursorAdapter implements SealnoteAdapter { 26 | public final static String TAG = "SimpleListAdapter"; 27 | 28 | public SimpleListAdapter(Context context, Cursor cursor) { 29 | super( 30 | context, 31 | R.layout.simple_list_item_2, 32 | cursor, 33 | new String[] { /* From columns to pick from cursor */ 34 | DatabaseHandler.COL_TITLE, 35 | DatabaseHandler.COL_NOTE_EXTRA, 36 | DatabaseHandler.COL_EDITED 37 | }, 38 | new int[] { /* Mapped resource ids in layout to columns */ 39 | R.id.text1, 40 | R.id.text2, 41 | R.id.text3 42 | } 43 | ); 44 | } 45 | 46 | /** 47 | * Close the cursor held by adapter 48 | */ 49 | @Override 50 | public void clearCursor() { 51 | Cursor cursor = swapCursor(null); 52 | if (cursor != null) { 53 | cursor.close(); 54 | } 55 | } 56 | 57 | @Override 58 | public void bindView(View view, Context context, Cursor cursor) { 59 | super.bindView(view, context, cursor); 60 | 61 | // Set strip color 62 | int color = cursor.getInt(cursor.getColumnIndex(DatabaseHandler.COL_COLOR)); 63 | View colorStrip = view.findViewById(R.id.list_item_color); 64 | colorStrip.setBackgroundColor(Misc.getColorForCode(context, color)); 65 | if (color == 0) { 66 | colorStrip.setVisibility(View.GONE); 67 | } else { 68 | colorStrip.setVisibility(View.VISIBLE); 69 | } 70 | } 71 | 72 | @Override 73 | public View newView(Context context, Cursor cursor, ViewGroup parent) { 74 | View view = super.newView(context, cursor, parent); 75 | 76 | TextView text1 = (TextView) view.findViewById(R.id.text1); 77 | TextView text2 = (TextView) view.findViewById(R.id.text2); 78 | TextView text3 = (TextView) view.findViewById(R.id.text3); 79 | 80 | text1.setTypeface(FontCache.getFont(context, PreferenceHandler.getFontDefault())); 81 | text2.setTypeface(FontCache.getFont(context, PreferenceHandler.getFontDefault())); 82 | text3.setTypeface(FontCache.getFont(context, PreferenceHandler.getFontDefault())); 83 | 84 | return view; 85 | } 86 | 87 | @Override 88 | public void setViewText(TextView v, String text) { 89 | if (v.getId() == R.id.text3) { 90 | // Edited data 91 | try { 92 | v.setText(EasyDate.fromIsoString(text).friendly()); 93 | } catch (ParseException e) { 94 | Log.e(TAG, "Error parsing edited date from database."); 95 | v.setText(""); 96 | } 97 | } else if (v.getId() == R.id.text2) { 98 | // Note content 99 | v.setText(Html.fromHtml(text).toString()); 100 | } else { 101 | // Title 102 | v.setText(text); 103 | } 104 | } 105 | 106 | /** 107 | * Sets current folder in view 108 | */ 109 | @Override 110 | public void setFolder(Note.Folder folder, int tagid) { 111 | // no implementation required 112 | } 113 | 114 | @Override 115 | public void startActionMode() { 116 | // no implementation required 117 | } 118 | } 119 | 120 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/view/staggeredgrid/StaggeredGridFragment.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.view.staggeredgrid; 2 | 3 | import android.database.Cursor; 4 | import android.util.Log; 5 | import android.view.ViewStub; 6 | import android.widget.AdapterView; 7 | import com.nhaarman.listviewanimations.swinginadapters.AnimationAdapter; 8 | import com.nhaarman.listviewanimations.swinginadapters.prepared.ScaleInAnimationAdapter; 9 | import com.twistedplane.sealnote.R; 10 | import com.twistedplane.sealnote.data.SealnoteAdapter; 11 | import com.twistedplane.sealnote.fragment.SealnoteFragment; 12 | import com.twistedplane.sealnote.utils.PreferenceHandler; 13 | 14 | /** 15 | * Fragment where all cards are listed in a staggered grid 16 | */ 17 | public class StaggeredGridFragment extends SealnoteFragment { 18 | public final static String TAG = "StaggeredGridFragment"; 19 | 20 | /** 21 | * Create and return adapter 22 | */ 23 | @Override 24 | protected SealnoteAdapter createAdapter() { 25 | if (mAdapter == null) { 26 | mAdapter = new StaggeredGridAdapter(getActivity(), null); 27 | } 28 | return mAdapter; 29 | } 30 | 31 | /** 32 | * Inflate ViewStub with Staggered Grid View. If user has selected 33 | * VIEW_COLUMN mode, then we load singlecolumn view. 34 | * 35 | * @param stub ViewStub to be replaced with adapter view 36 | * @return StaggeredGridView 37 | */ 38 | @Override 39 | protected AdapterView inflateAdapterView(ViewStub stub) { 40 | if (PreferenceHandler.getNoteListViewType(getActivity()) == 41 | PreferenceHandler.NoteListViewType.VIEW_COLUMN) { 42 | stub.setLayoutResource(R.layout.singlecolumnview); 43 | } else { 44 | stub.setLayoutResource(R.layout.staggeredgrid); 45 | } 46 | return (AdapterView) stub.inflate(); 47 | } 48 | 49 | /** 50 | * Load adapter to card grid view. Reload data from database. Also setup animations. 51 | */ 52 | protected void loadAdapter(Cursor cursor) { 53 | Log.d(TAG, "Loading adapter into view"); 54 | setAnimationAdapter(); 55 | mAdapter.changeCursor(cursor); 56 | } 57 | 58 | /** 59 | * Set animation adapter for card grid view and make it card grid's external adapter. 60 | */ 61 | private void setAnimationAdapter() { 62 | StaggeredGridAdapter dataAdapter = (StaggeredGridAdapter) mAdapter; 63 | StaggeredGridView adapterView = (StaggeredGridView) mAdapterView; 64 | 65 | AnimationAdapter animCardArrayAdapter = new ScaleInAnimationAdapter(dataAdapter); 66 | 67 | animCardArrayAdapter.setAnimationDurationMillis(1000); 68 | animCardArrayAdapter.setAnimationDelayMillis(500); 69 | 70 | animCardArrayAdapter.setAbsListView(adapterView); 71 | adapterView.setExternalAdapter(animCardArrayAdapter, dataAdapter); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /Sealnote/src/main/java/com/twistedplane/sealnote/view/staggeredgrid/StaggeredGridView.java: -------------------------------------------------------------------------------- 1 | package com.twistedplane.sealnote.view.staggeredgrid; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.util.Log; 6 | import android.widget.ListAdapter; 7 | import com.twistedplane.sealnote.data.CardGridStaggeredCursorAdapter; 8 | import it.gmariotti.cardslib.library.extra.staggeredgrid.internal.CardGridStaggeredArrayAdapter; 9 | import it.gmariotti.cardslib.library.extra.staggeredgrid.view.CardGridStaggeredView; 10 | 11 | /** 12 | * Specialized CardGridStaggeredView class used in SealNote. 13 | * 14 | * + Add support for cursor adapter 15 | * + Changes to make column mode change as per latest Sealnote settings 16 | * preferences 17 | */ 18 | public class StaggeredGridView extends CardGridStaggeredView { 19 | public final static String TAG = "StaggeredGridView"; 20 | 21 | public StaggeredGridView(Context context) { 22 | super(context); 23 | } 24 | 25 | public StaggeredGridView(Context context, AttributeSet attrs) { 26 | super(context, attrs); 27 | } 28 | 29 | public StaggeredGridView(Context context, AttributeSet attrs, int defStyle) { 30 | super(context, attrs, defStyle); 31 | } 32 | 33 | /** 34 | * Uses CardGridStaggeredCursorAdapter to avoid dispatch to generic 35 | * ListAdapter version of this function which doesn't support this 36 | * kind of adapter. 37 | */ 38 | public void setAdapter(CardGridStaggeredCursorAdapter adapter) { 39 | super.setAdapter(adapter); 40 | adapter.setRowLayoutId(list_card_layout_resourceID); 41 | adapter.setCardGridView(this); 42 | } 43 | 44 | /** 45 | * Uses CardGridStaggeredCursorAdapter to avoid dispatch to generic 46 | * ListAdapter version of this function which doesn't support this 47 | * kind of adapter. 48 | */ 49 | public void setExternalAdapter(ListAdapter adapter, CardGridStaggeredCursorAdapter cardCursorAdapter) { 50 | setAdapter(adapter); 51 | cardCursorAdapter.setCardGridView(this); 52 | cardCursorAdapter.setRowLayoutId(list_card_layout_resourceID); 53 | } 54 | 55 | /** 56 | * Add support for CardGridStaggeredCursorAdapter. 57 | */ 58 | @Override 59 | public void setAdapter(ListAdapter adapter) { 60 | if (adapter instanceof CardGridStaggeredArrayAdapter) { 61 | setAdapter((CardGridStaggeredArrayAdapter)adapter); 62 | } else if (adapter instanceof CardGridStaggeredCursorAdapter) { 63 | setAdapter((CardGridStaggeredCursorAdapter)adapter); 64 | } else { 65 | Log.w(TAG, "You are using a generic adapter. Pay attention: your adapter has to call cardGridArrayAdapter#getView method."); 66 | super.setAdapter(adapter); 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/anim/flipin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/anim/flipout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_archive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_archive.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_archive_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_archive_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_collection.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_core_overflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_core_overflow.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_discard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_discard.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_discard_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_discard_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_new.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_refresh.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_save.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_unarchive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_unarchive.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_action_unarchive_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_action_unarchive_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_home.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_menu_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_menu_color.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-hdpi/ic_navigation_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-hdpi/ic_navigation_drawer.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_archive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_archive.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_archive_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_archive_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_collection.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_core_overflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_core_overflow.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_discard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_discard.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_discard_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_discard_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_new.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_refresh.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_save.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_unarchive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_unarchive.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_action_unarchive_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_action_unarchive_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_home.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_menu_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_menu_color.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-mdpi/ic_navigation_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-mdpi/ic_navigation_drawer.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_archive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_archive.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_archive_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_archive_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_collection.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_core_overflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_core_overflow.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_discard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_discard.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_discard_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_discard_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_new.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_refresh.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_save.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_unarchive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_unarchive.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_action_unarchive_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_action_unarchive_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_home.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_menu_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_menu_color.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xhdpi/ic_navigation_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xhdpi/ic_navigation_drawer.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_archive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_archive.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_archive_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_archive_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_collection.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_core_overflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_core_overflow.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_discard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_discard.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_discard_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_discard_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_new.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_refresh.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_save.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_unarchive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_unarchive.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_action_unarchive_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_action_unarchive_light.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_home.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_menu_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_menu_color.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxhdpi/ic_navigation_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxhdpi/ic_navigation_drawer.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/ab_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/ab_background.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/ab_background_archive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/ab_background_archive.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/ab_background_tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/ab_background_tag.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/ab_background_trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/ab_background_trash.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/actionbar_item_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/activated_background_card.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/bubble.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/button_background_darkblue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/button_background_darkblue.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/button_create_note.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/button_create_note_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/button_password_login.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/button_text_color_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_background_color0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20 | 21 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_background_color1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20 | 21 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_background_color2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_background_color3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_background_color4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_background_color5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_background_color6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_background_color7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_brand_americanexpress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/card_brand_americanexpress.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_brand_cirrus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/card_brand_cirrus.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_brand_diners.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/card_brand_diners.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_brand_discover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/card_brand_discover.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_brand_jcb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/card_brand_jcb.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_brand_maestro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/card_brand_maestro.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_brand_mastercard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/card_brand_mastercard.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_brand_unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/card_brand_unknown.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_brand_visa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/card_brand_visa.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_selector_color0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_selector_color1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_selector_color2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_selector_color3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_selector_color4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_selector_color5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_selector_color6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/card_selector_color7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/checked.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/drawer_text_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/intelligence_gathering.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/intelligence_gathering.jpg -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/list_button_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/no_card_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/no_card_background.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/note_type_card.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/password_button_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/password_button_pressed.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/passwordmeter_default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/passwordmeter_good.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/passwordmeter_ok.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/passwordmeter_strong.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/passwordmeter_weak.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/simple_list_view_divider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/simple_list_view_item_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/textlines.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 12 | 13 | 14 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/drawable/theme_color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishesh/sealnote/221149cacd221e40d3990ee60524ca071fe30796/Sealnote/src/main/res/drawable/theme_color.png -------------------------------------------------------------------------------- /Sealnote/src/main/res/layout-large/view_password_meter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 17 | 18 | 26 | 27 | 37 | 38 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/layout/about.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 16 | 17 | 27 | 28 | 36 | 37 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/layout/actionbar_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Sealnote/src/main/res/layout/activity_backup.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 21 | 22 | 30 |