diff --git a/src/build.gradle b/src/build.gradle new file mode 100644 index 0000000..0456445 --- /dev/null +++ b/src/build.gradle @@ -0,0 +1,29 @@ +apply { + plugin 'com.android.application' +} + +android { + compileSdkVersion 25 +// buildToolsVersion "14.0.0" + + defaultConfig { + applicationId "net.micode.notes" + minSdkVersion 25 + targetSdkVersion 25 + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + } + } +} +repositories { + jcenter() + google() + mavenCentral() +} +dependencies { + implementation 'com.zzhoujay.richtext:richtext:3.0.7' +} \ No newline at end of file diff --git a/src/build/generated/source/buildConfig/debug/net/micode/notes/BuildConfig.java b/src/build/generated/source/buildConfig/debug/net/micode/notes/BuildConfig.java new file mode 100644 index 0000000..efe23f3 --- /dev/null +++ b/src/build/generated/source/buildConfig/debug/net/micode/notes/BuildConfig.java @@ -0,0 +1,12 @@ +/** + * Automatically generated file. DO NOT MODIFY + */ +package net.micode.notes; + +public final class BuildConfig { + public static final boolean DEBUG = Boolean.parseBoolean("true"); + public static final String APPLICATION_ID = "net.micode.notes"; + public static final String BUILD_TYPE = "debug"; + public static final int VERSION_CODE = 14; + public static final String VERSION_NAME = "1.4"; +} diff --git a/src/build/intermediates/annotation_processor_list/debug/annotationProcessors.json b/src/build/intermediates/annotation_processor_list/debug/annotationProcessors.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/src/build/intermediates/annotation_processor_list/debug/annotationProcessors.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/build/intermediates/apk/debug/output-metadata.json b/src/build/intermediates/apk/debug/output-metadata.json new file mode 100644 index 0000000..3f7459c --- /dev/null +++ b/src/build/intermediates/apk/debug/output-metadata.json @@ -0,0 +1,20 @@ +{ + "version": 3, + "artifactType": { + "type": "APK", + "kind": "Directory" + }, + "applicationId": "net.micode.notes", + "variantName": "debug", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 14, + "versionName": "1.4", + "outputFile": "src-debug.apk" + } + ], + "elementType": "File" +} \ No newline at end of file diff --git a/src/build/intermediates/apk/debug/src-debug.apk b/src/build/intermediates/apk/debug/src-debug.apk new file mode 100644 index 0000000..578ac67 Binary files /dev/null and b/src/build/intermediates/apk/debug/src-debug.apk differ diff --git a/src/build/intermediates/apk_ide_redirect_file/debug/redirect.txt b/src/build/intermediates/apk_ide_redirect_file/debug/redirect.txt new file mode 100644 index 0000000..46dacc6 --- /dev/null +++ b/src/build/intermediates/apk_ide_redirect_file/debug/redirect.txt @@ -0,0 +1,2 @@ +#- File Locator - +listingFile=../../apk/debug/output-metadata.json diff --git a/src/build/intermediates/app_metadata/debug/app-metadata.properties b/src/build/intermediates/app_metadata/debug/app-metadata.properties new file mode 100644 index 0000000..260f1ee --- /dev/null +++ b/src/build/intermediates/app_metadata/debug/app-metadata.properties @@ -0,0 +1,2 @@ +appMetadataVersion=1.1 +androidGradlePluginVersion=7.4.2 diff --git a/src/build/intermediates/compatible_screen_manifest/debug/output-metadata.json b/src/build/intermediates/compatible_screen_manifest/debug/output-metadata.json new file mode 100644 index 0000000..714f651 --- /dev/null +++ b/src/build/intermediates/compatible_screen_manifest/debug/output-metadata.json @@ -0,0 +1,10 @@ +{ + "version": 3, + "artifactType": { + "type": "COMPATIBLE_SCREEN_MANIFEST", + "kind": "Directory" + }, + "applicationId": "net.micode.notes", + "variantName": "debug", + "elements": [] +} \ No newline at end of file diff --git a/src/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar b/src/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar new file mode 100644 index 0000000..b06beda Binary files /dev/null and b/src/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_0/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_0/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_0/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_1/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_1/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_1/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_2/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_2/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_2/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_3/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_3/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_3/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_4/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_4/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_4/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_5/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_5/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_5/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_6/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_6/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_6/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_7/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_7/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/dirs_bucket_7/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_0/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_0/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_0/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_1/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_1/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_1/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_2/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_2/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_2/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_3/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_3/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_3/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_4/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_4/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_4/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_5/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_5/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_5/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_6/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_6/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_6/graph.bin differ diff --git a/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_7/graph.bin b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_7/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/src/build/intermediates/desugar_graph/debug/out/currentProject/jar_60e7928671c242202d52f1c10e2281acaa05010fd69da3f3f558affc57836f37_bucket_7/graph.bin differ diff --git a/src/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex b/src/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex new file mode 100644 index 0000000..132e989 Binary files /dev/null and b/src/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex differ diff --git a/src/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex b/src/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex new file mode 100644 index 0000000..c81d02e Binary files /dev/null and b/src/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex differ diff --git a/src/build/intermediates/dex/debug/mergeProjectDexDebug/11/classes.dex b/src/build/intermediates/dex/debug/mergeProjectDexDebug/11/classes.dex new file mode 100644 index 0000000..bfb424c Binary files /dev/null and b/src/build/intermediates/dex/debug/mergeProjectDexDebug/11/classes.dex differ diff --git a/src/build/intermediates/dex/debug/mergeProjectDexDebug/12/classes.dex b/src/build/intermediates/dex/debug/mergeProjectDexDebug/12/classes.dex new file mode 100644 index 0000000..7fae0fa Binary files /dev/null and b/src/build/intermediates/dex/debug/mergeProjectDexDebug/12/classes.dex differ diff --git a/src/build/intermediates/dex/debug/mergeProjectDexDebug/15/classes.dex b/src/build/intermediates/dex/debug/mergeProjectDexDebug/15/classes.dex new file mode 100644 index 0000000..ce9d570 Binary files /dev/null and b/src/build/intermediates/dex/debug/mergeProjectDexDebug/15/classes.dex differ diff --git a/src/build/intermediates/dex/debug/mergeProjectDexDebug/4/classes.dex b/src/build/intermediates/dex/debug/mergeProjectDexDebug/4/classes.dex new file mode 100644 index 0000000..c16822b Binary files /dev/null and b/src/build/intermediates/dex/debug/mergeProjectDexDebug/4/classes.dex differ diff --git a/src/build/intermediates/dex/debug/mergeProjectDexDebug/5/classes.dex b/src/build/intermediates/dex/debug/mergeProjectDexDebug/5/classes.dex new file mode 100644 index 0000000..cc06745 Binary files /dev/null and b/src/build/intermediates/dex/debug/mergeProjectDexDebug/5/classes.dex differ diff --git a/src/build/intermediates/dex/debug/mergeProjectDexDebug/7/classes.dex b/src/build/intermediates/dex/debug/mergeProjectDexDebug/7/classes.dex new file mode 100644 index 0000000..5543652 Binary files /dev/null and b/src/build/intermediates/dex/debug/mergeProjectDexDebug/7/classes.dex differ diff --git a/src/build/intermediates/dex_archive_input_jar_hashes/debug/out b/src/build/intermediates/dex_archive_input_jar_hashes/debug/out new file mode 100644 index 0000000..e791cff Binary files /dev/null and b/src/build/intermediates/dex_archive_input_jar_hashes/debug/out differ diff --git a/src/build/intermediates/dex_number_of_buckets_file/debug/out b/src/build/intermediates/dex_number_of_buckets_file/debug/out new file mode 100644 index 0000000..301160a --- /dev/null +++ b/src/build/intermediates/dex_number_of_buckets_file/debug/out @@ -0,0 +1 @@ +8 \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/merge-state b/src/build/intermediates/incremental/debug-mergeJavaRes/merge-state new file mode 100644 index 0000000..a691947 Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/merge-state differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/LEqL4rP4TCIPD2Py+jW2Hi568tU= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/LEqL4rP4TCIPD2Py+jW2Hi568tU= new file mode 100644 index 0000000..0821412 Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/LEqL4rP4TCIPD2Py+jW2Hi568tU= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/Q8PjlGsFamBXSsneCBP3ZqRy11o= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/Q8PjlGsFamBXSsneCBP3ZqRy11o= new file mode 100644 index 0000000..6de739a Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/Q8PjlGsFamBXSsneCBP3ZqRy11o= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/QIA7RndwPuPIrPMriiLGN3KivUU= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/QIA7RndwPuPIrPMriiLGN3KivUU= new file mode 100644 index 0000000..f267458 Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/QIA7RndwPuPIrPMriiLGN3KivUU= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/SlkI9ypCaERQSmYKos+M2i34zkY= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/SlkI9ypCaERQSmYKos+M2i34zkY= new file mode 100644 index 0000000..89e055b Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/SlkI9ypCaERQSmYKos+M2i34zkY= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/XgTXccPQ3ZjjYDBzbg9wK2ZgsPw= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/XgTXccPQ3ZjjYDBzbg9wK2ZgsPw= new file mode 100644 index 0000000..ca7907d Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/XgTXccPQ3ZjjYDBzbg9wK2ZgsPw= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/a7t+M+zOrd21pA7NghFdXHNpBcs= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/a7t+M+zOrd21pA7NghFdXHNpBcs= new file mode 100644 index 0000000..3553759 Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/a7t+M+zOrd21pA7NghFdXHNpBcs= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/bRwdFF78I6kjceKvjMloDLpYdjs= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/bRwdFF78I6kjceKvjMloDLpYdjs= new file mode 100644 index 0000000..681c56d Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/bRwdFF78I6kjceKvjMloDLpYdjs= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/bm3WiN427wm9thy8sl8LEf88xF0= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/bm3WiN427wm9thy8sl8LEf88xF0= new file mode 100644 index 0000000..10ff45a Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/bm3WiN427wm9thy8sl8LEf88xF0= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/l3g8GoAP5tcCKFgFPB3q5YF8E9o= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/l3g8GoAP5tcCKFgFPB3q5YF8E9o= new file mode 100644 index 0000000..bee6cf7 Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/l3g8GoAP5tcCKFgFPB3q5YF8E9o= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/lpwsqkDwExftTjd3xsOSoBZDGbY= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/lpwsqkDwExftTjd3xsOSoBZDGbY= new file mode 100644 index 0000000..3f7a7d7 Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/lpwsqkDwExftTjd3xsOSoBZDGbY= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/oQajlMiileajI+3QFLrR8qXNdms= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/oQajlMiileajI+3QFLrR8qXNdms= new file mode 100644 index 0000000..c2724ff Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/oQajlMiileajI+3QFLrR8qXNdms= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/tK2ybVIZPrTmeVb2nBTqmyJd81M= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/tK2ybVIZPrTmeVb2nBTqmyJd81M= new file mode 100644 index 0000000..825631c Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/tK2ybVIZPrTmeVb2nBTqmyJd81M= differ diff --git a/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/vyJFzr3NNOFxRYichH_UVgKK2MI= b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/vyJFzr3NNOFxRYichH_UVgKK2MI= new file mode 100644 index 0000000..39cf746 Binary files /dev/null and b/src/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/vyJFzr3NNOFxRYichH_UVgKK2MI= differ diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties b/src/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties new file mode 100644 index 0000000..1ece42a --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties @@ -0,0 +1,106 @@ +#Fri May 17 19:07:14 HKT 2024 +net.micode.notes.src-main-11\:/color/primary_text_dark.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\color_primary_text_dark.xml.flat +net.micode.notes.src-main-11\:/color/secondary_text_dark.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\color_secondary_text_dark.xml.flat +net.micode.notes.src-main-11\:/drawable-hdpi/bg_btn_set_color.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_bg_btn_set_color.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/bg_color_btn_mask.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_bg_color_btn_mask.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/call_record.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_call_record.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/clock.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_clock.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/delete.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_delete.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/dropdown_icon.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_dropdown_icon.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_blue.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_blue.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_green.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_green.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_orange.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_orange.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_red.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_red.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_title_blue.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_blue.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_title_green.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_green.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_title_orange.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_orange.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_title_red.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_red.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_title_white.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_white.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_title_yellow.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_title_yellow.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_white.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_white.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/edit_yellow.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_edit_yellow.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/font_large.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_large.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/font_normal.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_normal.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/font_size_selector.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_size_selector.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/font_size_selector_bg.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_size_selector_bg.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/font_small.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_small.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/font_super.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_font_super.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/icon_app.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_icon_app.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_background.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_background.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_blue_down.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_down.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_blue_middle.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_middle.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_blue_single.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_single.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_blue_up.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_blue_up.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_folder.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_folder.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_footer_bg.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_footer_bg.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_green_down.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_down.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_green_middle.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_middle.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_green_single.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_single.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_green_up.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_green_up.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_orange_down.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_orange_down.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_orange_middle.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_orange_middle.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_orange_single.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_orange_single.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_orange_up.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_orange_up.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_red_down.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_down.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_red_middle.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_middle.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_red_single.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_single.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_red_up.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_red_up.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_white_down.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_down.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_white_middle.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_middle.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_white_single.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_single.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_white_up.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_white_up.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_yellow_down.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_down.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_yellow_middle.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_middle.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_yellow_single.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_single.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/list_yellow_up.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_list_yellow_up.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/menu_delete.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_menu_delete.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/menu_move.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_menu_move.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/new_note_normal.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_normal.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/new_note_pressed.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_new_note_pressed.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/note_edit_color_selector_panel.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_note_edit_color_selector_panel.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/notification.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_notification.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/search_result.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_search_result.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/selected.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_selected.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/title_alert.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_title_alert.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/title_bar_bg.9.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_title_bar_bg.9.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_2x_blue.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_blue.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_2x_green.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_green.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_2x_orange.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_orange.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_2x_red.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_red.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_2x_white.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_white.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_2x_yellow.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_2x_yellow.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_4x_blue.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_blue.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_4x_green.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_green.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_4x_orange.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_orange.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_4x_red.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_red.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_4x_white.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_white.png.flat +net.micode.notes.src-main-11\:/drawable-hdpi/widget_4x_yellow.png=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable-hdpi_widget_4x_yellow.png.flat +net.micode.notes.src-main-11\:/drawable/new_note.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\drawable_new_note.xml.flat +net.micode.notes.src-main-11\:/layout/account_dialog_title.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_account_dialog_title.xml.flat +net.micode.notes.src-main-11\:/layout/add_account_text.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_add_account_text.xml.flat +net.micode.notes.src-main-11\:/layout/datetime_picker.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_datetime_picker.xml.flat +net.micode.notes.src-main-11\:/layout/dialog_edit_text.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_dialog_edit_text.xml.flat +net.micode.notes.src-main-11\:/layout/folder_list_item.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_folder_list_item.xml.flat +net.micode.notes.src-main-11\:/layout/note_edit.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_note_edit.xml.flat +net.micode.notes.src-main-11\:/layout/note_edit_list_item.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_note_edit_list_item.xml.flat +net.micode.notes.src-main-11\:/layout/note_item.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_note_item.xml.flat +net.micode.notes.src-main-11\:/layout/note_list.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_note_list.xml.flat +net.micode.notes.src-main-11\:/layout/note_list_dropdown_menu.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_note_list_dropdown_menu.xml.flat +net.micode.notes.src-main-11\:/layout/note_list_footer.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_note_list_footer.xml.flat +net.micode.notes.src-main-11\:/layout/preview_layout.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_preview_layout.xml.flat +net.micode.notes.src-main-11\:/layout/settings_header.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_settings_header.xml.flat +net.micode.notes.src-main-11\:/layout/widget_2x.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_widget_2x.xml.flat +net.micode.notes.src-main-11\:/layout/widget_4x.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\layout_widget_4x.xml.flat +net.micode.notes.src-main-11\:/menu/call_note_edit.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\menu_call_note_edit.xml.flat +net.micode.notes.src-main-11\:/menu/call_record_folder.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\menu_call_record_folder.xml.flat +net.micode.notes.src-main-11\:/menu/note_edit.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\menu_note_edit.xml.flat +net.micode.notes.src-main-11\:/menu/note_list.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\menu_note_list.xml.flat +net.micode.notes.src-main-11\:/menu/note_list_dropdown.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\menu_note_list_dropdown.xml.flat +net.micode.notes.src-main-11\:/menu/note_list_options.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\menu_note_list_options.xml.flat +net.micode.notes.src-main-11\:/menu/sub_folder.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\menu_sub_folder.xml.flat +net.micode.notes.src-main-11\:/raw-zh-rCN/introduction=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\raw-zh-rCN_introduction.flat +net.micode.notes.src-main-11\:/raw/introduction=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\raw_introduction.flat +net.micode.notes.src-main-11\:/xml/preferences.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\xml_preferences.xml.flat +net.micode.notes.src-main-11\:/xml/searchable.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\xml_searchable.xml.flat +net.micode.notes.src-main-11\:/xml/widget_2x_info.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\xml_widget_2x_info.xml.flat +net.micode.notes.src-main-11\:/xml/widget_4x_info.xml=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\merged_res\\debug\\xml_widget_4x_info.xml.flat diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-af/values-af.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-af/values-af.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-af/values-af.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-am/values-am.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-am/values-am.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-am/values-am.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ar/values-ar.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ar/values-ar.xml new file mode 100644 index 0000000..c26a310 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ar/values-ar.xml @@ -0,0 +1,4 @@ + + + "+999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-az/values-az.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-az/values-az.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-az/values-az.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml new file mode 100644 index 0000000..6ded302 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml @@ -0,0 +1,4 @@ + + + ">999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-be/values-be.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-be/values-be.xml new file mode 100644 index 0000000..c0898d5 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-be/values-be.xml @@ -0,0 +1,4 @@ + + + "больш за 999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-bg/values-bg.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-bg/values-bg.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-bg/values-bg.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-bn/values-bn.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-bn/values-bn.xml new file mode 100644 index 0000000..d3f449a --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-bn/values-bn.xml @@ -0,0 +1,4 @@ + + + "৯৯৯+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-bs/values-bs.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-bs/values-bs.xml new file mode 100644 index 0000000..6ded302 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-bs/values-bs.xml @@ -0,0 +1,4 @@ + + + ">999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ca/values-ca.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ca/values-ca.xml new file mode 100644 index 0000000..c26a310 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ca/values-ca.xml @@ -0,0 +1,4 @@ + + + "+999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-cs/values-cs.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-cs/values-cs.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-cs/values-cs.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-da/values-da.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-da/values-da.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-da/values-da.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-de/values-de.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-de/values-de.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-de/values-de.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-el/values-el.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-el/values-el.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-el/values-el.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-en-rAU/values-en-rAU.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-en-rAU/values-en-rAU.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-en-rAU/values-en-rAU.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-en-rGB/values-en-rGB.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-en-rGB/values-en-rGB.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-en-rGB/values-en-rGB.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-en-rIN/values-en-rIN.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-en-rIN/values-en-rIN.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-en-rIN/values-en-rIN.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-es-rUS/values-es-rUS.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-es-rUS/values-es-rUS.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-es-rUS/values-es-rUS.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-es/values-es.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-es/values-es.xml new file mode 100644 index 0000000..c26a310 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-es/values-es.xml @@ -0,0 +1,4 @@ + + + "+999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-et/values-et.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-et/values-et.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-et/values-et.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-eu/values-eu.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-eu/values-eu.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-eu/values-eu.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fa/values-fa.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fa/values-fa.xml new file mode 100644 index 0000000..72d8054 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fa/values-fa.xml @@ -0,0 +1,4 @@ + + + "۹۹۹+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fi/values-fi.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fi/values-fi.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fi/values-fi.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fr-rCA/values-fr-rCA.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fr-rCA/values-fr-rCA.xml new file mode 100644 index 0000000..6ded302 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fr-rCA/values-fr-rCA.xml @@ -0,0 +1,4 @@ + + + ">999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fr/values-fr.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fr/values-fr.xml new file mode 100644 index 0000000..6ded302 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-fr/values-fr.xml @@ -0,0 +1,4 @@ + + + ">999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-gl/values-gl.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-gl/values-gl.xml new file mode 100644 index 0000000..6ded302 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-gl/values-gl.xml @@ -0,0 +1,4 @@ + + + ">999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-gu/values-gu.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-gu/values-gu.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-gu/values-gu.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hi/values-hi.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hi/values-hi.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hi/values-hi.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hr/values-hr.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hr/values-hr.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hr/values-hr.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hu/values-hu.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hu/values-hu.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hu/values-hu.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hy/values-hy.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hy/values-hy.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-hy/values-hy.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-in/values-in.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-in/values-in.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-in/values-in.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-is/values-is.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-is/values-is.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-is/values-is.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-it/values-it.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-it/values-it.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-it/values-it.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-iw/values-iw.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-iw/values-iw.xml new file mode 100644 index 0000000..a6b4e96 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-iw/values-iw.xml @@ -0,0 +1,4 @@ + + + "‎999+‎" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ja/values-ja.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ja/values-ja.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ja/values-ja.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ka/values-ka.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ka/values-ka.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ka/values-ka.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-kk/values-kk.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-kk/values-kk.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-kk/values-kk.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-km/values-km.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-km/values-km.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-km/values-km.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-kn/values-kn.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-kn/values-kn.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-kn/values-kn.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ko/values-ko.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ko/values-ko.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ko/values-ko.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ky/values-ky.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ky/values-ky.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ky/values-ky.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-lo/values-lo.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-lo/values-lo.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-lo/values-lo.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-lt/values-lt.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-lt/values-lt.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-lt/values-lt.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-lv/values-lv.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-lv/values-lv.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-lv/values-lv.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-mk/values-mk.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-mk/values-mk.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-mk/values-mk.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ml/values-ml.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ml/values-ml.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ml/values-ml.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-mn/values-mn.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-mn/values-mn.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-mn/values-mn.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-mr/values-mr.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-mr/values-mr.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-mr/values-mr.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ms/values-ms.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ms/values-ms.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ms/values-ms.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-my/values-my.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-my/values-my.xml new file mode 100644 index 0000000..2ca0156 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-my/values-my.xml @@ -0,0 +1,4 @@ + + + "၉၉၉+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-nb/values-nb.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-nb/values-nb.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-nb/values-nb.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ne/values-ne.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ne/values-ne.xml new file mode 100644 index 0000000..03ab3e4 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ne/values-ne.xml @@ -0,0 +1,4 @@ + + + "९९९+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-nl/values-nl.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-nl/values-nl.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-nl/values-nl.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pa/values-pa.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pa/values-pa.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pa/values-pa.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pl/values-pl.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pl/values-pl.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pl/values-pl.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-port/values-port.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-port/values-port.xml new file mode 100644 index 0000000..7a925dc --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-port/values-port.xml @@ -0,0 +1,4 @@ + + + false + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pt-rBR/values-pt-rBR.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pt-rBR/values-pt-rBR.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pt-rBR/values-pt-rBR.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pt-rPT/values-pt-rPT.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pt-rPT/values-pt-rPT.xml new file mode 100644 index 0000000..c26a310 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pt-rPT/values-pt-rPT.xml @@ -0,0 +1,4 @@ + + + "+999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pt/values-pt.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pt/values-pt.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-pt/values-pt.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ro/values-ro.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ro/values-ro.xml new file mode 100644 index 0000000..1ccf61b --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ro/values-ro.xml @@ -0,0 +1,4 @@ + + + "˃999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ru/values-ru.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ru/values-ru.xml new file mode 100644 index 0000000..6ded302 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ru/values-ru.xml @@ -0,0 +1,4 @@ + + + ">999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-si/values-si.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-si/values-si.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-si/values-si.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sk/values-sk.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sk/values-sk.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sk/values-sk.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sl/values-sl.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sl/values-sl.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sl/values-sl.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sq/values-sq.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sq/values-sq.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sq/values-sq.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sr/values-sr.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sr/values-sr.xml new file mode 100644 index 0000000..6ded302 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sr/values-sr.xml @@ -0,0 +1,4 @@ + + + ">999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sv/values-sv.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sv/values-sv.xml new file mode 100644 index 0000000..6ded302 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sv/values-sv.xml @@ -0,0 +1,4 @@ + + + ">999" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sw/values-sw.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sw/values-sw.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-sw/values-sw.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ta/values-ta.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ta/values-ta.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ta/values-ta.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-te/values-te.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-te/values-te.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-te/values-te.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-th/values-th.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-th/values-th.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-th/values-th.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-tl/values-tl.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-tl/values-tl.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-tl/values-tl.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-tr/values-tr.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-tr/values-tr.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-tr/values-tr.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-uk/values-uk.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-uk/values-uk.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-uk/values-uk.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ur/values-ur.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ur/values-ur.xml new file mode 100644 index 0000000..a6b4e96 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-ur/values-ur.xml @@ -0,0 +1,4 @@ + + + "‎999+‎" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-uz/values-uz.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-uz/values-uz.xml new file mode 100644 index 0000000..553bf48 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-uz/values-uz.xml @@ -0,0 +1,4 @@ + + + "999+" + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-v16/values-v16.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-v16/values-v16.xml new file mode 100644 index 0000000..2e02d69 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-v16/values-v16.xml @@ -0,0 +1,4 @@ + + + 4dp + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-v21/values-v21.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-v21/values-v21.xml new file mode 100644 index 0000000..ec5e561 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-v21/values-v21.xml @@ -0,0 +1,31 @@ + + + @color/secondary_text_default_material_light + 0dp + 0dp + 12dp + + + + + + + \ No newline at end of file diff --git a/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-v24/values-v24.xml b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-v24/values-v24.xml new file mode 100644 index 0000000..5a38dd7 --- /dev/null +++ b/src/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values-v24/values-v24.xml @@ -0,0 +1,7 @@ + + + + + + + + + + + + + + + + "999+""999+""999 +""999+""999+"#ff424242#ffffffff#b3ffffff127 + 短信 + 邮件 + 便签便签2x2便签4x4没有关联内容,点击新建便签。访客模式下,便签内容不可见...新建便签成功删除提醒创建提醒已过期yyyyMMddMM月dd日 kk:mm知道了查看呼叫电话发送邮件浏览网页打开地图新建文件夹导出文本同步取消同步设置搜索删除移动到文件夹选中了 %d 项没有选中项,操作无效全选取消全选文字大小正常超大进入清单模式退出清单模式查看文件夹刪除文件夹修改文件夹名称文件夹 %1$s 已存在,请重新命名分享发送到桌面提醒我删除提醒选择文件夹上一级文件夹已添加到桌面删除确认要删除所选的 %d 条便签吗?确认要删除该条便签吗?确认删除文件夹及所包含的便签吗?已将所选 %1$d 条便签移到 %2$s 文件夹SD卡被占用,不能操作导出文本时发生错误,请检查SD卡要查看的便签不存在不能为空便签设置闹钟提醒不能将空便签发送到桌面导出成功导出失败已将文本文件(%1$s)输出至SD卡(%2$s)目录同步便签...同步成功同步失败同步已取消与%1$s同步成功同步失败,请检查网络和帐号设置同步失败,发生内部错误同步已取消登录%1$s...正在获取服务器便签列表...正在同步本地便签...设置同步账号与google task同步便签记录上次同步于 %1$s添加账号更换账号删除账号取消立即同步取消同步当前帐号 %1$s如更换同步帐号,过去的帐号同步信息将被清空,再次切换的同时可能会造成数据重复同步便签请选择google帐号,便签将与该帐号的google task内容同步。正在同步中,不能修改同步帐号同步帐号已设置为%1$s新建便签背景颜色随机删除通话便签请输入名称正在搜索便签搜索便签便签中的文字便签设置取消 + %1$s 条符合“%2$s”的搜索结果 + + 短信 + 郵件 + 便簽便簽2x2便簽4x4沒有關聯內容,點擊新建便簽。訪客模式下,便籤內容不可見...新建便簽成功刪除提醒創建提醒已過期yyyyMMddMM月dd日 kk:mm知道了查看呼叫電話發送郵件浏覽網頁打開地圖已將所選 %1$d 便籤移到 %2$s 文件夾新建文件夾導出文本同步取消同步設置搜尋刪除移動到文件夾選中了 %d 項沒有選中項,操作無效全選取消全選文字大小正常超大進入清單模式退出清單模式查看文件夾刪除文件夾修改文件夾名稱文件夾 %1$s 已存在,請重新命名分享發送到桌面提醒我刪除提醒選擇文件夾上一級文件夾已添加到桌面刪除确认要刪除所選的 %d 條便籤嗎?确认要删除該條便籤嗎?確認刪除檔夾及所包含的便簽嗎?SD卡被佔用,不能操作導出TXT時發生錯誤,請檢查SD卡要查看的便籤不存在不能爲空便籤設置鬧鐘提醒不能將空便籤發送到桌面導出成功導出失敗已將文本文件(%1$s)導出至SD(%2$s)目錄同步便簽...同步成功同步失敗同步已取消與%1$s同步成功同步失敗,請檢查網絡和帳號設置同步失敗,發生內部錯誤同步已取消登陸%1$s...正在獲取服務器便籤列表...正在同步本地便籤...設置同步賬號与google task同步便簽記錄上次同步于 %1$s添加賬號更換賬號刪除賬號取消立即同步取消同步當前帳號 %1$s如更換同步帳號,過去的帳號同步信息將被清空,再次切換的同時可能會造成數據重復同步便簽請選擇google帳號,便簽將與該帳號的google task內容同步。正在同步中,不能修改同步帳號同步帳號已設置為%1$s新建便籤背景顏色隨機刪除通話便籤請輸入名稱正在搜索便籤搜索便籤便籤中的文字便籤設置取消 + %1$s 條符合”%2$s“的搜尋結果 + + + + + + + + + + + + \ No newline at end of file diff --git a/src/build/intermediates/incremental/mergeDebugAssets/merger.xml b/src/build/intermediates/incremental/mergeDebugAssets/merger.xml new file mode 100644 index 0000000..3af0489 --- /dev/null +++ b/src/build/intermediates/incremental/mergeDebugAssets/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/src/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml new file mode 100644 index 0000000..7e2156e --- /dev/null +++ b/src/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/build/intermediates/incremental/mergeDebugShaders/merger.xml b/src/build/intermediates/incremental/mergeDebugShaders/merger.xml new file mode 100644 index 0000000..faa7cf8 --- /dev/null +++ b/src/build/intermediates/incremental/mergeDebugShaders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt b/src/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt new file mode 100644 index 0000000..64705d7 --- /dev/null +++ b/src/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt @@ -0,0 +1,25 @@ +#Fri May 17 19:07:30 HKT 2024 +base.0=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\dex\\debug\\mergeExtDexDebug\\classes.dex +base.1=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\dex\\debug\\mergeProjectDexDebug\\0\\classes.dex +base.2=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\dex\\debug\\mergeProjectDexDebug\\11\\classes.dex +base.3=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\dex\\debug\\mergeProjectDexDebug\\12\\classes.dex +base.4=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\dex\\debug\\mergeProjectDexDebug\\15\\classes.dex +base.5=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\dex\\debug\\mergeProjectDexDebug\\4\\classes.dex +base.6=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\dex\\debug\\mergeProjectDexDebug\\5\\classes.dex +base.7=C\:\\Users\\86184\\Desktop\\advancedminotes\\src\\build\\intermediates\\dex\\debug\\mergeProjectDexDebug\\7\\classes.dex +path.0=classes.dex +path.1=0/classes.dex +path.2=11/classes.dex +path.3=12/classes.dex +path.4=15/classes.dex +path.5=4/classes.dex +path.6=5/classes.dex +path.7=7/classes.dex +renamed.0=classes.dex +renamed.1=classes2.dex +renamed.2=classes3.dex +renamed.3=classes4.dex +renamed.4=classes5.dex +renamed.5=classes6.dex +renamed.6=classes7.dex +renamed.7=classes8.dex diff --git a/src/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources b/src/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources new file mode 100644 index 0000000..c3e20ff Binary files /dev/null and b/src/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources differ diff --git a/src/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 b/src/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 new file mode 100644 index 0000000..945a7c5 Binary files /dev/null and b/src/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/BuildConfig.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/BuildConfig.class new file mode 100644 index 0000000..a0a64b9 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/BuildConfig.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Contact.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Contact.class new file mode 100644 index 0000000..ff50d53 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Contact.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$CallNote.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$CallNote.class new file mode 100644 index 0000000..9ad131a Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$CallNote.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataColumns.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataColumns.class new file mode 100644 index 0000000..569dbdc Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataColumns.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataConstants.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataConstants.class new file mode 100644 index 0000000..f8dee34 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$DataConstants.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$NoteColumns.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$NoteColumns.class new file mode 100644 index 0000000..9bb931b Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$NoteColumns.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$TextNote.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$TextNote.class new file mode 100644 index 0000000..57488c1 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes$TextNote.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes.class new file mode 100644 index 0000000..5970c08 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/Notes.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper$TABLE.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper$TABLE.class new file mode 100644 index 0000000..64fe9eb Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper$TABLE.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper.class new file mode 100644 index 0000000..4068e24 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesDatabaseHelper.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesProvider.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesProvider.class new file mode 100644 index 0000000..16b96d5 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/data/NotesProvider.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/MetaData.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/MetaData.class new file mode 100644 index 0000000..60bb42e Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/MetaData.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Node.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Node.class new file mode 100644 index 0000000..83b416d Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Node.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlData.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlData.class new file mode 100644 index 0000000..9b8790e Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlData.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlNote.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlNote.class new file mode 100644 index 0000000..1437a8d Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/SqlNote.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Task.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Task.class new file mode 100644 index 0000000..4999fe7 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/Task.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/TaskList.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/TaskList.class new file mode 100644 index 0000000..d712b83 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/data/TaskList.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/ActionFailureException.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/ActionFailureException.class new file mode 100644 index 0000000..1a059ce Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/ActionFailureException.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/NetworkFailureException.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/NetworkFailureException.class new file mode 100644 index 0000000..75665c2 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/gtask/exception/NetworkFailureException.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/model/Note$NoteData.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/model/Note$NoteData.class new file mode 100644 index 0000000..18ad3d1 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/model/Note$NoteData.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/model/Note.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/model/Note.class new file mode 100644 index 0000000..67ca011 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/model/Note.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.class new file mode 100644 index 0000000..0d38ff9 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class new file mode 100644 index 0000000..533c7c4 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/model/WorkingNote.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils$TextExport.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils$TextExport.class new file mode 100644 index 0000000..ddd3855 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils$TextExport.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils.class new file mode 100644 index 0000000..d36c89b Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/BackupUtils.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/DataUtils.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/DataUtils.class new file mode 100644 index 0000000..9e861fb Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/DataUtils.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/GTaskStringUtils.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/GTaskStringUtils.class new file mode 100644 index 0000000..5b024ce Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/GTaskStringUtils.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteBgResources.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteBgResources.class new file mode 100644 index 0000000..8de36c5 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteBgResources.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteItemBgResources.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteItemBgResources.class new file mode 100644 index 0000000..2ac3baf Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$NoteItemBgResources.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$TextAppearanceResources.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$TextAppearanceResources.class new file mode 100644 index 0000000..d3bace6 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$TextAppearanceResources.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$WidgetBgResources.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$WidgetBgResources.class new file mode 100644 index 0000000..6009608 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser$WidgetBgResources.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser.class new file mode 100644 index 0000000..7840893 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/tool/ResourceParser.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmInitReceiver.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmInitReceiver.class new file mode 100644 index 0000000..4dcba0c Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmInitReceiver.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmReceiver.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmReceiver.class new file mode 100644 index 0000000..ca7bdbb Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/AlarmReceiver.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$1.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$1.class new file mode 100644 index 0000000..435bb57 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$1.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$2.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$2.class new file mode 100644 index 0000000..70d6f40 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$2.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$3.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$3.class new file mode 100644 index 0000000..b78bd38 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$3.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$4.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$4.class new file mode 100644 index 0000000..e56aca9 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$4.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.class new file mode 100644 index 0000000..255a4e6 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker.class new file mode 100644 index 0000000..63366f3 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePicker.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$1.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$1.class new file mode 100644 index 0000000..a8c5461 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$1.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.class new file mode 100644 index 0000000..70481dd Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog.class new file mode 100644 index 0000000..37bb36d Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DateTimePickerDialog.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu$1.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu$1.class new file mode 100644 index 0000000..eeb6b6d Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu$1.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu.class new file mode 100644 index 0000000..ac6d725 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/DropdownMenu.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter$FolderListItem.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter$FolderListItem.class new file mode 100644 index 0000000..54805fd Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter$FolderListItem.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter.class new file mode 100644 index 0000000..273849b Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/FoldersListAdapter.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$1.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$1.class new file mode 100644 index 0000000..8239d7f Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$1.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.class new file mode 100644 index 0000000..9874f47 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText.class new file mode 100644 index 0000000..aa3c1b7 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteEditText.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class new file mode 100644 index 0000000..14910b3 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NoteItemData.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.class new file mode 100644 index 0000000..cec626c Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class new file mode 100644 index 0000000..ce482fb Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListAdapter.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class new file mode 100644 index 0000000..55c4139 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/NotesListItem.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/AlarmAlertActivity.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/AlarmAlertActivity.class new file mode 100644 index 0000000..afd69f2 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/AlarmAlertActivity.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$1.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$1.class new file mode 100644 index 0000000..172e265 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$1.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$2.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$2.class new file mode 100644 index 0000000..1bf062c Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$2.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$3.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$3.class new file mode 100644 index 0000000..31c48f4 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$3.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$HeadViewHolder.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$HeadViewHolder.class new file mode 100644 index 0000000..219d6d6 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity$HeadViewHolder.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity.class new file mode 100644 index 0000000..d3d55ca Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NoteEditActivity.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$1.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$1.class new file mode 100644 index 0000000..12179ec Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$1.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$2.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$2.class new file mode 100644 index 0000000..6e9aee9 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$2.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$3.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$3.class new file mode 100644 index 0000000..137099a Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$3.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$4.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$4.class new file mode 100644 index 0000000..64bae63 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$4.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$5.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$5.class new file mode 100644 index 0000000..4d251e6 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$5.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$6.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$6.class new file mode 100644 index 0000000..d5a2d1e Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$6.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$7.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$7.class new file mode 100644 index 0000000..556775c Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$7.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$8.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$8.class new file mode 100644 index 0000000..15649c0 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$8.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$9.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$9.class new file mode 100644 index 0000000..2c0867d Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$9.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$BackgroundQueryHandler.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$BackgroundQueryHandler.class new file mode 100644 index 0000000..cd246b3 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$BackgroundQueryHandler.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ListEditState.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ListEditState.class new file mode 100644 index 0000000..671268d Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ListEditState.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$1.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$1.class new file mode 100644 index 0000000..79b1faf Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$1.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$2.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$2.class new file mode 100644 index 0000000..1c86f01 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$2.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ModeCallback.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ModeCallback.class new file mode 100644 index 0000000..ebfbbc6 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$ModeCallback.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$NewNoteOnTouchListener.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$NewNoteOnTouchListener.class new file mode 100644 index 0000000..117b4c8 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$NewNoteOnTouchListener.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$OnListItemClickListener.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$OnListItemClickListener.class new file mode 100644 index 0000000..0968da4 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity$OnListItemClickListener.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity.class new file mode 100644 index 0000000..b49de17 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesListActivity.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$1.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$1.class new file mode 100644 index 0000000..9ab1937 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$1.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$3.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$3.class new file mode 100644 index 0000000..427fcb2 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$3.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$4.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$4.class new file mode 100644 index 0000000..080a803 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$4.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$5.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$5.class new file mode 100644 index 0000000..7a3da04 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$5.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$6.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$6.class new file mode 100644 index 0000000..faa3062 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$6.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$7.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$7.class new file mode 100644 index 0000000..1c73d17 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$7.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$8.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$8.class new file mode 100644 index 0000000..3e4dfc7 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$8.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$GTaskReceiver.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$GTaskReceiver.class new file mode 100644 index 0000000..9bdb47c Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity$GTaskReceiver.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity.class new file mode 100644 index 0000000..455772e Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/NotesPreferenceActivity.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/PreviewActivity.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/PreviewActivity.class new file mode 100644 index 0000000..7f7c780 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/ui/activities/PreviewActivity.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class new file mode 100644 index 0000000..612376e Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_2x.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_2x.class new file mode 100644 index 0000000..36b2d99 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_2x.class differ diff --git a/src/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_4x.class b/src/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_4x.class new file mode 100644 index 0000000..1dead98 Binary files /dev/null and b/src/build/intermediates/javac/debug/classes/net/micode/notes/widget/NoteWidgetProvider_4x.class differ diff --git a/src/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt b/src/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt new file mode 100644 index 0000000..4c37ddd --- /dev/null +++ b/src/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt @@ -0,0 +1,304 @@ +1 +2 +17 +21 +22 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml +24 android:targetSdkVersion="25" /> +24-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml +25 +26 +27 +27-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:24:5-81 +27-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:24:22-78 +28 +28-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:25:5-88 +28-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:25:22-85 +29 +29-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:26:5-67 +29-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:26:22-64 +30 +30-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:27:5-72 +30-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:27:22-69 +31 +31-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:28:5-74 +31-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:28:22-71 +32 +32-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:29:5-80 +32-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:29:22-77 +33 +33-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:30:5-71 +33-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:30:22-68 +34 +34-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:31:5-74 +34-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:31:22-71 +35 +35-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:32:5-81 +35-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:32:22-78 +36 +37 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:35:5-159:19 +38 android:debuggable="true" +39 android:extractNativeLibs="false" +40 android:icon="@drawable/icon_app" +40-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:36:9-42 +41 android:label="@string/app_name" +41-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:37:9-41 +42 android:testOnly="true" > +43 +44 +45 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:39:9-53:20 +46 android:name="net.micode.notes.ui.activities.NotesListActivity" +46-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:40:13-60 +47 android:configChanges="keyboardHidden|orientation|screenSize" +47-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:41:13-74 +48 android:exported="true" +48-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:47:13-36 +49 android:label="@string/app_name" +49-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:42:13-45 +50 android:launchMode="singleTop" +50-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:43:13-43 +51 android:theme="@style/NoteTheme" +51-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:44:13-45 +52 android:uiOptions="splitActionBarWhenNarrow" +52-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:45:13-57 +53 android:windowSoftInputMode="adjustPan" > +53-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:46:13-52 +54 +54-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:49:13-52:29 +55 +55-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:50:17-69 +55-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:50:25-66 +56 +57 +57-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:51:17-77 +57-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:51:27-74 +58 +59 +60 +60-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:54:9-56:20 +60-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:54:19-64 +61 +62 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:58:9-87:20 +63 android:name="net.micode.notes.ui.activities.NoteEditActivity" +63-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:59:13-59 +64 android:configChanges="keyboardHidden|orientation|screenSize" +64-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:60:13-74 +65 android:exported="true" +65-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:63:13-36 +66 android:launchMode="singleTop" +66-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:61:13-43 +67 android:theme="@style/NoteTheme" > +67-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:62:13-45 +68 +68-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:65:13-70:29 +69 +69-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:66:17-69 +69-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:66:25-66 +70 +71 +71-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:67:17-76 +71-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:67:27-73 +72 +73 +73-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:68:17-78 +73-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:68:23-75 +74 +74-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:68:17-78 +74-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:68:23-75 +75 +76 +76-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:72:13-77:29 +77 +77-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:73:17-79 +77-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:73:25-76 +78 +79 +79-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:67:17-76 +79-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:67:27-73 +80 +81 +81-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:68:17-78 +81-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:68:23-75 +82 +82-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:68:17-78 +82-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:68:23-75 +83 +84 +84-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:79:13-82:29 +85 +85-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:80:17-71 +85-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:80:25-68 +86 +87 +87-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:67:17-76 +87-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:67:27-73 +88 +89 +90 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:84:13-86:54 +91 android:name="android.app.searchable" +91-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:85:17-54 +92 android:resource="@xml/searchable" /> +92-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:86:17-51 +93 +94 +95 +96 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:90:9-93:43 +97 android:name="net.micode.notes.data.NotesProvider" +97-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:91:13-63 +98 android:authorities="micode_notes" +98-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:92:13-47 +99 android:multiprocess="true" /> +99-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:93:13-40 +100 +101 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:95:9-108:20 +102 android:name="net.micode.notes.widget.NoteWidgetProvider_2x" +102-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:96:13-57 +103 android:exported="true" +103-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:98:13-36 +104 android:label="@string/app_widget2x2" > +104-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:97:13-50 +105 +105-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:99:13-103:29 +106 +106-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:100:17-84 +106-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:100:25-81 +107 +107-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:101:17-85 +107-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:101:25-82 +108 +108-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:102:17-85 +108-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:102:25-82 +109 +110 +111 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:105:13-107:58 +112 android:name="android.appwidget.provider" +112-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:106:17-58 +113 android:resource="@xml/widget_2x_info" /> +113-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:107:17-55 +114 +115 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:109:9-123:20 +116 android:name="net.micode.notes.widget.NoteWidgetProvider_4x" +116-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:110:13-57 +117 android:exported="true" +117-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:112:13-36 +118 android:label="@string/app_widget4x4" > +118-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:111:13-50 +119 +119-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:99:13-103:29 +120 +120-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:100:17-84 +120-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:100:25-81 +121 +121-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:101:17-85 +121-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:101:25-82 +122 +122-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:102:17-85 +122-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:102:25-82 +123 +124 +125 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:105:13-107:58 +126 android:name="android.appwidget.provider" +126-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:106:17-58 +127 android:resource="@xml/widget_4x_info" /> +127-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:107:17-55 +128 +129 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:125:9-130:20 +130 android:name="net.micode.notes.ui.AlarmInitReceiver" +130-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:125:19-55 +131 android:exported="true" > +131-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:126:13-36 +132 +132-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:127:13-129:29 +133 +133-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:128:17-79 +133-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:128:25-76 +134 +135 +136 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:132:9-135:20 +137 android:name="net.micode.notes.ui.AlarmReceiver" +137-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:133:13-61 +138 android:process=":remote" > +138-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:134:13-38 +139 +140 +141 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:137:9-142:20 +142 android:name="net.micode.notes.ui.activities.AlarmAlertActivity" +142-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:138:13-61 +143 android:label="@string/app_name" +143-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:139:13-45 +144 android:launchMode="singleInstance" +144-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:140:13-48 +145 android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" > +145-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:141:13-75 +146 +147 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:144:9-149:20 +148 android:name="net.micode.notes.ui.activities.NotesPreferenceActivity" +148-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:145:13-82 +149 android:label="@string/preferences_title" +149-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:146:13-54 +150 android:launchMode="singleTop" +150-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:147:13-43 +151 android:theme="@android:style/Theme.Holo.Light" > +151-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:148:13-60 +152 +153 +154 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:151:9-154:19 +155 android:name="net.micode.notes.gtask.remote.GTaskSyncService" +155-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:152:13-74 +156 android:exported="false" > +156-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:153:13-37 +157 +158 +159 C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:156:9-158:52 +160 android:name="android.app.default_searchable" +160-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:157:13-58 +161 android:value=".ui.NoteEditActivity" /> +161-->C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:158:13-49 +162 [com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:26:9-28:38 +163 android:name="android.support.VERSION" +163-->[com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:27:13-51 +164 android:value="26.1.0" /> +164-->[com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:28:13-35 +165 [android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:25:9-27:47 +166 android:name="android.arch.lifecycle.VERSION" +166-->[android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:26:13-58 +167 android:value="27.0.0-SNAPSHOT" /> +167-->[android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:27:13-44 +168 +169 +170 diff --git a/src/build/intermediates/merged_java_res/debug/base.jar b/src/build/intermediates/merged_java_res/debug/base.jar new file mode 100644 index 0000000..15cb0ec Binary files /dev/null and b/src/build/intermediates/merged_java_res/debug/base.jar differ diff --git a/src/build/intermediates/merged_manifest/debug/AndroidManifest.xml b/src/build/intermediates/merged_manifest/debug/AndroidManifest.xml new file mode 100644 index 0000000..3f07575 --- /dev/null +++ b/src/build/intermediates/merged_manifest/debug/AndroidManifest.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/build/intermediates/merged_manifests/debug/AndroidManifest.xml b/src/build/intermediates/merged_manifests/debug/AndroidManifest.xml new file mode 100644 index 0000000..3f07575 --- /dev/null +++ b/src/build/intermediates/merged_manifests/debug/AndroidManifest.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/build/intermediates/merged_manifests/debug/output-metadata.json b/src/build/intermediates/merged_manifests/debug/output-metadata.json new file mode 100644 index 0000000..7c45977 --- /dev/null +++ b/src/build/intermediates/merged_manifests/debug/output-metadata.json @@ -0,0 +1,20 @@ +{ + "version": 3, + "artifactType": { + "type": "MERGED_MANIFESTS", + "kind": "Directory" + }, + "applicationId": "net.micode.notes", + "variantName": "debug", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 14, + "versionName": "1.4", + "outputFile": "AndroidManifest.xml" + } + ], + "elementType": "File" +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res/debug/color_primary_text_dark.xml.flat b/src/build/intermediates/merged_res/debug/color_primary_text_dark.xml.flat new file mode 100644 index 0000000..245cf8e Binary files /dev/null and b/src/build/intermediates/merged_res/debug/color_primary_text_dark.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/color_secondary_text_dark.xml.flat b/src/build/intermediates/merged_res/debug/color_secondary_text_dark.xml.flat new file mode 100644 index 0000000..16d0e82 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/color_secondary_text_dark.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_bg_btn_set_color.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_bg_btn_set_color.png.flat new file mode 100644 index 0000000..93e449b Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_bg_btn_set_color.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_bg_color_btn_mask.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_bg_color_btn_mask.png.flat new file mode 100644 index 0000000..9d04389 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_bg_color_btn_mask.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_call_record.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_call_record.png.flat new file mode 100644 index 0000000..f10fa73 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_call_record.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_clock.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_clock.png.flat new file mode 100644 index 0000000..d50c361 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_clock.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_delete.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_delete.png.flat new file mode 100644 index 0000000..9b14c0a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_delete.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_dropdown_icon.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_dropdown_icon.9.png.flat new file mode 100644 index 0000000..789a924 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_dropdown_icon.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_blue.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_blue.9.png.flat new file mode 100644 index 0000000..6689e50 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_blue.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_green.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_green.9.png.flat new file mode 100644 index 0000000..9610eec Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_green.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_orange.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_orange.9.png.flat new file mode 100644 index 0000000..9af97db Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_orange.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_red.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_red.9.png.flat new file mode 100644 index 0000000..353988e Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_red.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_blue.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_blue.9.png.flat new file mode 100644 index 0000000..df7164a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_blue.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_green.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_green.9.png.flat new file mode 100644 index 0000000..7b03fe6 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_green.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_orange.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_orange.9.png.flat new file mode 100644 index 0000000..17c4dcb Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_orange.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_red.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_red.9.png.flat new file mode 100644 index 0000000..1a05ab9 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_red.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_white.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_white.9.png.flat new file mode 100644 index 0000000..aafd9e8 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_white.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_yellow.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_yellow.9.png.flat new file mode 100644 index 0000000..736c781 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_title_yellow.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_white.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_white.9.png.flat new file mode 100644 index 0000000..8113795 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_white.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_yellow.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_yellow.9.png.flat new file mode 100644 index 0000000..317e0e8 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_edit_yellow.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_font_large.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_large.png.flat new file mode 100644 index 0000000..38651e0 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_large.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_font_normal.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_normal.png.flat new file mode 100644 index 0000000..6ace612 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_normal.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_font_size_selector.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_size_selector.png.flat new file mode 100644 index 0000000..6d994f6 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_size_selector.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_font_size_selector_bg.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_size_selector_bg.9.png.flat new file mode 100644 index 0000000..8a60de6 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_size_selector_bg.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_font_small.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_small.png.flat new file mode 100644 index 0000000..539ac40 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_small.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_font_super.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_super.png.flat new file mode 100644 index 0000000..a737fd0 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_font_super.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_icon_app.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_icon_app.png.flat new file mode 100644 index 0000000..4c7d973 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_icon_app.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_background.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_background.png.flat new file mode 100644 index 0000000..0ba887d Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_background.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_down.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_down.9.png.flat new file mode 100644 index 0000000..0977b59 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_down.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_middle.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_middle.9.png.flat new file mode 100644 index 0000000..16ff8d5 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_middle.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_single.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_single.9.png.flat new file mode 100644 index 0000000..ae1232e Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_single.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_up.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_up.9.png.flat new file mode 100644 index 0000000..2e75892 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_blue_up.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_folder.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_folder.9.png.flat new file mode 100644 index 0000000..661d096 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_folder.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_footer_bg.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_footer_bg.9.png.flat new file mode 100644 index 0000000..41f58e5 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_footer_bg.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_down.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_down.9.png.flat new file mode 100644 index 0000000..b95ea78 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_down.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_middle.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_middle.9.png.flat new file mode 100644 index 0000000..8c003be Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_middle.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_single.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_single.9.png.flat new file mode 100644 index 0000000..97fc8b4 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_single.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_up.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_up.9.png.flat new file mode 100644 index 0000000..f8b6160 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_green_up.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_down.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_down.9.png.flat new file mode 100644 index 0000000..1f27d6a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_down.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_middle.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_middle.9.png.flat new file mode 100644 index 0000000..453283b Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_middle.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_single.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_single.9.png.flat new file mode 100644 index 0000000..f33555f Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_single.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_up.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_up.9.png.flat new file mode 100644 index 0000000..16955b2 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_orange_up.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_down.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_down.9.png.flat new file mode 100644 index 0000000..fb908f3 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_down.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_middle.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_middle.9.png.flat new file mode 100644 index 0000000..684ae8f Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_middle.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_single.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_single.9.png.flat new file mode 100644 index 0000000..dba9377 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_single.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_up.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_up.9.png.flat new file mode 100644 index 0000000..a4ddd60 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_red_up.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_down.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_down.9.png.flat new file mode 100644 index 0000000..21ad4f3 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_down.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_middle.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_middle.9.png.flat new file mode 100644 index 0000000..09d5dc9 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_middle.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_single.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_single.9.png.flat new file mode 100644 index 0000000..e1afa96 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_single.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_up.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_up.9.png.flat new file mode 100644 index 0000000..fcdf6e4 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_white_up.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_down.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_down.9.png.flat new file mode 100644 index 0000000..a665fdc Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_down.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_middle.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_middle.9.png.flat new file mode 100644 index 0000000..36feb1c Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_middle.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_single.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_single.9.png.flat new file mode 100644 index 0000000..286d6ca Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_single.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_up.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_up.9.png.flat new file mode 100644 index 0000000..fb10d66 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_list_yellow_up.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_menu_delete.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_menu_delete.png.flat new file mode 100644 index 0000000..52ddac8 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_menu_delete.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_menu_move.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_menu_move.png.flat new file mode 100644 index 0000000..246d6f9 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_menu_move.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_new_note_normal.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_new_note_normal.png.flat new file mode 100644 index 0000000..e071c05 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_new_note_normal.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_new_note_pressed.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_new_note_pressed.png.flat new file mode 100644 index 0000000..28a4094 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_new_note_pressed.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_note_edit_color_selector_panel.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_note_edit_color_selector_panel.png.flat new file mode 100644 index 0000000..daf5fb7 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_note_edit_color_selector_panel.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_notification.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_notification.png.flat new file mode 100644 index 0000000..19b1e03 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_notification.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_search_result.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_search_result.png.flat new file mode 100644 index 0000000..a91ae46 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_search_result.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_selected.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_selected.png.flat new file mode 100644 index 0000000..a5cb721 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_selected.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_title_alert.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_title_alert.png.flat new file mode 100644 index 0000000..8d9dd0b Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_title_alert.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_title_bar_bg.9.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_title_bar_bg.9.png.flat new file mode 100644 index 0000000..9314bbf Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_title_bar_bg.9.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_blue.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_blue.png.flat new file mode 100644 index 0000000..f6dec59 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_blue.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_green.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_green.png.flat new file mode 100644 index 0000000..b160636 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_green.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_orange.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_orange.png.flat new file mode 100644 index 0000000..73edf69 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_orange.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_red.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_red.png.flat new file mode 100644 index 0000000..2798221 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_red.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_white.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_white.png.flat new file mode 100644 index 0000000..86fe3a5 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_white.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_yellow.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_yellow.png.flat new file mode 100644 index 0000000..50206ae Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_2x_yellow.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_blue.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_blue.png.flat new file mode 100644 index 0000000..b249fef Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_blue.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_green.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_green.png.flat new file mode 100644 index 0000000..eb14430 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_green.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_orange.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_orange.png.flat new file mode 100644 index 0000000..23abf5d Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_orange.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_red.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_red.png.flat new file mode 100644 index 0000000..e16b271 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_red.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_white.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_white.png.flat new file mode 100644 index 0000000..f515fda Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_white.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_yellow.png.flat b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_yellow.png.flat new file mode 100644 index 0000000..3c71d4e Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable-hdpi_widget_4x_yellow.png.flat differ diff --git a/src/build/intermediates/merged_res/debug/drawable_new_note.xml.flat b/src/build/intermediates/merged_res/debug/drawable_new_note.xml.flat new file mode 100644 index 0000000..3f62c01 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/drawable_new_note.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_account_dialog_title.xml.flat b/src/build/intermediates/merged_res/debug/layout_account_dialog_title.xml.flat new file mode 100644 index 0000000..01b7ca5 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_account_dialog_title.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_add_account_text.xml.flat b/src/build/intermediates/merged_res/debug/layout_add_account_text.xml.flat new file mode 100644 index 0000000..38b7948 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_add_account_text.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_datetime_picker.xml.flat b/src/build/intermediates/merged_res/debug/layout_datetime_picker.xml.flat new file mode 100644 index 0000000..475e611 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_datetime_picker.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_dialog_edit_text.xml.flat b/src/build/intermediates/merged_res/debug/layout_dialog_edit_text.xml.flat new file mode 100644 index 0000000..34ee44e Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_dialog_edit_text.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_folder_list_item.xml.flat b/src/build/intermediates/merged_res/debug/layout_folder_list_item.xml.flat new file mode 100644 index 0000000..b70fdd0 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_folder_list_item.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_note_edit.xml.flat b/src/build/intermediates/merged_res/debug/layout_note_edit.xml.flat new file mode 100644 index 0000000..923cb2c Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_note_edit.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_note_edit_list_item.xml.flat b/src/build/intermediates/merged_res/debug/layout_note_edit_list_item.xml.flat new file mode 100644 index 0000000..52298f0 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_note_edit_list_item.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_note_item.xml.flat b/src/build/intermediates/merged_res/debug/layout_note_item.xml.flat new file mode 100644 index 0000000..f7561dd Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_note_item.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_note_list.xml.flat b/src/build/intermediates/merged_res/debug/layout_note_list.xml.flat new file mode 100644 index 0000000..84fcf21 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_note_list.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_note_list_dropdown_menu.xml.flat b/src/build/intermediates/merged_res/debug/layout_note_list_dropdown_menu.xml.flat new file mode 100644 index 0000000..827561f Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_note_list_dropdown_menu.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_note_list_footer.xml.flat b/src/build/intermediates/merged_res/debug/layout_note_list_footer.xml.flat new file mode 100644 index 0000000..92f0196 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_note_list_footer.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_preview_layout.xml.flat b/src/build/intermediates/merged_res/debug/layout_preview_layout.xml.flat new file mode 100644 index 0000000..d39a148 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_preview_layout.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_settings_header.xml.flat b/src/build/intermediates/merged_res/debug/layout_settings_header.xml.flat new file mode 100644 index 0000000..6fdcb12 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_settings_header.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_widget_2x.xml.flat b/src/build/intermediates/merged_res/debug/layout_widget_2x.xml.flat new file mode 100644 index 0000000..ce533d8 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_widget_2x.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/layout_widget_4x.xml.flat b/src/build/intermediates/merged_res/debug/layout_widget_4x.xml.flat new file mode 100644 index 0000000..b07ac7c Binary files /dev/null and b/src/build/intermediates/merged_res/debug/layout_widget_4x.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/menu_call_note_edit.xml.flat b/src/build/intermediates/merged_res/debug/menu_call_note_edit.xml.flat new file mode 100644 index 0000000..01428cf Binary files /dev/null and b/src/build/intermediates/merged_res/debug/menu_call_note_edit.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/menu_call_record_folder.xml.flat b/src/build/intermediates/merged_res/debug/menu_call_record_folder.xml.flat new file mode 100644 index 0000000..e9d981d Binary files /dev/null and b/src/build/intermediates/merged_res/debug/menu_call_record_folder.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/menu_note_edit.xml.flat b/src/build/intermediates/merged_res/debug/menu_note_edit.xml.flat new file mode 100644 index 0000000..64c181b Binary files /dev/null and b/src/build/intermediates/merged_res/debug/menu_note_edit.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/menu_note_list.xml.flat b/src/build/intermediates/merged_res/debug/menu_note_list.xml.flat new file mode 100644 index 0000000..a3e38f3 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/menu_note_list.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/menu_note_list_dropdown.xml.flat b/src/build/intermediates/merged_res/debug/menu_note_list_dropdown.xml.flat new file mode 100644 index 0000000..83180fa Binary files /dev/null and b/src/build/intermediates/merged_res/debug/menu_note_list_dropdown.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/menu_note_list_options.xml.flat b/src/build/intermediates/merged_res/debug/menu_note_list_options.xml.flat new file mode 100644 index 0000000..a220b4d Binary files /dev/null and b/src/build/intermediates/merged_res/debug/menu_note_list_options.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/menu_sub_folder.xml.flat b/src/build/intermediates/merged_res/debug/menu_sub_folder.xml.flat new file mode 100644 index 0000000..62a4a22 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/menu_sub_folder.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/raw-zh-rCN_introduction.flat b/src/build/intermediates/merged_res/debug/raw-zh-rCN_introduction.flat new file mode 100644 index 0000000..b1fc2cc Binary files /dev/null and b/src/build/intermediates/merged_res/debug/raw-zh-rCN_introduction.flat differ diff --git a/src/build/intermediates/merged_res/debug/raw_introduction.flat b/src/build/intermediates/merged_res/debug/raw_introduction.flat new file mode 100644 index 0000000..5af5eba Binary files /dev/null and b/src/build/intermediates/merged_res/debug/raw_introduction.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-af_values-af.arsc.flat b/src/build/intermediates/merged_res/debug/values-af_values-af.arsc.flat new file mode 100644 index 0000000..d729f8a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-af_values-af.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-am_values-am.arsc.flat b/src/build/intermediates/merged_res/debug/values-am_values-am.arsc.flat new file mode 100644 index 0000000..d2c3dde Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-am_values-am.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ar_values-ar.arsc.flat b/src/build/intermediates/merged_res/debug/values-ar_values-ar.arsc.flat new file mode 100644 index 0000000..dc2bab4 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ar_values-ar.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-az_values-az.arsc.flat b/src/build/intermediates/merged_res/debug/values-az_values-az.arsc.flat new file mode 100644 index 0000000..0128830 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-az_values-az.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-b+sr+Latn_values-b+sr+Latn.arsc.flat b/src/build/intermediates/merged_res/debug/values-b+sr+Latn_values-b+sr+Latn.arsc.flat new file mode 100644 index 0000000..6f1191c Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-b+sr+Latn_values-b+sr+Latn.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-be_values-be.arsc.flat b/src/build/intermediates/merged_res/debug/values-be_values-be.arsc.flat new file mode 100644 index 0000000..ebd1384 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-be_values-be.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-bg_values-bg.arsc.flat b/src/build/intermediates/merged_res/debug/values-bg_values-bg.arsc.flat new file mode 100644 index 0000000..b9a9aad Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-bg_values-bg.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-bn_values-bn.arsc.flat b/src/build/intermediates/merged_res/debug/values-bn_values-bn.arsc.flat new file mode 100644 index 0000000..6f16eb6 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-bn_values-bn.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-bs_values-bs.arsc.flat b/src/build/intermediates/merged_res/debug/values-bs_values-bs.arsc.flat new file mode 100644 index 0000000..446bf5a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-bs_values-bs.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ca_values-ca.arsc.flat b/src/build/intermediates/merged_res/debug/values-ca_values-ca.arsc.flat new file mode 100644 index 0000000..5394923 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ca_values-ca.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-cs_values-cs.arsc.flat b/src/build/intermediates/merged_res/debug/values-cs_values-cs.arsc.flat new file mode 100644 index 0000000..4144d63 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-cs_values-cs.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-da_values-da.arsc.flat b/src/build/intermediates/merged_res/debug/values-da_values-da.arsc.flat new file mode 100644 index 0000000..b573b0d Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-da_values-da.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-de_values-de.arsc.flat b/src/build/intermediates/merged_res/debug/values-de_values-de.arsc.flat new file mode 100644 index 0000000..a99dc87 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-de_values-de.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-el_values-el.arsc.flat b/src/build/intermediates/merged_res/debug/values-el_values-el.arsc.flat new file mode 100644 index 0000000..bc12e20 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-el_values-el.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-en-rAU_values-en-rAU.arsc.flat b/src/build/intermediates/merged_res/debug/values-en-rAU_values-en-rAU.arsc.flat new file mode 100644 index 0000000..23bb22a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-en-rAU_values-en-rAU.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-en-rGB_values-en-rGB.arsc.flat b/src/build/intermediates/merged_res/debug/values-en-rGB_values-en-rGB.arsc.flat new file mode 100644 index 0000000..6b7b042 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-en-rGB_values-en-rGB.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-en-rIN_values-en-rIN.arsc.flat b/src/build/intermediates/merged_res/debug/values-en-rIN_values-en-rIN.arsc.flat new file mode 100644 index 0000000..03f123c Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-en-rIN_values-en-rIN.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-es-rUS_values-es-rUS.arsc.flat b/src/build/intermediates/merged_res/debug/values-es-rUS_values-es-rUS.arsc.flat new file mode 100644 index 0000000..ab5c3cc Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-es-rUS_values-es-rUS.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-es_values-es.arsc.flat b/src/build/intermediates/merged_res/debug/values-es_values-es.arsc.flat new file mode 100644 index 0000000..cded922 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-es_values-es.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-et_values-et.arsc.flat b/src/build/intermediates/merged_res/debug/values-et_values-et.arsc.flat new file mode 100644 index 0000000..ec14b4e Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-et_values-et.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-eu_values-eu.arsc.flat b/src/build/intermediates/merged_res/debug/values-eu_values-eu.arsc.flat new file mode 100644 index 0000000..00ccc8b Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-eu_values-eu.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-fa_values-fa.arsc.flat b/src/build/intermediates/merged_res/debug/values-fa_values-fa.arsc.flat new file mode 100644 index 0000000..cd3068f Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-fa_values-fa.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-fi_values-fi.arsc.flat b/src/build/intermediates/merged_res/debug/values-fi_values-fi.arsc.flat new file mode 100644 index 0000000..280f863 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-fi_values-fi.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-fr-rCA_values-fr-rCA.arsc.flat b/src/build/intermediates/merged_res/debug/values-fr-rCA_values-fr-rCA.arsc.flat new file mode 100644 index 0000000..771430c Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-fr-rCA_values-fr-rCA.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-fr_values-fr.arsc.flat b/src/build/intermediates/merged_res/debug/values-fr_values-fr.arsc.flat new file mode 100644 index 0000000..af3f8ef Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-fr_values-fr.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-gl_values-gl.arsc.flat b/src/build/intermediates/merged_res/debug/values-gl_values-gl.arsc.flat new file mode 100644 index 0000000..0e57bbc Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-gl_values-gl.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-gu_values-gu.arsc.flat b/src/build/intermediates/merged_res/debug/values-gu_values-gu.arsc.flat new file mode 100644 index 0000000..f40f2d2 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-gu_values-gu.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-hi_values-hi.arsc.flat b/src/build/intermediates/merged_res/debug/values-hi_values-hi.arsc.flat new file mode 100644 index 0000000..c0fb3eb Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-hi_values-hi.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-hr_values-hr.arsc.flat b/src/build/intermediates/merged_res/debug/values-hr_values-hr.arsc.flat new file mode 100644 index 0000000..d737ed9 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-hr_values-hr.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-hu_values-hu.arsc.flat b/src/build/intermediates/merged_res/debug/values-hu_values-hu.arsc.flat new file mode 100644 index 0000000..d319ae1 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-hu_values-hu.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-hy_values-hy.arsc.flat b/src/build/intermediates/merged_res/debug/values-hy_values-hy.arsc.flat new file mode 100644 index 0000000..c9c6ab3 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-hy_values-hy.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-in_values-in.arsc.flat b/src/build/intermediates/merged_res/debug/values-in_values-in.arsc.flat new file mode 100644 index 0000000..2e357af Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-in_values-in.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-is_values-is.arsc.flat b/src/build/intermediates/merged_res/debug/values-is_values-is.arsc.flat new file mode 100644 index 0000000..d14fba3 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-is_values-is.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-it_values-it.arsc.flat b/src/build/intermediates/merged_res/debug/values-it_values-it.arsc.flat new file mode 100644 index 0000000..87f07c0 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-it_values-it.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-iw_values-iw.arsc.flat b/src/build/intermediates/merged_res/debug/values-iw_values-iw.arsc.flat new file mode 100644 index 0000000..5ce72f4 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-iw_values-iw.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ja_values-ja.arsc.flat b/src/build/intermediates/merged_res/debug/values-ja_values-ja.arsc.flat new file mode 100644 index 0000000..49e14be Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ja_values-ja.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ka_values-ka.arsc.flat b/src/build/intermediates/merged_res/debug/values-ka_values-ka.arsc.flat new file mode 100644 index 0000000..6a25d44 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ka_values-ka.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-kk_values-kk.arsc.flat b/src/build/intermediates/merged_res/debug/values-kk_values-kk.arsc.flat new file mode 100644 index 0000000..0deeb98 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-kk_values-kk.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-km_values-km.arsc.flat b/src/build/intermediates/merged_res/debug/values-km_values-km.arsc.flat new file mode 100644 index 0000000..219630a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-km_values-km.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-kn_values-kn.arsc.flat b/src/build/intermediates/merged_res/debug/values-kn_values-kn.arsc.flat new file mode 100644 index 0000000..ed5e9e6 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-kn_values-kn.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ko_values-ko.arsc.flat b/src/build/intermediates/merged_res/debug/values-ko_values-ko.arsc.flat new file mode 100644 index 0000000..22ac88b Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ko_values-ko.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ky_values-ky.arsc.flat b/src/build/intermediates/merged_res/debug/values-ky_values-ky.arsc.flat new file mode 100644 index 0000000..66c8d33 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ky_values-ky.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-lo_values-lo.arsc.flat b/src/build/intermediates/merged_res/debug/values-lo_values-lo.arsc.flat new file mode 100644 index 0000000..e797531 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-lo_values-lo.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-lt_values-lt.arsc.flat b/src/build/intermediates/merged_res/debug/values-lt_values-lt.arsc.flat new file mode 100644 index 0000000..1e02907 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-lt_values-lt.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-lv_values-lv.arsc.flat b/src/build/intermediates/merged_res/debug/values-lv_values-lv.arsc.flat new file mode 100644 index 0000000..5188125 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-lv_values-lv.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-mk_values-mk.arsc.flat b/src/build/intermediates/merged_res/debug/values-mk_values-mk.arsc.flat new file mode 100644 index 0000000..0d44ed8 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-mk_values-mk.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ml_values-ml.arsc.flat b/src/build/intermediates/merged_res/debug/values-ml_values-ml.arsc.flat new file mode 100644 index 0000000..4d97b0a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ml_values-ml.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-mn_values-mn.arsc.flat b/src/build/intermediates/merged_res/debug/values-mn_values-mn.arsc.flat new file mode 100644 index 0000000..d6df178 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-mn_values-mn.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-mr_values-mr.arsc.flat b/src/build/intermediates/merged_res/debug/values-mr_values-mr.arsc.flat new file mode 100644 index 0000000..6eebc13 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-mr_values-mr.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ms_values-ms.arsc.flat b/src/build/intermediates/merged_res/debug/values-ms_values-ms.arsc.flat new file mode 100644 index 0000000..da1d5b8 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ms_values-ms.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-my_values-my.arsc.flat b/src/build/intermediates/merged_res/debug/values-my_values-my.arsc.flat new file mode 100644 index 0000000..8470467 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-my_values-my.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-nb_values-nb.arsc.flat b/src/build/intermediates/merged_res/debug/values-nb_values-nb.arsc.flat new file mode 100644 index 0000000..aa3d8ef Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-nb_values-nb.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ne_values-ne.arsc.flat b/src/build/intermediates/merged_res/debug/values-ne_values-ne.arsc.flat new file mode 100644 index 0000000..a980614 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ne_values-ne.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-nl_values-nl.arsc.flat b/src/build/intermediates/merged_res/debug/values-nl_values-nl.arsc.flat new file mode 100644 index 0000000..42b5a34 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-nl_values-nl.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-pa_values-pa.arsc.flat b/src/build/intermediates/merged_res/debug/values-pa_values-pa.arsc.flat new file mode 100644 index 0000000..a49ae09 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-pa_values-pa.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-pl_values-pl.arsc.flat b/src/build/intermediates/merged_res/debug/values-pl_values-pl.arsc.flat new file mode 100644 index 0000000..4e2398f Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-pl_values-pl.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-port_values-port.arsc.flat b/src/build/intermediates/merged_res/debug/values-port_values-port.arsc.flat new file mode 100644 index 0000000..4419fc0 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-port_values-port.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-pt-rBR_values-pt-rBR.arsc.flat b/src/build/intermediates/merged_res/debug/values-pt-rBR_values-pt-rBR.arsc.flat new file mode 100644 index 0000000..60d9c33 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-pt-rBR_values-pt-rBR.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-pt-rPT_values-pt-rPT.arsc.flat b/src/build/intermediates/merged_res/debug/values-pt-rPT_values-pt-rPT.arsc.flat new file mode 100644 index 0000000..b147a7a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-pt-rPT_values-pt-rPT.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-pt_values-pt.arsc.flat b/src/build/intermediates/merged_res/debug/values-pt_values-pt.arsc.flat new file mode 100644 index 0000000..23ad33d Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-pt_values-pt.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ro_values-ro.arsc.flat b/src/build/intermediates/merged_res/debug/values-ro_values-ro.arsc.flat new file mode 100644 index 0000000..97b8375 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ro_values-ro.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ru_values-ru.arsc.flat b/src/build/intermediates/merged_res/debug/values-ru_values-ru.arsc.flat new file mode 100644 index 0000000..92822e4 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ru_values-ru.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-si_values-si.arsc.flat b/src/build/intermediates/merged_res/debug/values-si_values-si.arsc.flat new file mode 100644 index 0000000..8c7466b Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-si_values-si.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-sk_values-sk.arsc.flat b/src/build/intermediates/merged_res/debug/values-sk_values-sk.arsc.flat new file mode 100644 index 0000000..219717c Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-sk_values-sk.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-sl_values-sl.arsc.flat b/src/build/intermediates/merged_res/debug/values-sl_values-sl.arsc.flat new file mode 100644 index 0000000..3ad761b Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-sl_values-sl.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-sq_values-sq.arsc.flat b/src/build/intermediates/merged_res/debug/values-sq_values-sq.arsc.flat new file mode 100644 index 0000000..2a16b37 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-sq_values-sq.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-sr_values-sr.arsc.flat b/src/build/intermediates/merged_res/debug/values-sr_values-sr.arsc.flat new file mode 100644 index 0000000..f2d1f45 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-sr_values-sr.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-sv_values-sv.arsc.flat b/src/build/intermediates/merged_res/debug/values-sv_values-sv.arsc.flat new file mode 100644 index 0000000..b70199d Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-sv_values-sv.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-sw_values-sw.arsc.flat b/src/build/intermediates/merged_res/debug/values-sw_values-sw.arsc.flat new file mode 100644 index 0000000..da5b0f4 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-sw_values-sw.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ta_values-ta.arsc.flat b/src/build/intermediates/merged_res/debug/values-ta_values-ta.arsc.flat new file mode 100644 index 0000000..e0c75e8 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ta_values-ta.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-te_values-te.arsc.flat b/src/build/intermediates/merged_res/debug/values-te_values-te.arsc.flat new file mode 100644 index 0000000..9ee7b55 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-te_values-te.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-th_values-th.arsc.flat b/src/build/intermediates/merged_res/debug/values-th_values-th.arsc.flat new file mode 100644 index 0000000..b8d436e Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-th_values-th.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-tl_values-tl.arsc.flat b/src/build/intermediates/merged_res/debug/values-tl_values-tl.arsc.flat new file mode 100644 index 0000000..f9aa38c Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-tl_values-tl.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-tr_values-tr.arsc.flat b/src/build/intermediates/merged_res/debug/values-tr_values-tr.arsc.flat new file mode 100644 index 0000000..fe36b56 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-tr_values-tr.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-uk_values-uk.arsc.flat b/src/build/intermediates/merged_res/debug/values-uk_values-uk.arsc.flat new file mode 100644 index 0000000..12481d8 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-uk_values-uk.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-ur_values-ur.arsc.flat b/src/build/intermediates/merged_res/debug/values-ur_values-ur.arsc.flat new file mode 100644 index 0000000..2e694f0 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-ur_values-ur.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-uz_values-uz.arsc.flat b/src/build/intermediates/merged_res/debug/values-uz_values-uz.arsc.flat new file mode 100644 index 0000000..49890c6 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-uz_values-uz.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-v16_values-v16.arsc.flat b/src/build/intermediates/merged_res/debug/values-v16_values-v16.arsc.flat new file mode 100644 index 0000000..eaa2a04 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-v16_values-v16.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-v21_values-v21.arsc.flat b/src/build/intermediates/merged_res/debug/values-v21_values-v21.arsc.flat new file mode 100644 index 0000000..18277a5 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-v21_values-v21.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-v24_values-v24.arsc.flat b/src/build/intermediates/merged_res/debug/values-v24_values-v24.arsc.flat new file mode 100644 index 0000000..e42493f Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-v24_values-v24.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-vi_values-vi.arsc.flat b/src/build/intermediates/merged_res/debug/values-vi_values-vi.arsc.flat new file mode 100644 index 0000000..773647e Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-vi_values-vi.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-zh-rCN_values-zh-rCN.arsc.flat b/src/build/intermediates/merged_res/debug/values-zh-rCN_values-zh-rCN.arsc.flat new file mode 100644 index 0000000..9a8be93 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-zh-rCN_values-zh-rCN.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-zh-rHK_values-zh-rHK.arsc.flat b/src/build/intermediates/merged_res/debug/values-zh-rHK_values-zh-rHK.arsc.flat new file mode 100644 index 0000000..146057a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-zh-rHK_values-zh-rHK.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-zh-rTW_values-zh-rTW.arsc.flat b/src/build/intermediates/merged_res/debug/values-zh-rTW_values-zh-rTW.arsc.flat new file mode 100644 index 0000000..518065a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-zh-rTW_values-zh-rTW.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values-zu_values-zu.arsc.flat b/src/build/intermediates/merged_res/debug/values-zu_values-zu.arsc.flat new file mode 100644 index 0000000..70ab12e Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values-zu_values-zu.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/values_values.arsc.flat b/src/build/intermediates/merged_res/debug/values_values.arsc.flat new file mode 100644 index 0000000..cb1cd80 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/values_values.arsc.flat differ diff --git a/src/build/intermediates/merged_res/debug/xml_preferences.xml.flat b/src/build/intermediates/merged_res/debug/xml_preferences.xml.flat new file mode 100644 index 0000000..d1b2202 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/xml_preferences.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/xml_searchable.xml.flat b/src/build/intermediates/merged_res/debug/xml_searchable.xml.flat new file mode 100644 index 0000000..32c896a Binary files /dev/null and b/src/build/intermediates/merged_res/debug/xml_searchable.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/xml_widget_2x_info.xml.flat b/src/build/intermediates/merged_res/debug/xml_widget_2x_info.xml.flat new file mode 100644 index 0000000..6caa2e6 Binary files /dev/null and b/src/build/intermediates/merged_res/debug/xml_widget_2x_info.xml.flat differ diff --git a/src/build/intermediates/merged_res/debug/xml_widget_4x_info.xml.flat b/src/build/intermediates/merged_res/debug/xml_widget_4x_info.xml.flat new file mode 100644 index 0000000..d50c13f Binary files /dev/null and b/src/build/intermediates/merged_res/debug/xml_widget_4x_info.xml.flat differ diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/debug.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/debug.json new file mode 100644 index 0000000..993829a --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/debug.json @@ -0,0 +1,1546 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-v21_values-v21.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\5a2618499ad822775ad165665add7846\\transformed\\support-media-compat-26.1.0\\res\\values-v21\\values-v21.xml", + "from": { + "startLines": "2,5,8,11", + "startColumns": "4,4,4,4", + "startOffsets": "55,223,386,554", + "endLines": "4,7,10,13", + "endColumns": "12,12,12,12", + "endOffsets": "218,381,549,716" + }, + "to": { + "startLines": "8,11,15,19", + "startColumns": "4,4,4,4", + "startOffsets": "596,764,1053,1349", + "endLines": "10,13,17,21", + "endColumns": "12,12,12,12", + "endOffsets": "759,922,1216,1511" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-v21\\values-v21.xml", + "from": { + "startLines": "2,3,4,5,6,7,8,9,10,13", + "startColumns": "4,4,4,4,4,4,4,4,4,4", + "startOffsets": "55,159,223,290,354,470,596,722,850,1022", + "endLines": "2,3,4,5,6,7,8,9,12,17", + "endColumns": "103,63,66,63,115,125,125,127,12,12", + "endOffsets": "154,218,285,349,465,591,717,845,1017,1355" + }, + "to": { + "startLines": "2,3,4,5,6,7,14,18,22,25", + "startColumns": "4,4,4,4,4,4,4,4,4,4", + "startOffsets": "55,159,223,290,354,470,927,1221,1516,1688", + "endLines": "2,3,4,5,6,7,14,18,24,29", + "endColumns": "103,63,66,63,115,125,125,127,12,12", + "endOffsets": "154,218,285,349,465,591,1048,1344,1683,2021" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ml_values-ml.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ml\\values-ml.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-it_values-it.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-it\\values-it.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-es_values-es.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-es\\values-es.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-be_values-be.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-be\\values-be.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "108", + "endOffsets": "159" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-da_values-da.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-da\\values-da.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-tr_values-tr.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-tr\\values-tr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-bn_values-bn.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-bn\\values-bn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-sk_values-sk.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sk\\values-sk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-zh-rHK_values-zh-rHK.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-zh-rHK\\values-zh-rHK.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "101", + "endOffsets": "152" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ar_values-ar.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ar\\values-ar.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-nl_values-nl.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-nl\\values-nl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ca_values-ca.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ca\\values-ca.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-zh-rTW_values-zh-rTW.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values-zh-rTW\\arrays.xml", + "from": { + "startLines": "18", + "startColumns": "4", + "startOffsets": "712", + "endLines": "21", + "endColumns": "19", + "endOffsets": "817" + }, + "to": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "105", + "endLines": "5", + "endColumns": "19", + "endOffsets": "210" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-zh-rTW\\values-zh-rTW.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + }, + "to": { + "startLines": "96", + "startColumns": "4", + "startOffsets": "5364", + "endColumns": "100", + "endOffsets": "5460" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values-zh-rTW\\strings.xml", + "from": { + "startLines": "122,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,39,45,50,40,60,59,58,54,53,51,52,55,56,46,67,57,65,44,49,48,47,63,43,62,41,42,66,28,34,36,33,35,32,31,25,24,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,22,23", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "6507,3575,3509,3436,3386,827,867,915,6057,6102,6453,6403,1199,3835,3903,3776,3710,3647,4565,4505,4442,4035,2957,1369,1422,4089,1768,6159,3327,3114,1878,2159,2405,1931,2897,2844,2793,2598,2550,2456,2504,2644,2691,2202,3268,2741,3157,2116,2358,2302,2247,3059,2072,3017,1981,2022,3209,1318,1623,1719,1576,1672,1529,1484,1148,1095,4940,4881,5081,5982,5392,5323,5456,5534,5717,5644,5015,5268,5138,5203,4832,5821,5904,6365,6258,6210,6303,1261,3980,4383,4678,4620,4745,4335,4290,4242,4191,963,1029", + "endLines": "124,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,39,45,50,40,60,59,58,54,53,51,52,55,56,46,67,57,65,44,49,48,47,63,43,62,41,42,66,28,34,36,33,35,32,31,25,24,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,22,23", + "endColumns": "14,71,65,72,49,39,47,47,44,56,53,49,61,67,76,58,65,62,54,59,62,53,59,52,61,83,79,49,58,42,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65", + "endOffsets": "6679,3642,3570,3504,3431,862,910,958,6097,6154,6502,6448,1256,3898,3975,3830,3771,3705,4615,4560,4500,4084,3012,1417,1479,4168,1843,6204,3381,3152,1926,2197,2451,1976,2952,2892,2839,2639,2593,2499,2545,2686,2736,2242,3322,2788,3204,2154,2400,2353,2297,3109,2111,3054,2017,2067,3263,1364,1667,1763,1618,1714,1571,1524,1194,1143,5010,4935,5133,6051,5451,5387,5529,5639,5816,5712,5076,5318,5198,5263,4876,5899,5977,6398,6298,6253,6360,1313,4030,4437,4740,4673,4802,4378,4330,4285,4237,1024,1090" + }, + "to": { + "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "215,384,456,522,595,645,685,733,781,826,883,937,987,1049,1117,1194,1253,1319,1382,1437,1497,1560,1614,1674,1727,1789,1873,1953,2003,2062,2105,2158,2201,2252,2302,2362,2415,2466,2512,2560,2608,2654,2701,2751,2796,2855,2907,2959,3002,3049,3105,3160,3215,3259,3301,3342,3392,3451,3502,3551,3600,3647,3694,3741,3786,3837,3890,3965,4024,4081,4155,4219,4288,4366,4476,4580,4653,4719,4774,4839,4904,4953,5036,5114,5152,5197,5245,5307,5465,5520,5579,5646,5704,5766,5814,5859,5907,5958,6024", + "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107", + "endColumns": "14,71,65,72,49,39,47,47,44,56,53,49,61,67,76,58,65,62,54,59,62,53,59,52,61,83,79,49,58,42,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65", + "endOffsets": "379,451,517,590,640,680,728,776,821,878,932,982,1044,1112,1189,1248,1314,1377,1432,1492,1555,1609,1669,1722,1784,1868,1948,1998,2057,2100,2153,2196,2247,2297,2357,2410,2461,2507,2555,2603,2649,2696,2746,2791,2850,2902,2954,2997,3044,3100,3155,3210,3254,3296,3337,3387,3446,3497,3546,3595,3642,3689,3736,3781,3832,3885,3960,4019,4076,4150,4214,4283,4361,4471,4575,4648,4714,4769,4834,4899,4948,5031,5109,5147,5192,5240,5302,5359,5515,5574,5641,5699,5761,5809,5854,5902,5953,6019,6085" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-b+sr+Latn_values-b+sr+Latn.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-b+sr+Latn\\values-b+sr+Latn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values_values.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values\\styles.xml", + "from": { + "startLines": "50,55,64,60,22,26,30,35,40,18,45", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "2062,2267,2640,2479,895,1078,1263,1449,1653,712,1860", + "endLines": "53,58,67,62,25,29,33,38,43,21,48", + "endColumns": "12,12,12,12,12,12,12,12,12,12,12", + "endOffsets": "2261,2473,2843,2634,1073,1258,1443,1647,1854,890,2056" + }, + "to": { + "startLines": "164,168,172,176,195,199,203,207,211,215,219", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "10564,10768,10979,11186,12486,12669,12854,13039,13242,13448,13631", + "endLines": "167,171,175,178,198,202,206,210,214,218,222", + "endColumns": "12,12,12,12,12,12,12,12,12,12,12", + "endOffsets": "10763,10974,11181,11341,12664,12849,13034,13237,13443,13626,13827" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values\\arrays.xml", + "from": { + "startLines": "19,26", + "startColumns": "4,4", + "startOffsets": "739,1047", + "endLines": "24,29", + "endColumns": "19,19", + "endOffsets": "1041,1162" + }, + "to": { + "startLines": "2,8", + "startColumns": "4,4", + "startOffsets": "105,300", + "endLines": "7,11", + "endColumns": "19,19", + "endOffsets": "295,415" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values\\strings.xml", + "from": { + "startLines": "128,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,42,48,53,43,63,62,61,57,56,54,55,58,59,49,70,60,68,47,52,51,50,66,46,65,44,45,69,28,34,36,33,35,32,31,25,24,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,22,23", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "8008,3898,4159,4063,3994,827,870,922,7506,7555,7950,7899,1282,4613,4707,4542,4458,4375,5574,5491,5389,4883,2004,1953,3397,1486,1539,4944,2097,4242,7618,3827,3582,2156,2471,2772,2214,3326,3265,3208,2986,2934,2831,2884,3036,3086,2518,3761,3146,3631,2424,2717,2629,2571,3520,2374,3475,2271,2314,3694,1431,1750,1858,1703,1805,1647,1599,1227,1174,6030,5963,6271,7409,6635,6554,6709,6798,7040,6961,6114,6189,6495,6335,6415,5908,7184,7306,7858,7731,7674,7784,1366,4815,5303,5709,5640,5789,5244,5189,5127,5067,974,1084", + "endLines": "132,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,42,48,53,43,63,62,61,57,56,54,55,58,59,49,70,60,68,47,52,51,50,66,46,65,44,45,69,28,34,36,33,35,32,31,25,24,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,22,23", + "endColumns": "14,95,82,95,68,42,51,51,48,62,57,50,83,93,107,70,83,82,65,82,101,60,61,50,77,52,59,104,58,101,54,70,48,57,46,58,56,70,60,56,49,51,52,49,49,59,52,65,61,62,46,54,87,57,61,49,44,42,59,66,54,54,52,46,52,55,47,54,52,83,66,63,95,73,80,88,162,143,78,74,81,58,79,79,54,121,102,40,52,56,73,64,67,85,79,68,93,58,54,61,59,109,89", + "endOffsets": "8412,3989,4237,4154,4058,865,917,969,7550,7613,8003,7945,1361,4702,4810,4608,4537,4453,5635,5569,5486,4939,2061,1999,3470,1534,1594,5044,2151,4339,7668,3893,3626,2209,2513,2826,2266,3392,3321,3260,3031,2981,2879,2929,3081,3141,2566,3822,3203,3689,2466,2767,2712,2624,3577,2419,3515,2309,2369,3756,1481,1800,1906,1745,1853,1698,1642,1277,1222,6109,6025,6330,7500,6704,6630,6793,6956,7179,7035,6184,6266,6549,6410,6490,5958,7301,7404,7894,7779,7726,7853,1426,4878,5384,5784,5704,5878,5298,5239,5184,5122,1079,1169" + }, + "to": { + "startLines": "56,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "3108,3461,3557,3640,3736,3805,3848,3900,3952,4001,4064,4122,4173,4257,4351,4459,4530,4614,4697,4763,4846,4948,5009,5071,5122,5200,5253,5313,5418,5477,5579,5634,5705,5754,5812,5859,5918,5975,6046,6107,6164,6214,6266,6319,6369,6419,6479,6532,6598,6660,6723,6770,6825,6913,6971,7033,7083,7128,7171,7231,7298,7353,7408,7461,7508,7561,7617,7665,7720,7773,7857,7924,7988,8084,8158,8239,8328,8491,8635,8714,8789,8871,8930,9010,9090,9145,9267,9370,9411,9464,9521,9595,9731,9799,9885,9965,10034,10128,10187,10242,10304,10364,10474", + "endLines": "60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163", + "endColumns": "14,95,82,95,68,42,51,51,48,62,57,50,83,93,107,70,83,82,65,82,101,60,61,50,77,52,59,104,58,101,54,70,48,57,46,58,56,70,60,56,49,51,52,49,49,59,52,65,61,62,46,54,87,57,61,49,44,42,59,66,54,54,52,46,52,55,47,54,52,83,66,63,95,73,80,88,162,143,78,74,81,58,79,79,54,121,102,40,52,56,73,64,67,85,79,68,93,58,54,61,59,109,89", + "endOffsets": "3456,3552,3635,3731,3800,3843,3895,3947,3996,4059,4117,4168,4252,4346,4454,4525,4609,4692,4758,4841,4943,5004,5066,5117,5195,5248,5308,5413,5472,5574,5629,5700,5749,5807,5854,5913,5970,6041,6102,6159,6209,6261,6314,6364,6414,6474,6527,6593,6655,6718,6765,6820,6908,6966,7028,7078,7123,7166,7226,7293,7348,7403,7456,7503,7556,7612,7660,7715,7768,7852,7919,7983,8079,8153,8234,8323,8486,8630,8709,8784,8866,8925,9005,9085,9140,9262,9365,9406,9459,9516,9590,9655,9794,9880,9960,10029,10123,10182,10237,10299,10359,10469,10559" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values\\colors.xml", + "from": { + "startLines": "19,18", + "startColumns": "4,4", + "startOffsets": "769,712", + "endColumns": "45,56", + "endOffsets": "810,764" + }, + "to": { + "startLines": "12,20", + "startColumns": "4,4", + "startOffsets": "420,963", + "endColumns": "45,56", + "endOffsets": "461,1015" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\eb9b554a0d2c230b70e3e00422e039fb\\transformed\\richtext-3.0.7\\res\\values\\values.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "54", + "endOffsets": "105" + }, + "to": { + "startLines": "53", + "startColumns": "4", + "startOffsets": "2923", + "endColumns": "54", + "endOffsets": "2973" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values\\dimens.xml", + "from": { + "startLines": "19,20,21,22,18", + "startColumns": "4,4,4,4,4", + "startOffsets": "764,816,869,922,712", + "endColumns": "51,52,52,51,51", + "endOffsets": "811,864,917,969,759" + }, + "to": { + "startLines": "41,42,43,44,45", + "startColumns": "4,4,4,4,4", + "startOffsets": "2339,2391,2444,2497,2549", + "endColumns": "51,52,52,51,51", + "endOffsets": "2386,2439,2492,2544,2596" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values\\values.xml", + "from": { + "startLines": "2,3,4,5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,53,54,58,59,60,6,15", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "55,124,187,245,1153,1223,1291,1363,1433,1494,1555,1616,1678,1742,1804,1865,1933,2033,2093,2159,2232,2301,2358,2410,2472,2544,2620,2655,2690,2724,2759,2794,2864,2935,3052,3253,3363,3564,3693,3765,319,880", + "endLines": "2,3,4,5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,52,53,57,58,59,60,14,18", + "endColumns": "68,62,57,73,69,67,71,69,60,60,60,61,63,61,60,67,99,59,65,72,68,56,51,61,71,75,34,34,33,34,34,69,70,116,12,109,12,128,71,66,35,115", + "endOffsets": "119,182,240,314,1218,1286,1358,1428,1489,1550,1611,1673,1737,1799,1860,1928,2028,2088,2154,2227,2296,2353,2405,2467,2539,2615,2650,2685,2719,2754,2789,2859,2930,3047,3248,3358,3559,3688,3760,3827,875,1148" + }, + "to": { + "startLines": "13,14,17,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,46,47,48,49,50,51,52,55,152,179,180,185,188,193,223,224,225,234", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "466,535,758,889,1020,1090,1158,1230,1300,1361,1422,1483,1545,1609,1671,1732,1800,1900,1960,2026,2099,2168,2225,2277,2601,2673,2749,2784,2819,2853,2888,3038,9660,11346,11463,11730,12023,12290,13832,13904,13971,14532", + "endLines": "13,14,17,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,46,47,48,49,50,51,52,55,152,179,183,185,191,193,223,224,233,237", + "endColumns": "68,62,57,73,69,67,71,69,60,60,60,61,63,61,60,67,99,59,65,72,68,56,51,61,71,75,34,34,33,34,34,69,70,116,12,109,12,128,71,66,35,115", + "endOffsets": "530,593,811,958,1085,1153,1225,1295,1356,1417,1478,1540,1604,1666,1727,1795,1895,1955,2021,2094,2163,2220,2272,2334,2668,2744,2779,2814,2848,2883,2918,3103,9726,11458,11659,11835,12219,12414,13899,13966,14527,14800" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\5a2618499ad822775ad165665add7846\\transformed\\support-media-compat-26.1.0\\res\\values\\values.xml", + "from": { + "startLines": "2,3,4,5,6,7,8,9,10", + "startColumns": "4,4,4,4,4,4,4,4,4", + "startOffsets": "55,144,215,288,348,414,536,597,663", + "endColumns": "88,70,72,59,65,121,60,65,66", + "endOffsets": "139,210,283,343,409,531,592,658,725" + }, + "to": { + "startLines": "15,16,18,54,184,186,187,192,194", + "startColumns": "4,4,4,4,4,4,4,4,4", + "startOffsets": "598,687,816,2978,11664,11840,11962,12224,12419", + "endColumns": "88,70,72,59,65,121,60,65,66", + "endOffsets": "682,753,884,3033,11725,11957,12018,12285,12481" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-te_values-te.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-te\\values-te.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-el_values-el.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-el\\values-el.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-kn_values-kn.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-kn\\values-kn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-en-rIN_values-en-rIN.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-en-rIN\\values-en-rIN.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-sr_values-sr.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sr\\values-sr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ky_values-ky.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ky\\values-ky.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ne_values-ne.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ne\\values-ne.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-uk_values-uk.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-uk\\values-uk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-hr_values-hr.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-hr\\values-hr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-bs_values-bs.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-bs\\values-bs.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-kk_values-kk.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-kk\\values-kk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-fa_values-fa.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-fa\\values-fa.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-cs_values-cs.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-cs\\values-cs.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ro_values-ro.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ro\\values-ro.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ms_values-ms.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ms\\values-ms.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ta_values-ta.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ta\\values-ta.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-en-rAU_values-en-rAU.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-en-rAU\\values-en-rAU.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ur_values-ur.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ur\\values-ur.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "102", + "endOffsets": "153" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-iw_values-iw.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-iw\\values-iw.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "102", + "endOffsets": "153" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-mn_values-mn.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-mn\\values-mn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-bg_values-bg.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-bg\\values-bg.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-sv_values-sv.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sv\\values-sv.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-zu_values-zu.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-zu\\values-zu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-de_values-de.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-de\\values-de.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-nb_values-nb.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-nb\\values-nb.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-pl_values-pl.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-pl\\values-pl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-hy_values-hy.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-hy\\values-hy.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ru_values-ru.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ru\\values-ru.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-th_values-th.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-th\\values-th.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-az_values-az.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-az\\values-az.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-pt-rBR_values-pt-rBR.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-pt-rBR\\values-pt-rBR.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-et_values-et.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-et\\values-et.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-hu_values-hu.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-hu\\values-hu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-is_values-is.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-is\\values-is.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ko_values-ko.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ko\\values-ko.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-af_values-af.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-af\\values-af.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-v24_values-v24.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\5a2618499ad822775ad165665add7846\\transformed\\support-media-compat-26.1.0\\res\\values-v24\\values-v24.xml", + "from": { + "startLines": "2,3,4,5", + "startColumns": "4,4,4,4", + "startOffsets": "55,121,182,248", + "endColumns": "65,60,65,66", + "endOffsets": "116,177,243,310" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-sq_values-sq.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sq\\values-sq.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-sl_values-sl.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sl\\values-sl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-gl_values-gl.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-gl\\values-gl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ja_values-ja.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ja\\values-ja.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-port_values-port.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-port\\values-port.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "55", + "endOffsets": "106" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-fr_values-fr.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-fr\\values-fr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-mk_values-mk.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-mk\\values-mk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-mr_values-mr.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-mr\\values-mr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-ka_values-ka.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ka\\values-ka.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-km_values-km.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-km\\values-km.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-zh-rCN_values-zh-rCN.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values-zh-rCN\\strings.xml", + "from": { + "startLines": "121,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,38,44,49,39,59,58,57,53,52,50,51,54,55,45,66,56,64,43,48,47,46,62,42,61,40,41,65,28,34,36,33,35,32,31,25,24,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,27,79,87,92,91,93,86,85,84,83,22,23", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "6532,3495,3429,3356,3306,827,867,915,6083,6128,6478,6428,1199,3861,3929,3802,3737,3674,4592,4532,4469,4061,2877,1369,1422,4115,3568,6185,3247,3034,1798,2079,2325,1851,2817,2764,2713,2518,2470,2376,2424,2564,2611,2122,3188,2661,3077,2036,2278,2222,2167,2979,1992,2937,1901,1942,3129,1318,1623,1719,1576,1672,1529,1484,1148,1095,4967,4908,5108,6009,5419,5350,5483,5561,5744,5671,5042,5295,5165,5230,4859,5848,5931,6390,6283,6235,6328,1261,4006,4410,4705,4647,4772,4362,4317,4269,4218,963,1029", + "endLines": "123,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,38,44,49,39,59,58,57,53,52,50,51,54,55,45,66,56,64,43,48,47,46,62,42,61,40,41,65,28,34,36,33,35,32,31,25,24,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,27,79,87,92,91,93,86,85,84,83,22,23", + "endColumns": "14,72,65,72,49,39,47,47,44,56,53,49,61,67,76,58,64,62,54,59,62,53,59,52,61,84,80,49,58,42,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65", + "endOffsets": "6704,3563,3490,3424,3351,862,910,958,6123,6180,6527,6473,1256,3924,4001,3856,3797,3732,4642,4587,4527,4110,2932,1417,1479,4195,3644,6230,3301,3072,1846,2117,2371,1896,2872,2812,2759,2559,2513,2419,2465,2606,2656,2162,3242,2708,3124,2074,2320,2273,2217,3029,2031,2974,1937,1987,3183,1364,1667,1763,1618,1714,1571,1524,1194,1143,5037,4962,5160,6078,5478,5414,5556,5666,5843,5739,5103,5345,5225,5290,4903,5926,6004,6423,6323,6278,6385,1313,4056,4464,4767,4700,4829,4405,4357,4312,4264,1024,1090" + }, + "to": { + "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "215,384,457,523,596,646,686,734,782,827,884,938,988,1050,1118,1195,1254,1319,1382,1437,1497,1560,1614,1674,1727,1789,1874,1955,2005,2064,2107,2160,2203,2254,2304,2364,2417,2468,2514,2562,2610,2656,2703,2753,2798,2857,2909,2961,3004,3051,3107,3162,3217,3261,3303,3344,3394,3453,3504,3553,3602,3649,3696,3743,3788,3839,3892,3967,4026,4083,4157,4221,4290,4368,4478,4582,4655,4721,4776,4841,4906,4955,5038,5116,5154,5199,5247,5309,5467,5522,5581,5648,5706,5768,5816,5861,5909,5960,6026", + "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107", + "endColumns": "14,72,65,72,49,39,47,47,44,56,53,49,61,67,76,58,64,62,54,59,62,53,59,52,61,84,80,49,58,42,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65", + "endOffsets": "379,452,518,591,641,681,729,777,822,879,933,983,1045,1113,1190,1249,1314,1377,1432,1492,1555,1609,1669,1722,1784,1869,1950,2000,2059,2102,2155,2198,2249,2299,2359,2412,2463,2509,2557,2605,2651,2698,2748,2793,2852,2904,2956,2999,3046,3102,3157,3212,3256,3298,3339,3389,3448,3499,3548,3597,3644,3691,3738,3783,3834,3887,3962,4021,4078,4152,4216,4285,4363,4473,4577,4650,4716,4771,4836,4901,4950,5033,5111,5149,5194,5242,5304,5361,5517,5576,5643,5701,5763,5811,5856,5904,5955,6021,6087" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values-zh-rCN\\arrays.xml", + "from": { + "startLines": "18", + "startColumns": "4", + "startOffsets": "712", + "endLines": "21", + "endColumns": "19", + "endOffsets": "817" + }, + "to": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "105", + "endLines": "5", + "endColumns": "19", + "endOffsets": "210" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-zh-rCN\\values-zh-rCN.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + }, + "to": { + "startLines": "96", + "startColumns": "4", + "startOffsets": "5366", + "endColumns": "100", + "endOffsets": "5462" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-pa_values-pa.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-pa\\values-pa.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-tl_values-tl.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-tl\\values-tl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-pt_values-pt.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-pt\\values-pt.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-vi_values-vi.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-vi\\values-vi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-en-rGB_values-en-rGB.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-en-rGB\\values-en-rGB.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-hi_values-hi.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-hi\\values-hi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-sw_values-sw.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sw\\values-sw.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-in_values-in.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-in\\values-in.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-gu_values-gu.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-gu\\values-gu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-my_values-my.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-my\\values-my.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-v16_values-v16.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-v16\\values-v16.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "65", + "endOffsets": "116" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-fr-rCA_values-fr-rCA.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-fr-rCA\\values-fr-rCA.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-lt_values-lt.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-lt\\values-lt.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-eu_values-eu.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-eu\\values-eu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-fi_values-fi.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-fi\\values-fi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-es-rUS_values-es-rUS.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-es-rUS\\values-es-rUS.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-lv_values-lv.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-lv\\values-lv.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-uz_values-uz.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-uz\\values-uz.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-lo_values-lo.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-lo\\values-lo.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-am_values-am.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-am\\values-am.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-si_values-si.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-si\\values-si.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + }, + { + "outputFile": "net.micode.notes.src-merged_res-9:/values-pt-rPT_values-pt-rPT.arsc.flat", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-pt-rPT\\values-pt-rPT.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-af.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-af.json new file mode 100644 index 0000000..bf32637 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-af.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-af/values-af.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-af\\values-af.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-am.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-am.json new file mode 100644 index 0000000..f78ef20 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-am.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-am/values-am.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-am\\values-am.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ar.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ar.json new file mode 100644 index 0000000..fd2b5d9 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ar.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ar/values-ar.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ar\\values-ar.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-az.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-az.json new file mode 100644 index 0000000..637e4ea --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-az.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-az/values-az.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-az\\values-az.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-b+sr+Latn.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-b+sr+Latn.json new file mode 100644 index 0000000..e52a0ab --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-b+sr+Latn.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-b+sr+Latn/values-b+sr+Latn.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-b+sr+Latn\\values-b+sr+Latn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-be.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-be.json new file mode 100644 index 0000000..3e30e4a --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-be.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-be/values-be.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-be\\values-be.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "108", + "endOffsets": "159" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-bg.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-bg.json new file mode 100644 index 0000000..fb4cf70 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-bg.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-bg/values-bg.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-bg\\values-bg.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-bn.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-bn.json new file mode 100644 index 0000000..60a4edb --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-bn.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-bn/values-bn.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-bn\\values-bn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-bs.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-bs.json new file mode 100644 index 0000000..9cb22ab --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-bs.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-bs/values-bs.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-bs\\values-bs.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ca.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ca.json new file mode 100644 index 0000000..1317c49 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ca.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ca/values-ca.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ca\\values-ca.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-cs.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-cs.json new file mode 100644 index 0000000..155b00d --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-cs.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-cs/values-cs.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-cs\\values-cs.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-da.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-da.json new file mode 100644 index 0000000..d7613b2 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-da.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-da/values-da.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-da\\values-da.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-de.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-de.json new file mode 100644 index 0000000..5397384 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-de.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-de/values-de.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-de\\values-de.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-el.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-el.json new file mode 100644 index 0000000..bcc20d6 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-el.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-el/values-el.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-el\\values-el.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-en-rAU.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-en-rAU.json new file mode 100644 index 0000000..6b04559 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-en-rAU.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-en-rAU/values-en-rAU.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-en-rAU\\values-en-rAU.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-en-rGB.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-en-rGB.json new file mode 100644 index 0000000..c50a7ab --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-en-rGB.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-en-rGB/values-en-rGB.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-en-rGB\\values-en-rGB.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-en-rIN.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-en-rIN.json new file mode 100644 index 0000000..56cf39a --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-en-rIN.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-en-rIN/values-en-rIN.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-en-rIN\\values-en-rIN.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-es-rUS.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-es-rUS.json new file mode 100644 index 0000000..43a2581 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-es-rUS.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-es-rUS/values-es-rUS.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-es-rUS\\values-es-rUS.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-es.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-es.json new file mode 100644 index 0000000..33ef198 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-es.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-es/values-es.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-es\\values-es.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-et.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-et.json new file mode 100644 index 0000000..47ac1d3 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-et.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-et/values-et.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-et\\values-et.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-eu.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-eu.json new file mode 100644 index 0000000..8b0be90 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-eu.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-eu/values-eu.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-eu\\values-eu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fa.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fa.json new file mode 100644 index 0000000..0914ab7 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fa.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-fa/values-fa.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-fa\\values-fa.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fi.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fi.json new file mode 100644 index 0000000..e31ec79 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fi.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-fi/values-fi.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-fi\\values-fi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fr-rCA.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fr-rCA.json new file mode 100644 index 0000000..0ef2f12 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fr-rCA.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-fr-rCA/values-fr-rCA.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-fr-rCA\\values-fr-rCA.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fr.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fr.json new file mode 100644 index 0000000..1e9906a --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-fr.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-fr/values-fr.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-fr\\values-fr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-gl.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-gl.json new file mode 100644 index 0000000..1bd8c75 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-gl.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-gl/values-gl.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-gl\\values-gl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-gu.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-gu.json new file mode 100644 index 0000000..9362649 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-gu.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-gu/values-gu.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-gu\\values-gu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hi.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hi.json new file mode 100644 index 0000000..c6f5a15 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hi.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-hi/values-hi.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-hi\\values-hi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hr.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hr.json new file mode 100644 index 0000000..87667f5 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hr.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-hr/values-hr.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-hr\\values-hr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hu.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hu.json new file mode 100644 index 0000000..23cf4b0 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hu.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-hu/values-hu.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-hu\\values-hu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hy.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hy.json new file mode 100644 index 0000000..aeb5f31 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-hy.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-hy/values-hy.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-hy\\values-hy.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-in.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-in.json new file mode 100644 index 0000000..2d1c740 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-in.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-in/values-in.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-in\\values-in.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-is.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-is.json new file mode 100644 index 0000000..cceed57 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-is.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-is/values-is.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-is\\values-is.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-it.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-it.json new file mode 100644 index 0000000..ac3875b --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-it.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-it/values-it.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-it\\values-it.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-iw.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-iw.json new file mode 100644 index 0000000..a774081 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-iw.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-iw/values-iw.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-iw\\values-iw.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "102", + "endOffsets": "153" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ja.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ja.json new file mode 100644 index 0000000..a48bbae --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ja.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ja/values-ja.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ja\\values-ja.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ka.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ka.json new file mode 100644 index 0000000..c229532 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ka.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ka/values-ka.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ka\\values-ka.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-kk.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-kk.json new file mode 100644 index 0000000..c1d92d6 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-kk.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-kk/values-kk.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-kk\\values-kk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-km.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-km.json new file mode 100644 index 0000000..c533fa1 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-km.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-km/values-km.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-km\\values-km.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-kn.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-kn.json new file mode 100644 index 0000000..3135b72 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-kn.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-kn/values-kn.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-kn\\values-kn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ko.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ko.json new file mode 100644 index 0000000..30216e2 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ko.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ko/values-ko.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ko\\values-ko.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ky.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ky.json new file mode 100644 index 0000000..6c3b865 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ky.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ky/values-ky.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ky\\values-ky.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-lo.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-lo.json new file mode 100644 index 0000000..cc0f8c8 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-lo.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-lo/values-lo.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-lo\\values-lo.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-lt.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-lt.json new file mode 100644 index 0000000..2049c7d --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-lt.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-lt/values-lt.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-lt\\values-lt.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-lv.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-lv.json new file mode 100644 index 0000000..bcd140f --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-lv.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-lv/values-lv.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-lv\\values-lv.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-mk.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-mk.json new file mode 100644 index 0000000..9ceac59 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-mk.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-mk/values-mk.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-mk\\values-mk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ml.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ml.json new file mode 100644 index 0000000..085ee58 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ml.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ml/values-ml.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ml\\values-ml.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-mn.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-mn.json new file mode 100644 index 0000000..4ea024d --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-mn.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-mn/values-mn.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-mn\\values-mn.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-mr.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-mr.json new file mode 100644 index 0000000..9ead9aa --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-mr.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-mr/values-mr.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-mr\\values-mr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ms.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ms.json new file mode 100644 index 0000000..1bab374 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ms.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ms/values-ms.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ms\\values-ms.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-my.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-my.json new file mode 100644 index 0000000..5822353 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-my.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-my/values-my.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-my\\values-my.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-nb.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-nb.json new file mode 100644 index 0000000..d635966 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-nb.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-nb/values-nb.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-nb\\values-nb.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ne.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ne.json new file mode 100644 index 0000000..c4fd733 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ne.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ne/values-ne.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ne\\values-ne.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-nl.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-nl.json new file mode 100644 index 0000000..5ed70fb --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-nl.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-nl/values-nl.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-nl\\values-nl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pa.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pa.json new file mode 100644 index 0000000..02881f0 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pa.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-pa/values-pa.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-pa\\values-pa.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pl.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pl.json new file mode 100644 index 0000000..582b4b9 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pl.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-pl/values-pl.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-pl\\values-pl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-port.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-port.json new file mode 100644 index 0000000..f0ea832 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-port.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-port/values-port.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-port\\values-port.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "55", + "endOffsets": "106" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pt-rBR.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pt-rBR.json new file mode 100644 index 0000000..944c8f3 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pt-rBR.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-pt-rBR/values-pt-rBR.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-pt-rBR\\values-pt-rBR.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pt-rPT.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pt-rPT.json new file mode 100644 index 0000000..198b8b1 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pt-rPT.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-pt-rPT/values-pt-rPT.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-pt-rPT\\values-pt-rPT.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pt.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pt.json new file mode 100644 index 0000000..cf26093 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-pt.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-pt/values-pt.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-pt\\values-pt.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ro.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ro.json new file mode 100644 index 0000000..05f5edf --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ro.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ro/values-ro.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ro\\values-ro.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ru.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ru.json new file mode 100644 index 0000000..78114cc --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ru.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ru/values-ru.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ru\\values-ru.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-si.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-si.json new file mode 100644 index 0000000..d37b1e0 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-si.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-si/values-si.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-si\\values-si.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sk.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sk.json new file mode 100644 index 0000000..f3eaf0c --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sk.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-sk/values-sk.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sk\\values-sk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sl.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sl.json new file mode 100644 index 0000000..bc0cd09 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sl.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-sl/values-sl.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sl\\values-sl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sq.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sq.json new file mode 100644 index 0000000..04fed8d --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sq.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-sq/values-sq.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sq\\values-sq.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sr.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sr.json new file mode 100644 index 0000000..c21a685 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sr.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-sr/values-sr.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sr\\values-sr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sv.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sv.json new file mode 100644 index 0000000..12482f0 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sv.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-sv/values-sv.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sv\\values-sv.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sw.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sw.json new file mode 100644 index 0000000..180eb78 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-sw.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-sw/values-sw.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-sw\\values-sw.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ta.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ta.json new file mode 100644 index 0000000..300c439 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ta.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ta/values-ta.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ta\\values-ta.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-te.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-te.json new file mode 100644 index 0000000..e7bc57b --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-te.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-te/values-te.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-te\\values-te.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-th.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-th.json new file mode 100644 index 0000000..21cce3e --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-th.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-th/values-th.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-th\\values-th.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-tl.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-tl.json new file mode 100644 index 0000000..762011b --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-tl.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-tl/values-tl.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-tl\\values-tl.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-tr.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-tr.json new file mode 100644 index 0000000..ae532ac --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-tr.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-tr/values-tr.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-tr\\values-tr.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-uk.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-uk.json new file mode 100644 index 0000000..88baebd --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-uk.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-uk/values-uk.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-uk\\values-uk.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ur.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ur.json new file mode 100644 index 0000000..125a077 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-ur.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-ur/values-ur.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-ur\\values-ur.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "102", + "endOffsets": "153" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-uz.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-uz.json new file mode 100644 index 0000000..d7efa36 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-uz.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-uz/values-uz.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-uz\\values-uz.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-v16.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-v16.json new file mode 100644 index 0000000..312c62e --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-v16.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-v16/values-v16.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-v16\\values-v16.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "65", + "endOffsets": "116" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-v21.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-v21.json new file mode 100644 index 0000000..5002e79 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-v21.json @@ -0,0 +1,47 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-v21/values-v21.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\5a2618499ad822775ad165665add7846\\transformed\\support-media-compat-26.1.0\\res\\values-v21\\values-v21.xml", + "from": { + "startLines": "2,5,8,11", + "startColumns": "4,4,4,4", + "startOffsets": "55,223,386,554", + "endLines": "4,7,10,13", + "endColumns": "12,12,12,12", + "endOffsets": "218,381,549,716" + }, + "to": { + "startLines": "8,11,15,19", + "startColumns": "4,4,4,4", + "startOffsets": "596,764,1053,1349", + "endLines": "10,13,17,21", + "endColumns": "12,12,12,12", + "endOffsets": "759,922,1216,1511" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-v21\\values-v21.xml", + "from": { + "startLines": "2,3,4,5,6,7,8,9,10,13", + "startColumns": "4,4,4,4,4,4,4,4,4,4", + "startOffsets": "55,159,223,290,354,470,596,722,850,1022", + "endLines": "2,3,4,5,6,7,8,9,12,17", + "endColumns": "103,63,66,63,115,125,125,127,12,12", + "endOffsets": "154,218,285,349,465,591,717,845,1017,1355" + }, + "to": { + "startLines": "2,3,4,5,6,7,14,18,22,25", + "startColumns": "4,4,4,4,4,4,4,4,4,4", + "startOffsets": "55,159,223,290,354,470,927,1221,1516,1688", + "endLines": "2,3,4,5,6,7,14,18,24,29", + "endColumns": "103,63,66,63,115,125,125,127,12,12", + "endOffsets": "154,218,285,349,465,591,1048,1344,1683,2021" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-v24.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-v24.json new file mode 100644 index 0000000..0845f0c --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-v24.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-v24/values-v24.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\5a2618499ad822775ad165665add7846\\transformed\\support-media-compat-26.1.0\\res\\values-v24\\values-v24.xml", + "from": { + "startLines": "2,3,4,5", + "startColumns": "4,4,4,4", + "startOffsets": "55,121,182,248", + "endColumns": "65,60,65,66", + "endOffsets": "116,177,243,310" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-vi.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-vi.json new file mode 100644 index 0000000..4a9860c --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-vi.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-vi/values-vi.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-vi\\values-vi.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rCN.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rCN.json new file mode 100644 index 0000000..3ced381 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rCN.json @@ -0,0 +1,64 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-zh-rCN/values-zh-rCN.xml", + "map": [ + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values-zh-rCN\\strings.xml", + "from": { + "startLines": "121,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,38,44,49,39,59,58,57,53,52,50,51,54,55,45,66,56,64,43,48,47,46,62,42,61,40,41,65,28,34,36,33,35,32,31,25,24,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,27,79,87,92,91,93,86,85,84,83,22,23", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "6532,3495,3429,3356,3306,827,867,915,6083,6128,6478,6428,1199,3861,3929,3802,3737,3674,4592,4532,4469,4061,2877,1369,1422,4115,3568,6185,3247,3034,1798,2079,2325,1851,2817,2764,2713,2518,2470,2376,2424,2564,2611,2122,3188,2661,3077,2036,2278,2222,2167,2979,1992,2937,1901,1942,3129,1318,1623,1719,1576,1672,1529,1484,1148,1095,4967,4908,5108,6009,5419,5350,5483,5561,5744,5671,5042,5295,5165,5230,4859,5848,5931,6390,6283,6235,6328,1261,4006,4410,4705,4647,4772,4362,4317,4269,4218,963,1029", + "endLines": "123,71,70,69,68,19,20,21,112,113,120,119,26,77,78,76,75,74,90,89,88,80,60,29,30,81,72,114,67,63,38,44,49,39,59,58,57,53,52,50,51,54,55,45,66,56,64,43,48,47,46,62,42,61,40,41,65,28,34,36,33,35,32,31,25,24,97,96,99,111,104,103,105,106,108,107,98,102,100,101,95,109,110,118,116,115,117,27,79,87,92,91,93,86,85,84,83,22,23", + "endColumns": "14,72,65,72,49,39,47,47,44,56,53,49,61,67,76,58,64,62,54,59,62,53,59,52,61,84,80,49,58,42,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65", + "endOffsets": "6704,3563,3490,3424,3351,862,910,958,6123,6180,6527,6473,1256,3924,4001,3856,3797,3732,4642,4587,4527,4110,2932,1417,1479,4195,3644,6230,3301,3072,1846,2117,2371,1896,2872,2812,2759,2559,2513,2419,2465,2606,2656,2162,3242,2708,3124,2074,2320,2273,2217,3029,2031,2974,1937,1987,3183,1364,1667,1763,1618,1714,1571,1524,1194,1143,5037,4962,5160,6078,5478,5414,5556,5666,5843,5739,5103,5345,5225,5290,4903,5926,6004,6423,6323,6278,6385,1313,4056,4464,4767,4700,4829,4405,4357,4312,4264,1024,1090" + }, + "to": { + "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "215,384,457,523,596,646,686,734,782,827,884,938,988,1050,1118,1195,1254,1319,1382,1437,1497,1560,1614,1674,1727,1789,1874,1955,2005,2064,2107,2160,2203,2254,2304,2364,2417,2468,2514,2562,2610,2656,2703,2753,2798,2857,2909,2961,3004,3051,3107,3162,3217,3261,3303,3344,3394,3453,3504,3553,3602,3649,3696,3743,3788,3839,3892,3967,4026,4083,4157,4221,4290,4368,4478,4582,4655,4721,4776,4841,4906,4955,5038,5116,5154,5199,5247,5309,5467,5522,5581,5648,5706,5768,5816,5861,5909,5960,6026", + "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107", + "endColumns": "14,72,65,72,49,39,47,47,44,56,53,49,61,67,76,58,64,62,54,59,62,53,59,52,61,84,80,49,58,42,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65", + "endOffsets": "379,452,518,591,641,681,729,777,822,879,933,983,1045,1113,1190,1249,1314,1377,1432,1492,1555,1609,1669,1722,1784,1869,1950,2000,2059,2102,2155,2198,2249,2299,2359,2412,2463,2509,2557,2605,2651,2698,2748,2793,2852,2904,2956,2999,3046,3102,3157,3212,3256,3298,3339,3389,3448,3499,3548,3597,3644,3691,3738,3783,3834,3887,3962,4021,4078,4152,4216,4285,4363,4473,4577,4650,4716,4771,4836,4901,4950,5033,5111,5149,5194,5242,5304,5361,5517,5576,5643,5701,5763,5811,5856,5904,5955,6021,6087" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values-zh-rCN\\arrays.xml", + "from": { + "startLines": "18", + "startColumns": "4", + "startOffsets": "712", + "endLines": "21", + "endColumns": "19", + "endOffsets": "817" + }, + "to": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "105", + "endLines": "5", + "endColumns": "19", + "endOffsets": "210" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-zh-rCN\\values-zh-rCN.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + }, + "to": { + "startLines": "96", + "startColumns": "4", + "startOffsets": "5366", + "endColumns": "100", + "endOffsets": "5462" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rHK.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rHK.json new file mode 100644 index 0000000..e46f4f6 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rHK.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-zh-rHK/values-zh-rHK.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-zh-rHK\\values-zh-rHK.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "101", + "endOffsets": "152" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rTW.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rTW.json new file mode 100644 index 0000000..bca7d00 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zh-rTW.json @@ -0,0 +1,64 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-zh-rTW/values-zh-rTW.xml", + "map": [ + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values-zh-rTW\\arrays.xml", + "from": { + "startLines": "18", + "startColumns": "4", + "startOffsets": "712", + "endLines": "21", + "endColumns": "19", + "endOffsets": "817" + }, + "to": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "105", + "endLines": "5", + "endColumns": "19", + "endOffsets": "210" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-zh-rTW\\values-zh-rTW.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + }, + "to": { + "startLines": "96", + "startColumns": "4", + "startOffsets": "5364", + "endColumns": "100", + "endOffsets": "5460" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values-zh-rTW\\strings.xml", + "from": { + "startLines": "122,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,39,45,50,40,60,59,58,54,53,51,52,55,56,46,67,57,65,44,49,48,47,63,43,62,41,42,66,28,34,36,33,35,32,31,25,24,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,22,23", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "6507,3575,3509,3436,3386,827,867,915,6057,6102,6453,6403,1199,3835,3903,3776,3710,3647,4565,4505,4442,4035,2957,1369,1422,4089,1768,6159,3327,3114,1878,2159,2405,1931,2897,2844,2793,2598,2550,2456,2504,2644,2691,2202,3268,2741,3157,2116,2358,2302,2247,3059,2072,3017,1981,2022,3209,1318,1623,1719,1576,1672,1529,1484,1148,1095,4940,4881,5081,5982,5392,5323,5456,5534,5717,5644,5015,5268,5138,5203,4832,5821,5904,6365,6258,6210,6303,1261,3980,4383,4678,4620,4745,4335,4290,4242,4191,963,1029", + "endLines": "124,72,71,70,69,19,20,21,112,113,121,120,26,76,77,75,74,73,89,88,87,79,61,29,30,80,37,114,68,64,39,45,50,40,60,59,58,54,53,51,52,55,56,46,67,57,65,44,49,48,47,63,43,62,41,42,66,28,34,36,33,35,32,31,25,24,96,95,98,110,103,102,104,105,107,106,97,101,99,100,94,108,109,119,117,116,118,27,78,86,91,90,92,85,84,83,82,22,23", + "endColumns": "14,71,65,72,49,39,47,47,44,56,53,49,61,67,76,58,65,62,54,59,62,53,59,52,61,83,79,49,58,42,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65", + "endOffsets": "6679,3642,3570,3504,3431,862,910,958,6097,6154,6502,6448,1256,3898,3975,3830,3771,3705,4615,4560,4500,4084,3012,1417,1479,4168,1843,6204,3381,3152,1926,2197,2451,1976,2952,2892,2839,2639,2593,2499,2545,2686,2736,2242,3322,2788,3204,2154,2400,2353,2297,3109,2111,3054,2017,2067,3263,1364,1667,1763,1618,1714,1571,1524,1194,1143,5010,4935,5133,6051,5451,5387,5529,5639,5816,5712,5076,5318,5198,5263,4876,5899,5977,6398,6298,6253,6360,1313,4030,4437,4740,4673,4802,4378,4330,4285,4237,1024,1090" + }, + "to": { + "startLines": "6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "215,384,456,522,595,645,685,733,781,826,883,937,987,1049,1117,1194,1253,1319,1382,1437,1497,1560,1614,1674,1727,1789,1873,1953,2003,2062,2105,2158,2201,2252,2302,2362,2415,2466,2512,2560,2608,2654,2701,2751,2796,2855,2907,2959,3002,3049,3105,3160,3215,3259,3301,3342,3392,3451,3502,3551,3600,3647,3694,3741,3786,3837,3890,3965,4024,4081,4155,4219,4288,4366,4476,4580,4653,4719,4774,4839,4904,4953,5036,5114,5152,5197,5245,5307,5465,5520,5579,5646,5704,5766,5814,5859,5907,5958,6024", + "endLines": "8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107", + "endColumns": "14,71,65,72,49,39,47,47,44,56,53,49,61,67,76,58,65,62,54,59,62,53,59,52,61,83,79,49,58,42,52,42,50,49,59,52,50,45,47,47,45,46,49,44,58,51,51,42,46,55,54,54,43,41,40,49,58,50,48,48,46,46,46,44,50,52,74,58,56,73,63,68,77,109,103,72,65,54,64,64,48,82,77,37,44,47,61,56,54,58,66,57,61,47,44,47,50,65,65", + "endOffsets": "379,451,517,590,640,680,728,776,821,878,932,982,1044,1112,1189,1248,1314,1377,1432,1492,1555,1609,1669,1722,1784,1868,1948,1998,2057,2100,2153,2196,2247,2297,2357,2410,2461,2507,2555,2603,2649,2696,2746,2791,2850,2902,2954,2997,3044,3100,3155,3210,3254,3296,3337,3387,3446,3497,3546,3595,3642,3689,3736,3781,3832,3885,3960,4019,4076,4150,4214,4283,4361,4471,4575,4648,4714,4769,4834,4899,4948,5031,5109,5147,5192,5240,5302,5359,5515,5574,5641,5699,5761,5809,5854,5902,5953,6019,6085" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zu.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zu.json new file mode 100644 index 0000000..d861287 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values-zu.json @@ -0,0 +1,19 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values-zu/values-zu.xml", + "map": [ + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values-zu\\values-zu.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "100", + "endOffsets": "151" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values.json b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values.json new file mode 100644 index 0000000..a9bec8b --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/multi-v2/values.json @@ -0,0 +1,153 @@ +{ + "logs": [ + { + "outputFile": "net.micode.notes.src-mergeDebugResources-7:/values/values.xml", + "map": [ + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values\\styles.xml", + "from": { + "startLines": "50,55,64,60,22,26,30,35,40,18,45", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "2062,2267,2640,2479,895,1078,1263,1449,1653,712,1860", + "endLines": "53,58,67,62,25,29,33,38,43,21,48", + "endColumns": "12,12,12,12,12,12,12,12,12,12,12", + "endOffsets": "2261,2473,2843,2634,1073,1258,1443,1647,1854,890,2056" + }, + "to": { + "startLines": "164,168,172,176,195,199,203,207,211,215,219", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "10564,10768,10979,11186,12486,12669,12854,13039,13242,13448,13631", + "endLines": "167,171,175,178,198,202,206,210,214,218,222", + "endColumns": "12,12,12,12,12,12,12,12,12,12,12", + "endOffsets": "10763,10974,11181,11341,12664,12849,13034,13237,13443,13626,13827" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values\\arrays.xml", + "from": { + "startLines": "19,26", + "startColumns": "4,4", + "startOffsets": "739,1047", + "endLines": "24,29", + "endColumns": "19,19", + "endOffsets": "1041,1162" + }, + "to": { + "startLines": "2,8", + "startColumns": "4,4", + "startOffsets": "105,300", + "endLines": "7,11", + "endColumns": "19,19", + "endOffsets": "295,415" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values\\strings.xml", + "from": { + "startLines": "128,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,42,48,53,43,63,62,61,57,56,54,55,58,59,49,70,60,68,47,52,51,50,66,46,65,44,45,69,28,34,36,33,35,32,31,25,24,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,22,23", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "8008,3898,4159,4063,3994,827,870,922,7506,7555,7950,7899,1282,4613,4707,4542,4458,4375,5574,5491,5389,4883,2004,1953,3397,1486,1539,4944,2097,4242,7618,3827,3582,2156,2471,2772,2214,3326,3265,3208,2986,2934,2831,2884,3036,3086,2518,3761,3146,3631,2424,2717,2629,2571,3520,2374,3475,2271,2314,3694,1431,1750,1858,1703,1805,1647,1599,1227,1174,6030,5963,6271,7409,6635,6554,6709,6798,7040,6961,6114,6189,6495,6335,6415,5908,7184,7306,7858,7731,7674,7784,1366,4815,5303,5709,5640,5789,5244,5189,5127,5067,974,1084", + "endLines": "132,72,75,74,73,19,20,21,118,119,127,126,26,81,82,80,79,78,94,93,92,84,39,38,64,29,30,85,41,76,120,71,67,42,48,53,43,63,62,61,57,56,54,55,58,59,49,70,60,68,47,52,51,50,66,46,65,44,45,69,28,34,36,33,35,32,31,25,24,101,100,104,116,109,108,110,111,113,112,102,103,107,105,106,99,114,115,125,123,122,124,27,83,91,96,95,97,90,89,88,87,22,23", + "endColumns": "14,95,82,95,68,42,51,51,48,62,57,50,83,93,107,70,83,82,65,82,101,60,61,50,77,52,59,104,58,101,54,70,48,57,46,58,56,70,60,56,49,51,52,49,49,59,52,65,61,62,46,54,87,57,61,49,44,42,59,66,54,54,52,46,52,55,47,54,52,83,66,63,95,73,80,88,162,143,78,74,81,58,79,79,54,121,102,40,52,56,73,64,67,85,79,68,93,58,54,61,59,109,89", + "endOffsets": "8412,3989,4237,4154,4058,865,917,969,7550,7613,8003,7945,1361,4702,4810,4608,4537,4453,5635,5569,5486,4939,2061,1999,3470,1534,1594,5044,2151,4339,7668,3893,3626,2209,2513,2826,2266,3392,3321,3260,3031,2981,2879,2929,3081,3141,2566,3822,3203,3689,2466,2767,2712,2624,3577,2419,3515,2309,2369,3756,1481,1800,1906,1745,1853,1698,1642,1277,1222,6109,6025,6330,7500,6704,6630,6793,6956,7179,7035,6184,6266,6549,6410,6490,5958,7301,7404,7894,7779,7726,7853,1426,4878,5384,5784,5704,5878,5298,5239,5184,5122,1079,1169" + }, + "to": { + "startLines": "56,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "3108,3461,3557,3640,3736,3805,3848,3900,3952,4001,4064,4122,4173,4257,4351,4459,4530,4614,4697,4763,4846,4948,5009,5071,5122,5200,5253,5313,5418,5477,5579,5634,5705,5754,5812,5859,5918,5975,6046,6107,6164,6214,6266,6319,6369,6419,6479,6532,6598,6660,6723,6770,6825,6913,6971,7033,7083,7128,7171,7231,7298,7353,7408,7461,7508,7561,7617,7665,7720,7773,7857,7924,7988,8084,8158,8239,8328,8491,8635,8714,8789,8871,8930,9010,9090,9145,9267,9370,9411,9464,9521,9595,9731,9799,9885,9965,10034,10128,10187,10242,10304,10364,10474", + "endLines": "60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163", + "endColumns": "14,95,82,95,68,42,51,51,48,62,57,50,83,93,107,70,83,82,65,82,101,60,61,50,77,52,59,104,58,101,54,70,48,57,46,58,56,70,60,56,49,51,52,49,49,59,52,65,61,62,46,54,87,57,61,49,44,42,59,66,54,54,52,46,52,55,47,54,52,83,66,63,95,73,80,88,162,143,78,74,81,58,79,79,54,121,102,40,52,56,73,64,67,85,79,68,93,58,54,61,59,109,89", + "endOffsets": "3456,3552,3635,3731,3800,3843,3895,3947,3996,4059,4117,4168,4252,4346,4454,4525,4609,4692,4758,4841,4943,5004,5066,5117,5195,5248,5308,5413,5472,5574,5629,5700,5749,5807,5854,5913,5970,6041,6102,6159,6209,6261,6314,6364,6414,6474,6527,6593,6655,6718,6765,6820,6908,6966,7028,7078,7123,7166,7226,7293,7348,7403,7456,7503,7556,7612,7660,7715,7768,7852,7919,7983,8079,8153,8234,8323,8486,8630,8709,8784,8866,8925,9005,9085,9140,9262,9365,9406,9459,9516,9590,9655,9794,9880,9960,10029,10123,10182,10237,10299,10359,10469,10559" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values\\colors.xml", + "from": { + "startLines": "19,18", + "startColumns": "4,4", + "startOffsets": "769,712", + "endColumns": "45,56", + "endOffsets": "810,764" + }, + "to": { + "startLines": "12,20", + "startColumns": "4,4", + "startOffsets": "420,963", + "endColumns": "45,56", + "endOffsets": "461,1015" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\eb9b554a0d2c230b70e3e00422e039fb\\transformed\\richtext-3.0.7\\res\\values\\values.xml", + "from": { + "startLines": "2", + "startColumns": "4", + "startOffsets": "55", + "endColumns": "54", + "endOffsets": "105" + }, + "to": { + "startLines": "53", + "startColumns": "4", + "startOffsets": "2923", + "endColumns": "54", + "endOffsets": "2973" + } + }, + { + "source": "C:\\Users\\86184\\Desktop\\advancedminotes\\src\\src\\main\\res\\values\\dimens.xml", + "from": { + "startLines": "19,20,21,22,18", + "startColumns": "4,4,4,4,4", + "startOffsets": "764,816,869,922,712", + "endColumns": "51,52,52,51,51", + "endOffsets": "811,864,917,969,759" + }, + "to": { + "startLines": "41,42,43,44,45", + "startColumns": "4,4,4,4,4", + "startOffsets": "2339,2391,2444,2497,2549", + "endColumns": "51,52,52,51,51", + "endOffsets": "2386,2439,2492,2544,2596" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\3fbce868597cd2831f9de1bcf84b6b5e\\transformed\\support-compat-26.1.0\\res\\values\\values.xml", + "from": { + "startLines": "2,3,4,5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,53,54,58,59,60,6,15", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "55,124,187,245,1153,1223,1291,1363,1433,1494,1555,1616,1678,1742,1804,1865,1933,2033,2093,2159,2232,2301,2358,2410,2472,2544,2620,2655,2690,2724,2759,2794,2864,2935,3052,3253,3363,3564,3693,3765,319,880", + "endLines": "2,3,4,5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,52,53,57,58,59,60,14,18", + "endColumns": "68,62,57,73,69,67,71,69,60,60,60,61,63,61,60,67,99,59,65,72,68,56,51,61,71,75,34,34,33,34,34,69,70,116,12,109,12,128,71,66,35,115", + "endOffsets": "119,182,240,314,1218,1286,1358,1428,1489,1550,1611,1673,1737,1799,1860,1928,2028,2088,2154,2227,2296,2353,2405,2467,2539,2615,2650,2685,2719,2754,2789,2859,2930,3047,3248,3358,3559,3688,3760,3827,875,1148" + }, + "to": { + "startLines": "13,14,17,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,46,47,48,49,50,51,52,55,152,179,180,185,188,193,223,224,225,234", + "startColumns": "4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4", + "startOffsets": "466,535,758,889,1020,1090,1158,1230,1300,1361,1422,1483,1545,1609,1671,1732,1800,1900,1960,2026,2099,2168,2225,2277,2601,2673,2749,2784,2819,2853,2888,3038,9660,11346,11463,11730,12023,12290,13832,13904,13971,14532", + "endLines": "13,14,17,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,46,47,48,49,50,51,52,55,152,179,183,185,191,193,223,224,233,237", + "endColumns": "68,62,57,73,69,67,71,69,60,60,60,61,63,61,60,67,99,59,65,72,68,56,51,61,71,75,34,34,33,34,34,69,70,116,12,109,12,128,71,66,35,115", + "endOffsets": "530,593,811,958,1085,1153,1225,1295,1356,1417,1478,1540,1604,1666,1727,1795,1895,1955,2021,2094,2163,2220,2272,2334,2668,2744,2779,2814,2848,2883,2918,3103,9726,11458,11659,11835,12219,12414,13899,13966,14527,14800" + } + }, + { + "source": "C:\\Users\\86184\\.gradle\\caches\\transforms-3\\5a2618499ad822775ad165665add7846\\transformed\\support-media-compat-26.1.0\\res\\values\\values.xml", + "from": { + "startLines": "2,3,4,5,6,7,8,9,10", + "startColumns": "4,4,4,4,4,4,4,4,4", + "startOffsets": "55,144,215,288,348,414,536,597,663", + "endColumns": "88,70,72,59,65,121,60,65,66", + "endOffsets": "139,210,283,343,409,531,592,658,725" + }, + "to": { + "startLines": "15,16,18,54,184,186,187,192,194", + "startColumns": "4,4,4,4,4,4,4,4,4", + "startOffsets": "598,687,816,2978,11664,11840,11962,12224,12419", + "endColumns": "88,70,72,59,65,121,60,65,66", + "endOffsets": "682,753,884,3033,11725,11957,12018,12285,12481" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/build/intermediates/merged_res_blame_folder/debug/out/single/debug.json b/src/build/intermediates/merged_res_blame_folder/debug/out/single/debug.json new file mode 100644 index 0000000..1877464 --- /dev/null +++ b/src/build/intermediates/merged_res_blame_folder/debug/out/single/debug.json @@ -0,0 +1,422 @@ +[ + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_green.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_green.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_2x_green.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_2x_green.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_title_alert.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/title_alert.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_white_down.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_white_down.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_preview_layout.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/preview_layout.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_2x_blue.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_2x_blue.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_icon_app.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/icon_app.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/menu_note_list.xml.flat", + "source": "net.micode.notes.src-main-11:/menu/note_list.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_add_account_text.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/add_account_text.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_title_orange.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_title_orange.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_red_single.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_red_single.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/menu_call_record_folder.xml.flat", + "source": "net.micode.notes.src-main-11:/menu/call_record_folder.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/raw-zh-rCN_introduction.flat", + "source": "net.micode.notes.src-main-11:/raw-zh-rCN/introduction" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_2x_red.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_2x_red.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_orange.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_orange.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_footer_bg.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_footer_bg.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_background.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_background.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_yellow_single.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_yellow_single.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_4x_yellow.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_4x_yellow.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable_new_note.xml.flat", + "source": "net.micode.notes.src-main-11:/drawable/new_note.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_green_down.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_green_down.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_note_edit_list_item.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/note_edit_list_item.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_4x_green.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_4x_green.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/xml_widget_4x_info.xml.flat", + "source": "net.micode.notes.src-main-11:/xml/widget_4x_info.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_note_item.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/note_item.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_font_large.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/font_large.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_dropdown_icon.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/dropdown_icon.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_font_normal.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/font_normal.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_green_single.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_green_single.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_font_size_selector_bg.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/font_size_selector_bg.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_yellow_up.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_yellow_up.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_4x_white.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_4x_white.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_font_size_selector.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/font_size_selector.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_blue_up.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_blue_up.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/color_primary_text_dark.xml.flat", + "source": "net.micode.notes.src-main-11:/color/primary_text_dark.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/menu_sub_folder.xml.flat", + "source": "net.micode.notes.src-main-11:/menu/sub_folder.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_green_up.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_green_up.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_blue.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_blue.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_blue_middle.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_blue_middle.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_font_super.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/font_super.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_note_edit_color_selector_panel.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/note_edit_color_selector_panel.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_datetime_picker.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/datetime_picker.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_note_list.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/note_list.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_yellow_down.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_yellow_down.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/menu_note_edit.xml.flat", + "source": "net.micode.notes.src-main-11:/menu/note_edit.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_title_bar_bg.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/title_bar_bg.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_bg_color_btn_mask.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/bg_color_btn_mask.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_2x_yellow.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_2x_yellow.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_green_middle.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_green_middle.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_note_list_footer.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/note_list_footer.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_red_up.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_red_up.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_orange_down.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_orange_down.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/menu_call_note_edit.xml.flat", + "source": "net.micode.notes.src-main-11:/menu/call_note_edit.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_bg_btn_set_color.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/bg_btn_set_color.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/xml_searchable.xml.flat", + "source": "net.micode.notes.src-main-11:/xml/searchable.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_white.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_white.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_title_yellow.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_title_yellow.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_menu_move.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/menu_move.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_folder.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_folder.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_clock.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/clock.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_red.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_red.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_blue_single.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_blue_single.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_yellow.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_yellow.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_yellow_middle.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_yellow_middle.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_red_down.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_red_down.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_search_result.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/search_result.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_widget_4x.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/widget_4x.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_note_edit.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/note_edit.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_red_middle.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_red_middle.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_white_up.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_white_up.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/menu_note_list_dropdown.xml.flat", + "source": "net.micode.notes.src-main-11:/menu/note_list_dropdown.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_orange_middle.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_orange_middle.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_4x_red.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_4x_red.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_new_note_normal.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/new_note_normal.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_orange_up.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_orange_up.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_selected.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/selected.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_widget_2x.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/widget_2x.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_settings_header.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/settings_header.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_title_green.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_title_green.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_font_small.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/font_small.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_note_list_dropdown_menu.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/note_list_dropdown_menu.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_title_blue.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_title_blue.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_title_white.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_title_white.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_white_middle.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_white_middle.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_2x_white.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_2x_white.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_delete.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/delete.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_4x_orange.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_4x_orange.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/color_secondary_text_dark.xml.flat", + "source": "net.micode.notes.src-main-11:/color/secondary_text_dark.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_account_dialog_title.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/account_dialog_title.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_dialog_edit_text.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/dialog_edit_text.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/layout_folder_list_item.xml.flat", + "source": "net.micode.notes.src-main-11:/layout/folder_list_item.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_new_note_pressed.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/new_note_pressed.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_orange_single.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_orange_single.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_4x_blue.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_4x_blue.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/xml_widget_2x_info.xml.flat", + "source": "net.micode.notes.src-main-11:/xml/widget_2x_info.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_call_record.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/call_record.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/menu_note_list_options.xml.flat", + "source": "net.micode.notes.src-main-11:/menu/note_list_options.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_menu_delete.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/menu_delete.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_edit_title_red.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/edit_title_red.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/xml_preferences.xml.flat", + "source": "net.micode.notes.src-main-11:/xml/preferences.xml" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_blue_down.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_blue_down.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_list_white_single.9.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/list_white_single.9.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/raw_introduction.flat", + "source": "net.micode.notes.src-main-11:/raw/introduction" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_notification.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/notification.png" + }, + { + "merged": "net.micode.notes.src-merged_res-9:/drawable-hdpi_widget_2x_orange.png.flat", + "source": "net.micode.notes.src-main-11:/drawable-hdpi/widget_2x_orange.png" + } +] \ No newline at end of file diff --git a/src/build/intermediates/navigation_json/debug/navigation.json b/src/build/intermediates/navigation_json/debug/navigation.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/src/build/intermediates/navigation_json/debug/navigation.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/src/build/intermediates/packaged_manifests/debug/AndroidManifest.xml b/src/build/intermediates/packaged_manifests/debug/AndroidManifest.xml new file mode 100644 index 0000000..3f07575 --- /dev/null +++ b/src/build/intermediates/packaged_manifests/debug/AndroidManifest.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/build/intermediates/packaged_manifests/debug/output-metadata.json b/src/build/intermediates/packaged_manifests/debug/output-metadata.json new file mode 100644 index 0000000..d1a77b2 --- /dev/null +++ b/src/build/intermediates/packaged_manifests/debug/output-metadata.json @@ -0,0 +1,20 @@ +{ + "version": 3, + "artifactType": { + "type": "PACKAGED_MANIFESTS", + "kind": "Directory" + }, + "applicationId": "net.micode.notes", + "variantName": "debug", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 14, + "versionName": "1.4", + "outputFile": "AndroidManifest.xml" + } + ], + "elementType": "File" +} \ No newline at end of file diff --git a/src/build/intermediates/processed_res/debug/out/output-metadata.json b/src/build/intermediates/processed_res/debug/out/output-metadata.json new file mode 100644 index 0000000..0677466 --- /dev/null +++ b/src/build/intermediates/processed_res/debug/out/output-metadata.json @@ -0,0 +1,20 @@ +{ + "version": 3, + "artifactType": { + "type": "PROCESSED_RES", + "kind": "Directory" + }, + "applicationId": "net.micode.notes", + "variantName": "debug", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 14, + "versionName": "1.4", + "outputFile": "resources-debug.ap_" + } + ], + "elementType": "File" +} \ No newline at end of file diff --git a/src/build/intermediates/processed_res/debug/out/resources-debug.ap_ b/src/build/intermediates/processed_res/debug/out/resources-debug.ap_ new file mode 100644 index 0000000..1d384e2 Binary files /dev/null and b/src/build/intermediates/processed_res/debug/out/resources-debug.ap_ differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_0.jar b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_0.jar new file mode 100644 index 0000000..0451d94 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_0.jar differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_1.jar b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_1.jar new file mode 100644 index 0000000..be73a9c Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_1.jar differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_2.jar b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_2.jar new file mode 100644 index 0000000..a9d6c75 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_2.jar differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_4.jar b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_4.jar new file mode 100644 index 0000000..4b37486 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_4.jar differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_5.jar b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_5.jar new file mode 100644 index 0000000..a048c15 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_5.jar differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_6.jar b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_6.jar new file mode 100644 index 0000000..16d7392 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/4d3c762f83178304ddb347f979ee1d78d4cda40beba8f5117957b406a1292512_6.jar differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/BuildConfig.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/BuildConfig.dex new file mode 100644 index 0000000..b2f35b0 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/BuildConfig.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Contact.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Contact.dex new file mode 100644 index 0000000..986dc0a Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Contact.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$CallNote.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$CallNote.dex new file mode 100644 index 0000000..3329488 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$CallNote.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataColumns.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataColumns.dex new file mode 100644 index 0000000..1c0dee7 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataColumns.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataConstants.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataConstants.dex new file mode 100644 index 0000000..91cb25d Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$DataConstants.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$NoteColumns.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$NoteColumns.dex new file mode 100644 index 0000000..11d5a34 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$NoteColumns.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$TextNote.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$TextNote.dex new file mode 100644 index 0000000..50b7b16 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes$TextNote.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes.dex new file mode 100644 index 0000000..0e63891 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/Notes.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper$TABLE.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper$TABLE.dex new file mode 100644 index 0000000..00400e4 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper$TABLE.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper.dex new file mode 100644 index 0000000..63d50b0 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesDatabaseHelper.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesProvider.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesProvider.dex new file mode 100644 index 0000000..534650e Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/data/NotesProvider.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/MetaData.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/MetaData.dex new file mode 100644 index 0000000..a9e1850 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/MetaData.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Node.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Node.dex new file mode 100644 index 0000000..14002b7 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Node.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlData.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlData.dex new file mode 100644 index 0000000..5403407 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlData.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlNote.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlNote.dex new file mode 100644 index 0000000..1dd48da Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/SqlNote.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Task.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Task.dex new file mode 100644 index 0000000..dda966c Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/Task.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/TaskList.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/TaskList.dex new file mode 100644 index 0000000..e826efc Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/data/TaskList.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/ActionFailureException.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/ActionFailureException.dex new file mode 100644 index 0000000..ff466b5 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/ActionFailureException.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/NetworkFailureException.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/NetworkFailureException.dex new file mode 100644 index 0000000..c3c8e6a Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/gtask/exception/NetworkFailureException.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note$NoteData.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note$NoteData.dex new file mode 100644 index 0000000..480ac66 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note$NoteData.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note.dex new file mode 100644 index 0000000..50ae406 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/Note.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.dex new file mode 100644 index 0000000..27bd5fa Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote$NoteSettingChangedListener.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex new file mode 100644 index 0000000..30fa3b7 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/model/WorkingNote.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils$TextExport.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils$TextExport.dex new file mode 100644 index 0000000..639ac49 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils$TextExport.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils.dex new file mode 100644 index 0000000..24d838b Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/BackupUtils.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/DataUtils.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/DataUtils.dex new file mode 100644 index 0000000..f210bf7 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/DataUtils.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/GTaskStringUtils.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/GTaskStringUtils.dex new file mode 100644 index 0000000..58bd2d7 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/GTaskStringUtils.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteBgResources.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteBgResources.dex new file mode 100644 index 0000000..fd85af7 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteBgResources.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteItemBgResources.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteItemBgResources.dex new file mode 100644 index 0000000..dd09495 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$NoteItemBgResources.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$TextAppearanceResources.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$TextAppearanceResources.dex new file mode 100644 index 0000000..8549b3d Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$TextAppearanceResources.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$WidgetBgResources.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$WidgetBgResources.dex new file mode 100644 index 0000000..c30b3de Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser$WidgetBgResources.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser.dex new file mode 100644 index 0000000..4db5442 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/tool/ResourceParser.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmInitReceiver.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmInitReceiver.dex new file mode 100644 index 0000000..b6d7a78 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmInitReceiver.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmReceiver.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmReceiver.dex new file mode 100644 index 0000000..1feac19 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/AlarmReceiver.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$1.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$1.dex new file mode 100644 index 0000000..64db2ac Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$1.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$2.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$2.dex new file mode 100644 index 0000000..722f7d8 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$2.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$3.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$3.dex new file mode 100644 index 0000000..99f227d Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$3.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$4.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$4.dex new file mode 100644 index 0000000..2410454 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$4.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.dex new file mode 100644 index 0000000..0df2655 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker$OnDateTimeChangedListener.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker.dex new file mode 100644 index 0000000..9d0d839 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePicker.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$1.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$1.dex new file mode 100644 index 0000000..52d16d3 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$1.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.dex new file mode 100644 index 0000000..d9419a5 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog$OnDateTimeSetListener.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog.dex new file mode 100644 index 0000000..40b6731 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DateTimePickerDialog.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu$1.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu$1.dex new file mode 100644 index 0000000..cccb68c Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu$1.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu.dex new file mode 100644 index 0000000..977192a Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/DropdownMenu.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter$FolderListItem.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter$FolderListItem.dex new file mode 100644 index 0000000..aa2477e Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter$FolderListItem.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter.dex new file mode 100644 index 0000000..067d6a8 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/FoldersListAdapter.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex new file mode 100644 index 0000000..1e5a281 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$1.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.dex new file mode 100644 index 0000000..1323e64 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText$OnTextViewChangeListener.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex new file mode 100644 index 0000000..ff41147 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteEditText.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteItemData.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteItemData.dex new file mode 100644 index 0000000..39c332e Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NoteItemData.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.dex new file mode 100644 index 0000000..53a05bb Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter$AppWidgetAttribute.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex new file mode 100644 index 0000000..57721c5 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListAdapter.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex new file mode 100644 index 0000000..d4f0b34 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/NotesListItem.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/AlarmAlertActivity.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/AlarmAlertActivity.dex new file mode 100644 index 0000000..bfcad6d Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/AlarmAlertActivity.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$1.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$1.dex new file mode 100644 index 0000000..dcc0ebd Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$1.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$2.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$2.dex new file mode 100644 index 0000000..2952dd9 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$2.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$3.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$3.dex new file mode 100644 index 0000000..66f5e67 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$3.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$HeadViewHolder.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$HeadViewHolder.dex new file mode 100644 index 0000000..382fee6 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity$HeadViewHolder.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity.dex new file mode 100644 index 0000000..0532fbe Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NoteEditActivity.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$1.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$1.dex new file mode 100644 index 0000000..cb84ee9 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$1.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$2.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$2.dex new file mode 100644 index 0000000..f1bb945 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$2.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$3.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$3.dex new file mode 100644 index 0000000..06330a1 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$3.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$4.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$4.dex new file mode 100644 index 0000000..9ad9ca7 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$4.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$5.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$5.dex new file mode 100644 index 0000000..cbe948d Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$5.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$6.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$6.dex new file mode 100644 index 0000000..4a7acec Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$6.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$7.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$7.dex new file mode 100644 index 0000000..bb3a997 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$7.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$8.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$8.dex new file mode 100644 index 0000000..4f4aba7 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$8.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$9.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$9.dex new file mode 100644 index 0000000..2d94b24 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$9.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$BackgroundQueryHandler.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$BackgroundQueryHandler.dex new file mode 100644 index 0000000..661481f Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$BackgroundQueryHandler.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ListEditState.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ListEditState.dex new file mode 100644 index 0000000..7304fb9 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ListEditState.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$1.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$1.dex new file mode 100644 index 0000000..c97efd9 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$1.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$2.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$2.dex new file mode 100644 index 0000000..13690f5 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ModeCallback$2.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ModeCallback.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ModeCallback.dex new file mode 100644 index 0000000..8ef6eaa Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$ModeCallback.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$NewNoteOnTouchListener.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$NewNoteOnTouchListener.dex new file mode 100644 index 0000000..7f76fd6 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$NewNoteOnTouchListener.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$OnListItemClickListener.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$OnListItemClickListener.dex new file mode 100644 index 0000000..8494865 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity$OnListItemClickListener.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity.dex new file mode 100644 index 0000000..730c6a4 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesListActivity.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$1.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$1.dex new file mode 100644 index 0000000..40e4a28 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$1.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$3.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$3.dex new file mode 100644 index 0000000..7f027fc Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$3.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$4.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$4.dex new file mode 100644 index 0000000..6cb40a1 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$4.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$5.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$5.dex new file mode 100644 index 0000000..b023868 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$5.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$6.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$6.dex new file mode 100644 index 0000000..465662b Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$6.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$7.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$7.dex new file mode 100644 index 0000000..bf9830b Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$7.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$8.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$8.dex new file mode 100644 index 0000000..4e4db6b Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$8.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$GTaskReceiver.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$GTaskReceiver.dex new file mode 100644 index 0000000..52b7fab Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity$GTaskReceiver.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity.dex new file mode 100644 index 0000000..5629532 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/NotesPreferenceActivity.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/PreviewActivity.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/PreviewActivity.dex new file mode 100644 index 0000000..7b9bd85 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/ui/activities/PreviewActivity.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider.dex new file mode 100644 index 0000000..bb62615 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_2x.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_2x.dex new file mode 100644 index 0000000..6da25ba Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_2x.dex differ diff --git a/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_4x.dex b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_4x.dex new file mode 100644 index 0000000..f3273f1 Binary files /dev/null and b/src/build/intermediates/project_dex_archive/debug/out/net/micode/notes/widget/NoteWidgetProvider_4x.dex differ diff --git a/src/build/intermediates/runtime_symbol_list/debug/R.txt b/src/build/intermediates/runtime_symbol_list/debug/R.txt new file mode 100644 index 0000000..4f9b28b --- /dev/null +++ b/src/build/intermediates/runtime_symbol_list/debug/R.txt @@ -0,0 +1,420 @@ +int array format_for_exported_note 0x7f010000 +int array menu_share_ways 0x7f010001 +int attr font 0x7f020000 +int attr fontProviderAuthority 0x7f020001 +int attr fontProviderCerts 0x7f020002 +int attr fontProviderFetchStrategy 0x7f020003 +int attr fontProviderFetchTimeout 0x7f020004 +int attr fontProviderPackage 0x7f020005 +int attr fontProviderQuery 0x7f020006 +int attr fontStyle 0x7f020007 +int attr fontWeight 0x7f020008 +int bool abc_action_bar_embed_tabs 0x7f030000 +int color btn_color 0x7f040000 +int color notification_action_color_filter 0x7f040001 +int color notification_icon_bg_color 0x7f040002 +int color notification_material_background_media_default_color 0x7f040003 +int color primary_text_dark 0x7f040004 +int color primary_text_default_material_dark 0x7f040005 +int color ripple_material_light 0x7f040006 +int color secondary_text_dark 0x7f040007 +int color secondary_text_default_material_dark 0x7f040008 +int color secondary_text_default_material_light 0x7f040009 +int color user_query_highlight 0x7f04000a +int dimen compat_button_inset_horizontal_material 0x7f050000 +int dimen compat_button_inset_vertical_material 0x7f050001 +int dimen compat_button_padding_horizontal_material 0x7f050002 +int dimen compat_button_padding_vertical_material 0x7f050003 +int dimen compat_control_corner_material 0x7f050004 +int dimen notification_action_icon_size 0x7f050005 +int dimen notification_action_text_size 0x7f050006 +int dimen notification_big_circle_margin 0x7f050007 +int dimen notification_content_margin_start 0x7f050008 +int dimen notification_large_icon_height 0x7f050009 +int dimen notification_large_icon_width 0x7f05000a +int dimen notification_main_column_padding_top 0x7f05000b +int dimen notification_media_narrow_margin 0x7f05000c +int dimen notification_right_icon_size 0x7f05000d +int dimen notification_right_side_padding_top 0x7f05000e +int dimen notification_small_icon_background_padding 0x7f05000f +int dimen notification_small_icon_size_as_large 0x7f050010 +int dimen notification_subtext_size 0x7f050011 +int dimen notification_top_pad 0x7f050012 +int dimen notification_top_pad_large_text 0x7f050013 +int dimen text_font_size_large 0x7f050014 +int dimen text_font_size_medium 0x7f050015 +int dimen text_font_size_normal 0x7f050016 +int dimen text_font_size_small 0x7f050017 +int dimen text_font_size_super 0x7f050018 +int drawable bg_btn_set_color 0x7f060000 +int drawable bg_color_btn_mask 0x7f060001 +int drawable call_record 0x7f060002 +int drawable clock 0x7f060003 +int drawable delete 0x7f060004 +int drawable dropdown_icon 0x7f060005 +int drawable edit_blue 0x7f060006 +int drawable edit_green 0x7f060007 +int drawable edit_orange 0x7f060008 +int drawable edit_red 0x7f060009 +int drawable edit_title_blue 0x7f06000a +int drawable edit_title_green 0x7f06000b +int drawable edit_title_orange 0x7f06000c +int drawable edit_title_red 0x7f06000d +int drawable edit_title_white 0x7f06000e +int drawable edit_title_yellow 0x7f06000f +int drawable edit_white 0x7f060010 +int drawable edit_yellow 0x7f060011 +int drawable font_large 0x7f060012 +int drawable font_normal 0x7f060013 +int drawable font_size_selector 0x7f060014 +int drawable font_size_selector_bg 0x7f060015 +int drawable font_small 0x7f060016 +int drawable font_super 0x7f060017 +int drawable icon_app 0x7f060018 +int drawable list_background 0x7f060019 +int drawable list_blue_down 0x7f06001a +int drawable list_blue_middle 0x7f06001b +int drawable list_blue_single 0x7f06001c +int drawable list_blue_up 0x7f06001d +int drawable list_folder 0x7f06001e +int drawable list_footer_bg 0x7f06001f +int drawable list_green_down 0x7f060020 +int drawable list_green_middle 0x7f060021 +int drawable list_green_single 0x7f060022 +int drawable list_green_up 0x7f060023 +int drawable list_orange_down 0x7f060024 +int drawable list_orange_middle 0x7f060025 +int drawable list_orange_single 0x7f060026 +int drawable list_orange_up 0x7f060027 +int drawable list_red_down 0x7f060028 +int drawable list_red_middle 0x7f060029 +int drawable list_red_single 0x7f06002a +int drawable list_red_up 0x7f06002b +int drawable list_white_down 0x7f06002c +int drawable list_white_middle 0x7f06002d +int drawable list_white_single 0x7f06002e +int drawable list_white_up 0x7f06002f +int drawable list_yellow_down 0x7f060030 +int drawable list_yellow_middle 0x7f060031 +int drawable list_yellow_single 0x7f060032 +int drawable list_yellow_up 0x7f060033 +int drawable menu_delete 0x7f060034 +int drawable menu_move 0x7f060035 +int drawable new_note 0x7f060036 +int drawable new_note_normal 0x7f060037 +int drawable new_note_pressed 0x7f060038 +int drawable note_edit_color_selector_panel 0x7f060039 +int drawable notification 0x7f06003a +int drawable notification_action_background 0x7f06003b +int drawable notification_bg 0x7f06003c +int drawable notification_bg_low 0x7f06003d +int drawable notification_bg_low_normal 0x7f06003e +int drawable notification_bg_low_pressed 0x7f06003f +int drawable notification_bg_normal 0x7f060040 +int drawable notification_bg_normal_pressed 0x7f060041 +int drawable notification_icon_background 0x7f060042 +int drawable notification_template_icon_bg 0x7f060043 +int drawable notification_template_icon_low_bg 0x7f060044 +int drawable notification_tile_bg 0x7f060045 +int drawable notify_panel_notification_icon_bg 0x7f060046 +int drawable search_result 0x7f060047 +int drawable selected 0x7f060048 +int drawable title_alert 0x7f060049 +int drawable title_bar_bg 0x7f06004a +int drawable widget_2x_blue 0x7f06004b +int drawable widget_2x_green 0x7f06004c +int drawable widget_2x_orange 0x7f06004d +int drawable widget_2x_red 0x7f06004e +int drawable widget_2x_white 0x7f06004f +int drawable widget_2x_yellow 0x7f060050 +int drawable widget_4x_blue 0x7f060051 +int drawable widget_4x_green 0x7f060052 +int drawable widget_4x_orange 0x7f060053 +int drawable widget_4x_red 0x7f060054 +int drawable widget_4x_white 0x7f060055 +int drawable widget_4x_yellow 0x7f060056 +int id account_dialog_subtitle 0x7f070000 +int id account_dialog_title 0x7f070001 +int id action0 0x7f070002 +int id action_container 0x7f070003 +int id action_divider 0x7f070004 +int id action_image 0x7f070005 +int id action_select_all 0x7f070006 +int id action_text 0x7f070007 +int id actions 0x7f070008 +int id amPm 0x7f070009 +int id async 0x7f07000a +int id blocking 0x7f07000b +int id btn_new_note 0x7f07000c +int id btn_set_bg_color 0x7f07000d +int id btn_set_text_size 0x7f07000e +int id cancel_action 0x7f07000f +int id cb_edit_item 0x7f070010 +int id chronometer 0x7f070011 +int id date 0x7f070012 +int id delete 0x7f070013 +int id end_padder 0x7f070014 +int id et_edit_text 0x7f070015 +int id et_foler_name 0x7f070016 +int id font_size_selector 0x7f070017 +int id forever 0x7f070018 +int id hour 0x7f070019 +int id icon 0x7f07001a +int id icon_group 0x7f07001b +int id info 0x7f07001c +int id italic 0x7f07001d +int id iv_alert_icon 0x7f07001e +int id iv_bg_blue 0x7f07001f +int id iv_bg_blue_select 0x7f070020 +int id iv_bg_green 0x7f070021 +int id iv_bg_green_select 0x7f070022 +int id iv_bg_orange 0x7f070023 +int id iv_bg_orange_select 0x7f070024 +int id iv_bg_red 0x7f070025 +int id iv_bg_red_select 0x7f070026 +int id iv_bg_white 0x7f070027 +int id iv_bg_white_select 0x7f070028 +int id iv_bg_yellow 0x7f070029 +int id iv_bg_yellow_select 0x7f07002a +int id iv_large_select 0x7f07002b +int id iv_medium_select 0x7f07002c +int id iv_small_select 0x7f07002d +int id iv_super_select 0x7f07002e +int id line1 0x7f07002f +int id line3 0x7f070030 +int id ll_font_large 0x7f070031 +int id ll_font_normal 0x7f070032 +int id ll_font_small 0x7f070033 +int id ll_font_super 0x7f070034 +int id md_view 0x7f070035 +int id media_actions 0x7f070036 +int id menu_alert 0x7f070037 +int id menu_delete 0x7f070038 +int id menu_delete_remind 0x7f070039 +int id menu_export_text 0x7f07003a +int id menu_font_size 0x7f07003b +int id menu_list_mode 0x7f07003c +int id menu_new_folder 0x7f07003d +int id menu_new_note 0x7f07003e +int id menu_search 0x7f07003f +int id menu_send_to_desktop 0x7f070040 +int id menu_setting 0x7f070041 +int id menu_share 0x7f070042 +int id menu_sync 0x7f070043 +int id minute 0x7f070044 +int id move 0x7f070045 +int id navigation_bar 0x7f070046 +int id normal 0x7f070047 +int id note_bg_color_selector 0x7f070048 +int id note_edit_list 0x7f070049 +int id note_edit_view 0x7f07004a +int id note_item 0x7f07004b +int id note_title 0x7f07004c +int id notes_list 0x7f07004d +int id notification_background 0x7f07004e +int id notification_main_column 0x7f07004f +int id notification_main_column_container 0x7f070050 +int id prefenerece_sync_status_textview 0x7f070051 +int id preference_sync_button 0x7f070052 +int id preview_btn 0x7f070053 +int id right_icon 0x7f070054 +int id right_side 0x7f070055 +int id selection_menu 0x7f070056 +int id status_bar_latest_event_content 0x7f070057 +int id sv_note_edit 0x7f070058 +int id text 0x7f070059 +int id text2 0x7f07005a +int id time 0x7f07005b +int id title 0x7f07005c +int id tv_alert_date 0x7f07005d +int id tv_folder_name 0x7f07005e +int id tv_modified_date 0x7f07005f +int id tv_name 0x7f070060 +int id tv_time 0x7f070061 +int id tv_title 0x7f070062 +int id tv_title_bar 0x7f070063 +int id widget_bg_image 0x7f070064 +int id widget_text 0x7f070065 +int id zhou_default_image_tag_id 0x7f070066 +int integer cancel_button_image_alpha 0x7f080000 +int integer status_bar_notification_info_maxnum 0x7f080001 +int layout account_dialog_title 0x7f090000 +int layout add_account_text 0x7f090001 +int layout datetime_picker 0x7f090002 +int layout dialog_edit_text 0x7f090003 +int layout folder_list_item 0x7f090004 +int layout note_edit 0x7f090005 +int layout note_edit_list_item 0x7f090006 +int layout note_item 0x7f090007 +int layout note_list 0x7f090008 +int layout note_list_dropdown_menu 0x7f090009 +int layout note_list_footer 0x7f09000a +int layout notification_action 0x7f09000b +int layout notification_action_tombstone 0x7f09000c +int layout notification_media_action 0x7f09000d +int layout notification_media_cancel_action 0x7f09000e +int layout notification_template_big_media 0x7f09000f +int layout notification_template_big_media_custom 0x7f090010 +int layout notification_template_big_media_narrow 0x7f090011 +int layout notification_template_big_media_narrow_custom 0x7f090012 +int layout notification_template_custom_big 0x7f090013 +int layout notification_template_icon_group 0x7f090014 +int layout notification_template_lines_media 0x7f090015 +int layout notification_template_media 0x7f090016 +int layout notification_template_media_custom 0x7f090017 +int layout notification_template_part_chronometer 0x7f090018 +int layout notification_template_part_time 0x7f090019 +int layout preview_layout 0x7f09001a +int layout settings_header 0x7f09001b +int layout widget_2x 0x7f09001c +int layout widget_4x 0x7f09001d +int menu call_note_edit 0x7f0a0000 +int menu call_record_folder 0x7f0a0001 +int menu note_edit 0x7f0a0002 +int menu note_list 0x7f0a0003 +int menu note_list_dropdown 0x7f0a0004 +int menu note_list_options 0x7f0a0005 +int menu sub_folder 0x7f0a0006 +int plurals search_results_title 0x7f0b0000 +int raw introduction 0x7f0c0000 +int string alert_message_delete_folder 0x7f0d0000 +int string alert_message_delete_note 0x7f0d0001 +int string alert_message_delete_notes 0x7f0d0002 +int string alert_title_delete 0x7f0d0003 +int string app_name 0x7f0d0004 +int string app_widget2x2 0x7f0d0005 +int string app_widget4x4 0x7f0d0006 +int string button_delete 0x7f0d0007 +int string call_record_folder_name 0x7f0d0008 +int string datetime_dialog_cancel 0x7f0d0009 +int string datetime_dialog_ok 0x7f0d000a +int string delete_remind_time_message 0x7f0d000b +int string error_note_empty_for_clock 0x7f0d000c +int string error_note_empty_for_send_to_desktop 0x7f0d000d +int string error_note_not_exist 0x7f0d000e +int string error_sdcard_export 0x7f0d000f +int string error_sdcard_unmounted 0x7f0d0010 +int string error_sync_cancelled 0x7f0d0011 +int string error_sync_internal 0x7f0d0012 +int string error_sync_network 0x7f0d0013 +int string failed_sdcard_export 0x7f0d0014 +int string file_name_txt_format 0x7f0d0015 +int string file_path 0x7f0d0016 +int string folder_exist 0x7f0d0017 +int string format_date_ymd 0x7f0d0018 +int string format_datetime_mdhm 0x7f0d0019 +int string format_exported_file_location 0x7f0d001a +int string format_folder_files_count 0x7f0d001b +int string format_move_notes_to_folder 0x7f0d001c +int string hint_foler_name 0x7f0d001d +int string info_note_enter_desktop 0x7f0d001e +int string menu_alert 0x7f0d001f +int string menu_create_folder 0x7f0d0020 +int string menu_delete 0x7f0d0021 +int string menu_deselect_all 0x7f0d0022 +int string menu_export_text 0x7f0d0023 +int string menu_folder_change_name 0x7f0d0024 +int string menu_folder_delete 0x7f0d0025 +int string menu_folder_view 0x7f0d0026 +int string menu_font_large 0x7f0d0027 +int string menu_font_normal 0x7f0d0028 +int string menu_font_size 0x7f0d0029 +int string menu_font_small 0x7f0d002a +int string menu_font_super 0x7f0d002b +int string menu_list_mode 0x7f0d002c +int string menu_move 0x7f0d002d +int string menu_move_parent_folder 0x7f0d002e +int string menu_normal_mode 0x7f0d002f +int string menu_remove_remind 0x7f0d0030 +int string menu_search 0x7f0d0031 +int string menu_select_all 0x7f0d0032 +int string menu_select_none 0x7f0d0033 +int string menu_select_title 0x7f0d0034 +int string menu_send_to_desktop 0x7f0d0035 +int string menu_setting 0x7f0d0036 +int string menu_share 0x7f0d0037 +int string menu_sync 0x7f0d0038 +int string menu_sync_cancel 0x7f0d0039 +int string menu_title_select_folder 0x7f0d003a +int string note_alert_expired 0x7f0d003b +int string note_link_email 0x7f0d003c +int string note_link_other 0x7f0d003d +int string note_link_tel 0x7f0d003e +int string note_link_web 0x7f0d003f +int string notealert_enter 0x7f0d0040 +int string notealert_ok 0x7f0d0041 +int string notelist_menu_new 0x7f0d0042 +int string notelist_string_info 0x7f0d0043 +int string preferences_account_summary 0x7f0d0044 +int string preferences_account_title 0x7f0d0045 +int string preferences_add_account 0x7f0d0046 +int string preferences_bg_random_appear_title 0x7f0d0047 +int string preferences_button_sync_cancel 0x7f0d0048 +int string preferences_button_sync_immediately 0x7f0d0049 +int string preferences_dialog_change_account_title 0x7f0d004a +int string preferences_dialog_change_account_warn_msg 0x7f0d004b +int string preferences_dialog_select_account_tips 0x7f0d004c +int string preferences_dialog_select_account_title 0x7f0d004d +int string preferences_last_sync_time 0x7f0d004e +int string preferences_last_sync_time_format 0x7f0d004f +int string preferences_menu_cancel 0x7f0d0050 +int string preferences_menu_change_account 0x7f0d0051 +int string preferences_menu_remove_account 0x7f0d0052 +int string preferences_title 0x7f0d0053 +int string preferences_toast_cannot_change_account 0x7f0d0054 +int string preferences_toast_success_set_accout 0x7f0d0055 +int string search 0x7f0d0056 +int string search_hint 0x7f0d0057 +int string search_label 0x7f0d0058 +int string search_setting_description 0x7f0d0059 +int string set_remind_time_message 0x7f0d005a +int string status_bar_notification_info_overflow 0x7f0d005b +int string success_sdcard_export 0x7f0d005c +int string success_sync_account 0x7f0d005d +int string sync_progress_init_list 0x7f0d005e +int string sync_progress_login 0x7f0d005f +int string sync_progress_syncing 0x7f0d0060 +int string ticker_cancel 0x7f0d0061 +int string ticker_fail 0x7f0d0062 +int string ticker_success 0x7f0d0063 +int string ticker_syncing 0x7f0d0064 +int string widget_havenot_content 0x7f0d0065 +int string widget_under_visit_mode 0x7f0d0066 +int style HighlightTextAppearancePrimary 0x7f0e0000 +int style HighlightTextAppearanceSecondary 0x7f0e0001 +int style NoteActionBarStyle 0x7f0e0002 +int style NoteTheme 0x7f0e0003 +int style TextAppearance_Compat_Notification 0x7f0e0004 +int style TextAppearance_Compat_Notification_Info 0x7f0e0005 +int style TextAppearance_Compat_Notification_Info_Media 0x7f0e0006 +int style TextAppearance_Compat_Notification_Line2 0x7f0e0007 +int style TextAppearance_Compat_Notification_Line2_Media 0x7f0e0008 +int style TextAppearance_Compat_Notification_Media 0x7f0e0009 +int style TextAppearance_Compat_Notification_Time 0x7f0e000a +int style TextAppearance_Compat_Notification_Time_Media 0x7f0e000b +int style TextAppearance_Compat_Notification_Title 0x7f0e000c +int style TextAppearance_Compat_Notification_Title_Media 0x7f0e000d +int style TextAppearanceLarge 0x7f0e000e +int style TextAppearanceMedium 0x7f0e000f +int style TextAppearanceNormal 0x7f0e0010 +int style TextAppearancePrimaryItem 0x7f0e0011 +int style TextAppearanceSecondaryItem 0x7f0e0012 +int style TextAppearanceSuper 0x7f0e0013 +int style TextAppearanceUnderMenuIcon 0x7f0e0014 +int style Widget_Compat_NotificationActionContainer 0x7f0e0015 +int style Widget_Compat_NotificationActionText 0x7f0e0016 +int[] styleable FontFamily { 0x7f020001, 0x7f020002, 0x7f020003, 0x7f020004, 0x7f020005, 0x7f020006 } +int styleable FontFamily_fontProviderAuthority 0 +int styleable FontFamily_fontProviderCerts 1 +int styleable FontFamily_fontProviderFetchStrategy 2 +int styleable FontFamily_fontProviderFetchTimeout 3 +int styleable FontFamily_fontProviderPackage 4 +int styleable FontFamily_fontProviderQuery 5 +int[] styleable FontFamilyFont { 0x7f020000, 0x7f020007, 0x7f020008 } +int styleable FontFamilyFont_font 0 +int styleable FontFamilyFont_fontStyle 1 +int styleable FontFamilyFont_fontWeight 2 +int xml preferences 0x7f100000 +int xml searchable 0x7f100001 +int xml widget_2x_info 0x7f100002 +int xml widget_4x_info 0x7f100003 diff --git a/src/build/intermediates/signing_config_versions/debug/signing-config-versions.json b/src/build/intermediates/signing_config_versions/debug/signing-config-versions.json new file mode 100644 index 0000000..51f6368 --- /dev/null +++ b/src/build/intermediates/signing_config_versions/debug/signing-config-versions.json @@ -0,0 +1 @@ +{"enableV1Signing":false,"enableV2Signing":true,"enableV3Signing":false,"enableV4Signing":false} \ No newline at end of file diff --git a/src/build/intermediates/source_set_path_map/debug/file-map.txt b/src/build/intermediates/source_set_path_map/debug/file-map.txt new file mode 100644 index 0000000..c2ec69a --- /dev/null +++ b/src/build/intermediates/source_set_path_map/debug/file-map.txt @@ -0,0 +1,12 @@ +net.micode.notes.src-support-compat-26.1.0-0 C:\Users\86184\.gradle\caches\transforms-3\3fbce868597cd2831f9de1bcf84b6b5e\transformed\support-compat-26.1.0\res +net.micode.notes.src-support-media-compat-26.1.0-1 C:\Users\86184\.gradle\caches\transforms-3\5a2618499ad822775ad165665add7846\transformed\support-media-compat-26.1.0\res +net.micode.notes.src-markdown-1.0.5-2 C:\Users\86184\.gradle\caches\transforms-3\c03477ded0ed547d826dbc1cb74d2eaf\transformed\markdown-1.0.5\res +net.micode.notes.src-richtext-3.0.7-3 C:\Users\86184\.gradle\caches\transforms-3\eb9b554a0d2c230b70e3e00422e039fb\transformed\richtext-3.0.7\res +net.micode.notes.src-pngs-4 C:\Users\86184\Desktop\advancedminotes\src\build\generated\res\pngs\debug +net.micode.notes.src-resValues-5 C:\Users\86184\Desktop\advancedminotes\src\build\generated\res\resValues\debug +net.micode.notes.src-rs-6 C:\Users\86184\Desktop\advancedminotes\src\build\generated\res\rs\debug +net.micode.notes.src-mergeDebugResources-7 C:\Users\86184\Desktop\advancedminotes\src\build\intermediates\incremental\debug\mergeDebugResources\merged.dir +net.micode.notes.src-mergeDebugResources-8 C:\Users\86184\Desktop\advancedminotes\src\build\intermediates\incremental\debug\mergeDebugResources\stripped.dir +net.micode.notes.src-merged_res-9 C:\Users\86184\Desktop\advancedminotes\src\build\intermediates\merged_res\debug +net.micode.notes.src-debug-10 C:\Users\86184\Desktop\advancedminotes\src\src\debug\res +net.micode.notes.src-main-11 C:\Users\86184\Desktop\advancedminotes\src\src\main\res diff --git a/src/build/intermediates/stable_resource_ids_file/debug/stableIds.txt b/src/build/intermediates/stable_resource_ids_file/debug/stableIds.txt new file mode 100644 index 0000000..b392a6e --- /dev/null +++ b/src/build/intermediates/stable_resource_ids_file/debug/stableIds.txt @@ -0,0 +1,411 @@ +net.micode.notes:xml/widget_4x_info = 0x7f100003 +net.micode.notes:xml/searchable = 0x7f100001 +net.micode.notes:styleable/FontFamilyFont = 0x7f0f0001 +net.micode.notes:style/Widget.Compat.NotificationActionText = 0x7f0e0016 +net.micode.notes:style/TextAppearanceUnderMenuIcon = 0x7f0e0014 +net.micode.notes:style/TextAppearanceSuper = 0x7f0e0013 +net.micode.notes:style/TextAppearanceNormal = 0x7f0e0010 +net.micode.notes:style/TextAppearanceMedium = 0x7f0e000f +net.micode.notes:style/TextAppearance.Compat.Notification.Time.Media = 0x7f0e000b +net.micode.notes:style/TextAppearance.Compat.Notification.Media = 0x7f0e0009 +net.micode.notes:style/TextAppearanceLarge = 0x7f0e000e +net.micode.notes:style/TextAppearance.Compat.Notification.Info.Media = 0x7f0e0006 +net.micode.notes:style/TextAppearance.Compat.Notification = 0x7f0e0004 +net.micode.notes:style/HighlightTextAppearancePrimary = 0x7f0e0000 +net.micode.notes:id/line3 = 0x7f070030 +net.micode.notes:string/widget_havenot_content = 0x7f0d0065 +net.micode.notes:string/ticker_syncing = 0x7f0d0064 +net.micode.notes:string/ticker_success = 0x7f0d0063 +net.micode.notes:style/HighlightTextAppearanceSecondary = 0x7f0e0001 +net.micode.notes:string/ticker_cancel = 0x7f0d0061 +net.micode.notes:layout/settings_header = 0x7f09001b +net.micode.notes:string/sync_progress_syncing = 0x7f0d0060 +net.micode.notes:string/search_label = 0x7f0d0058 +net.micode.notes:string/preferences_toast_success_set_accout = 0x7f0d0055 +net.micode.notes:string/preferences_toast_cannot_change_account = 0x7f0d0054 +net.micode.notes:string/preferences_title = 0x7f0d0053 +net.micode.notes:style/NoteActionBarStyle = 0x7f0e0002 +net.micode.notes:string/preferences_menu_change_account = 0x7f0d0051 +net.micode.notes:string/preferences_menu_cancel = 0x7f0d0050 +net.micode.notes:layout/note_item = 0x7f090007 +net.micode.notes:id/account_dialog_title = 0x7f070001 +net.micode.notes:string/preferences_last_sync_time = 0x7f0d004e +net.micode.notes:drawable/widget_2x_orange = 0x7f06004d +net.micode.notes:string/preferences_dialog_select_account_title = 0x7f0d004d +net.micode.notes:drawable/delete = 0x7f060004 +net.micode.notes:string/menu_move_parent_folder = 0x7f0d002e +net.micode.notes:string/preferences_button_sync_immediately = 0x7f0d0049 +net.micode.notes:string/preferences_account_summary = 0x7f0d0044 +net.micode.notes:string/app_widget4x4 = 0x7f0d0006 +net.micode.notes:string/success_sdcard_export = 0x7f0d005c +net.micode.notes:dimen/notification_media_narrow_margin = 0x7f05000c +net.micode.notes:id/text = 0x7f070059 +net.micode.notes:string/notelist_string_info = 0x7f0d0043 +net.micode.notes:string/notealert_ok = 0x7f0d0041 +net.micode.notes:string/notealert_enter = 0x7f0d0040 +net.micode.notes:string/note_link_web = 0x7f0d003f +net.micode.notes:style/TextAppearance.Compat.Notification.Time = 0x7f0e000a +net.micode.notes:drawable/notification_bg_normal = 0x7f060040 +net.micode.notes:id/cancel_action = 0x7f07000f +net.micode.notes:string/note_link_tel = 0x7f0d003e +net.micode.notes:string/note_link_other = 0x7f0d003d +net.micode.notes:string/note_alert_expired = 0x7f0d003b +net.micode.notes:drawable/edit_title_red = 0x7f06000d +net.micode.notes:string/menu_sync = 0x7f0d0038 +net.micode.notes:drawable/edit_white = 0x7f060010 +net.micode.notes:menu/call_note_edit = 0x7f0a0000 +net.micode.notes:string/menu_share = 0x7f0d0037 +net.micode.notes:dimen/compat_button_inset_horizontal_material = 0x7f050000 +net.micode.notes:string/menu_select_title = 0x7f0d0034 +net.micode.notes:string/menu_title_select_folder = 0x7f0d003a +net.micode.notes:string/menu_select_all = 0x7f0d0032 +net.micode.notes:layout/notification_template_media_custom = 0x7f090017 +net.micode.notes:string/menu_search = 0x7f0d0031 +net.micode.notes:string/menu_remove_remind = 0x7f0d0030 +net.micode.notes:string/menu_normal_mode = 0x7f0d002f +net.micode.notes:string/menu_move = 0x7f0d002d +net.micode.notes:id/iv_bg_orange = 0x7f070023 +net.micode.notes:string/menu_list_mode = 0x7f0d002c +net.micode.notes:string/menu_font_small = 0x7f0d002a +net.micode.notes:drawable/widget_4x_red = 0x7f060054 +net.micode.notes:string/menu_folder_change_name = 0x7f0d0024 +net.micode.notes:style/TextAppearancePrimaryItem = 0x7f0e0011 +net.micode.notes:plurals/search_results_title = 0x7f0b0000 +net.micode.notes:string/menu_export_text = 0x7f0d0023 +net.micode.notes:string/notelist_menu_new = 0x7f0d0042 +net.micode.notes:string/menu_deselect_all = 0x7f0d0022 +net.micode.notes:style/Widget.Compat.NotificationActionContainer = 0x7f0e0015 +net.micode.notes:string/menu_create_folder = 0x7f0d0020 +net.micode.notes:dimen/notification_large_icon_height = 0x7f050009 +net.micode.notes:string/info_note_enter_desktop = 0x7f0d001e +net.micode.notes:string/format_move_notes_to_folder = 0x7f0d001c +net.micode.notes:string/format_folder_files_count = 0x7f0d001b +net.micode.notes:id/menu_delete_remind = 0x7f070039 +net.micode.notes:string/format_datetime_mdhm = 0x7f0d0019 +net.micode.notes:id/note_edit_list = 0x7f070049 +net.micode.notes:string/format_date_ymd = 0x7f0d0018 +net.micode.notes:string/hint_foler_name = 0x7f0d001d +net.micode.notes:string/folder_exist = 0x7f0d0017 +net.micode.notes:string/failed_sdcard_export = 0x7f0d0014 +net.micode.notes:id/actions = 0x7f070008 +net.micode.notes:string/error_sdcard_unmounted = 0x7f0d0010 +net.micode.notes:string/error_note_not_exist = 0x7f0d000e +net.micode.notes:string/error_note_empty_for_send_to_desktop = 0x7f0d000d +net.micode.notes:string/error_note_empty_for_clock = 0x7f0d000c +net.micode.notes:string/datetime_dialog_ok = 0x7f0d000a +net.micode.notes:drawable/list_red_up = 0x7f06002b +net.micode.notes:string/datetime_dialog_cancel = 0x7f0d0009 +net.micode.notes:string/app_widget2x2 = 0x7f0d0005 +net.micode.notes:id/icon = 0x7f07001a +net.micode.notes:string/app_name = 0x7f0d0004 +net.micode.notes:string/preferences_dialog_change_account_warn_msg = 0x7f0d004b +net.micode.notes:string/alert_message_delete_notes = 0x7f0d0002 +net.micode.notes:layout/note_list_dropdown_menu = 0x7f090009 +net.micode.notes:string/menu_font_normal = 0x7f0d0028 +net.micode.notes:string/format_exported_file_location = 0x7f0d001a +net.micode.notes:raw/introduction = 0x7f0c0000 +net.micode.notes:menu/note_list_dropdown = 0x7f0a0004 +net.micode.notes:menu/note_edit = 0x7f0a0002 +net.micode.notes:string/preferences_bg_random_appear_title = 0x7f0d0047 +net.micode.notes:xml/widget_2x_info = 0x7f100002 +net.micode.notes:layout/widget_2x = 0x7f09001c +net.micode.notes:layout/preview_layout = 0x7f09001a +net.micode.notes:layout/notification_template_part_chronometer = 0x7f090018 +net.micode.notes:layout/notification_template_lines_media = 0x7f090015 +net.micode.notes:layout/notification_template_icon_group = 0x7f090014 +net.micode.notes:layout/notification_template_custom_big = 0x7f090013 +net.micode.notes:layout/notification_template_big_media_narrow_custom = 0x7f090012 +net.micode.notes:drawable/edit_title_white = 0x7f06000e +net.micode.notes:drawable/widget_2x_white = 0x7f06004f +net.micode.notes:layout/datetime_picker = 0x7f090002 +net.micode.notes:layout/notification_template_big_media = 0x7f09000f +net.micode.notes:menu/sub_folder = 0x7f0a0006 +net.micode.notes:layout/notification_media_cancel_action = 0x7f09000e +net.micode.notes:id/date = 0x7f070012 +net.micode.notes:string/menu_sync_cancel = 0x7f0d0039 +net.micode.notes:layout/notification_media_action = 0x7f09000d +net.micode.notes:string/menu_delete = 0x7f0d0021 +net.micode.notes:layout/notification_action_tombstone = 0x7f09000c +net.micode.notes:layout/notification_action = 0x7f09000b +net.micode.notes:layout/note_list = 0x7f090008 +net.micode.notes:drawable/widget_2x_yellow = 0x7f060050 +net.micode.notes:layout/note_edit_list_item = 0x7f090006 +net.micode.notes:string/menu_setting = 0x7f0d0036 +net.micode.notes:layout/note_edit = 0x7f090005 +net.micode.notes:layout/dialog_edit_text = 0x7f090003 +net.micode.notes:string/alert_message_delete_folder = 0x7f0d0000 +net.micode.notes:layout/add_account_text = 0x7f090001 +net.micode.notes:layout/account_dialog_title = 0x7f090000 +net.micode.notes:integer/cancel_button_image_alpha = 0x7f080000 +net.micode.notes:drawable/list_footer_bg = 0x7f06001f +net.micode.notes:id/zhou_default_image_tag_id = 0x7f070066 +net.micode.notes:integer/status_bar_notification_info_maxnum = 0x7f080001 +net.micode.notes:id/widget_text = 0x7f070065 +net.micode.notes:id/tv_title_bar = 0x7f070063 +net.micode.notes:id/action0 = 0x7f070002 +net.micode.notes:id/tv_title = 0x7f070062 +net.micode.notes:id/menu_setting = 0x7f070041 +net.micode.notes:id/tv_name = 0x7f070060 +net.micode.notes:id/action_divider = 0x7f070004 +net.micode.notes:id/tv_folder_name = 0x7f07005e +net.micode.notes:layout/folder_list_item = 0x7f090004 +net.micode.notes:layout/notification_template_big_media_custom = 0x7f090010 +net.micode.notes:id/status_bar_latest_event_content = 0x7f070057 +net.micode.notes:id/selection_menu = 0x7f070056 +net.micode.notes:string/menu_select_none = 0x7f0d0033 +net.micode.notes:id/right_side = 0x7f070055 +net.micode.notes:id/right_icon = 0x7f070054 +net.micode.notes:string/set_remind_time_message = 0x7f0d005a +net.micode.notes:style/TextAppearance.Compat.Notification.Title.Media = 0x7f0e000d +net.micode.notes:id/preview_btn = 0x7f070053 +net.micode.notes:id/action_image = 0x7f070005 +net.micode.notes:string/error_sdcard_export = 0x7f0d000f +net.micode.notes:id/preference_sync_button = 0x7f070052 +net.micode.notes:id/btn_set_text_size = 0x7f07000e +net.micode.notes:string/sync_progress_init_list = 0x7f0d005e +net.micode.notes:id/notification_main_column_container = 0x7f070050 +net.micode.notes:drawable/notification_icon_background = 0x7f060042 +net.micode.notes:id/notification_main_column = 0x7f07004f +net.micode.notes:layout/notification_template_part_time = 0x7f090019 +net.micode.notes:id/iv_small_select = 0x7f07002d +net.micode.notes:id/notification_background = 0x7f07004e +net.micode.notes:id/notes_list = 0x7f07004d +net.micode.notes:id/note_item = 0x7f07004b +net.micode.notes:dimen/notification_main_column_padding_top = 0x7f05000b +net.micode.notes:id/media_actions = 0x7f070036 +net.micode.notes:id/note_bg_color_selector = 0x7f070048 +net.micode.notes:id/navigation_bar = 0x7f070046 +net.micode.notes:id/md_view = 0x7f070035 +net.micode.notes:string/preferences_button_sync_cancel = 0x7f0d0048 +net.micode.notes:string/widget_under_visit_mode = 0x7f0d0066 +net.micode.notes:layout/notification_template_big_media_narrow = 0x7f090011 +net.micode.notes:id/menu_send_to_desktop = 0x7f070040 +net.micode.notes:id/menu_search = 0x7f07003f +net.micode.notes:id/menu_list_mode = 0x7f07003c +net.micode.notes:string/menu_font_size = 0x7f0d0029 +net.micode.notes:string/menu_alert = 0x7f0d001f +net.micode.notes:layout/notification_template_media = 0x7f090016 +net.micode.notes:drawable/edit_title_yellow = 0x7f06000f +net.micode.notes:id/forever = 0x7f070018 +net.micode.notes:id/tv_alert_date = 0x7f07005d +net.micode.notes:id/menu_alert = 0x7f070037 +net.micode.notes:string/success_sync_account = 0x7f0d005d +net.micode.notes:id/ll_font_super = 0x7f070034 +net.micode.notes:id/ll_font_large = 0x7f070031 +net.micode.notes:layout/note_list_footer = 0x7f09000a +net.micode.notes:id/btn_new_note = 0x7f07000c +net.micode.notes:id/line1 = 0x7f07002f +net.micode.notes:drawable/search_result = 0x7f060047 +net.micode.notes:id/iv_super_select = 0x7f07002e +net.micode.notes:dimen/notification_content_margin_start = 0x7f050008 +net.micode.notes:layout/widget_4x = 0x7f09001d +net.micode.notes:id/move = 0x7f070045 +net.micode.notes:color/secondary_text_dark = 0x7f040007 +net.micode.notes:id/iv_bg_yellow_select = 0x7f07002a +net.micode.notes:id/iv_bg_yellow = 0x7f070029 +net.micode.notes:string/error_sync_cancelled = 0x7f0d0011 +net.micode.notes:drawable/title_bar_bg = 0x7f06004a +net.micode.notes:id/iv_bg_white_select = 0x7f070028 +net.micode.notes:dimen/notification_large_icon_width = 0x7f05000a +net.micode.notes:id/iv_bg_white = 0x7f070027 +net.micode.notes:color/btn_color = 0x7f040000 +net.micode.notes:string/menu_font_large = 0x7f0d0027 +net.micode.notes:id/icon_group = 0x7f07001b +net.micode.notes:drawable/widget_4x_blue = 0x7f060051 +net.micode.notes:style/TextAppearanceSecondaryItem = 0x7f0e0012 +net.micode.notes:id/iv_large_select = 0x7f07002b +net.micode.notes:id/widget_bg_image = 0x7f070064 +net.micode.notes:id/iv_bg_green_select = 0x7f070022 +net.micode.notes:id/amPm = 0x7f070009 +net.micode.notes:id/iv_bg_green = 0x7f070021 +net.micode.notes:id/iv_bg_orange_select = 0x7f070024 +net.micode.notes:dimen/compat_button_inset_vertical_material = 0x7f050001 +net.micode.notes:id/delete = 0x7f070013 +net.micode.notes:string/preferences_dialog_select_account_tips = 0x7f0d004c +net.micode.notes:id/font_size_selector = 0x7f070017 +net.micode.notes:id/chronometer = 0x7f070011 +net.micode.notes:styleable/FontFamily = 0x7f0f0000 +net.micode.notes:id/menu_export_text = 0x7f07003a +net.micode.notes:id/iv_medium_select = 0x7f07002c +net.micode.notes:id/btn_set_bg_color = 0x7f07000d +net.micode.notes:id/account_dialog_subtitle = 0x7f070000 +net.micode.notes:attr/fontWeight = 0x7f020008 +net.micode.notes:xml/preferences = 0x7f100000 +net.micode.notes:drawable/font_small = 0x7f060016 +net.micode.notes:id/action_text = 0x7f070007 +net.micode.notes:id/time = 0x7f07005b +net.micode.notes:id/et_edit_text = 0x7f070015 +net.micode.notes:drawable/notification_bg = 0x7f06003c +net.micode.notes:menu/note_list = 0x7f0a0003 +net.micode.notes:id/text2 = 0x7f07005a +net.micode.notes:id/action_container = 0x7f070003 +net.micode.notes:id/italic = 0x7f07001d +net.micode.notes:color/secondary_text_default_material_dark = 0x7f040008 +net.micode.notes:id/ll_font_small = 0x7f070033 +net.micode.notes:id/iv_bg_blue_select = 0x7f070020 +net.micode.notes:string/preferences_dialog_change_account_title = 0x7f0d004a +net.micode.notes:attr/fontProviderQuery = 0x7f020006 +net.micode.notes:drawable/menu_move = 0x7f060035 +net.micode.notes:drawable/widget_4x_white = 0x7f060055 +net.micode.notes:drawable/list_orange_single = 0x7f060026 +net.micode.notes:dimen/text_font_size_medium = 0x7f050015 +net.micode.notes:attr/fontProviderAuthority = 0x7f020001 +net.micode.notes:drawable/widget_4x_orange = 0x7f060053 +net.micode.notes:drawable/widget_2x_green = 0x7f06004c +net.micode.notes:id/note_title = 0x7f07004c +net.micode.notes:id/note_edit_view = 0x7f07004a +net.micode.notes:drawable/list_red_single = 0x7f06002a +net.micode.notes:drawable/title_alert = 0x7f060049 +net.micode.notes:dimen/text_font_size_super = 0x7f050018 +net.micode.notes:drawable/new_note = 0x7f060036 +net.micode.notes:drawable/selected = 0x7f060048 +net.micode.notes:drawable/notification_tile_bg = 0x7f060045 +net.micode.notes:id/info = 0x7f07001c +net.micode.notes:drawable/widget_2x_red = 0x7f06004e +net.micode.notes:id/menu_share = 0x7f070042 +net.micode.notes:drawable/notification_bg_normal_pressed = 0x7f060041 +net.micode.notes:drawable/font_size_selector_bg = 0x7f060015 +net.micode.notes:string/sync_progress_login = 0x7f0d005f +net.micode.notes:id/iv_alert_icon = 0x7f07001e +net.micode.notes:drawable/edit_red = 0x7f060009 +net.micode.notes:drawable/notification_bg_low = 0x7f06003d +net.micode.notes:string/preferences_add_account = 0x7f0d0046 +net.micode.notes:drawable/bg_btn_set_color = 0x7f060000 +net.micode.notes:id/menu_new_folder = 0x7f07003d +net.micode.notes:drawable/notification_action_background = 0x7f06003b +net.micode.notes:id/iv_bg_red_select = 0x7f070026 +net.micode.notes:id/title = 0x7f07005c +net.micode.notes:id/sv_note_edit = 0x7f070058 +net.micode.notes:dimen/notification_action_text_size = 0x7f050006 +net.micode.notes:style/TextAppearance.Compat.Notification.Info = 0x7f0e0005 +net.micode.notes:drawable/list_yellow_up = 0x7f060033 +net.micode.notes:drawable/list_yellow_single = 0x7f060032 +net.micode.notes:drawable/list_yellow_middle = 0x7f060031 +net.micode.notes:drawable/list_green_single = 0x7f060022 +net.micode.notes:drawable/list_yellow_down = 0x7f060030 +net.micode.notes:id/et_foler_name = 0x7f070016 +net.micode.notes:drawable/edit_green = 0x7f060007 +net.micode.notes:drawable/notification = 0x7f06003a +net.micode.notes:drawable/clock = 0x7f060003 +net.micode.notes:drawable/list_white_up = 0x7f06002f +net.micode.notes:drawable/call_record = 0x7f060002 +net.micode.notes:style/TextAppearance.Compat.Notification.Line2.Media = 0x7f0e0008 +net.micode.notes:dimen/notification_top_pad_large_text = 0x7f050013 +net.micode.notes:id/prefenerece_sync_status_textview = 0x7f070051 +net.micode.notes:drawable/edit_blue = 0x7f060006 +net.micode.notes:drawable/list_white_single = 0x7f06002e +net.micode.notes:string/preferences_account_title = 0x7f0d0045 +net.micode.notes:drawable/list_orange_up = 0x7f060027 +net.micode.notes:color/notification_material_background_media_default_color = 0x7f040003 +net.micode.notes:dimen/notification_small_icon_background_padding = 0x7f05000f +net.micode.notes:drawable/list_white_middle = 0x7f06002d +net.micode.notes:color/user_query_highlight = 0x7f04000a +net.micode.notes:style/TextAppearance.Compat.Notification.Line2 = 0x7f0e0007 +net.micode.notes:string/status_bar_notification_info_overflow = 0x7f0d005b +net.micode.notes:drawable/list_white_down = 0x7f06002c +net.micode.notes:drawable/widget_4x_yellow = 0x7f060056 +net.micode.notes:drawable/list_red_middle = 0x7f060029 +net.micode.notes:drawable/list_red_down = 0x7f060028 +net.micode.notes:drawable/list_blue_up = 0x7f06001d +net.micode.notes:drawable/list_orange_middle = 0x7f060025 +net.micode.notes:string/file_path = 0x7f0d0016 +net.micode.notes:drawable/list_orange_down = 0x7f060024 +net.micode.notes:drawable/list_green_middle = 0x7f060021 +net.micode.notes:id/cb_edit_item = 0x7f070010 +net.micode.notes:color/primary_text_default_material_dark = 0x7f040005 +net.micode.notes:drawable/list_blue_down = 0x7f06001a +net.micode.notes:id/tv_time = 0x7f070061 +net.micode.notes:drawable/widget_2x_blue = 0x7f06004b +net.micode.notes:string/alert_title_delete = 0x7f0d0003 +net.micode.notes:drawable/notification_template_icon_bg = 0x7f060043 +net.micode.notes:id/normal = 0x7f070047 +net.micode.notes:array/menu_share_ways = 0x7f010001 +net.micode.notes:drawable/font_size_selector = 0x7f060014 +net.micode.notes:string/call_record_folder_name = 0x7f0d0008 +net.micode.notes:drawable/list_green_up = 0x7f060023 +net.micode.notes:id/minute = 0x7f070044 +net.micode.notes:dimen/compat_button_padding_vertical_material = 0x7f050003 +net.micode.notes:dimen/notification_top_pad = 0x7f050012 +net.micode.notes:drawable/font_normal = 0x7f060013 +net.micode.notes:drawable/font_large = 0x7f060012 +net.micode.notes:string/delete_remind_time_message = 0x7f0d000b +net.micode.notes:drawable/edit_yellow = 0x7f060011 +net.micode.notes:drawable/list_blue_middle = 0x7f06001b +net.micode.notes:string/ticker_fail = 0x7f0d0062 +net.micode.notes:string/file_name_txt_format = 0x7f0d0015 +net.micode.notes:color/notification_action_color_filter = 0x7f040001 +net.micode.notes:menu/note_list_options = 0x7f0a0005 +net.micode.notes:style/TextAppearance.Compat.Notification.Title = 0x7f0e000c +net.micode.notes:drawable/notification_bg_low_pressed = 0x7f06003f +net.micode.notes:attr/fontProviderCerts = 0x7f020002 +net.micode.notes:drawable/edit_title_orange = 0x7f06000c +net.micode.notes:string/menu_folder_view = 0x7f0d0026 +net.micode.notes:id/menu_delete = 0x7f070038 +net.micode.notes:string/menu_font_super = 0x7f0d002b +net.micode.notes:drawable/edit_orange = 0x7f060008 +net.micode.notes:string/alert_message_delete_note = 0x7f0d0001 +net.micode.notes:drawable/icon_app = 0x7f060018 +net.micode.notes:drawable/edit_title_green = 0x7f06000b +net.micode.notes:string/search_hint = 0x7f0d0057 +net.micode.notes:dimen/notification_small_icon_size_as_large = 0x7f050010 +net.micode.notes:id/menu_font_size = 0x7f07003b +net.micode.notes:drawable/bg_color_btn_mask = 0x7f060001 +net.micode.notes:id/menu_new_note = 0x7f07003e +net.micode.notes:drawable/list_green_down = 0x7f060020 +net.micode.notes:string/button_delete = 0x7f0d0007 +net.micode.notes:drawable/new_note_normal = 0x7f060037 +net.micode.notes:string/menu_folder_delete = 0x7f0d0025 +net.micode.notes:drawable/dropdown_icon = 0x7f060005 +net.micode.notes:color/secondary_text_default_material_light = 0x7f040009 +net.micode.notes:dimen/text_font_size_normal = 0x7f050016 +net.micode.notes:dimen/notification_right_side_padding_top = 0x7f05000e +net.micode.notes:drawable/notify_panel_notification_icon_bg = 0x7f060046 +net.micode.notes:id/iv_bg_blue = 0x7f07001f +net.micode.notes:drawable/new_note_pressed = 0x7f060038 +net.micode.notes:dimen/notification_subtext_size = 0x7f050011 +net.micode.notes:drawable/list_background = 0x7f060019 +net.micode.notes:dimen/notification_action_icon_size = 0x7f050005 +net.micode.notes:id/tv_modified_date = 0x7f07005f +net.micode.notes:attr/fontProviderFetchStrategy = 0x7f020003 +net.micode.notes:drawable/notification_template_icon_low_bg = 0x7f060044 +net.micode.notes:string/search_setting_description = 0x7f0d0059 +net.micode.notes:drawable/list_blue_single = 0x7f06001c +net.micode.notes:id/end_padder = 0x7f070014 +net.micode.notes:drawable/notification_bg_low_normal = 0x7f06003e +net.micode.notes:attr/fontStyle = 0x7f020007 +net.micode.notes:drawable/widget_4x_green = 0x7f060052 +net.micode.notes:drawable/edit_title_blue = 0x7f06000a +net.micode.notes:dimen/notification_big_circle_margin = 0x7f050007 +net.micode.notes:drawable/list_folder = 0x7f06001e +net.micode.notes:drawable/menu_delete = 0x7f060034 +net.micode.notes:color/notification_icon_bg_color = 0x7f040002 +net.micode.notes:id/blocking = 0x7f07000b +net.micode.notes:id/async = 0x7f07000a +net.micode.notes:dimen/text_font_size_small = 0x7f050017 +net.micode.notes:string/menu_send_to_desktop = 0x7f0d0035 +net.micode.notes:dimen/compat_control_corner_material = 0x7f050004 +net.micode.notes:string/error_sync_internal = 0x7f0d0012 +net.micode.notes:id/iv_bg_red = 0x7f070025 +net.micode.notes:string/preferences_menu_remove_account = 0x7f0d0052 +net.micode.notes:bool/abc_action_bar_embed_tabs = 0x7f030000 +net.micode.notes:dimen/text_font_size_large = 0x7f050014 +net.micode.notes:menu/call_record_folder = 0x7f0a0001 +net.micode.notes:id/ll_font_normal = 0x7f070032 +net.micode.notes:string/preferences_last_sync_time_format = 0x7f0d004f +net.micode.notes:attr/fontProviderFetchTimeout = 0x7f020004 +net.micode.notes:color/primary_text_dark = 0x7f040004 +net.micode.notes:style/NoteTheme = 0x7f0e0003 +net.micode.notes:drawable/note_edit_color_selector_panel = 0x7f060039 +net.micode.notes:id/hour = 0x7f070019 +net.micode.notes:string/note_link_email = 0x7f0d003c +net.micode.notes:dimen/compat_button_padding_horizontal_material = 0x7f050002 +net.micode.notes:id/menu_sync = 0x7f070043 +net.micode.notes:drawable/font_super = 0x7f060017 +net.micode.notes:color/ripple_material_light = 0x7f040006 +net.micode.notes:string/search = 0x7f0d0056 +net.micode.notes:attr/fontProviderPackage = 0x7f020005 +net.micode.notes:attr/font = 0x7f020000 +net.micode.notes:array/format_for_exported_note = 0x7f010000 +net.micode.notes:id/action_select_all = 0x7f070006 +net.micode.notes:string/error_sync_network = 0x7f0d0013 +net.micode.notes:dimen/notification_right_icon_size = 0x7f05000d diff --git a/src/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt b/src/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt new file mode 100644 index 0000000..9797bab --- /dev/null +++ b/src/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt @@ -0,0 +1,412 @@ +net.micode.notes +array format_for_exported_note +array menu_share_ways +attr font +attr fontProviderAuthority +attr fontProviderCerts +attr fontProviderFetchStrategy +attr fontProviderFetchTimeout +attr fontProviderPackage +attr fontProviderQuery +attr fontStyle +attr fontWeight +bool abc_action_bar_embed_tabs +color btn_color +color notification_action_color_filter +color notification_icon_bg_color +color notification_material_background_media_default_color +color primary_text_dark +color primary_text_default_material_dark +color ripple_material_light +color secondary_text_dark +color secondary_text_default_material_dark +color secondary_text_default_material_light +color user_query_highlight +dimen compat_button_inset_horizontal_material +dimen compat_button_inset_vertical_material +dimen compat_button_padding_horizontal_material +dimen compat_button_padding_vertical_material +dimen compat_control_corner_material +dimen notification_action_icon_size +dimen notification_action_text_size +dimen notification_big_circle_margin +dimen notification_content_margin_start +dimen notification_large_icon_height +dimen notification_large_icon_width +dimen notification_main_column_padding_top +dimen notification_media_narrow_margin +dimen notification_right_icon_size +dimen notification_right_side_padding_top +dimen notification_small_icon_background_padding +dimen notification_small_icon_size_as_large +dimen notification_subtext_size +dimen notification_top_pad +dimen notification_top_pad_large_text +dimen text_font_size_large +dimen text_font_size_medium +dimen text_font_size_normal +dimen text_font_size_small +dimen text_font_size_super +drawable bg_btn_set_color +drawable bg_color_btn_mask +drawable call_record +drawable clock +drawable delete +drawable dropdown_icon +drawable edit_blue +drawable edit_green +drawable edit_orange +drawable edit_red +drawable edit_title_blue +drawable edit_title_green +drawable edit_title_orange +drawable edit_title_red +drawable edit_title_white +drawable edit_title_yellow +drawable edit_white +drawable edit_yellow +drawable font_large +drawable font_normal +drawable font_size_selector +drawable font_size_selector_bg +drawable font_small +drawable font_super +drawable icon_app +drawable list_background +drawable list_blue_down +drawable list_blue_middle +drawable list_blue_single +drawable list_blue_up +drawable list_folder +drawable list_footer_bg +drawable list_green_down +drawable list_green_middle +drawable list_green_single +drawable list_green_up +drawable list_orange_down +drawable list_orange_middle +drawable list_orange_single +drawable list_orange_up +drawable list_red_down +drawable list_red_middle +drawable list_red_single +drawable list_red_up +drawable list_white_down +drawable list_white_middle +drawable list_white_single +drawable list_white_up +drawable list_yellow_down +drawable list_yellow_middle +drawable list_yellow_single +drawable list_yellow_up +drawable menu_delete +drawable menu_move +drawable new_note +drawable new_note_normal +drawable new_note_pressed +drawable note_edit_color_selector_panel +drawable notification +drawable notification_action_background +drawable notification_bg +drawable notification_bg_low +drawable notification_bg_low_normal +drawable notification_bg_low_pressed +drawable notification_bg_normal +drawable notification_bg_normal_pressed +drawable notification_icon_background +drawable notification_template_icon_bg +drawable notification_template_icon_low_bg +drawable notification_tile_bg +drawable notify_panel_notification_icon_bg +drawable search_result +drawable selected +drawable title_alert +drawable title_bar_bg +drawable widget_2x_blue +drawable widget_2x_green +drawable widget_2x_orange +drawable widget_2x_red +drawable widget_2x_white +drawable widget_2x_yellow +drawable widget_4x_blue +drawable widget_4x_green +drawable widget_4x_orange +drawable widget_4x_red +drawable widget_4x_white +drawable widget_4x_yellow +id account_dialog_subtitle +id account_dialog_title +id action0 +id action_container +id action_divider +id action_image +id action_select_all +id action_text +id actions +id amPm +id async +id blocking +id btn_new_note +id btn_set_bg_color +id btn_set_text_size +id cancel_action +id cb_edit_item +id chronometer +id date +id delete +id end_padder +id et_edit_text +id et_foler_name +id font_size_selector +id forever +id hour +id icon +id icon_group +id info +id italic +id iv_alert_icon +id iv_bg_blue +id iv_bg_blue_select +id iv_bg_green +id iv_bg_green_select +id iv_bg_orange +id iv_bg_orange_select +id iv_bg_red +id iv_bg_red_select +id iv_bg_white +id iv_bg_white_select +id iv_bg_yellow +id iv_bg_yellow_select +id iv_large_select +id iv_medium_select +id iv_small_select +id iv_super_select +id line1 +id line3 +id ll_font_large +id ll_font_normal +id ll_font_small +id ll_font_super +id md_view +id media_actions +id menu_alert +id menu_delete +id menu_delete_remind +id menu_export_text +id menu_font_size +id menu_list_mode +id menu_new_folder +id menu_new_note +id menu_search +id menu_send_to_desktop +id menu_setting +id menu_share +id menu_sync +id minute +id move +id navigation_bar +id normal +id note_bg_color_selector +id note_edit_list +id note_edit_view +id note_item +id note_title +id notes_list +id notification_background +id notification_main_column +id notification_main_column_container +id prefenerece_sync_status_textview +id preference_sync_button +id preview_btn +id right_icon +id right_side +id selection_menu +id status_bar_latest_event_content +id sv_note_edit +id text +id text2 +id time +id title +id tv_alert_date +id tv_folder_name +id tv_modified_date +id tv_name +id tv_time +id tv_title +id tv_title_bar +id widget_bg_image +id widget_text +id zhou_default_image_tag_id +integer cancel_button_image_alpha +integer status_bar_notification_info_maxnum +layout account_dialog_title +layout add_account_text +layout datetime_picker +layout dialog_edit_text +layout folder_list_item +layout note_edit +layout note_edit_list_item +layout note_item +layout note_list +layout note_list_dropdown_menu +layout note_list_footer +layout notification_action +layout notification_action_tombstone +layout notification_media_action +layout notification_media_cancel_action +layout notification_template_big_media +layout notification_template_big_media_custom +layout notification_template_big_media_narrow +layout notification_template_big_media_narrow_custom +layout notification_template_custom_big +layout notification_template_icon_group +layout notification_template_lines_media +layout notification_template_media +layout notification_template_media_custom +layout notification_template_part_chronometer +layout notification_template_part_time +layout preview_layout +layout settings_header +layout widget_2x +layout widget_4x +menu call_note_edit +menu call_record_folder +menu note_edit +menu note_list +menu note_list_dropdown +menu note_list_options +menu sub_folder +plurals search_results_title +raw introduction +string alert_message_delete_folder +string alert_message_delete_note +string alert_message_delete_notes +string alert_title_delete +string app_name +string app_widget2x2 +string app_widget4x4 +string button_delete +string call_record_folder_name +string datetime_dialog_cancel +string datetime_dialog_ok +string delete_remind_time_message +string error_note_empty_for_clock +string error_note_empty_for_send_to_desktop +string error_note_not_exist +string error_sdcard_export +string error_sdcard_unmounted +string error_sync_cancelled +string error_sync_internal +string error_sync_network +string failed_sdcard_export +string file_name_txt_format +string file_path +string folder_exist +string format_date_ymd +string format_datetime_mdhm +string format_exported_file_location +string format_folder_files_count +string format_move_notes_to_folder +string hint_foler_name +string info_note_enter_desktop +string menu_alert +string menu_create_folder +string menu_delete +string menu_deselect_all +string menu_export_text +string menu_folder_change_name +string menu_folder_delete +string menu_folder_view +string menu_font_large +string menu_font_normal +string menu_font_size +string menu_font_small +string menu_font_super +string menu_list_mode +string menu_move +string menu_move_parent_folder +string menu_normal_mode +string menu_remove_remind +string menu_search +string menu_select_all +string menu_select_none +string menu_select_title +string menu_send_to_desktop +string menu_setting +string menu_share +string menu_sync +string menu_sync_cancel +string menu_title_select_folder +string note_alert_expired +string note_link_email +string note_link_other +string note_link_tel +string note_link_web +string notealert_enter +string notealert_ok +string notelist_menu_new +string notelist_string_info +string preferences_account_summary +string preferences_account_title +string preferences_add_account +string preferences_bg_random_appear_title +string preferences_button_sync_cancel +string preferences_button_sync_immediately +string preferences_dialog_change_account_title +string preferences_dialog_change_account_warn_msg +string preferences_dialog_select_account_tips +string preferences_dialog_select_account_title +string preferences_last_sync_time +string preferences_last_sync_time_format +string preferences_menu_cancel +string preferences_menu_change_account +string preferences_menu_remove_account +string preferences_title +string preferences_toast_cannot_change_account +string preferences_toast_success_set_accout +string search +string search_hint +string search_label +string search_setting_description +string set_remind_time_message +string status_bar_notification_info_overflow +string success_sdcard_export +string success_sync_account +string sync_progress_init_list +string sync_progress_login +string sync_progress_syncing +string ticker_cancel +string ticker_fail +string ticker_success +string ticker_syncing +string widget_havenot_content +string widget_under_visit_mode +style HighlightTextAppearancePrimary +style HighlightTextAppearanceSecondary +style NoteActionBarStyle +style NoteTheme +style TextAppearance_Compat_Notification +style TextAppearance_Compat_Notification_Info +style TextAppearance_Compat_Notification_Info_Media +style TextAppearance_Compat_Notification_Line2 +style TextAppearance_Compat_Notification_Line2_Media +style TextAppearance_Compat_Notification_Media +style TextAppearance_Compat_Notification_Time +style TextAppearance_Compat_Notification_Time_Media +style TextAppearance_Compat_Notification_Title +style TextAppearance_Compat_Notification_Title_Media +style TextAppearanceLarge +style TextAppearanceMedium +style TextAppearanceNormal +style TextAppearancePrimaryItem +style TextAppearanceSecondaryItem +style TextAppearanceSuper +style TextAppearanceUnderMenuIcon +style Widget_Compat_NotificationActionContainer +style Widget_Compat_NotificationActionText +styleable FontFamily fontProviderAuthority fontProviderCerts fontProviderFetchStrategy fontProviderFetchTimeout fontProviderPackage fontProviderQuery +styleable FontFamilyFont font fontStyle fontWeight +xml preferences +xml searchable +xml widget_2x_info +xml widget_4x_info diff --git a/src/build/intermediates/variant_model/debug/variant_model.json b/src/build/intermediates/variant_model/debug/variant_model.json new file mode 100644 index 0000000..fbfb74a Binary files /dev/null and b/src/build/intermediates/variant_model/debug/variant_model.json differ diff --git a/src/build/outputs/logs/manifest-merger-debug-report.txt b/src/build/outputs/logs/manifest-merger-debug-report.txt new file mode 100644 index 0000000..db246f8 --- /dev/null +++ b/src/build/outputs/logs/manifest-merger-debug-report.txt @@ -0,0 +1,316 @@ +-- Merging decision tree log --- +manifest +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:18:1-160:12 +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:18:1-160:12 +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:18:1-160:12 +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:18:1-160:12 +MERGED from [com.zzhoujay.richtext:richtext:3.0.7] C:\Users\86184\.gradle\caches\transforms-3\eb9b554a0d2c230b70e3e00422e039fb\transformed\richtext-3.0.7\AndroidManifest.xml:2:1-12:12 +MERGED from [com.zzhoujay.markdown:markdown:1.0.5] C:\Users\86184\.gradle\caches\transforms-3\c03477ded0ed547d826dbc1cb74d2eaf\transformed\markdown-1.0.5\AndroidManifest.xml:2:1-14:12 +MERGED from [com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:17:1-31:12 +MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\5a2618499ad822775ad165665add7846\transformed\support-media-compat-26.1.0\AndroidManifest.xml:17:1-31:12 +MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\62601f93809abbec1431915ab9de7ec5\transformed\support-fragment-26.1.0\AndroidManifest.xml:17:1-31:12 +MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\8e60a3d21e5cb3b99779d3eb1051bd7f\transformed\support-core-utils-26.1.0\AndroidManifest.xml:17:1-31:12 +MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fec71a376f8e89a6af24f8eecbce7f7\transformed\support-core-ui-26.1.0\AndroidManifest.xml:17:1-31:12 +MERGED from [com.android.support:support-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fbce868597cd2831f9de1bcf84b6b5e\transformed\support-compat-26.1.0\AndroidManifest.xml:17:1-31:12 +MERGED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:17:1-30:12 +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:18:1-160:12 +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:18:1-160:12 +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:18:1-160:12 + package + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:19:5-31 + INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + android:versionName + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:21:5-30 + INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + xmlns:android + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:18:11-69 + android:versionCode + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:20:5-29 + INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml +uses-permission#android.permission.WRITE_EXTERNAL_STORAGE +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:24:5-81 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:24:22-78 +uses-permission#com.android.launcher.permission.INSTALL_SHORTCUT +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:25:5-88 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:25:22-85 +uses-permission#android.permission.INTERNET +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:26:5-67 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:26:22-64 +uses-permission#android.permission.READ_CONTACTS +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:27:5-72 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:27:22-69 +uses-permission#android.permission.MANAGE_ACCOUNTS +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:28:5-74 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:28:22-71 +uses-permission#android.permission.AUTHENTICATE_ACCOUNTS +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:29:5-80 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:29:22-77 +uses-permission#android.permission.GET_ACCOUNTS +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:30:5-71 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:30:22-68 +uses-permission#android.permission.USE_CREDENTIALS +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:31:5-74 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:31:22-71 +uses-permission#android.permission.RECEIVE_BOOT_COMPLETED +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:32:5-81 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:32:22-78 +application +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:35:5-159:19 +MERGED from [com.zzhoujay.markdown:markdown:1.0.5] C:\Users\86184\.gradle\caches\transforms-3\c03477ded0ed547d826dbc1cb74d2eaf\transformed\markdown-1.0.5\AndroidManifest.xml:12:5-20 +MERGED from [com.zzhoujay.markdown:markdown:1.0.5] C:\Users\86184\.gradle\caches\transforms-3\c03477ded0ed547d826dbc1cb74d2eaf\transformed\markdown-1.0.5\AndroidManifest.xml:12:5-20 +MERGED from [com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\5a2618499ad822775ad165665add7846\transformed\support-media-compat-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\5a2618499ad822775ad165665add7846\transformed\support-media-compat-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\62601f93809abbec1431915ab9de7ec5\transformed\support-fragment-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\62601f93809abbec1431915ab9de7ec5\transformed\support-fragment-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\8e60a3d21e5cb3b99779d3eb1051bd7f\transformed\support-core-utils-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\8e60a3d21e5cb3b99779d3eb1051bd7f\transformed\support-core-utils-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fec71a376f8e89a6af24f8eecbce7f7\transformed\support-core-ui-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fec71a376f8e89a6af24f8eecbce7f7\transformed\support-core-ui-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fbce868597cd2831f9de1bcf84b6b5e\transformed\support-compat-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [com.android.support:support-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fbce868597cd2831f9de1bcf84b6b5e\transformed\support-compat-26.1.0\AndroidManifest.xml:25:5-29:19 +MERGED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:24:5-28:19 +MERGED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:24:5-28:19 + android:label + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:37:9-41 + android:icon + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:36:9-42 +activity#net.micode.notes.ui.activities.NotesListActivity +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:39:9-53:20 + android:label + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:42:13-45 + android:launchMode + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:43:13-43 + android:windowSoftInputMode + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:46:13-52 + android:exported + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:47:13-36 + android:uiOptions + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:45:13-57 + android:configChanges + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:41:13-74 + android:theme + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:44:13-45 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:40:13-60 +intent-filter#action:name:android.intent.action.MAIN+category:name:android.intent.category.LAUNCHER +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:49:13-52:29 +action#android.intent.action.MAIN +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:50:17-69 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:50:25-66 +category#android.intent.category.LAUNCHER +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:51:17-77 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:51:27-74 +activity#net.micode.notes.ui.activities.PreviewActivity +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:54:9-56:20 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:54:19-64 +activity#net.micode.notes.ui.activities.NoteEditActivity +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:58:9-87:20 + android:launchMode + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:61:13-43 + android:exported + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:63:13-36 + android:configChanges + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:60:13-74 + android:theme + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:62:13-45 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:59:13-59 +intent-filter#action:name:android.intent.action.VIEW+category:name:android.intent.category.DEFAULT+data:mimeType:vnd.android.cursor.item/call_note+data:mimeType:vnd.android.cursor.item/text_note +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:65:13-70:29 +action#android.intent.action.VIEW +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:66:17-69 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:66:25-66 +category#android.intent.category.DEFAULT +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:67:17-76 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:67:27-73 +data +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:68:17-78 + android:mimeType + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:68:23-75 +intent-filter#action:name:android.intent.action.INSERT_OR_EDIT+category:name:android.intent.category.DEFAULT+data:mimeType:vnd.android.cursor.item/call_note+data:mimeType:vnd.android.cursor.item/text_note +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:72:13-77:29 +action#android.intent.action.INSERT_OR_EDIT +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:73:17-79 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:73:25-76 +intent-filter#action:name:android.intent.action.SEARCH+category:name:android.intent.category.DEFAULT +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:79:13-82:29 +action#android.intent.action.SEARCH +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:80:17-71 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:80:25-68 +meta-data#android.app.searchable +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:84:13-86:54 + android:resource + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:86:17-51 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:85:17-54 +provider#net.micode.notes.data.NotesProvider +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:90:9-93:43 + android:authorities + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:92:13-47 + android:multiprocess + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:93:13-40 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:91:13-63 +receiver#net.micode.notes.widget.NoteWidgetProvider_2x +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:95:9-108:20 + android:label + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:97:13-50 + android:exported + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:98:13-36 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:96:13-57 +intent-filter#action:name:android.appwidget.action.APPWIDGET_DELETED+action:name:android.appwidget.action.APPWIDGET_UPDATE+action:name:android.intent.action.PRIVACY_MODE_CHANGED +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:99:13-103:29 +action#android.appwidget.action.APPWIDGET_UPDATE +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:100:17-84 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:100:25-81 +action#android.appwidget.action.APPWIDGET_DELETED +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:101:17-85 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:101:25-82 +action#android.intent.action.PRIVACY_MODE_CHANGED +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:102:17-85 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:102:25-82 +meta-data#android.appwidget.provider +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:105:13-107:58 + android:resource + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:107:17-55 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:106:17-58 +receiver#net.micode.notes.widget.NoteWidgetProvider_4x +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:109:9-123:20 + android:label + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:111:13-50 + android:exported + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:112:13-36 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:110:13-57 +receiver#net.micode.notes.ui.AlarmInitReceiver +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:125:9-130:20 + android:exported + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:126:13-36 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:125:19-55 +intent-filter#action:name:android.intent.action.BOOT_COMPLETED +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:127:13-129:29 +action#android.intent.action.BOOT_COMPLETED +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:128:17-79 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:128:25-76 +receiver#net.micode.notes.ui.AlarmReceiver +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:132:9-135:20 + android:process + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:134:13-38 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:133:13-61 +activity#net.micode.notes.ui.activities.AlarmAlertActivity +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:137:9-142:20 + android:label + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:139:13-45 + android:launchMode + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:140:13-48 + android:theme + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:141:13-75 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:138:13-61 +activity#net.micode.notes.ui.activities.NotesPreferenceActivity +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:144:9-149:20 + android:label + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:146:13-54 + android:launchMode + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:147:13-43 + android:theme + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:148:13-60 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:145:13-82 +service#net.micode.notes.gtask.remote.GTaskSyncService +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:151:9-154:19 + android:exported + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:153:13-37 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:152:13-74 +meta-data#android.app.default_searchable +ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:156:9-158:52 + android:value + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:158:13-49 + android:name + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml:157:13-58 +uses-sdk +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml reason: use-sdk injection requested +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml +MERGED from [com.zzhoujay.richtext:richtext:3.0.7] C:\Users\86184\.gradle\caches\transforms-3\eb9b554a0d2c230b70e3e00422e039fb\transformed\richtext-3.0.7\AndroidManifest.xml:8:5-10:41 +MERGED from [com.zzhoujay.richtext:richtext:3.0.7] C:\Users\86184\.gradle\caches\transforms-3\eb9b554a0d2c230b70e3e00422e039fb\transformed\richtext-3.0.7\AndroidManifest.xml:8:5-10:41 +MERGED from [com.zzhoujay.markdown:markdown:1.0.5] C:\Users\86184\.gradle\caches\transforms-3\c03477ded0ed547d826dbc1cb74d2eaf\transformed\markdown-1.0.5\AndroidManifest.xml:8:5-10:41 +MERGED from [com.zzhoujay.markdown:markdown:1.0.5] C:\Users\86184\.gradle\caches\transforms-3\c03477ded0ed547d826dbc1cb74d2eaf\transformed\markdown-1.0.5\AndroidManifest.xml:8:5-10:41 +MERGED from [com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:21:5-23:54 +MERGED from [com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:21:5-23:54 +MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\5a2618499ad822775ad165665add7846\transformed\support-media-compat-26.1.0\AndroidManifest.xml:21:5-23:63 +MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\5a2618499ad822775ad165665add7846\transformed\support-media-compat-26.1.0\AndroidManifest.xml:21:5-23:63 +MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\62601f93809abbec1431915ab9de7ec5\transformed\support-fragment-26.1.0\AndroidManifest.xml:21:5-23:60 +MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\62601f93809abbec1431915ab9de7ec5\transformed\support-fragment-26.1.0\AndroidManifest.xml:21:5-23:60 +MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\8e60a3d21e5cb3b99779d3eb1051bd7f\transformed\support-core-utils-26.1.0\AndroidManifest.xml:21:5-23:61 +MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\8e60a3d21e5cb3b99779d3eb1051bd7f\transformed\support-core-utils-26.1.0\AndroidManifest.xml:21:5-23:61 +MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fec71a376f8e89a6af24f8eecbce7f7\transformed\support-core-ui-26.1.0\AndroidManifest.xml:21:5-23:58 +MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fec71a376f8e89a6af24f8eecbce7f7\transformed\support-core-ui-26.1.0\AndroidManifest.xml:21:5-23:58 +MERGED from [com.android.support:support-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fbce868597cd2831f9de1bcf84b6b5e\transformed\support-compat-26.1.0\AndroidManifest.xml:21:5-23:58 +MERGED from [com.android.support:support-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fbce868597cd2831f9de1bcf84b6b5e\transformed\support-compat-26.1.0\AndroidManifest.xml:21:5-23:58 +MERGED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:20:5-22:41 +MERGED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:20:5-22:41 +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml +INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + tools:overrideLibrary + ADDED from [com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:23:9-51 + android:targetSdkVersion + INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + android:minSdkVersion + INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + ADDED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml + INJECTED from C:\Users\86184\Desktop\advancedminotes\src\src\main\AndroidManifest.xml +meta-data#android.support.VERSION +ADDED from [com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\5a2618499ad822775ad165665add7846\transformed\support-media-compat-26.1.0\AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-media-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\5a2618499ad822775ad165665add7846\transformed\support-media-compat-26.1.0\AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\62601f93809abbec1431915ab9de7ec5\transformed\support-fragment-26.1.0\AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-fragment:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\62601f93809abbec1431915ab9de7ec5\transformed\support-fragment-26.1.0\AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\8e60a3d21e5cb3b99779d3eb1051bd7f\transformed\support-core-utils-26.1.0\AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-core-utils:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\8e60a3d21e5cb3b99779d3eb1051bd7f\transformed\support-core-utils-26.1.0\AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fec71a376f8e89a6af24f8eecbce7f7\transformed\support-core-ui-26.1.0\AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-core-ui:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fec71a376f8e89a6af24f8eecbce7f7\transformed\support-core-ui-26.1.0\AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fbce868597cd2831f9de1bcf84b6b5e\transformed\support-compat-26.1.0\AndroidManifest.xml:26:9-28:38 +MERGED from [com.android.support:support-compat:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\3fbce868597cd2831f9de1bcf84b6b5e\transformed\support-compat-26.1.0\AndroidManifest.xml:26:9-28:38 + android:value + ADDED from [com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:28:13-35 + android:name + ADDED from [com.android.support:support-v4:26.1.0] C:\Users\86184\.gradle\caches\transforms-3\9bfb360aeebd80f9e0e66e28c751ffe0\transformed\support-v4-26.1.0\AndroidManifest.xml:27:13-51 +meta-data#android.arch.lifecycle.VERSION +ADDED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:25:9-27:47 + android:value + ADDED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:27:13-44 + android:name + ADDED from [android.arch.lifecycle:runtime:1.0.0] C:\Users\86184\.gradle\caches\transforms-3\3498486b4a038d39907d0556e3c5bf97\transformed\runtime-1.0.0\AndroidManifest.xml:26:13-58 diff --git a/src/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin b/src/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin new file mode 100644 index 0000000..b91810d Binary files /dev/null and b/src/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin differ diff --git a/src/src/main/AndroidManifest.xml b/src/src/main/AndroidManifest.xml new file mode 100644 index 0000000..fdb032f --- /dev/null +++ b/src/src/main/AndroidManifest.xml @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/src/main/java/net/micode/notes/data/Contact.java b/src/src/main/java/net/micode/notes/data/Contact.java new file mode 100644 index 0000000..b132d43 --- /dev/null +++ b/src/src/main/java/net/micode/notes/data/Contact.java @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.data; + +import android.content.Context; +import android.database.Cursor; +import android.provider.ContactsContract.CommonDataKinds.Phone; +import android.provider.ContactsContract.Data; +import android.telephony.PhoneNumberUtils; +import android.util.Log; + +import java.util.HashMap; + +public class Contact { + private static HashMap sContactCache; + private static final String TAG = "Contact"; + + private static final String CALLER_ID_SELECTION = "PHONE_NUMBERS_EQUAL(" + Phone.NUMBER + + ",?) AND " + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'" + + " AND " + Data.RAW_CONTACT_ID + " IN " + + "(SELECT raw_contact_id " + + " FROM phone_lookup" + + " WHERE min_match = '+')"; + + + /** + * 判断是否存在映射关系 + * 若不存在,创建并存储在哈希表中 + */ + public static String getContact(Context context, String phoneNumber) { + if (sContactCache == null) { + sContactCache = new HashMap(); + } + // 查找HashMap中是否已有phoneNumber信息,如果存在则返回phoneNumber信息 + if (sContactCache.containsKey(phoneNumber)) { + return sContactCache.get(phoneNumber); + } + + /** + * 查找数据库中phoneNumber的信息 + */ + String selection = CALLER_ID_SELECTION.replace("+", + PhoneNumberUtils.toCallerIDMinMatch(phoneNumber)); + Cursor cursor = context.getContentResolver().query( + Data.CONTENT_URI, + new String[]{Phone.DISPLAY_NAME}, + selection, + new String[]{phoneNumber}, + null); + + /** + * 判定查询结果,若不为空,moveToFirst()返回第一条;否则返回空 + */ + if (cursor != null && cursor.moveToFirst()) { + /** + * 找到相关情况时 + */ + try { + String name = cursor.getString(0); + sContactCache.put(phoneNumber, name); + return name; + } + /** + * 异常 + */ + catch (IndexOutOfBoundsException e) { + Log.e(TAG, " Cursor get string error " + e.toString()); + return null; + } finally { + cursor.close(); + } + } else { + Log.d(TAG, "No contact matched with number:" + phoneNumber); + return null; + } + } +} diff --git a/src/src/main/java/net/micode/notes/data/Notes.java b/src/src/main/java/net/micode/notes/data/Notes.java new file mode 100644 index 0000000..949ffab --- /dev/null +++ b/src/src/main/java/net/micode/notes/data/Notes.java @@ -0,0 +1,301 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.data; + +import android.net.Uri; + +/** + * 便签类中包含了一些自定义常量(字符串,整型) + * 抽象了便签列和数据列接口 + * 定义了文本便签、询问便签实现了便签列和数据列接口 + */ +public class Notes { + public static final String AUTHORITY = "micode_notes"; + public static final String TAG = "Notes"; + public static final int TYPE_NOTE = 0; + public static final int TYPE_FOLDER = 1; + public static final int TYPE_SYSTEM = 2; + + /** + * Following IDs are system folders' identifiers + * {@link Notes#ID_ROOT_FOLDER } is default folder + * {@link Notes#ID_TEMPARAY_FOLDER } is for notes belonging no folder + * {@link Notes#ID_CALL_RECORD_FOLDER} is to store call records + */ + public static final int ID_ROOT_FOLDER = 0; + public static final int ID_TEMPARAY_FOLDER = -1; + public static final int ID_CALL_RECORD_FOLDER = -2; + public static final int ID_TRASH_FOLER = -3; + + public static final String INTENT_EXTRA_ALERT_DATE = "net.micode.notes.alert_date"; + public static final String INTENT_EXTRA_BACKGROUND_ID = "net.micode.notes.background_color_id"; + //TODO 此处可能有误 + public static final String INTENT_EXTRA_FONT_SIZE_ID = "net.micode.notes.font_size_id"; + public static final String INTENT_EXTRA_WIDGET_ID = "net.micode.notes.widget_id"; + public static final String INTENT_EXTRA_WIDGET_TYPE = "net.micode.notes.widget_type"; + public static final String INTENT_EXTRA_FOLDER_ID = "net.micode.notes.folder_id"; + public static final String INTENT_EXTRA_CALL_DATE = "net.micode.notes.call_date"; + + public static final int TYPE_WIDGET_INVALIDE = -1; + public static final int TYPE_WIDGET_2X = 0; + public static final int TYPE_WIDGET_4X = 1; + + public static class DataConstants { + public static final String NOTE = TextNote.CONTENT_ITEM_TYPE; + public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE; + } + + /** + * Uri to query all notes and folders + */ + public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note"); + + /** + * Uri to query data + */ + public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data"); + + /** + * 定义了NoteColumns中的常量,将用于后面创建数据库的表头 + */ + public interface NoteColumns { + /** + * The unique ID for a row + *

Type: INTEGER (long)

+ */ + public static final String ID = "_id"; + + /** + * The parent's id for note or folder + *

Type: INTEGER (long)

+ */ + public static final String PARENT_ID = "parent_id"; + + /** + * Created data for note or folder + *

Type: INTEGER (long)

+ */ + public static final String CREATED_DATE = "created_date"; + + /** + * Latest modified date + *

Type: INTEGER (long)

+ */ + public static final String MODIFIED_DATE = "modified_date"; + + + /** + * Alert date + *

Type: INTEGER (long)

+ */ + public static final String ALERTED_DATE = "alert_date"; + + /** + * Folder's name or text content of note + *

Type: TEXT

+ */ + public static final String SNIPPET = "snippet"; + + /** + * Note's widget id + *

Type: INTEGER (long)

+ */ + public static final String WIDGET_ID = "widget_id"; + + /** + * Note's widget type + *

Type: INTEGER (long)

+ */ + public static final String WIDGET_TYPE = "widget_type"; + + /** + * Note's background color's id + *

Type: INTEGER (long)

+ */ + public static final String BG_COLOR_ID = "bg_color_id"; + + public static final String FONT_SIZE_ID = "font_size_id"; + + /** + * For text note, it doesn't has attachment, for multi-media + * note, it has at least one attachment + *

Type: INTEGER

+ */ + public static final String HAS_ATTACHMENT = "has_attachment"; + + /** + * Folder's count of notes + *

Type: INTEGER (long)

+ */ + public static final String NOTES_COUNT = "notes_count"; + + /** + * The file type: folder or note + *

Type: INTEGER

+ */ + public static final String TYPE = "type"; + + /** + * The last sync id + *

Type: INTEGER (long)

+ */ + public static final String SYNC_ID = "sync_id"; + + /** + * Sign to indicate local modified or not + *

Type: INTEGER

+ */ + public static final String LOCAL_MODIFIED = "local_modified"; + + /** + * Original parent id before moving into temporary folder + *

Type : INTEGER

+ */ + public static final String ORIGIN_PARENT_ID = "origin_parent_id"; + + /** + * The gtask id + *

Type : TEXT

+ */ + public static final String GTASK_ID = "gtask_id"; + + /** + * The version code + *

Type : INTEGER (long)

+ */ + public static final String VERSION = "version"; + } + /** + * 以上这些常量主要是用于定义便签的属性 + */ + + public interface DataColumns { + /** + * The unique ID for a row + *

Type: INTEGER (long)

+ */ + public static final String ID = "_id"; + + /** + * The MIME type of the item represented by this row. + *

Type: Text

+ */ + public static final String MIME_TYPE = "mime_type"; + + /** + * The reference id to note that this data belongs to + *

Type: INTEGER (long)

+ */ + public static final String NOTE_ID = "note_id"; + + /** + * Created data for note or folder + *

Type: INTEGER (long)

+ */ + public static final String CREATED_DATE = "created_date"; + + /** + * Latest modified date + *

Type: INTEGER (long)

+ */ + public static final String MODIFIED_DATE = "modified_date"; + + /** + * Data's content + *

Type: TEXT

+ */ + public static final String CONTENT = "content"; + + + /** + * Generic data column, the meaning is MIMETYPE specific, used for + * integer data type + *

Type: INTEGER

+ */ + public static final String DATA1 = "data1"; + + /** + * Generic data column, the meaning is MIMETYPE specific, used for + * integer data type + *

Type: INTEGER

+ */ + public static final String DATA2 = "data2"; + + /** + * Generic data column, the meaning is MIMETYPE specific, used for + * TEXT data type + *

Type: TEXT

+ */ + public static final String DATA3 = "data3"; + + /** + * Generic data column, the meaning is MIMETYPE specific, used for + * TEXT data type + *

Type: TEXT

+ */ + public static final String DATA4 = "data4"; + + /** + * Generic data column, the meaning is MIMETYPE specific, used for + * TEXT data type + *

Type: TEXT

+ */ + public static final String DATA5 = "data5"; + }/** + * 以上DATA主要是定义存储便签内容数据 + */ + + public static final class TextNote implements DataColumns { + /** + * Mode to indicate the text in check list mode or not + *

Type: Integer 1:check list mode 0: normal mode

+ */ + public static final String MODE = DATA1; + + public static final int MODE_CHECK_LIST = 1; + + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/text_note"; + + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/text_note"; + + public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note"); + }/** + * 文本内容的数据结构 + */ + + public static final class CallNote implements DataColumns { + /** + * Call date for this record + *

Type: INTEGER (long)

+ */ + public static final String CALL_DATE = DATA1; + + /** + * Phone number for this record + *

Type: TEXT

+ */ + public static final String PHONE_NUMBER = DATA3; + + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/call_note"; + + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/call_note"; + + public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note"); + }/** + * 电话内容的数据结构 + */ +} diff --git a/src/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java b/src/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java new file mode 100644 index 0000000..cd47b3c --- /dev/null +++ b/src/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java @@ -0,0 +1,392 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.data; + +import android.content.ContentValues; +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import android.util.Log; + +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; + +/** + *数据库操作,对一些note和文件进行数据库的操作。 + */ +public class NotesDatabaseHelper extends SQLiteOpenHelper { + private static final String DB_NAME = "note.db"; + + private static final int DB_VERSION = 4; + + public interface TABLE { + public static final String NOTE = "note"; + + public static final String DATA = "data"; + } + + private static final String TAG = "NotesDatabaseHelper"; + + private static NotesDatabaseHelper mInstance; + + /** + * 创建数据库中需要存储的项目的名称 + */ + private static final String CREATE_NOTE_TABLE_SQL = + "CREATE TABLE " + TABLE.NOTE + "(" + + NoteColumns.ID + " INTEGER PRIMARY KEY," + + NoteColumns.PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.ALERTED_DATE + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.BG_COLOR_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.FONT_SIZE_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + NoteColumns.HAS_ATTACHMENT + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + NoteColumns.NOTES_COUNT + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.SNIPPET + " TEXT NOT NULL DEFAULT ''," + + NoteColumns.TYPE + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.WIDGET_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.WIDGET_TYPE + " INTEGER NOT NULL DEFAULT -1," + + NoteColumns.SYNC_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.LOCAL_MODIFIED + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.ORIGIN_PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.GTASK_ID + " TEXT NOT NULL DEFAULT ''," + + NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0" + + ")"; + + /** + * 功能同上,但存储的项目类型不同 + */ + private static final String CREATE_DATA_TABLE_SQL = + "CREATE TABLE " + TABLE.DATA + "(" + + DataColumns.ID + " INTEGER PRIMARY KEY," + + DataColumns.MIME_TYPE + " TEXT NOT NULL," + + DataColumns.NOTE_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + DataColumns.CONTENT + " TEXT NOT NULL DEFAULT ''," + + DataColumns.DATA1 + " INTEGER," + + DataColumns.DATA2 + " INTEGER," + + DataColumns.DATA3 + " TEXT NOT NULL DEFAULT ''," + + DataColumns.DATA4 + " TEXT NOT NULL DEFAULT ''," + + DataColumns.DATA5 + " TEXT NOT NULL DEFAULT ''" + + ")"; + + /** + * 创建用来存储便签编号的数据表格 + */ + private static final String CREATE_DATA_NOTE_ID_INDEX_SQL = + "CREATE INDEX IF NOT EXISTS note_id_index ON " + + TABLE.DATA + "(" + DataColumns.NOTE_ID + ");"; + + /** + * Increase folder's note count when move note to the folder + * 在文件夹中移入一个Note之后需要更改的数据的表格。 + */ + private static final String NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER = + "CREATE TRIGGER increase_folder_count_on_update " + + " AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE + + " BEGIN " + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + " + 1" + + " WHERE " + NoteColumns.ID + "=new." + NoteColumns.PARENT_ID + ";" + + " END"; + + /** + * Decrease folder's note count when move note from folder + * 在文件夹中移出一个Note之后需要更改的数据的表格。 + */ + private static final String NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER = + "CREATE TRIGGER decrease_folder_count_on_update " + + " AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE + + " BEGIN " + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + "-1" + + " WHERE " + NoteColumns.ID + "=old." + NoteColumns.PARENT_ID + + " AND " + NoteColumns.NOTES_COUNT + ">0" + ";" + + " END"; + + /** + * Increase folder's note count when insert new note to the folder + * 在文件夹中插入一个Note之后需要更改的数据的表格。 + */ + private static final String NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER = + "CREATE TRIGGER increase_folder_count_on_insert " + + " AFTER INSERT ON " + TABLE.NOTE + + " BEGIN " + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + " + 1" + + " WHERE " + NoteColumns.ID + "=new." + NoteColumns.PARENT_ID + ";" + + " END"; + + /** + * Decrease folder's note count when delete note from the folder + * 在文件夹中删除一个Note之后需要更改的数据的表格。 + */ + private static final String NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER = + "CREATE TRIGGER decrease_folder_count_on_delete " + + " AFTER DELETE ON " + TABLE.NOTE + + " BEGIN " + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + "-1" + + " WHERE " + NoteColumns.ID + "=old." + NoteColumns.PARENT_ID + + " AND " + NoteColumns.NOTES_COUNT + ">0;" + + " END"; + + /** + * Update note's content when insert data with type {@link DataConstants#NOTE} + * 在文件夹中对一个Note导入新的数据之后需要更改的数据的表格。 + */ + private static final String DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER = + "CREATE TRIGGER update_note_content_on_insert " + + " AFTER INSERT ON " + TABLE.DATA + + " WHEN new." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + + " BEGIN" + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.SNIPPET + "=new." + DataColumns.CONTENT + + " WHERE " + NoteColumns.ID + "=new." + DataColumns.NOTE_ID + ";" + + " END"; + + /** + * Update note's content when data with {@link DataConstants#NOTE} type has changed + * Note数据被修改后需要更改的数据的表格。 + */ + private static final String DATA_UPDATE_NOTE_CONTENT_ON_UPDATE_TRIGGER = + "CREATE TRIGGER update_note_content_on_update " + + " AFTER UPDATE ON " + TABLE.DATA + + " WHEN old." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + + " BEGIN" + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.SNIPPET + "=new." + DataColumns.CONTENT + + " WHERE " + NoteColumns.ID + "=new." + DataColumns.NOTE_ID + ";" + + " END"; + + /** + * Update note's content when data with {@link DataConstants#NOTE} type has deleted + * Note数据被删除后需要更改的数据的表格 + */ + private static final String DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER = + "CREATE TRIGGER update_note_content_on_delete " + + " AFTER delete ON " + TABLE.DATA + + " WHEN old." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + + " BEGIN" + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.SNIPPET + "=''" + + " WHERE " + NoteColumns.ID + "=old." + DataColumns.NOTE_ID + ";" + + " END"; + + /** + * Delete datas belong to note which has been deleted + * 删除已删除的便签的数据后需要更改的数据的表格。 + */ + private static final String NOTE_DELETE_DATA_ON_DELETE_TRIGGER = + "CREATE TRIGGER delete_data_on_delete " + + " AFTER DELETE ON " + TABLE.NOTE + + " BEGIN" + + " DELETE FROM " + TABLE.DATA + + " WHERE " + DataColumns.NOTE_ID + "=old." + NoteColumns.ID + ";" + + " END"; + + /** + * Delete notes belong to folder which has been deleted + * 删除已删除的文件夹的便签后需要更改的数据的表格。 + */ + private static final String FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER = + "CREATE TRIGGER folder_delete_notes_on_delete " + + " AFTER DELETE ON " + TABLE.NOTE + + " BEGIN" + + " DELETE FROM " + TABLE.NOTE + + " WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" + + " END"; + + /** + * Move notes belong to folder which has been moved to trash folder + */ + private static final String FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER = + "CREATE TRIGGER folder_move_notes_on_trash " + + " AFTER UPDATE ON " + TABLE.NOTE + + " WHEN new." + NoteColumns.PARENT_ID + "=" + Notes.ID_TRASH_FOLER + + " BEGIN" + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.PARENT_ID + "=" + Notes.ID_TRASH_FOLER + + " WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" + + " END"; + + public NotesDatabaseHelper(Context context) { + super(context, DB_NAME, null, DB_VERSION); + }/**构造函数,传入数据库的名称和版本*/ + + /** + *创建表格(用来存储标签属性) + */ + public void createNoteTable(SQLiteDatabase db) { + db.execSQL(CREATE_NOTE_TABLE_SQL); + reCreateNoteTableTriggers(db); + createSystemFolder(db); + Log.d(TAG, "note table has been created"); + } + + /** + * 用来重新创建上述定义的表格用的,先删除原来有的数据库的触发器再重新创建新的数据库 + */ + private void reCreateNoteTableTriggers(SQLiteDatabase db) { + db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_update"); + db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_update"); + db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_delete"); + db.execSQL("DROP TRIGGER IF EXISTS delete_data_on_delete"); + db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_insert"); + db.execSQL("DROP TRIGGER IF EXISTS folder_delete_notes_on_delete"); + db.execSQL("DROP TRIGGER IF EXISTS folder_move_notes_on_trash"); + + db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER); + db.execSQL(NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER); + db.execSQL(NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER); + db.execSQL(NOTE_DELETE_DATA_ON_DELETE_TRIGGER); + db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER); + db.execSQL(FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER); + db.execSQL(FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER); + } + + private void createSystemFolder(SQLiteDatabase db) { + ContentValues values = new ContentValues(); + + /** + * call record foler for call notes + */ + values.put(NoteColumns.ID, Notes.ID_CALL_RECORD_FOLDER); + values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + db.insert(TABLE.NOTE, null, values); + + /** + * root folder which is default folder + */ + values.clear(); + values.put(NoteColumns.ID, Notes.ID_ROOT_FOLDER); + values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + db.insert(TABLE.NOTE, null, values); + + /** + * temporary folder which is used for moving note + */ + values.clear(); + values.put(NoteColumns.ID, Notes.ID_TEMPARAY_FOLDER); + values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + db.insert(TABLE.NOTE, null, values); + + /** + * create trash folder + */ + values.clear(); + values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER); + values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + db.insert(TABLE.NOTE, null, values); + } + + public void createDataTable(SQLiteDatabase db) { + db.execSQL(CREATE_DATA_TABLE_SQL); + reCreateDataTableTriggers(db); + db.execSQL(CREATE_DATA_NOTE_ID_INDEX_SQL); + Log.d(TAG, "data table has been created"); + } + + private void reCreateDataTableTriggers(SQLiteDatabase db) { + db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_insert"); + db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_update"); + db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_delete"); + + db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER); + db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_UPDATE_TRIGGER); + db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER); + } + + static synchronized NotesDatabaseHelper getInstance(Context context) { + if (mInstance == null) { + mInstance = new NotesDatabaseHelper(context); + } + return mInstance; + } + + /** + * 实现上面创建的两个表格 + */ + @Override + public void onCreate(SQLiteDatabase db) { + createNoteTable(db); + createDataTable(db); + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + boolean reCreateTriggers = false; + boolean skipV2 = false; + + if (oldVersion == 1) { + upgradeToV2(db); + skipV2 = true; // this upgrade including the upgrade from v2 to v3 + oldVersion++; + } + + if (oldVersion == 2 && !skipV2) { + upgradeToV3(db); + reCreateTriggers = true; + oldVersion++; + } + + if (oldVersion == 3) { + upgradeToV4(db); + oldVersion++; + } + + if (reCreateTriggers) { + reCreateNoteTableTriggers(db); + reCreateDataTableTriggers(db); + } + + if (oldVersion != newVersion) { + throw new IllegalStateException("Upgrade notes database to version " + newVersion + + "fails"); + } + } + + private void upgradeToV2(SQLiteDatabase db) { + db.execSQL("DROP TABLE IF EXISTS " + TABLE.NOTE); + db.execSQL("DROP TABLE IF EXISTS " + TABLE.DATA); + createNoteTable(db); + createDataTable(db); + } + + private void upgradeToV3(SQLiteDatabase db) { + // drop unused triggers + db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_insert"); + db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_delete"); + db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_update"); + // add a column for gtask id + db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_ID + + " TEXT NOT NULL DEFAULT ''"); + // add a trash system folder + ContentValues values = new ContentValues(); + values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER); + values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + db.insert(TABLE.NOTE, null, values); + } + + private void upgradeToV4(SQLiteDatabase db) { + db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.VERSION + + " INTEGER NOT NULL DEFAULT 0"); + } +} diff --git a/src/src/main/java/net/micode/notes/data/NotesProvider.java b/src/src/main/java/net/micode/notes/data/NotesProvider.java new file mode 100644 index 0000000..b0f43a0 --- /dev/null +++ b/src/src/main/java/net/micode/notes/data/NotesProvider.java @@ -0,0 +1,336 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.data; + + +import android.app.SearchManager; +import android.content.ContentProvider; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Intent; +import android.content.UriMatcher; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.net.Uri; +import android.text.TextUtils; +import android.util.Log; + +import net.micode.notes.R; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.data.NotesDatabaseHelper.TABLE; + + +/** + * 为存储和获取数据提供接口。可以在不同的应用程序之间共享数据 + * ContentProvider提供的方法 + * query:查询 + * insert:插入 + * update:更新 + * delete:删除 + * getType:得到数据类型 + */ +public class NotesProvider extends ContentProvider { + private static final UriMatcher mMatcher; + + private NotesDatabaseHelper mHelper; + + private static final String TAG = "NotesProvider"; + + private static final int URI_NOTE = 1; + private static final int URI_NOTE_ITEM = 2; + private static final int URI_DATA = 3; + private static final int URI_DATA_ITEM = 4; + + private static final int URI_SEARCH = 5; + private static final int URI_SEARCH_SUGGEST = 6; + + static { + mMatcher = new UriMatcher(UriMatcher.NO_MATCH); + mMatcher.addURI(Notes.AUTHORITY, "note", URI_NOTE); + mMatcher.addURI(Notes.AUTHORITY, "note/#", URI_NOTE_ITEM); + mMatcher.addURI(Notes.AUTHORITY, "data", URI_DATA); + mMatcher.addURI(Notes.AUTHORITY, "data/#", URI_DATA_ITEM); + mMatcher.addURI(Notes.AUTHORITY, "search", URI_SEARCH); + mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY, URI_SEARCH_SUGGEST); + mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY + "/*", URI_SEARCH_SUGGEST); + } + + /** + * x'0A' represents the '\n' character in sqlite. For title and content in the search result, + * we will trim '\n' and white space in order to show more information. + */ + private static final String NOTES_SEARCH_PROJECTION = NoteColumns.ID + "," + + NoteColumns.ID + " AS " + SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA + "," + + "TRIM(REPLACE(" + NoteColumns.SNIPPET + ", x'0A','')) AS " + SearchManager.SUGGEST_COLUMN_TEXT_1 + "," + + "TRIM(REPLACE(" + NoteColumns.SNIPPET + ", x'0A','')) AS " + SearchManager.SUGGEST_COLUMN_TEXT_2 + "," + + R.drawable.search_result + " AS " + SearchManager.SUGGEST_COLUMN_ICON_1 + "," + + "'" + Intent.ACTION_VIEW + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_ACTION + "," + + "'" + Notes.TextNote.CONTENT_TYPE + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA; + + private static String NOTES_SNIPPET_SEARCH_QUERY = "SELECT " + NOTES_SEARCH_PROJECTION + + " FROM " + TABLE.NOTE + + " WHERE " + NoteColumns.SNIPPET + " LIKE ?" + + " AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER + + " AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE; + + /** + * 只在onCreate()中初始化Context + * 对mHelper进行实例化 + */ + @Override + public boolean onCreate() { + mHelper = NotesDatabaseHelper.getInstance(getContext()); + return true; + } + + /** + *查询uri在数据库中对应的位置 + */ + @Override + public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, + String sortOrder) { + Cursor c = null; + SQLiteDatabase db = mHelper.getReadableDatabase(); + String id = null; + switch (mMatcher.match(uri)) { + case URI_NOTE: + c = db.query(TABLE.NOTE, projection, selection, selectionArgs, null, null, + sortOrder); + break; + case URI_NOTE_ITEM: + id = uri.getPathSegments().get(1); + c = db.query(TABLE.NOTE, projection, NoteColumns.ID + "=" + id + + parseSelection(selection), selectionArgs, null, null, sortOrder); + break; + case URI_DATA: + c = db.query(TABLE.DATA, projection, selection, selectionArgs, null, null, + sortOrder); + break; + case URI_DATA_ITEM: + id = uri.getPathSegments().get(1); + c = db.query(TABLE.DATA, projection, DataColumns.ID + "=" + id + + parseSelection(selection), selectionArgs, null, null, sortOrder); + break; + case URI_SEARCH: + case URI_SEARCH_SUGGEST: + /** + * 不合法的参数异常 + */ + if (sortOrder != null || projection != null) { + throw new IllegalArgumentException( + "do not specify sortOrder, selection, selectionArgs, or projection" + "with this query"); + } + + String searchString = null; + if (mMatcher.match(uri) == URI_SEARCH_SUGGEST) { + if (uri.getPathSegments().size() > 1) { + searchString = uri.getPathSegments().get(1); + } + } else { + searchString = uri.getQueryParameter("pattern"); + } + + if (TextUtils.isEmpty(searchString)) { + return null; + } + + try { + searchString = String.format("%%%s%%", searchString); + c = db.rawQuery(NOTES_SNIPPET_SEARCH_QUERY, + new String[]{searchString}); + } catch (IllegalStateException ex) { + Log.e(TAG, "got exception: " + ex.toString()); + } + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + if (c != null) { + c.setNotificationUri(getContext().getContentResolver(), uri); + } + return c; + } + + /** + * 插入一个uri + */ + @Override + public Uri insert(Uri uri, ContentValues values) { + SQLiteDatabase db = mHelper.getWritableDatabase(); + long dataId = 0, noteId = 0, insertedId = 0; + switch (mMatcher.match(uri)) { + case URI_NOTE: + insertedId = noteId = db.insert(TABLE.NOTE, null, values); + break; + case URI_DATA: + if (values.containsKey(DataColumns.NOTE_ID)) { + noteId = values.getAsLong(DataColumns.NOTE_ID); + } else { + Log.d(TAG, "Wrong data format without note id:" + values.toString()); + } + insertedId = dataId = db.insert(TABLE.DATA, null, values); + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + // Notify the note uri + if (noteId > 0) { + getContext().getContentResolver().notifyChange( + ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), null); + } + + // Notify the data uri + if (dataId > 0) { + getContext().getContentResolver().notifyChange( + ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), null); + } + + return ContentUris.withAppendedId(uri, insertedId); + } + + /** + * 删除一个uri + */ + @Override + public int delete(Uri uri, String selection, String[] selectionArgs) { + int count = 0; + String id = null; + SQLiteDatabase db = mHelper.getWritableDatabase(); + boolean deleteData = false; + switch (mMatcher.match(uri)) { + case URI_NOTE: + selection = "(" + selection + ") AND " + NoteColumns.ID + ">0 "; + count = db.delete(TABLE.NOTE, selection, selectionArgs); + break; + case URI_NOTE_ITEM: + id = uri.getPathSegments().get(1); + /** + * ID that smaller than 0 is system folder which is not allowed to + * trash + */ + long noteId = Long.valueOf(id); + if (noteId <= 0) { + break; + } + count = db.delete(TABLE.NOTE, + NoteColumns.ID + "=" + id + parseSelection(selection), selectionArgs); + break; + case URI_DATA: + count = db.delete(TABLE.DATA, selection, selectionArgs); + deleteData = true; + break; + case URI_DATA_ITEM: + id = uri.getPathSegments().get(1); + count = db.delete(TABLE.DATA, + DataColumns.ID + "=" + id + parseSelection(selection), selectionArgs); + deleteData = true; + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + if (count > 0) { + if (deleteData) { + getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null); + } + getContext().getContentResolver().notifyChange(uri, null); + } + return count; + } + + /** + * 更新一个uri + */ + @Override + public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { + int count = 0; + String id = null; + SQLiteDatabase db = mHelper.getWritableDatabase(); + boolean updateData = false; + switch (mMatcher.match(uri)) { + case URI_NOTE: + increaseNoteVersion(-1, selection, selectionArgs); + count = db.update(TABLE.NOTE, values, selection, selectionArgs); + break; + case URI_NOTE_ITEM: + id = uri.getPathSegments().get(1); + increaseNoteVersion(Long.valueOf(id), selection, selectionArgs); + count = db.update(TABLE.NOTE, values, NoteColumns.ID + "=" + id + + parseSelection(selection), selectionArgs); + break; + case URI_DATA: + count = db.update(TABLE.DATA, values, selection, selectionArgs); + updateData = true; + break; + case URI_DATA_ITEM: + id = uri.getPathSegments().get(1); + count = db.update(TABLE.DATA, values, DataColumns.ID + "=" + id + + parseSelection(selection), selectionArgs); + updateData = true; + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + + if (count > 0) { + if (updateData) { + getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null); + } + getContext().getContentResolver().notifyChange(uri, null); + } + return count; + } + + /** + *将字符串解析成规定格式 + */ + private String parseSelection(String selection) { + return (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : ""); + } + + private void increaseNoteVersion(long id, String selection, String[] selectionArgs) { + StringBuilder sql = new StringBuilder(120); + sql.append("UPDATE "); + sql.append(TABLE.NOTE); + sql.append(" SET "); + sql.append(NoteColumns.VERSION); + sql.append("=" + NoteColumns.VERSION + "+1 "); + + if (id > 0 || !TextUtils.isEmpty(selection)) { + sql.append(" WHERE "); + } + if (id > 0) { + sql.append(NoteColumns.ID + "=" + String.valueOf(id)); + } + if (!TextUtils.isEmpty(selection)) { + String selectString = id > 0 ? parseSelection(selection) : selection; + for (String args : selectionArgs) { + selectString = selectString.replaceFirst("\\?", args); + } + sql.append(selectString); + } + /** execSQL()方法可以执行insert、delete、update和CREATE TABLE之类有更改行为的SQL语句 */ + mHelper.getWritableDatabase().execSQL(sql.toString()); + } + + @Override + public String getType(Uri uri) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/src/main/java/net/micode/notes/gtask/data/MetaData.java b/src/src/main/java/net/micode/notes/gtask/data/MetaData.java new file mode 100644 index 0000000..2fb1601 --- /dev/null +++ b/src/src/main/java/net/micode/notes/gtask/data/MetaData.java @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.database.Cursor; +import android.util.Log; + +import net.micode.notes.tool.GTaskStringUtils; + +import org.json.JSONException; +import org.json.JSONObject; + + +public class MetaData extends Task { + /* + * 功能:得到类的简称存入字符串TAG中 + * 过程:调用getSimpleName ()函数 + */ + private final static String TAG = MetaData.class.getSimpleName(); + + private String mRelatedGid = null; + /* + * 功能:设置数据,即生成元数据库 + * 过程:调用JSONObject库函数put (),Task类中的setNotes ()和setName ()函数 + */ + public void setMeta(String gid, JSONObject metaInfo) { + try { + metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid); + /* + * 将这对键值放入metaInfo这个jsonobject对象中 + */ + } catch (JSONException e) { + Log.e(TAG, "failed to put related gid"); + /* + * 输出错误信息 + */ + } + setNotes(metaInfo.toString()); + setName(GTaskStringUtils.META_NOTE_NAME); + } + /* + * 功能:获取相关联的Gid + */ + public String getRelatedGid() { + return mRelatedGid; + } + /* + * 功能:判断当前数据是否为空,若为空则返回真即值得保存 + */ + @Override + public boolean isWorthSaving() { + return getNotes() != null; + } + /* + * 功能:使用远程json数据对象设置元数据内容 + * 过程:调用父类Task中的setContentByRemoteJSON ()函数来通过远程JSON来设置目录 + */ + @Override + public void setContentByRemoteJSON(JSONObject js) { + super.setContentByRemoteJSON(js); + if (getNotes() != null) { + try { + JSONObject metaInfo = new JSONObject(getNotes().trim()); + mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID); + } catch (JSONException e) { + Log.w(TAG, "failed to get related gid"); + /* + * 输出警告信息 + */ + mRelatedGid = null; + } + } + } + + @Override + public void setContentByLocalJSON(JSONObject js) { + // this function should not be called + throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called"); + } + /* + * 异常:传递了非法参数 + */ + @Override + public JSONObject getLocalJSONFromContent() { + throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called"); + } + /* + * 功能:获取同步动作状态,一般不会用到,若用到,则抛出异常 + */ + @Override + public int getSyncAction(Cursor c) { + throw new IllegalAccessError("MetaData:getSyncAction should not be called"); + } + /* + * 异常:传递了非法参数 + */ +} diff --git a/src/src/main/java/net/micode/notes/gtask/data/Node.java b/src/src/main/java/net/micode/notes/gtask/data/Node.java new file mode 100644 index 0000000..31f5be8 --- /dev/null +++ b/src/src/main/java/net/micode/notes/gtask/data/Node.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.database.Cursor; + +import org.json.JSONObject; + +/** + * 定义了一些有关同步操作的常量,Node为同步操作的基础类 + */ +public abstract class Node { + public static final int SYNC_ACTION_NONE = 0; + + public static final int SYNC_ACTION_ADD_REMOTE = 1; + + public static final int SYNC_ACTION_ADD_LOCAL = 2; + + public static final int SYNC_ACTION_DEL_REMOTE = 3; + + public static final int SYNC_ACTION_DEL_LOCAL = 4; + + public static final int SYNC_ACTION_UPDATE_REMOTE = 5; + + public static final int SYNC_ACTION_UPDATE_LOCAL = 6; + + public static final int SYNC_ACTION_UPDATE_CONFLICT = 7; + + public static final int SYNC_ACTION_ERROR = 8; + + private String mGid; + + private String mName; + + private long mLastModified; + + private boolean mDeleted; + + public Node() { + mGid = null; + mName = ""; + mLastModified = 0; + mDeleted = false; + } + + public abstract JSONObject getCreateAction(int actionId); + + public abstract JSONObject getUpdateAction(int actionId); + + public abstract void setContentByRemoteJSON(JSONObject js); + + public abstract void setContentByLocalJSON(JSONObject js); + + public abstract JSONObject getLocalJSONFromContent(); + + public abstract int getSyncAction(Cursor c); + + public void setGid(String gid) { + this.mGid = gid; + } + + public void setName(String name) { + this.mName = name; + } + + public void setLastModified(long lastModified) { + this.mLastModified = lastModified; + } + + public void setDeleted(boolean deleted) { + this.mDeleted = deleted; + } + + public String getGid() { + return this.mGid; + } + + public String getName() { + return this.mName; + } + + public long getLastModified() { + return this.mLastModified; + } + + public boolean getDeleted() { + return this.mDeleted; + } + +} diff --git a/src/src/main/java/net/micode/notes/gtask/data/SqlData.java b/src/src/main/java/net/micode/notes/gtask/data/SqlData.java new file mode 100644 index 0000000..72871ea --- /dev/null +++ b/src/src/main/java/net/micode/notes/gtask/data/SqlData.java @@ -0,0 +1,191 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.content.ContentResolver; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.net.Uri; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.data.NotesDatabaseHelper.TABLE; +import net.micode.notes.gtask.exception.ActionFailureException; + +import org.json.JSONException; +import org.json.JSONObject; + +/** + * 功能:支持最底层的数据库操作,在逻辑关系上是Sqldata是Node类的子集 + */ +public class SqlData { + private static final String TAG = SqlData.class.getSimpleName(); + + private static final int INVALID_ID = -99999; + + public static final String[] PROJECTION_DATA = new String[]{ + DataColumns.ID, DataColumns.MIME_TYPE, DataColumns.CONTENT, DataColumns.DATA1, + DataColumns.DATA3 + }; + + public static final int DATA_ID_COLUMN = 0; + + public static final int DATA_MIME_TYPE_COLUMN = 1; + + public static final int DATA_CONTENT_COLUMN = 2; + + public static final int DATA_CONTENT_DATA_1_COLUMN = 3; + + public static final int DATA_CONTENT_DATA_3_COLUMN = 4; + + private ContentResolver mContentResolver; + + private boolean mIsCreate; + + private long mDataId; + + private String mDataMimeType; + + private String mDataContent; + + private long mDataContentData1; + + private String mDataContentData3; + + private ContentValues mDiffDataValues; + + public SqlData(Context context) { + mContentResolver = context.getContentResolver(); + mIsCreate = true; + mDataId = INVALID_ID; + mDataMimeType = DataConstants.NOTE; + mDataContent = ""; + mDataContentData1 = 0; + mDataContentData3 = ""; + mDiffDataValues = new ContentValues(); + } + + public SqlData(Context context, Cursor c) { + mContentResolver = context.getContentResolver(); + mIsCreate = false; + loadFromCursor(c); + mDiffDataValues = new ContentValues(); + } + + private void loadFromCursor(Cursor c) { + mDataId = c.getLong(DATA_ID_COLUMN); + mDataMimeType = c.getString(DATA_MIME_TYPE_COLUMN); + mDataContent = c.getString(DATA_CONTENT_COLUMN); + mDataContentData1 = c.getLong(DATA_CONTENT_DATA_1_COLUMN); + mDataContentData3 = c.getString(DATA_CONTENT_DATA_3_COLUMN); + } + + public void setContent(JSONObject js) throws JSONException { + long dataId = js.has(DataColumns.ID) ? js.getLong(DataColumns.ID) : INVALID_ID; + if (mIsCreate || mDataId != dataId) { + mDiffDataValues.put(DataColumns.ID, dataId); + } + mDataId = dataId; + + String dataMimeType = js.has(DataColumns.MIME_TYPE) ? js.getString(DataColumns.MIME_TYPE) + : DataConstants.NOTE; + if (mIsCreate || !mDataMimeType.equals(dataMimeType)) { + mDiffDataValues.put(DataColumns.MIME_TYPE, dataMimeType); + } + mDataMimeType = dataMimeType; + + String dataContent = js.has(DataColumns.CONTENT) ? js.getString(DataColumns.CONTENT) : ""; + if (mIsCreate || !mDataContent.equals(dataContent)) { + mDiffDataValues.put(DataColumns.CONTENT, dataContent); + } + mDataContent = dataContent; + + long dataContentData1 = js.has(DataColumns.DATA1) ? js.getLong(DataColumns.DATA1) : 0; + if (mIsCreate || mDataContentData1 != dataContentData1) { + mDiffDataValues.put(DataColumns.DATA1, dataContentData1); + } + mDataContentData1 = dataContentData1; + + String dataContentData3 = js.has(DataColumns.DATA3) ? js.getString(DataColumns.DATA3) : ""; + if (mIsCreate || !mDataContentData3.equals(dataContentData3)) { + mDiffDataValues.put(DataColumns.DATA3, dataContentData3); + } + mDataContentData3 = dataContentData3; + } + + public JSONObject getContent() throws JSONException { + if (mIsCreate) { + Log.e(TAG, "it seems that we haven't created this in database yet"); + return null; + } + JSONObject js = new JSONObject(); + js.put(DataColumns.ID, mDataId); + js.put(DataColumns.MIME_TYPE, mDataMimeType); + js.put(DataColumns.CONTENT, mDataContent); + js.put(DataColumns.DATA1, mDataContentData1); + js.put(DataColumns.DATA3, mDataContentData3); + return js; + } + + public void commit(long noteId, boolean validateVersion, long version) { + + if (mIsCreate) { + if (mDataId == INVALID_ID && mDiffDataValues.containsKey(DataColumns.ID)) { + mDiffDataValues.remove(DataColumns.ID); + } + + mDiffDataValues.put(DataColumns.NOTE_ID, noteId); + Uri uri = mContentResolver.insert(Notes.CONTENT_DATA_URI, mDiffDataValues); + try { + mDataId = Long.valueOf(uri.getPathSegments().get(1)); + } catch (NumberFormatException e) { + Log.e(TAG, "Get note id error :" + e.toString()); + throw new ActionFailureException("create note failed"); + } + } else { + if (mDiffDataValues.size() > 0) { + int result = 0; + if (!validateVersion) { + result = mContentResolver.update(ContentUris.withAppendedId( + Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues, null, null); + } else { + result = mContentResolver.update(ContentUris.withAppendedId( + Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues, + " ? in (SELECT " + NoteColumns.ID + " FROM " + TABLE.NOTE + + " WHERE " + NoteColumns.VERSION + "=?)", new String[]{ + String.valueOf(noteId), String.valueOf(version) + }); + } + if (result == 0) { + Log.w(TAG, "there is no update. maybe user updates note when syncing"); + } + } + } + + mDiffDataValues.clear(); + mIsCreate = false; + } + + public long getId() { + return mDataId; + } +} diff --git a/src/src/main/java/net/micode/notes/gtask/data/SqlNote.java b/src/src/main/java/net/micode/notes/gtask/data/SqlNote.java new file mode 100644 index 0000000..38ac8de --- /dev/null +++ b/src/src/main/java/net/micode/notes/gtask/data/SqlNote.java @@ -0,0 +1,516 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.appwidget.AppWidgetManager; +import android.content.ContentResolver; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.net.Uri; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.gtask.exception.ActionFailureException; +import net.micode.notes.tool.GTaskStringUtils; +import net.micode.notes.tool.ResourceParser; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; + +/** + * 功能:支持最底层的数据库操作,从SqlData中具体出的便签类数据,是真正意义上的便签数据 + */ +public class SqlNote { + private static final String TAG = SqlNote.class.getSimpleName(); + + private static final int INVALID_ID = -99999; + + public static final String[] PROJECTION_NOTE = new String[]{ + NoteColumns.ID, NoteColumns.ALERTED_DATE, NoteColumns.BG_COLOR_ID,NoteColumns.FONT_SIZE_ID, + NoteColumns.CREATED_DATE, NoteColumns.HAS_ATTACHMENT, NoteColumns.MODIFIED_DATE, + NoteColumns.NOTES_COUNT, NoteColumns.PARENT_ID, NoteColumns.SNIPPET, NoteColumns.TYPE, + NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE, NoteColumns.SYNC_ID, + NoteColumns.LOCAL_MODIFIED, NoteColumns.ORIGIN_PARENT_ID, NoteColumns.GTASK_ID, + NoteColumns.VERSION + }; + + public static final int ID_COLUMN = 0; + + public static final int ALERTED_DATE_COLUMN = 1; + + public static final int BG_COLOR_ID_COLUMN = 2; + + public static final int CREATED_DATE_COLUMN = 3; + + public static final int HAS_ATTACHMENT_COLUMN = 4; + + public static final int MODIFIED_DATE_COLUMN = 5; + + public static final int NOTES_COUNT_COLUMN = 6; + + public static final int PARENT_ID_COLUMN = 7; + + public static final int SNIPPET_COLUMN = 8; + + public static final int TYPE_COLUMN = 9; + + public static final int WIDGET_ID_COLUMN = 10; + + public static final int WIDGET_TYPE_COLUMN = 11; + + public static final int SYNC_ID_COLUMN = 12; + + public static final int LOCAL_MODIFIED_COLUMN = 13; + + public static final int ORIGIN_PARENT_ID_COLUMN = 14; + + public static final int GTASK_ID_COLUMN = 15; + + public static final int VERSION_COLUMN = 16; + + private Context mContext; + + private ContentResolver mContentResolver; + + private boolean mIsCreate; + + private long mId; + + private long mAlertDate; + + private int mBgColorId; + private int mFontSizeId; + + private long mCreatedDate; + + private int mHasAttachment; + + private long mModifiedDate; + + private long mParentId; + + private String mSnippet; + + private int mType; + + private int mWidgetId; + + private int mWidgetType; + + private long mOriginParent; + + private long mVersion; + + private ContentValues mDiffNoteValues; + + private ArrayList mDataList; + + public SqlNote(Context context) { + mContext = context; + mContentResolver = context.getContentResolver(); + mIsCreate = true; + mId = INVALID_ID; + mAlertDate = 0; + mBgColorId = ResourceParser.getDefaultBgId(context); + mCreatedDate = System.currentTimeMillis(); + mHasAttachment = 0; + mModifiedDate = System.currentTimeMillis(); + mParentId = 0; + mSnippet = ""; + mType = Notes.TYPE_NOTE; + mWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID; + mWidgetType = Notes.TYPE_WIDGET_INVALIDE; + mOriginParent = 0; + mVersion = 0; + mDiffNoteValues = new ContentValues(); + mDataList = new ArrayList(); + } + + public SqlNote(Context context, Cursor c) { + mContext = context; + mContentResolver = context.getContentResolver(); + mIsCreate = false; + loadFromCursor(c); + mDataList = new ArrayList(); + if (mType == Notes.TYPE_NOTE) + loadDataContent(); + mDiffNoteValues = new ContentValues(); + } + + public SqlNote(Context context, long id) { + mContext = context; + mContentResolver = context.getContentResolver(); + mIsCreate = false; + loadFromCursor(id); + mDataList = new ArrayList(); + if (mType == Notes.TYPE_NOTE) + loadDataContent(); + mDiffNoteValues = new ContentValues(); + + } + + private void loadFromCursor(long id) { + Cursor c = null; + try { + c = mContentResolver.query(Notes.CONTENT_NOTE_URI, PROJECTION_NOTE, "(_id=?)", + new String[]{ + String.valueOf(id) + }, null); + if (c != null) { + c.moveToNext(); + loadFromCursor(c); + } else { + Log.w(TAG, "loadFromCursor: cursor = null"); + } + } finally { + if (c != null) + c.close(); + } + } + + private void loadFromCursor(Cursor c) { + mId = c.getLong(ID_COLUMN); + mAlertDate = c.getLong(ALERTED_DATE_COLUMN); + mBgColorId = c.getInt(BG_COLOR_ID_COLUMN); + mCreatedDate = c.getLong(CREATED_DATE_COLUMN); + mHasAttachment = c.getInt(HAS_ATTACHMENT_COLUMN); + mModifiedDate = c.getLong(MODIFIED_DATE_COLUMN); + mParentId = c.getLong(PARENT_ID_COLUMN); + mSnippet = c.getString(SNIPPET_COLUMN); + mType = c.getInt(TYPE_COLUMN); + mWidgetId = c.getInt(WIDGET_ID_COLUMN); + mWidgetType = c.getInt(WIDGET_TYPE_COLUMN); + mVersion = c.getLong(VERSION_COLUMN); + } + + private void loadDataContent() { + Cursor c = null; + mDataList.clear(); + try { + c = mContentResolver.query(Notes.CONTENT_DATA_URI, SqlData.PROJECTION_DATA, + "(note_id=?)", new String[]{ + String.valueOf(mId) + }, null); + if (c != null) { + if (c.getCount() == 0) { + Log.w(TAG, "it seems that the note has not data"); + return; + } + while (c.moveToNext()) { + SqlData data = new SqlData(mContext, c); + mDataList.add(data); + } + } else { + Log.w(TAG, "loadDataContent: cursor = null"); + } + } finally { + if (c != null) + c.close(); + } + } + + public boolean setContent(JSONObject js) { + try { + JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_SYSTEM) { + Log.w(TAG, "cannot set system folder"); + } else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_FOLDER) { + // for folder we can only update the snnipet and type + String snippet = note.has(NoteColumns.SNIPPET) ? note + .getString(NoteColumns.SNIPPET) : ""; + if (mIsCreate || !mSnippet.equals(snippet)) { + mDiffNoteValues.put(NoteColumns.SNIPPET, snippet); + } + mSnippet = snippet; + + int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE) + : Notes.TYPE_NOTE; + if (mIsCreate || mType != type) { + mDiffNoteValues.put(NoteColumns.TYPE, type); + } + mType = type; + } else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_NOTE) { + JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + long id = note.has(NoteColumns.ID) ? note.getLong(NoteColumns.ID) : INVALID_ID; + if (mIsCreate || mId != id) { + mDiffNoteValues.put(NoteColumns.ID, id); + } + mId = id; + + long alertDate = note.has(NoteColumns.ALERTED_DATE) ? note + .getLong(NoteColumns.ALERTED_DATE) : 0; + if (mIsCreate || mAlertDate != alertDate) { + mDiffNoteValues.put(NoteColumns.ALERTED_DATE, alertDate); + } + mAlertDate = alertDate; + + int bgColorId = note.has(NoteColumns.BG_COLOR_ID) ? note + .getInt(NoteColumns.BG_COLOR_ID) : ResourceParser.getDefaultBgId(mContext); + if (mIsCreate || mBgColorId != bgColorId) { + mDiffNoteValues.put(NoteColumns.BG_COLOR_ID, bgColorId); + } + mBgColorId = bgColorId; + + int fontSizeId = note.has(NoteColumns.FONT_SIZE_ID) ? note + .getInt(NoteColumns.FONT_SIZE_ID) : ResourceParser.getDefaultBgId(mContext); + if(mIsCreate || mFontSizeId != fontSizeId) { + mDiffNoteValues.put(NoteColumns.FONT_SIZE_ID,fontSizeId); + } + mFontSizeId = fontSizeId; + + long createDate = note.has(NoteColumns.CREATED_DATE) ? note + .getLong(NoteColumns.CREATED_DATE) : System.currentTimeMillis(); + if (mIsCreate || mCreatedDate != createDate) { + mDiffNoteValues.put(NoteColumns.CREATED_DATE, createDate); + } + mCreatedDate = createDate; + + int hasAttachment = note.has(NoteColumns.HAS_ATTACHMENT) ? note + .getInt(NoteColumns.HAS_ATTACHMENT) : 0; + if (mIsCreate || mHasAttachment != hasAttachment) { + mDiffNoteValues.put(NoteColumns.HAS_ATTACHMENT, hasAttachment); + } + mHasAttachment = hasAttachment; + + long modifiedDate = note.has(NoteColumns.MODIFIED_DATE) ? note + .getLong(NoteColumns.MODIFIED_DATE) : System.currentTimeMillis(); + if (mIsCreate || mModifiedDate != modifiedDate) { + mDiffNoteValues.put(NoteColumns.MODIFIED_DATE, modifiedDate); + } + mModifiedDate = modifiedDate; + + long parentId = note.has(NoteColumns.PARENT_ID) ? note + .getLong(NoteColumns.PARENT_ID) : 0; + if (mIsCreate || mParentId != parentId) { + mDiffNoteValues.put(NoteColumns.PARENT_ID, parentId); + } + mParentId = parentId; + + String snippet = note.has(NoteColumns.SNIPPET) ? note + .getString(NoteColumns.SNIPPET) : ""; + if (mIsCreate || !mSnippet.equals(snippet)) { + mDiffNoteValues.put(NoteColumns.SNIPPET, snippet); + } + mSnippet = snippet; + + int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE) + : Notes.TYPE_NOTE; + if (mIsCreate || mType != type) { + mDiffNoteValues.put(NoteColumns.TYPE, type); + } + mType = type; + + int widgetId = note.has(NoteColumns.WIDGET_ID) ? note.getInt(NoteColumns.WIDGET_ID) + : AppWidgetManager.INVALID_APPWIDGET_ID; + if (mIsCreate || mWidgetId != widgetId) { + mDiffNoteValues.put(NoteColumns.WIDGET_ID, widgetId); + } + mWidgetId = widgetId; + + int widgetType = note.has(NoteColumns.WIDGET_TYPE) ? note + .getInt(NoteColumns.WIDGET_TYPE) : Notes.TYPE_WIDGET_INVALIDE; + if (mIsCreate || mWidgetType != widgetType) { + mDiffNoteValues.put(NoteColumns.WIDGET_TYPE, widgetType); + } + mWidgetType = widgetType; + + long originParent = note.has(NoteColumns.ORIGIN_PARENT_ID) ? note + .getLong(NoteColumns.ORIGIN_PARENT_ID) : 0; + if (mIsCreate || mOriginParent != originParent) { + mDiffNoteValues.put(NoteColumns.ORIGIN_PARENT_ID, originParent); + } + mOriginParent = originParent; + + for (int i = 0; i < dataArray.length(); i++) { + JSONObject data = dataArray.getJSONObject(i); + SqlData sqlData = null; + if (data.has(DataColumns.ID)) { + long dataId = data.getLong(DataColumns.ID); + for (SqlData temp : mDataList) { + if (dataId == temp.getId()) { + sqlData = temp; + } + } + } + + if (sqlData == null) { + sqlData = new SqlData(mContext); + mDataList.add(sqlData); + } + + sqlData.setContent(data); + } + } + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + return false; + } + return true; + } + + public JSONObject getContent() { + try { + JSONObject js = new JSONObject(); + + if (mIsCreate) { + Log.e(TAG, "it seems that we haven't created this in database yet"); + return null; + } + + JSONObject note = new JSONObject(); + if (mType == Notes.TYPE_NOTE) { + note.put(NoteColumns.ID, mId); + note.put(NoteColumns.ALERTED_DATE, mAlertDate); + note.put(NoteColumns.BG_COLOR_ID, mBgColorId); + note.put(NoteColumns.FONT_SIZE_ID, mFontSizeId); + note.put(NoteColumns.CREATED_DATE, mCreatedDate); + note.put(NoteColumns.HAS_ATTACHMENT, mHasAttachment); + note.put(NoteColumns.MODIFIED_DATE, mModifiedDate); + note.put(NoteColumns.PARENT_ID, mParentId); + note.put(NoteColumns.SNIPPET, mSnippet); + note.put(NoteColumns.TYPE, mType); + note.put(NoteColumns.WIDGET_ID, mWidgetId); + note.put(NoteColumns.WIDGET_TYPE, mWidgetType); + note.put(NoteColumns.ORIGIN_PARENT_ID, mOriginParent); + js.put(GTaskStringUtils.META_HEAD_NOTE, note); + + JSONArray dataArray = new JSONArray(); + for (SqlData sqlData : mDataList) { + JSONObject data = sqlData.getContent(); + if (data != null) { + dataArray.put(data); + } + } + js.put(GTaskStringUtils.META_HEAD_DATA, dataArray); + } else if (mType == Notes.TYPE_FOLDER || mType == Notes.TYPE_SYSTEM) { + note.put(NoteColumns.ID, mId); + note.put(NoteColumns.TYPE, mType); + note.put(NoteColumns.SNIPPET, mSnippet); + js.put(GTaskStringUtils.META_HEAD_NOTE, note); + } + + return js; + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + } + return null; + } + + public void setParentId(long id) { + mParentId = id; + mDiffNoteValues.put(NoteColumns.PARENT_ID, id); + } + + public void setGtaskId(String gid) { + mDiffNoteValues.put(NoteColumns.GTASK_ID, gid); + } + + public void setSyncId(long syncId) { + mDiffNoteValues.put(NoteColumns.SYNC_ID, syncId); + } + + public void resetLocalModified() { + mDiffNoteValues.put(NoteColumns.LOCAL_MODIFIED, 0); + } + + public long getId() { + return mId; + } + + public long getParentId() { + return mParentId; + } + + public String getSnippet() { + return mSnippet; + } + + public boolean isNoteType() { + return mType == Notes.TYPE_NOTE; + } + + public void commit(boolean validateVersion) { + if (mIsCreate) { + if (mId == INVALID_ID && mDiffNoteValues.containsKey(NoteColumns.ID)) { + mDiffNoteValues.remove(NoteColumns.ID); + } + + Uri uri = mContentResolver.insert(Notes.CONTENT_NOTE_URI, mDiffNoteValues); + try { + mId = Long.valueOf(uri.getPathSegments().get(1)); + } catch (NumberFormatException e) { + Log.e(TAG, "Get note id error :" + e.toString()); + throw new ActionFailureException("create note failed"); + } + if (mId == 0) { + throw new IllegalStateException("Create thread id failed"); + } + + if (mType == Notes.TYPE_NOTE) { + for (SqlData sqlData : mDataList) { + sqlData.commit(mId, false, -1); + } + } + } else { + if (mId <= 0 && mId != Notes.ID_ROOT_FOLDER && mId != Notes.ID_CALL_RECORD_FOLDER) { + Log.e(TAG, "No such note"); + throw new IllegalStateException("Try to update note with invalid id"); + } + if (mDiffNoteValues.size() > 0) { + mVersion++; + int result = 0; + if (!validateVersion) { + result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "(" + + NoteColumns.ID + "=?)", new String[]{ + String.valueOf(mId) + }); + } else { + result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "(" + + NoteColumns.ID + "=?) AND (" + NoteColumns.VERSION + "<=?)", + new String[]{ + String.valueOf(mId), String.valueOf(mVersion) + }); + } + if (result == 0) { + Log.w(TAG, "there is no update. maybe user updates note when syncing"); + } + } + + if (mType == Notes.TYPE_NOTE) { + for (SqlData sqlData : mDataList) { + sqlData.commit(mId, validateVersion, mVersion); + } + } + } + + // refresh local info + loadFromCursor(mId); + if (mType == Notes.TYPE_NOTE) + loadDataContent(); + + mDiffNoteValues.clear(); + mIsCreate = false; + } +} diff --git a/src/src/main/java/net/micode/notes/gtask/data/Task.java b/src/src/main/java/net/micode/notes/gtask/data/Task.java new file mode 100644 index 0000000..6207612 --- /dev/null +++ b/src/src/main/java/net/micode/notes/gtask/data/Task.java @@ -0,0 +1,353 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.database.Cursor; +import android.text.TextUtils; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.gtask.exception.ActionFailureException; +import net.micode.notes.tool.GTaskStringUtils; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +/** + * 与Node是父子关系,继承了原有的属性和方法,并在此基础上定义更加具体的功能 + */ +public class Task extends Node { + private static final String TAG = Task.class.getSimpleName(); + + private boolean mCompleted; + + private String mNotes; + + private JSONObject mMetaInfo; + + private Task mPriorSibling; + + private TaskList mParent; + + public Task() { + super(); + mCompleted = false; + mNotes = null; + mPriorSibling = null; + mParent = null; + mMetaInfo = null; + } + + public JSONObject getCreateAction(int actionId) { + JSONObject js = new JSONObject(); + + try { + // action_type + js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, + GTaskStringUtils.GTASK_JSON_ACTION_TYPE_CREATE); + + // action_id + js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); + + // index + js.put(GTaskStringUtils.GTASK_JSON_INDEX, mParent.getChildTaskIndex(this)); + + // entity_delta + JSONObject entity = new JSONObject(); + entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + entity.put(GTaskStringUtils.GTASK_JSON_CREATOR_ID, "null"); + entity.put(GTaskStringUtils.GTASK_JSON_ENTITY_TYPE, + GTaskStringUtils.GTASK_JSON_TYPE_TASK); + if (getNotes() != null) { + entity.put(GTaskStringUtils.GTASK_JSON_NOTES, getNotes()); + } + js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); + + // parent_id + js.put(GTaskStringUtils.GTASK_JSON_PARENT_ID, mParent.getGid()); + + // dest_parent_type + js.put(GTaskStringUtils.GTASK_JSON_DEST_PARENT_TYPE, + GTaskStringUtils.GTASK_JSON_TYPE_GROUP); + + // list_id + js.put(GTaskStringUtils.GTASK_JSON_LIST_ID, mParent.getGid()); + + // prior_sibling_id + if (mPriorSibling != null) { + js.put(GTaskStringUtils.GTASK_JSON_PRIOR_SIBLING_ID, mPriorSibling.getGid()); + } + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to generate task-create jsonobject"); + } + + return js; + } + + public JSONObject getUpdateAction(int actionId) { + JSONObject js = new JSONObject(); + + try { + // action_type + js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, + GTaskStringUtils.GTASK_JSON_ACTION_TYPE_UPDATE); + + // action_id + js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); + + // id + js.put(GTaskStringUtils.GTASK_JSON_ID, getGid()); + + // entity_delta + JSONObject entity = new JSONObject(); + entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + if (getNotes() != null) { + entity.put(GTaskStringUtils.GTASK_JSON_NOTES, getNotes()); + } + entity.put(GTaskStringUtils.GTASK_JSON_DELETED, getDeleted()); + js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to generate task-update jsonobject"); + } + + return js; + } + + public void setContentByRemoteJSON(JSONObject js) { + if (js != null) { + try { + // id + if (js.has(GTaskStringUtils.GTASK_JSON_ID)) { + setGid(js.getString(GTaskStringUtils.GTASK_JSON_ID)); + } + + // last_modified + if (js.has(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)) { + setLastModified(js.getLong(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)); + } + + // name + if (js.has(GTaskStringUtils.GTASK_JSON_NAME)) { + setName(js.getString(GTaskStringUtils.GTASK_JSON_NAME)); + } + + // notes + if (js.has(GTaskStringUtils.GTASK_JSON_NOTES)) { + setNotes(js.getString(GTaskStringUtils.GTASK_JSON_NOTES)); + } + + // deleted + if (js.has(GTaskStringUtils.GTASK_JSON_DELETED)) { + setDeleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_DELETED)); + } + + // completed + if (js.has(GTaskStringUtils.GTASK_JSON_COMPLETED)) { + setCompleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_COMPLETED)); + } + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to get task content from jsonobject"); + } + } + } + + public void setContentByLocalJSON(JSONObject js) { + if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE) + || !js.has(GTaskStringUtils.META_HEAD_DATA)) { + Log.w(TAG, "setContentByLocalJSON: nothing is avaiable"); + } + + try { + JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + + if (note.getInt(NoteColumns.TYPE) != Notes.TYPE_NOTE) { + Log.e(TAG, "invalid type"); + return; + } + + for (int i = 0; i < dataArray.length(); i++) { + JSONObject data = dataArray.getJSONObject(i); + if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) { + setName(data.getString(DataColumns.CONTENT)); + break; + } + } + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + } + } + + public JSONObject getLocalJSONFromContent() { + String name = getName(); + try { + if (mMetaInfo == null) { + // new task created from web + if (name == null) { + Log.w(TAG, "the note seems to be an empty one"); + return null; + } + + JSONObject js = new JSONObject(); + JSONObject note = new JSONObject(); + JSONArray dataArray = new JSONArray(); + JSONObject data = new JSONObject(); + data.put(DataColumns.CONTENT, name); + dataArray.put(data); + js.put(GTaskStringUtils.META_HEAD_DATA, dataArray); + note.put(NoteColumns.TYPE, Notes.TYPE_NOTE); + js.put(GTaskStringUtils.META_HEAD_NOTE, note); + return js; + } else { + // synced task + JSONObject note = mMetaInfo.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + JSONArray dataArray = mMetaInfo.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + + for (int i = 0; i < dataArray.length(); i++) { + JSONObject data = dataArray.getJSONObject(i); + if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) { + data.put(DataColumns.CONTENT, getName()); + break; + } + } + + note.put(NoteColumns.TYPE, Notes.TYPE_NOTE); + return mMetaInfo; + } + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + return null; + } + } + + public void setMetaInfo(MetaData metaData) { + if (metaData != null && metaData.getNotes() != null) { + try { + mMetaInfo = new JSONObject(metaData.getNotes()); + } catch (JSONException e) { + Log.w(TAG, e.toString()); + mMetaInfo = null; + } + } + } + + public int getSyncAction(Cursor c) { + try { + JSONObject noteInfo = null; + if (mMetaInfo != null && mMetaInfo.has(GTaskStringUtils.META_HEAD_NOTE)) { + noteInfo = mMetaInfo.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + } + + if (noteInfo == null) { + Log.w(TAG, "it seems that note meta has been deleted"); + return SYNC_ACTION_UPDATE_REMOTE; + } + + if (!noteInfo.has(NoteColumns.ID)) { + Log.w(TAG, "remote note id seems to be deleted"); + return SYNC_ACTION_UPDATE_LOCAL; + } + + // validate the note id now + if (c.getLong(SqlNote.ID_COLUMN) != noteInfo.getLong(NoteColumns.ID)) { + Log.w(TAG, "note id doesn't match"); + return SYNC_ACTION_UPDATE_LOCAL; + } + + if (c.getInt(SqlNote.LOCAL_MODIFIED_COLUMN) == 0) { + // there is no local update + if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { + // no update both side + return SYNC_ACTION_NONE; + } else { + // apply remote to local + return SYNC_ACTION_UPDATE_LOCAL; + } + } else { + // validate gtask id + if (!c.getString(SqlNote.GTASK_ID_COLUMN).equals(getGid())) { + Log.e(TAG, "gtask id doesn't match"); + return SYNC_ACTION_ERROR; + } + if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { + // local modification only + return SYNC_ACTION_UPDATE_REMOTE; + } else { + return SYNC_ACTION_UPDATE_CONFLICT; + } + } + } catch (Exception e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + } + + return SYNC_ACTION_ERROR; + } + + public boolean isWorthSaving() { + return mMetaInfo != null || (getName() != null && getName().trim().length() > 0) + || (getNotes() != null && getNotes().trim().length() > 0); + } + + public void setCompleted(boolean completed) { + this.mCompleted = completed; + } + + public void setNotes(String notes) { + this.mNotes = notes; + } + + public void setPriorSibling(Task priorSibling) { + this.mPriorSibling = priorSibling; + } + + public void setParent(TaskList parent) { + this.mParent = parent; + } + + public boolean getCompleted() { + return this.mCompleted; + } + + public String getNotes() { + return this.mNotes; + } + + public Task getPriorSibling() { + return this.mPriorSibling; + } + + public TaskList getParent() { + return this.mParent; + } + +} diff --git a/src/src/main/java/net/micode/notes/gtask/data/TaskList.java b/src/src/main/java/net/micode/notes/gtask/data/TaskList.java new file mode 100644 index 0000000..0f5dbe9 --- /dev/null +++ b/src/src/main/java/net/micode/notes/gtask/data/TaskList.java @@ -0,0 +1,347 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.database.Cursor; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.gtask.exception.ActionFailureException; +import net.micode.notes.tool.GTaskStringUtils; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; + +/** + * 继承自Node,拓展了一些有关Task列表的基础操作 + */ +public class TaskList extends Node { + private static final String TAG = TaskList.class.getSimpleName(); + + private int mIndex; + /* + * 创建一个以Task为基本元素的ArrayList + */ + private ArrayList mChildren; + + public TaskList() { + super(); + mChildren = new ArrayList(); + mIndex = 1; + } + + public JSONObject getCreateAction(int actionId) { + JSONObject js = new JSONObject(); + + try { + // action_type + js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, + GTaskStringUtils.GTASK_JSON_ACTION_TYPE_CREATE); + + // action_id + js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); + + // index + js.put(GTaskStringUtils.GTASK_JSON_INDEX, mIndex); + + // entity_delta + JSONObject entity = new JSONObject(); + entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + entity.put(GTaskStringUtils.GTASK_JSON_CREATOR_ID, "null"); + entity.put(GTaskStringUtils.GTASK_JSON_ENTITY_TYPE, + GTaskStringUtils.GTASK_JSON_TYPE_GROUP); + js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to generate tasklist-create jsonobject"); + } + + return js; + } + + public JSONObject getUpdateAction(int actionId) { + JSONObject js = new JSONObject(); + + try { + // action_type + js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, + GTaskStringUtils.GTASK_JSON_ACTION_TYPE_UPDATE); + + // action_id + js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); + + // id + js.put(GTaskStringUtils.GTASK_JSON_ID, getGid()); + + // entity_delta + JSONObject entity = new JSONObject(); + entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + entity.put(GTaskStringUtils.GTASK_JSON_DELETED, getDeleted()); + js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to generate tasklist-update jsonobject"); + } + + return js; + } + + public void setContentByRemoteJSON(JSONObject js) { + if (js != null) { + try { + // id + if (js.has(GTaskStringUtils.GTASK_JSON_ID)) { + setGid(js.getString(GTaskStringUtils.GTASK_JSON_ID)); + } + + // last_modified + if (js.has(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)) { + setLastModified(js.getLong(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)); + } + + // name + if (js.has(GTaskStringUtils.GTASK_JSON_NAME)) { + setName(js.getString(GTaskStringUtils.GTASK_JSON_NAME)); + } + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to get tasklist content from jsonobject"); + } + } + } + + public void setContentByLocalJSON(JSONObject js) { + if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE)) { + Log.w(TAG, "setContentByLocalJSON: nothing is avaiable"); + } + + try { + JSONObject folder = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + + if (folder.getInt(NoteColumns.TYPE) == Notes.TYPE_FOLDER) { + String name = folder.getString(NoteColumns.SNIPPET); + setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + name); + } else if (folder.getInt(NoteColumns.TYPE) == Notes.TYPE_SYSTEM) { + if (folder.getLong(NoteColumns.ID) == Notes.ID_ROOT_FOLDER) + setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + GTaskStringUtils.FOLDER_DEFAULT); + else if (folder.getLong(NoteColumns.ID) == Notes.ID_CALL_RECORD_FOLDER) + setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + + GTaskStringUtils.FOLDER_CALL_NOTE); + else + Log.e(TAG, "invalid system folder"); + } else { + Log.e(TAG, "error type"); + } + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + } + } + + public JSONObject getLocalJSONFromContent() { + try { + JSONObject js = new JSONObject(); + JSONObject folder = new JSONObject(); + + String folderName = getName(); + if (getName().startsWith(GTaskStringUtils.MIUI_FOLDER_PREFFIX)) + folderName = folderName.substring(GTaskStringUtils.MIUI_FOLDER_PREFFIX.length(), + folderName.length()); + folder.put(NoteColumns.SNIPPET, folderName); + if (folderName.equals(GTaskStringUtils.FOLDER_DEFAULT) + || folderName.equals(GTaskStringUtils.FOLDER_CALL_NOTE)) + folder.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + else + folder.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); + + js.put(GTaskStringUtils.META_HEAD_NOTE, folder); + + return js; + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + return null; + } + } + + public int getSyncAction(Cursor c) { + try { + if (c.getInt(SqlNote.LOCAL_MODIFIED_COLUMN) == 0) { + // there is no local update + if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { + // no update both side + return SYNC_ACTION_NONE; + } else { + // apply remote to local + return SYNC_ACTION_UPDATE_LOCAL; + } + } else { + // validate gtask id + if (!c.getString(SqlNote.GTASK_ID_COLUMN).equals(getGid())) { + Log.e(TAG, "gtask id doesn't match"); + return SYNC_ACTION_ERROR; + } + if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { + // local modification only + return SYNC_ACTION_UPDATE_REMOTE; + } else { + // for folder conflicts, just apply local modification + return SYNC_ACTION_UPDATE_REMOTE; + } + } + } catch (Exception e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + } + + return SYNC_ACTION_ERROR; + } + + public int getChildTaskCount() { + return mChildren.size(); + } + + public boolean addChildTask(Task task) { + boolean ret = false; + if (task != null && !mChildren.contains(task)) { + ret = mChildren.add(task); + if (ret) { + // need to set prior sibling and parent + task.setPriorSibling(mChildren.isEmpty() ? null : mChildren + .get(mChildren.size() - 1)); + task.setParent(this); + } + } + return ret; + } + + public boolean addChildTask(Task task, int index) { + if (index < 0 || index > mChildren.size()) { + Log.e(TAG, "add child task: invalid index"); + return false; + } + + int pos = mChildren.indexOf(task); + if (task != null && pos == -1) { + mChildren.add(index, task); + + // update the task list + Task preTask = null; + Task afterTask = null; + if (index != 0) + preTask = mChildren.get(index - 1); + if (index != mChildren.size() - 1) + afterTask = mChildren.get(index + 1); + + task.setPriorSibling(preTask); + if (afterTask != null) + afterTask.setPriorSibling(task); + } + + return true; + } + + public boolean removeChildTask(Task task) { + boolean ret = false; + int index = mChildren.indexOf(task); + if (index != -1) { + ret = mChildren.remove(task); + + if (ret) { + // reset prior sibling and parent + task.setPriorSibling(null); + task.setParent(null); + + // update the task list + if (index != mChildren.size()) { + mChildren.get(index).setPriorSibling( + index == 0 ? null : mChildren.get(index - 1)); + } + } + } + return ret; + } + + public boolean moveChildTask(Task task, int index) { + + if (index < 0 || index >= mChildren.size()) { + Log.e(TAG, "move child task: invalid index"); + return false; + } + + int pos = mChildren.indexOf(task); + if (pos == -1) { + Log.e(TAG, "move child task: the task should in the list"); + return false; + } + + if (pos == index) + return true; + return (removeChildTask(task) && addChildTask(task, index)); + } + + public Task findChildTaskByGid(String gid) { + for (int i = 0; i < mChildren.size(); i++) { + Task t = mChildren.get(i); + if (t.getGid().equals(gid)) { + return t; + } + } + return null; + } + + public int getChildTaskIndex(Task task) { + return mChildren.indexOf(task); + } + + public Task getChildTaskByIndex(int index) { + if (index < 0 || index >= mChildren.size()) { + Log.e(TAG, "getTaskByIndex: invalid index"); + return null; + } + return mChildren.get(index); + } + + public Task getChilTaskByGid(String gid) { + for (Task task : mChildren) { + if (task.getGid().equals(gid)) + return task; + } + return null; + } + + public ArrayList getChildTaskList() { + return this.mChildren; + } + + public void setIndex(int index) { + this.mIndex = index; + } + + public int getIndex() { + return this.mIndex; + } +} diff --git a/src/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java b/src/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java new file mode 100644 index 0000000..15504be --- /dev/null +++ b/src/src/main/java/net/micode/notes/gtask/exception/ActionFailureException.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.exception; + +public class ActionFailureException extends RuntimeException { + private static final long serialVersionUID = 4425249765923293627L; + + public ActionFailureException() { + super(); + } + + public ActionFailureException(String paramString) { + super(paramString); + } + + public ActionFailureException(String paramString, Throwable paramThrowable) { + super(paramString, paramThrowable); + } +} diff --git a/src/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java b/src/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java new file mode 100644 index 0000000..b08cfb1 --- /dev/null +++ b/src/src/main/java/net/micode/notes/gtask/exception/NetworkFailureException.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.exception; + +public class NetworkFailureException extends Exception { + private static final long serialVersionUID = 2107610287180234136L; + + public NetworkFailureException() { + super(); + } + + public NetworkFailureException(String paramString) { + super(paramString); + } + + public NetworkFailureException(String paramString, Throwable paramThrowable) { + super(paramString, paramThrowable); + } +} diff --git a/src/src/main/java/net/micode/notes/model/Note.java b/src/src/main/java/net/micode/notes/model/Note.java new file mode 100644 index 0000000..8bc27c8 --- /dev/null +++ b/src/src/main/java/net/micode/notes/model/Note.java @@ -0,0 +1,281 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.model; + +import android.content.ContentProviderOperation; +import android.content.ContentProviderResult; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.content.OperationApplicationException; +import android.net.Uri; +import android.os.RemoteException; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.CallNote; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.data.Notes.TextNote; + +import java.util.ArrayList; + + +public class Note { + private ContentValues mNoteDiffValues; + private NoteData mNoteData; + private static final String TAG = "Note"; + + /** + * Create a new note id for adding a new note to databases + */ + public static synchronized long getNewNoteId(Context context, long folderId) { + // Create a new note in the database + ContentValues values = new ContentValues(); + long createdTime = System.currentTimeMillis(); + values.put(NoteColumns.CREATED_DATE, createdTime); + values.put(NoteColumns.MODIFIED_DATE, createdTime); + values.put(NoteColumns.TYPE, Notes.TYPE_NOTE); + values.put(NoteColumns.LOCAL_MODIFIED, 1); + values.put(NoteColumns.PARENT_ID, folderId); + Uri uri = context.getContentResolver().insert(Notes.CONTENT_NOTE_URI, values); + /** + ContentResolver()主要是实现外部应用对ContentProvider中的数据进行添加、删除、修改和查询操作 + */ + long noteId = 0; + try { + noteId = Long.valueOf(uri.getPathSegments().get(1)); + } catch (NumberFormatException e) { + Log.e(TAG, "Get note id error :" + e.toString()); + noteId = 0; + } + if (noteId == -1) { + throw new IllegalStateException("Wrong note id:" + noteId); + } + return noteId; + } + + /** + 用来存储便签的数据,一个是存储便签属性、一个是存储便签内容 + */ + public Note() { + mNoteDiffValues = new ContentValues(); + mNoteData = new NoteData(); + } + + public void setNoteValue(String key, String value) { + mNoteDiffValues.put(key, value); + mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); + mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); + } + + public void setTextData(String key, String value) { + mNoteData.setTextData(key, value); + } + /** + 设置文本数据的ID + */ + + public void setTextDataId(long id) { + mNoteData.setTextDataId(id); + } + /** + 得到文本数据的ID + */ + + public long getTextDataId() { + return mNoteData.mTextDataId; + } + /** + 设置电话号码数据的ID + */ + + public void setCallDataId(long id) { + mNoteData.setCallDataId(id); + } + /** + 得到电话号码数据的ID + */ + + public void setCallData(String key, String value) { + mNoteData.setCallData(key, value); + } + + public boolean isLocalModified() { + return mNoteDiffValues.size() > 0 || mNoteData.isLocalModified(); + } + + public boolean syncNote(Context context, long noteId) { + if (noteId <= 0) { + throw new IllegalArgumentException("Wrong note id:" + noteId); + } + + if (!isLocalModified()) { + return true; + } + + /** + * In theory, once data changed, the note should be updated on {@link NoteColumns#LOCAL_MODIFIED} and + * {@link NoteColumns#MODIFIED_DATE}. For data safety, though update note fails, we also update the + * note data info + */ + if (context.getContentResolver().update( + ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), mNoteDiffValues, null, + null) == 0) { + Log.e(TAG, "Update note error, should not happen"); + // Do not return, fall through + } + mNoteDiffValues.clear(); + + if (mNoteData.isLocalModified() + && (mNoteData.pushIntoContentResolver(context, noteId) == null)) { + return false; + } + + return true; + } + + /** + * 定义一个基本的便签内容的数据类,主要包含文本数据和电话号码数据 + */ + private class NoteData { + private long mTextDataId; + + private ContentValues mTextDataValues; + + private long mCallDataId; + + private ContentValues mCallDataValues; + + private static final String TAG = "NoteData"; + + public NoteData() { + mTextDataValues = new ContentValues(); + mCallDataValues = new ContentValues(); + mTextDataId = 0; + mCallDataId = 0; + } + + boolean isLocalModified() { + return mTextDataValues.size() > 0 || mCallDataValues.size() > 0; + } + + void setTextDataId(long id) { + if (id <= 0) { + throw new IllegalArgumentException("Text data id should larger than 0"); + } + mTextDataId = id; + } + + void setCallDataId(long id) { + if (id <= 0) { + throw new IllegalArgumentException("Call data id should larger than 0"); + } + mCallDataId = id; + } + + void setCallData(String key, String value) { + mCallDataValues.put(key, value); + mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); + mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); + } + + void setTextData(String key, String value) { + mTextDataValues.put(key, value); + mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); + mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); + } + + Uri pushIntoContentResolver(Context context, long noteId) { + /** + * Check for safety + */ + if (noteId <= 0) { + throw new IllegalArgumentException("Wrong note id:" + noteId); + } + /** + * 判断数据是否合法 + */ + + ArrayList operationList = new ArrayList(); + ContentProviderOperation.Builder builder = null; + + if (mTextDataValues.size() > 0) { + mTextDataValues.put(DataColumns.NOTE_ID, noteId); + if (mTextDataId == 0) { + mTextDataValues.put(DataColumns.MIME_TYPE, TextNote.CONTENT_ITEM_TYPE); + Uri uri = context.getContentResolver().insert(Notes.CONTENT_DATA_URI, + mTextDataValues); + try { + setTextDataId(Long.valueOf(uri.getPathSegments().get(1))); + } catch (NumberFormatException e) { + Log.e(TAG, "Insert new text data fail with noteId" + noteId); + mTextDataValues.clear(); + return null; + } + } else { + builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId( + Notes.CONTENT_DATA_URI, mTextDataId)); + builder.withValues(mTextDataValues); + operationList.add(builder.build()); + } + mTextDataValues.clear(); + } + /** + * 把文本数据存入DataColumns + */ + + if (mCallDataValues.size() > 0) { + mCallDataValues.put(DataColumns.NOTE_ID, noteId); + if (mCallDataId == 0) { + mCallDataValues.put(DataColumns.MIME_TYPE, CallNote.CONTENT_ITEM_TYPE); + Uri uri = context.getContentResolver().insert(Notes.CONTENT_DATA_URI, + mCallDataValues); + try { + setCallDataId(Long.valueOf(uri.getPathSegments().get(1))); + } catch (NumberFormatException e) { + Log.e(TAG, "Insert new call data fail with noteId" + noteId); + mCallDataValues.clear(); + return null; + } + } else { + builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId( + Notes.CONTENT_DATA_URI, mCallDataId)); + builder.withValues(mCallDataValues); + operationList.add(builder.build()); + } + mCallDataValues.clear(); + } + + if (operationList.size() > 0) { + try { + ContentProviderResult[] results = context.getContentResolver().applyBatch( + Notes.AUTHORITY, operationList); + return (results == null || results.length == 0 || results[0] == null) ? null + : ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId); + } catch (RemoteException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + return null; + } catch (OperationApplicationException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + return null; + } + } + return null; + } + } +} diff --git a/src/src/main/java/net/micode/notes/model/WorkingNote.java b/src/src/main/java/net/micode/notes/model/WorkingNote.java new file mode 100644 index 0000000..e1d660a --- /dev/null +++ b/src/src/main/java/net/micode/notes/model/WorkingNote.java @@ -0,0 +1,427 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.model; + +import android.appwidget.AppWidgetManager; +import android.content.ContentUris; +import android.content.Context; +import android.database.Cursor; +import android.text.TextUtils; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.CallNote; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.data.Notes.TextNote; +import net.micode.notes.tool.ResourceParser.NoteBgResources; + + +public class WorkingNote { + // Note for the working note + private Note mNote; + // Note Id + private long mNoteId; + // Note content + private String mContent; + // Note mode + private int mMode; + + private long mAlertDate; + + private long mModifiedDate; + + private int mBgColorId; + private int mFontSizeId; + + private int mWidgetId; + + private int mWidgetType; + + private long mFolderId; + + private Context mContext; + + private static final String TAG = "WorkingNote"; + + private boolean mIsDeleted; + + private NoteSettingChangedListener mNoteSettingStatusListener; + + /** + * 声明 DATA_PROJECTION字符串数组 + */ + public static final String[] DATA_PROJECTION = new String[]{ + DataColumns.ID, + DataColumns.CONTENT, + DataColumns.MIME_TYPE, + DataColumns.DATA1, + DataColumns.DATA2, + DataColumns.DATA3, + DataColumns.DATA4, + }; + + public static final String[] NOTE_PROJECTION = new String[]{ + NoteColumns.PARENT_ID, + NoteColumns.ALERTED_DATE, + NoteColumns.BG_COLOR_ID, + NoteColumns.WIDGET_ID, + NoteColumns.WIDGET_TYPE, + NoteColumns.MODIFIED_DATE, + NoteColumns.FONT_SIZE_ID + }; + + private static final int DATA_ID_COLUMN = 0; + + private static final int DATA_CONTENT_COLUMN = 1; + + private static final int DATA_MIME_TYPE_COLUMN = 2; + + private static final int DATA_MODE_COLUMN = 3; + + private static final int NOTE_PARENT_ID_COLUMN = 0; + + private static final int NOTE_ALERTED_DATE_COLUMN = 1; + + private static final int NOTE_BG_COLOR_ID_COLUMN = 2; + + private static final int NOTE_WIDGET_ID_COLUMN = 3; + + private static final int NOTE_WIDGET_TYPE_COLUMN = 4; + + private static final int NOTE_MODIFIED_DATE_COLUMN = 5; + + private static final int NOTE_FONT_SIZE_ID_COLUMN = 6; + + // New note construct + + /** + * WorkingNote的构造函数 + * */ + private WorkingNote(Context context, long folderId) { + mContext = context; + mAlertDate = 0; + mModifiedDate = System.currentTimeMillis(); + mFolderId = folderId; + mNote = new Note(); + mNoteId = 0; + mIsDeleted = false; + mMode = 0; + mWidgetType = Notes.TYPE_WIDGET_INVALIDE; + } + + // Existing note construct + private WorkingNote(Context context, long noteId, long folderId) { + mContext = context; + mNoteId = noteId; + mFolderId = folderId; + mIsDeleted = false; + mNote = new Note(); + loadNote(); + } + + /** + * 通过数据库调用query函数找到第一个条目 + */ + private void loadNote() { + Cursor cursor = mContext.getContentResolver().query( + ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mNoteId), NOTE_PROJECTION, null, + null, null); + + if (cursor != null) { + if (cursor.moveToFirst()) { + mFolderId = cursor.getLong(NOTE_PARENT_ID_COLUMN); + mBgColorId = cursor.getInt(NOTE_BG_COLOR_ID_COLUMN); + mFontSizeId = cursor.getInt(NOTE_FONT_SIZE_ID_COLUMN); + mWidgetId = cursor.getInt(NOTE_WIDGET_ID_COLUMN); + mWidgetType = cursor.getInt(NOTE_WIDGET_TYPE_COLUMN); + mAlertDate = cursor.getLong(NOTE_ALERTED_DATE_COLUMN); + mModifiedDate = cursor.getLong(NOTE_MODIFIED_DATE_COLUMN); + } + cursor.close(); + } else { + Log.e(TAG, "No note with id:" + mNoteId); + throw new IllegalArgumentException("Unable to find note with id " + mNoteId); + } + loadNoteData(); + } + + private void loadNoteData() { + Cursor cursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI, DATA_PROJECTION, + DataColumns.NOTE_ID + "=?", new String[]{ + String.valueOf(mNoteId) + }, null); +/** + * 查看第一项是否存在 + */ + if (cursor != null) { + if (cursor.moveToFirst()) { + do { + String type = cursor.getString(DATA_MIME_TYPE_COLUMN); + if (DataConstants.NOTE.equals(type)) { + mContent = cursor.getString(DATA_CONTENT_COLUMN); + mMode = cursor.getInt(DATA_MODE_COLUMN); + mNote.setTextDataId(cursor.getLong(DATA_ID_COLUMN)); + } else if (DataConstants.CALL_NOTE.equals(type)) { + mNote.setCallDataId(cursor.getLong(DATA_ID_COLUMN)); + } else { + Log.d(TAG, "Wrong note type with type:" + type); + } + } while (cursor.moveToNext()); + } + cursor.close(); + } else { + Log.e(TAG, "No data with id:" + mNoteId); + throw new IllegalArgumentException("Unable to find note's data with id " + mNoteId); + } + } + + /** + * 创建空的Note 传参:context,文件夹id,widget,背景颜色 + */ + public static WorkingNote createEmptyNote(Context context, long folderId, int widgetId, + int widgetType, int defaultBgColorId,int defaultFontSizeId) { + WorkingNote note = new WorkingNote(context, folderId); + note.setBgColorId(defaultBgColorId); + note.setFontSizeId(defaultFontSizeId); + note.setWidgetId(widgetId); + note.setWidgetType(widgetType); + return note; + } + + public static WorkingNote load(Context context, long id) { + return new WorkingNote(context, id, 0); + } + + public synchronized boolean saveNote() { + if (isWorthSaving()) { + if (!existInDatabase()) { + if ((mNoteId = Note.getNewNoteId(mContext, mFolderId)) == 0) { + Log.e(TAG, "Create new note fail with id:" + mNoteId); + return false; + } + } + + mNote.syncNote(mContext, mNoteId); + + /** + * Update widget content if there exist any widget of this note + */ + if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && mWidgetType != Notes.TYPE_WIDGET_INVALIDE + && mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onWidgetChanged(); + } + return true; + } else { + return false; + } + } + + public boolean existInDatabase() { + return mNoteId > 0; + } + + private boolean isWorthSaving() { + if (mIsDeleted || (!existInDatabase() && TextUtils.isEmpty(mContent)) + || (existInDatabase() && !mNote.isLocalModified())) { + return false; + } else { + return true; + } + } + + public void setOnSettingStatusChangedListener(NoteSettingChangedListener l) { + mNoteSettingStatusListener = l; + } + + /** + * 设置AlertDate + * 若 mAlertDate与data不同,则更改mAlertDate并设定NoteValue + */ + public void setAlertDate(long date, boolean set) { + if (date != mAlertDate) { + mAlertDate = date; + mNote.setNoteValue(NoteColumns.ALERTED_DATE, String.valueOf(mAlertDate)); + } + if (mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onClockAlertChanged(date, set); + } + } + + /** + * 设定删除标记 + */ + public void markDeleted(boolean mark) { + mIsDeleted = mark; + if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && mWidgetType != Notes.TYPE_WIDGET_INVALIDE && mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onWidgetChanged(); + } + } + + /** + *设定背景颜色 + */ + public void setBgColorId(int id) { + if (id != mBgColorId) { + mBgColorId = id; + if (mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onBackgroundColorChanged(); + } + mNote.setNoteValue(NoteColumns.BG_COLOR_ID, String.valueOf(id)); + } + } + + public void setFontSizeId(int id){ + if(id != mFontSizeId) { + mFontSizeId = id; + if(mNoteSettingStatusListener != null){ + mNoteSettingStatusListener.onFontSizeChanged(); + } + mNote.setNoteValue(NoteColumns.FONT_SIZE_ID,String.valueOf(id)); + } + } + + /** + *设定检查列表模式 + */ + public void setCheckListMode(int mode) { + if (mMode != mode) { + if (mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onCheckListModeChanged(mMode, mode); + } + mMode = mode; + mNote.setTextData(TextNote.MODE, String.valueOf(mMode)); + } + } + + /** + *设定WidgetType + */ + public void setWidgetType(int type) { + if (type != mWidgetType) { + mWidgetType = type; + mNote.setNoteValue(NoteColumns.WIDGET_TYPE, String.valueOf(mWidgetType)); + } + } + + /** + *设定WidgetId + */ + public void setWidgetId(int id) { + if (id != mWidgetId) { + mWidgetId = id; + mNote.setNoteValue(NoteColumns.WIDGET_ID, String.valueOf(mWidgetId)); + } + } + + /** + *设定setWorkingText + */ + public void setWorkingText(String text) { + if (!TextUtils.equals(mContent, text)) { + mContent = text; + mNote.setTextData(DataColumns.CONTENT, mContent); + } + } + + public void convertToCallNote(String phoneNumber, long callDate) { + mNote.setCallData(CallNote.CALL_DATE, String.valueOf(callDate)); + mNote.setCallData(CallNote.PHONE_NUMBER, phoneNumber); + mNote.setNoteValue(NoteColumns.PARENT_ID, String.valueOf(Notes.ID_CALL_RECORD_FOLDER)); + } + + public boolean hasClockAlert() { + return (mAlertDate > 0 ? true : false); + } + + public String getContent() { + return mContent; + } + + public long getAlertDate() { + return mAlertDate; + } + + public long getModifiedDate() { + return mModifiedDate; + } + + public int getBgColorResId() { + return NoteBgResources.getNoteBgResource(mBgColorId); + } + + public int getBgColorId() { + return mBgColorId; + } + public int getFontSizeId(){ + return mFontSizeId; + } + + public int getTitleBgResId() { + return NoteBgResources.getNoteTitleBgResource(mBgColorId); + } + + public int getCheckListMode() { + return mMode; + } + + public long getNoteId() { + return mNoteId; + } + + public long getFolderId() { + return mFolderId; + } + + public int getWidgetId() { + return mWidgetId; + } + + public int getWidgetType() { + return mWidgetType; + } + + public interface NoteSettingChangedListener { + /** + * Called when the background color of current note has just changed + */ + void onBackgroundColorChanged(); + + void onFontSizeChanged(); + + /** + * Called when user set clock + */ + void onClockAlertChanged(long date, boolean set); + + /** + * Call when user create note from widget + */ + void onWidgetChanged(); + + /** + * Call when switch between check list mode and normal mode + * + * @param oldMode is previous mode before change + * @param newMode is new mode + */ + void onCheckListModeChanged(int oldMode, int newMode); + } +} diff --git a/src/src/main/java/net/micode/notes/tool/BackupUtils.java b/src/src/main/java/net/micode/notes/tool/BackupUtils.java new file mode 100644 index 0000000..6d8ea0a --- /dev/null +++ b/src/src/main/java/net/micode/notes/tool/BackupUtils.java @@ -0,0 +1,354 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.tool; + +import android.content.Context; +import android.database.Cursor; +import android.os.Environment; +import android.text.TextUtils; +import android.text.format.DateFormat; +import android.util.Log; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; + + +public class BackupUtils { + private static final String TAG = "BackupUtils"; + // Singleton stuff + private static BackupUtils sInstance; + /* + * synchronized关键字代表该方法加锁: + * 任何一个线程运行到该方法都得检测是否在其它线程运用到了该方法 + */ + public static synchronized BackupUtils getInstance(Context context) { + if (sInstance == null) { + //如果当前备份缺失,则重新定义一个 + sInstance = new BackupUtils(context); + } + return sInstance; + } + + /** + * Following states are signs to represents backup or restore + * status + */ + // Currently, the sdcard is not mounted + public static final int STATE_SD_CARD_UNMOUONTED = 0; + // The backup file not exist + public static final int STATE_BACKUP_FILE_NOT_EXIST = 1; + // The data is not well formated, may be changed by other programs + public static final int STATE_DATA_DESTROIED = 2; + // Some run-time exception which causes restore or backup fails + public static final int STATE_SYSTEM_ERROR = 3; + // Backup or restore success + public static final int STATE_SUCCESS = 4; + + private TextExport mTextExport; + + private BackupUtils(Context context) { + mTextExport = new TextExport(context); + }//构造函数 + /* + * 判断外部存储功能是否可用 + */ + private static boolean externalStorageAvailable() { + return Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()); + } + /* + * 获取有关文本的一些信息 + */ + public int exportToText() { + return mTextExport.exportToText(); + } + + public String getExportedTextFileName() { + return mTextExport.mFileName; + } + + public String getExportedTextFileDir() { + return mTextExport.mFileDirectory; + } + + private static class TextExport { + private static final String[] NOTE_PROJECTION = { + NoteColumns.ID, + NoteColumns.MODIFIED_DATE, + NoteColumns.SNIPPET, + NoteColumns.TYPE + }; + + private static final int NOTE_COLUMN_ID = 0; + + private static final int NOTE_COLUMN_MODIFIED_DATE = 1; + + private static final int NOTE_COLUMN_SNIPPET = 2; + + private static final String[] DATA_PROJECTION = { + DataColumns.CONTENT, + DataColumns.MIME_TYPE, + DataColumns.DATA1, + DataColumns.DATA2, + DataColumns.DATA3, + DataColumns.DATA4, + }; + + private static final int DATA_COLUMN_CONTENT = 0; + + private static final int DATA_COLUMN_MIME_TYPE = 1; + + private static final int DATA_COLUMN_CALL_DATE = 2; + + private static final int DATA_COLUMN_PHONE_NUMBER = 4; + + private final String[] TEXT_FORMAT; + private static final int FORMAT_FOLDER_NAME = 0; + private static final int FORMAT_NOTE_DATE = 1; + private static final int FORMAT_NOTE_CONTENT = 2; + + private Context mContext; + private String mFileName; + private String mFileDirectory; + + public TextExport(Context context) { + TEXT_FORMAT = context.getResources().getStringArray(R.array.format_for_exported_note); + mContext = context; + mFileName = ""; + mFileDirectory = ""; + } + + private String getFormat(int id) { + return TEXT_FORMAT[id]; + } + + /** + * Export the folder identified by folder id to text + */ + private void exportFolderToText(String folderId, PrintStream ps) { + // Query notes belong to this folder + Cursor notesCursor = mContext.getContentResolver().query(Notes.CONTENT_NOTE_URI, + NOTE_PROJECTION, NoteColumns.PARENT_ID + "=?", new String[]{ + folderId + }, null); + + if (notesCursor != null) { + if (notesCursor.moveToFirst()) { + do { + // Print note's last modified date + ps.println(String.format(getFormat(FORMAT_NOTE_DATE), DateFormat.format( + mContext.getString(R.string.format_datetime_mdhm), + notesCursor.getLong(NOTE_COLUMN_MODIFIED_DATE)))); + // Query data belong to this note + String noteId = notesCursor.getString(NOTE_COLUMN_ID); + exportNoteToText(noteId, ps); + } while (notesCursor.moveToNext()); + } + notesCursor.close(); + } + } + + /** + * Export note identified by id to a print stream + */ + private void exportNoteToText(String noteId, PrintStream ps) { + Cursor dataCursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI, + DATA_PROJECTION, DataColumns.NOTE_ID + "=?", new String[]{ + noteId + }, null); + + if (dataCursor != null) { + if (dataCursor.moveToFirst()) { + do { + String mimeType = dataCursor.getString(DATA_COLUMN_MIME_TYPE); + if (DataConstants.CALL_NOTE.equals(mimeType)) { + // Print phone number + String phoneNumber = dataCursor.getString(DATA_COLUMN_PHONE_NUMBER); + long callDate = dataCursor.getLong(DATA_COLUMN_CALL_DATE); + String location = dataCursor.getString(DATA_COLUMN_CONTENT); + + if (!TextUtils.isEmpty(phoneNumber)) { + ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), + phoneNumber)); + } + // Print call date + ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), DateFormat + .format(mContext.getString(R.string.format_datetime_mdhm), + callDate))); + // Print call attachment location + if (!TextUtils.isEmpty(location)) { + ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), + location)); + } + } else if (DataConstants.NOTE.equals(mimeType)) { + String content = dataCursor.getString(DATA_COLUMN_CONTENT); + if (!TextUtils.isEmpty(content)) { + ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), + content)); + } + } + } while (dataCursor.moveToNext()); + } + dataCursor.close(); + } + // print a line separator between note + try { + ps.write(new byte[]{ + Character.LINE_SEPARATOR, Character.LETTER_NUMBER + }); + } catch (IOException e) { + Log.e(TAG, e.toString()); + } + } + + /** + * Note will be exported as text which is user readable + */ + public int exportToText() { + if (!externalStorageAvailable()) { + Log.d(TAG, "Media was not mounted"); + return STATE_SD_CARD_UNMOUONTED; + } + + PrintStream ps = getExportToTextPrintStream(); + if (ps == null) { + Log.e(TAG, "get print stream error"); + return STATE_SYSTEM_ERROR; + } + // First export folder and its notes + Cursor folderCursor = mContext.getContentResolver().query( + Notes.CONTENT_NOTE_URI, + NOTE_PROJECTION, + "(" + NoteColumns.TYPE + "=" + Notes.TYPE_FOLDER + " AND " + + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER + ") OR " + + NoteColumns.ID + "=" + Notes.ID_CALL_RECORD_FOLDER, null, null); + + if (folderCursor != null) { + if (folderCursor.moveToFirst()) { + do { + // Print folder's name + String folderName = ""; + if (folderCursor.getLong(NOTE_COLUMN_ID) == Notes.ID_CALL_RECORD_FOLDER) { + folderName = mContext.getString(R.string.call_record_folder_name); + } else { + folderName = folderCursor.getString(NOTE_COLUMN_SNIPPET); + } + if (!TextUtils.isEmpty(folderName)) { + ps.println(String.format(getFormat(FORMAT_FOLDER_NAME), folderName)); + } + String folderId = folderCursor.getString(NOTE_COLUMN_ID); + exportFolderToText(folderId, ps); + } while (folderCursor.moveToNext()); + } + folderCursor.close(); + } + + // Export notes in root's folder + Cursor noteCursor = mContext.getContentResolver().query( + Notes.CONTENT_NOTE_URI, + NOTE_PROJECTION, + NoteColumns.TYPE + "=" + +Notes.TYPE_NOTE + " AND " + NoteColumns.PARENT_ID + + "=0", null, null); + + if (noteCursor != null) { + if (noteCursor.moveToFirst()) { + do { + ps.println(String.format(getFormat(FORMAT_NOTE_DATE), DateFormat.format( + mContext.getString(R.string.format_datetime_mdhm), + noteCursor.getLong(NOTE_COLUMN_MODIFIED_DATE)))); + // Query data belong to this note + String noteId = noteCursor.getString(NOTE_COLUMN_ID); + exportNoteToText(noteId, ps); + } while (noteCursor.moveToNext()); + } + noteCursor.close(); + } + ps.close(); + + return STATE_SUCCESS; + } + + /** + * Get a print stream pointed to the file {@generateExportedTextFile} + */ + private PrintStream getExportToTextPrintStream() { + File file = generateFileMountedOnSDcard(mContext, R.string.file_path, + R.string.file_name_txt_format); + if (file == null) { + Log.e(TAG, "create file to exported failed"); + return null; + } + mFileName = file.getName(); + mFileDirectory = mContext.getString(R.string.file_path); + PrintStream ps = null; + try { + FileOutputStream fos = new FileOutputStream(file); + ps = new PrintStream(fos); + } catch (FileNotFoundException e) { + e.printStackTrace(); + return null; + } catch (NullPointerException e) { + e.printStackTrace(); + return null; + } + return ps; + } + } + + /** + * Generate the text file to store imported data + */ + private static File generateFileMountedOnSDcard(Context context, int filePathResId, int fileNameFormatResId) { + StringBuilder sb = new StringBuilder(); + sb.append(Environment.getExternalStorageDirectory()); + sb.append(context.getString(filePathResId)); + File filedir = new File(sb.toString()); + sb.append(context.getString( + fileNameFormatResId, + DateFormat.format(context.getString(R.string.format_date_ymd), + System.currentTimeMillis()))); + File file = new File(sb.toString()); + /* + * 如果文件不存在则抛出异常 + */ + try { + if (!filedir.exists()) { + filedir.mkdir(); + } + if (!file.exists()) { + file.createNewFile(); + } + return file; + } catch (SecurityException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + return null; + } +} + + diff --git a/src/src/main/java/net/micode/notes/tool/DataUtils.java b/src/src/main/java/net/micode/notes/tool/DataUtils.java new file mode 100644 index 0000000..18701dc --- /dev/null +++ b/src/src/main/java/net/micode/notes/tool/DataUtils.java @@ -0,0 +1,309 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.tool; + +import android.content.ContentProviderOperation; +import android.content.ContentProviderResult; +import android.content.ContentResolver; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.OperationApplicationException; +import android.database.Cursor; +import android.os.RemoteException; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.CallNote; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.ui.NotesListAdapter.AppWidgetAttribute; + +import java.util.ArrayList; +import java.util.HashSet; + +/** + * 数据工具包 + * 功能:定义了一些用来处理便签数据的方法(包括删除、转移、计数、查找、校验)以及异常处理 + */ + +public class DataUtils { + public static final String TAG = "DataUtils"; + /* + * 此方法用于批删除便签(包括一些特殊情况的处理) + */ + public static boolean batchDeleteNotes(ContentResolver resolver, HashSet ids) { + if (ids == null) { + Log.d(TAG, "the ids is null"); + return true; + } + if (ids.size() == 0) { + Log.d(TAG, "no id is in the hashset"); + return true; + } + + ArrayList operationList = new ArrayList(); + for (long id : ids) { + //若发现是根文件则跳过此执行语句 + if (id == Notes.ID_ROOT_FOLDER) { + Log.e(TAG, "Don't delete system folder root"); + continue; + } + ContentProviderOperation.Builder builder = ContentProviderOperation + .newDelete(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id)); + operationList.add(builder.build()); + } + try { + ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList); + if (results == null || results.length == 0 || results[0] == null) { + Log.d(TAG, "delete notes failed, ids:" + ids.toString()); + return false; + } + return true; + } catch (RemoteException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + } catch (OperationApplicationException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + } + return false; + } + + /** + * 移动便签到文件夹 + */ + public static void moveNoteToFoler(ContentResolver resolver, long id, long srcFolderId, long desFolderId) { + ContentValues values = new ContentValues(); + values.put(NoteColumns.PARENT_ID, desFolderId); + values.put(NoteColumns.ORIGIN_PARENT_ID, srcFolderId); + values.put(NoteColumns.LOCAL_MODIFIED, 1); + resolver.update(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id), values, null, null); + } + + /** + * 脚本移动到文件夹中 + */ + public static boolean batchMoveToFolder(ContentResolver resolver, HashSet ids, + long folderId) { + if (ids == null) { + Log.d(TAG, "the ids is null"); + return true; + } + + ArrayList operationList = new ArrayList(); + for (long id : ids) { + ContentProviderOperation.Builder builder = ContentProviderOperation + .newUpdate(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id)); + builder.withValue(NoteColumns.PARENT_ID, folderId); + builder.withValue(NoteColumns.LOCAL_MODIFIED, 1); + operationList.add(builder.build()); + } + //异常捕获 + try { + ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList); + if (results == null || results.length == 0 || results[0] == null) { + Log.d(TAG, "delete notes failed, ids:" + ids.toString()); + return false; + } + return true; + } catch (RemoteException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + } catch (OperationApplicationException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + } + return false; + } + + /** + * Get the all folder count except system folders {@link Notes#TYPE_SYSTEM}} + */ + public static int getUserFolderCount(ContentResolver resolver) { + Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI, + new String[]{"COUNT(*)"}, + NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>?", + new String[]{String.valueOf(Notes.TYPE_FOLDER), String.valueOf(Notes.ID_TRASH_FOLER)}, + null); + + int count = 0; + if (cursor != null) { + if (cursor.moveToFirst()) { + try { + count = cursor.getInt(0); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, "get folder count failed:" + e.toString()); + } finally { + cursor.close(); + } + } + } + return count; + } + + public static boolean visibleInNoteDatabase(ContentResolver resolver, long noteId, int type) { + Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), + null, + NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER, + new String[]{String.valueOf(type)}, + null); + + boolean exist = false; + if (cursor != null) { + if (cursor.getCount() > 0) { + exist = true; + } + cursor.close(); + } + return exist; + } + + public static boolean existInNoteDatabase(ContentResolver resolver, long noteId) { + Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), + null, null, null, null); + + boolean exist = false; + if (cursor != null) { + if (cursor.getCount() > 0) { + exist = true; + } + cursor.close(); + } + return exist; + } + + public static boolean existInDataDatabase(ContentResolver resolver, long dataId) { + Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), + null, null, null, null); + + boolean exist = false; + if (cursor != null) { + if (cursor.getCount() > 0) { + exist = true; + } + cursor.close(); + } + return exist; + } + + public static boolean checkVisibleFolderName(ContentResolver resolver, String name) { + Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI, null, + NoteColumns.TYPE + "=" + Notes.TYPE_FOLDER + + " AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER + + " AND " + NoteColumns.SNIPPET + "=?", + new String[]{name}, null); + boolean exist = false; + if (cursor != null) { + if (cursor.getCount() > 0) { + exist = true; + } + cursor.close(); + } + return exist; + } + + public static HashSet getFolderNoteWidget(ContentResolver resolver, long folderId) { + Cursor c = resolver.query(Notes.CONTENT_NOTE_URI, + new String[]{NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE}, + NoteColumns.PARENT_ID + "=?", + new String[]{String.valueOf(folderId)}, + null); + + HashSet set = null; + if (c != null) { + if (c.moveToFirst()) { + set = new HashSet(); + do { + try { + AppWidgetAttribute widget = new AppWidgetAttribute(); + widget.widgetId = c.getInt(0); + widget.widgetType = c.getInt(1); + set.add(widget); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, e.toString()); + } + } while (c.moveToNext()); + } + c.close(); + } + return set; + } + + public static String getCallNumberByNoteId(ContentResolver resolver, long noteId) { + Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI, + new String[]{CallNote.PHONE_NUMBER}, + CallNote.NOTE_ID + "=? AND " + CallNote.MIME_TYPE + "=?", + new String[]{String.valueOf(noteId), CallNote.CONTENT_ITEM_TYPE}, + null); + + if (cursor != null && cursor.moveToFirst()) { + try { + return cursor.getString(0); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, "Get call number fails " + e.toString()); + } finally { + cursor.close(); + } + } + return ""; + } + + public static long getNoteIdByPhoneNumberAndCallDate(ContentResolver resolver, String phoneNumber, long callDate) { + Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI, + new String[]{CallNote.NOTE_ID}, + CallNote.CALL_DATE + "=? AND " + CallNote.MIME_TYPE + "=? AND PHONE_NUMBERS_EQUAL(" + + CallNote.PHONE_NUMBER + ",?)", + new String[]{String.valueOf(callDate), CallNote.CONTENT_ITEM_TYPE, phoneNumber}, + null); + + if (cursor != null) { + if (cursor.moveToFirst()) { + try { + return cursor.getLong(0); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, "Get call note id fails " + e.toString()); + } + } + cursor.close(); + } + return 0; + } + + public static String getSnippetById(ContentResolver resolver, long noteId) { + Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI, + new String[]{NoteColumns.SNIPPET}, + NoteColumns.ID + "=?", + new String[]{String.valueOf(noteId)}, + null); + + if (cursor != null) { + String snippet = ""; + if (cursor.moveToFirst()) { + snippet = cursor.getString(0); + } + cursor.close(); + return snippet; + } + throw new IllegalArgumentException("Note is not found with id: " + noteId); + } + + public static String getFormattedSnippet(String snippet) { + if (snippet != null) { + snippet = snippet.trim(); + int index = snippet.indexOf('\n'); + if (index != -1) { + snippet = snippet.substring(0, index); + } + } + return snippet; + } +} diff --git a/src/src/main/java/net/micode/notes/tool/GTaskStringUtils.java b/src/src/main/java/net/micode/notes/tool/GTaskStringUtils.java new file mode 100644 index 0000000..a9e2f17 --- /dev/null +++ b/src/src/main/java/net/micode/notes/tool/GTaskStringUtils.java @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.tool; + +/** + * 定义了一些静态字符串常量,为jsonObject提供了键,是一种编程规范 + */ +public class GTaskStringUtils { + + public final static String GTASK_JSON_ACTION_ID = "action_id"; + + public final static String GTASK_JSON_ACTION_LIST = "action_list"; + + public final static String GTASK_JSON_ACTION_TYPE = "action_type"; + + public final static String GTASK_JSON_ACTION_TYPE_CREATE = "create"; + + public final static String GTASK_JSON_ACTION_TYPE_GETALL = "get_all"; + + public final static String GTASK_JSON_ACTION_TYPE_MOVE = "move"; + + public final static String GTASK_JSON_ACTION_TYPE_UPDATE = "update"; + + public final static String GTASK_JSON_CREATOR_ID = "creator_id"; + + public final static String GTASK_JSON_CHILD_ENTITY = "child_entity"; + + public final static String GTASK_JSON_CLIENT_VERSION = "client_version"; + + public final static String GTASK_JSON_COMPLETED = "completed"; + + public final static String GTASK_JSON_CURRENT_LIST_ID = "current_list_id"; + + public final static String GTASK_JSON_DEFAULT_LIST_ID = "default_list_id"; + + public final static String GTASK_JSON_DELETED = "deleted"; + + public final static String GTASK_JSON_DEST_LIST = "dest_list"; + + public final static String GTASK_JSON_DEST_PARENT = "dest_parent"; + + public final static String GTASK_JSON_DEST_PARENT_TYPE = "dest_parent_type"; + + public final static String GTASK_JSON_ENTITY_DELTA = "entity_delta"; + + public final static String GTASK_JSON_ENTITY_TYPE = "entity_type"; + + public final static String GTASK_JSON_GET_DELETED = "get_deleted"; + + public final static String GTASK_JSON_ID = "id"; + + public final static String GTASK_JSON_INDEX = "index"; + + public final static String GTASK_JSON_LAST_MODIFIED = "last_modified"; + + public final static String GTASK_JSON_LATEST_SYNC_POINT = "latest_sync_point"; + + public final static String GTASK_JSON_LIST_ID = "list_id"; + + public final static String GTASK_JSON_LISTS = "lists"; + + public final static String GTASK_JSON_NAME = "name"; + + public final static String GTASK_JSON_NEW_ID = "new_id"; + + public final static String GTASK_JSON_NOTES = "notes"; + + public final static String GTASK_JSON_PARENT_ID = "parent_id"; + + public final static String GTASK_JSON_PRIOR_SIBLING_ID = "prior_sibling_id"; + + public final static String GTASK_JSON_RESULTS = "results"; + + public final static String GTASK_JSON_SOURCE_LIST = "source_list"; + + public final static String GTASK_JSON_TASKS = "tasks"; + + public final static String GTASK_JSON_TYPE = "type"; + + public final static String GTASK_JSON_TYPE_GROUP = "GROUP"; + + public final static String GTASK_JSON_TYPE_TASK = "TASK"; + + public final static String GTASK_JSON_USER = "user"; + + public final static String MIUI_FOLDER_PREFFIX = "[MIUI_Notes]"; + + public final static String FOLDER_DEFAULT = "Default"; + + public final static String FOLDER_CALL_NOTE = "Call_Note"; + + public final static String FOLDER_META = "METADATA"; + + public final static String META_HEAD_GTASK_ID = "meta_gid"; + + public final static String META_HEAD_NOTE = "meta_note"; + + public final static String META_HEAD_DATA = "meta_data"; + + public final static String META_NOTE_NAME = "[META INFO] DON'T UPDATE AND DELETE"; + +} diff --git a/src/src/main/java/net/micode/notes/tool/ResourceParser.java b/src/src/main/java/net/micode/notes/tool/ResourceParser.java new file mode 100644 index 0000000..ae5d049 --- /dev/null +++ b/src/src/main/java/net/micode/notes/tool/ResourceParser.java @@ -0,0 +1,194 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.tool; + +import android.content.Context; +import android.preference.PreferenceManager; + +import net.micode.notes.R; +import net.micode.notes.ui.activities.NotesPreferenceActivity; + +/** + * 资源分析器 + * 功能:获取资源并将其应用的进程中 + */ +public class ResourceParser { + + public static final int YELLOW = 0; + public static final int BLUE = 1; + public static final int WHITE = 2; + public static final int GREEN = 3; + public static final int RED = 4; + public static final int ORANGE = 5; + + public static final int BG_DEFAULT_COLOR = YELLOW; + + public static final int TEXT_SMALL = 0; + public static final int TEXT_MEDIUM = 1; + public static final int TEXT_LARGE = 2; + public static final int TEXT_SUPER = 3; + + public static final int BG_DEFAULT_FONT_SIZE = TEXT_MEDIUM; + + public static class NoteBgResources { + private final static int[] BG_EDIT_RESOURCES = new int[]{ + R.drawable.edit_yellow, + R.drawable.edit_blue, + R.drawable.edit_white, + R.drawable.edit_green, + R.drawable.edit_red, + R.drawable.edit_orange + }; + + private final static int[] BG_EDIT_TITLE_RESOURCES = new int[]{ + R.drawable.edit_title_yellow, + R.drawable.edit_title_blue, + R.drawable.edit_title_white, + R.drawable.edit_title_green, + R.drawable.edit_title_red, + R.drawable.edit_title_orange + }; + + public static int getNoteBgResource(int id) { + return BG_EDIT_RESOURCES[id]; + } + + public static int getNoteTitleBgResource(int id) { + return BG_EDIT_TITLE_RESOURCES[id]; + } + } + + public static int getDefaultBgId(Context context) { + if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean( + NotesPreferenceActivity.PREFERENCE_SET_BG_COLOR_KEY, false)) { + return (int) (Math.random() * NoteBgResources.BG_EDIT_RESOURCES.length); + } else { + return BG_DEFAULT_COLOR; + } + } + + public static class NoteItemBgResources { + private final static int[] BG_FIRST_RESOURCES = new int[]{ + R.drawable.list_yellow_up, + R.drawable.list_blue_up, + R.drawable.list_white_up, + R.drawable.list_green_up, + R.drawable.list_red_up, + R.drawable.list_orange_up + }; + + private final static int[] BG_NORMAL_RESOURCES = new int[]{ + R.drawable.list_yellow_middle, + R.drawable.list_blue_middle, + R.drawable.list_white_middle, + R.drawable.list_green_middle, + R.drawable.list_red_middle, + R.drawable.list_orange_middle + }; + + private final static int[] BG_LAST_RESOURCES = new int[]{ + R.drawable.list_yellow_down, + R.drawable.list_blue_down, + R.drawable.list_white_down, + R.drawable.list_green_down, + R.drawable.list_red_down, + R.drawable.list_orange_down + }; + + private final static int[] BG_SINGLE_RESOURCES = new int[]{ + R.drawable.list_yellow_single, + R.drawable.list_blue_single, + R.drawable.list_white_single, + R.drawable.list_green_single, + R.drawable.list_red_single, + R.drawable.list_orange_single + }; + + public static int getNoteBgFirstRes(int id) { + return BG_FIRST_RESOURCES[id]; + } + + public static int getNoteBgLastRes(int id) { + return BG_LAST_RESOURCES[id]; + } + + public static int getNoteBgSingleRes(int id) { + return BG_SINGLE_RESOURCES[id]; + } + + public static int getNoteBgNormalRes(int id) { + return BG_NORMAL_RESOURCES[id]; + } + + public static int getFolderBgRes() { + return R.drawable.list_folder; + } + } + + public static class WidgetBgResources { + private final static int[] BG_2X_RESOURCES = new int[]{ + R.drawable.widget_2x_yellow, + R.drawable.widget_2x_blue, + R.drawable.widget_2x_white, + R.drawable.widget_2x_green, + R.drawable.widget_2x_red, + R.drawable.widget_2x_orange + }; + + public static int getWidget2xBgResource(int id) { + return BG_2X_RESOURCES[id]; + } + + private final static int[] BG_4X_RESOURCES = new int[]{ + R.drawable.widget_4x_yellow, + R.drawable.widget_4x_blue, + R.drawable.widget_4x_white, + R.drawable.widget_4x_green, + R.drawable.widget_4x_red, + R.drawable.widget_4x_orange + }; + + public static int getWidget4xBgResource(int id) { + return BG_4X_RESOURCES[id]; + } + } + + public static class TextAppearanceResources { + private final static int[] TEXTAPPEARANCE_RESOURCES = new int[]{ + R.style.TextAppearanceNormal, + R.style.TextAppearanceMedium, + R.style.TextAppearanceLarge, + R.style.TextAppearanceSuper + }; + + public static int getTexAppearanceResource(int id) { + /** + * HACKME: Fix bug of store the resource id in shared preference. + * The id may larger than the length of resources, in this case, + * return the {@link ResourceParser#BG_DEFAULT_FONT_SIZE} + */ + if (id >= TEXTAPPEARANCE_RESOURCES.length) { + return BG_DEFAULT_FONT_SIZE; + } + return TEXTAPPEARANCE_RESOURCES[id]; + } + + public static int getResourcesSize() { + return TEXTAPPEARANCE_RESOURCES.length; + } + } +} diff --git a/src/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java b/src/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java new file mode 100644 index 0000000..008dab6 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/AlarmInitReceiver.java @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.ContentUris; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; + +/** + * 闹钟传回的初始化信息接收者 + * 在设置闹钟之后该活动类会接受来自闹钟系统传回的消息并进行相关处理 + */ +public class AlarmInitReceiver extends BroadcastReceiver { + + // 数据格式封包 + /** + * 对数据库的操作,调用标签ID和闹钟时间 + */ + private static final String[] PROJECTION = new String[]{ + NoteColumns.ID, + NoteColumns.ALERTED_DATE + }; + + private static final int COLUMN_ID = 0; + private static final int COLUMN_ALERTED_DATE = 1; + + // 接收到闹钟应用的广播后执行该方法 + @Override + public void onReceive(Context context, Intent intent) { + long currentDate = System.currentTimeMillis(); + /** + * System.currentTimeMillis()产生一个当前的毫秒 + * 这个毫秒其实就是自1970年1月1日0时起的毫秒数 + */ + Cursor c = context.getContentResolver().query(Notes.CONTENT_NOTE_URI, + PROJECTION, + NoteColumns.ALERTED_DATE + ">? AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE, + new String[]{String.valueOf(currentDate)}, + /** + * 将long变量currentDate转化为字符串 + */ + null); + /** + * Cursor在这里的作用是通过查找数据库中的标签内容,找到和当前系统时间相等的标签 + */ + + if (c != null) { + if (c.moveToFirst()) { + do { + long alertDate = c.getLong(COLUMN_ALERTED_DATE); + Intent sender = new Intent(context, AlarmReceiver.class); + sender.setData(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, c.getLong(COLUMN_ID))); + PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, sender, 0); + AlarmManager alermManager = (AlarmManager) context + .getSystemService(Context.ALARM_SERVICE); + alermManager.set(AlarmManager.RTC_WAKEUP, alertDate, pendingIntent); + } while (c.moveToNext()); + } + c.close(); + } + /** + * 然而通过网上查找资料发现,对于闹钟机制的启动,通常需要上面的几个步骤 + * 如新建Intent、PendingIntent以及AlarmManager等 + * 这里就是根据数据库里的闹钟时间创建一个闹钟机制 + */ + } +} diff --git a/src/src/main/java/net/micode/notes/ui/AlarmReceiver.java b/src/src/main/java/net/micode/notes/ui/AlarmReceiver.java new file mode 100644 index 0000000..27db98e --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/AlarmReceiver.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +import net.micode.notes.ui.activities.AlarmAlertActivity; + +/** + * 闹钟广播消息的接收者 + * 根据消息内容发起 Intent 调用 + */ +public class AlarmReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + intent.setClass(context, AlarmAlertActivity.class); + /** + * 启动AlarmAlertActivity + */ + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + /** + * activity要存在于activity的栈中,而非activity的途径启动activity时必然不存在一个activity的栈 + * 所以要新起一个栈装入启动的activity + */ + context.startActivity(intent); + } +} +/** + * 这是实现alarm这个功能最接近用户层的包,基于上面的两个包, + * 作用还需要深究但是对于setClass和addFlags的 + */ \ No newline at end of file diff --git a/src/src/main/java/net/micode/notes/ui/DateTimePicker.java b/src/src/main/java/net/micode/notes/ui/DateTimePicker.java new file mode 100644 index 0000000..0461b24 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/DateTimePicker.java @@ -0,0 +1,559 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import java.text.DateFormatSymbols; +import java.util.Calendar; + +import net.micode.notes.R; + + +import android.content.Context; +import android.text.format.DateFormat; +import android.view.View; +import android.widget.FrameLayout; +import android.widget.NumberPicker; + +/** + * 日期选择器,是 [FrameLayout] 的子类 + */ +public class DateTimePicker extends FrameLayout { + /** + * FrameLayout是布局模板之一 + * 所有的子元素全部在屏幕的右上方 + */ + private static final boolean DEFAULT_ENABLE_STATE = true; + + /** + * 常量声明,包含一些数值范围等 + * 例如小时可选范围为0~23小时 + * 分钟可选范围为0~59分钟 + */ + private static final int HOURS_IN_HALF_DAY = 12; + private static final int HOURS_IN_ALL_DAY = 24; + private static final int DAYS_IN_ALL_WEEK = 7; + private static final int DATE_SPINNER_MIN_VAL = 0; + private static final int DATE_SPINNER_MAX_VAL = DAYS_IN_ALL_WEEK - 1; + private static final int HOUR_SPINNER_MIN_VAL_24_HOUR_VIEW = 0; + private static final int HOUR_SPINNER_MAX_VAL_24_HOUR_VIEW = 23; + private static final int HOUR_SPINNER_MIN_VAL_12_HOUR_VIEW = 1; + private static final int HOUR_SPINNER_MAX_VAL_12_HOUR_VIEW = 12; + private static final int MINUT_SPINNER_MIN_VAL = 0; + private static final int MINUT_SPINNER_MAX_VAL = 59; + private static final int AMPM_SPINNER_MIN_VAL = 0; + private static final int AMPM_SPINNER_MAX_VAL = 1; + + /** + * 天数选择器 + */ + private final NumberPicker mDateSpinner; + /** + * 时间选择器 + */ + private final NumberPicker mHourSpinner; + /** + * 分钟选择器 + */ + private final NumberPicker mMinuteSpinner; + /** + * AM / PM 早晚选择器 + */ + private final NumberPicker mAmPmSpinner; + /** + * 日期实例对象 + */ + /** + * NumberPicker是数字选择器 + * 这里定义的四个变量全部是在设置闹钟时需要选择的变量(如日期、时、分、上午或者下午) + */ + private Calendar mDate; + /** + * 日期显示的数值 + */ + private String[] mDateDisplayValues = new String[DAYS_IN_ALL_WEEK]; + /** + * 是否是早晨 + */ + private boolean mIsAm; + /** + * 是否是24小时制 + */ + private boolean mIs24HourView; + /** + * 是否启用 + */ + private boolean mIsEnabled = DEFAULT_ENABLE_STATE; + /** + * 是否正在初始化中 + */ + private boolean mInitialising; + /** + * 日期变更监听器 + */ + private OnDateTimeChangedListener mOnDateTimeChangedListener; + /** + * 数值改变监听器 + *

+ * 在数值更改时同步修改 mDate 的数值 + * 并刷新选择器的数值 + * 触发时间改变监听器 + */ + private NumberPicker.OnValueChangeListener mOnDateChangedListener = + new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + mDate.add(Calendar.DAY_OF_YEAR, newVal - oldVal); + updateDateControl(); + onDateTimeChanged(); + } + }; + /** + * 数值改变监听器 + *

+ * 在数值改变时传入选择器对象和操作前与操作后的数值 + * 对数值进行具体的分析 + */ + /** + * OnValueChangeListener,这是时间改变监听器,这里主要是对日期的监听 + * 将现在日期的值传递给mDate;updateDateControl是同步操作 + */ + private NumberPicker.OnValueChangeListener mOnHourChangedListener = new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + boolean isDateChanged = false; + Calendar cal = Calendar.getInstance(); + if (!mIs24HourView) { + if (!mIsAm && oldVal == HOURS_IN_HALF_DAY - 1 && newVal == HOURS_IN_HALF_DAY) { + cal.setTimeInMillis(mDate.getTimeInMillis()); + cal.add(Calendar.DAY_OF_YEAR, 1); + isDateChanged = true; + } else if (mIsAm && oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) { + cal.setTimeInMillis(mDate.getTimeInMillis()); + cal.add(Calendar.DAY_OF_YEAR, -1); + isDateChanged = true; + } + if (oldVal == HOURS_IN_HALF_DAY - 1 && newVal == HOURS_IN_HALF_DAY || + oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) { + mIsAm = !mIsAm; + updateAmPmControl(); + } + } else { + if (oldVal == HOURS_IN_ALL_DAY - 1 && newVal == 0) { + cal.setTimeInMillis(mDate.getTimeInMillis()); + cal.add(Calendar.DAY_OF_YEAR, 1); + isDateChanged = true; + } else if (oldVal == 0 && newVal == HOURS_IN_ALL_DAY - 1) { + cal.setTimeInMillis(mDate.getTimeInMillis()); + cal.add(Calendar.DAY_OF_YEAR, -1); + isDateChanged = true; + } + } + int newHour = mHourSpinner.getValue() % HOURS_IN_HALF_DAY + (mIsAm ? 0 : HOURS_IN_HALF_DAY); + mDate.set(Calendar.HOUR_OF_DAY, newHour); + onDateTimeChanged(); + if (isDateChanged) { + setCurrentYear(cal.get(Calendar.YEAR)); + setCurrentMonth(cal.get(Calendar.MONTH)); + setCurrentDay(cal.get(Calendar.DAY_OF_MONTH)); + } + } + }; + /** + * 分钟改变监听器 + */ + private NumberPicker.OnValueChangeListener mOnMinuteChangedListener = new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + int minValue = mMinuteSpinner.getMinValue(); + int maxValue = mMinuteSpinner.getMaxValue(); + int offset = 0; + if (oldVal == maxValue && newVal == minValue) { + offset += 1; + } else if (oldVal == minValue && newVal == maxValue) { + offset -= 1; + } + if (offset != 0) { + mDate.add(Calendar.HOUR_OF_DAY, offset); + mHourSpinner.setValue(getCurrentHour()); + updateDateControl(); + int newHour = getCurrentHourOfDay(); + if (newHour >= HOURS_IN_HALF_DAY) { + mIsAm = false; + updateAmPmControl(); + } else { + mIsAm = true; + updateAmPmControl(); + } + } + mDate.set(Calendar.MINUTE, newVal); + onDateTimeChanged(); + } + }; + /** + * 早晚变更的监听器 + * 在选择AM / PM的时候通知监听器触发方法 + */ + private NumberPicker.OnValueChangeListener mOnAmPmChangedListener = new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + mIsAm = !mIsAm; + if (mIsAm) { + mDate.add(Calendar.HOUR_OF_DAY, -HOURS_IN_HALF_DAY); + } else { + mDate.add(Calendar.HOUR_OF_DAY, HOURS_IN_HALF_DAY); + } + updateAmPmControl(); + onDateTimeChanged(); + } + }; + + public interface OnDateTimeChangedListener { + void onDateTimeChanged(DateTimePicker view, int year, int month, + int dayOfMonth, int hourOfDay, int minute); + } + + public DateTimePicker(Context context) { + this(context, System.currentTimeMillis()); + } + + public DateTimePicker(Context context, long date) { + this(context, date, DateFormat.is24HourFormat(context)); + } + + public DateTimePicker(Context context, long date, boolean is24HourView) { + super(context); + mDate = Calendar.getInstance(); + mInitialising = true; + mIsAm = getCurrentHourOfDay() >= HOURS_IN_HALF_DAY; + inflate(context, R.layout.datetime_picker, this); + + mDateSpinner = (NumberPicker) findViewById(R.id.date); + mDateSpinner.setMinValue(DATE_SPINNER_MIN_VAL); + mDateSpinner.setMaxValue(DATE_SPINNER_MAX_VAL); + mDateSpinner.setOnValueChangedListener(mOnDateChangedListener); + + mHourSpinner = (NumberPicker) findViewById(R.id.hour); + mHourSpinner.setOnValueChangedListener(mOnHourChangedListener); + mMinuteSpinner = (NumberPicker) findViewById(R.id.minute); + mMinuteSpinner.setMinValue(MINUT_SPINNER_MIN_VAL); + mMinuteSpinner.setMaxValue(MINUT_SPINNER_MAX_VAL); + mMinuteSpinner.setOnLongPressUpdateInterval(100); + mMinuteSpinner.setOnValueChangedListener(mOnMinuteChangedListener); + + String[] stringsForAmPm = new DateFormatSymbols().getAmPmStrings(); + mAmPmSpinner = (NumberPicker) findViewById(R.id.amPm); + mAmPmSpinner.setMinValue(AMPM_SPINNER_MIN_VAL); + mAmPmSpinner.setMaxValue(AMPM_SPINNER_MAX_VAL); + mAmPmSpinner.setDisplayedValues(stringsForAmPm); + mAmPmSpinner.setOnValueChangedListener(mOnAmPmChangedListener); + + // update controls to initial state + updateDateControl(); + updateHourControl(); + updateAmPmControl(); + + set24HourView(is24HourView); + + // set to current time + setCurrentDate(date); + + setEnabled(isEnabled()); + + // set the content descriptions + mInitialising = false; + } + + @Override + public void setEnabled(boolean enabled) { + if (mIsEnabled == enabled) { + return; + } + super.setEnabled(enabled); + mDateSpinner.setEnabled(enabled); + mMinuteSpinner.setEnabled(enabled); + mHourSpinner.setEnabled(enabled); + mAmPmSpinner.setEnabled(enabled); + mIsEnabled = enabled; + } + + @Override + public boolean isEnabled() { + return mIsEnabled; + } + + /** + * Get the current date in millis + * + * @return the current date in millis + */ + public long getCurrentDateInTimeMillis() { + return mDate.getTimeInMillis(); + } + + /** + * Set the current date + * + * @param date The current date in millis + */ + public void setCurrentDate(long date) { + Calendar cal = Calendar.getInstance(); + cal.setTimeInMillis(date); + setCurrentDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), + cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE)); + } + + /** + * Set the current date + * + * @param year The current year + * @param month The current month + * @param dayOfMonth The current dayOfMonth + * @param hourOfDay The current hourOfDay + * @param minute The current minute + */ + public void setCurrentDate(int year, int month, + int dayOfMonth, int hourOfDay, int minute) { + setCurrentYear(year); + setCurrentMonth(month); + setCurrentDay(dayOfMonth); + setCurrentHour(hourOfDay); + setCurrentMinute(minute); + } + + /** + * Get current year + * + * @return The current year + */ + public int getCurrentYear() { + return mDate.get(Calendar.YEAR); + } + + /** + * Set current year + * + * @param year The current year + */ + public void setCurrentYear(int year) { + if (!mInitialising && year == getCurrentYear()) { + return; + } + mDate.set(Calendar.YEAR, year); + updateDateControl(); + onDateTimeChanged(); + } + + /** + * Get current month in the year + * + * @return The current month in the year + */ + public int getCurrentMonth() { + return mDate.get(Calendar.MONTH); + } + + /** + * Set current month in the year + * + * @param month The month in the year + */ + public void setCurrentMonth(int month) { + if (!mInitialising && month == getCurrentMonth()) { + return; + } + mDate.set(Calendar.MONTH, month); + updateDateControl(); + onDateTimeChanged(); + } + + /** + * Get current day of the month + * + * @return The day of the month + */ + public int getCurrentDay() { + return mDate.get(Calendar.DAY_OF_MONTH); + } + + /** + * Set current day of the month + * + * @param dayOfMonth The day of the month + */ + public void setCurrentDay(int dayOfMonth) { + if (!mInitialising && dayOfMonth == getCurrentDay()) { + return; + } + mDate.set(Calendar.DAY_OF_MONTH, dayOfMonth); + updateDateControl(); + onDateTimeChanged(); + } + + /** + * Get current hour in 24 hour mode, in the range (0~23) + * + * @return The current hour in 24 hour mode + */ + public int getCurrentHourOfDay() { + return mDate.get(Calendar.HOUR_OF_DAY); + } + + private int getCurrentHour() { + if (mIs24HourView) { + return getCurrentHourOfDay(); + } else { + int hour = getCurrentHourOfDay(); + if (hour > HOURS_IN_HALF_DAY) { + return hour - HOURS_IN_HALF_DAY; + } else { + return hour == 0 ? HOURS_IN_HALF_DAY : hour; + } + } + } + + /** + * Set current hour in 24 hour mode, in the range (0~23) + * + * @param hourOfDay + */ + public void setCurrentHour(int hourOfDay) { + if (!mInitialising && hourOfDay == getCurrentHourOfDay()) { + return; + } + mDate.set(Calendar.HOUR_OF_DAY, hourOfDay); + if (!mIs24HourView) { + if (hourOfDay >= HOURS_IN_HALF_DAY) { + mIsAm = false; + if (hourOfDay > HOURS_IN_HALF_DAY) { + hourOfDay -= HOURS_IN_HALF_DAY; + } + } else { + mIsAm = true; + if (hourOfDay == 0) { + hourOfDay = HOURS_IN_HALF_DAY; + } + } + updateAmPmControl(); + } + mHourSpinner.setValue(hourOfDay); + onDateTimeChanged(); + } + + /** + * Get currentMinute + * + * @return The Current Minute + */ + public int getCurrentMinute() { + return mDate.get(Calendar.MINUTE); + } + + /** + * Set current minute + */ + public void setCurrentMinute(int minute) { + if (!mInitialising && minute == getCurrentMinute()) { + return; + } + mMinuteSpinner.setValue(minute); + mDate.set(Calendar.MINUTE, minute); + onDateTimeChanged(); + } + + /** + * @return true if this is in 24 hour view else false. + */ + public boolean is24HourView() { + return mIs24HourView; + } + + /** + * Set whether in 24 hour or AM/PM mode. + * + * @param is24HourView True for 24 hour mode. False for AM/PM mode. + */ + public void set24HourView(boolean is24HourView) { + if (mIs24HourView == is24HourView) { + return; + } + mIs24HourView = is24HourView; + mAmPmSpinner.setVisibility(is24HourView ? View.GONE : View.VISIBLE); + int hour = getCurrentHourOfDay(); + updateHourControl(); + setCurrentHour(hour); + updateAmPmControl(); + } + + private void updateDateControl() { + Calendar cal = Calendar.getInstance(); + cal.setTimeInMillis(mDate.getTimeInMillis()); + cal.add(Calendar.DAY_OF_YEAR, -DAYS_IN_ALL_WEEK / 2 - 1); + mDateSpinner.setDisplayedValues(null); + for (int i = 0; i < DAYS_IN_ALL_WEEK; ++i) { + cal.add(Calendar.DAY_OF_YEAR, 1); + mDateDisplayValues[i] = (String) DateFormat.format("MM.dd EEEE", cal); + } + mDateSpinner.setDisplayedValues(mDateDisplayValues); + mDateSpinner.setValue(DAYS_IN_ALL_WEEK / 2); + mDateSpinner.invalidate(); + } + + private void updateAmPmControl() { + if (mIs24HourView) { + mAmPmSpinner.setVisibility(View.GONE); + } else { + int index = mIsAm ? Calendar.AM : Calendar.PM; + mAmPmSpinner.setValue(index); + mAmPmSpinner.setVisibility(View.VISIBLE); + } + } + + private void updateHourControl() { + if (mIs24HourView) { + mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_24_HOUR_VIEW); + mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_24_HOUR_VIEW); + } else { + mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_12_HOUR_VIEW); + mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_12_HOUR_VIEW); + } + } + + /** + * Set the callback that indicates the 'Set' button has been pressed. + * + * @param callback the callback, if null will do nothing + */ + public void setOnDateTimeChangedListener(OnDateTimeChangedListener callback) { + mOnDateTimeChangedListener = callback; + } + + /** + * 在日期时间改变时调用该方法 + * 如果日期时间改变监听器为空则不处理 + * 不为空则调用监听器的方法 + */ + private void onDateTimeChanged() { + if (mOnDateTimeChangedListener == null) return; + mOnDateTimeChangedListener.onDateTimeChanged(this, + getCurrentYear(), + getCurrentMonth(), + getCurrentDay(), + getCurrentHourOfDay(), + getCurrentMinute() + ); + } +} diff --git a/src/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java b/src/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java new file mode 100644 index 0000000..05abbf0 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import java.util.Calendar; + +import net.micode.notes.R; +import net.micode.notes.ui.DateTimePicker; +import net.micode.notes.ui.DateTimePicker.OnDateTimeChangedListener; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.text.format.DateFormat; +import android.text.format.DateUtils; + +/** + * 日期选择器 界面 + * 将用户交互与日期选择器数据类对接 + * 并保存了一些基础信息,如当前日期、是否为24小时格式等 + * 也注册了相应的事件监听器 + */ +public class DateTimePickerDialog extends AlertDialog implements OnClickListener { + + private Calendar mDate = Calendar.getInstance(); + private boolean mIs24HourView; + private OnDateTimeSetListener mOnDateTimeSetListener; + private DateTimePicker mDateTimePicker; + + // 为什么要在类里面声明公开接口还在其他类中使用?这样做并不规范 + public interface OnDateTimeSetListener { + void OnDateTimeSet(AlertDialog dialog, long date); + } + // 构造方法 + public DateTimePickerDialog(Context context, long date) { + super(context); + mDateTimePicker = new DateTimePicker(context); + setView(mDateTimePicker); + mDateTimePicker.setOnDateTimeChangedListener(new OnDateTimeChangedListener() { + public void onDateTimeChanged(DateTimePicker view, int year, int month, + int dayOfMonth, int hourOfDay, int minute) { + mDate.set(Calendar.YEAR, year); + mDate.set(Calendar.MONTH, month); + mDate.set(Calendar.DAY_OF_MONTH, dayOfMonth); + mDate.set(Calendar.HOUR_OF_DAY, hourOfDay); + mDate.set(Calendar.MINUTE, minute); + updateTitle(mDate.getTimeInMillis()); + } + }); + mDate.setTimeInMillis(date); + mDate.set(Calendar.SECOND, 0); + mDateTimePicker.setCurrentDate(mDate.getTimeInMillis()); + setButton(context.getString(R.string.datetime_dialog_ok), this); + setButton2(context.getString(R.string.datetime_dialog_cancel), (OnClickListener) null); + set24HourView(DateFormat.is24HourFormat(this.getContext())); + updateTitle(mDate.getTimeInMillis()); + } + // 设置为 24 小时的日期显示格式 + public void set24HourView(boolean is24HourView) { + mIs24HourView = is24HourView; + } + // 初始化 OnDateTimeSetListener 监听器 + public void setOnDateTimeSetListener(OnDateTimeSetListener callBack) { + mOnDateTimeSetListener = callBack; + } + // 更新弹出窗口标题 + private void updateTitle(long date) { + int flag = + DateUtils.FORMAT_SHOW_YEAR | + DateUtils.FORMAT_SHOW_DATE | + DateUtils.FORMAT_SHOW_TIME; + flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_24HOUR; + setTitle(DateUtils.formatDateTime(this.getContext(), date, flag)); + } + @Override + public void onClick(DialogInterface arg0, int arg1) { + if (mOnDateTimeSetListener != null) { + // onClick 委托至 OnDateTimeSetListener + mOnDateTimeSetListener.OnDateTimeSet(this, mDate.getTimeInMillis()); + } + } + +} \ No newline at end of file diff --git a/src/src/main/java/net/micode/notes/ui/DropdownMenu.java b/src/src/main/java/net/micode/notes/ui/DropdownMenu.java new file mode 100644 index 0000000..4fb8660 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/DropdownMenu.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.PopupMenu; +import android.widget.PopupMenu.OnMenuItemClickListener; + +import net.micode.notes.R; + +/** + * 下拉菜单的数据类 + * 并封装了一个下拉菜单内容选定事件监听器 + */ +public class DropdownMenu { + // 菜单按钮 + private Button mButton; + // 弹出菜单 + private PopupMenu mPopupMenu; + // 菜单 + private Menu mMenu; + + public DropdownMenu(Context context, Button button, int menuId) { + mButton = button; + mButton.setBackgroundResource(R.drawable.dropdown_icon); + mPopupMenu = new PopupMenu(context, mButton); + mMenu = mPopupMenu.getMenu(); + mPopupMenu.getMenuInflater().inflate(menuId, mMenu); + mButton.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + mPopupMenu.show(); + } + }); + } + // 绑定监听器 + public void setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) { + if (mPopupMenu != null) { + mPopupMenu.setOnMenuItemClickListener(listener); + } + } + // 根据id获取MenuItem + public MenuItem findItem(int id) { + return mMenu.findItem(id); + } + // 设置菜单按钮的文本 + public void setTitle(CharSequence title) { + mButton.setText(title); + } +} diff --git a/src/src/main/java/net/micode/notes/ui/FoldersListAdapter.java b/src/src/main/java/net/micode/notes/ui/FoldersListAdapter.java new file mode 100644 index 0000000..dd77ba9 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/FoldersListAdapter.java @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.database.Cursor; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CursorAdapter; +import android.widget.LinearLayout; +import android.widget.TextView; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; + +/** + * 文件列表适配器 + */ +public class FoldersListAdapter extends CursorAdapter { + public static final String[] PROJECTION = { + NoteColumns.ID, + NoteColumns.SNIPPET + }; + + public static final int ID_COLUMN = 0; + public static final int NAME_COLUMN = 1; + + public FoldersListAdapter(Context context, Cursor c) { + super(context, c); + // TODO Auto-generated constructor stub + } + + /** + * 创建新视图 + * @param context 上下文 + * @param cursor 数据库指针 + * @param parent 父视图 + * @return View 视图对象 + */ + @Override + public View newView(Context context, Cursor cursor, ViewGroup parent) { + return new FolderListItem(context); + } + + /** + * 视图绑定方法 + * @param view 视图 + * @param context 上下文 + * @param cursor 数据库指针 + */ + @Override + public void bindView(View view, Context context, Cursor cursor) { + if (view instanceof FolderListItem) { + String folderName = (cursor.getLong(ID_COLUMN) == Notes.ID_ROOT_FOLDER) ? context + .getString(R.string.menu_move_parent_folder) : cursor.getString(NAME_COLUMN); + ((FolderListItem) view).bind(folderName); + } + } + /** + * 获取文件夹名称 + */ + public String getFolderName(Context context, int position) { + Cursor cursor = (Cursor) getItem(position); + return (cursor.getLong(ID_COLUMN) == Notes.ID_ROOT_FOLDER) ? context + .getString(R.string.menu_move_parent_folder) : cursor.getString(NAME_COLUMN); + } + + /** + * 文件列表中的子项 + */ + private class FolderListItem extends LinearLayout { + // 保存文件名 + private TextView mName; + + public FolderListItem(Context context) { + super(context); + inflate(context, R.layout.folder_list_item, this); + mName = (TextView) findViewById(R.id.tv_folder_name); + } + // 设置文件名 + public void bind(String name) { + mName.setText(name); + } + } + +} diff --git a/src/src/main/java/net/micode/notes/ui/NoteEditText.java b/src/src/main/java/net/micode/notes/ui/NoteEditText.java new file mode 100644 index 0000000..ae2bc44 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/NoteEditText.java @@ -0,0 +1,258 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.graphics.Rect; +import android.text.Layout; +import android.text.Selection; +import android.text.Spanned; +import android.text.TextUtils; +import android.text.style.URLSpan; +import android.util.AttributeSet; +import android.util.Log; +import android.view.ContextMenu; +import android.view.KeyEvent; +import android.view.MenuItem; +import android.view.MenuItem.OnMenuItemClickListener; +import android.view.MotionEvent; +import android.widget.EditText; + +import net.micode.notes.R; +import net.micode.notes.ui.activities.NoteEditActivity; + +import java.util.HashMap; +import java.util.Map; + +/** + * 笔记编辑控件 + * 扩展了默认控件的一些基础功能 + */ +public class NoteEditText extends EditText { + private static final String TAG = "NoteEditText"; + private int mIndex; + private int mSelectionStartBeforeDelete; + + private static final String SCHEME_TEL = "tel:"; + private static final String SCHEME_HTTP = "http:"; + private static final String SCHEME_EMAIL = "mailto:"; + + private static final Map sSchemaActionResMap = new HashMap<>(); + // 静态初始化 + static { + sSchemaActionResMap.put(SCHEME_TEL, R.string.note_link_tel); + sSchemaActionResMap.put(SCHEME_HTTP, R.string.note_link_web); + sSchemaActionResMap.put(SCHEME_EMAIL, R.string.note_link_email); + } + + /** + * Call by the {@link NoteEditActivity} to delete or add edit text + */ + public interface OnTextViewChangeListener { + /** + * Delete current edit text when {@link KeyEvent#KEYCODE_DEL} happens + * and the text is null + */ + void onEditTextDelete(int index, String text); + + /** + * Add edit text after current edit text when {@link KeyEvent#KEYCODE_ENTER} + * happen + */ + void onEditTextEnter(int index, String text); + + /** + * Hide or show item option when text change + */ + void onTextChange(int index, boolean hasText); + } + /** + * 文本视图改变事件监听器 + */ + private OnTextViewChangeListener mOnTextViewChangeListener; + /** + * 构造器 + */ + public NoteEditText(Context context) { + super(context, null); + mIndex = 0; + } + /** + * 设置索引值 + */ + public void setIndex(int index) { + mIndex = index; + } + /** + * 绑定 文本视图改变事件监听器 + */ + public void setOnTextViewChangeListener(OnTextViewChangeListener listener) { + mOnTextViewChangeListener = listener; + } + /** + * 构造器 + */ + public NoteEditText(Context context, AttributeSet attrs) { + super(context, attrs, android.R.attr.editTextStyle); + } + + public NoteEditText(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + // TODO Auto-generated constructor stub + } + + /** + * 点击事件 + */ + @Override + public boolean onTouchEvent(MotionEvent event) { + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + + int x = (int) event.getX(); + int y = (int) event.getY(); + x -= getTotalPaddingLeft(); + y -= getTotalPaddingTop(); + x += getScrollX(); + y += getScrollY(); + + Layout layout = getLayout(); + int line = layout.getLineForVertical(y); + int off = layout.getOffsetForHorizontal(line, x); + Selection.setSelection(getText(), off); + break; + } + + return super.onTouchEvent(event); + } + + /** + * 按下键 + * @param keyCode 按键对应编码 + * @param event 键盘事件 + * @return boolean 是否成功处理 + */ + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + switch (keyCode) { + case KeyEvent.KEYCODE_ENTER: + if (mOnTextViewChangeListener != null) { + return false; + } + break; + case KeyEvent.KEYCODE_DEL: + mSelectionStartBeforeDelete = getSelectionStart(); + break; + default: + break; + } + return super.onKeyDown(keyCode, event); + } + + /** + * 松开键 + * @param keyCode 键对应编码 + * @param event 键盘事件 + * @return 是否处理成功 + */ + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + switch (keyCode) { + case KeyEvent.KEYCODE_DEL: + if (mOnTextViewChangeListener != null) { + if (0 == mSelectionStartBeforeDelete && mIndex != 0) { + mOnTextViewChangeListener.onEditTextDelete(mIndex, getText().toString()); + return true; + } + } else { + Log.d(TAG, "OnTextViewChangeListener was not seted"); + } + break; + case KeyEvent.KEYCODE_ENTER: + if (mOnTextViewChangeListener != null) { + int selectionStart = getSelectionStart(); + String text = getText().subSequence(selectionStart, length()).toString(); + setText(getText().subSequence(0, selectionStart)); + mOnTextViewChangeListener.onEditTextEnter(mIndex + 1, text); + } else { + Log.d(TAG, "OnTextViewChangeListener was not seted"); + } + break; + default: + break; + } + return super.onKeyUp(keyCode, event); + } + + /** + * 焦点事件改变 + * @param focused 改变的结果是对焦还是失焦 + * @param direction 方向 + * @param previouslyFocusedRect 上一个聚焦的区域 + */ + @Override + protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { + if (mOnTextViewChangeListener != null) { + if (!focused && TextUtils.isEmpty(getText())) { + mOnTextViewChangeListener.onTextChange(mIndex, false); + } else { + mOnTextViewChangeListener.onTextChange(mIndex, true); + } + } + super.onFocusChanged(focused, direction, previouslyFocusedRect); + } + + /** + * 菜单内容初始化 + * @param menu 菜单 + */ + @Override + protected void onCreateContextMenu(ContextMenu menu) { + if (getText() instanceof Spanned) { + int selStart = getSelectionStart(); + int selEnd = getSelectionEnd(); + + int min = Math.min(selStart, selEnd); + int max = Math.max(selStart, selEnd); + + final URLSpan[] urls = ((Spanned) getText()).getSpans(min, max, URLSpan.class); + if (urls.length == 1) { + int defaultResId = 0; + for (String schema : sSchemaActionResMap.keySet()) { + if (urls[0].getURL().indexOf(schema) >= 0) { + defaultResId = sSchemaActionResMap.get(schema); + break; + } + } + + if (defaultResId == 0) { + defaultResId = R.string.note_link_other; + } + + menu.add(0, 0, 0, defaultResId).setOnMenuItemClickListener( + new OnMenuItemClickListener() { + public boolean onMenuItemClick(MenuItem item) { + // goto a new intent + urls[0].onClick(NoteEditText.this); + return true; + } + }); + } + } + super.onCreateContextMenu(menu); + } +} diff --git a/src/src/main/java/net/micode/notes/ui/NoteItemData.java b/src/src/main/java/net/micode/notes/ui/NoteItemData.java new file mode 100644 index 0000000..131866d --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/NoteItemData.java @@ -0,0 +1,228 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.database.Cursor; +import android.text.TextUtils; + +import net.micode.notes.data.Contact; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.tool.DataUtils; +import net.micode.notes.ui.activities.NoteEditActivity; + +/** + * 便签列表子项 + * 存储许多便签有关的数据 + */ +public class NoteItemData { + public static final String[] PROJECTION = new String[]{ + NoteColumns.ID, + NoteColumns.ALERTED_DATE, + NoteColumns.BG_COLOR_ID, + NoteColumns.CREATED_DATE, + NoteColumns.HAS_ATTACHMENT, + NoteColumns.MODIFIED_DATE, + NoteColumns.NOTES_COUNT, + NoteColumns.PARENT_ID, + NoteColumns.SNIPPET, + NoteColumns.TYPE, + NoteColumns.WIDGET_ID, + NoteColumns.WIDGET_TYPE, + }; + + private static final int ID_COLUMN = 0; + private static final int ALERTED_DATE_COLUMN = 1; + private static final int BG_COLOR_ID_COLUMN = 2; + private static final int CREATED_DATE_COLUMN = 3; + private static final int HAS_ATTACHMENT_COLUMN = 4; + private static final int MODIFIED_DATE_COLUMN = 5; + private static final int NOTES_COUNT_COLUMN = 6; + private static final int PARENT_ID_COLUMN = 7; + private static final int SNIPPET_COLUMN = 8; + private static final int TYPE_COLUMN = 9; + private static final int WIDGET_ID_COLUMN = 10; + private static final int WIDGET_TYPE_COLUMN = 11; + + private long mId; + private long mAlertDate; + private int mBgColorId; + private long mCreatedDate; + private boolean mHasAttachment; + private long mModifiedDate; + private int mNotesCount; + private long mParentId; + private String mSnippet; + private int mType; + private int mWidgetId; + private int mWidgetType; + private String mName; + private String mPhoneNumber; + + private boolean mIsLastItem; + private boolean mIsFirstItem; + private boolean mIsOnlyOneItem; + private boolean mIsOneNoteFollowingFolder; + private boolean mIsMultiNotesFollowingFolder; + + public NoteItemData(Context context, Cursor cursor) { + mId = cursor.getLong(ID_COLUMN); + mAlertDate = cursor.getLong(ALERTED_DATE_COLUMN); + mBgColorId = cursor.getInt(BG_COLOR_ID_COLUMN); + mCreatedDate = cursor.getLong(CREATED_DATE_COLUMN); + mHasAttachment = cursor.getInt(HAS_ATTACHMENT_COLUMN) > 0; + mModifiedDate = cursor.getLong(MODIFIED_DATE_COLUMN); + mNotesCount = cursor.getInt(NOTES_COUNT_COLUMN); + mParentId = cursor.getLong(PARENT_ID_COLUMN); + mSnippet = cursor.getString(SNIPPET_COLUMN); + mSnippet = mSnippet.replace(NoteEditActivity.TAG_CHECKED, "").replace( + NoteEditActivity.TAG_UNCHECKED, ""); + mType = cursor.getInt(TYPE_COLUMN); + mWidgetId = cursor.getInt(WIDGET_ID_COLUMN); + mWidgetType = cursor.getInt(WIDGET_TYPE_COLUMN); + + mPhoneNumber = ""; + if (mParentId == Notes.ID_CALL_RECORD_FOLDER) { + mPhoneNumber = DataUtils.getCallNumberByNoteId(context.getContentResolver(), mId); + if (!TextUtils.isEmpty(mPhoneNumber)) { + mName = Contact.getContact(context, mPhoneNumber); + if (mName == null) { + mName = mPhoneNumber; + } + } + } + + if (mName == null) { + mName = ""; + } + checkPostion(cursor); + } + + private void checkPostion(Cursor cursor) { + mIsLastItem = cursor.isLast(); + mIsFirstItem = cursor.isFirst(); + mIsOnlyOneItem = (cursor.getCount() == 1); + mIsMultiNotesFollowingFolder = false; + mIsOneNoteFollowingFolder = false; + + if (mType == Notes.TYPE_NOTE && !mIsFirstItem) { + int position = cursor.getPosition(); + if (cursor.moveToPrevious()) { + if (cursor.getInt(TYPE_COLUMN) == Notes.TYPE_FOLDER + || cursor.getInt(TYPE_COLUMN) == Notes.TYPE_SYSTEM) { + if (cursor.getCount() > (position + 1)) { + mIsMultiNotesFollowingFolder = true; + } else { + mIsOneNoteFollowingFolder = true; + } + } + if (!cursor.moveToNext()) { + throw new IllegalStateException("cursor move to previous but can't move back"); + } + } + } + } + + public boolean isOneFollowingFolder() { + return mIsOneNoteFollowingFolder; + } + + public boolean isMultiFollowingFolder() { + return mIsMultiNotesFollowingFolder; + } + + public boolean isLast() { + return mIsLastItem; + } + + public String getCallName() { + return mName; + } + + public boolean isFirst() { + return mIsFirstItem; + } + + public boolean isSingle() { + return mIsOnlyOneItem; + } + + public long getId() { + return mId; + } + + public long getAlertDate() { + return mAlertDate; + } + + public long getCreatedDate() { + return mCreatedDate; + } + + public boolean hasAttachment() { + return mHasAttachment; + } + + public long getModifiedDate() { + return mModifiedDate; + } + + public int getBgColorId() { + return mBgColorId; + } + + public long getParentId() { + return mParentId; + } + + public int getNotesCount() { + return mNotesCount; + } + + public long getFolderId() { + return mParentId; + } + + public int getType() { + return mType; + } + + public int getWidgetType() { + return mWidgetType; + } + + public int getWidgetId() { + return mWidgetId; + } + + public String getSnippet() { + return mSnippet; + } + + public boolean hasAlert() { + return (mAlertDate > 0); + } + + public boolean isCallRecord() { + return (mParentId == Notes.ID_CALL_RECORD_FOLDER && !TextUtils.isEmpty(mPhoneNumber)); + } + + public static int getNoteType(Cursor cursor) { + return cursor.getInt(TYPE_COLUMN); + } +} diff --git a/src/src/main/java/net/micode/notes/ui/NotesListAdapter.java b/src/src/main/java/net/micode/notes/ui/NotesListAdapter.java new file mode 100644 index 0000000..05b1500 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/NotesListAdapter.java @@ -0,0 +1,255 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.database.Cursor; +import android.util.Log; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CursorAdapter; + +import net.micode.notes.data.Notes; + +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; + +/** + * 便签列表适配器 + */ +public class NotesListAdapter extends CursorAdapter { + private static final String TAG = "NotesListAdapter"; + private Context mContext; + private HashMap mSelectedIndex; + private int mNotesCount; + private boolean mChoiceMode; + + /** + * APP页面属性类 + */ + public static class AppWidgetAttribute { + public int widgetId; + public int widgetType; + } + + ; + + /** + * 构造器 + * @param context 便签列表上下文环境 + */ + public NotesListAdapter(Context context) { + super(context, null); + mSelectedIndex = new HashMap<>(); + mContext = context; + mNotesCount = 0; + } + + /** + * 新建便签列表视图的方法 + * @param context 上下文环境 + * @param cursor 数据库指针 + * @param parent 视图父类 + * @return + */ + @Override + public View newView(Context context, Cursor cursor, ViewGroup parent) { + return new NotesListItem(context); + } + + /** + * 视图绑定 + * @param view 视图 + * @param context 上下文 + * @param cursor 数据库指针 + */ + @Override + public void bindView(View view, Context context, Cursor cursor) { + if (view instanceof NotesListItem) { + NoteItemData itemData = new NoteItemData(context, cursor); + ((NotesListItem) view).bind(context, itemData, mChoiceMode, + isSelectedItem(cursor.getPosition())); + } + } + + /** + * 设置子项选中状态 + * @param position 子项的索引 + * @param checked 是否选中 + */ + public void setCheckedItem(final int position, final boolean checked) { + mSelectedIndex.put(position, checked); + notifyDataSetChanged(); + } + + /** + * 是否在决策模式 + * @return 结果 + */ + public boolean isInChoiceMode() { + return mChoiceMode; + } + + /** + * 设置决策模式是否启用 + * @param mode 是否启用 + */ + public void setChoiceMode(boolean mode) { + mSelectedIndex.clear(); + mChoiceMode = mode; + } + + /** + * 选择全部便签 + * @param checked 选中/取消选择 + */ + public void selectAll(boolean checked) { + Cursor cursor = getCursor(); + for (int i = 0; i < getCount(); i++) { + if (cursor.moveToPosition(i)) { + if (NoteItemData.getNoteType(cursor) == Notes.TYPE_NOTE) { + setCheckedItem(i, checked); + } + } + } + } + + /** + * 获取当前选定的所有标签项的Id + * @return + */ + public HashSet getSelectedItemIds() { + HashSet itemSet = new HashSet(); + for (Integer position : mSelectedIndex.keySet()) { + if (mSelectedIndex.get(position) == true) { + Long id = getItemId(position); + if (id == Notes.ID_ROOT_FOLDER) { + Log.d(TAG, "Wrong item id, should not happen"); + } else { + itemSet.add(id); + } + } + } + + return itemSet; + } + + /** + * 获取选中的界面 + */ + public HashSet getSelectedWidget() { + HashSet itemSet = new HashSet(); + for (Integer position : mSelectedIndex.keySet()) { + if (mSelectedIndex.get(position) == true) { + Cursor c = (Cursor) getItem(position); + if (c != null) { + AppWidgetAttribute widget = new AppWidgetAttribute(); + NoteItemData item = new NoteItemData(mContext, c); + widget.widgetId = item.getWidgetId(); + widget.widgetType = item.getWidgetType(); + itemSet.add(widget); + /** + * Don't close cursor here, only the adapter could close it + */ + } else { + Log.e(TAG, "Invalid cursor"); + return null; + } + } + } + return itemSet; + } + + /** + * 获取当前选中的数量 + * @return 数量 + */ + public int getSelectedCount() { + Collection values = mSelectedIndex.values(); + if (null == values) { + return 0; + } + Iterator iter = values.iterator(); + int count = 0; + while (iter.hasNext()) { + if (true == iter.next()) { + count++; + } + } + return count; + } + + /** + * 标签是否全部选中 + * @return 是否全选 + */ + public boolean isAllSelected() { + int checkedCount = getSelectedCount(); + return (checkedCount != 0 && checkedCount == mNotesCount); + } + + /** + * 是否选择了指定索引的便签项 + * @param position + * @return + */ + public boolean isSelectedItem(final int position) { + if (null == mSelectedIndex.get(position)) { + return false; + } + return mSelectedIndex.get(position); + } + + /** + * 在内容改变时调用该方法重新计算便签数量 + */ + @Override + protected void onContentChanged() { + super.onContentChanged(); + calcNotesCount(); + } + + /** + * 修改数据库指针然后重新计算标签项 + * @param cursor 新的指针 + */ + @Override + public void changeCursor(Cursor cursor) { + super.changeCursor(cursor); + calcNotesCount(); + } + + /** + * 计算便签数量 + */ + private void calcNotesCount() { + mNotesCount = 0; + for (int i = 0; i < getCount(); i++) { + Cursor c = (Cursor) getItem(i); + if (c != null) { + if (NoteItemData.getNoteType(c) == Notes.TYPE_NOTE) { + mNotesCount++; + } + } else { + Log.e(TAG, "Invalid cursor"); + return; + } + } + } +} diff --git a/src/src/main/java/net/micode/notes/ui/NotesListItem.java b/src/src/main/java/net/micode/notes/ui/NotesListItem.java new file mode 100644 index 0000000..1edaec3 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/NotesListItem.java @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.text.format.DateUtils; +import android.view.View; +import android.widget.CheckBox; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.tool.DataUtils; +import net.micode.notes.tool.ResourceParser.NoteItemBgResources; + +/** + * 便签项子类 + * 存储便签列表中便签的状态 + */ +public class NotesListItem extends LinearLayout { + private ImageView mAlert; + private TextView mTitle; + private TextView mTime; + private TextView mCallName; + private NoteItemData mItemData; + private CheckBox mCheckBox; + + public NotesListItem(Context context) { + super(context);/** + super()它的主要作用是调整调用父类构造函数的顺序 + */ + inflate(context, R.layout.note_item, this);/** + Inflate可用于将一个xml中定义的布局控件找出来,这里的xml是r。layout + findViewById用于从contentView中查找指定ID的View,转换出来的形式根据需要而定; + + */ + mAlert = (ImageView) findViewById(R.id.iv_alert_icon); + mTitle = (TextView) findViewById(R.id.tv_title); + mTime = (TextView) findViewById(R.id.tv_time); + mCallName = (TextView) findViewById(R.id.tv_name); + mCheckBox = (CheckBox) findViewById(android.R.id.checkbox); + } + + public void bind(Context context, NoteItemData data, boolean choiceMode, boolean checked) { + if (choiceMode && data.getType() == Notes.TYPE_NOTE) { + mCheckBox.setVisibility(View.VISIBLE); + mCheckBox.setChecked(checked); + } else { + mCheckBox.setVisibility(View.GONE); + } + + mItemData = data;/** + 设置控件属性,一共三种情况,由data的id和父id是否与保存到文件夹的id一致来决定 + */ + if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { + mCallName.setVisibility(View.GONE); + mAlert.setVisibility(View.VISIBLE); + mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem); + mTitle.setText(context.getString(R.string.call_record_folder_name) + + context.getString(R.string.format_folder_files_count, data.getNotesCount())); + mAlert.setImageResource(R.drawable.call_record); + } else if (data.getParentId() == Notes.ID_CALL_RECORD_FOLDER) { + mCallName.setVisibility(View.VISIBLE); + mCallName.setText(data.getCallName()); + mTitle.setTextAppearance(context, R.style.TextAppearanceSecondaryItem); + mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet())); + if (data.hasAlert()) { + mAlert.setImageResource(R.drawable.clock); + mAlert.setVisibility(View.VISIBLE); + } else { + mAlert.setVisibility(View.GONE); + } + } else { + mCallName.setVisibility(View.GONE); + mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem); + + if (data.getType() == Notes.TYPE_FOLDER) { + mTitle.setText(data.getSnippet() + + context.getString(R.string.format_folder_files_count, + data.getNotesCount())); + mAlert.setVisibility(View.GONE); + } else { + mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet())); + if (data.hasAlert()) { + mAlert.setImageResource(R.drawable.clock); + mAlert.setVisibility(View.VISIBLE); + } else { + mAlert.setVisibility(View.GONE); + } + } + } + + /** + * 设置内容,获取相关时间,从data里编辑的日期中获取 + */ + mTime.setText(DateUtils.getRelativeTimeSpanString(data.getModifiedDate())); + + setBackground(data); + } + + /** + * 根据传入的便签项的数据类修改便签背景色 + * @param data 便签项的数据类 + */ + private void setBackground(NoteItemData data) { + int id = data.getBgColorId(); + if (data.getType() == Notes.TYPE_NOTE) { + if (data.isSingle() || data.isOneFollowingFolder()) { + setBackgroundResource(NoteItemBgResources.getNoteBgSingleRes(id)); + } else if (data.isLast()) { + setBackgroundResource(NoteItemBgResources.getNoteBgLastRes(id)); + } else if (data.isFirst() || data.isMultiFollowingFolder()) { + setBackgroundResource(NoteItemBgResources.getNoteBgFirstRes(id)); + } else { + setBackgroundResource(NoteItemBgResources.getNoteBgNormalRes(id)); + } + } else { + /** + * 若不是note直接调用文件夹的背景来源 + */ + setBackgroundResource(NoteItemBgResources.getFolderBgRes()); + } + } + + /** + * 获取该列表便签项绑定的数据类 + * @return 数据类 + */ + public NoteItemData getItemData() { + return mItemData; + } +} diff --git a/src/src/main/java/net/micode/notes/ui/activities/AlarmAlertActivity.java b/src/src/main/java/net/micode/notes/ui/activities/AlarmAlertActivity.java new file mode 100644 index 0000000..64bd8c7 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/activities/AlarmAlertActivity.java @@ -0,0 +1,207 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui.activities; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.DialogInterface.OnDismissListener; +import android.content.Intent; +import android.media.AudioManager; +import android.media.MediaPlayer; +import android.media.RingtoneManager; +import android.net.Uri; +import android.os.Bundle; +import android.os.PowerManager; +import android.provider.Settings; +import android.view.Window; +import android.view.WindowManager; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.tool.DataUtils; + +import java.io.IOException; + +/** + * 闹钟应用活动类 + */ +public class AlarmAlertActivity extends Activity implements OnClickListener, OnDismissListener { + /** + * 便签ID + */ + private long mNoteId; + /** + * 片段 + */ + private String mSnippet; + /** + * 片段前缀最长长度 + */ + private static final int SNIPPET_PREW_MAX_LEN = 60; + MediaPlayer mPlayer; + + /** + * onCreate 生命周期方法 + * @param savedInstanceState 之前保存的实例状态 + */ + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + requestWindowFeature(Window.FEATURE_NO_TITLE); + + final Window win = getWindow(); + win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); + + if (!isScreenOn()) { + win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON + | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON + | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON + | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR); + } + + //定义意图对象,调用系统应用 + Intent intent = getIntent(); + + try { + // 便签ID + mNoteId = Long.valueOf(intent.getData().getPathSegments().get(1)); + // 片段名称 + mSnippet = DataUtils.getSnippetById(this.getContentResolver(), mNoteId); + mSnippet = mSnippet.length() > SNIPPET_PREW_MAX_LEN ? mSnippet.substring(0, + SNIPPET_PREW_MAX_LEN) + getResources().getString(R.string.notelist_string_info) + : mSnippet; + } catch (IllegalArgumentException e) { + // 异常处理 + e.printStackTrace(); + return; + } + + mPlayer = new MediaPlayer(); + if (DataUtils.visibleInNoteDatabase(getContentResolver(), mNoteId, Notes.TYPE_NOTE)) { + // 显示弹出窗口 + showActionDialog(); + // 播放提示音 + playAlarmSound(); + } else { + finish(); + } + } + + /** + * 屏幕是否开着 + * @return 状态 + */ + private boolean isScreenOn() { + PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); + return pm.isScreenOn(); + } + + /** + * 播放闹钟提示音 + */ + private void playAlarmSound() { + Uri url = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM); + + int silentModeStreams = Settings.System.getInt(getContentResolver(), + Settings.System.MODE_RINGER_STREAMS_AFFECTED, 0); + + if ((silentModeStreams & (1 << AudioManager.STREAM_ALARM)) != 0) { + mPlayer.setAudioStreamType(silentModeStreams); + } else { + mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM); + } + try { + mPlayer.setDataSource(this, url); + mPlayer.prepare(); + mPlayer.setLooping(true); + mPlayer.start(); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (SecurityException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IllegalStateException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + /** + * 显示操作弹窗 + */ + private void showActionDialog() { + AlertDialog.Builder dialog = new AlertDialog.Builder(this); + // 设置标题 + dialog.setTitle(R.string.app_name); + // 设置消息 + dialog.setMessage(mSnippet); + // 设置按钮 + dialog.setPositiveButton(R.string.notealert_ok, this); + // 判断屏幕状态是否正常 + if (isScreenOn()) { + // 设置导航按钮 + dialog.setNegativeButton(R.string.notealert_enter, this); + } + // 展示弹窗并绑定监听器 + dialog.show().setOnDismissListener(this); + } + + /** + * 在点击时调用该时间 + * @param dialog 弹窗接口 + * @param which 接口类型 + */ + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case DialogInterface.BUTTON_NEGATIVE: + Intent intent = new Intent(this, NoteEditActivity.class); + intent.setAction(Intent.ACTION_VIEW); + intent.putExtra(Intent.EXTRA_UID, mNoteId); + startActivity(intent); + break; + default: + break; + } + } + + /** + * 在活动停止调用,停止播放闹钟声音 + * @param dialog + */ + public void onDismiss(DialogInterface dialog) { + stopAlarmSound(); + finish(); + } + + /** + * 停止播放闹钟声音 + */ + private void stopAlarmSound() { + if (mPlayer != null) { + mPlayer.stop(); + mPlayer.release(); + mPlayer = null; + } + } +} diff --git a/src/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java b/src/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java new file mode 100644 index 0000000..854297f --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java @@ -0,0 +1,932 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui.activities; + +import android.app.Activity; +import android.app.AlarmManager; +import android.app.AlertDialog; +import android.app.PendingIntent; +import android.app.SearchManager; +import android.appwidget.AppWidgetManager; +import android.content.ContentUris; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.SharedPreferences; +import android.graphics.Paint; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.text.Spannable; +import android.text.SpannableString; +import android.text.TextUtils; +import android.text.format.DateUtils; +import android.text.style.BackgroundColorSpan; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.WindowManager; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.TextNote; +import net.micode.notes.model.WorkingNote; +import net.micode.notes.model.WorkingNote.NoteSettingChangedListener; +import net.micode.notes.tool.DataUtils; +import net.micode.notes.tool.ResourceParser; +import net.micode.notes.tool.ResourceParser.TextAppearanceResources; +import net.micode.notes.ui.AlarmReceiver; +import net.micode.notes.ui.DateTimePickerDialog; +import net.micode.notes.ui.DateTimePickerDialog.OnDateTimeSetListener; +import net.micode.notes.ui.NoteEditText; +import net.micode.notes.ui.NoteEditText.OnTextViewChangeListener; +import net.micode.notes.widget.NoteWidgetProvider_2x; +import net.micode.notes.widget.NoteWidgetProvider_4x; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 便签编辑活动,继承自 Activity + * 实现了 OnClickListener,NoteSettingChangedListener,OnTextViewChangeListener 接口 + */ +public class NoteEditActivity extends Activity implements OnClickListener, + NoteSettingChangedListener, OnTextViewChangeListener { + // 定义私有视图持有者,保存视图元素基础信息 + private class HeadViewHolder { + public TextView tvModified; + + public ImageView ivAlertIcon; + + public TextView tvAlertDate; + + public ImageView ibSetBgColor; + + public ImageView ibSetTextSize; + } + // 背景选择器map + private static final Map sBgSelectorBtnsMap = new HashMap(); + // 静态初始化块 + static { + sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW); + sBgSelectorBtnsMap.put(R.id.iv_bg_red, ResourceParser.RED); + sBgSelectorBtnsMap.put(R.id.iv_bg_blue, ResourceParser.BLUE); + sBgSelectorBtnsMap.put(R.id.iv_bg_green, ResourceParser.GREEN); + sBgSelectorBtnsMap.put(R.id.iv_bg_white, ResourceParser.WHITE); + sBgSelectorBtnsMap.put(R.id.iv_bg_orange, ResourceParser.ORANGE); + } + // 背景选择器Map + private static final Map sBgSelectorSelectionMap = new HashMap(); + + static { + sBgSelectorSelectionMap.put(ResourceParser.YELLOW, R.id.iv_bg_yellow_select); + sBgSelectorSelectionMap.put(ResourceParser.RED, R.id.iv_bg_red_select); + sBgSelectorSelectionMap.put(ResourceParser.BLUE, R.id.iv_bg_blue_select); + sBgSelectorSelectionMap.put(ResourceParser.GREEN, R.id.iv_bg_green_select); + sBgSelectorSelectionMap.put(ResourceParser.WHITE, R.id.iv_bg_white_select); + sBgSelectorSelectionMap.put(ResourceParser.ORANGE, R.id.iv_bg_orange_select); + } + // 字体选择Map + private static final Map sFontSizeBtnsMap = new HashMap(); + + static { + sFontSizeBtnsMap.put(R.id.ll_font_large, ResourceParser.TEXT_LARGE); + sFontSizeBtnsMap.put(R.id.ll_font_small, ResourceParser.TEXT_SMALL); + sFontSizeBtnsMap.put(R.id.ll_font_normal, ResourceParser.TEXT_MEDIUM); + sFontSizeBtnsMap.put(R.id.ll_font_super, ResourceParser.TEXT_SUPER); + } + // 字体选择器Map + private static final Map sFontSelectorSelectionMap = new HashMap(); + + static { + sFontSelectorSelectionMap.put(ResourceParser.TEXT_LARGE, R.id.iv_large_select); + sFontSelectorSelectionMap.put(ResourceParser.TEXT_SMALL, R.id.iv_small_select); + sFontSelectorSelectionMap.put(ResourceParser.TEXT_MEDIUM, R.id.iv_medium_select); + sFontSelectorSelectionMap.put(ResourceParser.TEXT_SUPER, R.id.iv_super_select); + } + // 标签名称 + private static final String TAG = "NoteEditActivity"; + // 顶部视图持有者 + private HeadViewHolder mNoteHeaderHolder; + // 顶部面板视图 + private View mHeadViewPanel; + // 便签颜色选择器 + private View mNoteBgColorSelector; + // 字体尺寸选择器 + private View mFontSizeSelector; + // 便签编辑器 + private EditText mNoteEditor; + // 面板编辑视图 + private View mNoteEditorPanel; + + private WorkingNote mWorkingNote; + // 共享引用 + private SharedPreferences mSharedPrefs; + // 字体尺寸 + private int mFontSizeId; + + private static final String PREFERENCE_FONT_SIZE = "pref_font_size"; + + private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10; + // 标签选择FLAG + public static final String TAG_CHECKED = String.valueOf('\u221A'); + // 标签取消选择FLAG + public static final String TAG_UNCHECKED = String.valueOf('\u25A1'); + // 线性布局 + private LinearLayout mEditTextList; + // 用户查询指令 + private String mUserQuery; + private Pattern mPattern; + + /** + * 生命周期方法 在Activity OnCreate 阶段调用 + * @param savedInstanceState 先前保存的实例状态 + */ + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + this.setContentView(R.layout.note_edit); + + if (savedInstanceState == null && !initActivityState(getIntent())) { + finish(); + return; + } + initResources(); + Button previewBtn = (Button) this.findViewById(R.id.preview_btn); + previewBtn.setOnClickListener((e)->{ + // jump to preview layout + Intent intent = new Intent(); + intent.setClass(NoteEditActivity.this,PreviewActivity.class); + getWorkingText(); + PreviewActivity.text = mWorkingNote.getContent(); + startActivity(intent); + }); + } + + /** + * Current activity may be killed when the memory is low. Once it is killed, for another time + * user load this activity, we should restore the former state + */ + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + if (savedInstanceState != null && savedInstanceState.containsKey(Intent.EXTRA_UID)) { + Intent intent = new Intent(Intent.ACTION_VIEW); + intent.putExtra(Intent.EXTRA_UID, savedInstanceState.getLong(Intent.EXTRA_UID)); + if (!initActivityState(intent)) { + finish(); + return; + } + Log.d(TAG, "Restoring from killed activity"); + } + } + + /** + * 初始化活动状态 + * @param intent 发起活动的意图对象 + */ + private boolean initActivityState(Intent intent) { + /** + * If the user specified the {@link Intent#ACTION_VIEW} but not provided with id, + * then jump to the NotesListActivity + */ + mWorkingNote = null; + if (TextUtils.equals(Intent.ACTION_VIEW, intent.getAction())) { + long noteId = intent.getLongExtra(Intent.EXTRA_UID, 0); + mUserQuery = ""; + + /** + * Starting from the searched result + */ + if (intent.hasExtra(SearchManager.EXTRA_DATA_KEY)) { + noteId = Long.parseLong(intent.getStringExtra(SearchManager.EXTRA_DATA_KEY)); + mUserQuery = intent.getStringExtra(SearchManager.USER_QUERY); + } + + if (!DataUtils.visibleInNoteDatabase(getContentResolver(), noteId, Notes.TYPE_NOTE)) { + Intent jump = new Intent(this, NotesListActivity.class); + startActivity(jump); + showToast(R.string.error_note_not_exist); + finish(); + return false; + } else { + mWorkingNote = WorkingNote.load(this, noteId); + if (mWorkingNote == null) { + Log.e(TAG, "load note failed with note id" + noteId); + finish(); + return false; + } + } + getWindow().setSoftInputMode( + WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN + | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); + } else if (TextUtils.equals(Intent.ACTION_INSERT_OR_EDIT, intent.getAction())) { + // New note + long folderId = intent.getLongExtra(Notes.INTENT_EXTRA_FOLDER_ID, 0); + int widgetId = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_ID, + AppWidgetManager.INVALID_APPWIDGET_ID); + int widgetType = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_TYPE, + Notes.TYPE_WIDGET_INVALIDE); + int bgResId = intent.getIntExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, + ResourceParser.getDefaultBgId(this)); + int fontResId = intent.getIntExtra(Notes.INTENT_EXTRA_FONT_SIZE_ID, + ResourceParser.getDefaultBgId(this)); + + // Parse call-record note + String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); + long callDate = intent.getLongExtra(Notes.INTENT_EXTRA_CALL_DATE, 0); + if (callDate != 0 && phoneNumber != null) { + if (TextUtils.isEmpty(phoneNumber)) { + Log.w(TAG, "The call record number is null"); + } + long noteId = 0; + if ((noteId = DataUtils.getNoteIdByPhoneNumberAndCallDate(getContentResolver(), + phoneNumber, callDate)) > 0) { + mWorkingNote = WorkingNote.load(this, noteId); + if (mWorkingNote == null) { + Log.e(TAG, "load call note failed with note id" + noteId); + finish(); + return false; + } + } else { + mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, + widgetType, bgResId,fontResId); + mWorkingNote.convertToCallNote(phoneNumber, callDate); + } + } else { + mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, widgetType, + bgResId,fontResId); + } + + getWindow().setSoftInputMode( + WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE + | WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); + } else { + Log.e(TAG, "Intent not specified action, should not support"); + finish(); + return false; + } + mWorkingNote.setOnSettingStatusChangedListener(this); + return true; + } + + /** + * 刷新便签屏幕状态 + */ + @Override + protected void onResume() { + super.onResume(); + initNoteScreen(); + } + + private void initNoteScreen() { + mNoteEditor.setTextAppearance(this, TextAppearanceResources + .getTexAppearanceResource(mFontSizeId)); + if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { + switchToListMode(mWorkingNote.getContent()); + } else { + mNoteEditor.setText(getHighlightQueryResult(mWorkingNote.getContent(), mUserQuery)); + mNoteEditor.setSelection(mNoteEditor.getText().length()); + } + for (Integer id : sBgSelectorSelectionMap.keySet()) { + findViewById(sBgSelectorSelectionMap.get(id)).setVisibility(View.GONE); + } + mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId()); + mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId()); + + mNoteHeaderHolder.tvModified.setText(DateUtils.formatDateTime(this, + mWorkingNote.getModifiedDate(), DateUtils.FORMAT_SHOW_DATE + | DateUtils.FORMAT_NUMERIC_DATE | DateUtils.FORMAT_SHOW_TIME + | DateUtils.FORMAT_SHOW_YEAR)); + + /** + * TODO: Add the menu for setting alert. Currently disable it because the DateTimePicker + * is not ready + */ + showAlertHeader(); + } + + private void showAlertHeader() { + if (mWorkingNote.hasClockAlert()) { + long time = System.currentTimeMillis(); + if (time > mWorkingNote.getAlertDate()) { + mNoteHeaderHolder.tvAlertDate.setText(R.string.note_alert_expired); + } else { + mNoteHeaderHolder.tvAlertDate.setText(DateUtils.getRelativeTimeSpanString( + mWorkingNote.getAlertDate(), time, DateUtils.MINUTE_IN_MILLIS)); + } + mNoteHeaderHolder.tvAlertDate.setVisibility(View.VISIBLE); + mNoteHeaderHolder.ivAlertIcon.setVisibility(View.VISIBLE); + } else { + mNoteHeaderHolder.tvAlertDate.setVisibility(View.GONE); + mNoteHeaderHolder.ivAlertIcon.setVisibility(View.GONE); + } + ; + } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + initActivityState(intent); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + /** + * For new note without note id, we should firstly save it to + * generate a id. If the editing note is not worth saving, there + * is no id which is equivalent to create new note + */ + if (!mWorkingNote.existInDatabase()) { + saveNote(); + } + outState.putLong(Intent.EXTRA_UID, mWorkingNote.getNoteId()); + Log.d(TAG, "Save working note id: " + mWorkingNote.getNoteId() + " onSaveInstanceState"); + } + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + if (mNoteBgColorSelector.getVisibility() == View.VISIBLE + && !inRangeOfView(mNoteBgColorSelector, ev)) { + mNoteBgColorSelector.setVisibility(View.GONE); + return true; + } + + if (mFontSizeSelector.getVisibility() == View.VISIBLE + && !inRangeOfView(mFontSizeSelector, ev)) { + mFontSizeSelector.setVisibility(View.GONE); + return true; + } + return super.dispatchTouchEvent(ev); + } + + private boolean inRangeOfView(View view, MotionEvent ev) { + int[] location = new int[2]; + view.getLocationOnScreen(location); + int x = location[0]; + int y = location[1]; + if (ev.getX() < x + || ev.getX() > (x + view.getWidth()) + || ev.getY() < y + || ev.getY() > (y + view.getHeight())) { + return false; + } + return true; + } + + private void initResources() { + mHeadViewPanel = findViewById(R.id.note_title); + mNoteHeaderHolder = new HeadViewHolder(); + mNoteHeaderHolder.tvModified = (TextView) findViewById(R.id.tv_modified_date); + mNoteHeaderHolder.ivAlertIcon = (ImageView) findViewById(R.id.iv_alert_icon); + mNoteHeaderHolder.tvAlertDate = (TextView) findViewById(R.id.tv_alert_date); + mNoteHeaderHolder.ibSetBgColor = (ImageView) findViewById(R.id.btn_set_bg_color); + mNoteHeaderHolder.ibSetTextSize = (ImageView) findViewById(R.id.btn_set_text_size); + mNoteHeaderHolder.ibSetBgColor.setOnClickListener(this); + mNoteHeaderHolder.ibSetTextSize.setOnClickListener(this); + mNoteEditor = (EditText) findViewById(R.id.note_edit_view); + mNoteEditorPanel = findViewById(R.id.sv_note_edit); + mNoteBgColorSelector = findViewById(R.id.note_bg_color_selector); + for (int id : sBgSelectorBtnsMap.keySet()) { + ImageView iv = (ImageView) findViewById(id); + iv.setOnClickListener(this); + } + + mFontSizeSelector = findViewById(R.id.font_size_selector); + for (int id : sFontSizeBtnsMap.keySet()) { + View view = findViewById(id); + view.setOnClickListener(this); + } + ; + mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this); + mFontSizeId = mSharedPrefs.getInt(PREFERENCE_FONT_SIZE, ResourceParser.BG_DEFAULT_FONT_SIZE); + /** + * HACKME: Fix bug of store the resource id in shared preference. + * The id may larger than the length of resources, in this case, + * return the {@link ResourceParser#BG_DEFAULT_FONT_SIZE} + */ + if (mFontSizeId >= TextAppearanceResources.getResourcesSize()) { + mFontSizeId = ResourceParser.BG_DEFAULT_FONT_SIZE; + } + mEditTextList = (LinearLayout) findViewById(R.id.note_edit_list); + } + + @Override + protected void onPause() { + super.onPause(); + if (saveNote()) { + Log.d(TAG, "Note data was saved with length:" + mWorkingNote.getContent().length()); + } + clearSettingState(); + } + + /** + * 更新便签小配件的类型以及功能 + */ + private void updateWidget() { + Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE); + if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_2X) { + intent.setClass(this, NoteWidgetProvider_2x.class); + } else if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_4X) { + intent.setClass(this, NoteWidgetProvider_4x.class); + } else { + Log.e(TAG, "Unspported widget type"); + return; + } + + intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[]{ + mWorkingNote.getWidgetId() + }); + + sendBroadcast(intent); + setResult(RESULT_OK, intent); + } + // 点击时触发 + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.btn_set_bg_color) { + mNoteBgColorSelector.setVisibility(View.VISIBLE); + findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( + View.INVISIBLE); + } else if (sBgSelectorBtnsMap.containsKey(id)) { + findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( + View.GONE); + mWorkingNote.setBgColorId(sBgSelectorBtnsMap.get(id)); + mNoteBgColorSelector.setVisibility(View.GONE); + } + if(id == R.id.btn_set_text_size) { + mFontSizeSelector.setVisibility(View.VISIBLE); + findViewById(sFontSelectorSelectionMap.get(mWorkingNote.getFontSizeId())).setVisibility( + View.INVISIBLE); + } else if (sFontSizeBtnsMap.containsKey(id)) { + findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.GONE); + mFontSizeId = sFontSizeBtnsMap.get(id); + mSharedPrefs.edit().putInt(PREFERENCE_FONT_SIZE, mFontSizeId).commit(); + findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.VISIBLE); + if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { + getWorkingText(); + switchToListMode(mWorkingNote.getContent()); + } else { + mNoteEditor.setTextAppearance(this, + TextAppearanceResources.getTexAppearanceResource(mFontSizeId)); + } + mWorkingNote.setFontSizeId(sFontSizeBtnsMap.get(id)); + mFontSizeSelector.setVisibility(View.GONE); + } + } + // 按下返回键 + @Override + public void onBackPressed() { + if (clearSettingState()) { + return; + } + + saveNote(); + super.onBackPressed(); + } + // 清理设置状态 + private boolean clearSettingState() { + if (mNoteBgColorSelector.getVisibility() == View.VISIBLE) { + mNoteBgColorSelector.setVisibility(View.GONE); + return true; + } else if (mFontSizeSelector.getVisibility() == View.VISIBLE) { + mFontSizeSelector.setVisibility(View.GONE); + return true; + } + return false; + } + // 背景颜色改变时触发 + public void onBackgroundColorChanged() { + findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( + View.VISIBLE); + mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId()); + mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId()); + } + // 字体尺寸改变时触发 + @Override + public void onFontSizeChanged() { + //TODO 没写好呢,可以考虑加个Toast + } + + // 在准备渲染设置菜单时触发 + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + if (isFinishing()) { + return true; + } + clearSettingState(); + menu.clear(); + if (mWorkingNote.getFolderId() == Notes.ID_CALL_RECORD_FOLDER) { + getMenuInflater().inflate(R.menu.call_note_edit, menu); + } else { + getMenuInflater().inflate(R.menu.note_edit, menu); + } + if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { + menu.findItem(R.id.menu_list_mode).setTitle(R.string.menu_normal_mode); + } else { + menu.findItem(R.id.menu_list_mode).setTitle(R.string.menu_list_mode); + } + if (mWorkingNote.hasClockAlert()) { + menu.findItem(R.id.menu_alert).setVisible(false); + } else { + menu.findItem(R.id.menu_delete_remind).setVisible(false); + } + return true; + } + // 在设置改变时触发 + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.menu_new_note: + createNewNote(); + break; + case R.id.menu_delete: + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(getString(R.string.alert_title_delete)); + builder.setIcon(android.R.drawable.ic_dialog_alert); + builder.setMessage(getString(R.string.alert_message_delete_note)); + builder.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + deleteCurrentNote(); + finish(); + } + }); + builder.setNegativeButton(android.R.string.cancel, null); + builder.show(); + break; + case R.id.menu_font_size: + mFontSizeSelector.setVisibility(View.VISIBLE); + findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.VISIBLE); + break; + case R.id.menu_list_mode: + mWorkingNote.setCheckListMode(mWorkingNote.getCheckListMode() == 0 ? + TextNote.MODE_CHECK_LIST : 0); + break; + case R.id.menu_share: + getWorkingText(); + sendTo(this, mWorkingNote.getContent()); + break; + case R.id.menu_send_to_desktop: + sendToDesktop(); + break; + case R.id.menu_alert: + setReminder(); + break; + case R.id.menu_delete_remind: + mWorkingNote.setAlertDate(0, false); + break; + default: + break; + } + return true; + } + // 设置提醒着 + private void setReminder() { + DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis()); + d.setOnDateTimeSetListener(new OnDateTimeSetListener() { + public void OnDateTimeSet(AlertDialog dialog, long date) { + mWorkingNote.setAlertDate(date, true); + } + }); + d.show(); + } + + /** + * Share note to apps that support {@link Intent#ACTION_SEND} action + * and {@text/plain} type + */ + private void sendTo(Context context, String info) { + Intent intent = new Intent(Intent.ACTION_SEND); + intent.putExtra(Intent.EXTRA_TEXT, info); + intent.setType("text/plain"); + context.startActivity(intent); + } + // 创建新的便签 + private void createNewNote() { + // Firstly, save current editing notes + saveNote(); + + // For safety, start a new NoteEditActivity + finish(); + Intent intent = new Intent(this, NoteEditActivity.class); + intent.setAction(Intent.ACTION_INSERT_OR_EDIT); + intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mWorkingNote.getFolderId()); + startActivity(intent); + } + // 删除当前便签 + private void deleteCurrentNote() { + if (mWorkingNote.existInDatabase()) { + HashSet ids = new HashSet(); + long id = mWorkingNote.getNoteId(); + if (id != Notes.ID_ROOT_FOLDER) { + ids.add(id); + } else { + Log.d(TAG, "Wrong note id, should not happen"); + } + if (!isSyncMode()) { + if (!DataUtils.batchDeleteNotes(getContentResolver(), ids)) { + Log.e(TAG, "Delete Note error"); + } + } else { + if (!DataUtils.batchMoveToFolder(getContentResolver(), ids, Notes.ID_TRASH_FOLER)) { + Log.e(TAG, "Move notes to trash folder error, should not happens"); + } + } + } + mWorkingNote.markDeleted(true); + } + // 是否为同步模式 + private boolean isSyncMode() { + return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0; + } + // 在闹钟改变时候触发 + public void onClockAlertChanged(long date, boolean set) { + /** + * User could set clock to an unsaved note, so before setting the + * alert clock, we should save the note first + */ + if (!mWorkingNote.existInDatabase()) { + saveNote(); + } + if (mWorkingNote.getNoteId() > 0) { + Intent intent = new Intent(this, AlarmReceiver.class); + intent.setData(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mWorkingNote.getNoteId())); + PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0); + AlarmManager alarmManager = ((AlarmManager) getSystemService(ALARM_SERVICE)); + showAlertHeader(); + if (!set) { + alarmManager.cancel(pendingIntent); + } else { + alarmManager.set(AlarmManager.RTC_WAKEUP, date, pendingIntent); + } + } else { + /** + * There is the condition that user has input nothing (the note is + * not worthy saving), we have no note id, remind the user that he + * should input something + */ + Log.e(TAG, "Clock alert setting error"); + showToast(R.string.error_note_empty_for_clock); + } + } + // 在组件改变时触发 + public void onWidgetChanged() { + updateWidget(); + } + // 在编辑文本删除时触发 + public void onEditTextDelete(int index, String text) { + int childCount = mEditTextList.getChildCount(); + if (childCount == 1) { + return; + } + + for (int i = index + 1; i < childCount; i++) { + ((NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text)) + .setIndex(i - 1); + } + + mEditTextList.removeViewAt(index); + NoteEditText edit = null; + if (index == 0) { + edit = (NoteEditText) mEditTextList.getChildAt(0).findViewById( + R.id.et_edit_text); + } else { + edit = (NoteEditText) mEditTextList.getChildAt(index - 1).findViewById( + R.id.et_edit_text); + } + int length = edit.length(); + edit.append(text); + edit.requestFocus(); + edit.setSelection(length); + } + // 在编辑文本按下Enter时触发 + public void onEditTextEnter(int index, String text) { + /** + * Should not happen, check for debug + */ + if (index > mEditTextList.getChildCount()) { + Log.e(TAG, "Index out of mEditTextList boundrary, should not happen"); + } + + View view = getListItem(text, index); + mEditTextList.addView(view, index); + NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text); + edit.requestFocus(); + edit.setSelection(0); + for (int i = index + 1; i < mEditTextList.getChildCount(); i++) { + ((NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text)) + .setIndex(i); + } + } + // 切换到列表模式 + private void switchToListMode(String text) { + mEditTextList.removeAllViews(); + String[] items = text.split("\n"); + int index = 0; + for (String item : items) { + if (!TextUtils.isEmpty(item)) { + mEditTextList.addView(getListItem(item, index)); + index++; + } + } + mEditTextList.addView(getListItem("", index)); + mEditTextList.getChildAt(index).findViewById(R.id.et_edit_text).requestFocus(); + + mNoteEditor.setVisibility(View.GONE); + mEditTextList.setVisibility(View.VISIBLE); + } + // 获取查询结果 + private Spannable getHighlightQueryResult(String fullText, String userQuery) { + SpannableString spannable = new SpannableString(fullText == null ? "" : fullText); + if (!TextUtils.isEmpty(userQuery)) { + mPattern = Pattern.compile(userQuery); + Matcher m = mPattern.matcher(fullText); + int start = 0; + while (m.find(start)) { + spannable.setSpan( + new BackgroundColorSpan(this.getResources().getColor( + R.color.user_query_highlight)), m.start(), m.end(), + Spannable.SPAN_INCLUSIVE_EXCLUSIVE); + start = m.end(); + } + } + return spannable; + } + // 获取列表项目 + private View getListItem(String item, int index) { + View view = LayoutInflater.from(this).inflate(R.layout.note_edit_list_item, null); + final NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text); + edit.setTextAppearance(this, TextAppearanceResources.getTexAppearanceResource(mFontSizeId)); + CheckBox cb = ((CheckBox) view.findViewById(R.id.cb_edit_item)); + cb.setOnCheckedChangeListener(new OnCheckedChangeListener() { + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (isChecked) { + edit.setPaintFlags(edit.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); + } else { + edit.setPaintFlags(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG); + } + } + }); + + if (item.startsWith(TAG_CHECKED)) { + cb.setChecked(true); + edit.setPaintFlags(edit.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); + item = item.substring(TAG_CHECKED.length(), item.length()).trim(); + } else if (item.startsWith(TAG_UNCHECKED)) { + cb.setChecked(false); + edit.setPaintFlags(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG); + item = item.substring(TAG_UNCHECKED.length(), item.length()).trim(); + } + + edit.setOnTextViewChangeListener(this); + edit.setIndex(index); + edit.setText(getHighlightQueryResult(item, mUserQuery)); + return view; + } + // 在文本内容改变时触发 + public void onTextChange(int index, boolean hasText) { + if (index >= mEditTextList.getChildCount()) { + Log.e(TAG, "Wrong index, should not happen"); + return; + } + if (hasText) { + mEditTextList.getChildAt(index).findViewById(R.id.cb_edit_item).setVisibility(View.VISIBLE); + } else { + mEditTextList.getChildAt(index).findViewById(R.id.cb_edit_item).setVisibility(View.GONE); + } + } + // 在选择列表模型改变时触发 + public void onCheckListModeChanged(int oldMode, int newMode) { + if (newMode == TextNote.MODE_CHECK_LIST) { + switchToListMode(mNoteEditor.getText().toString()); + } else { + if (!getWorkingText()) { + mWorkingNote.setWorkingText(mWorkingNote.getContent().replace(TAG_UNCHECKED + " ", + "")); + } + mNoteEditor.setText(getHighlightQueryResult(mWorkingNote.getContent(), mUserQuery)); + mEditTextList.setVisibility(View.GONE); + mNoteEditor.setVisibility(View.VISIBLE); + } + } + // 获取工作区文本 + private boolean getWorkingText() { + boolean hasChecked = false; + if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < mEditTextList.getChildCount(); i++) { + View view = mEditTextList.getChildAt(i); + NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text); + if (!TextUtils.isEmpty(edit.getText())) { + if (((CheckBox) view.findViewById(R.id.cb_edit_item)).isChecked()) { + sb.append(TAG_CHECKED).append(" ").append(edit.getText()).append("\n"); + hasChecked = true; + } else { + sb.append(TAG_UNCHECKED).append(" ").append(edit.getText()).append("\n"); + } + } + } + mWorkingNote.setWorkingText(sb.toString()); + } else { + mWorkingNote.setWorkingText(mNoteEditor.getText().toString()); + } + return hasChecked; + } + // 保存便签 + private boolean saveNote() { + getWorkingText(); + boolean saved = mWorkingNote.saveNote(); + if (saved) { + /** + * There are two modes from List view to edit view, open one note, + * create/edit a node. Opening node requires to the original + * position in the list when back from edit view, while creating a + * new node requires to the top of the list. This code + * {@link #RESULT_OK} is used to identify the create/edit state + */ + setResult(RESULT_OK); + } + return saved; + } + // 发送到桌面 + private void sendToDesktop() { + /** + * Before send message to home, we should make sure that current + * editing note is exists in databases. So, for new note, firstly + * save it + */ + if (!mWorkingNote.existInDatabase()) { + saveNote(); + } + + if (mWorkingNote.getNoteId() > 0) { + Intent sender = new Intent(); + Intent shortcutIntent = new Intent(this, NoteEditActivity.class); + shortcutIntent.setAction(Intent.ACTION_VIEW); + shortcutIntent.putExtra(Intent.EXTRA_UID, mWorkingNote.getNoteId()); + sender.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); + sender.putExtra(Intent.EXTRA_SHORTCUT_NAME, + makeShortcutIconTitle(mWorkingNote.getContent())); + sender.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, + Intent.ShortcutIconResource.fromContext(this, R.drawable.icon_app)); + sender.putExtra("duplicate", true); + sender.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); + showToast(R.string.info_note_enter_desktop); + sendBroadcast(sender); + } else { + /** + * There is the condition that user has input nothing (the note is + * not worthy saving), we have no note id, remind the user that he + * should input something + */ + Log.e(TAG, "Send to desktop error"); + showToast(R.string.error_note_empty_for_send_to_desktop); + } + } + // 制作标题缩略图标 + private String makeShortcutIconTitle(String content) { + content = content.replace(TAG_CHECKED, ""); + content = content.replace(TAG_UNCHECKED, ""); + return content.length() > SHORTCUT_ICON_TITLE_MAX_LEN ? content.substring(0, + SHORTCUT_ICON_TITLE_MAX_LEN) : content; + } + // 显示吐司提示窗 + private void showToast(int resId) { + showToast(resId, Toast.LENGTH_SHORT); + } + // 显示吐司提示窗 + private void showToast(int resId, int duration) { + Toast.makeText(this, resId, duration).show(); + } +} diff --git a/src/src/main/java/net/micode/notes/ui/activities/NotesListActivity.java b/src/src/main/java/net/micode/notes/ui/activities/NotesListActivity.java new file mode 100644 index 0000000..dc45586 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/activities/NotesListActivity.java @@ -0,0 +1,960 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui.activities; + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.Dialog; +import android.appwidget.AppWidgetManager; +import android.content.AsyncQueryHandler; +import android.content.ContentResolver; +import android.content.ContentValues; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.SharedPreferences; +import android.database.Cursor; +import android.os.AsyncTask; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.util.Log; +import android.view.ActionMode; +import android.view.ContextMenu; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.Display; +import android.view.HapticFeedbackConstants; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.MenuItem.OnMenuItemClickListener; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnCreateContextMenuListener; +import android.view.View.OnTouchListener; +import android.view.inputmethod.InputMethodManager; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.AdapterView.OnItemLongClickListener; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ListView; +import android.widget.PopupMenu; +import android.widget.TextView; +import android.widget.Toast; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.model.WorkingNote; +import net.micode.notes.tool.BackupUtils; +import net.micode.notes.tool.DataUtils; +import net.micode.notes.tool.ResourceParser; +import net.micode.notes.ui.DropdownMenu; +import net.micode.notes.ui.FoldersListAdapter; +import net.micode.notes.ui.NoteItemData; +import net.micode.notes.ui.NotesListAdapter; +import net.micode.notes.ui.NotesListAdapter.AppWidgetAttribute; +import net.micode.notes.ui.NotesListItem; +import net.micode.notes.widget.NoteWidgetProvider_2x; +import net.micode.notes.widget.NoteWidgetProvider_4x; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.HashSet; + +public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener { + private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0; + + private static final int FOLDER_LIST_QUERY_TOKEN = 1; + + private static final int MENU_FOLDER_DELETE = 0; + + private static final int MENU_FOLDER_VIEW = 1; + + private static final int MENU_FOLDER_CHANGE_NAME = 2; + + private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction"; + + private enum ListEditState { + NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER + } + + ; + + private ListEditState mState; + + private BackgroundQueryHandler mBackgroundQueryHandler; + + private NotesListAdapter mNotesListAdapter; + + private ListView mNotesListView; + + private Button mAddNewNote; + + private boolean mDispatch; + + private int mOriginY; + + private int mDispatchY; + + private TextView mTitleBar; + + private long mCurrentFolderId; + + private ContentResolver mContentResolver; + + private ModeCallback mModeCallBack; + + private static final String TAG = "NotesListActivity"; + + public static final int NOTES_LISTVIEW_SCROLL_RATE = 30; + + private NoteItemData mFocusNoteDataItem; + + private static final String NORMAL_SELECTION = NoteColumns.PARENT_ID + "=?"; + + private static final String ROOT_FOLDER_SELECTION = "(" + NoteColumns.TYPE + "<>" + + Notes.TYPE_SYSTEM + " AND " + NoteColumns.PARENT_ID + "=?)" + " OR (" + + NoteColumns.ID + "=" + Notes.ID_CALL_RECORD_FOLDER + " AND " + + NoteColumns.NOTES_COUNT + ">0)"; + + private final static int REQUEST_CODE_OPEN_NODE = 102; + private final static int REQUEST_CODE_NEW_NODE = 103; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.note_list); + initResources(); + + /** + * Insert an introduction when user firstly use this application + */ + setAppInfoFromRawRes(); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if (resultCode == RESULT_OK + && (requestCode == REQUEST_CODE_OPEN_NODE || requestCode == REQUEST_CODE_NEW_NODE)) { + mNotesListAdapter.changeCursor(null); + } else { + super.onActivityResult(requestCode, resultCode, data); + } + } + + private void setAppInfoFromRawRes() { + SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); + if (!sp.getBoolean(PREFERENCE_ADD_INTRODUCTION, false)) { + StringBuilder sb = new StringBuilder(); + InputStream in = null; + try { + in = getResources().openRawResource(R.raw.introduction); + if (in != null) { + InputStreamReader isr = new InputStreamReader(in); + BufferedReader br = new BufferedReader(isr); + char[] buf = new char[1024]; + int len = 0; + while ((len = br.read(buf)) > 0) { + sb.append(buf, 0, len); + } + } else { + Log.e(TAG, "Read introduction file error"); + return; + } + } catch (IOException e) { + e.printStackTrace(); + return; + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + + WorkingNote note = WorkingNote.createEmptyNote(this, Notes.ID_ROOT_FOLDER, + AppWidgetManager.INVALID_APPWIDGET_ID, Notes.TYPE_WIDGET_INVALIDE, + ResourceParser.RED,ResourceParser.TEXT_SMALL); + note.setWorkingText(sb.toString()); + if (note.saveNote()) { + sp.edit().putBoolean(PREFERENCE_ADD_INTRODUCTION, true).commit(); + } else { + Log.e(TAG, "Save introduction note error"); + return; + } + } + } + + @Override + protected void onStart() { + super.onStart(); + startAsyncNotesListQuery(); + } + + private void initResources() { + mContentResolver = this.getContentResolver(); + mBackgroundQueryHandler = new BackgroundQueryHandler(this.getContentResolver()); + mCurrentFolderId = Notes.ID_ROOT_FOLDER; + mNotesListView = (ListView) findViewById(R.id.notes_list); + mNotesListView.addFooterView(LayoutInflater.from(this).inflate(R.layout.note_list_footer, null), + null, false); + mNotesListView.setOnItemClickListener(new OnListItemClickListener()); + mNotesListView.setOnItemLongClickListener(this); + mNotesListAdapter = new NotesListAdapter(this); + mNotesListView.setAdapter(mNotesListAdapter); + mAddNewNote = (Button) findViewById(R.id.btn_new_note); + mAddNewNote.setOnClickListener(this); + mAddNewNote.setOnTouchListener(new NewNoteOnTouchListener()); + mDispatch = false; + mDispatchY = 0; + mOriginY = 0; + mTitleBar = (TextView) findViewById(R.id.tv_title_bar); + mState = ListEditState.NOTE_LIST; + mModeCallBack = new ModeCallback(); + } + + private class ModeCallback implements ListView.MultiChoiceModeListener, OnMenuItemClickListener { + private DropdownMenu mDropDownMenu; + private ActionMode mActionMode; + private MenuItem mMoveMenu; + + public boolean onCreateActionMode(ActionMode mode, Menu menu) { + getMenuInflater().inflate(R.menu.note_list_options, menu); + menu.findItem(R.id.delete).setOnMenuItemClickListener(this); + mMoveMenu = menu.findItem(R.id.move); + if (mFocusNoteDataItem.getParentId() == Notes.ID_CALL_RECORD_FOLDER + || DataUtils.getUserFolderCount(mContentResolver) == 0) { + mMoveMenu.setVisible(false); + } else { + mMoveMenu.setVisible(true); + mMoveMenu.setOnMenuItemClickListener(this); + } + mActionMode = mode; + mNotesListAdapter.setChoiceMode(true); + mNotesListView.setLongClickable(false); + mAddNewNote.setVisibility(View.GONE); + + View customView = LayoutInflater.from(NotesListActivity.this).inflate( + R.layout.note_list_dropdown_menu, null); + mode.setCustomView(customView); + mDropDownMenu = new DropdownMenu(NotesListActivity.this, + (Button) customView.findViewById(R.id.selection_menu), + R.menu.note_list_dropdown); + mDropDownMenu.setOnDropdownMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { + public boolean onMenuItemClick(MenuItem item) { + mNotesListAdapter.selectAll(!mNotesListAdapter.isAllSelected()); + updateMenu(); + return true; + } + + }); + return true; + } + + private void updateMenu() { + int selectedCount = mNotesListAdapter.getSelectedCount(); + // Update dropdown menu + String format = getResources().getString(R.string.menu_select_title, selectedCount); + mDropDownMenu.setTitle(format); + MenuItem item = mDropDownMenu.findItem(R.id.action_select_all); + if (item != null) { + if (mNotesListAdapter.isAllSelected()) { + item.setChecked(true); + item.setTitle(R.string.menu_deselect_all); + } else { + item.setChecked(false); + item.setTitle(R.string.menu_select_all); + } + } + } + + public boolean onPrepareActionMode(ActionMode mode, Menu menu) { + // TODO Auto-generated method stub + return false; + } + + public boolean onActionItemClicked(ActionMode mode, MenuItem item) { + // TODO Auto-generated method stub + return false; + } + + public void onDestroyActionMode(ActionMode mode) { + mNotesListAdapter.setChoiceMode(false); + mNotesListView.setLongClickable(true); + mAddNewNote.setVisibility(View.VISIBLE); + } + + public void finishActionMode() { + mActionMode.finish(); + } + + public void onItemCheckedStateChanged(ActionMode mode, int position, long id, + boolean checked) { + mNotesListAdapter.setCheckedItem(position, checked); + updateMenu(); + } + + public boolean onMenuItemClick(MenuItem item) { + if (mNotesListAdapter.getSelectedCount() == 0) { + Toast.makeText(NotesListActivity.this, getString(R.string.menu_select_none), + Toast.LENGTH_SHORT).show(); + return true; + } + + switch (item.getItemId()) { + case R.id.delete: + AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); + builder.setTitle(getString(R.string.alert_title_delete)); + builder.setIcon(android.R.drawable.ic_dialog_alert); + builder.setMessage(getString(R.string.alert_message_delete_notes, + mNotesListAdapter.getSelectedCount())); + builder.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + batchDelete(); + } + }); + builder.setNegativeButton(android.R.string.cancel, null); + builder.show(); + break; + case R.id.move: + startQueryDestinationFolders(); + break; + default: + return false; + } + return true; + } + } + + private class NewNoteOnTouchListener implements OnTouchListener { + + public boolean onTouch(View v, MotionEvent event) { + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: { + Display display = getWindowManager().getDefaultDisplay(); + int screenHeight = display.getHeight(); + int newNoteViewHeight = mAddNewNote.getHeight(); + int start = screenHeight - newNoteViewHeight; + int eventY = start + (int) event.getY(); + /** + * Minus TitleBar's height + */ + if (mState == ListEditState.SUB_FOLDER) { + eventY -= mTitleBar.getHeight(); + start -= mTitleBar.getHeight(); + } + /** + * HACKME:When click the transparent part of "New Note" button, dispatch + * the event to the list view behind this button. The transparent part of + * "New Note" button could be expressed by formula y=-0.12x+94(Unit:pixel) + * and the line top of the button. The coordinate based on left of the "New + * Note" button. The 94 represents maximum height of the transparent part. + * Notice that, if the background of the button changes, the formula should + * also change. This is very bad, just for the UI designer's strong requirement. + */ + if (event.getY() < (event.getX() * (-0.12) + 94)) { + View view = mNotesListView.getChildAt(mNotesListView.getChildCount() - 1 + - mNotesListView.getFooterViewsCount()); + if (view != null && view.getBottom() > start + && (view.getTop() < (start + 94))) { + mOriginY = (int) event.getY(); + mDispatchY = eventY; + event.setLocation(event.getX(), mDispatchY); + mDispatch = true; + return mNotesListView.dispatchTouchEvent(event); + } + } + break; + } + case MotionEvent.ACTION_MOVE: { + if (mDispatch) { + mDispatchY += (int) event.getY() - mOriginY; + event.setLocation(event.getX(), mDispatchY); + return mNotesListView.dispatchTouchEvent(event); + } + break; + } + default: { + if (mDispatch) { + event.setLocation(event.getX(), mDispatchY); + mDispatch = false; + return mNotesListView.dispatchTouchEvent(event); + } + break; + } + } + return false; + } + + } + + ; + + private void startAsyncNotesListQuery() { + String selection = (mCurrentFolderId == Notes.ID_ROOT_FOLDER) ? ROOT_FOLDER_SELECTION + : NORMAL_SELECTION; + mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null, + Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[]{ + String.valueOf(mCurrentFolderId) + }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC"); + } + + private final class BackgroundQueryHandler extends AsyncQueryHandler { + public BackgroundQueryHandler(ContentResolver contentResolver) { + super(contentResolver); + } + + @Override + protected void onQueryComplete(int token, Object cookie, Cursor cursor) { + switch (token) { + case FOLDER_NOTE_LIST_QUERY_TOKEN: + mNotesListAdapter.changeCursor(cursor); + break; + case FOLDER_LIST_QUERY_TOKEN: + if (cursor != null && cursor.getCount() > 0) { + showFolderListMenu(cursor); + } else { + Log.e(TAG, "Query folder failed"); + } + break; + default: + return; + } + } + } + + private void showFolderListMenu(Cursor cursor) { + AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); + builder.setTitle(R.string.menu_title_select_folder); + final FoldersListAdapter adapter = new FoldersListAdapter(this, cursor); + builder.setAdapter(adapter, new DialogInterface.OnClickListener() { + + public void onClick(DialogInterface dialog, int which) { + DataUtils.batchMoveToFolder(mContentResolver, + mNotesListAdapter.getSelectedItemIds(), adapter.getItemId(which)); + Toast.makeText( + NotesListActivity.this, + getString(R.string.format_move_notes_to_folder, + mNotesListAdapter.getSelectedCount(), + adapter.getFolderName(NotesListActivity.this, which)), + Toast.LENGTH_SHORT).show(); + mModeCallBack.finishActionMode(); + } + }); + builder.show(); + } + + private void createNewNote() { + Intent intent = new Intent(this, NoteEditActivity.class); + intent.setAction(Intent.ACTION_INSERT_OR_EDIT); + intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mCurrentFolderId); + this.startActivityForResult(intent, REQUEST_CODE_NEW_NODE); + } + + private void batchDelete() { + new AsyncTask>() { + protected HashSet doInBackground(Void... unused) { + HashSet widgets = mNotesListAdapter.getSelectedWidget(); + if (!isSyncMode()) { + // if not synced, delete notes directly + if (DataUtils.batchDeleteNotes(mContentResolver, mNotesListAdapter + .getSelectedItemIds())) { + } else { + Log.e(TAG, "Delete notes error, should not happens"); + } + } else { + // in sync mode, we'll move the deleted note into the trash + // folder + if (!DataUtils.batchMoveToFolder(mContentResolver, mNotesListAdapter + .getSelectedItemIds(), Notes.ID_TRASH_FOLER)) { + Log.e(TAG, "Move notes to trash folder error, should not happens"); + } + } + return widgets; + } + + @Override + protected void onPostExecute(HashSet widgets) { + if (widgets != null) { + for (AppWidgetAttribute widget : widgets) { + if (widget.widgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && widget.widgetType != Notes.TYPE_WIDGET_INVALIDE) { + updateWidget(widget.widgetId, widget.widgetType); + } + } + } + mModeCallBack.finishActionMode(); + } + }.execute(); + } + + private void deleteFolder(long folderId) { + if (folderId == Notes.ID_ROOT_FOLDER) { + Log.e(TAG, "Wrong folder id, should not happen " + folderId); + return; + } + + HashSet ids = new HashSet(); + ids.add(folderId); + HashSet widgets = DataUtils.getFolderNoteWidget(mContentResolver, + folderId); + if (!isSyncMode()) { + // if not synced, delete folder directly + DataUtils.batchDeleteNotes(mContentResolver, ids); + } else { + // in sync mode, we'll move the deleted folder into the trash folder + DataUtils.batchMoveToFolder(mContentResolver, ids, Notes.ID_TRASH_FOLER); + } + if (widgets != null) { + for (AppWidgetAttribute widget : widgets) { + if (widget.widgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && widget.widgetType != Notes.TYPE_WIDGET_INVALIDE) { + updateWidget(widget.widgetId, widget.widgetType); + } + } + } + } + + private void openNode(NoteItemData data) { + Intent intent = new Intent(this, NoteEditActivity.class); + intent.setAction(Intent.ACTION_VIEW); + intent.putExtra(Intent.EXTRA_UID, data.getId()); + this.startActivityForResult(intent, REQUEST_CODE_OPEN_NODE); + } + + private void openFolder(NoteItemData data) { + mCurrentFolderId = data.getId(); + startAsyncNotesListQuery(); + if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { + mState = ListEditState.CALL_RECORD_FOLDER; + mAddNewNote.setVisibility(View.GONE); + } else { + mState = ListEditState.SUB_FOLDER; + } + if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { + mTitleBar.setText(R.string.call_record_folder_name); + } else { + mTitleBar.setText(data.getSnippet()); + } + mTitleBar.setVisibility(View.VISIBLE); + } + + public void onClick(View v) { + switch (v.getId()) { + case R.id.btn_new_note: + createNewNote(); + break; + default: + break; + } + } + + private void showSoftInput() { + InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + if (inputMethodManager != null) { + inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); + } + } + + private void hideSoftInput(View view) { + InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); + } + + private void showCreateOrModifyFolderDialog(final boolean create) { + final AlertDialog.Builder builder = new AlertDialog.Builder(this); + View view = LayoutInflater.from(this).inflate(R.layout.dialog_edit_text, null); + final EditText etName = (EditText) view.findViewById(R.id.et_foler_name); + showSoftInput(); + if (!create) { + if (mFocusNoteDataItem != null) { + etName.setText(mFocusNoteDataItem.getSnippet()); + builder.setTitle(getString(R.string.menu_folder_change_name)); + } else { + Log.e(TAG, "The long click data item is null"); + return; + } + } else { + etName.setText(""); + builder.setTitle(this.getString(R.string.menu_create_folder)); + } + + builder.setPositiveButton(android.R.string.ok, null); + builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + hideSoftInput(etName); + } + }); + + final Dialog dialog = builder.setView(view).show(); + final Button positive = (Button) dialog.findViewById(android.R.id.button1); + positive.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + hideSoftInput(etName); + String name = etName.getText().toString(); + if (DataUtils.checkVisibleFolderName(mContentResolver, name)) { + Toast.makeText(NotesListActivity.this, getString(R.string.folder_exist, name), + Toast.LENGTH_LONG).show(); + etName.setSelection(0, etName.length()); + return; + } + if (!create) { + if (!TextUtils.isEmpty(name)) { + ContentValues values = new ContentValues(); + values.put(NoteColumns.SNIPPET, name); + values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); + values.put(NoteColumns.LOCAL_MODIFIED, 1); + mContentResolver.update(Notes.CONTENT_NOTE_URI, values, NoteColumns.ID + + "=?", new String[]{ + String.valueOf(mFocusNoteDataItem.getId()) + }); + } + } else if (!TextUtils.isEmpty(name)) { + ContentValues values = new ContentValues(); + values.put(NoteColumns.SNIPPET, name); + values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); + mContentResolver.insert(Notes.CONTENT_NOTE_URI, values); + } + dialog.dismiss(); + } + }); + + if (TextUtils.isEmpty(etName.getText())) { + positive.setEnabled(false); + } + /** + * When the name edit text is null, disable the positive button + */ + etName.addTextChangedListener(new TextWatcher() { + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + // TODO Auto-generated method stub + + } + + public void onTextChanged(CharSequence s, int start, int before, int count) { + if (TextUtils.isEmpty(etName.getText())) { + positive.setEnabled(false); + } else { + positive.setEnabled(true); + } + } + + public void afterTextChanged(Editable s) { + // TODO Auto-generated method stub + + } + }); + } + + @Override + public void onBackPressed() { + switch (mState) { + case SUB_FOLDER: + mCurrentFolderId = Notes.ID_ROOT_FOLDER; + mState = ListEditState.NOTE_LIST; + startAsyncNotesListQuery(); + mTitleBar.setVisibility(View.GONE); + break; + case CALL_RECORD_FOLDER: + mCurrentFolderId = Notes.ID_ROOT_FOLDER; + mState = ListEditState.NOTE_LIST; + mAddNewNote.setVisibility(View.VISIBLE); + mTitleBar.setVisibility(View.GONE); + startAsyncNotesListQuery(); + break; + case NOTE_LIST: + super.onBackPressed(); + break; + default: + break; + } + } + + private void updateWidget(int appWidgetId, int appWidgetType) { + Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE); + if (appWidgetType == Notes.TYPE_WIDGET_2X) { + intent.setClass(this, NoteWidgetProvider_2x.class); + } else if (appWidgetType == Notes.TYPE_WIDGET_4X) { + intent.setClass(this, NoteWidgetProvider_4x.class); + } else { + Log.e(TAG, "Unspported widget type"); + return; + } + + intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[]{ + appWidgetId + }); + + sendBroadcast(intent); + setResult(RESULT_OK, intent); + } + + private final OnCreateContextMenuListener mFolderOnCreateContextMenuListener = new OnCreateContextMenuListener() { + public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { + if (mFocusNoteDataItem != null) { + menu.setHeaderTitle(mFocusNoteDataItem.getSnippet()); + menu.add(0, MENU_FOLDER_VIEW, 0, R.string.menu_folder_view); + menu.add(0, MENU_FOLDER_DELETE, 0, R.string.menu_folder_delete); + menu.add(0, MENU_FOLDER_CHANGE_NAME, 0, R.string.menu_folder_change_name); + } + } + }; + + @Override + public void onContextMenuClosed(Menu menu) { + if (mNotesListView != null) { + mNotesListView.setOnCreateContextMenuListener(null); + } + super.onContextMenuClosed(menu); + } + + @Override + public boolean onContextItemSelected(MenuItem item) { + if (mFocusNoteDataItem == null) { + Log.e(TAG, "The long click data item is null"); + return false; + } + switch (item.getItemId()) { + case MENU_FOLDER_VIEW: + openFolder(mFocusNoteDataItem); + break; + case MENU_FOLDER_DELETE: + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(getString(R.string.alert_title_delete)); + builder.setIcon(android.R.drawable.ic_dialog_alert); + builder.setMessage(getString(R.string.alert_message_delete_folder)); + builder.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + deleteFolder(mFocusNoteDataItem.getId()); + } + }); + builder.setNegativeButton(android.R.string.cancel, null); + builder.show(); + break; + case MENU_FOLDER_CHANGE_NAME: + showCreateOrModifyFolderDialog(false); + break; + default: + break; + } + + return true; + } + + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + menu.clear(); + if (mState == ListEditState.NOTE_LIST) { + getMenuInflater().inflate(R.menu.note_list, menu); + // set sync or sync_cancel + } else if (mState == ListEditState.SUB_FOLDER) { + getMenuInflater().inflate(R.menu.sub_folder, menu); + } else if (mState == ListEditState.CALL_RECORD_FOLDER) { + getMenuInflater().inflate(R.menu.call_record_folder, menu); + } else { + Log.e(TAG, "Wrong state:" + mState); + } + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.menu_new_folder: { + showCreateOrModifyFolderDialog(true); + break; + } + case R.id.menu_export_text: { + exportNoteToText(); + break; + } + case R.id.menu_sync: { + if (isSyncMode()) { + if (TextUtils.equals(item.getTitle(), getString(R.string.menu_sync))) { + + } else { + + } + } else { + startPreferenceActivity(); + } + break; + } + case R.id.menu_setting: { + startPreferenceActivity(); + break; + } + case R.id.menu_new_note: { + createNewNote(); + break; + } + case R.id.menu_search: + onSearchRequested(); + break; + default: + break; + } + return true; + } + + @Override + public boolean onSearchRequested() { + startSearch(null, false, null /* appData */, false); + return true; + } + + private void exportNoteToText() { + final BackupUtils backup = BackupUtils.getInstance(NotesListActivity.this); + new AsyncTask() { + + @Override + protected Integer doInBackground(Void... unused) { + return backup.exportToText(); + } + + @Override + protected void onPostExecute(Integer result) { + if (result == BackupUtils.STATE_SD_CARD_UNMOUONTED) { + AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); + builder.setTitle(NotesListActivity.this + .getString(R.string.failed_sdcard_export)); + builder.setMessage(NotesListActivity.this + .getString(R.string.error_sdcard_unmounted)); + builder.setPositiveButton(android.R.string.ok, null); + builder.show(); + } else if (result == BackupUtils.STATE_SUCCESS) { + AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); + builder.setTitle(NotesListActivity.this + .getString(R.string.success_sdcard_export)); + builder.setMessage(NotesListActivity.this.getString( + R.string.format_exported_file_location, backup + .getExportedTextFileName(), backup.getExportedTextFileDir())); + builder.setPositiveButton(android.R.string.ok, null); + builder.show(); + } else if (result == BackupUtils.STATE_SYSTEM_ERROR) { + AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); + builder.setTitle(NotesListActivity.this + .getString(R.string.failed_sdcard_export)); + builder.setMessage(NotesListActivity.this + .getString(R.string.error_sdcard_export)); + builder.setPositiveButton(android.R.string.ok, null); + builder.show(); + } + } + + }.execute(); + } + + private boolean isSyncMode() { + return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0; + } + + private void startPreferenceActivity() { + Activity from = getParent() != null ? getParent() : this; + Intent intent = new Intent(from, NotesPreferenceActivity.class); + from.startActivityIfNeeded(intent, -1); + } + + private class OnListItemClickListener implements OnItemClickListener { + + public void onItemClick(AdapterView parent, View view, int position, long id) { + if (view instanceof NotesListItem) { + NoteItemData item = ((NotesListItem) view).getItemData(); + if (mNotesListAdapter.isInChoiceMode()) { + if (item.getType() == Notes.TYPE_NOTE) { + position = position - mNotesListView.getHeaderViewsCount(); + mModeCallBack.onItemCheckedStateChanged(null, position, id, + !mNotesListAdapter.isSelectedItem(position)); + } + return; + } + + switch (mState) { + case NOTE_LIST: + if (item.getType() == Notes.TYPE_FOLDER + || item.getType() == Notes.TYPE_SYSTEM) { + openFolder(item); + } else if (item.getType() == Notes.TYPE_NOTE) { + openNode(item); + } else { + Log.e(TAG, "Wrong note type in NOTE_LIST"); + } + break; + case SUB_FOLDER: + case CALL_RECORD_FOLDER: + if (item.getType() == Notes.TYPE_NOTE) { + openNode(item); + } else { + Log.e(TAG, "Wrong note type in SUB_FOLDER"); + } + break; + default: + break; + } + } + } + + } + + private void startQueryDestinationFolders() { + String selection = NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>? AND " + NoteColumns.ID + "<>?"; + selection = (mState == ListEditState.NOTE_LIST) ? selection : + "(" + selection + ") OR (" + NoteColumns.ID + "=" + Notes.ID_ROOT_FOLDER + ")"; + + mBackgroundQueryHandler.startQuery(FOLDER_LIST_QUERY_TOKEN, + null, + Notes.CONTENT_NOTE_URI, + FoldersListAdapter.PROJECTION, + selection, + new String[]{ + String.valueOf(Notes.TYPE_FOLDER), + String.valueOf(Notes.ID_TRASH_FOLER), + String.valueOf(mCurrentFolderId) + }, + NoteColumns.MODIFIED_DATE + " DESC"); + } + + public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { + if (view instanceof NotesListItem) { + mFocusNoteDataItem = ((NotesListItem) view).getItemData(); + if (mFocusNoteDataItem.getType() == Notes.TYPE_NOTE && !mNotesListAdapter.isInChoiceMode()) { + if (mNotesListView.startActionMode(mModeCallBack) != null) { + mModeCallBack.onItemCheckedStateChanged(null, position, id, true); + mNotesListView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); + } else { + Log.e(TAG, "startActionMode fails"); + } + } else if (mFocusNoteDataItem.getType() == Notes.TYPE_FOLDER) { + mNotesListView.setOnCreateContextMenuListener(mFolderOnCreateContextMenuListener); + } + } + return false; + } +} diff --git a/src/src/main/java/net/micode/notes/ui/activities/NotesPreferenceActivity.java b/src/src/main/java/net/micode/notes/ui/activities/NotesPreferenceActivity.java new file mode 100644 index 0000000..94c2a1e --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/activities/NotesPreferenceActivity.java @@ -0,0 +1,376 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui.activities; + +import android.accounts.Account; +import android.accounts.AccountManager; +import android.app.AlertDialog; +import android.content.BroadcastReceiver; +import android.content.ContentValues; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.Preference.OnPreferenceClickListener; +import android.preference.PreferenceActivity; +import android.preference.PreferenceCategory; +import android.text.TextUtils; +import android.text.format.DateFormat; +import android.view.LayoutInflater; +import android.view.MenuItem; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; +import android.widget.Toast; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; + + +public class NotesPreferenceActivity extends PreferenceActivity { + public static final String PREFERENCE_NAME = "notes_preferences"; + + public static final String PREFERENCE_SYNC_ACCOUNT_NAME = "pref_key_account_name"; + + public static final String PREFERENCE_LAST_SYNC_TIME = "pref_last_sync_time"; + + public static final String PREFERENCE_SET_BG_COLOR_KEY = "pref_key_bg_random_appear"; + + private static final String PREFERENCE_SYNC_ACCOUNT_KEY = "pref_sync_account_key"; + + private static final String AUTHORITIES_FILTER_KEY = "authorities"; + + private PreferenceCategory mAccountCategory; + + private GTaskReceiver mReceiver; + + private Account[] mOriAccounts; + + private boolean mHasAddedAccount; + + @Override + protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + + /* using the app icon for navigation */ + getActionBar().setDisplayHomeAsUpEnabled(true); + + addPreferencesFromResource(R.xml.preferences); + mAccountCategory = (PreferenceCategory) findPreference(PREFERENCE_SYNC_ACCOUNT_KEY); + mReceiver = new GTaskReceiver(); + IntentFilter filter = new IntentFilter(); + registerReceiver(mReceiver, filter); + + mOriAccounts = null; + View header = LayoutInflater.from(this).inflate(R.layout.settings_header, null); + getListView().addHeaderView(header, null, true); + } + + @Override + protected void onResume() { + super.onResume(); + + // need to set sync account automatically if user has added a new + // account + if (mHasAddedAccount) { + Account[] accounts = getGoogleAccounts(); + if (mOriAccounts != null && accounts.length > mOriAccounts.length) { + for (Account accountNew : accounts) { + boolean found = false; + for (Account accountOld : mOriAccounts) { + if (TextUtils.equals(accountOld.name, accountNew.name)) { + found = true; + break; + } + } + if (!found) { + setSyncAccount(accountNew.name); + break; + } + } + } + } + + refreshUI(); + } + + @Override + protected void onDestroy() { + if (mReceiver != null) { + unregisterReceiver(mReceiver); + } + super.onDestroy(); + } + + private void loadAccountPreference() { + mAccountCategory.removeAll(); + + Preference accountPref = new Preference(this); + final String defaultAccount = getSyncAccountName(this); + accountPref.setTitle(getString(R.string.preferences_account_title)); + accountPref.setSummary(getString(R.string.preferences_account_summary)); + accountPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { + public boolean onPreferenceClick(Preference preference) { + if (false) { + if (TextUtils.isEmpty(defaultAccount)) { + // the first time to set account + showSelectAccountAlertDialog(); + } else { + // if the account has already been set, we need to promp + // user about the risk + showChangeAccountConfirmAlertDialog(); + } + } else { + Toast.makeText(NotesPreferenceActivity.this, + R.string.preferences_toast_cannot_change_account, Toast.LENGTH_SHORT) + .show(); + } + return true; + } + }); + + mAccountCategory.addPreference(accountPref); + } + + private void loadSyncButton() { + Button syncButton = (Button) findViewById(R.id.preference_sync_button); + TextView lastSyncTimeView = (TextView) findViewById(R.id.prefenerece_sync_status_textview); + + // set button state + if (false) { + syncButton.setText(getString(R.string.preferences_button_sync_cancel)); + syncButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + } + }); + } else { + syncButton.setText(getString(R.string.preferences_button_sync_immediately)); + syncButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + } + }); + } + syncButton.setEnabled(!TextUtils.isEmpty(getSyncAccountName(this))); + + // set last sync time + if (false) { + lastSyncTimeView.setVisibility(View.VISIBLE); + } else { + long lastSyncTime = getLastSyncTime(this); + if (lastSyncTime != 0) { + lastSyncTimeView.setText(getString(R.string.preferences_last_sync_time, + DateFormat.format(getString(R.string.preferences_last_sync_time_format), + lastSyncTime))); + lastSyncTimeView.setVisibility(View.VISIBLE); + } else { + lastSyncTimeView.setVisibility(View.GONE); + } + } + } + + private void refreshUI() { + loadAccountPreference(); + loadSyncButton(); + } + + private void showSelectAccountAlertDialog() { + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); + + View titleView = LayoutInflater.from(this).inflate(R.layout.account_dialog_title, null); + TextView titleTextView = (TextView) titleView.findViewById(R.id.account_dialog_title); + titleTextView.setText(getString(R.string.preferences_dialog_select_account_title)); + TextView subtitleTextView = (TextView) titleView.findViewById(R.id.account_dialog_subtitle); + subtitleTextView.setText(getString(R.string.preferences_dialog_select_account_tips)); + + dialogBuilder.setCustomTitle(titleView); + dialogBuilder.setPositiveButton(null, null); + + Account[] accounts = getGoogleAccounts(); + String defAccount = getSyncAccountName(this); + + mOriAccounts = accounts; + mHasAddedAccount = false; + + if (accounts.length > 0) { + CharSequence[] items = new CharSequence[accounts.length]; + final CharSequence[] itemMapping = items; + int checkedItem = -1; + int index = 0; + for (Account account : accounts) { + if (TextUtils.equals(account.name, defAccount)) { + checkedItem = index; + } + items[index++] = account.name; + } + dialogBuilder.setSingleChoiceItems(items, checkedItem, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + setSyncAccount(itemMapping[which].toString()); + dialog.dismiss(); + refreshUI(); + } + }); + } + + View addAccountView = LayoutInflater.from(this).inflate(R.layout.add_account_text, null); + dialogBuilder.setView(addAccountView); + + final AlertDialog dialog = dialogBuilder.show(); + addAccountView.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + mHasAddedAccount = true; + Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS"); + intent.putExtra(AUTHORITIES_FILTER_KEY, new String[]{ + "gmail-ls" + }); + startActivityForResult(intent, -1); + dialog.dismiss(); + } + }); + } + + private void showChangeAccountConfirmAlertDialog() { + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); + + View titleView = LayoutInflater.from(this).inflate(R.layout.account_dialog_title, null); + TextView titleTextView = (TextView) titleView.findViewById(R.id.account_dialog_title); + titleTextView.setText(getString(R.string.preferences_dialog_change_account_title, + getSyncAccountName(this))); + TextView subtitleTextView = (TextView) titleView.findViewById(R.id.account_dialog_subtitle); + subtitleTextView.setText(getString(R.string.preferences_dialog_change_account_warn_msg)); + dialogBuilder.setCustomTitle(titleView); + + CharSequence[] menuItemArray = new CharSequence[]{ + getString(R.string.preferences_menu_change_account), + getString(R.string.preferences_menu_remove_account), + getString(R.string.preferences_menu_cancel) + }; + dialogBuilder.setItems(menuItemArray, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + if (which == 0) { + showSelectAccountAlertDialog(); + } else if (which == 1) { + removeSyncAccount(); + refreshUI(); + } + } + }); + dialogBuilder.show(); + } + + private Account[] getGoogleAccounts() { + AccountManager accountManager = AccountManager.get(this); + return accountManager.getAccountsByType("com.google"); + } + + private void setSyncAccount(String account) { + if (!getSyncAccountName(this).equals(account)) { + SharedPreferences settings = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = settings.edit(); + if (account != null) { + editor.putString(PREFERENCE_SYNC_ACCOUNT_NAME, account); + } else { + editor.putString(PREFERENCE_SYNC_ACCOUNT_NAME, ""); + } + editor.commit(); + + // clean up last sync time + setLastSyncTime(this, 0); + + // clean up local gtask related info + new Thread(new Runnable() { + public void run() { + ContentValues values = new ContentValues(); + values.put(NoteColumns.GTASK_ID, ""); + values.put(NoteColumns.SYNC_ID, 0); + getContentResolver().update(Notes.CONTENT_NOTE_URI, values, null, null); + } + }).start(); + + Toast.makeText(NotesPreferenceActivity.this, + getString(R.string.preferences_toast_success_set_accout, account), + Toast.LENGTH_SHORT).show(); + } + } + + private void removeSyncAccount() { + SharedPreferences settings = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = settings.edit(); + if (settings.contains(PREFERENCE_SYNC_ACCOUNT_NAME)) { + editor.remove(PREFERENCE_SYNC_ACCOUNT_NAME); + } + if (settings.contains(PREFERENCE_LAST_SYNC_TIME)) { + editor.remove(PREFERENCE_LAST_SYNC_TIME); + } + editor.commit(); + + // clean up local gtask related info + new Thread(new Runnable() { + public void run() { + ContentValues values = new ContentValues(); + values.put(NoteColumns.GTASK_ID, ""); + values.put(NoteColumns.SYNC_ID, 0); + getContentResolver().update(Notes.CONTENT_NOTE_URI, values, null, null); + } + }).start(); + } + + public static String getSyncAccountName(Context context) { + SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, + Context.MODE_PRIVATE); + return settings.getString(PREFERENCE_SYNC_ACCOUNT_NAME, ""); + } + + public static void setLastSyncTime(Context context, long time) { + SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, + Context.MODE_PRIVATE); + SharedPreferences.Editor editor = settings.edit(); + editor.putLong(PREFERENCE_LAST_SYNC_TIME, time); + editor.commit(); + } + + public static long getLastSyncTime(Context context) { + SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, + Context.MODE_PRIVATE); + return settings.getLong(PREFERENCE_LAST_SYNC_TIME, 0); + } + + private class GTaskReceiver extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + refreshUI(); + + } + } + + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + Intent intent = new Intent(this, NotesListActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + startActivity(intent); + return true; + default: + return false; + } + } +} diff --git a/src/src/main/java/net/micode/notes/ui/activities/PreviewActivity.java b/src/src/main/java/net/micode/notes/ui/activities/PreviewActivity.java new file mode 100644 index 0000000..2198f75 --- /dev/null +++ b/src/src/main/java/net/micode/notes/ui/activities/PreviewActivity.java @@ -0,0 +1,22 @@ +package net.micode.notes.ui.activities; + +import android.app.Activity; +import android.os.Bundle; +import android.widget.TextView; + +import com.zzhoujay.richtext.RichText; + +import net.micode.notes.R; + +public class PreviewActivity extends Activity { + + public static String text; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + RichText.initCacheDir(this.getCacheDir()); + this.setContentView(R.layout.preview_layout); + TextView mdView = (TextView) this.findViewById(R.id.md_view); + RichText.fromMarkdown(text).into(mdView); + } +} diff --git a/src/src/main/java/net/micode/notes/widget/NoteWidgetProvider.java b/src/src/main/java/net/micode/notes/widget/NoteWidgetProvider.java new file mode 100644 index 0000000..f089f71 --- /dev/null +++ b/src/src/main/java/net/micode/notes/widget/NoteWidgetProvider.java @@ -0,0 +1,191 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.widget; + +import android.app.PendingIntent; +import android.appwidget.AppWidgetManager; +import android.appwidget.AppWidgetProvider; +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; +import android.util.Log; +import android.widget.RemoteViews; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.tool.ResourceParser; +import net.micode.notes.ui.activities.NoteEditActivity; +import net.micode.notes.ui.activities.NotesListActivity; + +/** + * 小米便签的桌面挂件 + * onDeleted方法:向组件管理器说明当前组件属于不可用的状态 + * update方法:用来更新组件的信息 + * getNoteWidgetInfo:用来获取组件的最新消息 + * 抽象了三个方法,用来获取背景资源、布局id,以及组件类型 + */ +public abstract class NoteWidgetProvider extends AppWidgetProvider { + /** + * 声明数据投影模板 + */ + public static final String[] PROJECTION = new String[]{ + NoteColumns.ID, + NoteColumns.BG_COLOR_ID, + NoteColumns.SNIPPET + }; + /** + * 元素ID + */ + public static final int COLUMN_ID = 0; + /** + * 元素背景ID + */ + public static final int COLUMN_BG_COLOR_ID = 1; + /** + * 元素片段ID + */ + public static final int COLUMN_SNIPPET = 2; + + /** + * 标签名 + */ + private static final String TAG = "NoteWidgetProvider"; + + /** + * 删除的钩子方法 + * @param context 上下文 + * @param appWidgetIds 组件ID + */ + @Override + public void onDeleted(Context context, int[] appWidgetIds) { + ContentValues values = new ContentValues(); + values.put(NoteColumns.WIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); + for (int i = 0; i < appWidgetIds.length; i++) { + context.getContentResolver().update(Notes.CONTENT_NOTE_URI, + values, + NoteColumns.WIDGET_ID + "=?", + new String[]{String.valueOf(appWidgetIds[i])}); + } + } + + /** + * 获取便签组件信息 + * @param context 上下文 + * @param widgetId 便签ID + * @return 指针 + */ + private Cursor getNoteWidgetInfo(Context context, int widgetId) { + return context.getContentResolver().query(Notes.CONTENT_NOTE_URI, + PROJECTION, + NoteColumns.WIDGET_ID + "=? AND " + NoteColumns.PARENT_ID + "<>?", + new String[]{String.valueOf(widgetId), String.valueOf(Notes.ID_TRASH_FOLER)}, + null); + } + + /** + * 组件更新方法 + * @param context 上下文 + * @param appWidgetManager 组件管理器 + * @param appWidgetIds 组件ID列表 + */ + protected void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + update(context, appWidgetManager, appWidgetIds, false); + } + + /** + * 组件更新方法(重载) + * @param context + * @param appWidgetManager + * @param appWidgetIds + * @param privacyMode + */ + private void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds, + boolean privacyMode) { + for (int i = 0; i < appWidgetIds.length; i++) { + if (appWidgetIds[i] != AppWidgetManager.INVALID_APPWIDGET_ID) { + int bgId = ResourceParser.getDefaultBgId(context); + String snippet = ""; + Intent intent = new Intent(context, NoteEditActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); + intent.putExtra(Notes.INTENT_EXTRA_WIDGET_ID, appWidgetIds[i]); + intent.putExtra(Notes.INTENT_EXTRA_WIDGET_TYPE, getWidgetType()); + + Cursor c = getNoteWidgetInfo(context, appWidgetIds[i]); + if (c != null && c.moveToFirst()) { + if (c.getCount() > 1) { + Log.e(TAG, "Multiple message with same widget id:" + appWidgetIds[i]); + c.close(); + return; + } + snippet = c.getString(COLUMN_SNIPPET); + bgId = c.getInt(COLUMN_BG_COLOR_ID); + intent.putExtra(Intent.EXTRA_UID, c.getLong(COLUMN_ID)); + intent.setAction(Intent.ACTION_VIEW); + } else { + snippet = context.getResources().getString(R.string.widget_havenot_content); + intent.setAction(Intent.ACTION_INSERT_OR_EDIT); + } + + if (c != null) { + c.close(); + } + + RemoteViews rv = new RemoteViews(context.getPackageName(), getLayoutId()); + rv.setImageViewResource(R.id.widget_bg_image, getBgResourceId(bgId)); + intent.putExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, bgId); + /** + * Generate the pending intent to start host for the widget + */ + PendingIntent pendingIntent = null; + if (privacyMode) { + rv.setTextViewText(R.id.widget_text, + context.getString(R.string.widget_under_visit_mode)); + pendingIntent = PendingIntent.getActivity(context, appWidgetIds[i], new Intent( + context, NotesListActivity.class), PendingIntent.FLAG_UPDATE_CURRENT); + } else { + rv.setTextViewText(R.id.widget_text, snippet); + pendingIntent = PendingIntent.getActivity(context, appWidgetIds[i], intent, + PendingIntent.FLAG_UPDATE_CURRENT); + } + + rv.setOnClickPendingIntent(R.id.widget_text, pendingIntent); + appWidgetManager.updateAppWidget(appWidgetIds[i], rv); + } + } + } + + /** + * 获取背景元素ID + * @param bgId 背景ID + * @return 背景资源ID + */ + protected abstract int getBgResourceId(int bgId); + + /** + * 获取布局ID + * @return 布局ID + */ + protected abstract int getLayoutId(); + + /** + * 获取组件类型 + * @return 组件类型ID + */ + protected abstract int getWidgetType(); +} diff --git a/src/src/main/java/net/micode/notes/widget/NoteWidgetProvider_2x.java b/src/src/main/java/net/micode/notes/widget/NoteWidgetProvider_2x.java new file mode 100644 index 0000000..c859b10 --- /dev/null +++ b/src/src/main/java/net/micode/notes/widget/NoteWidgetProvider_2x.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.widget; + +import android.appwidget.AppWidgetManager; +import android.content.Context; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.tool.ResourceParser; + +/** + * 为了适应不同尺寸的屏幕,拓展了两倍大小的桌面挂件 + */ + +public class NoteWidgetProvider_2x extends NoteWidgetProvider { + /** + * 在组件状态更新时调用该方法 + * @param context 上下文环境 + * @param appWidgetManager 组件管理器实例 + * @param appWidgetIds 组件ID列表 + */ + @Override + public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + super.update(context, appWidgetManager, appWidgetIds); + } + + /** + * 获取布局ID + * @return 布局ID + */ + @Override + protected int getLayoutId() { + return R.layout.widget_2x; + } + + /** + * 获取背景资源ID + * @param bgId 背景ID + * @return 背景资源ID + */ + @Override + protected int getBgResourceId(int bgId) { + return ResourceParser.WidgetBgResources.getWidget2xBgResource(bgId); + } + + /** + * 获取组件类型 + * @return 组件类型 + */ + @Override + protected int getWidgetType() { + return Notes.TYPE_WIDGET_2X; + } +} diff --git a/src/src/main/java/net/micode/notes/widget/NoteWidgetProvider_4x.java b/src/src/main/java/net/micode/notes/widget/NoteWidgetProvider_4x.java new file mode 100644 index 0000000..ecaa7a2 --- /dev/null +++ b/src/src/main/java/net/micode/notes/widget/NoteWidgetProvider_4x.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.widget; + +import android.appwidget.AppWidgetManager; +import android.content.Context; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.tool.ResourceParser; + +/** + * 为了适应不同尺寸的屏幕,拓展了四倍大小的桌面挂件 + */ +public class NoteWidgetProvider_4x extends NoteWidgetProvider { + /** + * 在控件状态更新时调用该方法 + * @param context 上下文 + * @param appWidgetManager APP组件管理器实例 + * @param appWidgetIds 组件ID列表 + */ + @Override + public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + super.update(context, appWidgetManager, appWidgetIds); + } + + /** + * 获取当前布局ID + * @return 布局ID + */ + protected int getLayoutId() { + return R.layout.widget_4x; + } + + /** + * 获取背景资源ID + * @param bgId 背景ID + * @return 背景资源ID + */ + @Override + protected int getBgResourceId(int bgId) { + return ResourceParser.WidgetBgResources.getWidget4xBgResource(bgId); + } + + /** + * 获取控件类别 + * @return 控件类别 + */ + @Override + protected int getWidgetType() { + return Notes.TYPE_WIDGET_4X; + } +} diff --git a/src/src/main/res/color/primary_text_dark.xml b/src/src/main/res/color/primary_text_dark.xml new file mode 100644 index 0000000..8ad98e3 --- /dev/null +++ b/src/src/main/res/color/primary_text_dark.xml @@ -0,0 +1,22 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/src/main/res/color/secondary_text_dark.xml b/src/src/main/res/color/secondary_text_dark.xml new file mode 100644 index 0000000..9cf8a1a --- /dev/null +++ b/src/src/main/res/color/secondary_text_dark.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/src/src/main/res/drawable-hdpi/bg_btn_set_color.png b/src/src/main/res/drawable-hdpi/bg_btn_set_color.png new file mode 100644 index 0000000..5eb5d44 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/bg_btn_set_color.png differ diff --git a/src/src/main/res/drawable-hdpi/bg_color_btn_mask.png b/src/src/main/res/drawable-hdpi/bg_color_btn_mask.png new file mode 100644 index 0000000..100db77 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/bg_color_btn_mask.png differ diff --git a/src/src/main/res/drawable-hdpi/call_record.png b/src/src/main/res/drawable-hdpi/call_record.png new file mode 100644 index 0000000..fb88ca4 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/call_record.png differ diff --git a/src/src/main/res/drawable-hdpi/clock.png b/src/src/main/res/drawable-hdpi/clock.png new file mode 100644 index 0000000..5f2ae9a Binary files /dev/null and b/src/src/main/res/drawable-hdpi/clock.png differ diff --git a/src/src/main/res/drawable-hdpi/delete.png b/src/src/main/res/drawable-hdpi/delete.png new file mode 100644 index 0000000..643de3e Binary files /dev/null and b/src/src/main/res/drawable-hdpi/delete.png differ diff --git a/src/src/main/res/drawable-hdpi/dropdown_icon.9.png b/src/src/main/res/drawable-hdpi/dropdown_icon.9.png new file mode 100644 index 0000000..5525025 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/dropdown_icon.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_blue.9.png b/src/src/main/res/drawable-hdpi/edit_blue.9.png new file mode 100644 index 0000000..55a1856 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_blue.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_green.9.png b/src/src/main/res/drawable-hdpi/edit_green.9.png new file mode 100644 index 0000000..2cb2d60 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_green.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_orange.9.png b/src/src/main/res/drawable-hdpi/edit_orange.9.png new file mode 100644 index 0000000..49bda10 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_orange.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_red.9.png b/src/src/main/res/drawable-hdpi/edit_red.9.png new file mode 100644 index 0000000..bae944a Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_red.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_title_blue.9.png b/src/src/main/res/drawable-hdpi/edit_title_blue.9.png new file mode 100644 index 0000000..96e6092 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_title_blue.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_title_green.9.png b/src/src/main/res/drawable-hdpi/edit_title_green.9.png new file mode 100644 index 0000000..08d8644 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_title_green.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_title_orange.9.png b/src/src/main/res/drawable-hdpi/edit_title_orange.9.png new file mode 100644 index 0000000..c63b741 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_title_orange.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_title_red.9.png b/src/src/main/res/drawable-hdpi/edit_title_red.9.png new file mode 100644 index 0000000..9c430e5 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_title_red.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_title_white.9.png b/src/src/main/res/drawable-hdpi/edit_title_white.9.png new file mode 100644 index 0000000..19e8d95 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_title_white.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_title_yellow.9.png b/src/src/main/res/drawable-hdpi/edit_title_yellow.9.png new file mode 100644 index 0000000..bf8f580 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_title_yellow.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_white.9.png b/src/src/main/res/drawable-hdpi/edit_white.9.png new file mode 100644 index 0000000..918f7a6 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_white.9.png differ diff --git a/src/src/main/res/drawable-hdpi/edit_yellow.9.png b/src/src/main/res/drawable-hdpi/edit_yellow.9.png new file mode 100644 index 0000000..10cb642 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/edit_yellow.9.png differ diff --git a/src/src/main/res/drawable-hdpi/font_large.png b/src/src/main/res/drawable-hdpi/font_large.png new file mode 100644 index 0000000..78cf2e6 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/font_large.png differ diff --git a/src/src/main/res/drawable-hdpi/font_normal.png b/src/src/main/res/drawable-hdpi/font_normal.png new file mode 100644 index 0000000..9de7ced Binary files /dev/null and b/src/src/main/res/drawable-hdpi/font_normal.png differ diff --git a/src/src/main/res/drawable-hdpi/font_size_selector.png b/src/src/main/res/drawable-hdpi/font_size_selector.png new file mode 100644 index 0000000..2511187 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/font_size_selector.png differ diff --git a/src/src/main/res/drawable-hdpi/font_size_selector_bg.9.png b/src/src/main/res/drawable-hdpi/font_size_selector_bg.9.png new file mode 100644 index 0000000..be8e64c Binary files /dev/null and b/src/src/main/res/drawable-hdpi/font_size_selector_bg.9.png differ diff --git a/src/src/main/res/drawable-hdpi/font_small.png b/src/src/main/res/drawable-hdpi/font_small.png new file mode 100644 index 0000000..d3ff104 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/font_small.png differ diff --git a/src/src/main/res/drawable-hdpi/font_super.png b/src/src/main/res/drawable-hdpi/font_super.png new file mode 100644 index 0000000..85b13a1 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/font_super.png differ diff --git a/src/src/main/res/drawable-hdpi/icon_app.png b/src/src/main/res/drawable-hdpi/icon_app.png new file mode 100644 index 0000000..418aadc Binary files /dev/null and b/src/src/main/res/drawable-hdpi/icon_app.png differ diff --git a/src/src/main/res/drawable-hdpi/list_background.png b/src/src/main/res/drawable-hdpi/list_background.png new file mode 100644 index 0000000..087e1f9 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_background.png differ diff --git a/src/src/main/res/drawable-hdpi/list_blue_down.9.png b/src/src/main/res/drawable-hdpi/list_blue_down.9.png new file mode 100644 index 0000000..b88eebf Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_blue_down.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_blue_middle.9.png b/src/src/main/res/drawable-hdpi/list_blue_middle.9.png new file mode 100644 index 0000000..96b1c8b Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_blue_middle.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_blue_single.9.png b/src/src/main/res/drawable-hdpi/list_blue_single.9.png new file mode 100644 index 0000000..d7e7206 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_blue_single.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_blue_up.9.png b/src/src/main/res/drawable-hdpi/list_blue_up.9.png new file mode 100644 index 0000000..632e88c Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_blue_up.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_folder.9.png b/src/src/main/res/drawable-hdpi/list_folder.9.png new file mode 100644 index 0000000..829f61b Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_folder.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_footer_bg.9.png b/src/src/main/res/drawable-hdpi/list_footer_bg.9.png new file mode 100644 index 0000000..5325c25 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_footer_bg.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_green_down.9.png b/src/src/main/res/drawable-hdpi/list_green_down.9.png new file mode 100644 index 0000000..64a39d9 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_green_down.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_green_middle.9.png b/src/src/main/res/drawable-hdpi/list_green_middle.9.png new file mode 100644 index 0000000..897325a Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_green_middle.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_green_single.9.png b/src/src/main/res/drawable-hdpi/list_green_single.9.png new file mode 100644 index 0000000..c83405f Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_green_single.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_green_up.9.png b/src/src/main/res/drawable-hdpi/list_green_up.9.png new file mode 100644 index 0000000..141f9e1 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_green_up.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_orange_down.9.png b/src/src/main/res/drawable-hdpi/list_orange_down.9.png new file mode 100644 index 0000000..6d19859 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_orange_down.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_orange_middle.9.png b/src/src/main/res/drawable-hdpi/list_orange_middle.9.png new file mode 100644 index 0000000..5dfd9b4 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_orange_middle.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_orange_single.9.png b/src/src/main/res/drawable-hdpi/list_orange_single.9.png new file mode 100644 index 0000000..4338b92 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_orange_single.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_orange_up.9.png b/src/src/main/res/drawable-hdpi/list_orange_up.9.png new file mode 100644 index 0000000..ab5a976 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_orange_up.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_red_down.9.png b/src/src/main/res/drawable-hdpi/list_red_down.9.png new file mode 100644 index 0000000..4224309 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_red_down.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_red_middle.9.png b/src/src/main/res/drawable-hdpi/list_red_middle.9.png new file mode 100644 index 0000000..9988f17 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_red_middle.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_red_single.9.png b/src/src/main/res/drawable-hdpi/list_red_single.9.png new file mode 100644 index 0000000..587c348 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_red_single.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_red_up.9.png b/src/src/main/res/drawable-hdpi/list_red_up.9.png new file mode 100644 index 0000000..46b4757 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_red_up.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_white_down.9.png b/src/src/main/res/drawable-hdpi/list_white_down.9.png new file mode 100644 index 0000000..29f9d8c Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_white_down.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_white_middle.9.png b/src/src/main/res/drawable-hdpi/list_white_middle.9.png new file mode 100644 index 0000000..77a4ab4 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_white_middle.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_white_single.9.png b/src/src/main/res/drawable-hdpi/list_white_single.9.png new file mode 100644 index 0000000..3e79189 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_white_single.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_white_up.9.png b/src/src/main/res/drawable-hdpi/list_white_up.9.png new file mode 100644 index 0000000..e23cd5c Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_white_up.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_yellow_down.9.png b/src/src/main/res/drawable-hdpi/list_yellow_down.9.png new file mode 100644 index 0000000..31cfc1e Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_yellow_down.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_yellow_middle.9.png b/src/src/main/res/drawable-hdpi/list_yellow_middle.9.png new file mode 100644 index 0000000..b6549b2 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_yellow_middle.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_yellow_single.9.png b/src/src/main/res/drawable-hdpi/list_yellow_single.9.png new file mode 100644 index 0000000..3faf507 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_yellow_single.9.png differ diff --git a/src/src/main/res/drawable-hdpi/list_yellow_up.9.png b/src/src/main/res/drawable-hdpi/list_yellow_up.9.png new file mode 100644 index 0000000..4ae791c Binary files /dev/null and b/src/src/main/res/drawable-hdpi/list_yellow_up.9.png differ diff --git a/src/src/main/res/drawable-hdpi/menu_delete.png b/src/src/main/res/drawable-hdpi/menu_delete.png new file mode 100644 index 0000000..ccdfc4b Binary files /dev/null and b/src/src/main/res/drawable-hdpi/menu_delete.png differ diff --git a/src/src/main/res/drawable-hdpi/menu_move.png b/src/src/main/res/drawable-hdpi/menu_move.png new file mode 100644 index 0000000..1140b71 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/menu_move.png differ diff --git a/src/src/main/res/drawable-hdpi/new_note_normal.png b/src/src/main/res/drawable-hdpi/new_note_normal.png new file mode 100644 index 0000000..e24e0d1 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/new_note_normal.png differ diff --git a/src/src/main/res/drawable-hdpi/new_note_pressed.png b/src/src/main/res/drawable-hdpi/new_note_pressed.png new file mode 100644 index 0000000..c748936 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/new_note_pressed.png differ diff --git a/src/src/main/res/drawable-hdpi/note_edit_color_selector_panel.png b/src/src/main/res/drawable-hdpi/note_edit_color_selector_panel.png new file mode 100644 index 0000000..1408df5 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/note_edit_color_selector_panel.png differ diff --git a/src/src/main/res/drawable-hdpi/notification.png b/src/src/main/res/drawable-hdpi/notification.png new file mode 100644 index 0000000..b13ab4a Binary files /dev/null and b/src/src/main/res/drawable-hdpi/notification.png differ diff --git a/src/src/main/res/drawable-hdpi/search_result.png b/src/src/main/res/drawable-hdpi/search_result.png new file mode 100644 index 0000000..ff2befd Binary files /dev/null and b/src/src/main/res/drawable-hdpi/search_result.png differ diff --git a/src/src/main/res/drawable-hdpi/selected.png b/src/src/main/res/drawable-hdpi/selected.png new file mode 100644 index 0000000..b889bef Binary files /dev/null and b/src/src/main/res/drawable-hdpi/selected.png differ diff --git a/src/src/main/res/drawable-hdpi/title_alert.png b/src/src/main/res/drawable-hdpi/title_alert.png new file mode 100644 index 0000000..544ee9c Binary files /dev/null and b/src/src/main/res/drawable-hdpi/title_alert.png differ diff --git a/src/src/main/res/drawable-hdpi/title_bar_bg.9.png b/src/src/main/res/drawable-hdpi/title_bar_bg.9.png new file mode 100644 index 0000000..eb6bff0 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/title_bar_bg.9.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_2x_blue.png b/src/src/main/res/drawable-hdpi/widget_2x_blue.png new file mode 100644 index 0000000..a1707f4 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_2x_blue.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_2x_green.png b/src/src/main/res/drawable-hdpi/widget_2x_green.png new file mode 100644 index 0000000..f86886c Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_2x_green.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_2x_orange.png b/src/src/main/res/drawable-hdpi/widget_2x_orange.png new file mode 100644 index 0000000..71156b6 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_2x_orange.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_2x_red.png b/src/src/main/res/drawable-hdpi/widget_2x_red.png new file mode 100644 index 0000000..0e66c29 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_2x_red.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_2x_white.png b/src/src/main/res/drawable-hdpi/widget_2x_white.png new file mode 100644 index 0000000..5f0619a Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_2x_white.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_2x_yellow.png b/src/src/main/res/drawable-hdpi/widget_2x_yellow.png new file mode 100644 index 0000000..12d1c2b Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_2x_yellow.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_4x_blue.png b/src/src/main/res/drawable-hdpi/widget_4x_blue.png new file mode 100644 index 0000000..9183738 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_4x_blue.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_4x_green.png b/src/src/main/res/drawable-hdpi/widget_4x_green.png new file mode 100644 index 0000000..fa8b452 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_4x_green.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_4x_orange.png b/src/src/main/res/drawable-hdpi/widget_4x_orange.png new file mode 100644 index 0000000..f897cc2 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_4x_orange.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_4x_red.png b/src/src/main/res/drawable-hdpi/widget_4x_red.png new file mode 100644 index 0000000..62de074 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_4x_red.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_4x_white.png b/src/src/main/res/drawable-hdpi/widget_4x_white.png new file mode 100644 index 0000000..a37d67c Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_4x_white.png differ diff --git a/src/src/main/res/drawable-hdpi/widget_4x_yellow.png b/src/src/main/res/drawable-hdpi/widget_4x_yellow.png new file mode 100644 index 0000000..d7c5fa4 Binary files /dev/null and b/src/src/main/res/drawable-hdpi/widget_4x_yellow.png differ diff --git a/src/src/main/res/drawable/new_note.xml b/src/src/main/res/drawable/new_note.xml new file mode 100644 index 0000000..2154ebc --- /dev/null +++ b/src/src/main/res/drawable/new_note.xml @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/src/src/main/res/layout/account_dialog_title.xml b/src/src/main/res/layout/account_dialog_title.xml new file mode 100644 index 0000000..7717112 --- /dev/null +++ b/src/src/main/res/layout/account_dialog_title.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/src/main/res/layout/add_account_text.xml b/src/src/main/res/layout/add_account_text.xml new file mode 100644 index 0000000..c799178 --- /dev/null +++ b/src/src/main/res/layout/add_account_text.xml @@ -0,0 +1,32 @@ + + + + + + + + \ No newline at end of file diff --git a/src/src/main/res/layout/datetime_picker.xml b/src/src/main/res/layout/datetime_picker.xml new file mode 100644 index 0000000..f10d592 --- /dev/null +++ b/src/src/main/res/layout/datetime_picker.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/src/main/res/layout/dialog_edit_text.xml b/src/src/main/res/layout/dialog_edit_text.xml new file mode 100644 index 0000000..361b39a --- /dev/null +++ b/src/src/main/res/layout/dialog_edit_text.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/src/src/main/res/layout/folder_list_item.xml b/src/src/main/res/layout/folder_list_item.xml new file mode 100644 index 0000000..77e8148 --- /dev/null +++ b/src/src/main/res/layout/folder_list_item.xml @@ -0,0 +1,29 @@ + + + + + + + + \ No newline at end of file diff --git a/src/src/main/res/layout/note_edit.xml b/src/src/main/res/layout/note_edit.xml new file mode 100644 index 0000000..e6bc546 --- /dev/null +++ b/src/src/main/res/layout/note_edit.xml @@ -0,0 +1,450 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +