Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
deckerst committed Apr 16, 2021
2 parents b31ad98 + fbd9ff5 commit 331cd28
Show file tree
Hide file tree
Showing 70 changed files with 2,325 additions and 814 deletions.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file.

## [Unreleased]

## [v1.4.0] - 2021-04-16
### Added
- Viewer: support for videos with EAC3/FLAC/OPUS audio
- Info: more consistent and comprehensive info for videos and streams
- Settings: more video options (auto play, loop, hardware acceleration)

### Changed
- Info: present video cover like XMP embedded images

### Removed
- locale name package (-3 MB)

### Fixed
- Albums: auto naming for folders on SD card
- Viewer: display of videos with unusual SAR

## [v1.3.7] - 2021-04-02
### Added
- Collection / Albums / Countries / Tags: added label when dragging scrollbar thumb
Expand Down
9 changes: 0 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,6 @@ Aves is a gallery and metadata explorer app. It is built for Android, with Flutt
- SVG: unsupported `<style>` (cf [flutter_svg issue #105](https://github.com/dnfield/flutter_svg/issues/105))
- SVG: limited support for `%`, `mm` or `pt` unit (cf [flutter_svg issue #110](https://github.com/dnfield/flutter_svg/issues/110))

## Test Devices

| Model | Name | Android Version | API |
| ----------- | -------------------------- | --------------- | ---:|
| SM-G981N | Samsung Galaxy S20 5G | 11 (R) | 30 |
| SM-G970N | Samsung Galaxy S10e | 11 (R) | 30 |
| SM-P580 | Samsung Galaxy Tab A 10.1 | 8.1.0 (Oreo) | 27 |
| SM-G930S | Samsung Galaxy S7 | 8.0.0 (Oreo) | 26 |

## Project Setup

Create a file named `<app dir>/android/key.properties`. It should contain a reference to a keystore for app signing, and other necessary credentials. See `<app dir>/android/key_template.properties` for the expected keys.
Expand Down
6 changes: 4 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ android {
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
manifestPlaceholders = [googleApiKey: keystoreProperties['googleApiKey']]
multiDexEnabled true
}

signingConfigs {
Expand Down Expand Up @@ -104,14 +105,15 @@ repositories {

dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'
implementation 'androidx.core:core-ktx:1.5.0-beta03' // v1.5.0-alpha02+ for ShortcutManagerCompat.setDynamicShortcuts
implementation 'androidx.core:core-ktx:1.5.0-rc01' // v1.5.0-alpha02+ for ShortcutManagerCompat.setDynamicShortcuts
implementation 'androidx.exifinterface:exifinterface:1.3.2'
implementation "androidx.multidex:multidex:2.0.1"
implementation 'com.commonsware.cwac:document:0.4.1'
implementation 'com.drewnoakes:metadata-extractor:2.15.0'
implementation 'com.github.deckerst:Android-TiffBitmapFactory:876e53870a' // forked, built by JitPack
implementation 'com.github.bumptech.glide:glide:4.12.0'

kapt 'androidx.annotation:annotation:1.1.0'
kapt 'androidx.annotation:annotation:1.2.0'
kapt 'com.github.bumptech.glide:compiler:4.12.0'

compileOnly rootProject.findProject(':streams_channel')
Expand Down
Binary file added android/app/libs/fijkplayer-full-release.aar
Binary file not shown.
17 changes: 13 additions & 4 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@

<application
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:label="@string/app_name"
android:requestLegacyExternalStorage="true">
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round">
<!-- TODO TLAD Android 12 https://developer.android.com/about/versions/12/behavior-changes-12#exported -->
<activity
android:name=".MainActivity"
Expand All @@ -56,8 +56,7 @@
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
android:resource="@style/NormalTheme" />

<intent-filter>
<action android:name="android.intent.action.MAIN" />
Expand All @@ -71,6 +70,15 @@
<data android:mimeType="video/*" />
<data android:mimeType="vnd.android.cursor.dir/image" />
</intent-filter>
<intent-filter>
<action android:name="com.android.camera.action.REVIEW" />
<category android:name="android.intent.category.DEFAULT" />

<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
<data android:mimeType="vnd.android.cursor.dir/image" />
<data android:mimeType="vnd.android.cursor.dir/video" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />

Expand Down Expand Up @@ -100,6 +108,7 @@
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>

<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${googleApiKey}" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ class MainActivity : FlutterActivity() {
)
}
}
Intent.ACTION_VIEW -> {
Intent.ACTION_VIEW, "com.android.camera.action.REVIEW" -> {
intent.data?.let { uri ->
return hashMapOf(
"action" to "view",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import io.flutter.plugin.common.MethodChannel.MethodCallHandler
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import java.util.*

class AppShortcutHandler(private val context: Context) : MethodCallHandler {
override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) {
Expand Down Expand Up @@ -53,7 +54,9 @@ class AppShortcutHandler(private val context: Context) : MethodCallHandler {
.putExtra("page", "/collection")
.putExtra("filters", filters.toTypedArray())

val shortcut = ShortcutInfoCompat.Builder(context, "collection-${filters.joinToString("-")}")
// multiple shortcuts sharing the same ID cannot be created with different labels or icons
// so we provide a unique ID for each one, and let the user manage duplicates (i.e. same filter set), if any
val shortcut = ShortcutInfoCompat.Builder(context, UUID.randomUUID().toString())
.setShortLabel(label)
.setIcon(icon)
.setIntent(intent)
Expand Down
Loading

0 comments on commit 331cd28

Please sign in to comment.