diff options
| author | Jules Aguillon | 2023-12-31 13:18:15 +0100 |
|---|---|---|
| committer | Jules Aguillon | 2023-12-31 13:18:15 +0100 |
| commit | 49a6a30773087713d9f5b605377115350ee0453a (patch) | |
| tree | 6490e0f0c953b8b80cd92e81ac03f1917e80245f | |
| parent | 4a5a125aea4f1edf826dd4897292ba4dc0f1d1b9 (diff) | |
| download | unexpected-keyboard-49a6a30773087713d9f5b605377115350ee0453a.tar.gz unexpected-keyboard-49a6a30773087713d9f5b605377115350ee0453a.zip | |
Add an introduction video in the launcher activity
A video is more intuitive than a written description and doesn't need
translations.
| -rw-r--r-- | res/layout/launcher_activity.xml | 21 | ||||
| -rw-r--r-- | res/raw/intro_video.mp4 | bin | 0 -> 123771 bytes | |||
| -rw-r--r-- | srcs/juloo.keyboard2/LauncherActivity.java | 23 |
3 files changed, 35 insertions, 9 deletions
diff --git a/res/layout/launcher_activity.xml b/res/layout/launcher_activity.xml index 99fdf83..c007299 100644 --- a/res/layout/launcher_activity.xml +++ b/res/layout/launcher_activity.xml @@ -1,10 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> - <TextView style="@style/paragraph" android:text="@string/launcher_description"/> - <Button style="@style/paragraph" android:text="@string/launcher_button_imesettings" android:onClick="launch_imesettings" android:layout_width="wrap_content"/> - <Button style="@style/paragraph" android:text="@string/launcher_button_imepicker" android:onClick="launch_imepicker" android:layout_width="wrap_content"/> - <TextView style="@style/paragraph" android:text="@string/launcher_sourcecode"/> - <TextView style="@style/paragraph" android:text="https://github.com/Julow/Unexpected-Keyboard" android:autoLink="web" android:linksClickable="true"/> - <TextView android:id="@+id/launcher_tryhere_text" style="@style/paragraph" android:text="@string/launcher_tryhere"/> - <EditText android:id="@+id/launcher_tryhere_area" style="@style/paragraph" android:inputType="text"/> -</LinearLayout> +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true"> + <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> + <TextView style="@style/paragraph" android:text="@string/launcher_description"/> + <Button style="@style/paragraph" android:text="@string/launcher_button_imesettings" android:onClick="launch_imesettings" android:layout_width="wrap_content"/> + <Button style="@style/paragraph" android:text="@string/launcher_button_imepicker" android:onClick="launch_imepicker" android:layout_width="wrap_content"/> + <VideoView android:id="@+id/launcher_intro_video" android:layout_width="240dp" android:layout_height="wrap_content" android:layout_gravity="center"/> + <TextView android:id="@+id/launcher_tryhere_text" style="@style/paragraph" android:text="@string/launcher_tryhere"/> + <EditText android:id="@+id/launcher_tryhere_area" style="@style/paragraph" android:inputType="text"/> + <TextView style="@style/paragraph" android:text="@string/launcher_sourcecode"/> + <TextView style="@style/paragraph" android:text="https://github.com/Julow/Unexpected-Keyboard" android:autoLink="web" android:linksClickable="true"/> + </LinearLayout> +</ScrollView> diff --git a/res/raw/intro_video.mp4 b/res/raw/intro_video.mp4 Binary files differnew file mode 100644 index 0000000..9eefe52 --- /dev/null +++ b/res/raw/intro_video.mp4 diff --git a/srcs/juloo.keyboard2/LauncherActivity.java b/srcs/juloo.keyboard2/LauncherActivity.java index 2180b43..8b89770 100644 --- a/srcs/juloo.keyboard2/LauncherActivity.java +++ b/srcs/juloo.keyboard2/LauncherActivity.java @@ -2,6 +2,9 @@ package juloo.keyboard2; import android.app.Activity; import android.content.Intent; +import android.media.AudioManager; +import android.media.MediaPlayer; +import android.net.Uri; import android.os.Build.VERSION; import android.os.Bundle; import android.provider.Settings; @@ -10,10 +13,12 @@ import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.TextView; +import android.widget.VideoView; public class LauncherActivity extends Activity { /** Text is replaced when receiving key events. */ + VideoView _intro_video; TextView _tryhere_text; EditText _tryhere_area; @@ -22,11 +27,13 @@ public class LauncherActivity extends Activity { super.onCreate(savedInstanceState); setContentView(R.layout.launcher_activity); + _intro_video = (VideoView)findViewById(R.id.launcher_intro_video); _tryhere_text = (TextView)findViewById(R.id.launcher_tryhere_text); _tryhere_area = (EditText)findViewById(R.id.launcher_tryhere_area); if (VERSION.SDK_INT > 28) _tryhere_area.addOnUnhandledKeyEventListener( this.new Tryhere_OnUnhandledKeyEventListener()); + setup_intro_video(_intro_video); } public void launch_imesettings(View _btn) @@ -41,6 +48,22 @@ public class LauncherActivity extends Activity imm.showInputMethodPicker(); } + static void setup_intro_video(VideoView v) + { + if (VERSION.SDK_INT >= 26) + v.setAudioFocusRequest(AudioManager.AUDIOFOCUS_NONE); + v.setVideoURI(Uri.parse("android.resource://" + + v.getContext().getPackageName() + "/" + R.raw.intro_video)); + v.setOnPreparedListener(new MediaPlayer.OnPreparedListener() + { + @Override + public void onPrepared(MediaPlayer mp) { + mp.setLooping(true); + } + }); + v.start(); + } + final class Tryhere_OnUnhandledKeyEventListener implements View.OnUnhandledKeyEventListener { public boolean onUnhandledKeyEvent(View v, KeyEvent ev) |
