convert remaining fragments to kotlin
This commit is contained in:
parent
fb59568765
commit
61607858ef
@ -1,60 +0,0 @@
|
|||||||
package app.grapheneos.pdfviewer.fragment;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.widget.ArrayAdapter;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.fragment.app.DialogFragment;
|
|
||||||
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
|
||||||
|
|
||||||
import app.grapheneos.pdfviewer.R;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class DocumentPropertiesFragment extends DialogFragment {
|
|
||||||
public static final String TAG = "DocumentPropertiesFragment";
|
|
||||||
|
|
||||||
private static final String KEY_DOCUMENT_PROPERTIES = "document_properties";
|
|
||||||
|
|
||||||
private List<String> mDocumentProperties;
|
|
||||||
|
|
||||||
public static DocumentPropertiesFragment newInstance(final List<CharSequence> metaData) {
|
|
||||||
final DocumentPropertiesFragment fragment = new DocumentPropertiesFragment();
|
|
||||||
final Bundle args = new Bundle();
|
|
||||||
|
|
||||||
args.putCharSequenceArrayList(KEY_DOCUMENT_PROPERTIES, (ArrayList<CharSequence>) metaData);
|
|
||||||
fragment.setArguments(args);
|
|
||||||
|
|
||||||
return fragment;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
if (getArguments() != null) {
|
|
||||||
mDocumentProperties = getArguments().getStringArrayList(KEY_DOCUMENT_PROPERTIES);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
|
||||||
final Activity activity = requireActivity();
|
|
||||||
final MaterialAlertDialogBuilder dialog = new MaterialAlertDialogBuilder(activity)
|
|
||||||
.setPositiveButton(android.R.string.ok, null);
|
|
||||||
|
|
||||||
if (mDocumentProperties != null) {
|
|
||||||
dialog.setTitle(getString(R.string.action_view_document_properties));
|
|
||||||
dialog.setAdapter(new ArrayAdapter<>(activity, android.R.layout.simple_list_item_1,
|
|
||||||
mDocumentProperties), null);
|
|
||||||
} else {
|
|
||||||
dialog.setTitle(R.string.document_properties_retrieval_failed);
|
|
||||||
}
|
|
||||||
return dialog.create();
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,53 @@
|
|||||||
|
package app.grapheneos.pdfviewer.fragment
|
||||||
|
|
||||||
|
import android.app.Dialog
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.widget.ArrayAdapter
|
||||||
|
import androidx.fragment.app.DialogFragment
|
||||||
|
import app.grapheneos.pdfviewer.R
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
|
||||||
|
class DocumentPropertiesFragment : DialogFragment() {
|
||||||
|
|
||||||
|
//TODO replace with nav args once the `PdfViewer` activity is converted to kotlin
|
||||||
|
private val mDocumentProperties: List<String> by lazy {
|
||||||
|
requireArguments().getStringArrayList(KEY_DOCUMENT_PROPERTIES)?.toList() ?: emptyList()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
|
return MaterialAlertDialogBuilder(requireActivity())
|
||||||
|
.setPositiveButton(android.R.string.ok, null).apply {
|
||||||
|
if (mDocumentProperties.isNotEmpty()) {
|
||||||
|
setTitle(getString(R.string.action_view_document_properties))
|
||||||
|
setAdapter(
|
||||||
|
ArrayAdapter(
|
||||||
|
requireActivity(),
|
||||||
|
android.R.layout.simple_list_item_1,
|
||||||
|
mDocumentProperties
|
||||||
|
), null
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
setTitle(R.string.document_properties_retrieval_failed)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.create()
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
const val TAG = "DocumentPropertiesFragment"
|
||||||
|
private const val KEY_DOCUMENT_PROPERTIES = "document_properties"
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun newInstance(metaData: List<CharSequence>): DocumentPropertiesFragment {
|
||||||
|
val fragment = DocumentPropertiesFragment()
|
||||||
|
val args = Bundle()
|
||||||
|
args.putCharSequenceArrayList(
|
||||||
|
KEY_DOCUMENT_PROPERTIES,
|
||||||
|
metaData as ArrayList<CharSequence>
|
||||||
|
)
|
||||||
|
fragment.arguments = args
|
||||||
|
return fragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,61 +0,0 @@
|
|||||||
package app.grapheneos.pdfviewer.fragment;
|
|
||||||
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.Gravity;
|
|
||||||
import android.widget.FrameLayout;
|
|
||||||
import android.widget.NumberPicker;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.fragment.app.DialogFragment;
|
|
||||||
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
|
||||||
|
|
||||||
import app.grapheneos.pdfviewer.PdfViewer;
|
|
||||||
|
|
||||||
public class JumpToPageFragment extends DialogFragment {
|
|
||||||
public static final String TAG = "JumpToPageFragment";
|
|
||||||
|
|
||||||
private final static String STATE_PICKER_CUR = "picker_cur";
|
|
||||||
private final static String STATE_PICKER_MIN = "picker_min";
|
|
||||||
private final static String STATE_PICKER_MAX = "picker_max";
|
|
||||||
|
|
||||||
private NumberPicker mPicker;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
|
||||||
mPicker = new NumberPicker(getActivity());
|
|
||||||
if (savedInstanceState != null) {
|
|
||||||
mPicker.setMinValue(savedInstanceState.getInt(STATE_PICKER_MIN));
|
|
||||||
mPicker.setMaxValue(savedInstanceState.getInt(STATE_PICKER_MAX));
|
|
||||||
mPicker.setValue(savedInstanceState.getInt(STATE_PICKER_CUR));
|
|
||||||
} else {
|
|
||||||
mPicker.setMinValue(1);
|
|
||||||
mPicker.setMaxValue(((PdfViewer)requireActivity()).mNumPages);
|
|
||||||
mPicker.setValue(((PdfViewer)requireActivity()).mPage);
|
|
||||||
}
|
|
||||||
|
|
||||||
final FrameLayout layout = new FrameLayout(getActivity());
|
|
||||||
layout.addView(mPicker, new FrameLayout.LayoutParams(
|
|
||||||
FrameLayout.LayoutParams.WRAP_CONTENT,
|
|
||||||
FrameLayout.LayoutParams.WRAP_CONTENT,
|
|
||||||
Gravity.CENTER));
|
|
||||||
|
|
||||||
return new MaterialAlertDialogBuilder(requireActivity())
|
|
||||||
.setView(layout)
|
|
||||||
.setPositiveButton(android.R.string.ok, (dialogInterface, i) -> {
|
|
||||||
mPicker.clearFocus();
|
|
||||||
((PdfViewer)requireActivity()).onJumpToPageInDocument(mPicker.getValue());
|
|
||||||
})
|
|
||||||
.setNegativeButton(android.R.string.cancel, null)
|
|
||||||
.create();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSaveInstanceState(Bundle outState) {
|
|
||||||
outState.putInt(STATE_PICKER_MIN, mPicker.getMinValue());
|
|
||||||
outState.putInt(STATE_PICKER_MAX, mPicker.getMaxValue());
|
|
||||||
outState.putInt(STATE_PICKER_CUR, mPicker.getValue());
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,60 @@
|
|||||||
|
package app.grapheneos.pdfviewer.fragment
|
||||||
|
|
||||||
|
import android.app.Dialog
|
||||||
|
import android.content.DialogInterface
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.view.Gravity
|
||||||
|
import android.widget.FrameLayout
|
||||||
|
import android.widget.NumberPicker
|
||||||
|
import androidx.fragment.app.DialogFragment
|
||||||
|
import app.grapheneos.pdfviewer.PdfViewer
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
|
||||||
|
class JumpToPageFragment : DialogFragment() {
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val TAG = "JumpToPageFragment"
|
||||||
|
private const val STATE_PICKER_CUR = "picker_cur"
|
||||||
|
private const val STATE_PICKER_MIN = "picker_min"
|
||||||
|
private const val STATE_PICKER_MAX = "picker_max"
|
||||||
|
}
|
||||||
|
|
||||||
|
private val mPicker: NumberPicker by lazy { NumberPicker(requireActivity()) }
|
||||||
|
|
||||||
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
|
|
||||||
|
val viewerActivity: PdfViewer = (requireActivity() as PdfViewer)
|
||||||
|
|
||||||
|
if (savedInstanceState != null) {
|
||||||
|
mPicker.minValue = savedInstanceState.getInt(STATE_PICKER_MIN)
|
||||||
|
mPicker.maxValue = savedInstanceState.getInt(STATE_PICKER_MAX)
|
||||||
|
mPicker.value = savedInstanceState.getInt(STATE_PICKER_CUR)
|
||||||
|
} else {
|
||||||
|
mPicker.minValue = 1
|
||||||
|
mPicker.maxValue = viewerActivity.mNumPages
|
||||||
|
mPicker.value = viewerActivity.mPage
|
||||||
|
}
|
||||||
|
val layout = FrameLayout(requireActivity())
|
||||||
|
layout.addView(
|
||||||
|
mPicker, FrameLayout.LayoutParams(
|
||||||
|
FrameLayout.LayoutParams.WRAP_CONTENT,
|
||||||
|
FrameLayout.LayoutParams.WRAP_CONTENT,
|
||||||
|
Gravity.CENTER
|
||||||
|
)
|
||||||
|
)
|
||||||
|
return MaterialAlertDialogBuilder(requireActivity())
|
||||||
|
.setView(layout)
|
||||||
|
.setPositiveButton(android.R.string.ok) { _: DialogInterface?, _: Int ->
|
||||||
|
mPicker.clearFocus()
|
||||||
|
viewerActivity.onJumpToPageInDocument(mPicker.value)
|
||||||
|
}
|
||||||
|
.setNegativeButton(android.R.string.cancel, null)
|
||||||
|
.create()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onSaveInstanceState(outState: Bundle) {
|
||||||
|
outState.putInt(STATE_PICKER_MIN, mPicker.minValue)
|
||||||
|
outState.putInt(STATE_PICKER_MAX, mPicker.maxValue)
|
||||||
|
outState.putInt(STATE_PICKER_CUR, mPicker.value)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user