Skip to content

Commit

Permalink
Enable automatic update checks, download and install
Browse files Browse the repository at this point in the history
- Enable update check with notification
- Enable update screen with releasenotes formatted from github markdown
- Update dependencies
  • Loading branch information
DJDoubleD committed Jul 31, 2024
1 parent 31a359e commit 216d91b
Show file tree
Hide file tree
Showing 7 changed files with 267 additions and 112 deletions.
1 change: 1 addition & 0 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<!--<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
Expand Down
26 changes: 26 additions & 0 deletions android/app/src/main/java/r/r/refreezer/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import android.content.ServiceConnection;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
Expand All @@ -15,6 +16,7 @@
import android.os.Messenger;
import android.os.Parcelable;
import android.os.RemoteException;
import android.provider.Settings;
import android.util.Log;

import androidx.annotation.NonNull;
Expand Down Expand Up @@ -217,6 +219,17 @@ public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
result.success(null);
return;
}
// Check if can request package install permission
if (call.method.equals("checkInstallPackagesPermission")) {
result.success(canRequestPackageInstalls());
return;
}
// Request package install permission
if (call.method.equals("requestInstallPackagesPermission")) {
requestInstallPackagesPermission();
result.success(true);
return;
}

result.error("0", "Not implemented!", "Not implemented!");
}));
Expand All @@ -236,6 +249,19 @@ public void onCancel(Object arguments) {
}));
}

private boolean canRequestPackageInstalls() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
return getPackageManager().canRequestPackageInstalls();
}
return true;
}

private void requestInstallPackagesPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startActivity(new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, Uri.parse("package:" + getPackageName())));
}
}

//Start/Bind/Reconnect to download service
private void connectService() {
if (serviceBound)
Expand Down
3 changes: 3 additions & 0 deletions lib/languages/en_us.dart
Original file line number Diff line number Diff line change
Expand Up @@ -441,5 +441,8 @@ const language_en_us = {
'Open system settings': 'Open system settings',
'Application Log': 'Application Log',
'Are you sure you want to log out?': 'Are you sure you want to log out?',

// 0.7.13
'Download failed!': 'Download failed!',
}
};
8 changes: 3 additions & 5 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import 'ui/home_screen.dart';
import 'ui/library.dart';
import 'ui/login_screen.dart';
import 'ui/player_bar.dart';
//import 'ui/updater.dart';
import 'ui/updater.dart';
import 'ui/search.dart';
import 'utils/logging.dart';
import 'utils/navigator_keys.dart';
Expand Down Expand Up @@ -243,11 +243,9 @@ class _MainScreenState extends State<MainScreen>
_prepareQuickActions();

//Check for updates on background
/* No automatic updates yet
Future.delayed(Duration(seconds: 5), () {
FreezerVersions.checkUpdate();
Future.delayed(const Duration(seconds: 5), () {
ReFreezerLatest.checkUpdate();
});
*/

//Restore saved queue
_loadSavedQueue();
Expand Down
1 change: 0 additions & 1 deletion lib/ui/settings_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,6 @@ class _SettingsScreenState extends State<SettingsScreen> {
leading: const LeadingIcon(Icons.update, color: Color(0xff2ba766)),
onTap: () => Navigator.push(context,
MaterialPageRoute(builder: (context) => const UpdaterScreen())),
enabled: false,
),
ListTile(
title: Text('About'.i18n),
Expand Down
Loading

0 comments on commit 216d91b

Please sign in to comment.