convert PhotoVideoActivity to kotlin

This commit is contained in:
tibbi 2016-11-12 23:11:52 +01:00
parent 719c510f59
commit 493ba31c5f
3 changed files with 116 additions and 127 deletions

View file

@ -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());
}
}

View file

@ -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)
}
}

View file

@ -177,14 +177,12 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
files.add(getCurrentFile())
CopyDialog(this, files, object : CopyMoveTask.CopyMoveListener {
override fun copySucceeded(deleted: Boolean, copiedAll: Boolean) {
val msgId: Int
if (deleted) {
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 {
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() {