convert PhotoVideoActivity to kotlin
This commit is contained in:
parent
719c510f59
commit
493ba31c5f
3 changed files with 116 additions and 127 deletions
|
@ -1,123 +0,0 @@
|
||||||
package com.simplemobiletools.gallery.activities;
|
|
||||||
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.res.Configuration;
|
|
||||||
import android.database.Cursor;
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.provider.MediaStore;
|
|
||||||
import android.support.v7.app.ActionBar;
|
|
||||||
import android.view.Menu;
|
|
||||||
import android.view.MenuItem;
|
|
||||||
|
|
||||||
import com.simplemobiletools.gallery.Constants;
|
|
||||||
import com.simplemobiletools.gallery.R;
|
|
||||||
import com.simplemobiletools.gallery.Utils;
|
|
||||||
import com.simplemobiletools.gallery.fragments.PhotoFragment;
|
|
||||||
import com.simplemobiletools.gallery.fragments.VideoFragment;
|
|
||||||
import com.simplemobiletools.gallery.fragments.ViewPagerFragment;
|
|
||||||
import com.simplemobiletools.gallery.models.Medium;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
public class PhotoVideoActivity extends SimpleActivity implements ViewPagerFragment.FragmentClickListener {
|
|
||||||
private static ActionBar mActionbar;
|
|
||||||
private static Uri mUri;
|
|
||||||
private static ViewPagerFragment mFragment;
|
|
||||||
|
|
||||||
private static boolean mIsFullScreen;
|
|
||||||
|
|
||||||
protected static boolean mIsVideo;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.fragment_holder);
|
|
||||||
|
|
||||||
mUri = getIntent().getData();
|
|
||||||
if (mUri == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
mActionbar = getSupportActionBar();
|
|
||||||
mIsFullScreen = true;
|
|
||||||
hideSystemUI();
|
|
||||||
|
|
||||||
final Bundle bundle = new Bundle();
|
|
||||||
final File file = new File(mUri.toString());
|
|
||||||
final Medium medium = new Medium(file.getName(), mUri.toString(), mIsVideo, 0, file.length());
|
|
||||||
bundle.putSerializable(Constants.MEDIUM, medium);
|
|
||||||
|
|
||||||
if (savedInstanceState == null) {
|
|
||||||
mFragment = (mIsVideo ? new VideoFragment() : new PhotoFragment());
|
|
||||||
mFragment.setListener(this);
|
|
||||||
mFragment.setArguments(bundle);
|
|
||||||
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_holder, mFragment).commit();
|
|
||||||
}
|
|
||||||
hideSystemUI();
|
|
||||||
|
|
||||||
if (mUri.getScheme().equals("content")) {
|
|
||||||
String[] proj = { MediaStore.Images.Media.TITLE };
|
|
||||||
Cursor cursor = getContentResolver().query(mUri, proj, null, null, null);
|
|
||||||
if (cursor != null && cursor.getCount() != 0) {
|
|
||||||
int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.TITLE);
|
|
||||||
cursor.moveToFirst();
|
|
||||||
setTitle(cursor.getString(columnIndex));
|
|
||||||
}
|
|
||||||
if (cursor != null) {
|
|
||||||
cursor.close();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
setTitle(Utils.Companion.getFilename(mUri.toString()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onConfigurationChanged(Configuration newConfig) {
|
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
mFragment.updateItem();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
|
||||||
getMenuInflater().inflate(R.menu.photo_video_menu, menu);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
|
||||||
switch (item.getItemId()) {
|
|
||||||
case R.id.menu_share:
|
|
||||||
shareMedium();
|
|
||||||
return true;
|
|
||||||
default:
|
|
||||||
return super.onOptionsItemSelected(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void shareMedium() {
|
|
||||||
final String shareTitle = getResources().getString(R.string.share_via);
|
|
||||||
final Intent sendIntent = new Intent();
|
|
||||||
sendIntent.setAction(Intent.ACTION_SEND);
|
|
||||||
sendIntent.putExtra(Intent.EXTRA_STREAM, mUri);
|
|
||||||
sendIntent.setType(mIsVideo ? "video/*" : "image/*");
|
|
||||||
startActivity(Intent.createChooser(sendIntent, shareTitle));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void fragmentClicked() {
|
|
||||||
mIsFullScreen = !mIsFullScreen;
|
|
||||||
if (mIsFullScreen) {
|
|
||||||
hideSystemUI();
|
|
||||||
} else {
|
|
||||||
showSystemUI();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void hideSystemUI() {
|
|
||||||
Utils.Companion.hideSystemUI(mActionbar, getWindow());
|
|
||||||
}
|
|
||||||
|
|
||||||
private void showSystemUI() {
|
|
||||||
Utils.Companion.showSystemUI(mActionbar, getWindow());
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,114 @@
|
||||||
|
package com.simplemobiletools.gallery.activities
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
|
import android.content.res.Configuration
|
||||||
|
import android.net.Uri
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.provider.MediaStore
|
||||||
|
import android.support.v7.app.ActionBar
|
||||||
|
import android.view.Menu
|
||||||
|
import android.view.MenuItem
|
||||||
|
import com.simplemobiletools.filepicker.extensions.getFilenameFromPath
|
||||||
|
import com.simplemobiletools.gallery.Constants
|
||||||
|
import com.simplemobiletools.gallery.R
|
||||||
|
import com.simplemobiletools.gallery.Utils
|
||||||
|
import com.simplemobiletools.gallery.fragments.PhotoFragment
|
||||||
|
import com.simplemobiletools.gallery.fragments.VideoFragment
|
||||||
|
import com.simplemobiletools.gallery.fragments.ViewPagerFragment
|
||||||
|
import com.simplemobiletools.gallery.models.Medium
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
|
open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentClickListener {
|
||||||
|
companion object {
|
||||||
|
private var mActionbar: ActionBar? = null
|
||||||
|
private var mUri: Uri? = null
|
||||||
|
private var mFragment: ViewPagerFragment? = null
|
||||||
|
|
||||||
|
private var mIsFullScreen = false
|
||||||
|
var mIsVideo = false
|
||||||
|
}
|
||||||
|
|
||||||
|
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
setContentView(R.layout.fragment_holder)
|
||||||
|
|
||||||
|
mUri = intent.data ?: return
|
||||||
|
|
||||||
|
mActionbar = supportActionBar
|
||||||
|
mIsFullScreen = true
|
||||||
|
hideSystemUI()
|
||||||
|
|
||||||
|
val bundle = Bundle()
|
||||||
|
val file = File(mUri!!.toString())
|
||||||
|
val medium = Medium(file.name, mUri!!.toString(), mIsVideo, 0, file.length())
|
||||||
|
bundle.putSerializable(Constants.MEDIUM, medium)
|
||||||
|
|
||||||
|
if (savedInstanceState == null) {
|
||||||
|
mFragment = if (mIsVideo) VideoFragment() else PhotoFragment()
|
||||||
|
mFragment!!.setListener(this)
|
||||||
|
mFragment!!.arguments = bundle
|
||||||
|
supportFragmentManager.beginTransaction().replace(R.id.fragment_holder, mFragment).commit()
|
||||||
|
}
|
||||||
|
hideSystemUI()
|
||||||
|
|
||||||
|
if (mUri!!.scheme == "content") {
|
||||||
|
val proj = arrayOf(MediaStore.Images.Media.TITLE)
|
||||||
|
val cursor = contentResolver.query(mUri!!, proj, null, null, null)
|
||||||
|
if (cursor != null && cursor.count != 0) {
|
||||||
|
val columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.TITLE)
|
||||||
|
cursor.moveToFirst()
|
||||||
|
title = cursor.getString(columnIndex)
|
||||||
|
}
|
||||||
|
cursor?.close()
|
||||||
|
} else {
|
||||||
|
title = mUri!!.toString().getFilenameFromPath()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onConfigurationChanged(newConfig: Configuration) {
|
||||||
|
super.onConfigurationChanged(newConfig)
|
||||||
|
mFragment!!.updateItem()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||||
|
menuInflater.inflate(R.menu.photo_video_menu, menu)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||||
|
return when (item.itemId) {
|
||||||
|
R.id.menu_share -> {
|
||||||
|
shareMedium()
|
||||||
|
true
|
||||||
|
}
|
||||||
|
else -> super.onOptionsItemSelected(item)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun shareMedium() {
|
||||||
|
val shareTitle = resources.getString(R.string.share_via)
|
||||||
|
Intent().apply {
|
||||||
|
action = Intent.ACTION_SEND
|
||||||
|
putExtra(Intent.EXTRA_STREAM, mUri)
|
||||||
|
type = if (mIsVideo) "video/*" else "image/*"
|
||||||
|
startActivity(Intent.createChooser(this, shareTitle))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun fragmentClicked() {
|
||||||
|
mIsFullScreen = !mIsFullScreen
|
||||||
|
if (mIsFullScreen) {
|
||||||
|
hideSystemUI()
|
||||||
|
} else {
|
||||||
|
showSystemUI()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun hideSystemUI() {
|
||||||
|
Utils.hideSystemUI(mActionbar, window)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun showSystemUI() {
|
||||||
|
Utils.showSystemUI(mActionbar, window)
|
||||||
|
}
|
||||||
|
}
|
|
@ -177,14 +177,12 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
files.add(getCurrentFile())
|
files.add(getCurrentFile())
|
||||||
CopyDialog(this, files, object : CopyMoveTask.CopyMoveListener {
|
CopyDialog(this, files, object : CopyMoveTask.CopyMoveListener {
|
||||||
override fun copySucceeded(deleted: Boolean, copiedAll: Boolean) {
|
override fun copySucceeded(deleted: Boolean, copiedAll: Boolean) {
|
||||||
val msgId: Int
|
|
||||||
if (deleted) {
|
if (deleted) {
|
||||||
reloadViewPager()
|
reloadViewPager()
|
||||||
msgId = if (copiedAll) R.string.moving_success else R.string.moving_success_partial
|
toast(if (copiedAll) R.string.moving_success else R.string.moving_success_partial)
|
||||||
} else {
|
} else {
|
||||||
msgId = if (copiedAll) R.string.copying_success else R.string.copying_success_partial
|
toast(if (copiedAll) R.string.copying_success else R.string.copying_success_partial)
|
||||||
}
|
}
|
||||||
toast(msgId)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun copyFailed() {
|
override fun copyFailed() {
|
||||||
|
|
Loading…
Reference in a new issue