Forráskód Böngészése

added changing RecyclerViewer

Simon Hammer 3 éve
szülő
commit
480ee2baef

+ 15 - 15
app/src/main/java/com/noahvogt/miniprojekt/MainActivity.java

@@ -1,7 +1,6 @@
 package com.noahvogt.miniprojekt;
 
 import android.content.Intent;
-import android.os.Build;
 import android.os.Bundle;
 
 import android.view.Menu;
@@ -10,7 +9,6 @@ import android.widget.Button;
 import android.widget.EditText;
 import android.widget.Toast;
 
-import androidx.annotation.RequiresApi;
 import androidx.appcompat.app.AlertDialog;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.appcompat.widget.Toolbar;
@@ -19,11 +17,11 @@ import androidx.fragment.app.DialogFragment;
 
 import com.google.android.material.floatingactionbutton.FloatingActionButton;
 import com.noahvogt.miniprojekt.ui.DataBase.Message;
-import com.noahvogt.miniprojekt.ui.gallery.GalleryFragment;
 import com.noahvogt.miniprojekt.ui.home.CustomAdapter;
 
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.lifecycle.ViewModelProvider;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
@@ -37,8 +35,6 @@ import androidx.navigation.ui.AppBarConfiguration;
 import androidx.navigation.ui.NavigationUI;
 
 import com.google.android.material.snackbar.Snackbar;
-import com.noahvogt.miniprojekt.ui.home.HomeFragment;
-import com.noahvogt.miniprojekt.ui.slideshow.DraftFragment;
 import com.noahvogt.miniprojekt.ui.slideshow.EmailViewModel;
 
 import java.text.SimpleDateFormat;
@@ -53,11 +49,10 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
 
     public static final int NEW_WORD_ACTIVITY_REQUEST_CODE = 1;
     public static EmailViewModel mEmailViewModel;
-    public static int View;
+    public static RecyclerView recyclerView;
 
     public static final CustomAdapter adapter = new CustomAdapter(new CustomAdapter.EmailDiff());
 
-
     private AlertDialog dialog;
 
     private EditText newemail_name, newemail_email, newemail_password; // may not be private
@@ -123,8 +118,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
 
 
         // Lookup the recyclerview in activity layout
-        RecyclerView recyclerView = findViewById(R.id.recyclerView);
-        final CustomAdapter adapter = new CustomAdapter(new CustomAdapter.EmailDiff());
+        recyclerView = findViewById(R.id.recyclerView);
 
 
         /* Attach the adapter to the recyclerview to populate items */
@@ -132,18 +126,20 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
         recyclerView.setLayoutManager(new LinearLayoutManager(this));
         //mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
 
+
         mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
-        mEmailViewModel.getDraftMessage().observe(this, messages -> {
+        mEmailViewModel.getInboxMessage().observe(this, messages -> {
             /* Update the cached copy of the messages in the adapter*/
             adapter.submitList(messages);
         });
 
-           if (GalleryFragment.galleryViewOn) {
+
+         /* if (GalleryFragment.galleryViewOn) {
                showToast("gallery True");
                 mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
                 mEmailViewModel.getDraftMessage().observe(this, messages -> {
                     /* Update the cached copy of the messages in the adapter*/
-                   adapter.submitList(messages);
+            /*       adapter.submitList(messages);
                 });
                 //mEmailViewModel.deleteNewMessage();
             }
@@ -152,7 +148,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
                mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
                mEmailViewModel.getDraftMessage().observe(this, messages -> {
                            /* Update the cached copy of the messages in the adapter*/
-                           adapter.submitList(messages);
+            /*               adapter.submitList(messages);
                });
            }
            else if (DraftFragment.DraftViewOn){
@@ -160,13 +156,15 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
                mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
                mEmailViewModel.getDraftMessage().observe(this, messages -> {
                    /* Update the cached copy of the messages in the adapter*/
-                   adapter.submitList(messages);
+             /*      adapter.submitList(messages);
                });
            }
            else {
                //mEmailViewModel.deleteNewMessage();
            }
 
+              */
+
 
 
         /* Start email Writer*/
@@ -186,6 +184,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
 
 
 
+
         /* gets the data from the Email writer and adds it to the Database I think*/
         public void onActivityResult(int requestCode, int resultCode, Intent data) {
             super.onActivityResult(requestCode, resultCode, data);
@@ -203,7 +202,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
                         data.getStringExtra(NewDraftMessageActivity.EXTRA_FROM),
                         ft.format(dNow),
                         data.getStringExtra(NewDraftMessageActivity.EXTRA_SUBJECT),
-                        data.getStringExtra(NewDraftMessageActivity.EXTRA_MESSAGE), "Draft",false);
+                        data.getStringExtra(NewDraftMessageActivity.EXTRA_MESSAGE),
+                        "Draft",false);
                 mEmailViewModel.insert(word);
             } else {
                 Toast.makeText(

+ 1 - 1
app/src/main/java/com/noahvogt/miniprojekt/NewDraftMessageActivity.java

@@ -32,7 +32,7 @@ public class NewDraftMessageActivity extends AppCompatActivity {
         subjectObject = findViewById(R.id.create_message_subject_text);
         messageBodyObject = findViewById(R.id.create_message_body_text);
 
-        final ImageButton button = findViewById(R.id.create_message_send_button);
+        final ImageButton button = findViewById(R.id.create_message_close_button);
         button.setOnClickListener(view -> {
             Intent replyIntent = new Intent();
             if (TextUtils.isEmpty(sendingAddressObject.getText())) {

+ 2 - 2
app/src/main/java/com/noahvogt/miniprojekt/ui/DataBase/EmailRepository.java

@@ -25,8 +25,8 @@ public class EmailRepository {
         messageDao = db.messageDao();
         mDraftMessage = messageDao.getDraftMessages();
        // mArchiveMessage = messageDao.getArchiveMessages();
-       // mInboxMessage = messageDao.getInboxMessages();
-      //  mSentMessage = messageDao.getSentMessages();
+        mInboxMessage = messageDao.getInboxMessages();
+        mSentMessage = messageDao.getSentMessages();
     }
 
     // Room executes all queries on a separate thread.

+ 9 - 11
app/src/main/java/com/noahvogt/miniprojekt/ui/DataBase/EmailRoomDatabase.java

@@ -66,21 +66,19 @@ public abstract class EmailRoomDatabase extends RoomDatabase{
                 dao.deleteAll();
 
                Message word = new Message("Simon", null, null,
-                        "YungBoy", "28.8.21", "testing", "I want to try it", "Draft",
+                        "YungBoy", "28.8.21", "draftTest", "I want to try it", "Draft",
                         true);
-                dao.insert(word);
+               dao.insert(word);
 
-                word = new Message("Noah", null , null,
-                        "Samuel", "31.9.21", "draftTest", "I Try my best", "Inbox",
+               word = new Message("Noah", null , null,
+                        "Samuel", "31.9.21", "inboxTest", "I Try my best", "Inbox",
                         true);
-                dao.delete(word);
-
-
-
-
-
-
+               dao.insert(word);
 
+               word = new Message("Noah", null, null,
+                       "arldemeier", "bobo", "sentTest", "i could cry", "Sent",
+                       true);
+               dao.insert(word);
 
             });
         }

+ 1 - 1
app/src/main/java/com/noahvogt/miniprojekt/ui/DataBase/MessageDao.java

@@ -50,7 +50,7 @@ public interface MessageDao {
     LiveData<List<Message>> getDateMessages();
 
     /* get Draft messages*/
-    @Query("SELECT * FROM message_table WHERE folder LIKE 'Draft' ORDER BY date ASC")
+    @Query("SELECT * FROM message_table WHERE folder='Draft' ORDER BY date ASC")
     LiveData<List<Message>> getDraftMessages();
 
     /* get Inbox messages*/

+ 22 - 10
app/src/main/java/com/noahvogt/miniprojekt/ui/gallery/GalleryFragment.java

@@ -10,8 +10,11 @@ import android.widget.Toast;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.fragment.app.Fragment;
+import androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.Observer;
 import androidx.lifecycle.ViewModelProvider;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 import com.noahvogt.miniprojekt.MainActivity;
 import com.noahvogt.miniprojekt.R;
@@ -21,25 +24,30 @@ import com.noahvogt.miniprojekt.ui.slideshow.EmailViewModel;
 public class GalleryFragment extends Fragment {
 
     private GalleryViewModel galleryViewModel;
-    public static boolean galleryViewOn;
-    public static EmailViewModel mEmailViewModel;
+    EmailViewModel mEmailViewModel;
+    RecyclerView recyclerView;
 
     public View onCreateView(@NonNull LayoutInflater inflater,
                              ViewGroup container, Bundle savedInstanceState) {
 
-        MainActivity.View = 1;
-        galleryViewOn = true;
+
+
+        recyclerView = MainActivity.recyclerView.findViewById(R.id.recyclerView);
+
+        final CustomAdapter adapter = new CustomAdapter(new CustomAdapter.EmailDiff());
+
+        /* Attach the adapter to the recyclerview to populate items */
+        recyclerView.setAdapter(adapter);
+        recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
+        //mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
 
         mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
-        Toast.makeText(getContext(), mEmailViewModel.toString() , Toast.LENGTH_SHORT).show();
-        mEmailViewModel.getDraftMessage().observe(getViewLifecycleOwner(), messages -> {
+        mEmailViewModel.getSentMessage().observe(getViewLifecycleOwner(), messages -> {
             /* Update the cached copy of the messages in the adapter*/
-            MainActivity.adapter.submitList(messages);
+            adapter.submitList(messages);
         });
-       // mEmailViewModel.deleteNewMessage();
-
-        Toast.makeText(getContext(), "clicked sent", Toast.LENGTH_SHORT).show();
 
+       // mEmailViewModel.deleteNewMessage();
 
         galleryViewModel =
                 new ViewModelProvider(this).get(GalleryViewModel.class);
@@ -52,6 +60,10 @@ public class GalleryFragment extends Fragment {
             }
         });
         return root;
+
+
+
+
     }
 
 

+ 24 - 2
app/src/main/java/com/noahvogt/miniprojekt/ui/home/HomeFragment.java

@@ -12,19 +12,41 @@ import androidx.annotation.Nullable;
 import androidx.fragment.app.Fragment;
 import androidx.lifecycle.Observer;
 import androidx.lifecycle.ViewModelProvider;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 import com.noahvogt.miniprojekt.MainActivity;
 import com.noahvogt.miniprojekt.R;
+import com.noahvogt.miniprojekt.ui.slideshow.EmailViewModel;
 
 public class HomeFragment extends Fragment {
 
     private HomeViewModel homeViewModel;
-    public static boolean homeViewOn;
+    EmailViewModel mEmailViewModel;
+    RecyclerView recyclerView;
 
     public View onCreateView(@NonNull LayoutInflater inflater,
                              ViewGroup container, Bundle savedInstanceState) {
 
-        homeViewOn = true;
+
+
+        recyclerView = MainActivity.recyclerView.findViewById(R.id.recyclerView);
+
+        final CustomAdapter adapter = new CustomAdapter(new CustomAdapter.EmailDiff());
+
+        /* Attach the adapter to the recyclerview to populate items */
+        recyclerView.setAdapter(adapter);
+        recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
+        //mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
+
+        mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
+        mEmailViewModel.getInboxMessage().observe(getViewLifecycleOwner(), messages -> {
+            /* Update the cached copy of the messages in the adapter*/
+            adapter.submitList(messages);
+        });
+
+
+
         homeViewModel =
                 new ViewModelProvider(this).get(HomeViewModel.class);
         View root = inflater.inflate(R.layout.fragment_home, container, false);

+ 24 - 2
app/src/main/java/com/noahvogt/miniprojekt/ui/slideshow/DraftFragment.java

@@ -11,17 +11,39 @@ import androidx.annotation.Nullable;
 import androidx.fragment.app.Fragment;
 import androidx.lifecycle.Observer;
 import androidx.lifecycle.ViewModelProvider;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
+import com.noahvogt.miniprojekt.MainActivity;
 import com.noahvogt.miniprojekt.R;
+import com.noahvogt.miniprojekt.ui.home.CustomAdapter;
 
 public class DraftFragment extends Fragment {
 
    private DraftViewModel draftViewModel;
-    public static boolean DraftViewOn;
+   EmailViewModel mEmailViewModel;
+   RecyclerView recyclerView;
+
 
     public View onCreateView(@NonNull LayoutInflater inflater,
                              ViewGroup container, Bundle savedInstanceState) {
-    DraftViewOn = true;
+
+
+
+        recyclerView = MainActivity.recyclerView.findViewById(R.id.recyclerView);
+
+        final CustomAdapter adapter = new CustomAdapter(new CustomAdapter.EmailDiff());
+
+        /* Attach the adapter to the recyclerview to populate items */
+        recyclerView.setAdapter(adapter);
+        recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
+        //mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
+
+        mEmailViewModel = new ViewModelProvider(this).get(EmailViewModel.class);
+        mEmailViewModel.getDraftMessage().observe(getViewLifecycleOwner(), messages -> {
+            /* Update the cached copy of the messages in the adapter*/
+            adapter.submitList(messages);
+        });
 
         draftViewModel =
                 new ViewModelProvider(this).get(DraftViewModel.class);

+ 7 - 8
app/src/main/java/com/noahvogt/miniprojekt/ui/slideshow/EmailViewModel.java

@@ -23,11 +23,13 @@ public class EmailViewModel extends AndroidViewModel {
     public EmailViewModel(Application application) {
         super(application);
         mEmailRepository = new EmailRepository(application);
-       mDraftMessage = mEmailRepository.getDraftMessages();
+        mDraftMessage = mEmailRepository.getDraftMessages();
+        mInboxMessage = mEmailRepository.getInboxMessages();
+        mSentMessage = mEmailRepository.getSentMessages();
+        mArchiveMassage = mEmailRepository.getArchiveMessages();
     }
 
     public LiveData<List<Message>> getDraftMessage(){
-      //  mDraftMessage = mEmailRepository.getDraftMessages();
         return mDraftMessage;
     }
 
@@ -36,16 +38,13 @@ public class EmailViewModel extends AndroidViewModel {
     }
 
     public LiveData<List<Message>> getInboxMessage(){
-        mInboxMessage = mEmailRepository.getInboxMessages();
-        return mDraftMessage;}
+        return mInboxMessage;}
 
     public LiveData<List<Message>> getSentMessage(){
-        mSentMessage = mEmailRepository.getSentMessages();
-        return mDraftMessage;}
+        return mSentMessage;}
 
     public LiveData<List<Message>> getArchiveMessage(){
-        mArchiveMassage = mEmailRepository.getArchiveMessages();
-        return mDraftMessage;}
+        return mArchiveMassage;}