mirror of https://github.com/tasks/tasks
Convert AddAccountDialog to Kotlin
parent
3663c22b62
commit
e24b5b8bfe
@ -1,87 +0,0 @@
|
|||||||
package org.tasks.sync;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.res.TypedArray;
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.ArrayAdapter;
|
|
||||||
import android.widget.ImageView;
|
|
||||||
import android.widget.TextView;
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity;
|
|
||||||
import org.tasks.R;
|
|
||||||
import org.tasks.caldav.CaldavAccountSettingsActivity;
|
|
||||||
import org.tasks.dialogs.DialogBuilder;
|
|
||||||
import org.tasks.etesync.EteSyncAccountSettingsActivity;
|
|
||||||
import org.tasks.preferences.fragments.SynchronizationKt;
|
|
||||||
import org.tasks.themes.DrawableUtil;
|
|
||||||
|
|
||||||
public class AddAccountDialog {
|
|
||||||
public static void showAddAccountDialog(Activity activity, DialogBuilder dialogBuilder) {
|
|
||||||
String[] services = activity.getResources().getStringArray(R.array.synchronization_services);
|
|
||||||
String[] descriptions =
|
|
||||||
activity.getResources().getStringArray(R.array.synchronization_services_description);
|
|
||||||
TypedArray typedArray =
|
|
||||||
activity.getResources().obtainTypedArray(R.array.synchronization_services_icons);
|
|
||||||
int[] icons = new int[typedArray.length()];
|
|
||||||
for (int i = 0; i < icons.length; i++) {
|
|
||||||
icons[i] = typedArray.getResourceId(i, 0);
|
|
||||||
}
|
|
||||||
typedArray.recycle();
|
|
||||||
ArrayAdapter<String> adapter =
|
|
||||||
new ArrayAdapter<String>(
|
|
||||||
activity, R.layout.simple_list_item_2_themed, R.id.text1, services) {
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
|
||||||
View view = super.getView(position, convertView, parent);
|
|
||||||
view.<TextView>findViewById(R.id.text1).setText(services[position]);
|
|
||||||
view.<TextView>findViewById(R.id.text2).setText(descriptions[position]);
|
|
||||||
ImageView icon = view.findViewById(R.id.image_view);
|
|
||||||
icon.setImageDrawable(DrawableUtil.getWrapped(getContext(), icons[position]));
|
|
||||||
if (position == 1) {
|
|
||||||
icon.getDrawable().setTint(getContext().getColor(R.color.icon_tint));
|
|
||||||
}
|
|
||||||
return view;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
dialogBuilder
|
|
||||||
.newDialog()
|
|
||||||
.setTitle(R.string.choose_synchronization_service)
|
|
||||||
.setSingleChoiceItems(
|
|
||||||
adapter,
|
|
||||||
-1,
|
|
||||||
(dialog, which) -> {
|
|
||||||
switch (which) {
|
|
||||||
case 0:
|
|
||||||
activity.startActivityForResult(
|
|
||||||
new Intent(activity, GtasksLoginActivity.class),
|
|
||||||
SynchronizationKt.REQUEST_GOOGLE_TASKS);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
activity.startActivityForResult(
|
|
||||||
new Intent(activity, CaldavAccountSettingsActivity.class),
|
|
||||||
SynchronizationKt.REQUEST_CALDAV_SETTINGS);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
activity.startActivityForResult(
|
|
||||||
new Intent(activity, EteSyncAccountSettingsActivity.class),
|
|
||||||
SynchronizationKt.REQUEST_CALDAV_SETTINGS);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
dialog.dismiss();
|
|
||||||
})
|
|
||||||
.setNeutralButton(
|
|
||||||
R.string.help,
|
|
||||||
(dialog, which) ->
|
|
||||||
activity.startActivity(
|
|
||||||
new Intent(
|
|
||||||
Intent.ACTION_VIEW, Uri.parse(activity.getString(R.string.help_url_sync)))))
|
|
||||||
.setNegativeButton(android.R.string.cancel, null)
|
|
||||||
.show();
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,73 @@
|
|||||||
|
package org.tasks.sync
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
|
import android.content.DialogInterface
|
||||||
|
import android.content.Intent
|
||||||
|
import android.net.Uri
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import android.widget.ArrayAdapter
|
||||||
|
import android.widget.ImageView
|
||||||
|
import android.widget.TextView
|
||||||
|
import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity
|
||||||
|
import org.tasks.R
|
||||||
|
import org.tasks.caldav.CaldavAccountSettingsActivity
|
||||||
|
import org.tasks.dialogs.DialogBuilder
|
||||||
|
import org.tasks.etesync.EteSyncAccountSettingsActivity
|
||||||
|
import org.tasks.preferences.fragments.REQUEST_CALDAV_SETTINGS
|
||||||
|
import org.tasks.preferences.fragments.REQUEST_GOOGLE_TASKS
|
||||||
|
import org.tasks.themes.DrawableUtil
|
||||||
|
|
||||||
|
object AddAccountDialog {
|
||||||
|
fun showAddAccountDialog(activity: Activity, dialogBuilder: DialogBuilder) {
|
||||||
|
val services = activity.resources.getStringArray(R.array.synchronization_services)
|
||||||
|
val descriptions = activity.resources.getStringArray(R.array.synchronization_services_description)
|
||||||
|
val typedArray = activity.resources.obtainTypedArray(R.array.synchronization_services_icons)
|
||||||
|
val icons = IntArray(typedArray.length())
|
||||||
|
for (i in icons.indices) {
|
||||||
|
icons[i] = typedArray.getResourceId(i, 0)
|
||||||
|
}
|
||||||
|
typedArray.recycle()
|
||||||
|
val adapter: ArrayAdapter<String> = object : ArrayAdapter<String>(
|
||||||
|
activity, R.layout.simple_list_item_2_themed, R.id.text1, services) {
|
||||||
|
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
|
||||||
|
val view = super.getView(position, convertView, parent)
|
||||||
|
view.findViewById<TextView>(R.id.text1).text = services[position]
|
||||||
|
view.findViewById<TextView>(R.id.text2).text = descriptions[position]
|
||||||
|
val icon = view.findViewById<ImageView>(R.id.image_view)
|
||||||
|
icon.setImageDrawable(DrawableUtil.getWrapped(context, icons[position]))
|
||||||
|
if (position == 1) {
|
||||||
|
icon.drawable.setTint(context.getColor(R.color.icon_tint))
|
||||||
|
}
|
||||||
|
return view
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dialogBuilder
|
||||||
|
.newDialog()
|
||||||
|
.setTitle(R.string.choose_synchronization_service)
|
||||||
|
.setSingleChoiceItems(
|
||||||
|
adapter,
|
||||||
|
-1
|
||||||
|
) { dialog: DialogInterface, which: Int ->
|
||||||
|
when (which) {
|
||||||
|
0 -> activity.startActivityForResult(
|
||||||
|
Intent(activity, GtasksLoginActivity::class.java),
|
||||||
|
REQUEST_GOOGLE_TASKS)
|
||||||
|
1 -> activity.startActivityForResult(
|
||||||
|
Intent(activity, CaldavAccountSettingsActivity::class.java),
|
||||||
|
REQUEST_CALDAV_SETTINGS)
|
||||||
|
2 -> activity.startActivityForResult(
|
||||||
|
Intent(activity, EteSyncAccountSettingsActivity::class.java),
|
||||||
|
REQUEST_CALDAV_SETTINGS)
|
||||||
|
}
|
||||||
|
dialog.dismiss()
|
||||||
|
}
|
||||||
|
.setNeutralButton(R.string.help) { _, _ ->
|
||||||
|
activity.startActivity(
|
||||||
|
Intent(
|
||||||
|
Intent.ACTION_VIEW, Uri.parse(activity.getString(R.string.help_url_sync))))
|
||||||
|
}
|
||||||
|
.setNegativeButton(android.R.string.cancel, null)
|
||||||
|
.show()
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue