diff --git a/app/src/main/kotlin/com/simplemobiletools/draw/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/draw/pro/activities/MainActivity.kt index cd02e94a..327916d7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/draw/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/draw/pro/activities/MainActivity.kt @@ -11,6 +11,7 @@ import android.os.Bundle import android.provider.MediaStore import android.view.Menu import android.view.MenuItem +import android.view.View import android.view.WindowManager import android.webkit.MimeTypeMap import android.widget.SeekBar @@ -47,6 +48,7 @@ class MainActivity : SimpleActivity(), CanvasListener { private val FILE_NAME = "simple-draw.png" private val BITMAP_PATH = "bitmap_path" private val URI_TO_LOAD = "uri_to_load" + private val FULLSCREEN = "FULLSCREEN" private var defaultPath = "" private var defaultFilename = "" @@ -63,6 +65,8 @@ class MainActivity : SimpleActivity(), CanvasListener { private var isEditIntent = false private var lastBitmapPath = "" + private var isActionbarHidden = false + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -137,8 +141,17 @@ class MainActivity : SimpleActivity(), CanvasListener { return true } + private fun goToFullScreen() { + supportActionBar?.hide() + window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_FULLSCREEN + or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY) + isActionbarHidden = true + + } + override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { + R.id.fullscreen -> goToFullScreen() R.id.menu_confirm -> confirmImage() R.id.menu_save -> trySaveImage() R.id.menu_share -> shareImage() @@ -154,18 +167,24 @@ class MainActivity : SimpleActivity(), CanvasListener { } override fun onBackPressed() { - val hasUnsavedChanges = savedPathsHash != my_canvas.getDrawingHashCode() - if (hasUnsavedChanges && System.currentTimeMillis() - lastSavePromptTS > SAVE_DISCARD_PROMPT_INTERVAL) { - lastSavePromptTS = System.currentTimeMillis() - ConfirmationAdvancedDialog(this, "", R.string.save_before_closing, R.string.save, R.string.discard) { - if (it) { - trySaveImage() - } else { - super.onBackPressed() + if (isActionbarHidden) { + supportActionBar?.show() + isActionbarHidden = false + window.decorView.systemUiVisibility = (View.VISIBLE) + } else { + val hasUnsavedChanges = savedPathsHash != my_canvas.getDrawingHashCode() + if (hasUnsavedChanges && System.currentTimeMillis() - lastSavePromptTS > SAVE_DISCARD_PROMPT_INTERVAL) { + lastSavePromptTS = System.currentTimeMillis() + ConfirmationAdvancedDialog(this, "", R.string.save_before_closing, R.string.save, R.string.discard) { + if (it) { + trySaveImage() + } else { + super.onBackPressed() + } } + } else { + super.onBackPressed() } - } else { - super.onBackPressed() } } @@ -520,6 +539,7 @@ class MainActivity : SimpleActivity(), CanvasListener { override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) outState.putString(BITMAP_PATH, lastBitmapPath) + outState.putBoolean(FULLSCREEN, isActionbarHidden) if (uriToLoad != null) { outState.putString(URI_TO_LOAD, uriToLoad.toString()) @@ -535,6 +555,10 @@ class MainActivity : SimpleActivity(), CanvasListener { uriToLoad = Uri.parse(savedInstanceState.getString(URI_TO_LOAD)) tryOpenUri(uriToLoad!!, intent) } + isActionbarHidden = savedInstanceState.getBoolean(FULLSCREEN) + if (isActionbarHidden) { + goToFullScreen() + } } private var onStrokeWidthBarChangeListener: SeekBar.OnSeekBarChangeListener = object : SeekBar.OnSeekBarChangeListener { diff --git a/app/src/main/res/drawable/ic_fullscreen_white_24dp.xml b/app/src/main/res/drawable/ic_fullscreen_white_24dp.xml new file mode 100644 index 00000000..86b7649b --- /dev/null +++ b/app/src/main/res/drawable/ic_fullscreen_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/menu/menu.xml b/app/src/main/res/menu/menu.xml index 5b90e6dd..6784ff83 100644 --- a/app/src/main/res/menu/menu.xml +++ b/app/src/main/res/menu/menu.xml @@ -1,6 +1,11 @@ +