diff options
author | brainbreaker <gautamprajapati06@gmail.com> | 2017-03-27 22:26:47 +0530 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2017-04-19 14:45:54 +0200 |
commit | 78098b8494be7123bc4a8b50faa13445e5afd8ce (patch) | |
tree | 3ffb590a1b0f815f87b31f885a303c42bed6ac41 /android/source/src | |
parent | bc6ccee31e397ebda706640bd82df3282f92c60b (diff) |
Add BottomSheetBehavior to formatting toolbar
This commit adds the BottomSheetBehavior to the
formatting toolbar appearing from bottom.
CoordinatorLayout replaces the RelativeLayout in activity_main
and bottom toolbar is made the child of it.
Also, Add 'adjustPan' option to LibreOfficeMainActivity's
windowSoftInputMode flag so as to prevent soft keyboard
from pushing the views up
Change-Id: Ic9999c1177ac238bc7c482a69daec4e629fe6d93
Reviewed-on: https://gerrit.libreoffice.org/35768
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'android/source/src')
-rwxr-xr-x | android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java index 267fce39315e..6a0d033b530f 100755 --- a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java +++ b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java @@ -15,6 +15,7 @@ import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceManager; import android.support.design.widget.Snackbar; +import android.support.design.widget.BottomSheetBehavior; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; @@ -23,6 +24,7 @@ import android.view.KeyEvent; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.AdapterView; +import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TabHost; import android.widget.Toast; @@ -77,6 +79,9 @@ public class LibreOfficeMainActivity extends AppCompatActivity { private File mInputFile; private DocumentOverlay mDocumentOverlay; private File mTempFile = null; + private String newDocumentType = null; + + BottomSheetBehavior bottomToolbarSheetBehavior; private FormattingController mFormattingController; private ToolbarController mToolbarController; private FontController mFontController; @@ -164,7 +169,7 @@ public class LibreOfficeMainActivity extends AppCompatActivity { if (getIntent().getData().getScheme().equals(ContentResolver.SCHEME_CONTENT)) { if (copyFileToTemp() && mTempFile != null) { mInputFile = mTempFile; - Log.e(LOGTAG, "SCHEME_CONTENT: getPath(): " + getIntent().getData().getPath()); + Log.d(LOGTAG, "SCHEME_CONTENT: getPath(): " + getIntent().getData().getPath()); toolbarTop.setTitle(mInputFile.getName()); } else { // TODO: can't open the file @@ -172,7 +177,7 @@ public class LibreOfficeMainActivity extends AppCompatActivity { } } else if (getIntent().getData().getScheme().equals(ContentResolver.SCHEME_FILE)) { mInputFile = new File(getIntent().getData().getPath()); - Log.e(LOGTAG, "SCHEME_FILE: getPath(): " + getIntent().getData().getPath()); + Log.d(LOGTAG, "SCHEME_FILE: getPath(): " + getIntent().getData().getPath()); toolbarTop.setTitle(mInputFile.getName()); // Gather data to rebuild IFile object later providerId = getIntent().getIntExtra( @@ -215,6 +220,10 @@ public class LibreOfficeMainActivity extends AppCompatActivity { spec.setContent(R.id.tab_insert); spec.setIndicator("Insert"); host.addTab(spec); + + LinearLayout bottomToolbarLayout = (LinearLayout) findViewById(R.id.toolbar_bottom); + bottomToolbarSheetBehavior = BottomSheetBehavior.from(bottomToolbarLayout); + bottomToolbarSheetBehavior.setHideable(true); } // Loads a new Document @@ -463,8 +472,6 @@ public class LibreOfficeMainActivity extends AppCompatActivity { * Show software keyboard. * Force the request on main thread. */ - - public void showSoftKeyboard() { LOKitShell.getMainHandler().post(new Runnable() { @@ -528,7 +535,7 @@ public class LibreOfficeMainActivity extends AppCompatActivity { LOKitShell.getMainHandler().post(new Runnable() { @Override public void run() { - findViewById(R.id.toolbar_bottom).setVisibility(View.VISIBLE); + bottomToolbarSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); } }); } @@ -537,8 +544,7 @@ public class LibreOfficeMainActivity extends AppCompatActivity { LOKitShell.getMainHandler().post(new Runnable() { @Override public void run() { - findViewById(R.id.toolbar_bottom).setVisibility(View.GONE); - findViewById(R.id.formatting_toolbar).setVisibility(View.GONE); + bottomToolbarSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); findViewById(R.id.search_toolbar).setVisibility(View.GONE); isFormattingToolbarOpen=false; isSearchToolbarOpen=false; @@ -550,12 +556,11 @@ public class LibreOfficeMainActivity extends AppCompatActivity { LOKitShell.getMainHandler().post(new Runnable() { @Override public void run() { - if(isFormattingToolbarOpen){ + if (isFormattingToolbarOpen) { hideBottomToolbar(); - }else{ + } else { showBottomToolbar(); findViewById(R.id.formatting_toolbar).setVisibility(View.VISIBLE); - findViewById(R.id.search_toolbar).setVisibility(View.GONE); hideSoftKeyboardDirect(); isSearchToolbarOpen=false; isFormattingToolbarOpen=true; @@ -570,7 +575,6 @@ public class LibreOfficeMainActivity extends AppCompatActivity { @Override public void run() { hideBottomToolbar(); - findViewById(R.id.formatting_toolbar).setVisibility(View.GONE); } }); } @@ -579,9 +583,9 @@ public class LibreOfficeMainActivity extends AppCompatActivity { LOKitShell.getMainHandler().post(new Runnable() { @Override public void run() { - if(isSearchToolbarOpen){ - hideBottomToolbar(); - }else{ + if (isSearchToolbarOpen) { + hideSearchToolbar(); + } else { showBottomToolbar(); findViewById(R.id.formatting_toolbar).setVisibility(View.GONE); findViewById(R.id.search_toolbar).setVisibility(View.VISIBLE); @@ -598,7 +602,6 @@ public class LibreOfficeMainActivity extends AppCompatActivity { @Override public void run() { hideBottomToolbar(); - findViewById(R.id.search_toolbar).setVisibility(View.GONE); } }); } @@ -645,6 +648,8 @@ public class LibreOfficeMainActivity extends AppCompatActivity { public void openDrawer() { mDrawerLayout.openDrawer(mDrawerList); + hideBottomToolbar(); + hideFormattingToolbar(); } public void showAbout() { |