瀏覽代碼

[FEAT] Pinning and Tags (#1541)

## Description

Add pinning to auth

## Tests
Neeraj Gupta 1 年之前
父節點
當前提交
bc004a41d5
共有 100 個文件被更改,包括 157 次插入133 次删除
  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. 二進制
      auth/android/app/src/main/res/drawable-hdpi/android12splash.png
  7. 二進制
      auth/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png
  8. 二進制
      auth/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png
  9. 二進制
      auth/android/app/src/main/res/drawable-hdpi/splash.png
  10. 二進制
      auth/android/app/src/main/res/drawable-mdpi/android12splash.png
  11. 二進制
      auth/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png
  12. 二進制
      auth/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png
  13. 二進制
      auth/android/app/src/main/res/drawable-mdpi/splash.png
  14. 二進制
      auth/android/app/src/main/res/drawable-night-hdpi/android12splash.png
  15. 二進制
      auth/android/app/src/main/res/drawable-night-hdpi/splash.png
  16. 二進制
      auth/android/app/src/main/res/drawable-night-mdpi/android12splash.png
  17. 二進制
      auth/android/app/src/main/res/drawable-night-mdpi/splash.png
  18. 二進制
      auth/android/app/src/main/res/drawable-night-v21/background.png
  19. 二進制
      auth/android/app/src/main/res/drawable-night-xhdpi/android12splash.png
  20. 二進制
      auth/android/app/src/main/res/drawable-night-xhdpi/splash.png
  21. 二進制
      auth/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png
  22. 二進制
      auth/android/app/src/main/res/drawable-night-xxhdpi/splash.png
  23. 二進制
      auth/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png
  24. 二進制
      auth/android/app/src/main/res/drawable-night-xxxhdpi/splash.png
  25. 二進制
      auth/android/app/src/main/res/drawable-night/background.png
  26. 二進制
      auth/android/app/src/main/res/drawable-v21/background.png
  27. 二進制
      auth/android/app/src/main/res/drawable-xhdpi/android12splash.png
  28. 二進制
      auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png
  29. 二進制
      auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png
  30. 二進制
      auth/android/app/src/main/res/drawable-xhdpi/splash.png
  31. 二進制
      auth/android/app/src/main/res/drawable-xxhdpi/android12splash.png
  32. 二進制
      auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png
  33. 二進制
      auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png
  34. 二進制
      auth/android/app/src/main/res/drawable-xxhdpi/splash.png
  35. 二進制
      auth/android/app/src/main/res/drawable-xxxhdpi/android12splash.png
  36. 二進制
      auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png
  37. 二進制
      auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png
  38. 二進制
      auth/android/app/src/main/res/drawable-xxxhdpi/splash.png
  39. 二進制
      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. 二進制
      auth/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  42. 二進制
      auth/android/app/src/main/res/mipmap-hdpi/launcher_icon.png
  43. 二進制
      auth/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  44. 二進制
      auth/android/app/src/main/res/mipmap-mdpi/launcher_icon.png
  45. 二進制
      auth/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  46. 二進制
      auth/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png
  47. 二進制
      auth/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  48. 二進制
      auth/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png
  49. 二進制
      auth/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  50. 二進制
      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. 二進制
      auth/assets/generation-icons/icon-light-adaptive-bg.png
  60. 二進制
      auth/assets/generation-icons/icon-light-adaptive-fg.png
  61. 二進制
      auth/assets/generation-icons/icon-light.png
  62. 二進制
      auth/assets/splash-screen-dark.png
  63. 二進制
      auth/assets/splash-screen-light.png
  64. 二進制
      auth/assets/splash/splash-icon-fg-12.png
  65. 二進制
      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. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
  71. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
  72. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
  73. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
  74. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
  75. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
  76. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
  77. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
  78. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
  79. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
  80. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png
  81. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png
  82. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
  83. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
  84. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
  85. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
  86. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
  87. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
  88. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
  89. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
  90. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
  91. 二進制
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png
  92. 2 32
      auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json
  93. 二進制
      auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png
  94. 二進制
      auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png
  95. 0 33
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
  96. 二進制
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
  97. 二進制
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
  98. 二進制
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
  99. 二進制
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png
  100. 二進制
      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"

二進制
auth/android/app/src/main/res/drawable-hdpi/android12splash.png


二進制
auth/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png


二進制
auth/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png


二進制
auth/android/app/src/main/res/drawable-hdpi/splash.png


二進制
auth/android/app/src/main/res/drawable-mdpi/android12splash.png


二進制
auth/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png


二進制
auth/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png


二進制
auth/android/app/src/main/res/drawable-mdpi/splash.png


二進制
auth/android/app/src/main/res/drawable-night-hdpi/android12splash.png


二進制
auth/android/app/src/main/res/drawable-night-hdpi/splash.png


二進制
auth/android/app/src/main/res/drawable-night-mdpi/android12splash.png


二進制
auth/android/app/src/main/res/drawable-night-mdpi/splash.png


二進制
auth/android/app/src/main/res/drawable-night-v21/background.png


二進制
auth/android/app/src/main/res/drawable-night-xhdpi/android12splash.png


二進制
auth/android/app/src/main/res/drawable-night-xhdpi/splash.png


二進制
auth/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png


二進制
auth/android/app/src/main/res/drawable-night-xxhdpi/splash.png


二進制
auth/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png


二進制
auth/android/app/src/main/res/drawable-night-xxxhdpi/splash.png


二進制
auth/android/app/src/main/res/drawable-night/background.png


二進制
auth/android/app/src/main/res/drawable-v21/background.png


二進制
auth/android/app/src/main/res/drawable-xhdpi/android12splash.png


二進制
auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png


二進制
auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png


二進制
auth/android/app/src/main/res/drawable-xhdpi/splash.png


二進制
auth/android/app/src/main/res/drawable-xxhdpi/android12splash.png


二進制
auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png


二進制
auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png


二進制
auth/android/app/src/main/res/drawable-xxhdpi/splash.png


二進制
auth/android/app/src/main/res/drawable-xxxhdpi/android12splash.png


二進制
auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png


二進制
auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png


二進制
auth/android/app/src/main/res/drawable-xxxhdpi/splash.png


二進制
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>

二進制
auth/android/app/src/main/res/mipmap-hdpi/ic_launcher.png


二進制
auth/android/app/src/main/res/mipmap-hdpi/launcher_icon.png


二進制
auth/android/app/src/main/res/mipmap-mdpi/ic_launcher.png


二進制
auth/android/app/src/main/res/mipmap-mdpi/launcher_icon.png


二進制
auth/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png


二進制
auth/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png


二進制
auth/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png


二進制
auth/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png


二進制
auth/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png


二進制
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"

二進制
auth/assets/generation-icons/icon-light-adaptive-bg.png


二進制
auth/assets/generation-icons/icon-light-adaptive-fg.png


二進制
auth/assets/generation-icons/icon-light.png


二進制
auth/assets/splash-screen-dark.png


二進制
auth/assets/splash-screen-light.png


二進制
auth/assets/splash/splash-icon-fg-12.png


二進制
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>

二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png


二進制
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png


二進制
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" : {

二進制
auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png


二進制
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" : {

二進制
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png


二進制
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png


二進制
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png


二進制
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png


二進制
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@2x.png


Some files were not shown because too many files changed in this diff