1. 25 Jun, 2022 1 commit
  2. 20 Jun, 2022 1 commit
  3. 25 May, 2022 1 commit
  4. 23 May, 2022 1 commit
    • Aayush Gupta's avatar
      Updater: Show update's version on AlertDialog and Notification · 418d464d
      Aayush Gupta authored
      
      
      Currently at most of the places, build version is obtained from BuildInfoUtils.getBuildVersion()
      method. This method obtains build version from the current running system's property.
      
      However, in case there is a version bump on OTA, this logic results in wrong version
      being shown to the user while updating/upgrading the system.
      
      Get the version from the update itself to show the proper version in update notification
      and pre-install warning.
      
      Signed-off-by: default avatarAayush Gupta <theimpulson@e.email>
      Change-Id: Ia74085d8d7c067c408e7cfce1de90d49dcc68307
      418d464d
  5. 10 May, 2022 1 commit
  6. 23 Apr, 2022 1 commit
    • Arian's avatar
      UpdateInstaller: Set file permissions on uncrypt ota package · 16cb5c2f
      Arian authored
      -----
      
      E RecoverySystemService: Failed to reserve space for compressed apex:
      E RecoverySystemService: java.io.FileNotFoundException: /data/lineageos_updates/lineage-19.1-20220422-UNOFFICIAL-GMS-sagit.zip.uncrypt (Permission denied)
      E RecoverySystemService: 	at java.util.zip.ZipFile.open(Native Method)
      E RecoverySystemService: 	at java.util.zip.ZipFile.<init>(ZipFile.java:265)
      E RecoverySystemService: 	at java.util.zip.ZipFile.<init>(ZipFile.java:187)
      E RecoverySystemService: 	at java.util.zip.ZipFile.<init>(ZipFile.java:158)
      E RecoverySystemService: 	at com.android.server.recoverysystem.RecoverySystemService.getCompressedApexInfoList(RecoverySystemService.java:921)
      E RecoverySystemService: 	at com.android.server.recoverysystem.RecoverySystemService.allocateSpaceForUpdate(RecoverySystemService.java:972)
      E RecoverySystemService: 	at android.os.IRecoverySystem$Stub.onTransact(IRecoverySystem.java:156)
      E RecoverySystemService: 	at android.os.Binder.execTransactInternal(Binder.java:1179)
      E RecoverySystemService: 	at android.os.Binder.execTransact(Binder.java:1143)
      E UpdateInstaller: Could not install update
      E UpdateInstaller: java.io.IOException: Failed to allocate space for update /data/lineageos_updates/lineage-19.1-20220422-UNOFFICIAL-GMS-sagit.zip.uncrypt
      E UpdateInstaller: 	at android.os.RecoverySystem.installPackage(RecoverySystem.java:678)
      E UpdateInstaller: 	at android.os.RecoverySystem.installPackage(RecoverySystem.java:596)
      E UpdateInstaller: 	at org.lineageos.updater.controller.UpdateInstaller.installPackage(UpdateInstaller.java:100)
      E UpdateInstaller: 	at org.lineageos.updater.controller.UpdateInstaller.access$400(UpdateInstaller.java:35)
      E UpdateInstaller: 	at org.lineageos.updater.controller.UpdateInstaller$1.run(UpdateInstaller.java:144)
      E UpdateInstaller: 	at java.lang.Thread.run(Thread.java:920)
      
      Change-Id: I8250bf58709b92572cdffc8e5faca4bf243935aa
      16cb5c2f
  7. 06 Apr, 2022 1 commit
  8. 03 Apr, 2022 1 commit
  9. 07 Mar, 2022 2 commits
    • Michael W's avatar
      Updater: Don't show thousands of days · 1ffe1a80
      Michael W authored
      * When pausing and resuming, the ETA calculation is off by a lot
        due to the time diff since the last calculation resulting in a
        big delta and therefore a very low speed
      * By fixing this, we also need to set the last byte count to the total
        byte count there, otherwise the downloaded bytes since last calculation
        will be larger than in reality, resulting in too fast speeds calculated
      
      Change-Id: Ica1053cc297ff59221ea2bc0014f20973a080c88
      1ffe1a80
    • Michael W's avatar
      Updater: Move progress next to progressbar · 9ad96eca
      Michael W authored
      Author: Michael W <baddaemon87@gmail.com>
      Date:   Fri Feb 11 18:16:02 2022 +0100
      
          Updater: Move progress next to progressbar
      
          * The progress text can get very long, resulting in jumping marquee text
          * In order to reduce the length, move the percentage out of the text
            and next to the progressbar
          * The behavior can be observed e.g. on pro1 in german, where the button
            is also wider due to the german text
      
          Change-Id: I0276182efed757c0929b31434edad9be548b841c
      
      Author: Timi Rautamäki <timi.rautamaki@gmail.com>
      Date:   Thu Mar 3 16:12:16 2022 +0000
      
          fixup! Updater: Move progress next to progressbar
      
          Fix crash on ATV devices by applying same layout changes to
          layout-large-notouch.
      
          Change-Id: Id6eabcf8b1960106eb63bd15bcf97f9b4cf0bbc8
      
      Change-Id: I8aed4c35c6ac4261c0536a6b263d63f5b1fd11ba
      9ad96eca
  10. 10 Feb, 2022 13 commits
    • Alexander Martinz's avatar
      Updater: layout: activity_updates: add spacing between build info and last checked entry · 27f04e5b
      Alexander Martinz authored
      
      
      Change-Id: Ie85fecb30ba12b056569049aac674dc1b8653942
      Signed-off-by: default avatarAlexander Martinz <amartinz@shiftphones.com>
      27f04e5b
    • Alexander Martinz's avatar
      Updater: Allow starting activities from background · 75497ee4
      Alexander Martinz authored
      
      
      -----
      
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: FATAL EXCEPTION: main
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: Process: com.shiftos.updater, PID: 19707
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.shiftos.updater/org.lineageos.updater.controller.UpdaterService }: app is in background uid UidRecord{1463ce2 u0a63 TPSL bg:+47m50s26ms idle change:idle procs:1 seq(0,0,0)}
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1616)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.ContextImpl.startService(ContextImpl.java:1571)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.content.ContextWrapper.startService(ContextWrapper.java:669)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at org.lineageos.updater.UpdatesActivity.onStart(UpdatesActivity.java:181)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1433)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.Activity.performStart(Activity.java:7847)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3295)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2017)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:107)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:214)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7397)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
      05-06 17:21:58.988 10063 19707 19707 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
      
      -----
      
      Change-Id: Ibc2d471b028c1d4e824b3ede4bbc336d76801f88
      Signed-off-by: default avatarAlexander Martinz <amartinz@shiftphones.com>
      75497ee4
    • Joey's avatar
      Updater: use consistent format for file sizes · 9edea646
      Joey authored
      
      
      Change-Id: I9a17cf2df69e2e39e90de169ca108511c71d4e31
      Signed-off-by: default avatarJoey <joey@lineageos.org>
      9edea646
    • Michael W's avatar
      Updater: Show toast when starting export · d54176cc
      Michael W authored
      * It's not immediately clear that an export is started since the
        notification isn't intrusive
      * Show a toast - that will be clear enough
      
      Change-Id: I78d78b23884df3ddb37bc486c1d6012f899c888d
      d54176cc
    • Michael W's avatar
      Updater: Switch to destination selector · f27d50d6
      Michael W authored
      * Let the user decide where to store the file
      * That way it's not located in /storage/emulated/0/Android/data/...
        ...org.lineageos.updater/files/LineageOS updates/*.zip
        -> The user knows where the file is stored
        -> We don't have to care about WRITE_EXTERNAL_STORAGE etc
      * Remove the cancel button - after closing the file stream we loose
        permission to access it, therefore can't delete it anymore
        -> Let the user handle deletion manually
      * Since we don't use WRITE_EXTERNAL_STORAGE anymore, remove it from
        Manifest and also remove PermissionUtils (+calls) - we can now export
        immediately.
        -> This also solves the
        "TODO: start exporting once the permission has been granted"
      
      Change-Id: I50afa403f2803569aa9def807ea20ee72c582284
      f27d50d6
    • Michael W's avatar
      Updater: No need to install every update · 811d0502
      Michael W authored
      * Apparently users are not aware that they don't have to install every
        update we ever released (weeklies) after they have skipped some due
        to various reasons
      * Since we are providing full installation packages, remind the user that
        it's ok to only ever choose the newest one
      
      Change-Id: I70f9acd70344f36aaae7e45b848f6bcb7a8b3c0f
      811d0502
    • Michael W's avatar
      Updater: We don't do upgrades · d2557b8c
      Michael W authored
      * We are actually updating, but especially between translations and
        non native speakers, drawing a semantical difference is more harmful
        than helpful
      * Use "install" instead
      
      Change-Id: Icdf1ce45d6cd35334b5c8ac13af3ec6741d837b6
      d2557b8c
    • Michael W's avatar
      Updater: The great cleanup · 964eb5a6
      Michael W authored
      * Make final where possible
      * Remove unused casts, imports, methods, enums and constructors
      * Add null checks
      
      Change-Id: Idd1a16426dd1928e2ed9922f5a35ba32ce4f808b
      964eb5a6
    • Michael W's avatar
      Updater: update dependencies · 297668b3
      Michael W authored
      Change-Id: I0686b28e7f6754c1b11b219b9036ea372032070b
      297668b3
    • Michael W's avatar
      Updater: Replace lintOptions with lint · 9f814a9a
      Michael W authored
      * As per AS recommendation
      
      Change-Id: Id3668f21f356f13dcce4576c528b8af06d77a95f
      9f814a9a
    • Michael W's avatar
      Updater: Compile with and target Sdk version 31 · 755254e1
      Michael W authored
      Change-Id: I976d7af04d2d8f75ae0353341fe61a3a0510d840
      755254e1
    • Michael W's avatar
      Updater: Change gradle from 3.5 to 7.1 · 7843198d
      Michael W authored
      Change-Id: Ia70512a77cdb30c6315863dcb65233d38cb5c9b9
      7843198d
    • Michael W's avatar
      Updater: Replace jcenter with mavenCentral · 1f4d0571
      Michael W authored
      Change-Id: I0b6ae6553f106eef4cb7d331e3b089b74a66abcb
      1f4d0571
  11. 08 Feb, 2022 1 commit
    • SahilSonar's avatar
      Updater: Convert to blueprint · 46264905
      SahilSonar authored
      Drop "UpdaterStudio" module while at it, considering that aidegen
      can be used to compile Lineage Updater with Android Studio.
      
      Change-Id: I828338461d0277992bfb301c2f785116c12dfc8a
      46264905
  12. 12 Jan, 2022 1 commit
  13. 14 Nov, 2021 1 commit
  14. 08 Nov, 2021 1 commit
  15. 04 Nov, 2021 1 commit
    • Timi Rautamäki's avatar
      Updater: Add a 3-dot menu for update item · c8ae33d9
      Timi Rautamäki authored
      Author: Timi Rautamaki <timi.rautamaki@gmail.com>
      Date:   Wed Oct 13 16:06:51 2021 +0000
          Updater: add a 3-dot menu for update item
      
          A menu opening with only a long press is not intuitive and often not
          found by user.
      
          Change-Id: I7f819b77e2cbc534cafe488edadc4d3dd9b87d01
      
      Author: Luca Stefani <luca.stefani.ge1@gmail.com>
      Date:   Mon Nov 1 21:01:11 2021 +0100
          fixup! Updater: add a 3-dot menu for update item
      
          Change-Id: I10fe453c5f14d1a0ca49b734df517047cb7ee802
      
      Change-Id: I8abf95327906bd6d3fb98978b931418f15d3dd00
      c8ae33d9
  16. 11 Oct, 2021 3 commits
    • Michael Bestas's avatar
      Add exported flags in manifest · ad604c69
      Michael Bestas authored
      Targeting S+ (version 31 and above) requires that an explicit value
      for android:exported be defined when intent filters are present
      
      Change-Id: I2ce2b2cd1dcd69e343ae8577587483b19d825fdc
      ad604c69
    • Michael Bestas's avatar
      Updater: Add FLAG_IMMUTABLE flag to PendingIntent · aed99e30
      Michael Bestas authored
      Fixes:
      Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE
      or FLAG_MUTABLE be specified when creating a PendingIntent.
      
      Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some
      functionality depends on the PendingIntent being mutable,
      e.g. if it needs to be used with inline replies or bubbles.
      
      Change-Id: I63b25512d3bf6e0d3b0cc95d91295f4065175848
      aed99e30
    • Michael Bestas's avatar
      Add missing localbroadcastmanager dependency · 772843f3
      Michael Bestas authored
      Change-Id: I793f1c94fcbc6b7805558d35b6d35ee0696686df
      772843f3
  17. 14 Sep, 2021 2 commits
  18. 21 Aug, 2021 1 commit
  19. 01 May, 2021 1 commit
  20. 28 Apr, 2021 1 commit
  21. 19 Apr, 2021 1 commit
    • Michael W's avatar
      Updater: Fix exporting updates · 7cfeb81a
      Michael W authored
      * getExternalStorageDirectory was deprecated in API level 29
      * Use the proposed Context#getExternalFilesDirs(String) instead
      
      The following message can be found in the logs, followed by a crash:
      MediaProvider: Creating a non-default top level directory or
      deleting an existing one is not allowed!
      
      Fixes: https://gitlab.com/LineageOS/issues/android/-/issues/3358
      Change-Id: I81412985abc0f64d0fccb0d3069ac57ef6b4ffef
      7cfeb81a
  22. 28 Feb, 2021 1 commit
  23. 28 Dec, 2020 1 commit
  24. 17 Dec, 2020 1 commit