63 lines
2.4 KiB
Kotlin
63 lines
2.4 KiB
Kotlin
package org.pixeldroid.app.postCreation.camera
|
|
|
|
import android.content.Intent
|
|
import android.os.Bundle
|
|
import android.view.MenuItem
|
|
import org.pixeldroid.app.MainActivity
|
|
import org.pixeldroid.app.R
|
|
import org.pixeldroid.app.databinding.ActivityCameraBinding
|
|
import org.pixeldroid.app.postCreation.camera.CameraFragment.Companion.CAMERA_ACTIVITY
|
|
import org.pixeldroid.app.postCreation.camera.CameraFragment.Companion.CAMERA_ACTIVITY_STORY
|
|
import org.pixeldroid.app.utils.BaseActivity
|
|
|
|
|
|
class CameraActivity : BaseActivity() {
|
|
private lateinit var binding: ActivityCameraBinding
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
|
|
binding = ActivityCameraBinding.inflate(layoutInflater)
|
|
setContentView(binding.root)
|
|
setSupportActionBar(binding.topBar)
|
|
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
|
|
|
val cameraFragment = CameraFragment()
|
|
|
|
val story: Boolean = intent.getBooleanExtra(CAMERA_ACTIVITY_STORY, false)
|
|
|
|
if(story) supportActionBar?.setTitle(R.string.add_story)
|
|
else supportActionBar?.setTitle(R.string.add_photo)
|
|
|
|
// If this CameraActivity wasn't started from the shortcut,
|
|
// tell the fragment it's in an activity (so that it sends back the result instead of
|
|
// starting a new post creation process)
|
|
if (intent.action != Intent.ACTION_VIEW) {
|
|
val arguments = Bundle()
|
|
arguments.putBoolean(CAMERA_ACTIVITY, true)
|
|
arguments.putBoolean(CAMERA_ACTIVITY_STORY, story)
|
|
cameraFragment.arguments = arguments
|
|
} else {
|
|
supportActionBar?.setTitle(R.string.new_post_shortcut_long)
|
|
}
|
|
|
|
supportFragmentManager.beginTransaction()
|
|
.add(R.id.camera_activity_fragment, cameraFragment).commit()
|
|
}
|
|
|
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
|
// If this CameraActivity wasn't started from the shortcut, behave as usual
|
|
if (intent.action != Intent.ACTION_VIEW) return super.onOptionsItemSelected(item)
|
|
|
|
// Else, start a new MainActivity when "going back" on this activity
|
|
when (item.itemId) {
|
|
android.R.id.home -> {
|
|
val intent = Intent(this, MainActivity::class.java)
|
|
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
|
super.startActivity(intent)
|
|
}
|
|
}
|
|
return true
|
|
}
|
|
|
|
} |