summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2020-08-20 18:36:06 +0200
committerJavier <dev.git@javispedro.com>2020-08-20 18:36:06 +0200
commit4fe050905b367e649ae320110dbacc7686201679 (patch)
tree63dc67d72dc646f43c1a9db4c1ee9384aa754b72
parent52aa7ea0653772783f2bb16453e1ad55a915a1d7 (diff)
downloadwallmotion-master.tar.gz
wallmotion-master.zip
improve fab layout behaviorHEADmaster
-rw-r--r--app/src/main/java/com/javispedro/wallmotion/Renderer.java3
-rw-r--r--app/src/main/java/com/javispedro/wallmotion/SettingsActivity.java19
-rw-r--r--app/src/main/res/layout/activity_main.xml16
3 files changed, 29 insertions, 9 deletions
diff --git a/app/src/main/java/com/javispedro/wallmotion/Renderer.java b/app/src/main/java/com/javispedro/wallmotion/Renderer.java
index 2420277..0b9da5a 100644
--- a/app/src/main/java/com/javispedro/wallmotion/Renderer.java
+++ b/app/src/main/java/com/javispedro/wallmotion/Renderer.java
@@ -3,6 +3,7 @@ package com.javispedro.wallmotion;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.SharedPreferences;
+import android.media.AudioManager;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Build;
@@ -128,8 +129,8 @@ public class Renderer extends ContextWrapper {
player.setOnPreparedListener(listener);
player.setOnSeekCompleteListener(listener);
player.setLooping(true);
+ player.setAudioStreamType(AudioManager.STREAM_SYSTEM);
player.setVolume(0, 0);
- player.setAudioSessionId(0);
player.setSurface(surface);
Log.d(TAG, "setting data source to " + uri.toString());
player.setDataSource(this, uri);
diff --git a/app/src/main/java/com/javispedro/wallmotion/SettingsActivity.java b/app/src/main/java/com/javispedro/wallmotion/SettingsActivity.java
index 5fee7df..5e9c5b0 100644
--- a/app/src/main/java/com/javispedro/wallmotion/SettingsActivity.java
+++ b/app/src/main/java/com/javispedro/wallmotion/SettingsActivity.java
@@ -75,10 +75,8 @@ public class SettingsActivity extends AppCompatActivity {
@Override
public void onStart() {
super.onStart();
- Intent launchIntent = getActivity().getIntent();
- if (launchIntent != null && launchIntent.getAction().equals(ACTION_CHOOSE_FILE)) {
+ if (isOpenedForVideoFilePicker()) {
openVideoFilePicker();
- getActivity().finish();
}
}
@@ -91,10 +89,25 @@ public class SettingsActivity extends AppCompatActivity {
Uri uri = resultData.getData();
setVideoFile(uri);
}
+ if (isOpenedForVideoFilePicker()) {
+ getActivity().finish();
+ }
break;
}
}
+ private boolean isOpenedForVideoFilePicker() {
+ Activity activity = getActivity();
+ Intent launchIntent = activity.getIntent();
+ if (launchIntent != null) {
+ String launchAction = launchIntent.getAction();
+ if (launchAction != null) {
+ return launchAction.equals(ACTION_CHOOSE_FILE);
+ }
+ }
+ return false;
+ }
+
private void openVideoFilePicker() {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 3081e15..7724c90 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -6,6 +6,9 @@
android:layout_height="match_parent"
tools:context=".MainActivity">
+ <!-- This layout will overlap with the system windows,
+ so use it for the video window -->
+
<SurfaceView
android:id="@+id/wallpaper_view"
android:layout_width="match_parent"
@@ -16,12 +19,14 @@
android:layout_height="match_parent"
android:fitsSystemWindows="true">
+ <!-- But everything here will not -->
+
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimaryTranslucent"
- app:elevation="0dp"
- android:theme="@style/AppTheme.AppBarOverlay">
+ android:theme="@style/AppTheme.AppBarOverlay"
+ app:elevation="0dp">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
@@ -29,28 +34,29 @@
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay" />
-
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
- android:layout_margin="@dimen/fab_margin"
android:orientation="vertical">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/set_file"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginHorizontal="@dimen/fab_margin"
+ android:layout_marginTop="@dimen/fab_margin"
app:srcCompat="@drawable/ic_action_video_library" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/set_wallpaper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/fab_margin"
+ android:layout_margin="@dimen/fab_margin"
app:srcCompat="@drawable/ic_action_wallpaper" />
+
</LinearLayout>
</FrameLayout>