From 588c249c28ea7d2dc726f892ca74c77dc248176a Mon Sep 17 00:00:00 2001 From: Lucas Birkert Date: Sun, 1 Sep 2024 01:09:35 +0200 Subject: [PATCH] Continue working on documents provider --- brand/logo.png | Bin 0 -> 6561 bytes brand/logo.svg | 65 +++++ brand/logo_android.png | Bin 0 -> 10079 bytes brand/logo_android.svg | 71 +++++ .../android/app/src/main/AndroidManifest.xml | 2 +- .../quixbyte/qb_mobile/QBDocumentsProvider.kt | 257 +++++++++++------- .../drawable-hdpi/ic_launcher_background.png | Bin 0 -> 1990 bytes .../drawable-hdpi/ic_launcher_foreground.png | Bin 0 -> 1557 bytes .../drawable-mdpi/ic_launcher_background.png | Bin 0 -> 1410 bytes .../drawable-mdpi/ic_launcher_foreground.png | Bin 0 -> 1042 bytes .../drawable-xhdpi/ic_launcher_background.png | Bin 0 -> 2639 bytes .../drawable-xhdpi/ic_launcher_foreground.png | Bin 0 -> 1962 bytes .../ic_launcher_background.png | Bin 0 -> 4550 bytes .../ic_launcher_foreground.png | Bin 0 -> 2775 bytes .../ic_launcher_background.png | Bin 0 -> 6033 bytes .../ic_launcher_foreground.png | Bin 0 -> 4160 bytes .../main/res/drawable/ic_launcher_round.png | Bin 0 -> 11685 bytes .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../res/mipmap-anydpi-v26/launcher_icon.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 1375 bytes .../main/res/mipmap-hdpi/launcher_icon.png | Bin 0 -> 1375 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 986 bytes .../main/res/mipmap-mdpi/launcher_icon.png | Bin 0 -> 986 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 1584 bytes .../main/res/mipmap-xhdpi/launcher_icon.png | Bin 0 -> 1584 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 2702 bytes .../main/res/mipmap-xxhdpi/launcher_icon.png | Bin 0 -> 2702 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 2802 bytes .../main/res/mipmap-xxxhdpi/launcher_icon.png | Bin 0 -> 2802 bytes .../app/src/main/res/values/colors.xml | 4 + qb-mobile/android/gradle.properties | 17 +- .../ios/Runner.xcodeproj/project.pbxproj | 4 +- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 12042 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 364 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 598 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 888 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 504 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 880 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 1139 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 598 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 1129 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 1640 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 0 -> 766 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 0 -> 1235 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 0 -> 646 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 0 -> 1406 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 1640 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 2189 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 0 -> 1023 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 0 -> 1936 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 1094 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 2081 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 1856 bytes qb-mobile/lib/documents_provider.dart | 2 +- qb-mobile/lib/service.dart | 1 + qb-mobile/pubspec.lock | 88 ++++++ qb-mobile/pubspec.yaml | 11 + 57 files changed, 426 insertions(+), 106 deletions(-) create mode 100644 brand/logo.png create mode 100644 brand/logo.svg create mode 100644 brand/logo_android.png create mode 100644 brand/logo_android.svg create mode 100644 qb-mobile/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png create mode 100644 qb-mobile/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png create mode 100644 qb-mobile/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png create mode 100644 qb-mobile/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png create mode 100644 qb-mobile/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png create mode 100644 qb-mobile/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png create mode 100644 qb-mobile/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png create mode 100644 qb-mobile/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png create mode 100644 qb-mobile/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png create mode 100644 qb-mobile/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png create mode 100644 qb-mobile/android/app/src/main/res/drawable/ic_launcher_round.png create mode 100644 qb-mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 qb-mobile/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml create mode 100644 qb-mobile/android/app/src/main/res/mipmap-hdpi/launcher_icon.png create mode 100644 qb-mobile/android/app/src/main/res/mipmap-mdpi/launcher_icon.png create mode 100644 qb-mobile/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png create mode 100644 qb-mobile/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png create mode 100644 qb-mobile/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png create mode 100644 qb-mobile/android/app/src/main/res/values/colors.xml create mode 100644 qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png create mode 100644 qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png create mode 100644 qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png create mode 100644 qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png create mode 100644 qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png create mode 100644 qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png diff --git a/brand/logo.png b/brand/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..53cc2fa77ea05d4872f7f1d8ed6af00135499352 GIT binary patch literal 6561 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 + + + diff --git a/brand/logo_android.png b/brand/logo_android.png new file mode 100644 index 0000000000000000000000000000000000000000..cf9ede324e448e8975c0e4867603fe52d73b52fc GIT binary patch literal 10079 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 literal 0 HcmV?d00001 diff --git a/brand/logo_android.svg b/brand/logo_android.svg new file mode 100644 index 0000000..ea95fc1 --- /dev/null +++ b/brand/logo_android.svg @@ -0,0 +1,71 @@ + + + + diff --git a/qb-mobile/android/app/src/main/AndroidManifest.xml b/qb-mobile/android/app/src/main/AndroidManifest.xml index 7d86415..7575810 100644 --- a/qb-mobile/android/app/src/main/AndroidManifest.xml +++ b/qb-mobile/android/app/src/main/AndroidManifest.xml @@ -3,7 +3,7 @@ ?): Cursor? { - onCreate() - - var result = MatrixCursor(DEFAULT_ROOT_PROJECTION) - - // It's possible to have multiple roots (e.g. for multiple accounts in the - // same app) -- just add multiple cursor rows. - var row = result.newRow() - row.add(Root.COLUMN_ROOT_ID, "qb_mobile") - - // You can provide an optional summary, which helps distinguish roots - // with the same title. You can also use this field for displaying an - // user account name. - row.add(Root.COLUMN_SUMMARY, "local files") - - // FLAG_SUPPORTS_CREATE means at least one directory under the root supports - // creating documents. FLAG_SUPPORTS_RECENTS means your application's most - // recently used documents will show up in the "Recents" category. - // FLAG_SUPPORTS_SEARCH allows users to search all documents the application - // shares. - row.add( - Root.COLUMN_FLAGS, - Root.FLAG_SUPPORTS_CREATE or Root.FLAG_SUPPORTS_RECENTS or Root.FLAG_SUPPORTS_SEARCH - ) + // Constants + private val TAG = "QBDocumentsProvider" + private val ENGINE_ID = "org.quixbyte.qb_mobile/documents_provider" + private val CHANNEL_ID = "org.quixbyte.qb_mobile/documents_provider" + private val DOCUMENT_ID_PREFIX = "org.quixbyte.qb_mobile/" + + var DEFAULT_ROOT_PROJECTION = arrayOf( + Root.COLUMN_ROOT_ID, + Root.COLUMN_DOCUMENT_ID, + Root.COLUMN_TITLE, + Root.COLUMN_SUMMARY, + Root.COLUMN_FLAGS, + Root.COLUMN_ICON, + ) + var DEFAULT_DOCUMENT_PROJECTION = arrayOf( + Document.COLUMN_DOCUMENT_ID, + Document.COLUMN_DISPLAY_NAME, + Document.COLUMN_MIME_TYPE, + Document.COLUMN_FLAGS, + Document.COLUMN_SIZE, + Document.COLUMN_LAST_MODIFIED, + ) + + fun idToFile(id: String): File { + return filesDir.resolve(id.substring(DOCUMENT_ID_PREFIX.length)) + } - // COLUMN_TITLE is the root title (e.g. Gallery, Drive). - row.add(Root.COLUMN_TITLE, "QuixByte") + override fun queryRoots(projection: Array?): Cursor? { + Log.i(TAG, "querying roots") - // This document id cannot change after it's shared. - row.add(Root.COLUMN_DOCUMENT_ID, 0) + var projection = projection ?: DEFAULT_ROOT_PROJECTION + var cursor = MatrixCursor(projection) - // The child MIME types are used to filter the roots and only present to the - // user those roots that contain the desired type somewhere in their file hierarchy. - row.add(Root.COLUMN_MIME_TYPES, "") - row.add(Root.COLUMN_AVAILABLE_BYTES, 100000) - row.add(Root.COLUMN_ICON, "") + cursor.newRow().apply { + add(Root.COLUMN_DOCUMENT_ID, "$DOCUMENT_ID_PREFIX.") + add(Root.COLUMN_TITLE, "QuixByte") + add(Root.COLUMN_SUMMARY, "your files") + add( + Root.COLUMN_FLAGS, + Root.FLAG_SUPPORTS_CREATE or Root.FLAG_SUPPORTS_RECENTS or Root.FLAG_SUPPORTS_SEARCH + ) + add(Root.COLUMN_ICON, R.drawable.ic_launcher_round) + } - return result + return cursor; } override fun queryDocument(documentId: String?, projection: Array?): Cursor? { - startDart("onCreate"); - return null; - //TODO("Not yet implemented") + Log.i(TAG, "querying document '$documentId'") + + if (documentId == null) { + TODO("unimplemented") + } + + var projection = projection ?: DEFAULT_DOCUMENT_PROJECTION + var cursor = MatrixCursor(projection) + + var file = idToFile(documentId) + + cursor.newRow().apply { + add(Document.COLUMN_DOCUMENT_ID, documentId) + add(Document.COLUMN_DISPLAY_NAME, file.name) + var flag = Document.FLAG_DIR_SUPPORTS_CREATE + flag = flag or Document.FLAG_SUPPORTS_WRITE; + flag = flag or Document.FLAG_SUPPORTS_DELETE; + flag = flag or Document.FLAG_SUPPORTS_RENAME; + add( + Document.COLUMN_FLAGS, flag + ) + add( + Document.COLUMN_MIME_TYPE, getMimeType(file) + ) + add( + Document.COLUMN_SIZE, getSize(file) + ) + add( + Document.COLUMN_LAST_MODIFIED, file.lastModified() + ) + } + + return cursor + } + + fun getMimeType(file: File): String { + if (file.isDirectory) { + return Document.MIME_TYPE_DIR + } + + return "text/plain" + } + + fun getSize(file: File): Long { + return if (file.isDirectory) 0 else file.length() } override fun queryChildDocuments( - parentDocumentId: String?, - projection: Array?, - sortOrder: String? + parentDocumentId: String?, projection: Array?, sortOrder: String? ): Cursor? { - TODO("Not yet implemented") + Log.i(TAG, "querying documents from parent '$parentDocumentId'") + + if (parentDocumentId == null) { + TODO("unimplemented") + } + + var projection = projection ?: DEFAULT_DOCUMENT_PROJECTION + var cursor = MatrixCursor(projection) + + var file = idToFile(parentDocumentId) + for (it in file.listFiles()!!) { + cursor.newRow().apply { + var id = parentDocumentId + "/" + it.name + add(Document.COLUMN_DOCUMENT_ID, id) + add(Document.COLUMN_DISPLAY_NAME, it.name) + var flag = Document.FLAG_DIR_SUPPORTS_CREATE + flag = flag or Document.FLAG_SUPPORTS_WRITE; + flag = flag or Document.FLAG_SUPPORTS_DELETE; + flag = flag or Document.FLAG_SUPPORTS_RENAME; + add( + Document.COLUMN_FLAGS, flag + ) + add( + Document.COLUMN_MIME_TYPE, getMimeType(it) + ) + add( + Document.COLUMN_SIZE, getSize(it) + ) + add( + Document.COLUMN_LAST_MODIFIED, it.lastModified() + ) + } + } + + return cursor } override fun openDocument( - documentId: String?, - mode: String?, - signal: CancellationSignal? + documentId: String?, mode: String?, signal: CancellationSignal? ): ParcelFileDescriptor? { TODO("Not yet implemented") } + /** + * onCreate is called to initialize this documents provider + */ override fun onCreate(): Boolean { - startDart("onCreate"); + Log.i(TAG, "initializing") - return true; - } + var context = getContext() + if (context == null) { + TODO("Context is null, this should not happen") + } - /** - * Start a task to run a dart entrypoint. It is not guaranteed that the dart - * entrypoint will be started instantly. - */ - fun startDart(entrypoint: String) { - startDart(entrypoint, null) - } + // get the files directory path + filesDir = File(PathUtils.getDataDirectory(context)).resolve("files"); - /** - * Start a task to run a dart entrypoint. It is not guaranteed that the dart - * entrypoint will be started instantly. - */ - fun startDart(entrypoint: String, dartEntrypointArgs: List?) { + Log.i(TAG, "using files directory at ${filesDir.path}") + + // This looks hacky, but works Handler(Looper.getMainLooper()).post { - Log.w(TAG, "starting dart entrypoint $entrypoint...") + Log.w(TAG, "starting dart handler...") try { - runDart(entrypoint, dartEntrypointArgs) + runDart("init") } catch (e: Error) { - Log.e(TAG, "Error while starting dart entrypoint $entrypoint: $e") + Log.e(TAG, "error while starting dart handler: $e") } + + isInit.set(true) } + + return true; } /** @@ -162,12 +223,11 @@ class QBDocumentsProvider : DocumentsProvider(), MethodChannel.MethodCallHandler var engine = getEngine() var flutterLoader = FlutterInjector.instance().flutterLoader() - var dartEntrypoint = - DartExecutor.DartEntrypoint( - flutterLoader.findAppBundlePath(), - "package:qb_mobile/documents_provider.dart", - entrypoint - ) + var dartEntrypoint = DartExecutor.DartEntrypoint( + flutterLoader.findAppBundlePath(), + "package:qb_mobile/documents_provider.dart", + entrypoint + ) engine.dartExecutor.executeDartEntrypoint(dartEntrypoint, dartEntrypointArgs) } @@ -202,13 +262,10 @@ class QBDocumentsProvider : DocumentsProvider(), MethodChannel.MethodCallHandler var engine = FlutterEngine(context) var executor = engine.dartExecutor - var methodChannel = - MethodChannel( - executor.getBinaryMessenger(), - CHANNEL_ID, - JSONMethodCodec.INSTANCE - ) - methodChannel.setMethodCallHandler(this) + channel = MethodChannel( + executor.getBinaryMessenger(), CHANNEL_ID, JSONMethodCodec.INSTANCE + ) + channel.setMethodCallHandler(this) return engine } diff --git a/qb-mobile/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png b/qb-mobile/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..327ecf0face73e3a25a9dfc38f7781fa34960af8 GIT binary patch literal 1990 zcmcgt`8V5X7Y|a}qKQ^9Oe11z)N**6Nwt>7L`l^eDPpUj_I-(6hqt7RqEuA8GF737 zElC+$oujtCDXq4I#4@T>t)(T1<^9h4N6ZiRx#x4wbMC$8e(v(X!OlwdwDM^X2qcTM z#ySDI@^3jQ3B0{q3Mzp5Db~_879Vjpmh2Pl4#$I%Yj`poUMl0M@@q22N$lu_- zCo)bdo{SZye982X0lk< zp0w1DUp&E^Z=U?C-Cj)YMn3GqZKkUnArp=$yC3W(>)fHt<9!pfMYNxRh;?4B_mf7nZS#i}SOFvD$a<xf&Nd!4AmhEYg+CQWBI5N!a56F%23vj#-qM3h(WiH1Ns6`N&~Rl6RP0 z)zPN)8W2@8nYVOvDo+nVLF%6ex3J}BU*ti2_o?-lm9d@9Re@D5Gr>BzoDHI>JM3d1 zH0*e;NZY;&6;{a#oiqv>KAUoUWLkbD%EAjhwv2s-xfNCG+LaKcbS<9Q6)rGM_y$io z*mWf0M|(UN+n8I1k@}dN?uwkF1)aPThJ@p-ELoM$D4PNx`tb*}LZAHGHXpT4Wel@` zBpIOQrzYwNt&HAYCIs1vDqI?fnhnOz^_iu?$fs+oUw_(|=`I?d;soK9P{GBVMTb1_ zXlp8C$@^}~gqw=?eE{yj>O|DRJQc+fT{lF7+vyBfwSGl*()RK@9`*16a@|$+-F<1r zD%9gcEx(=IcbZJh;U|pm1BTx+Z9w+gTHAb=Zco)hQ>8$?G1wd*5p~)g9^WH!o!l?fV4O zmV`OkJKuT_=UcRPnD-B4FP~vKaT4PYK~TKOY!){*MGcX8L4B)U(@I=vVJ> zI~qWuhBPUM0nV6k699vQgQ}V)X#g&<{(D;s@5>m?r}|6u+^bL`k%+OKri}x#h#%Rf zYTK1xY;qS*h6V^UPmxYhPhYlyVfU${vWbA-8|crNTiYor3M{S`1R(^hL4Rjfi?1ox zlyV)cSkrfG&J#0FJ1F>gb9iLTOW^Zsk=^R!^K`S+N3fXpRk+tMjBu5f*N zt1Rpe`IpsNSwj38Uo)NlRIhuOZthL|Zf~7A6f(>iZ}fC;7xlxC(JSM6UpJY0f7FI~ z_dJp;b z^5onLnAp1TN~cfjWS}}f41_FT!SKAa_AHqNmFex&u?AKCbn!Lv`cS?b7V0)MUe~Eh zH&6FEI$Ef%h`?K&?UPrzkmTmM5nty|^N^m*tjr8N zFWqm_o~-WW6P#o+b54?gvGTet6pvL=ndwRQPULEj9C&xK!g5^Chivlkv; za>+V%PHSi-UR{TxYL@aB%FiM$;y7h*i*e97)8d=W@%sHa9CkI#FyC#bESa<71e- z#0i^uPU~Ou!$Dtdq)WUXl1k_K!vZD>5@orS)9pixmm@<~nQt&^vg!QCL*{inTQ8t^ zJre?G0lKgKhA`{fH9wy(mPj_xT$)QuOZ)Wd_ULlskV79Bz|PHTdtYWyRcbXsAP_`3 z^t-M(492@o#tO>hH6C6tyTt@NeGS!h@1DO{CiAAbd;wxdZMMQm_s+)p`W+w;s8;bj z)útFK$LCF^+l{B1nGioXwuDM1S9n4N_Ld7VJ|8}RzCSWN3=C&dxLj^6`uUmH zP&sXWo1WHcY85k0t*yZ(;9hqk z%WR!c@*}uyJ`l)mB`d!M4B$NPH=xEA7eU>Z5$rULxIMNI9OGYAEofVBU0R?Ax9+ zaJ8eOgGvijUwxH6awaj6G=7q3z7XU28^^M(NvsgbYqn-bZ$}_@>-BnGT@F6N8-YZI z61{sJuJuumN;2u^FQuQ_5*r&EcJw2nM@rp3-CKQkwQ)|T#L?;MtfbaGyL$WsT1RrB z_uXzLyPR}*Hi@e$D>;>w9?HRFc_#=v)x`et?#Z3zv?u$Bgq82N7X9;_eLgBIB!q;* zHVB2mDwT>CK(>79_tp_*QfXM++PEO-i~jy#lv(-U3}+UAb+o zln9H(!cVoewWnw~cJ7LWu20zo27`4@OC*q0xgB5i1B2pnoovjm?cVXxd4G_NnPEf^OwmVQ|Whr{EV#Q}*Ag-CpC5zFkh zWYj2LW`sPnpx!F$@i-i=CIV8=ozk889DPJ2-^8(tReiGiH%BMk)bdVEcL(fFr5NtAMO|L5?Y(XO-u*^)B)k@p!hjEN>+)8j+Sy`=u zL|$38&neJoG_J64bSj_CW@GL4S%#y=)3P%weWis#BJD7F#mD>je%Q~t9{KHH#uaw< WL|?cFr*-^!0465xKvUG&KmG?%oXxlZ literal 0 HcmV?d00001 diff --git a/qb-mobile/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png b/qb-mobile/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..d1eca56bc64c80cf534b8bb6208feb37388f31b6 GIT binary patch literal 1410 zcmeAS@N?(olHy`uVBq!ia0vp^IUvlz1|<8_!p{OJ$r9IylHmNblJdl&REF~Ma=pyF z?Be9af>gcyqV(DCY@`?%SXDe-978G?-_Eu4&hZv#h?c!@K(!!TK-pC!rjYwif#U~% zj;6*L-JPBL58OC%KS8OPrrKlboc4#mbP=}{H9Ku_HF-lOW|){ zzARy5W4m(vc>8Lg%#$Z6r6naPC2NfnXV0Fkbb7+9SyEFcO-cd@+`fH#T^pb5)~#EQ zUAGe6wt4g8tQQvo!^6{S)(R))=jUgYmtQ}6VWG07rsvh`*QMj%yGWdn45=Boj!eW(i(1S3yXmB z=g)6z=T-If_0>{TWE4$~o$*A!*x>p4{59N@|D^Ig`}4IoH1We!`RwfM7dws|ahW=Q zetxdphBF6dY<%$bYv|p(cNachaH0Ebd_!nrdwctDB4o&Rt?p|VX>XLwdKrq8s+i1~k8#Xv}EmpZ-!4SkyI@z`M{IwRx z|3KTgW!ZnSZQCwmX>T761TQRJ)H`~&Hkl?~`4{f#*?H>BnJuQhGdAto<<)ig%l?uz zoQu~zjhXJOaP72Wg0DpBr%ewJB)UdS_$Pk-4{Q4R%a?;oWVZcZn(QjE^?ztY#EP!2 zt{fl5XKU84pZsXUUwv8aLn)Rf?6>_cZd5vRJnEhFEBTe>iH^VGV?K+|vHbr1`^Ca3 z|EBvTfNb~k>(kQJ<*lmLKXdl%#B+0?5=$3u-D;X9T6#Mmdzsm}IgPD9z4q<<@#jy7 zx3~9_2x&{}2?iQTNK?%uhx;PI(b zr$VZ#swPBNH_u{PwR*MZU;VibhicY6-S?rkg;OObEv-%Dc&WAjUk;Xp*S3>eJ^!Dc zqX6{6rVV@d+FpuWvSY`L-2dIXWWqv1Cj5@KN=dZeSjS<#_us#|k~wF;`-nZO*8T2S zUjF@hzrV+!x}^WwaSEKxzaIL(u0P7Hl6d9G?R)q9x`h8VtMts;|6nz5TYGz;VZiS0 zul2Pul9E4@RV8F)L;3mnUu-;f{CH?t*|xPSAGWf-tarTE{XKntqPm5lq2SkBU%zgh zHEWhrKkMK1Yu4yQ2mfZ$ee>jr%9Zo=pkQ&U?_#HKuG`nJF1!l6U|{#?JW zC3O1q=_MOuuJ~L$v|@hQQzo0xPu3Hdo;`o=nQUrqetSlchz2kM#KjlLov6t@FVdQ&MBb@ E0JH(9CIA2c literal 0 HcmV?d00001 diff --git a/qb-mobile/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/qb-mobile/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..de690e654ff24e881291853f86a51c8b9321caf4 GIT binary patch literal 1042 zcmeAS@N?(olHy`uVBq!ia0vp^IUvlz1|<8_!p{OJ$r9IylHmNblJdl&REF~Ma=pyF z?Be9af>gcyqV(DCY@`?%n74SkIEGX(zP)=|`%9qA@sI0yGL@cg+7K!->9^{cbE?(R z-qzl!ulXlN+>E{vwWDwAqAL>8)7PBvdQ^FCeVtj|{=+jYKmV79?RLVcdu<_Ma2cXW9Ew& zFE+BVS+i~b$%Oas-*4KtPfuT8|CamDwCrr}()!5sJIZr-5zLfNI^}@CL_s4I#nG;zZ z-n28Jy}f;9_U6r-H*MG;kn{fU-@jM3c6N3q{GN6w#K63M?%cUc*Y)@Jv){h`_uZGh zyPV&}as?l(`5azbyO)QTm-Y7VZ{Nb+y?ZBgUFS@^AxLKW@5uqq&dwY5)|v-%e-1wr zVsL-5SQXo)JG({Fn*N&9x6W&c6g; zoMly2vvxhxlis>@t5)^*Z{KFk*q@Zvlo_|OwmN#|{v@@g+M1dZA3qkps(PW$n+Vjw z@$A|9=g*%X*}7}jt_7c`OJBQw?OM=v-Ma#^!Ut=%JAeOvc*1_?J4=%?Gc|9VUvKjH zpp~`t(?^e-{{4zSqEb6w`oQkpyBD9o`}V`vucjZXt*xwUbbvmmh8*xSDJsWyP~*d+qSyD|1Qa> z{_`@u;r}_DLs?ll{=LQTxWsGE*3Zb=uzL0CD?hcT{HR^~`}gk`wi`@%ragH3);BCH zY}KykfBw{bxfuKO^0&OaylLCEZOf8-eLbX^mygelpEou(cGJd<3pbTpUeTAOONxIc ZfAY(>v;Af{cY&Fl!PC{xWt~$(69D$e@KgW* literal 0 HcmV?d00001 diff --git a/qb-mobile/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png b/qb-mobile/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..50ead768b5424ab9f8b5e00b54805e435447b116 GIT binary patch literal 2639 zcmdT``9GBV7oV|BL~bf;QCD?Q*@_}eSrRH+w#W<`BQ(l3W2w<1dt@y#6h;_JMkHdU zEML@+xMpOslzj$+F*P#JedhlB{Ri$3&vVY}Jm-Br@6S2sb3RX!!zF7ODP<`L1R`T| z-qHz_bm6m20(>X!KgI@yQn;0SxO0eqIMyc=1;Jvm+Sf5bVSYY0QQ9G)=z=8^We7x) zV`F*tG7idS+J)GADt2?y9y%pCNK842mMzI)|BRSL;r6sbL`9d+nEPU`O(~mq9Fs`2 zyJ``5Z=1x+^F{=LeMtmu{@Y(3{UOz_dAzLfjehUbTfC8Xyes|Q_FwxEQV{J?-y(^Hg7+&MSLy z1AWZco2h~47H89+qA04S(Ux!i7|T3lm;7sO7G~<73yoR*VZ(AhBXeW4LGz~`S(?sl z!TJ@61O|+^-KGjLOJmKuHg`K5cP3uYG{lT4{(i#{XLYBmb$%(g_bZYJB(}7)D8lc= zu6*}bs8czK(WTy^r4+xct<+(cy_@`Y>7K|RR$F3_yV*ZI z#8c%oANX?!~ds^Ci zh_OB-$aa1zI4PvuRe7?NIGcdlsapka(Au%T)G9^3IsLH}g+?${0rzU*J?*G|NKH4! zG+uHCZa=b}KJ>fXzQ|VyU67sq`1HHkrB$e33alTwfk zU`7>g-@aYXnV}V`#Ky2*9aItS%5*MgciC}8_6GZF=fp&Dun8CYESN%yw(!88^6N_V zoqQi(&lzyywPartB?>y1>90z1kB4iL@x>8%+ND*UUgGR;c`{^oHOib7w_3M%0lZ(qI|)GgFv0T0Jt1(j;q+jGuC6>-134=8d`B2 zbN(~-Fi>?N6za?aUYKa@;I7A#v6|& z1j*?O$z6FHe!XFH^>EPWRa?*ylKzS1vsdhBX3$8DO}F2cUB7=~PE(?x>9PNcK?tfqTO_+#S&fsZch)2L{9haxxO{ok+drX)tB4TWnsr`g8e*cBX(gcWtq+1 zC#4k5+Nev4Abu8=F9FgIy4tdn%_p4s^<+1%GSxFjh^T0!P8%h%-rW^TR`#dQO*| z0n(8Ayw&QNaYW!N4AU6wMaS_n`i!C8qO5hYvhE_l6>P;YaNvMJN1KUo!y;|dp^laSm(_Tgv}eho&9JRJ+b9d0EsTD|X*8Of!|D zw<$`wKKDEQlXy;57i=%g?~pHRM_fr6X$j-OM-quyuv7seKrV`s-?ozI{}`4kf;f?M z0@-M4xYa&za4@c7QFb1Pr1s>kI=K<>!QSZUN03hhC zNw5D=SydB_ePr4rHMsYDSc0sY>L~G|)m9q=I0QPZ?DDBbw70DvN3`EL=G_)MkJrbO zjjb0i=j+>0NPrsxQRJ&}s;*kTl64&SYZW!mu4gt98-T9%$6_Co&2C^1{OA#6R29pt zz->f`+Ue%*OeQnOto)nAp9%V>cySErY(8A&ePyUP867;mmNzN2k#dotReocqcaGZ~ zZLc@`Pi2jR>kJlXs;W#pPZ^15WZ>8o?D;6(= zY2H^yDmv%HG2~LK?^e)hj*a&(@9+{OE&=g%ETi&X5prnyo-8M@vNgg(WA6U$-Mh|G zn=D&+`3`sOri3m7BndxV9jM~E(fm6E^a;6nzb=wJ>cUs58gRsj`fRm3)x!7o97F2y z@dx&P{r;}kY`F=;3=9WDVxZ)Roznu9Z7HiSb;m?<`7y?dp2ISpnk)MX>?py}1pbFs zmkM}8Hv|QsEGSa90i6eKhmZ^Nzjklpb8bm04y#0Y)*-0_gu|#ID>2OtK%m=iOqIbUoWreZ#PskAwYmUd+OfCYABqzxrk9ZWHAC_e%JYM)tx& u@@-|0jHV3n{0DK+N81!968~FbPG@g9T*e-su?+qpLTs!qS=N{%@BIS+LlkfT literal 0 HcmV?d00001 diff --git a/qb-mobile/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/qb-mobile/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..2e223466e6e1525dcdcf3cb0dbb28139cb889f27 GIT binary patch literal 1962 zcmd^A`BPI@6sC}>$gWmItU+;bs)!aPAQCAeiXdB&5G%465fDfK!9YSt5jRG_4HOK^ z6b2X)AaQ|cgd~cB3y3j>um(%45FUwD-U}F#_xk9c(f)AnnfcDS-+X7zatlL)4_Yi= zyWGgg$l{Ry{$Ei$xOkQ=LGMC`ZEDomW%>~_!zrgSsc{+cMpP=*C5fDTh7^|;??TB) zU}?P88W}A;d}zPVk?il(V}Vx>C#~!GqFlYv#op28iLnnEK<0c}qP0r$? zP3Wg~oB3R}PCqodg70Kw=Ip=3cjL3vPw)L3+B5_x6Vdgmbh#@`Z)`zU#AH>Uc@yqt zc*TfF~vDTaZQ!w5$?ZYowA75N==t(Rd zx}OkfVqzkDkR-jczTUftuo(+g&-^>yjSz&^%l_*L1~MH&&TOO`t7w=Zip-RwwuJM(dr-M|Tzc+@| zv{vKk1GCC@^4PF^4r}Se!)C+!oJs4u&rsc*PWoKQ?EaO?u1i)jEK?r_66GS;k%wLL zS{;@uwEB#uP{m>edf*XkzTp=Y#H|m!P4G5=Qjd_G=>Z6-!Y!FF`L>*CIFKNZl90CZz} zpH74W{@APruI1tH-gMyE6vZQvEcphg%Kj?W+l7|Gl2`qNhN(PHDmrpx>J`>rm4@OVl5-I-nM)M7KCGPMehtT;f=v9 zXEmdC<%uUcXb@Y#MDipgHL|u^d@)RbaH8q5WL~=`6V9DN1hYk&ylx zkM!E9bS<;^aI9}f?zel{sKk(dCaiztN!3J2NF#cI6oY$4+#B_vudxa1mHqZ;L0RG~ z5WI5Gx;{a2Yuhoxw&;%R%Ek(h`o>AX5CcW7`q?YrB1~u1q6WC{9PL0jeP#yTopH3a_IT6&()}B(ihEbs5m?z0`(d_&CsYKTd7%~VJ1$(lYQIfK@_Q)tz!s9h{&5RN=L-^T^0 zt!B0^tMIp}Tn)sCHKb*b-c;@$AA1$?8KD_;S(4dDPxy2OmZ(yF!!?bkU(73wQt=xH z5g7}m0*%kG%&F(7Of*OMTN{Gg1k7EwS* z+C0ovKv}UO1YTTb6Ca)wRAE1&z_tIu`k$f{w%^^5k*v=`KVPFme!=@&_r;$32eWsc AN&o-= literal 0 HcmV?d00001 diff --git a/qb-mobile/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png b/qb-mobile/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..860ce02530698c315a3fb5019739e1b5ddf2f7e2 GIT binary patch literal 4550 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 literal 0 HcmV?d00001 diff --git a/qb-mobile/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png b/qb-mobile/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b11d6b8e461064528b7fd323b3bf3042219b77 GIT binary patch literal 6033 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 + + + + diff --git a/qb-mobile/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml b/qb-mobile/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml new file mode 100644 index 0000000..7e91a57 --- /dev/null +++ b/qb-mobile/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/qb-mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/qb-mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..c5f7bd89b3d3042d85a942bf7e691d2d68453e5f 100644 GIT binary patch delta 1367 zcmV-d1*rO<1m6mf8Gi-<0033(vqt~`02y>eSaefwW^{L9a%BK_cXuvnZfkR6VQ^(G zZ*pgw?mQX*00jX_L_t(|0qvVjNMlzNfRi>_i;xjBZBVQwmRMzqKT)F*wb5ypMPxP> zw}ozJ;lf3if-w7bS67N|oSohD$3zqVqK&ZVM*47pz30huW_UfFBa9FL@ zSY2J+t`ww!$K&y_BPxj1pGYLqrF%w#(b3W2XGc^}I2`^64p!YW5(@l{>d-$Wu~6#|0~Hhsg~)+a*Ib#Rvd_>N$09YnD zr>Cc1P$yLD52K)U4OppaX~>#OG_V96H&hwMFU=g3*W|aue3kteCWwUHZr^-} z^@pJ;h^PLrjU{TVk=(TYF!BoGtv_zJTS!4St$#m^yn+IO0P7p5^~coO+8X3Y#4r{X z7CxoMR#a5{e7XKG@(O|mkvwrpNy(qEu=|4=ZxnlbdvC!?pqm;G_2-9tk6#g#PNz+4 zYis0>W=l(puc)Yq8g3Zy>0!GNZ&Ty*6==p4K~R4_I6gjpk2-Po!cHW3>JKcU)9^a- zmVb#Wg223&ClOeG`FP@uf~QS^7G=Gvs_HP`b5{iMOw8&}V`HOm^(T=?6vtvQ54Ha( zv`oqobe;NBTwF{IH;mQQ)h3X0Y7(yg+%^}2;D6FGheDyJ)Dt^9JHHpP|G8~01g)>HKY=3s z4)sK<)%yF~++3~J^KfmmuMp~XEr!{ovGjqj=iS=c+C6o=v$JE5$K#KQ^Je<``hG1G za3Kg*zFy*_=giE^ykI{(=jg%M*w`}=^imxU4-bD0Z}v0Fxp3Yb2M)%TRa|5jv#m)WI+yxBW$zT{=?$V z1@ShBf{;^xPEJnPl|U9m-6pmi9Df|JjqQ7P|6y5KSqv7+f2rfGtu1FNl_D>b*!_o; zI16;ouG7=gdw2gKG^#&kkNtjs!LRE}DAa9Y%YCgsmkTsc{bBe2)YsSV;*lVT=MQTF zp+JGosXx#h^7KFCT?h;G67k;NUd?-YLP5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/qb-mobile/android/app/src/main/res/mipmap-hdpi/launcher_icon.png b/qb-mobile/android/app/src/main/res/mipmap-hdpi/launcher_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c5f7bd89b3d3042d85a942bf7e691d2d68453e5f GIT binary patch literal 1375 zcmai!dpr{e0LNERL(F65(G+1w#zmrBGbYxsY4Rvj$fKN@OjcxV&b!^X!l#tx(M@GW zDyI{X&*c4n&%CBx)2`+ft8x1OKA-#J_xR)c_csgY?XIeIm;ILu-7eWf>e7gjvn_6gbenJ2{Qa|u4<1gf zw4t=NN*Ohpl_ge>OAPase4ahYYAm)~HtBD85I_92p+oLme9ZCl)g{xdBdd2MY?1GfA6Ne)oV zB_z%H?Xxhr%K)F>;HgQbP}V>2c&E4mrL6QxiCV6L6&(Kh$UV<`fs#`Cz{m*1MCn{` z@S6C+ZBhVdB!EDessfkO+UBJ-#)mS8A9Ez7S zj1r4X_GUH1^h#wO|HY=wlJXn}L99FPfjq`R+-{)nqyZN9RjjrRO-$$uJz8xb5Xi~L zJU?IG@5%K)X!`Cvr#Lja{ZV!Gw^aRDa8goIZ1ZVWkv?cul#$H5pmEom?G+szEo4Su zFge_cicEc??w5}tf2qgf=a;pkc-lxD^`yhelPS#OaceE!CKNH~aOvQe<4Xlumh`s` zg=QK7)D6lUgUD1(F6Z-t9O)GM zg3}lbHTudG&8khly$*e5;7Eo`342KE#EBD4IyGDMF>nPAmy4hsl&h_xo(;>s@%cfV zk!4a$EmvK9%_@Doyk>>Q6-`Y{O#GbCP+J?uY@26hEl0>?vJ@*Y$q4Az7(7=l>gwuh zxQK8P{oOn^HfF27a>f7z0#Q|C*K9lLNdhQPYzdAx0*+h|EW)m5R5#s%SEQDe8RJbf zjkrzbldT1#T1B&#jiPfF0;7e6g~=}#>+S~bW&N)`VaxE<~Dq?gG)%Y4C7yF$2Z^2^(ad1GwHc_s<*fISiUm^ zH3fSGg+i+tlBC3~kifvey^s#-lX(uuD)LbNLF+qX@{GFeSaefwW^{L9a%BK_cXuvnZfkR6VQ^(G zZ*pgw?mQX*00VqUL_t(|0qt2!YZ_4$u62x(Yy=BJDuN;w0yUIqe744xlx7*T$-X5J zN>=#~+4T>!rJF(@Q0PLkX(>(WBg7KZq@orR8fZ2}3<);al7Ff_S2Dvm&bia^HA(P; z%iOtlj(*?Fx#xb4Os!VCbe_Q|O`u)$1t^Wa0Hx6vpfoPFfJh{A@95~r&?_=6pn?i0 zm&@vfg@u*m5fgBe7OdCn zcNm7L2!?B?O)f-Zj*pKGPzjA#5XpaX6cvz2B!XC=Mx!~{*x0zH)9I>mnaaW3+}xAp z<>d#+bPX!dD(N%{D3wZ@OeW*TK6q?wY^B@e3D(!w(SIy38jTs)1AdZzlK{B8&T6$f zhz0xo{tum@h+}tm*H|bN>?)N?bUqLWa2%QhK>3`YeRwDode<&NDZnNgRAKA^!C;W% z&?JDifQN>LemESCo%Six0qGNBL1fSY(5n`8YCe~c3#<$qi**XqE)Kv!SmRVo!C;4U`L`XBxn zCqT;ofPh#>SW=M7<;;hNhgNJ}EQR?3Xr-$s`F{^Cz%Vm2^9-90hr_RhW1Il+KNDCW z@joEoOWO=3;PH4iq1~4gQx|Yn{7);W3y|_ZkefFqCnw(v$Dt~q+dTr+Y2&c8wDb_3 zZZ@CKU!9+ye~txCO-;R8TwHuC9Ip$2l|MoIR#;dT(qxjA1l0RKcDwyM=|c$*X0zE4 zc7H91dn7hq7a+BOy9JxgmVzHgzezupO8F_5HuxVt7~+4nx3?Af{R^qXZA##OPys^! z!v_P8PO9@Q4)>-TBx$f%EJ)wjzR&0TI5ILKY7}7;{U!82d@xX+o_2$v x9L&znzHK%3V*fvI9?%z{H2MORMqhx^_y-*iQ>^u7VdDS*002ovPDHLkV1h1b%0>VH literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@U4P)RCodHSxajgQ53FqjFM~w3qmS_ zA{GKQlxTdm#+H<38MDd0B@jwh`48Fk545G5LLX4*Lb7QoP3j}W64Ruj784q1Hbo2x zHrSG?Jy$ZrIL^7#@ij^CgUj5xcaDDF%(>@&j!dmqyL6txC{3VU^aUu5z5u1s7oapQ zwtz?^a_{Kq$j~b?Euex5D3{CXg@uKeCnqQRUNVvctJV4$6|lCp<~qyd3A|qK3MwEL zi{0rZnO5L-yQ8Rpcszcl1%L^yf`GWFfMT&Ym`*m5fgBe7OdCncNm7L2!?B?O)f-Zj*pKGPzjA#5XpaX6cvz2B!XC=Mx!~{ z*x0zH)9I>mnaaW3+}xAp<>d#+bPX!dD(N%{D3wZ@OeW*TK6q?wY^B@e3D(!w(JU|; zjTzVjev*EZ0Jyu(YPC9u1^fN}51pZiV|RDgSSS?iDwRrfJ`f0S9GV0``JAAAcqkNl z*DgURz$O}0VeA3HV36a`B!ISnhlYlJI2?|h_9@Z<=@Xz#|Ai;;i9Kl$K>W|v)|MBG zbUK|ewOZW)igeKOA98;a)L~Gy}i9F`}_M2EQ5&u;h#4Mkn%t5 z=Fv?=qtOtMzl_bZ^`Aw90Gj{NYPE&Y(a~J{6zPDQcpIBz{SSYP6CmY(TrSt@z`#IP zU*lCO6(Zm+HqZJW{un1f%Kw0XSVve=kjv%Fhlht&Y+fvd`2uLAt0(ynF2FD|GxH3a z4~N6Ag=3rm@IMn+An`vS;7i*KCE)RRHlf{@6H^y(R{T#Zs0)ztKaiU@CMPG~3&)`< zpxZqH)oJ6fw6ydPo^Cdu&tILNpMQ=8PEAd{T3lRwEF7;3fR#T%`&L+37Sd#rl?2rL zKX$wQJLy9S4`#F35Oytydn7hq7a+BOy9JxgmVzHgzezupO8F_5HuxVt7~+4nx3?Af z{R^qXZA##OPys^!!v_P8PO9@Q4)>-TBx$f%EZ^9^&*%F%GBP4+6k!wn zCGk literal 0 HcmV?d00001 diff --git a/qb-mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/qb-mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png index 09d4391482be68e9e4a07fab769b5de337d16eb1..eb755867331978c51a2ed59a035ff994f515c1dd 100644 GIT binary patch literal 1584 zcmb7Fi#O8?9RK~i=9!xEKAT73=216pFOLb8grU+%3`Gy7D~v3^;asb9TSc{yN4k|; z^Vn5(lgG%bxs=DqW74&GoW&T;Z2azY|ANl>zRvf1zTeOHbI$ji?{z=l!&>Tw>Hq*} z9r5%CkbC^Ps;bEC7aDP|+!-Vs#3dYyi%KAd$Daj=M55h!!o|yx;g``ZKq;%k!DJ_p9H;gV0_3d(fCEV>Yz!jf86OBl~08Z`8tZ;9^)pBP3GJ# ziQ_*?d59HHOVeuXUwfE^n@)u1I0OBr;N2gU0~-1U1`-#2%`^fZf86|zXTf7-Z(rZE z%OuhWflof(Je|;0tR$G74P>ni#a?|wMw%^fFZ;(?-hS}790a$h@ zENskX*ihG%ci5N)7l{`aZK}q!)R;_WrIJEAH{+(4siBe4s+N|Po`C4C;8yZMv2wtV z7GCDgknPk|8yp#t4a&x!BXZFN01Zs(MBj=pXwtO0OA7aFY;DaNkj+2;t#^8HfWxWx zs^{3cI>71Lg%9)c@_I>9R&?jl*Q`PW%er)On9E&L-+h9XQzfH7^iyQ~nrLi!d3j(1 zMD&_gP6$a6ne{5t!%L8weuT5ZrJV8^*(sG6|rW z#?FcX$9$-w2iOj-?B6Ov*ZVvGKFSdMI*q~lmaKL+hlj9m3Tbi|ZluiE7j^43F52#H z8W%cN;W~e(!!iY%>vo_S?^#*dc`l)*q4C=ei(;8mMm9C?noy#R4Fw-dwC@#NT$WKR zE7s?}?>3qTjj3(6X$|PpYK(j6L!qFVMEjZ)5#~O=TUJ<&mK*2+V#wAg1U(Hs(4;!OUE)Lf4c*jrVg`$g{T~Knoda-QM@GlV>;sT5jBc9LHCR=3S{ zD-6Cg5hBvp0?0vKHPf-Zy}e=HK0eMYV=52R+}vz_MT}M3i@`**XA2pOU7aaMb#XSU z_qn>NN-iuE7At3pY+OJym**m|Avba#JeVUUCa$t-s!Wi&cxtC?CEPAR;rLsa&5K_R z_WxB18Jgc|S7a`WtJ?Z7lgJ(L`v&@^6oLC%ZhG8S^h z+`FZ=6493r3q#ZfKYc2@(Gub13?pXXu+h=c)akE&Fs2D*KOlyxnaIZaq;P+M1mg$q z=^1|fajLGgw3IR!$*|&{E3yW+yTB!M`aeZnm9sP-5A}srv~BK|&q=lRN}XL@F0Cl- z3y^AH{~NP&sNtEJKb=uj>m?Z)N3SO%H~Yrv1(8{T=uN#;HNRO2CaKnW>eAjqQEX~z zYTVr195I4=J^{S{&VmN#ZVj#26S=a_-oBZ;D&E-^DZ$3Y#kJy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/qb-mobile/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png b/qb-mobile/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..eb755867331978c51a2ed59a035ff994f515c1dd GIT binary patch literal 1584 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 diff --git a/qb-mobile/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png b/qb-mobile/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b2106d3ec1b910b7e493dd43bb04ff84eaf154b6 GIT binary patch literal 2702 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 EzoJWP>;M1& literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/qb-mobile/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png b/qb-mobile/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..863419e31c7cdd4a74228537b68a2a59d267dae9 GIT binary patch literal 2802 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 EzoJWP>;M1& literal 0 HcmV?d00001 diff --git a/qb-mobile/android/app/src/main/res/values/colors.xml b/qb-mobile/android/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..ab98328 --- /dev/null +++ b/qb-mobile/android/app/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #ffffff + \ No newline at end of file diff --git a/qb-mobile/android/gradle.properties b/qb-mobile/android/gradle.properties index 2597170..3e97058 100644 --- a/qb-mobile/android/gradle.properties +++ b/qb-mobile/android/gradle.properties @@ -1,3 +1,16 @@ -org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError -android.useAndroidX=true +## For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx1024m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +# +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. For more details, visit +# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects +# org.gradle.parallel=true +#Sat Aug 31 22:12:16 CEST 2024 android.enableJetifier=true +android.useAndroidX=true +org.gradle.jvmargs=-Xmx1536M -Dkotlin.daemon.jvm.options\="-Xmx1536M" -XX\:MaxMetaspaceSize\=2G -XX\:+HeapDumpOnOutOfMemoryError diff --git a/qb-mobile/ios/Runner.xcodeproj/project.pbxproj b/qb-mobile/ios/Runner.xcodeproj/project.pbxproj index 2a2282a..274f643 100644 --- a/qb-mobile/ios/Runner.xcodeproj/project.pbxproj +++ b/qb-mobile/ios/Runner.xcodeproj/project.pbxproj @@ -427,7 +427,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -484,7 +484,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png index dc9ada4725e9b0ddb1deab583e5b5102493aa332..44b72054577ee201d45ba9b2d3700ba3121fcd74 100644 GIT binary patch literal 12042 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 diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png index 797d452e458972bab9d994556c8305db4c827017..c6742adfc8c00bc0460332a63b3b9f41b32dc4f4 100644 GIT binary patch delta 584 zcmV-O0=NB^1J(qP8Gix*000A=FFF7K02y>eSaefwW^{L9a%BK_cXuvnZfkR6VQ^(G zZ*pgw?mQX*00H<(L_t(|0qvJdj{!jt#|JGN5g`%>7m15Va6rVH59A~GT&@n{9VFr) zaX~gj99;zQsGYIsYHKDlJ!_Ml|6wv}YUWqnRbAc4`Fs}MA%F4~ssT2@{{p;RE)$7_ z-c*;%g~7F2O>ZhFolawLy-F~geMm6uKd4!j%jHt3M1hs;!Dvc;k~B}yH%_M$dL^IF zKmH_(#bP#_Dg3TNFgt~C$dX$09SkMFiz+>eB z?J{?+FLkYu+4_Uk`r_>LHF~flZm0oBf#vr8%vJ>#p~!KNvqGG3)|f1T_)ydeh8$vDceZ>oNbH^|*hJ*t?Yc*1`WB&W>VYVEzu) zq#7;;VjO)t*nbgf(!`OXJBr45rP>>AQr$6c7slJWvbpNW@KTwna6d?PP>hvXCcp=4 zF;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$g1U0oiU0rr diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png index 6ed2d933e1120817fe9182483a228007b18ab6ae..12dd9783653ce57a7e6748cbc469d12898a804e3 100644 GIT binary patch delta 876 zcmV-y1C#v11Na7z8Gix*006a~P9*>U02y>eSaefwW^{L9a%BK_cXuvnZfkR6VQ^(G zZ*pgw?mQX*00SCHL_t(|0qvR3OEN(i$G2P)C43P@RPZ33La0d6z!W`5ci&t8PL~ed z{U7=xBr^J;n0oMFhz1IZ;>Cla3BF?!o4Wfv@9H}9*2{iQlYh^wewv;6&a8^l=~Vb> zi2qt(9dv14=+eBTCLXUbU53n!Duv+m8LBH{QS(>MkNOa2jD{dw$j01P=F#Ym&@^$ zQ41*DYPH_p-hVjTsD!LSK~WmdjjOAxSS-fKi4c#+hr^*_$?x~uY&Jnr`u_eNdPnl; zo=7BIF4v|MmnakpkTD?|jnc+yBfYn`$Ie(l$BS@wc19b^(s)8kmoWkvFOtx76$)}` zJnW zXklI&Pk(5pbAxQ%`FtL#k_l}xndV>ll2*TXH_pq;%lrE~RGkkyimH(&=M6HawaY=Y z+wJ4yW2j2beM_%=N;jL$Mx(K{wWWC3(mL2Uzduml|5KWT9b_!9KPRoqmo(IaBsA-h zUX@R2Byq?cP@HfYf6KeRzP`A)AdOTib$NLSb$`3Lxsl)JnRKO6K@u7QnNDhu?j8vM z=&j@lO_@nQJw0jp_%(35-CnPkw#fz#b(1GFWhTx43xhx)KpWL+6?ssSCp2XyjUQxL zAlcv#h0u;B*6Vc=(i$h|sz@gpB()3%19adK@q}gpdDQd!{j~k?@Bno?JUrap-Bm1! z_+<@Zfi!;Qa=G8{L*0TOZ^SI-A)_HWb*v{9O~wDI-!#2 z@pv}xrH)@8ta0K0^^@FpMwjM=F3k&Fnisk>Fa7|OSqKxjhYeK#0000GM-ShrilfUZt{^9lhT*&z4_x{-O{Rv#2V9EI}xb^~1iQe@7)8g(7UZ4B@ z|4zgB>+<*9=;^^)>d)H7pzGjuM>Jnezy3`@G2r z?{~a!Fj;`+8Gq^x2Jl;?IEV8)=fG217*|@)CCYgFze-x?IFODUIA>nWKpE+bn~n7; z-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGrXPIdeRE&b2Thd#{MtDK$ zpx*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{HY|nMnXd&JOovdH8X7eSaefwW^{L9a%BK_cXuvnZfkR6VQ^(G zZ*pgw?mQX*00EjwL_t(|0qvE$j)FiGhK-@2@zNMIl9-st19-m_&|A||@+1~ETKNFB zzJ`Jtdj)%9BLVCY&t}NX=(?L()WT#>LC!EUU(WpJXW+sxOn-S79$LrbL+;kvGCn&$IRh;Fw_xSP%9RbFnjS~uL6Kq1=gHsKnEfpb9+rqd}q zNYk|A@rd$5p-?WDBQDrrx7*=$AW*GVV}v@6gQ2L{1op#fwYpp`cn$<&FZNEr8}4GU zpy!}ob}rOJ4}UwI4&l<`7K=sDmz}#_uW_Eso7z4zm8`JOi3HMI;KQ&Dh#o26zhmA&qaA|?k>2weThrHVbOPV%!X# z=V5!q1^3Yc`Mxj9GE1eS(P%IjNRotgP!we{nM7Q0LSnpYpR6%5)QE0o00000NkvXXu0mjfD%|cl delta 266 zcmV+l0rmd)1DXPm8Gi!+003c4mpuRg09{Z_R7L;)|5U~JDYo_jSDX9(|7FYh`2GLd z^Zv2r{H^2sT*&w!Y^SB+`<>qVZqE6)=lqo0`vF#&*75!I`TIh@_d&k*HoEtQyV-iD z%Xz2D9EQRbeYh5Nr~y=#0ZD;^+vz0$004MNL_t(2&&|%+4u6C&2tZM$Wf&dzefR%A z(^3-?6X>hnCz2Ba@RH&`m!pgy?n@#@AuLYB&}Q)FGY`?vcft0!vht0Z@M&ZeNCWXh75gzRTXR8EE3oN&6 Q00000NkvXXt^-0~f>=X^?EnA( diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png index fe730945a01f64a61e2235dbe3f45b08f7729182..da47469dcd3d727a8a8f4304a2b204486e91eb45 100644 GIT binary patch delta 868 zcmV-q1DpKL1Mmir8Gix*003^;-G2Z802y>eSaefwW^{L9a%BK_cXuvnZfkR6VQ^(G zZ*pgw?mQX*00R<9L_t(|0qvR3N-|Ltzy}<{7J>;<@aaa;g%w3&CMmdZE53sZ-L&%^ zT<25t0wT093KA`?G*NKv11J&xMg2~Vj5;&tj-TB-^~L;F*MB>6@#p27GiR>+Y&PTm zANcPU_&0Q2mgu@H(REp(>$2px=(gMKVzH>D$~vIBS65e=Oh!u;RctmJs`~@CHV_CX z>-PKomzNifZB#iwKUda$etsU0#~Ry^fkqeI-9n+Dv5hKryB&?)$HzyFZB+65{hVTD z7>!0hFmQc7AAhH)Tdh_HgMsEgDnOobin^sz30t$bx0g&N83|oqUt?drySwXfI5PN&#ap)7E6-TV7{Y|WofsL08AczD1r?d752~8tJEj+cU$jKoj30clL@wrU7kTZ zMX2xm+&nVHu0XBr|he2p~e>vdc3doldWR^IVtEG+Hc{gM)*wN>O62O9)(eI%Kn1 z$>bORfPubwdwUxOcXxMhZ*PkCKtH~}zb~2m(0?VLD%5Hv$@e|aGw=79*<*H z?DFzbSr__oEl(B1I`jJain$7>3iA06T|%$Pf}^7&VF0fJ*ga4yY&M&G{u^|~=PIE^ z!D;j5l~N@vya8o+@~~-mR@I7_?fgZnulwCY&nB;h~hUQd8pO zaFOW1Ngl}a)3Qsd&{ uVuMw`<)5FQiLT2MU6&=gE=zP>miz_uJRv~tRt95 ziGV;=={^- z?sLQGb)?A{hr$_!z8HbH7kH=vM0x-*R~t>;jsO4v^GQTOR7l6|(&r9>FcgO2dg?%> z;=sK?5%;?Pn^T7LL?Y$@5u?06NuIR*0?Yf$Hf5Afk+lM<^ch*jvO$sU*m9J?JI7eI zGFV6+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9R%3*Q+)t%S!MU_`id^@& zY{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&p6kME1_Z%?`+u)^el0!1<0sd p?Eyu!OMLDifi)An*I;?S-wj=m4RYIt!kPd8002ovPDHLkV1j``^k)D7 diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png index 321773cd857a8a0f0c9c7d3dc3f5ff4fb298dc10..e2ac3a81bce5d64718c8e0ccf74475a9aebb79fb 100644 GIT binary patch delta 1129 zcmZvcdobGv0LSC;^U5I{**GPWQEo-nBPrD_G4W{CTTeVrBna_Hk5r_?k7zpTk)&AL zi>9mEJQGAPV+5tNBD6b?YkMcf#Umm*&D5cD`)|Ab^}Wyc&+pymD+T^E;@W_^5D4U? zE%f4P*wFE@^e9>yospcI3Slr9?io3mdF15lsqVB~3SaGO3xVic2m9lq3v_n)1EJek ztJ{XIx+bh}EUUx?7hUdzKz9e#N%b@c$=v)NENCub9^nq$ib=L8zb#w=SXMmN&r=V} zcx1b0C&q#hRYRv39N#<8FbjQGLmUSZLZdHPyfu#2&nhKC_2Ussx}$KTK5Q4ja)bT1 z((Ub%NSZv&f5*Z_A`u#mj&5$O)N1pm#wI4%ThX59y}STIkaKNY)O?U5uSGk|eX;)2 zFrsp7dppy{@}*y3V4$!4Uwts}T@7OR4ht)=cr_Y&;O^m74?gi?K z3S(5H*W%(LF$DxiZuGYRg@-5<3KGzk27(S%4Gj$vwNE_vN!pPCUm!3*#*}gB)xmWY zJ-`q+u&{8=8*f-vpIclkkfrga(mko$BeQTbGc#$Pd}gME*XBBaEGNM=%XFhVtm~4~ z4cFJ5mPr3Vcs3q)Ax_$Cj9J)nNB7Hs(4< zP$(2)6L~ftDn<^Cj38wbq;3Hyu-Ck~JTN%;J(G!Z+}_$UFf@dI+aE8byh0+8#3rhy zAvLi>D0Dk|lcVENZGD~(FJ3zu_qzcHl6zq4#_*)1-B_zzGCx@5*!cK&3jo8yY>Jh}ZP@?X9JDTgbcF`)OqrXtXktA*&NWMp9`snrmx4Z+V%porC5Bc>!)J tm8$OUy=!O;<~W-R1_%AGhW|FR{F6&#X}cBk?D6TFK!Wk1{vtmj>u*M868r!F delta 691 zcmV;k0!;n$2*3r98Gi!+002f7DP8~o0Jl&~R7L;)|5U~JDYo_jSDX9(|M~s@SH}2N z#rS{J`h3&+@cRDr`1>4br2|=<_Wb|z`~RBV`-<24{r>;E==`tb{CU#(0alua*7{P! z_>|iF0Z@&o;`@Zw`ed2Hv*!Fwin#$(m7w4Ij@kM+yZ0`*_J0?7s{u=e0YGxN=lnXn z_j;$xb)?A|hr(Z#!1DV3H@o+7qQ_N_ycmMI0acg)Gg|cf|J(EaqTu_A!rvTerUFQQ z05n|zFjFP9FmM0>0mMl}K~z}7?bK^if#bc3@hBPX@I$58-z}(ZZE!t-aOGpjNkbau@>yEzH(5Yj4kZ ziMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_stABAHe$v|ToifVv60B@podBTcIqVcr1w`hG7HeY|fvLid#^Ok4NAXIXSt1 Zxpx7IC@PekH?;r&002ovPDHLkV1k5VYl{E? diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png index 797d452e458972bab9d994556c8305db4c827017..c6742adfc8c00bc0460332a63b3b9f41b32dc4f4 100644 GIT binary patch delta 584 zcmV-O0=NB^1J(qP8Gix*000A=FFF7K02y>eSaefwW^{L9a%BK_cXuvnZfkR6VQ^(G zZ*pgw?mQX*00H<(L_t(|0qvJdj{!jt#|JGN5g`%>7m15Va6rVH59A~GT&@n{9VFr) zaX~gj99;zQsGYIsYHKDlJ!_Ml|6wv}YUWqnRbAc4`Fs}MA%F4~ssT2@{{p;RE)$7_ z-c*;%g~7F2O>ZhFolawLy-F~geMm6uKd4!j%jHt3M1hs;!Dvc;k~B}yH%_M$dL^IF zKmH_(#bP#_Dg3TNFgt~C$dX$09SkMFiz+>eB z?J{?+FLkYu+4_Uk`r_>LHF~flZm0oBf#vr8%vJ>#p~!KNvqGG3)|f1T_)ydeh8$vDceZ>oNbH^|*hJ*t?Yc*1`WB&W>VYVEzu) zq#7;;VjO)t*nbgf(!`OXJBr45rP>>AQr$6c7slJWvbpNW@KTwna6d?PP>hvXCcp=4 zF;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$g1U0oiU0rr diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png index 502f463a9bc882b461c96aadf492d1729e49e725..34f2ce4f83a5a2f79fce9da893e9cd31e8bb2eb6 100644 GIT binary patch delta 1119 zcmV-l1fcuM1nCHn8Gix*0004VW%>XB02y>eSaefwW^{L9a%BK_cXuvnZfkR6VQ^(G zZ*pgw?mQX*00aw3L_t(|0qvW~N;5$afJYdEAczNv2SreDfk*_Ghzl;L58zw)3|@R4 zUqM_j;&O1s1p6{jH8q6`@9pg=2t^H}qoauM{r!C=lTj0m0%EZkB7A&&tR@r%3=R&qx3?q0 zI?Y(Kv$GbuEPv@VV=XN$S^mP;*Vmt)pQ_@KOLKGc`1rWxFMNJ}t|}hs3=a>twzgXS z!WS18s^XCjEJ&>3CwzK(sw5Z{jE#-4hNtlJ^Yi25V^dR;|BX63J2y8sUB6QEtJUi2 z>c_{2|2Yr|*7g)WJUpa4 zk}YmQ5s$|yy)r*P&)c5DlpG6QmFekeVsJ7bCW6i&-Gw2AhHWrB+OXE;ABAT6=(NaUczT*XXuS= z+n$)1pnp7462vrNZf?%`(M1?WZ!(!gZv@F&OG^teI2llSI1~!;l!M_SOxzL%+r61g zCY?^Br$wVtaCRPX5hhN3JUb19ot+)ZX*|K=xCm2{2?s@C;$Kdf>wgskvkWDLcFpreVakjJ16Wwi6+@h{ zSP@I0M3`8_8W|aBYilD0S989;z9@MSFJcLl2osA~!7fO*x3{@m4n2(*u>?wliP>qe z!c_)YB23IqgUzwNzrPn37tzyJR#se(7lr9Xte&2pKZRIZ)_$q@@}e-kh*j~!>Vcwg zLw^*ps;4O25Jjx&DF_pbSn$rnBJB08j6!rc9KO1`Vr^J~BauipoAtj0g1o!CD^DsJ z1>u_fj6|6N{)%(TU@I{C6rqSEP!O)$AHJO<=<@QCa*2Q1TM(usYwCe9GC4WPKN5xg zH#T|U*VornDkbBEtP&W&U0q%LBSjceXn&!IC6E{1-`}r8TdVYaetCIGCX;BKFsBMd zEP=c*u?npo=XPg%dz;cLYd&PY z=p``8l^3xD?7DrQo!$HN^aOhw^pc^WA)ghPVaMa~YD1I5!omV?Q@Yo}R$zwR5LhV( zv9#z~#1gQ#wzet{N+!L%y}Z4#v9Z3sj$Yziw7syM_pMvHySr<3EAuY^x?_ZO#|Z0= l5!M|etUE?ncZ{&^`~z54VeY-1be#YI002ovPDHLkV1f(Y1|9$a delta 572 zcmV-C0>l032+9PI8Gi!+006nq0-pc?0H{z*R7L;)|5U~JDYo_jSDXF*|5nEMy6F5^ z$M}8I`uzU?*Yf=uXr;5|{0m;6_Wb|A>ik^D_|)+I$?g3CSDK^3+eX0mD!2CP`2NN0 z{dLg!a?km&%iyTt`yiax0acdp`~T(l{$a`ZF1YpsRg(cvjDG_-U$Er-fz#Bw>2W$eUI#iU z)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G!hkE!s;%oku3;IwG3U^2k zw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn_j%}l|2+O?a>_7qq7W zmx(qtA2nV^tZlLpy_#$U%ZNx5;$`0L&dZ!@e7rFXPGAOup%q`|03hpdtXsPP0000< KMNUMnLSTY@U^Q+4 diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index 0ec303439225b78712f49115768196d8d76f6790..df68766c29a109fce15fb3fa1ca71eee303e69f8 100644 GIT binary patch literal 1640 zcmbuA{X5eO7{-Sa9oZVm%Vy_jLPb;B5IP;&*2`9?BeLE!Y-^oOT5Ff0m6DNEWD?4% zsd=dpYlhP(>!jrCEiZMnqxiaP+M;5!Iy(PC*Y$ax`-kU#?q6>~__mEuYlJlf0)cMc zgx@}=yzevLd~VlSmY$sxXAU8nvxA+$ITo7~4>@-17>2=O9-+o2#$(t?v}+T=2nfW| zdNV%c51yH}m=tCp+n>|_>W8qYdW=-^7o>?oMXkm+PQq05u>UGO72G?F`cSxR?<1#6 zctS*!Q(V@E=>u>^>68^}FsWp5Hw;yh*R_Tw?wOvMVYue0reC3!E#8Fn{6XM=G`d1A zmxFr%{|qoKElu=g!%%<=3_oQsBm)W&`!&lSJuv>sq0!4AE-xq5fr$aLI^7LCn?t5h zt{nmf2M4!s2&w|Ihp^3^GBq+Hwrd1dTUc0Fx{mh^4Mp8plPoSPQ@KWQT;aTvC!@sc z>*v`vDiq~p8i%xXYj)Qd_UYor`g#fZB&V&TBmCppU;yipNAhJk#R-}k8g3!?#wj_U zK7aPu*9K2HaiU_*m(_Ey^4`6$ru-!ajfQ;nE12Kj-rmi07WrT>_Tc%FSho+|<0lBJ z15$+|DBf_B0tb*tJ zxa)T(6za)<1nn0F?XTRUuzKeTs$lK#G8B{#sw(%hHILDFCqLHsH~#ak%gQi9}{izlM9f zmB;{ePbpo8Tf(D>Uayy}EOft22rk)~fk&$o3$iEpbr~Qp7o8y29I;~lG?w-4(d{rRn^rzi5cFY}7l zrp+C30eST3(c0SDXbLX;wN0P^O`Fo`R`rHMA0JrlfhfN)@|0ea3H!<1$H(W9(y94U zQ+i*2|0!mN$z~*VGPsL5LjzLQPE?B#EffFdDrl-2F-&zLUXe01ZTuA=>e?1Lv`K0K@pkW zG2?FR_a55Egq8&x6$*tk{oq@@UOzMA%=D5=Lh;zPJ~oSWKRmMVc0~F+iM1`D8MS!T zfI|ho<&Px>tnl(W^1%&_XmTwei^XD(ib_QI)U%~%L`lM{DbZ3Qlj+43k;B4B6S>O+ zU0_yeA>JH%@>LX-#o8uc_|pExzm_gHaO<>{*sCISC!I=lBMmH=$YK3$zo*(PhLI}3 zyxYmnM9OE}>*JUmF4OJ^Om_7+jYJ}q1bx$LS2$!5crCY7!%A^(LPCOrgTu%ENg-HU zi+j62=~PXj$n|;1u0W%~AmI>=ZUdu}cR%;uL8EOB>-gb2AI;iAeNJ~eG-vsF$5dMu zx95N@EgLjEL^Df9sq8(UEtARm%AhdV$X}B=;N;|yxl<^|WWO7QLL%EvjD&d>2E8ohC~bQhA`)=%^i6YE3P9rfkPsan!(jH_jGhzl-f4M@0i%# zDFZ7jSN;OrUCbaZYjJo^$ z{nGILmD~Da$@upC{`C6(Ey4dPw)Pyc^>5DkHoEo!QcuK-Jwl-l}t(fQKv z{dds$V#@dygS`PvhX6is7Z+@*x-d;$ zb=6f@U3Jw}_s+W3%*+b9H_vS)-R#9?zrXogeLVI2We2RFTTAL}&3C8PS~<5D&v@UI z+`s*$wqQ=yd$laNUY-|ovcS9~n_90tFUdl#qq0tEUXle|k{Op|DHpSrbxEeZ5~$>o%>OSe z^=41qvh3LlC2xXzu+-2eQoqs1^L>7ylB$bCP);(%(xYZL1 cY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f=bTH4*&oF diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd5d0147b004e364db9700ac5a94f212fc2d93d GIT binary patch literal 766 zcmV*+H@4Xn7Wi|hvm`elTQn92+#gZZwONvx1DZ;U`*=(^`R2bzbv)PPebvhk|QTV#Q zzelj%-`{7mnesG8g+d_&t6r}wkHS|l7(}qT-LCQ|M==b8Kg3q6r99119*^hd=0=FM zTrS_<-Yx>fDISk&NP}oJ8ff^( z_BXHB>xEcfUtg2Sgv^H2hldA>Sict536@wk6qeCwq=*Hxg~mC@5@IQ14U5I%^YfF8 zn@lE`%XKlV!C-*K!A1Gae!v2|nog%=C0<`&!$YKqCFVhaK!E@DfF;%)kWII+w%e`K z=_KRa3N6Gsr#q;qP$-;}_6rujJCxK97I^OK>nr*Y%jI&lTK(fS91ce^nS{a1%gcB? zCKF)IL23(DD3l45&*%Th1j=MG+#r|BtyU{Cfn3~vu*Ce0mbjUKW=EM|CnK1u1D4#U zLa)~gukCgl{S+LF+hd(zfnA}tOG{t}R;yJb(XJV}&pF|6m>Y=gngou;iIMxT8jVIZ z`@%xEC$PstcTJ3}hgFtkxh@kcEdCzr1glc1$cLrV>1;L|44$5zMxzm#0JDXDk+IwD w@?jli+UxxM|LSkIi%Z3lA{9%DR4gg_2B~Y^K=)>2Qvd(}07*qoM6N<$f{t!)XaE2J literal 0 HcmV?d00001 diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..753e2a5416d47f3a6012cf3169c340208a927b37 GIT binary patch literal 1235 zcmeAS@N?(olHy`uVBq!ia0vp^DImgcyqV(DCY@`?%SV}!z978G?-_G&&e(fO9=FX8+svIYv!|M9_Tv>R2MCrq0 zOQWan`qKV`{mxJMJDgni9J;5sF4FcEJjl(FduQe9Z%^iU%u@6HwD(z&+S~7IZdphk zcYi)te{#suu+^MxZJ+kD3#dnkF`Q;fh-A>=Zb)U^pu;eY^}r?u+=2`#D_2=rT1wsv zc)~uRw6aq2p2ZXO$tO4HXw6u2`SRrtZA$hHYrcQ~p0rWoRfdZC^wWW*}uQ6D{|`3ofP@NdmQGY-TYsH8i|<{d&6P4ZTe@V!T$3CnxSR? zDYPZyLe>HorHfy@&!#%=J-vsIYfnajro`+MS)UIurEHBzu(h>a*vNV!YvTc@=LzNI z+fOg;2n`ER?NqsQ=Z?eMyWDQ8bxPh&u-P!_=UK*l22IW@ca@@E}8Fxno$jC~xCsh1Ey%RpY-@IwKKDD~KT3TBA%jK;fzTSDi=Co7(YQe@j#<~r6qOGi~n)aEddau*d zzBYg1g;VeD-HZDySh8``{h+O%m0yd`whKz!xnOmOR^7bAMUULW?#yrXS$_H1cDwl? zu2|JUP3dX-b>^Q>v|RXSUHQ!oYfh`Ht6z9|tgOV%dY)ti_rH)2S1fJiuHW4)Oe(K+OCt2 zpMRm;f>^cG@^bN4v06g^4did$yVq7_U?=D9IPuR%wzopr02kRes{jB1 literal 0 HcmV?d00001 diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..5a56758372c95e5b240ff1e52e6b9853c8ddff5f GIT binary patch literal 646 zcmV;10(t$3P)zg@hl6ArKDk_u?W$X-h?DDNGLfvp2bVP*4!=gOI8?-3v-B)0V!G-U zD&pkIDQm4(Ycv`nY`WcUtJPvok+LGMxt2<$SS;q3-#yFa5}G2RqDNOwS%bkK>5T|D zH`BQ&?aB!?olb{BAz#cWR;$%+x5H0-<}8>i=kqz|_|AAdhD4pRB2T$0DZqU|zg%@L zE23O=E-Rv3buKG%pR4k+qI*|WWpy9WkE^P(?)Q6W7R*&uS)nPatjJ}qI+PVTuByuV zdBx?yH&-QP^~%jvNm;$}JlC%))QkW5N2J|uS1J`esMqVz&n0-O*=#ag=kvMO4HopI zaf8!-91!$A%x}oWRpt&mkw`?NQ9M|$*T>@#I*eJoi>u7dU?!6x1J25tOeU$7l^{FU zVzEdDe^}0~*=)wS7rx`%-05`s^cV_jFc^q%ViJi&;_)~hY&M(ib_*Q_<~ke>MX5cI z&*#a2(>kcE7z^+B%jL2VwFj!zDjA$kC+MPuLIFD6!Yi{7FD@Tfyq@(I|7~c9aTSAc g6@zgVgK-tZH|*>44e{~<)&Kwi07*qoM6N<$g5L}%P5=M^ literal 0 HcmV?d00001 diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ab01ae77bfc0919ec1329cf77f4958667668b209 GIT binary patch literal 1406 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 diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png index e9f5fea27c705180eb716271f41b582e76dcbd90..25c1399761016acd5e56e3b13720bbb24fbf34dd 100644 GIT binary patch literal 2189 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 SUh+;XpPiKx`niSwy?+4Q0A$Jl literal 0 HcmV?d00001 diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png index 84ac32ae7d989f82d5e46a60405adcc8279e8001..eb76e9f970b194fefff69efc7f9b7d828fe41ede 100644 GIT binary patch delta 1084 zcmV-C1jGCK1;z-F8Gix*002n!#(V$(02y>eSaefwW^{L9a%BK_cXuvnZfkR6VQ^(G zZ*pgw?mQX*00ZbrL_t(|0qvT}N;5$afJd0SD+r<@f{KWWyJ8gdppc_4@`Lyg;tP22 zAp}nz)VM3|+d&jG=)sc69k?N}^k>5d(A z0xB?)x?m)A!AR9JUKZ@&rB8<7Z;&WC@(M1 zJFK;})fps}+}zwmZ^qVxVj__UYFJuYT2oWwjKz}CXn*wj`Wn4iP?EE=vuMoF&=4Do zC6|_#&{>L#it6g>=$Xml?d@%Qdm9bw>+54tn5#LB&COhVq$P`FxC8|kj9QEkfanx24rzXqK^-2HwF*6Cad9#KiCdD=L&5{e zZ_p}9uS9W6QhLa$s;ZKb5_)D5+1lDdW1Jq6$1O=YXWQD^=xIp=PRNIc2k(N8^^iPn z$<@_W^kzYo0SgNYXvxZYNS;5EP_j~b$e_MSN`D!UxK=HfB;|caVPRn)JtUkQl=KqU zs^yZTtkt0QRWSVg{6xcqXWJjiZ0;c`x$!+D&#&ao&CS)-6}{b74D5FG_4VE{Wo2c; z&wnN7=jTzw{QUgJ#>Q0hlY*ZW^eY*OM9}D<+AE*LC9}MT^hsRu z@PE?R*H_v}2p^Nt(NXq#Wqf@6^77JqlHuXuk&zMMrMM)eCIl827b#&Cd)_xBP~lLx;~La~X)3)?Fmdu?saZ&I>h zNkbi$b`Qy8Q+^>*37nA7mpkLb!$V3PhSu&j<;|5!+S}XNn6k>?cog=KJa#l1^);DR z=J@x6|9Q;+yXu0G)CD7{3r12GjHE6YNnJ3Ky6_*r5o0=le1azc0000Jz(8Gi!+008hwp&0-G0NzkcR7L;)|5U~J{Qmz~#`r0=_5oL$`~Cib z)cN`S|M>g;Ps8|O$@u8^{Z_{KM!@$5TAfS6_e#O{MZfpz`2O`0$7~@NRr(1{THzH08y3x{{PYM{eL;T_A9^tcF_4Sxb`8l z_9V3RD6;a(-0A^Pjsi!1?)d#Ap4Tk3^CP0(07;VpJ7@tgQ}z4)*zx@&yZwC9`DV-b z0ZobH_5IB4{KxD3;p_6%|f=bdFhu+F!zMZ2UFj;GUKX7tI;hv3{q~!*pMj75WP_c}> z6)IWvg5_yyg<9Op()eD1hWC19M@?_9_MHec{Z8n3FMs~w_u?Av_yNBmRxVYrpi(M% zFMP21g+hmocQp3ay*Su=qM6He)*HaaTg$E^sym`(t%s3A)x!M+vfjXUBEpK6X9%iU zU!u9jj3(-$dM~sJ%Liy#?|+!6IY#MTau#O6vVj`yh_7%Ni!?!VS+MPTO(_fG+1<#p zqu;A#i+_(N%CmVnYvb>#nA{>Q%3E`Ds7<~jZMywn@h2t>G-LrYy7?Dj{aZqhQd6tzX%(Trn+ z)HNF}%-F{rr=m*0{=a;s#YDL00000NkvXXu0mjf69bs> diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png index 8953cba09064923c5daf2d37e7c3c836ccdd794b..96f5722aec5c6f5bee8d33ef8dac69de29b476f5 100644 GIT binary patch literal 2081 zcmbtVdpy%^8($+!uj54MVYa5lSf(h4XtpsvVKkwk3=gAPF{dbb}~JpU=PV`^SA>_jP~n>$*PI_qspdZz|czPX4gwVGsx; zZ%-n)0`}=&>kt^&vkUkUfYD$QJ(!mmzcM3zLjypOk&zhs&5$rZ-&+9~MrdH}x}_!v z1bJsqz)_+Oh`3Z|74IWSoponV_yi5-bd6b%zbcu45jo{YgDoY;AGN)kiH`$I+rJ@H z;Rf~95`NFWc}UyFq(bJ@px9Kd!ial5xpgL`VexMDWPCMd&uHj;$msN?ua^DriL%;h zStYq6deRS%fQg6W5s4Q#HU%U&xkTxt>!JVo8l+@qVq#)sbPbj~4xG)+&5ey|uw?Z) z0p`Md0z`2wLFw4u-rjYhsb<<)#`J}Hcn63u8f-$+Z%^v$bE0ybc~*%fHjg$fHwFsv zO$ZbU1)oszb0~GCQgf@i+-rPrKuDfhSVx`Z&+^Na*7tsZ7VvV*8yk@Z#Me=q;3sm} zrMHRyNH6WGtHY9w+u1)QyAs701gks$ImD5}mX(!t#$CgNGMPt!mw~(MQ-4Z@aWY`m zGP?NQ<@NO)*i+W4m|e_C4O+^oAZB-c8+PpB^)s3<>wE2`go|H0E3J|cyz?O1bNQYu zVqo<3_(_NY%<7l%%q#P&V>R%KGpq;V18&^uIzPLZn3!vR!JK}cb+Z4Efp7^z=`5TP zD(i5&#A0#H)i#@Yx)15SEFO<9ColE$7*kK3khT2cXu1UoB(ZhQJ2xo6a)DZ%v$M1D zQV^ZOdT=m|Z1HBaib~~|siX#P{1GA2L^@qAA6s3a${PF2Qx(x!xYq5IF%JMLUag#Oi>JhRVy)bx# zy>B|<){gqnaH|%k0cp->{+mTn1KNI-nwOt%o8{rxskVu5`KB{MCo6<3l#}b^ zRROi*pLxcc+d?gd&-N&UCE?#Y}i`V>O^C zbU`)Jf?mBxCx&X5V26f=%E?v0D1wMZcPs#Q(7A2go~#Jdx$QOPIIU5vn!3mD0UAv} z*ZByTdg4>btUMl%$L0RCa3>_XR8Yv--oVGq|B?NU2o70@Zuv6U(mNA3bBj|xoqo0L z-a=Koz~=#rU}qAeF?n?IKoWPm?cfb7#I{Jy)eszG^a}w`+9o| zoGeXmOfr}HxG!s5rM$aZ$`B*GS0Q871C^mX>o{Aj-aUzge?$1s6tB|C=5*O~?DXDL6FyIZ2$i&l+^9}YGxAM;lB ztQi}jDfuUEm zltu23^@mr(Nv6LIei$KYT`>eGJP}Zt3A=98o9(GJZ1bv_7*hCuE8pMc^TGasKh_vC U(t4tJK=VQNL?=SE&9&eD3-gl3RR910 delta 1217 zcmV;y1U~zr5XuRV8Gi!+001u>&=UXv0SHh`R7L;)|5U~JDYo_jSDRDC`1<|-SjPDL z{{Q{{{{H{}09Kk-#rR9Y_viNgVafPO!S|ls`uzR=MZfp^{QU=8od8La1X`Tr_Wmff z_5e$ivgQ1@=KMy$_g9a+`TPAle6cOJ_Fc#L7qIpvwDkd1mw$fK`6IOUD75rX!}mad zv(fMTE4=(Nx%L54lL1hVF1YpqNrC`FddBPg#_Ietx%Lrkq5wX00X1L{S%Cm9QY*av z#_Rh5PKy9KYTWbvz3BX9%J>0Hi1+#X{rLA{m%$Kamk?i!03AC38#Yrxs)5QTeTVRiEmz~MKK1WAjCw(c-JK6eox;2O)?`?TG`AHia671e^vgmp!llK zp|=5sVHk#C7=~epA~VAf-~%aPC=%Qw01h8mnSZ|p?tc*y?iZ$PR7_ceEIapF3KB14K0Pog?7wtd+^xgUCa_GVmlD z<^nU>AU_Yn-JU?NFdu|wf^bTCNf-wSBYVZltDdvGBln-YrbeGvJ!|s{#`gjN@yAMb zM6cjFz0eFECCsc|_8hTa3*9-JQGehksdoVP^K4m?&wpA~+|b%{EP5D-+7h)6CE; z*{>BP=GRR3Ea}xyV*bqry{l^J=0#DaC4ej;1qs8_by?H6Tr@7hl>UKNZt)^B&yl;)&oqzLg zcfZxpE?3k%_iTOVywh%`XVN-E#COl+($9{v(pqSQcrz=)>G!!3HeNxbXGM@})1|9g zG4*@(OBaMvY0P0_TfMFPh fVHk#CZX3S=^^2mI>Ux-D00000NkvXXu0mjfal(U} diff --git a/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/qb-mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png index 0467bf12aa4d28f374bb26596605a46dcbb3e7c8..09052eb605a1621d266559681de80a3d6a3e02ca 100644 GIT binary patch literal 1856 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 QW&i*H07*qoM6N<$f=y%11poj5 diff --git a/qb-mobile/lib/documents_provider.dart b/qb-mobile/lib/documents_provider.dart index 8763520..d287324 100644 --- a/qb-mobile/lib/documents_provider.dart +++ b/qb-mobile/lib/documents_provider.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_background_service/flutter_background_service.dart'; @pragma('vm:entry-point') -void onCreate() { +void init() { WidgetsFlutterBinding.ensureInitialized(); DartPluginRegistrant.ensureInitialized(); diff --git a/qb-mobile/lib/service.dart b/qb-mobile/lib/service.dart index 3fd3965..e38ad44 100644 --- a/qb-mobile/lib/service.dart +++ b/qb-mobile/lib/service.dart @@ -59,6 +59,7 @@ void onStart(ServiceInstance service) async { initLog().listen((msg) => print(utf8.decode(msg))); final dir = await getApplicationDocumentsDirectory(); + print("directory: $dir"); final daemon = await DaemonWrapper.init(path: dir.path); service.on("stop").listen((event) { diff --git a/qb-mobile/pubspec.lock b/qb-mobile/pubspec.lock index 60b0c75..63cb397 100644 --- a/qb-mobile/pubspec.lock +++ b/qb-mobile/pubspec.lock @@ -1,6 +1,14 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + archive: + dependency: transitive + description: + name: archive + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d + url: "https://pub.dev" + source: hosted + version: "3.6.1" args: dependency: transitive description: @@ -41,6 +49,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + cli_util: + dependency: transitive + description: + name: cli_util + sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 + url: "https://pub.dev" + source: hosted + version: "0.4.1" clock: dependency: transitive description: @@ -57,6 +81,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" + crypto: + dependency: transitive + description: + name: crypto + sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27 + url: "https://pub.dev" + source: hosted + version: "3.0.5" cupertino_icons: dependency: "direct main" description: @@ -147,6 +179,14 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_launcher_icons: + dependency: "direct dev" + description: + name: flutter_launcher_icons + sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" + url: "https://pub.dev" + source: hosted + version: "0.13.1" flutter_lints: dependency: "direct dev" description: @@ -178,11 +218,27 @@ packages: description: flutter source: sdk version: "0.0.0" + image: + dependency: transitive + description: + name: image + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" + url: "https://pub.dev" + source: hosted + version: "4.2.0" integration_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" leak_tracker: dependency: transitive description: @@ -295,6 +351,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.0" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + url: "https://pub.dev" + source: hosted + version: "6.0.2" platform: dependency: transitive description: @@ -387,6 +451,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.7.2" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" vector_math: dependency: transitive description: @@ -443,6 +515,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.4" + xml: + dependency: transitive + description: + name: xml + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + url: "https://pub.dev" + source: hosted + version: "6.5.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" sdks: dart: ">=3.5.0 <4.0.0" flutter: ">=3.22.0" diff --git a/qb-mobile/pubspec.yaml b/qb-mobile/pubspec.yaml index ed3912d..b5321eb 100644 --- a/qb-mobile/pubspec.yaml +++ b/qb-mobile/pubspec.yaml @@ -56,9 +56,20 @@ dev_dependencies: integration_test: sdk: flutter + flutter_launcher_icons: "^0.13.1" + # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec +flutter_launcher_icons: + android: true + ios: true + image_path: "../brand/logo.png" + min_sdk_android: 22 + remove_alpha_ios: true + adaptive_icon_foreground: "../brand/logo_android.svg" + adaptive_icon_background: "#ffffff" + # The following section is specific to Flutter packages. flutter: # The following line ensures that the Material Icons font is