Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Show a dialog when an update is available #1654

Merged
merged 2 commits into from Jan 25, 2024

Conversation

TheAabedKhan
Copy link
Member

This PR fixes #1637 and also blocks any API requests until the users agree to download ReVanced Patches.

Screenshots
update-dialog

@TheAabedKhan TheAabedKhan linked an issue Jan 24, 2024 that may be closed by this pull request
4 tasks
@oSumAtrIX oSumAtrIX self-requested a review January 24, 2024 09:32
@validcube validcube changed the title feat: show a dialog when a new update is available feat: Show a dialog when a new update is available Jan 24, 2024
@oSumAtrIX
Copy link
Member

Some questions regarding behaviour are important to know before merging this PR. I will list some scenarios this PR should fulfil.

I download an old version of the app for the first time. It first shows a popup that asks the user if they want the app to check for updates. If the user presses No, no requests are made.
Because no request are made, the app has to ask the user for permission to connect to the internet in order to download the patches. The user can not proceed using the app if the press no.

If they click yes, the app does not check for updates and no popup is shown. If I accepted to check for updates, the popup that asks the user to download patches is not shown, instead a popup is shown that asks if the user wants to update. The popup is accompanied by a No button and a checkmark not to show the popup again.

If the user clicks yes, patches as well as the app updates are installed. If the user does not press Ok, the Download buttons in the main menu for the app and the patches are enabled, so the user can manually update in case they want.

@TheAabedKhan
Copy link
Member Author

If the user does not press Ok, the Download buttons in the main menu for the app and the patches are enabled, so the user can manually update in case they want.

So, the Update buttons on the dashboard will be changed to Check for update if Check for updates toggle is not enabled in settings? because manager will not be allowed to connect to the API to check for updates automatically.

@oSumAtrIX oSumAtrIX changed the title feat: Show a dialog when a new update is available feat: Show a dialog when an update is available Jan 25, 2024
@oSumAtrIX oSumAtrIX merged commit 2c0bfad into ReVanced:dev Jan 25, 2024
1 check passed
github-actions bot pushed a commit that referenced this pull request Jan 25, 2024
# [1.19.0-dev.3](v1.19.0-dev.2...v1.19.0-dev.3) (2024-01-25)

### Bug Fixes

* Do not delete files from post-fs-data.d ([97892fc](97892fc))

### Features

* Show a dialog when an update is available ([#1654](#1654)) ([2c0bfad](2c0bfad))
TheAabedKhan pushed a commit that referenced this pull request Jan 25, 2024
# [1.19.0-dev.3](v1.19.0-dev.2...v1.19.0-dev.3) (2024-01-25)

### Bug Fixes

* Do not delete files from post-fs-data.d ([97892fc](97892fc))

### Features

* Show a dialog when an update is available ([#1654](#1654)) ([2c0bfad](2c0bfad))
TheAabedKhan pushed a commit that referenced this pull request Jan 26, 2024
# [1.19.0-dev.3](v1.19.0-dev.2...v1.19.0-dev.3) (2024-01-25)

### Bug Fixes

* Do not delete files from post-fs-data.d ([97892fc](97892fc))

### Features

* Show a dialog when an update is available ([#1654](#1654)) ([2c0bfad](2c0bfad))
TheAabedKhan added a commit to TheAabedKhan/revanced-manager that referenced this pull request Jan 27, 2024
TheAabedKhan pushed a commit to TheAabedKhan/revanced-manager that referenced this pull request Jan 27, 2024
# [1.19.0-dev.3](ReVanced/revanced-manager@v1.19.0-dev.2...v1.19.0-dev.3) (2024-01-25)

### Bug Fixes

* Do not delete files from post-fs-data.d ([97892fc](ReVanced@97892fc))

### Features

* Show a dialog when an update is available ([ReVanced#1654](ReVanced#1654)) ([2c0bfad](ReVanced@2c0bfad))
github-actions bot pushed a commit that referenced this pull request Jan 29, 2024
# [1.19.0-dev.3](v1.19.0-dev.2...v1.19.0-dev.3) (2024-01-29)

### Bug Fixes

* Do not delete files from post-fs-data.d ([70a1086](70a1086))

### Features

* Show a dialog when an update is available ([#1654](#1654)) ([c7d975e](c7d975e))
github-actions bot pushed a commit to BenjaminHalko/revanced-manager that referenced this pull request Jan 30, 2024
# [1.10.0-dev.1](v1.9.3...v1.10.0-dev.1) (2024-01-30)

### Bug Fixes

* `Don't use 'BuildContext's across async gaps.` ([ReVanced#1148](https://github.com/BenjaminHalko/revanced-manager/issues/1148)) ([fc8a4fc](fc8a4fc))
* `Material You` toggle not updating sometimes ([ReVanced#1421](https://github.com/BenjaminHalko/revanced-manager/issues/1421)) ([e686898](e686898))
* Add missing confirmation dialog ([7a1ba9d](7a1ba9d))
* added a trailing comma ([975180b](975180b))
* Allow mounting without Magisk ([3f96608](3f96608))
* **App Selector:** Unable to select APK from storage when asked to ([ReVanced#1513](https://github.com/BenjaminHalko/revanced-manager/issues/1513)) ([7897827](7897827))
* **app-bar:** title not hiding completely ([ReVanced#1376](https://github.com/BenjaminHalko/revanced-manager/issues/1376)) ([d577e97](d577e97))
* back button closing the app from any page ([2bf6a03](2bf6a03))
* **build:** allow profile variant to compile ([d25d1ef](d25d1ef)), closes [ReVanced#1305](https://github.com/BenjaminHalko/revanced-manager/issues/1305)
* close before returning ([64a96fc](64a96fc))
* Correct update message ([a141ec8](a141ec8))
* **custom-sources:** ignore casing when checking if default repo is being used ([ReVanced#1281](https://github.com/BenjaminHalko/revanced-manager/issues/1281)) ([9ad1d6c](9ad1d6c))
* default theme not following system ([ReVanced#1288](https://github.com/BenjaminHalko/revanced-manager/issues/1288)) ([6f4866e](6f4866e))
* Disable wakelock when patching is canceled ([ReVanced#1514](https://github.com/BenjaminHalko/revanced-manager/issues/1514)) ([9df89c7](9df89c7))
* do not ask for patches consent before initializing model ([1e8d8f7](1e8d8f7))
* Do not delete cached downloads ([6961bb7](6961bb7))
* Do not delete files from post-fs-data.d ([70a1086](70a1086))
* Do not hardcode any predefined packages ([2e8e3b0](2e8e3b0))
* **export-settings:** export patches as json object ([f7c11d0](f7c11d0))
* **export-settings:** remove boolean workaround ([2ad106f](2ad106f))
* exported logs patch selection ([ReVanced#1535](https://github.com/BenjaminHalko/revanced-manager/issues/1535)) ([2ae8d49](2ae8d49))
* Fill the preferred action ([0492e91](0492e91))
* fix redundant buttons on dialog ([079c0de](079c0de))
* force disable material you on Android 11 and below ([ReVanced#1293](https://github.com/BenjaminHalko/revanced-manager/issues/1293)) ([c3d345d](c3d345d))
* Hide empty patches category labels ([ReVanced#1439](https://github.com/BenjaminHalko/revanced-manager/issues/1439)) ([0be568b](0be568b))
* hide install button on error ([42e41c3](42e41c3))
* ignore the root .gradle folder ([8e2cfbd](8e2cfbd))
* improve app list loading speed ([ReVanced#1166](https://github.com/BenjaminHalko/revanced-manager/issues/1166)) ([f4b0a69](f4b0a69))
* Include new patches that are used by default ([7831a34](7831a34))
* Incorrect duplicate filename handling when exporting files ([ReVanced#1541](https://github.com/BenjaminHalko/revanced-manager/issues/1541)) ([de51fbd](de51fbd))
* Incorrect strings and logics ([ReVanced#1619](https://github.com/BenjaminHalko/revanced-manager/issues/1619)) ([4f22e88](4f22e88))
* **install-type:** update padding and enable radio list scrolling ([ReVanced#1287](https://github.com/BenjaminHalko/revanced-manager/issues/1287)) ([e75d3c8](e75d3c8))
* **installer:** open the patched app after install ([ReVanced#1233](https://github.com/BenjaminHalko/revanced-manager/issues/1233)) ([c5fc54e](c5fc54e))
* **Keystore Password:** textfield title display ([8e52abd](8e52abd))
* Load installed apps ([36c86e2](36c86e2))
* Load patches from older versions of ReVanced Manager correctly ([6ad0d86](6ad0d86))
* load patches via `PatchBundle` ([ReVanced#1242](https://github.com/BenjaminHalko/revanced-manager/issues/1242)) ([4b8542b](4b8542b))
* Log saved patch option values ([ReVanced#1420](https://github.com/BenjaminHalko/revanced-manager/issues/1420)) ([e7d8285](e7d8285))
* make entire theme item clickable ([e01b323](e01b323))
* migration latest changes to native buttons ([c56c445](c56c445))
* Mount script causes build to fail ([ReVanced#1613](https://github.com/BenjaminHalko/revanced-manager/issues/1613)) ([f3c78c2](f3c78c2))
* Move installation log to correct place ([c4a7954](c4a7954))
* npe when loading patch bundle on android 8 ([0bfa776](0bfa776))
* npe when patching on android 8 ([9f64011](9f64011))
* **Patch Option:** Set text colour on dropdown menu ([acb1e24](acb1e24))
* **patch_selector:** correct popup menu style ([72ea33b](72ea33b)), closes [ReVanced#1372](https://github.com/BenjaminHalko/revanced-manager/issues/1372)
* patcher logs hiding behind navigation bar ([ReVanced#1476](https://github.com/BenjaminHalko/revanced-manager/issues/1476)) ([5ed3ed9](5ed3ed9))
* **patches-selector:** ignore punctuation marks when searching for patch ([ReVanced#1377](https://github.com/BenjaminHalko/revanced-manager/issues/1377)) ([2dc92e2](2dc92e2))
* permissions handling at first launch ([8cb96f1](8cb96f1))
* Prevent crash by escaping string correctly ([8a1ab47](8a1ab47))
* properly log messages and progress ([7911a8f](7911a8f))
* **Release CI:** truncate the "v" from version ([8595099](8595099))
* Reload patches ([b07439d](b07439d))
* remove codeblock from log export ([d60ced2](d60ced2)), closes [ReVanced#1416](https://github.com/BenjaminHalko/revanced-manager/issues/1416)
* Remove incorrect punctuation ([ReVanced#1499](https://github.com/BenjaminHalko/revanced-manager/issues/1499)) ([35d8084](35d8084))
* reset patches after patching ([cd07f39](cd07f39))
* Reset progress if patch was cancelled ([850bdc4](850bdc4))
* Retrieve app information from patched app ([2b4b3ca](2b4b3ca))
* search bar overflow ([ReVanced#1301](https://github.com/BenjaminHalko/revanced-manager/issues/1301)) ([0983ba8](0983ba8))
* search with package name ([ReVanced#1344](https://github.com/BenjaminHalko/revanced-manager/issues/1344)) ([4085c10](4085c10))
* selected patches order ([ReVanced#1345](https://github.com/BenjaminHalko/revanced-manager/issues/1345)) ([2abadc7](2abadc7))
* **settings-view:** list items jumping on scroll up ([ReVanced#1375](https://github.com/BenjaminHalko/revanced-manager/issues/1375)) ([5d5f311](5d5f311))
* **settings:** inverted version compatibility switch ([59adb91](59adb91))
* typo in reset patch selection dialog ([ReVanced#1387](https://github.com/BenjaminHalko/revanced-manager/issues/1387)) ([53677e2](53677e2))
* Unable to unselect new patches ([18e680b](18e680b))
* unable to use custom API ([ReVanced#1435](https://github.com/BenjaminHalko/revanced-manager/issues/1435)) ([e74ffac](e74ffac))
* Update home screen after installation ([7426f54](7426f54))
* update install type dialog padding ([b7acb47](b7acb47))
* Update the progress properly until installation finishes successfully ([1298a96](1298a96))
* update youtube link ([ReVanced#1286](https://github.com/BenjaminHalko/revanced-manager/issues/1286)) ([42b6bbf](42b6bbf))
* Use correct installation type labels ([1928b15](1928b15))
* Use correct method name for string replacement ([494e268](494e268))
* Use correct version code & name ([ReVanced#1647](https://github.com/BenjaminHalko/revanced-manager/issues/1647)) ([d933997](d933997))
* use lowercase repo names ([ReVanced#1626](https://github.com/BenjaminHalko/revanced-manager/issues/1626)) ([edd8602](edd8602))

### Features

* ability to search query for suggested version ([ReVanced#1151](https://github.com/BenjaminHalko/revanced-manager/issues/1151)) ([9bd48c1](9bd48c1))
* Add API migration code ([ReVanced#1615](https://github.com/BenjaminHalko/revanced-manager/issues/1615)) ([28ae276](28ae276))
* add haptic feedback ([ReVanced#1459](https://github.com/BenjaminHalko/revanced-manager/issues/1459)) ([7911459](7911459))
* Add patch options ([ReVanced#1354](https://github.com/BenjaminHalko/revanced-manager/issues/1354)) ([ac63667](ac63667))
* add user agent ([ReVanced#1380](https://github.com/BenjaminHalko/revanced-manager/issues/1380)) ([e960fcc](e960fcc))
* Adjust install dialog labels ([c87f92b](c87f92b))
* append patch version to the APK name while sharing/exporting ([ReVanced#1547](https://github.com/BenjaminHalko/revanced-manager/issues/1547)) ([7df1ae7](7df1ae7))
* clarify "Version compatibility check" description ([ReVanced#1397](https://github.com/BenjaminHalko/revanced-manager/issues/1397)) ([533b6a1](533b6a1))
* Clarify non root installation button ([11a8f31](11a8f31))
* dialogs correctly follows Material 3 specifications ([ReVanced#1560](https://github.com/BenjaminHalko/revanced-manager/issues/1560)) ([f8d086a](f8d086a))
* Disable selection of un-suggested app version by default ([ReVanced#1471](https://github.com/BenjaminHalko/revanced-manager/issues/1471)) ([70b2ee0](70b2ee0))
* Export settings migration activity ([ReVanced#1308](https://github.com/BenjaminHalko/revanced-manager/issues/1308)) ([4de274b](4de274b))
* Improve app selector and patcher UI ([ReVanced#1616](https://github.com/BenjaminHalko/revanced-manager/issues/1616)) ([efb2d5e](efb2d5e))
* Improve dialog text clarity ([69b6ef0](69b6ef0))
* Improve installation robustness ([ReVanced#1528](https://github.com/BenjaminHalko/revanced-manager/issues/1528)) ([c23275f](c23275f))
* Improve Split APK warning readability ([ReVanced#1625](https://github.com/BenjaminHalko/revanced-manager/issues/1625)) ([6fd740f](6fd740f))
* Only log relevant records ([15b8613](15b8613))
* output suggested version into patch log ([ReVanced#1557](https://github.com/BenjaminHalko/revanced-manager/issues/1557)) ([637641c](637641c))
* **patcher:** improve logs ([ReVanced#1299](https://github.com/BenjaminHalko/revanced-manager/issues/1299)) ([8fd4fe0](8fd4fe0))
* Remove full external storage access ([ReVanced#1381](https://github.com/BenjaminHalko/revanced-manager/issues/1381)) ([f334da9](f334da9))
* Remove original package name in app info view ([91837eb](91837eb))
* root status in export patch log ([ReVanced#1407](https://github.com/BenjaminHalko/revanced-manager/issues/1407)) ([ad6b164](ad6b164))
* **settings - appearance:** add system option ([ReVanced#1279](https://github.com/BenjaminHalko/revanced-manager/issues/1279)) ([6260a80](6260a80)), closes [ReVanced#1260](https://github.com/BenjaminHalko/revanced-manager/issues/1260)
* share settings ([2a89ef7](2a89ef7))
* Show a dialog when an update is available ([ReVanced#1654](https://github.com/BenjaminHalko/revanced-manager/issues/1654)) ([c7d975e](c7d975e))
* show patch options in error log ([ReVanced#1394](https://github.com/BenjaminHalko/revanced-manager/issues/1394)) ([bb99901](bb99901))
* Simplify label ([6bdc0c7](6bdc0c7))
* Simplify label ([8661d72](8661d72))
* Simplify settings strings ([ReVanced#1618](https://github.com/BenjaminHalko/revanced-manager/issues/1618)) ([0d45fe4](0d45fe4))
* update color scheme ([ReVanced#1483](https://github.com/BenjaminHalko/revanced-manager/issues/1483)) ([ec26e4d](ec26e4d))
* updated logs ([ReVanced#1526](https://github.com/BenjaminHalko/revanced-manager/issues/1526)) ([7931eb9](7931eb9))
* use native TextField ([9ed43ef](9ed43ef))
* Use simpler wording ([d8eadc2](d8eadc2))

### Performance Improvements

* Do not load patches twice ([012110f](012110f))
* Do not load patches twice ([ReVanced#1328](https://github.com/BenjaminHalko/revanced-manager/issues/1328)) ([a709abd](a709abd))
* Load patched apps as soon as possible ([c94eb7a](c94eb7a))
* Reduce amount of network requests ([8ce266b](8ce266b))
* Reduce amount of shell commands ([5b1c89a](5b1c89a))
* Use hashset for fast comparison ([1fad904](1fad904))
github-actions bot pushed a commit to BenjaminHalko/revanced-manager that referenced this pull request Jan 31, 2024
## Features
* Add API migration code ([ReVanced#1615](https://github.com/BenjaminHalko/revanced-manager/issues/1615)) ([oSumAtrIX](28ae276))
* add haptic feedback ([ReVanced#1459](https://github.com/BenjaminHalko/revanced-manager/issues/1459)) ([Benjamin](7911459))
* Improve app selector and patcher UI ([ReVanced#1616](https://github.com/BenjaminHalko/revanced-manager/issues/1616)) ([oSumAtrIX](efb2d5e))
* Improve Split APK warning readability ([ReVanced#1625](https://github.com/BenjaminHalko/revanced-manager/issues/1625)) ([Osama Tahir](6fd740f))
* Show a dialog when an update is available ([ReVanced#1654](https://github.com/BenjaminHalko/revanced-manager/issues/1654)) ([aAbed](c7d975e))
* Simplify settings strings ([ReVanced#1618](https://github.com/BenjaminHalko/revanced-manager/issues/1618)) ([oSumAtrIX](0d45fe4))
* use native TextField ([validcube](9ed43ef))
## Bug Fixes
* added a trailing comma ([Benjamin Halko](975180b))
* Allow mounting without Magisk ([Ushie](3f96608))
* Do not delete files from post-fs-data.d ([aAbed](70a1086))
* fix redundant buttons on dialog ([validcube](079c0de))
* Incorrect strings and logics ([ReVanced#1619](https://github.com/BenjaminHalko/revanced-manager/issues/1619)) ([aAbed](4f22e88))
* textfield title display ([validcube](8e52abd))
* Mount script causes build to fail ([ReVanced#1613](https://github.com/BenjaminHalko/revanced-manager/issues/1613)) ([Benjamin](f3c78c2))
* Set text colour on dropdown menu ([validcube](acb1e24))
* truncate the "v" from version ([Pun Butrach](8595099))
* something ([Benjamin Halko](9622b08))
* Use correct version code & name ([ReVanced#1647](https://github.com/BenjaminHalko/revanced-manager/issues/1647)) ([Benjamin](d933997))
* use lowercase repo names ([ReVanced#1626](https://github.com/BenjaminHalko/revanced-manager/issues/1626)) ([Benjamin](edd8602))
## Performance Improvements
* Load patched apps as soon as possible ([oSumAtrIX](c94eb7a))
github-actions bot pushed a commit that referenced this pull request Mar 5, 2024
# [1.19.0](v1.18.0...v1.19.0) (2024-03-05)

### Bug Fixes

* added a trailing comma ([975180b](975180b))
* adjust padding ([3559477](3559477))
* Allow mounting without Magisk ([3f96608](3f96608))
* Bump dependencies to support BCS keystore ([6ec6546](6ec6546))
* Do not delete files from post-fs-data.d ([70a1086](70a1086))
* Fix patched APKs exports after installation ([1200360](1200360))
* fix redundant buttons on dialog ([079c0de](079c0de))
* Incorrect strings and logics ([#1619](#1619)) ([4f22e88](4f22e88))
* **Keystore Password:** textfield title display ([8e52abd](8e52abd))
* Mount script causes build to fail ([#1613](#1613)) ([f3c78c2](f3c78c2))
* **Patch Option:** Set text colour on dropdown menu ([acb1e24](acb1e24))
* **PopScope:** User able to exit patch screen when the installer is still running ([#1663](#1663)) ([eb6d3cd](eb6d3cd))
* **Release CI:** truncate the "v" from version ([8595099](8595099))
* Show version label correctly ([c72d10a](c72d10a))
* Specify that dark theme is dark ([#1699](#1699)) ([d4b15ae](d4b15ae))
* Stop patch when signing fails ([#1553](#1553)) ([5b2c551](5b2c551))
* **Update Confirmation Sheet:** Add top padding ([9aeb156](9aeb156))
* Use correct title size for bottom sheet ([#1687](#1687)) ([3436523](3436523))
* Use correct version code & name ([#1647](#1647)) ([d933997](d933997))
* use lowercase repo names ([#1626](#1626)) ([edd8602](edd8602))

### Features

* Add a toggle for alternative sources ([#1686](#1686)) ([f89c742](f89c742))
* Add API migration code ([#1615](#1615)) ([28ae276](28ae276))
* add haptic feedback ([#1459](#1459)) ([7911459](7911459))
* Allow changing languages ([#1488](#1488)) ([f82c439](f82c439))
* Display current app language at the top of the list ([aa0575a](aa0575a))
* Hide the Install button during installation ([#1633](#1633)) ([3e696d6](3e696d6))
* Improve app selector and patcher UI ([#1616](#1616)) ([efb2d5e](efb2d5e))
* Improve consistency on language selector ([b2119ce](b2119ce))
* Improve language distinguishness and resolve language-specific issues ([#1706](#1706)) ([6d866d4](6d866d4))
* Improve Split APK warning readability ([#1625](#1625)) ([6fd740f](6fd740f))
* Show a dialog when an update is available ([#1654](#1654)) ([c7d975e](c7d975e))
* Simplify settings strings ([#1618](#1618)) ([0d45fe4](0d45fe4))
* Use more appropriate progress values ([2d7026a](2d7026a))
* use native TextField ([9ed43ef](9ed43ef))

### Performance Improvements

* Load patched apps as soon as possible ([c94eb7a](c94eb7a))

### Reverts

* WillPopScope migration ([3b0fed5](3b0fed5))
@TheAabedKhan TheAabedKhan deleted the update-dialog branch March 14, 2024 08:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: Show a dialog when an update is available
2 participants