Procházet zdrojové kódy

[FEAT] Pinning and Tags (#1541)

## Description

Add pinning to auth

## Tests
Neeraj Gupta před 1 rokem
rodič
revize
bc004a41d5
100 změnil soubory, kde provedl 157 přidání a 133 odebrání
  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. binární
      auth/android/app/src/main/res/drawable-hdpi/android12splash.png
  7. binární
      auth/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png
  8. binární
      auth/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png
  9. binární
      auth/android/app/src/main/res/drawable-hdpi/splash.png
  10. binární
      auth/android/app/src/main/res/drawable-mdpi/android12splash.png
  11. binární
      auth/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png
  12. binární
      auth/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png
  13. binární
      auth/android/app/src/main/res/drawable-mdpi/splash.png
  14. binární
      auth/android/app/src/main/res/drawable-night-hdpi/android12splash.png
  15. binární
      auth/android/app/src/main/res/drawable-night-hdpi/splash.png
  16. binární
      auth/android/app/src/main/res/drawable-night-mdpi/android12splash.png
  17. binární
      auth/android/app/src/main/res/drawable-night-mdpi/splash.png
  18. binární
      auth/android/app/src/main/res/drawable-night-v21/background.png
  19. binární
      auth/android/app/src/main/res/drawable-night-xhdpi/android12splash.png
  20. binární
      auth/android/app/src/main/res/drawable-night-xhdpi/splash.png
  21. binární
      auth/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png
  22. binární
      auth/android/app/src/main/res/drawable-night-xxhdpi/splash.png
  23. binární
      auth/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png
  24. binární
      auth/android/app/src/main/res/drawable-night-xxxhdpi/splash.png
  25. binární
      auth/android/app/src/main/res/drawable-night/background.png
  26. binární
      auth/android/app/src/main/res/drawable-v21/background.png
  27. binární
      auth/android/app/src/main/res/drawable-xhdpi/android12splash.png
  28. binární
      auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png
  29. binární
      auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png
  30. binární
      auth/android/app/src/main/res/drawable-xhdpi/splash.png
  31. binární
      auth/android/app/src/main/res/drawable-xxhdpi/android12splash.png
  32. binární
      auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png
  33. binární
      auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png
  34. binární
      auth/android/app/src/main/res/drawable-xxhdpi/splash.png
  35. binární
      auth/android/app/src/main/res/drawable-xxxhdpi/android12splash.png
  36. binární
      auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png
  37. binární
      auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png
  38. binární
      auth/android/app/src/main/res/drawable-xxxhdpi/splash.png
  39. binární
      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. binární
      auth/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  42. binární
      auth/android/app/src/main/res/mipmap-hdpi/launcher_icon.png
  43. binární
      auth/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  44. binární
      auth/android/app/src/main/res/mipmap-mdpi/launcher_icon.png
  45. binární
      auth/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  46. binární
      auth/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png
  47. binární
      auth/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  48. binární
      auth/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png
  49. binární
      auth/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  50. binární
      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. binární
      auth/assets/generation-icons/icon-light-adaptive-bg.png
  60. binární
      auth/assets/generation-icons/icon-light-adaptive-fg.png
  61. binární
      auth/assets/generation-icons/icon-light.png
  62. binární
      auth/assets/splash-screen-dark.png
  63. binární
      auth/assets/splash-screen-light.png
  64. binární
      auth/assets/splash/splash-icon-fg-12.png
  65. binární
      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. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
  71. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
  72. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
  73. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
  74. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
  75. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
  76. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
  77. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
  78. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
  79. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
  80. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png
  81. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png
  82. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
  83. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
  84. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
  85. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
  86. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
  87. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
  88. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
  89. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
  90. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
  91. binární
      auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png
  92. 2 32
      auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json
  93. binární
      auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png
  94. binární
      auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png
  95. 0 33
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
  96. binární
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
  97. binární
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
  98. binární
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
  99. binární
      auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png
  100. binární
      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"

binární
auth/android/app/src/main/res/drawable-hdpi/android12splash.png


binární
auth/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png


binární
auth/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png


binární
auth/android/app/src/main/res/drawable-hdpi/splash.png


binární
auth/android/app/src/main/res/drawable-mdpi/android12splash.png


binární
auth/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png


binární
auth/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png


binární
auth/android/app/src/main/res/drawable-mdpi/splash.png


binární
auth/android/app/src/main/res/drawable-night-hdpi/android12splash.png


binární
auth/android/app/src/main/res/drawable-night-hdpi/splash.png


binární
auth/android/app/src/main/res/drawable-night-mdpi/android12splash.png


binární
auth/android/app/src/main/res/drawable-night-mdpi/splash.png


binární
auth/android/app/src/main/res/drawable-night-v21/background.png


binární
auth/android/app/src/main/res/drawable-night-xhdpi/android12splash.png


binární
auth/android/app/src/main/res/drawable-night-xhdpi/splash.png


binární
auth/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png


binární
auth/android/app/src/main/res/drawable-night-xxhdpi/splash.png


binární
auth/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png


binární
auth/android/app/src/main/res/drawable-night-xxxhdpi/splash.png


binární
auth/android/app/src/main/res/drawable-night/background.png


binární
auth/android/app/src/main/res/drawable-v21/background.png


binární
auth/android/app/src/main/res/drawable-xhdpi/android12splash.png


binární
auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png


binární
auth/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png


binární
auth/android/app/src/main/res/drawable-xhdpi/splash.png


binární
auth/android/app/src/main/res/drawable-xxhdpi/android12splash.png


binární
auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png


binární
auth/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png


binární
auth/android/app/src/main/res/drawable-xxhdpi/splash.png


binární
auth/android/app/src/main/res/drawable-xxxhdpi/android12splash.png


binární
auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png


binární
auth/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png


binární
auth/android/app/src/main/res/drawable-xxxhdpi/splash.png


binární
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>

binární
auth/android/app/src/main/res/mipmap-hdpi/ic_launcher.png


binární
auth/android/app/src/main/res/mipmap-hdpi/launcher_icon.png


binární
auth/android/app/src/main/res/mipmap-mdpi/ic_launcher.png


binární
auth/android/app/src/main/res/mipmap-mdpi/launcher_icon.png


binární
auth/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png


binární
auth/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png


binární
auth/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png


binární
auth/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png


binární
auth/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png


binární
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"

binární
auth/assets/generation-icons/icon-light-adaptive-bg.png


binární
auth/assets/generation-icons/icon-light-adaptive-fg.png


binární
auth/assets/generation-icons/icon-light.png


binární
auth/assets/splash-screen-dark.png


binární
auth/assets/splash-screen-light.png


binární
auth/assets/splash/splash-icon-fg-12.png


binární
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>

binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png


binární
auth/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png


binární
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" : {

binární
auth/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png


binární
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" : {

binární
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png


binární
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png


binární
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png


binární
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png


binární
auth/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@2x.png


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů