class OfferDetailActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_container)
if (savedInstanceState == null) {
supportFragmentManager.inTransaction {
add(R.id.content, OfferDetailFragment.newInstance(intent.extras))
}
}
}
override fun supportShouldUpRecreateTask(targetIntent: Intent) = true
override fun onPrepareSupportNavigateUpTaskStack(builder: TaskStackBuilder) {
Log.d("OfferDetailActivity", "onPrepareSupportNavigateUpTaskStack")
// Todo: think hoe to make things easier
val bundle = intent.extras.getBundle(MASTER_BUNDLE_EXTRA) ?: return
val catKey = bundle.getString(OffersMasterActivity.CAT_KEY_EXTRA)
val catName = bundle.getString(OffersMasterActivity.CAT_NAME_EXTRA)
val picPath = bundle.getString(OffersMasterActivity.CAT_PICPATH_EXTRA)
Log.d("OfferDetailActivity", "key: $catKey, name: $catName, pic: $picPath")
builder.editIntentAt(builder.intentCount -1)?.apply {
putExtra(OffersMasterActivity.CAT_KEY_EXTRA, catKey)
putExtra(OffersMasterActivity.CAT_NAME_EXTRA, catName)
putExtra(OffersMasterActivity.CAT_PICPATH_EXTRA, picPath)
}
}
companion object {
val CAT_PICPATH_EXTRA = "categoryPicPathExtra"
val MASTER_KEY_EXTRA = "masterKeyExtra"
val MASTER_NAME_EXTRA = "masterNameExtra"
val MASTER_BUNDLE_EXTRA = "masterBundleExtra"
fun launch(activity: Activity, catPicPath: String, masterKey: String, masterName: String, arguments: Bundle?) {
val intent = Intent(activity, OfferDetailActivity::class.java)
intent.putExtra(CAT_PICPATH_EXTRA, catPicPath)
intent.putExtra(MASTER_KEY_EXTRA, masterKey)
intent.putExtra(MASTER_NAME_EXTRA, masterName)
intent.putExtra(MASTER_BUNDLE_EXTRA, arguments)
activity.startActivity(intent)
}
}
}