From 3b4f6fe9f0fd2c75910810629e4b8271e22d5792 Mon Sep 17 00:00:00 2001 From: Shinokuni Date: Sun, 24 Feb 2019 15:33:47 +0000 Subject: [PATCH] change edit feed dialog to dialog fragment with an alert dialog --- .../app/activities/ManageFeedsActivity.java | 7 +++- .../readrops/app/views/EditFeedDialog.java | 40 ++++++++++-------- app/src/main/res/layout/edit_feed_layout.xml | 41 ++++++------------- 3 files changed, 40 insertions(+), 48 deletions(-) diff --git a/app/src/main/java/com/readrops/app/activities/ManageFeedsActivity.java b/app/src/main/java/com/readrops/app/activities/ManageFeedsActivity.java index fb90b96b..29dd83e0 100644 --- a/app/src/main/java/com/readrops/app/activities/ManageFeedsActivity.java +++ b/app/src/main/java/com/readrops/app/activities/ManageFeedsActivity.java @@ -2,6 +2,7 @@ package com.readrops.app.activities; import android.arch.lifecycle.ViewModelProvider; import android.os.Bundle; +import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -55,8 +56,10 @@ public class ManageFeedsActivity extends AppCompatActivity { } private void openEditFeedDialog(FeedWithFolder feedWithFolder) { - EditFeedDialog editFeedDialog = new EditFeedDialog(this, feedWithFolder); - editFeedDialog.show(); + EditFeedDialog editFeedDialog = new EditFeedDialog(); + FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); + + transaction.add(editFeedDialog, "").commit(); } @Override diff --git a/app/src/main/java/com/readrops/app/views/EditFeedDialog.java b/app/src/main/java/com/readrops/app/views/EditFeedDialog.java index 69374fee..84478858 100644 --- a/app/src/main/java/com/readrops/app/views/EditFeedDialog.java +++ b/app/src/main/java/com/readrops/app/views/EditFeedDialog.java @@ -1,14 +1,18 @@ package com.readrops.app.views; import android.app.Activity; +import android.app.AlertDialog; import android.app.Dialog; import android.arch.lifecycle.ViewModelProvider; import android.arch.lifecycle.ViewModelProviders; import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.support.design.widget.TextInputEditText; +import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentActivity; +import android.view.View; import android.widget.Button; import android.widget.Spinner; @@ -17,7 +21,7 @@ import com.readrops.app.database.entities.Feed; import com.readrops.app.database.pojo.FeedWithFolder; import com.readrops.app.viewmodels.ManageFeedsViewModel; -public class EditFeedDialog extends Dialog { +public class EditFeedDialog extends DialogFragment { private TextInputEditText feedName; private TextInputEditText feedUrl; @@ -27,23 +31,25 @@ public class EditFeedDialog extends Dialog { private FeedWithFolder feedWithFolder; private ManageFeedsViewModel viewModel; - public EditFeedDialog(@NonNull Context context, FeedWithFolder feedWithFolder) { - super(context); - if (context instanceof Activity) - setOwnerActivity((Activity) context); - - this.feedWithFolder = feedWithFolder; - viewModel = ViewModelProviders.of((FragmentActivity) getOwnerActivity()).get(ManageFeedsViewModel.class); - } - + @NonNull @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.edit_feed_layout); + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + viewModel = ViewModelProviders.of(getActivity()).get(ManageFeedsViewModel.class); + View v = getActivity().getLayoutInflater().inflate(R.layout.edit_feed_layout, null); - feedName = findViewById(R.id.edit_feed_name_edit_text); - feedUrl = findViewById(R.id.edit_feed_url_edit_text); - folder = findViewById(R.id.edit_feed_folder_spinner); - validate = findViewById(R.id.edit_feed_validate); + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()) + .setTitle(getString(R.string.edit_feed)) + .setPositiveButton(getString(R.string.validate), (dialog, which) -> { + + }); + + builder.setView(v); + + feedName = v.findViewById(R.id.edit_feed_name_edit_text); + feedUrl = v.findViewById(R.id.edit_feed_url_edit_text); + folder = v.findViewById(R.id.edit_feed_folder_spinner); + return builder.create(); } + + } diff --git a/app/src/main/res/layout/edit_feed_layout.xml b/app/src/main/res/layout/edit_feed_layout.xml index dc8a5a69..86362235 100644 --- a/app/src/main/res/layout/edit_feed_layout.xml +++ b/app/src/main/res/layout/edit_feed_layout.xml @@ -1,40 +1,31 @@ - - + android:padding="18dp"> + app:layout_constraintTop_toTopOf="parent"> + android:hint="@string/feed_name" + android:inputType="textUri" + android:lines="1" /> + android:hint="@string/feed_url" + android:inputType="textUri" + android:lines="1"/> -