android/lib/build.gradle | 2 android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java | 32 ++++++++-- android/lib/src/main/res/layout/lolib_activity_main.xml | 19 +++++ android/lib/src/main/res/values/strings.xml | 1 4 files changed, 50 insertions(+), 4 deletions(-)
New commits: commit 1f04f155324989429eed3478825dbebd67fc3f75 Author: mert <mert.tu...@collabora.com> AuthorDate: Wed Feb 12 19:39:50 2020 +0300 Commit: Jan Holesovsky <ke...@collabora.com> CommitDate: Fri Feb 14 18:19:14 2020 +0100 android: show progressbar at first start of the document Copying the assets takes some time at first install&start so showing progressbar is a good idea for user to wait Edit: ConstraintLayout implementation added in build.gradle Change-Id: Ia38259cb3ae1b25983a4067fce500f2700c2c79f Reviewed-on: https://gerrit.libreoffice.org/c/online/+/88548 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Jan Holesovsky <ke...@collabora.com> diff --git a/android/lib/build.gradle b/android/lib/build.gradle index ea92be07f..480c4dcd7 100644 --- a/android/lib/build.gradle +++ b/android/lib/build.gradle @@ -63,6 +63,8 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'com.google.android.material:material:1.1.0-alpha04' + implementation 'androidx.constraintlayout:constraintlayout:1.1.2' + } task copyUnpackAssets(type: Copy) { diff --git a/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java b/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java index 7033707e5..9af5eb267 100644 --- a/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java +++ b/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java @@ -22,6 +22,7 @@ import android.content.pm.PackageManager; import android.content.res.AssetFileDescriptor; import android.content.res.AssetManager; import android.net.Uri; +import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.os.Environment; @@ -42,6 +43,7 @@ import android.webkit.ValueCallback; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; +import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; @@ -110,6 +112,7 @@ public class LOActivity extends AppCompatActivity { private Thread nativeMsgThread; private Handler nativeHandler; private Looper nativeLooper; + private Bundle savedInstanceState; /** In case the mobile-wizard is visible, we have to intercept the Android's Back button. */ private boolean mMobileWizardVisible = false; @@ -142,7 +145,6 @@ public class LOActivity extends AppCompatActivity { String fromAssetPath, String targetDir) { try { String[] files = assetManager.list(fromAssetPath); - boolean res = true; for (String file : files) { String[] dirOrFile = assetManager.list(fromAssetPath + "/" + file); @@ -255,12 +257,33 @@ public class LOActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + this.savedInstanceState = savedInstanceState; getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); sPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); - updatePreferences(); - setContentView(R.layout.lolib_activity_main); + init(); + } + + private void init() { + new AsyncTask<Void, Void, Void>() { + @Override + protected Void doInBackground(Void... voids) { + updatePreferences(); + return null; + } + @Override + protected void onPostExecute(Void aVoid) { + initUI(); + } + }.execute(); + } + + private void initUI() { + TextView assetsTextView = findViewById(R.id.assetsTextView); + ProgressBar assetsProgressbar = findViewById(R.id.assetsProgressbar); + assetsProgressbar.setVisibility(View.GONE); + assetsTextView.setVisibility(View.GONE); isDocDebuggable = sPrefs.getBoolean(KEY_ENABLE_SHOW_DEBUG_INFO, false) && BuildConfig.DEBUG; if (getIntent().getData() != null) { @@ -482,7 +505,8 @@ public class LOActivity extends AppCompatActivity { Log.i(TAG, "onResume.."); // check for config change - updatePreferences(); + if (documentLoaded) + updatePreferences(); } @Override diff --git a/android/lib/src/main/res/layout/lolib_activity_main.xml b/android/lib/src/main/res/layout/lolib_activity_main.xml index 2810a9af9..9d9524dc5 100644 --- a/android/lib/src/main/res/layout/lolib_activity_main.xml +++ b/android/lib/src/main/res/layout/lolib_activity_main.xml @@ -13,4 +13,23 @@ tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="-6dp" /> + <ProgressBar + android:id="@+id/assetsProgressbar" + style="?android:attr/progressBarStyle" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/assetsTextView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/preparing_for_the_first_start_after_an_update" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/assetsProgressbar" /> + </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/android/lib/src/main/res/values/strings.xml b/android/lib/src/main/res/values/strings.xml index f5ad4ee4c..6f0c87d5b 100644 --- a/android/lib/src/main/res/values/strings.xml +++ b/android/lib/src/main/res/values/strings.xml @@ -5,6 +5,7 @@ <string name="failed_to_insert_image">Failed to insert image</string> <string name="cannot_open_file_chooser">Cannot open file chooser</string> <string name="saving">Saving...</string> + <string name="preparing_for_the_first_start_after_an_update">Preparing for the first start after an update.</string> <!-- Loading SlideShow Dialog Strings --> <string name="loading">Loading...</string> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits