Jelajahi Sumber

[FEAT] Pinning and Tags (#1541)

## Description

Add pinning to auth

## Tests
Neeraj Gupta 1 tahun lalu
induk
melakukan
bc004a41d5
100 mengubah file dengan 157 tambahan dan 133 penghapusan
  1. 59 13
      .github/workflows/auth-release.yml
  2. 3 0
      .gitignore
  3. 21 20
      auth/android/app/build.gradle
  4. 3 3
      auth/android/app/src/debug/AndroidManifest.xml
  5. 1 2
      auth/android/app/src/main/AndroidManifest.xml
  6. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-hdpi/android12splash.png
  7. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png
  8. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png
  9. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-hdpi/splash.png
  10. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-mdpi/android12splash.png
  11. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png
  12. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png
  13. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-mdpi/splash.png
  14. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-hdpi/android12splash.png
  15. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-hdpi/splash.png
  16. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-mdpi/android12splash.png
  17. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-mdpi/splash.png
  18. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-v21/background.png
  19. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-xhdpi/android12splash.png
  20. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-xhdpi/splash.png
  21. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png
  22. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-xxhdpi/splash.png
  23. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png
  24. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night-xxxhdpi/splash.png
  25. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-night/background.png
  26. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-v21/background.png
  27. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xhdpi/android12splash.png
  28. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png
  29. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png
  30. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xhdpi/splash.png
  31. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xxhdpi/android12splash.png
  32. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png
  33. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png
  34. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xxhdpi/splash.png
  35. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xxxhdpi/android12splash.png
  36. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png
  37. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png
  38. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable-xxxhdpi/splash.png
  39. TEMPAT SAMPAH
      auth/android/app/src/main/res/drawable/background.png
  40. 1 2
      auth/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml
  41. TEMPAT SAMPAH
      auth/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  42. TEMPAT SAMPAH
      auth/android/app/src/main/res/mipmap-hdpi/launcher_icon.png
  43. TEMPAT SAMPAH
      auth/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  44. TEMPAT SAMPAH
      auth/android/app/src/main/res/mipmap-mdpi/launcher_icon.png
  45. TEMPAT SAMPAH
      auth/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  46. TEMPAT SAMPAH
      auth/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png
  47. TEMPAT SAMPAH
      auth/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  48. TEMPAT SAMPAH
      auth/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png
  49. TEMPAT SAMPAH
      auth/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  50. TEMPAT SAMPAH
      auth/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png
  51. 4 1
      auth/android/app/src/main/res/values-night-v31/styles.xml
  52. 1 0
      auth/android/app/src/main/res/values-night/styles.xml
  53. 3 0
      auth/android/app/src/main/res/values-v31/styles.xml
  54. 3 3
      auth/android/app/src/profile/AndroidManifest.xml
  55. 2 13
      auth/android/build.gradle
  56. 1 1
      auth/android/gradle.properties
  57. 1 2
      auth/android/gradle/wrapper/gradle-wrapper.properties
  58. 23 8
      auth/android/settings.gradle
  59. TEMPAT SAMPAH
      auth/assets/generation-icons/icon-light-adaptive-bg.png
  60. TEMPAT SAMPAH
      auth/assets/generation-icons/icon-light-adaptive-fg.png
  61. TEMPAT SAMPAH
      auth/assets/generation-icons/icon-light.png
  62. TEMPAT SAMPAH
      auth/assets/splash-screen-dark.png
  63. TEMPAT SAMPAH
      auth/assets/splash-screen-light.png
  64. TEMPAT SAMPAH
      auth/assets/splash/splash-icon-fg-12.png
  65. TEMPAT SAMPAH
      auth/assets/splash/splash-icon-fg.png
  66. 11 0
      auth/assets/svg/button-tint.svg
  67. 4 0
      auth/assets/svg/pin-active.svg
  68. 11 0
      auth/assets/svg/pin-card.svg
  69. 3 0
      auth/assets/svg/pin-inactive.svg
  70. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
  71. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
  72. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
  73. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
  74. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
  75. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
  76. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
  77. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
  78. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
  79. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
  80. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png
  81. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png
  82. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
  83. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
  84. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
  85. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
  86. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
  87. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
  88. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
  89. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
  90. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
  91. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png
  92. 2 32
      auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json
  93. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png
  94. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png
  95. 0 33
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
  96. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
  97. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
  98. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
  99. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png
  100. TEMPAT SAMPAH
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@2x.png

+ 59 - 13
.github/workflows/auth-release.yml

@@ -85,30 +85,21 @@ jobs:
             - name: Install dependencies for desktop build
               run: |
                   sudo apt-get update -y
-                  sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate appindicator3-0.1 libappindicator3-dev libffi-dev libtiff5
+                  sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config libsqlite3-dev locate appindicator3-0.1 libappindicator3-dev libffi-dev libtiff5
                   sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
 
-            - name: Install appimagetool
-              run: |
-                  wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
-                  chmod +x appimagetool
-                  mv appimagetool /usr/local/bin/
-
             - name: Build desktop app
               run: |
                   flutter config --enable-linux-desktop
                   dart pub global activate flutter_distributor
                   flutter_distributor package --platform=linux --targets=deb --skip-clean
-                  flutter_distributor package --platform=linux --targets=rpm --skip-clean
-                  flutter_distributor package --platform=linux --targets=appimage --skip-clean
                   mv dist/**/*-*-linux.deb artifacts/ente-${{ github.ref_name }}-x86_64.deb
-                  mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
-                  mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
               env:
                   LIBSODIUM_USE_PKGCONFIG: 1
 
-            - name: Generate checksums
-              run: sha256sum artifacts/ente-* > artifacts/sha256sum
+            - name: Generate checksums and push to artifacts
+              run: |
+                sha256sum artifacts/ente-* > artifacts/sha256sum-apk-deb
 
             - name: Create a draft GitHub release
               uses: ncipollo/release-action@v1
@@ -128,6 +119,61 @@ jobs:
                   releaseFiles: auth/build/app/outputs/bundle/playstoreRelease/app-playstore-release.aab
                   track: internal
 
+    build-fedora-etc:
+      runs-on: ubuntu-latest
+
+      defaults:
+        run:
+          working-directory: auth
+
+      steps:
+        - name: Checkout code and submodules
+          uses: actions/checkout@v4
+          with:
+            submodules: recursive
+
+        - name: Install Flutter ${{ env.FLUTTER_VERSION  }}
+          uses: subosito/flutter-action@v2
+          with:
+            channel: "stable"
+            flutter-version: ${{ env.FLUTTER_VERSION  }}
+            cache: true
+
+        - name: Create artifacts directory
+          run: mkdir artifacts
+
+        - name: Install dependencies for desktop build
+          run: |
+            sudo apt-get update -y
+            sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate libayatana-appindicator3-dev libffi-dev libtiff5
+            sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
+
+        - name: Install appimagetool
+          run: |
+            wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
+            chmod +x appimagetool
+            mv appimagetool /usr/local/bin/
+
+        - name: Build desktop app
+          run: |
+            flutter config --enable-linux-desktop
+            dart pub global activate flutter_distributor
+            flutter_distributor package --platform=linux --targets=rpm --skip-clean
+            flutter_distributor package --platform=linux --targets=appimage --skip-clean
+            mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
+            mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
+
+        - name: Generate checksums
+          run: sha256sum artifacts/ente-* >> artifacts/sha256sum-rpm-appimage
+
+        - name: Create a draft GitHub release
+          uses: ncipollo/release-action@v1
+          with:
+            artifacts: "auth/artifacts/*"
+            draft: true
+            allowUpdates: true
+            updateOnlyUnreleased: true
+
     build-windows:
         runs-on: windows-latest
 

+ 3 - 0
.gitignore

@@ -3,3 +3,6 @@
 
 # macOS
 .DS_Store
+.idea
+.ente.authenticator.db
+.ente.offline_authenticator.db

+ 21 - 20
auth/android/app/build.gradle

@@ -1,3 +1,9 @@
+plugins {
+    id "com.android.application"
+    id "kotlin-android"
+    id "dev.flutter.flutter-gradle-plugin"
+}
+
 def localProperties = new Properties()
 def localPropertiesFile = rootProject.file('local.properties')
 if (localPropertiesFile.exists()) {
@@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) {
     }
 }
 
-def flutterRoot = localProperties.getProperty('flutter.sdk')
-if (flutterRoot == null) {
-    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
-}
-
 def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
 if (flutterVersionCode == null) {
     flutterVersionCode = '1'
@@ -21,10 +22,6 @@ if (flutterVersionName == null) {
     flutterVersionName = '1.0'
 }
 
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-
 def keystoreProperties = new Properties()
 def keystorePropertiesFile = rootProject.file('key.properties')
 if (keystorePropertiesFile.exists()) {
@@ -32,7 +29,18 @@ if (keystorePropertiesFile.exists()) {
 }
 
 android {
-    compileSdkVersion 34
+    namespace "io.ente.auth"
+    compileSdk 34
+    ndkVersion flutter.ndkVersion
+
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+
+    kotlinOptions {
+        jvmTarget = '1.8'
+    }
 
     sourceSets {
         main.java.srcDirs += 'src/main/kotlin'
@@ -46,6 +54,8 @@ android {
 
     defaultConfig {
         applicationId "io.ente.auth"
+        // You can update the following values to match your application needs.
+        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
         minSdkVersion 21
         targetSdkVersion 33
         versionCode flutterVersionCode.toInteger()
@@ -105,13 +115,4 @@ flutter {
     source '../..'
 }
 
-dependencies {
-    implementation 'io.sentry:sentry-android:2.0.0'
-    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-    implementation 'com.android.support:multidex:1.0.3'
-    implementation 'com.google.guava:guava:28.2-android'
-    implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'
-    testImplementation 'junit:junit:4.12'
-    androidTestImplementation 'androidx.test:runner:1.1.1'
-    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
-}
+dependencies {}

+ 3 - 3
auth/android/app/src/debug/AndroidManifest.xml

@@ -1,6 +1,6 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="io.ente.auth">
-    <!-- Flutter needs it to communicate with the running application
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- The INTERNET permission is required for development. Specifically,
+         the Flutter tool needs it to communicate with the running application
          to allow setting breakpoints, to provide hot reload, etc.
     -->
     <uses-permission android:name="android.permission.INTERNET"/>

+ 1 - 2
auth/android/app/src/main/AndroidManifest.xml

@@ -1,6 +1,5 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          xmlns:tools="http://schemas.android.com/tools"
-          package="io.ente.auth">
+          xmlns:tools="http://schemas.android.com/tools">
     <application android:name="${applicationName}"
                  android:label="auth"
                  android:icon="@mipmap/launcher_icon"

TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-hdpi/android12splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-hdpi/splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-mdpi/android12splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-mdpi/splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-hdpi/android12splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-hdpi/splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-mdpi/android12splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-mdpi/splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-v21/background.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-xhdpi/android12splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-xhdpi/splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-xxhdpi/splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night-xxxhdpi/splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-night/background.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-v21/background.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xhdpi/android12splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xhdpi/splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xxhdpi/android12splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xxhdpi/splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xxxhdpi/android12splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable-xxxhdpi/splash.png


TEMPAT SAMPAH
auth/android/app/src/main/res/drawable/background.png


+ 1 - 2
auth/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-  <background android:drawable="@color/ic_launcher_background"/>
+  <background android:drawable="@drawable/ic_launcher_background"/>
   <foreground android:drawable="@drawable/ic_launcher_foreground"/>
-  <monochrome android:drawable="@drawable/ic_launcher_foreground"/>
 </adaptive-icon>

TEMPAT SAMPAH
auth/android/app/src/main/res/mipmap-hdpi/ic_launcher.png


TEMPAT SAMPAH
auth/android/app/src/main/res/mipmap-hdpi/launcher_icon.png


TEMPAT SAMPAH
auth/android/app/src/main/res/mipmap-mdpi/ic_launcher.png


TEMPAT SAMPAH
auth/android/app/src/main/res/mipmap-mdpi/launcher_icon.png


TEMPAT SAMPAH
auth/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png


TEMPAT SAMPAH
auth/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png


TEMPAT SAMPAH
auth/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png


TEMPAT SAMPAH
auth/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png


TEMPAT SAMPAH
auth/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png


TEMPAT SAMPAH
auth/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png


+ 4 - 1
auth/android/app/src/main/res/values-night-v31/styles.xml

@@ -4,7 +4,10 @@
     <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
         <item name="android:forceDarkAllowed">false</item>
         <item name="android:windowFullscreen">false</item>
+        <item name="android:windowDrawsSystemBarBackgrounds">false</item>
+        <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
         <item name="android:windowSplashScreenBackground">#000000</item>
+        <item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
     </style>
     <!-- Theme applied to the Android Window as soon as the process has started.
          This theme determines the color of the Android Window while your
@@ -15,4 +18,4 @@
     <style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
         <item name="android:windowBackground">?android:colorBackground</item>
     </style>
-</resources>
+</resources>

+ 1 - 0
auth/android/app/src/main/res/values-night/styles.xml

@@ -7,6 +7,7 @@
         <item name="android:windowBackground">@drawable/launch_background</item>
         <item name="android:forceDarkAllowed">false</item>
         <item name="android:windowFullscreen">false</item>
+        <item name="android:windowDrawsSystemBarBackgrounds">false</item>
         <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
     </style>
     <!-- Theme applied to the Android Window as soon as the process has started.

+ 3 - 0
auth/android/app/src/main/res/values-v31/styles.xml

@@ -4,7 +4,10 @@
     <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
         <item name="android:forceDarkAllowed">false</item>
         <item name="android:windowFullscreen">false</item>
+        <item name="android:windowDrawsSystemBarBackgrounds">false</item>
         <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
+        <item name="android:windowSplashScreenBackground">#FFFFFF</item>
+        <item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
     </style>
     <!-- Theme applied to the Android Window as soon as the process has started.
          This theme determines the color of the Android Window while your

+ 3 - 3
auth/android/app/src/profile/AndroidManifest.xml

@@ -1,6 +1,6 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="io.ente.auth">
-    <!-- Flutter needs it to communicate with the running application
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- The INTERNET permission is required for development. Specifically,
+         the Flutter tool needs it to communicate with the running application
          to allow setting breakpoints, to provide hot reload, etc.
     -->
     <uses-permission android:name="android.permission.INTERNET"/>

+ 2 - 13
auth/android/build.gradle

@@ -1,16 +1,3 @@
-buildscript {
-    ext.kotlin_version = '1.8.22'
-    repositories {
-        google()
-        mavenCentral()
-    }
-
-    dependencies {
-        classpath 'com.android.tools.build:gradle:7.1.2'
-        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
-    }
-}
-
 allprojects {
     repositories {
         google()
@@ -21,6 +8,8 @@ allprojects {
 rootProject.buildDir = '../build'
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
+}
+subprojects {
     project.evaluationDependsOn(':app')
 }
 

+ 1 - 1
auth/android/gradle.properties

@@ -1,3 +1,3 @@
-org.gradle.jvmargs=-Xmx1536M
+org.gradle.jvmargs=-Xmx4G
 android.useAndroidX=true
 android.enableJetifier=true

+ 1 - 2
auth/android/gradle/wrapper/gradle-wrapper.properties

@@ -1,6 +1,5 @@
-#Fri Jun 23 08:50:38 CEST 2017
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip

+ 23 - 8
auth/android/settings.gradle

@@ -1,11 +1,26 @@
-include ':app'
+pluginManagement {
+    def flutterSdkPath = {
+        def properties = new Properties()
+        file("local.properties").withInputStream { properties.load(it) }
+        def flutterSdkPath = properties.getProperty("flutter.sdk")
+        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+        return flutterSdkPath
+    }
+    settings.ext.flutterSdkPath = flutterSdkPath()
 
-def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
-def properties = new Properties()
+    includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
 
-assert localPropertiesFile.exists()
-localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+    repositories {
+        google()
+        mavenCentral()
+        gradlePluginPortal()
+    }
+}
 
-def flutterSdkPath = properties.getProperty("flutter.sdk")
-assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
-apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+plugins {
+    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
+    id "com.android.application" version "7.3.0" apply false
+    id "org.jetbrains.kotlin.android" version "1.8.22" apply false
+}
+
+include ":app"

TEMPAT SAMPAH
auth/assets/generation-icons/icon-light-adaptive-bg.png


TEMPAT SAMPAH
auth/assets/generation-icons/icon-light-adaptive-fg.png


TEMPAT SAMPAH
auth/assets/generation-icons/icon-light.png


TEMPAT SAMPAH
auth/assets/splash-screen-dark.png


TEMPAT SAMPAH
auth/assets/splash-screen-light.png


TEMPAT SAMPAH
auth/assets/splash/splash-icon-fg-12.png


TEMPAT SAMPAH
auth/assets/splash/splash-icon-fg.png


+ 11 - 0
auth/assets/svg/button-tint.svg

@@ -0,0 +1,11 @@
+<svg width="286" height="44" viewBox="0 0 286 44" fill="none" xmlns="http://www.w3.org/2000/svg">
+<rect width="286" height="44" fill="#531DAB"/>
+<rect width="286" height="44" fill="url(#paint0_linear_25656_80129)" style="mix-blend-mode:soft-light"/>
+<defs>
+<linearGradient id="paint0_linear_25656_80129" x1="286.174" y1="43.5575" x2="272.305" y2="-42.2227" gradientUnits="userSpaceOnUse">
+<stop offset="0.00134129" stop-color="#B37FEB"/>
+<stop offset="0.15" stop-color="#D2AEF5" stop-opacity="0"/>
+<stop offset="0.829143" stop-color="#EFDBFF"/>
+</linearGradient>
+</defs>
+</svg>

+ 4 - 0
auth/assets/svg/pin-active.svg

@@ -0,0 +1,4 @@
+<svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5.67969 9.13704L7.30255 10.7599L11.3597 14.817L12.1711 14.0056L12.9825 10.7599L14.6054 8.32561L17.0397 7.51418V6.70275L13.794 3.45703L12.1711 5.07989L9.73683 8.32561H7.30255L5.67969 9.13704Z" fill="black"/>
+<path d="M13.3183 1.71931L13.269 1.77093L13.2168 1.71985L13.2162 1.72046L13.1634 1.77327L13.1645 1.77432L12.7776 2.17734L12.7776 2.17732L12.7762 2.1788C12.1335 2.88609 11.8262 3.77724 11.7519 4.66728L9.32505 7.09411C7.81108 6.83615 6.18671 7.26627 5.01998 8.433L4.5818 8.87117L4.5289 8.92408L4.58307 8.97568L5.0206 9.39255L7.593 11.965L2.58519 16.9523L2.56369 16.9737V17.004V17.8603V17.9333H2.63672H3.49237H3.5227L3.54411 17.9118L8.53265 12.9046L11.0473 15.4205L11.4655 15.8569L11.5172 15.9108L11.5699 15.8579L12.0068 15.4199C12.0068 15.4198 12.0068 15.4198 12.0069 15.4198C13.2915 14.1363 13.6624 12.3762 13.2912 10.7902L15.4057 8.67503C16.4706 8.79297 17.5592 8.48109 18.3396 7.70071L18.3408 7.69952L18.7595 7.26135L18.8076 7.21094L18.7595 7.16049L18.3414 6.72231L18.3414 6.7223L18.3402 6.72109L13.7759 2.1568L13.7759 2.15679L13.7748 2.15565L13.3183 1.71931ZM14.9413 7.25429L14.9004 7.24301L14.8703 7.27306L14.6232 7.52014L14.6232 7.52015L12.0758 10.0682L12.0756 10.0684L11.8091 10.3361L11.7778 10.3675L11.7912 10.4097L11.9056 10.7706L11.906 10.7716C12.2473 11.7962 12.1016 12.9497 11.4516 13.9063L6.59236 9.04707C7.44951 8.48202 8.46219 8.23203 9.40643 8.47956L9.72799 8.5736L9.76941 8.58571L9.8 8.55527L10.0483 8.30819L10.0484 8.30806L12.8631 5.49281L12.8631 5.49281L13.0335 5.32241L13.0549 5.30102V5.27077V5.02248C13.0549 4.58263 13.2053 4.16125 13.4189 3.75595L16.7417 7.07936C16.2718 7.33067 15.7795 7.47262 15.2832 7.3484L14.9413 7.25429Z" fill="black" stroke="black" stroke-width="0.146057"/>
+</svg>

+ 11 - 0
auth/assets/svg/pin-card.svg

@@ -0,0 +1,11 @@
+<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g clip-path="url(#clip0_25342_9412)">
+<path d="M3 5.5L4 6.5L6.5 9L7 8.5L7.5 6.5L8.5 5L10 4.5L10 4L8 2L7 3L5.5 5L4 5L3 5.5Z" fill="#9610D6"/>
+<path d="M7.67655 0.960601L7.70697 0.928785L7.98822 1.19766L7.98895 1.19836L7.98894 1.19837L10.8014 4.01087L10.8022 4.01161L10.8022 4.01162L11.0598 4.28162L11.0895 4.31271L11.0598 4.34378L10.8018 4.61378L10.8011 4.61451C10.3202 5.09537 9.64942 5.28755 8.9932 5.21488L7.69023 6.51822C7.91896 7.49551 7.69045 8.58009 6.89886 9.37096L7.67655 0.960601ZM7.67655 0.960601L7.64442 0.929125L7.64405 0.9295L7.61152 0.962044L7.61219 0.962686L7.37379 1.21102L7.37377 1.21101L7.37295 1.21192C6.97691 1.64775 6.78753 2.19688 6.74173 2.74532M7.67655 0.960601L6.74173 2.74532M6.74173 2.74532L5.24633 4.24072C4.31342 4.08177 3.31249 4.34681 2.59355 5.06574L2.32356 5.33574L2.29096 5.36834L2.32433 5.40014L2.59394 5.65702L4.17904 7.24212L1.09325 10.3153L1.08 10.3285L1.08 10.3472L1.08 10.8748L1.08 10.9198L1.125 10.9198L1.65225 10.9198L1.67094 10.9198L1.68413 10.9066L4.75805 7.82114L6.30726 9.37107L6.30792 9.37175L6.56526 9.64032L6.59711 9.67356L6.62961 9.64096L6.8988 9.37102L6.74173 2.74532ZM8.70707 4.33943L8.68182 4.33248L8.6633 4.35099L8.51105 4.50324L8.51105 4.50325L6.9413 6.07337L6.94123 6.07344L6.77698 6.23844L6.75773 6.25778L6.76598 6.28379L6.83648 6.50616L6.83647 6.50616L6.83668 6.50679C7.047 7.13811 6.95722 7.84894 6.55667 8.43835L3.56245 5.44413C4.09062 5.09595 4.71463 4.94191 5.29647 5.09443L5.49462 5.15238L5.52014 5.15984L5.53899 5.14109L5.69199 4.98884L5.69207 4.98875L7.42644 3.25401L7.42645 3.254L7.53144 3.14901L7.54462 3.13583L7.54462 3.11719L7.54462 2.96419C7.54462 2.69316 7.63733 2.4335 7.76892 2.18376L9.81644 4.23163C9.52687 4.38649 9.22356 4.47396 8.91769 4.39741L8.70707 4.33943Z" fill="#9610D6" stroke="#9610D6" stroke-width="0.09"/>
+</g>
+<defs>
+<clipPath id="clip0_25342_9412">
+<rect width="12" height="12" fill="white"/>
+</clipPath>
+</defs>
+</svg>

+ 3 - 0
auth/assets/svg/pin-inactive.svg

@@ -0,0 +1,3 @@
+<svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M13.1853 2.04353L13.136 2.09515L13.0839 2.04407L13.0832 2.04468L13.0304 2.09748L13.0315 2.09854L12.6447 2.50148L12.6447 2.50146L12.6434 2.50294C12.0008 3.21009 11.6935 4.10106 11.6192 4.99092L9.19285 7.41726C7.67919 7.15935 6.05514 7.58939 4.88864 8.75589L4.45056 9.19397L4.39766 9.24686L4.45182 9.29846L4.88926 9.71525L7.46115 12.2871L2.45434 17.2735L2.43285 17.2949V17.3252V18.1813V18.2543H2.50586H3.36134H3.39166L3.41307 18.2328L8.40061 13.2266L10.9148 15.742L11.3329 16.1783L11.3845 16.2322L11.4373 16.1793L11.8741 15.7413C11.8741 15.7413 11.8741 15.7413 11.8741 15.7413C13.1585 14.4581 13.5293 12.6983 13.1582 11.1126L15.2723 8.99787C16.337 9.11579 17.4254 8.80396 18.2056 8.02374L18.2068 8.02256L18.6254 7.58447L18.6735 7.53407L18.6254 7.48363L18.2074 7.04554L18.2074 7.04553L18.2062 7.04432L13.6428 2.48094L13.6429 2.48093L13.6417 2.47979L13.1853 2.04353ZM14.808 7.57742L14.7671 7.56614L14.737 7.59618L14.49 7.84321L14.49 7.84322L11.943 10.3908L11.9429 10.3909L11.6764 10.6586L11.6452 10.69L11.6585 10.7322L11.7729 11.093L11.7729 11.093L11.7733 11.094C12.1145 12.1184 11.9688 13.2717 11.3189 14.2281L6.46071 9.36983C7.31768 8.8049 8.33015 8.55496 9.2742 8.80243L9.59571 8.89646L9.63712 8.90857L9.66771 8.87813L9.91596 8.6311L9.91609 8.63097L12.7302 5.81628L12.9005 5.64592L12.9219 5.62453V5.59429V5.34604C12.9219 4.90629 13.0723 4.48499 13.2858 4.07977L16.608 7.40252C16.1382 7.65378 15.6461 7.7957 15.1498 7.6715L14.808 7.57742Z" fill="black" stroke="black" stroke-width="0.146028"/>
+</svg>

TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png


+ 2 - 32
auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json

@@ -2,8 +2,7 @@
   "images" : [
     {
       "filename" : "background.png",
-      "idiom" : "universal",
-      "scale" : "1x"
+      "idiom" : "universal"
     },
     {
       "appearances" : [
@@ -13,36 +12,7 @@
         }
       ],
       "filename" : "darkbackground.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "idiom" : "universal",
-      "scale" : "3x"
+      "idiom" : "universal"
     }
   ],
   "info" : {

TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png


+ 0 - 33
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json

@@ -5,48 +5,15 @@
       "idiom" : "universal",
       "scale" : "1x"
     },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "filename" : "LaunchImageDark.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
     {
       "filename" : "LaunchImage@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "filename" : "LaunchImageDark@2x.png",
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
     {
       "filename" : "LaunchImage@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "filename" : "LaunchImageDark@3x.png",
-      "idiom" : "universal",
-      "scale" : "3x"
     }
   ],
   "info" : {

TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png


TEMPAT SAMPAH
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@2x.png


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini