Browse Source

small changes

Simon Hammer 3 years ago
parent
commit
8e7eaeae8b

+ 1 - 1
app/src/main/java/com/noahvogt/miniprojekt/mailFunctions.java → app/src/main/java/com/noahvogt/miniprojekt/MailFunctions.java

@@ -9,7 +9,7 @@ import com.chaquo.python.Python;
 import java.util.HashMap;
 import java.util.List;
 
-public class mailFunctions {
+public class MailFunctions {
 
     public static boolean canConnect(String host, String email, String password) {
         Python python = Python.getInstance();

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

@@ -266,18 +266,35 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
                 String email = newemail_email.getText().toString();
                 String password = newemail_password.getText().toString();
 
-                if (!mailFunctions.validateEmail(newemail_email) | !mailFunctions.validateName(newemail_name) | !mailFunctions.validatePassword(newemail_password)) {
+                if (!MailFunctions.validateEmail(newemail_email) | !MailFunctions.validateName(newemail_name) | !MailFunctions.validatePassword(newemail_password)) {
                     return;
                 }
 
                 /* connect to mail server and print various debugging output */
                 showToast("Probe Connection ...");
-                if (mailFunctions.canConnect(name, email, password) == Boolean.TRUE) {
+                if (MailFunctions.canConnect(name, email, password) == Boolean.TRUE) {
                     showToast("was able to connect");
-                    //List l =  mailFunctions.listMailboxes(mailFunctions.getIMAPConnection(name, email, password));
-                    //for (int i = 0; i < l.size(); i++) {
-                    //    showToast(l.get(i).toString());
-                    //}
+                    List l =  MailFunctions.listMailboxes(MailFunctions.getIMAPConnection(name, email, password));
+                    for (int i = 0; i < l.size(); i++) {
+                        showToast(l.get(i).toString());
+                        /*gives list of Message Objects/dictionaries */
+                        //List p = MailFunctions.fetchMailsFromBox(MailFunctions.getIMAPConnection(name, email, password), "INBOX");
+                        System.out.println(l.get(i).toString());
+                    }
+
+                    /*Message word = new Message(
+                            messageCreateFragment.replyIntent.getStringExtra(messageCreateFragment.EXTRA_TO),
+                            null,
+                            null,
+                            messageCreateFragment.replyIntent.getStringExtra(messageCreateFragment.EXTRA_FROM),
+                            ft.format(dNow),
+                            messageCreateFragment.replyIntent.getStringExtra(messageCreateFragment.EXTRA_SUBJECT),
+                            messageCreateFragment.replyIntent.getStringExtra(messageCreateFragment.EXTRA_MESSAGE),
+                            "Draft",false);
+                    mEmailViewModel.insert(word);
+
+                     */
+
                     preferencesEditor.putString("name", name);
                     preferencesEditor.putString("email", email);
                     preferencesEditor.putString("password", password);

+ 4 - 8
app/src/main/java/com/noahvogt/miniprojekt/messageCreateFragment.java

@@ -7,8 +7,6 @@ import android.content.SharedPreferences;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
-import android.os.Message;
-import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;
@@ -23,8 +21,6 @@ import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
 
-import java.util.Arrays;
-import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
@@ -203,11 +199,11 @@ public class messageCreateFragment extends DialogFragment implements PopupMenu.O
                 String bccStr = bccObject.getText().toString();
 
                 /* check for valid input */
-                if (mailFunctions.validateMessageBody(messageBodyObject) && mailFunctions.validateSubject(subjectObject) &&
-                mailFunctions.validateEmail(receivingAddressObject) && mailFunctions.validateEmail(sendingAddressObject) &&
-                !mailFunctions.checkForSameEmail(sendingAddressObject, receivingAddressObject)) {
+                if (MailFunctions.validateMessageBody(messageBodyObject) && MailFunctions.validateSubject(subjectObject) &&
+                MailFunctions.validateEmail(receivingAddressObject) && MailFunctions.validateEmail(sendingAddressObject) &&
+                !MailFunctions.checkForSameEmail(sendingAddressObject, receivingAddressObject)) {
                     String password = preferences.getString("password","");
-                    mailFunctions.sendStarttlsMail("smtp.edubs.ch", sendingAddress, receivingAddress, password, messageBody, subject, ccStr, bccStr);
+                    MailFunctions.sendStarttlsMail("smtp.edubs.ch", sendingAddress, receivingAddress, password, messageBody, subject, ccStr, bccStr);
                     Toast.makeText(getActivity(), "sending ... ", Toast.LENGTH_SHORT).show();
                     dismiss();
                 } else {

+ 2 - 0
app/src/main/java/com/noahvogt/miniprojekt/ui/gallery/GalleryFragment.java

@@ -18,6 +18,7 @@ import androidx.lifecycle.ViewModelProvider;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.noahvogt.miniprojekt.MailFunctions;
 import com.noahvogt.miniprojekt.MainActivity;
 import com.noahvogt.miniprojekt.R;
 import com.noahvogt.miniprojekt.ui.DataBase.Message;
@@ -76,6 +77,7 @@ public class GalleryFragment extends Fragment implements CustomAdapter.SelectedM
 
         final CustomAdapter adapter = new CustomAdapter(new CustomAdapter.EmailDiff(), this);
 
+
         /* Attach the adapter to the recyclerview to populate items */
         recyclerView.setAdapter(adapter);
         recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));

+ 5 - 4
app/src/main/java/com/noahvogt/miniprojekt/ui/show/MessageShowFragment.java

@@ -6,6 +6,7 @@ import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.EditText;
 import android.widget.ImageButton;
 import android.widget.PopupMenu;
 import android.widget.TextView;
@@ -25,8 +26,8 @@ import com.noahvogt.miniprojekt.ui.slideshow.EmailViewModel;
 public class MessageShowFragment extends DialogFragment implements PopupMenu.OnMenuItemClickListener {
 
 
-    public TextView showTo;
-    public TextView showFrom;
+    public EditText showTo;
+    public EditText showFrom;
     public TextView showSubject;
     public TextView showMessage;
 
@@ -72,8 +73,8 @@ public class MessageShowFragment extends DialogFragment implements PopupMenu.OnM
         ImageButton dotButton = view.findViewById(R.id.show_message_dots_button);
         ImageButton attachButton = view.findViewById(R.id.show_message_attach_button);
 
-        showTo = (TextView) view.findViewById(R.id.show_To);
-        showFrom = (TextView) view.findViewById(R.id.show_From);
+        showTo = (EditText) view.findViewById(R.id.show_To);
+        showFrom = (EditText) view.findViewById(R.id.show_From);
         showSubject = (TextView) view.findViewById(R.id.show_Subject);
         showMessage = (TextView) view.findViewById(R.id.show_Message);
 

+ 5 - 1
app/src/main/python/mailFunctions.py

@@ -16,7 +16,10 @@ def checkConnection(host, username, password, port):
 def connect(host, username, password, port):
     connect = imaplib.IMAP4_SSL(host, port)
     connect.login(username, password)
-    connect.enable("UTF8=ACCEPT")
+    try:
+        connect.enable("UTF8=ACCEPT")
+    except:
+        pass
     return connect
 
 def listMailboxes(connection):
@@ -57,6 +60,7 @@ def fetchMails(connection, inbox):
         msg = email.message_from_bytes(data[0][1])
 
         #print(msg)
+        print(num)
 
         raw_string = email.header.decode_header(msg['Subject'])[0]
         raw_from = email.header.decode_header(msg['From'])[0]

+ 12 - 2
app/src/main/res/layout/message_show_fragment.xml

@@ -86,7 +86,8 @@
                 android:layout_marginRight="12dp"
                 android:layout_marginBottom="12dp">
 
-                <com.google.android.material.textview.MaterialTextView
+                <com.google.android.material.textfield.TextInputEditText
+                style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                 android:id="@+id/show_From"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -105,6 +106,10 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
 
+                android:clickable="false"
+                android:textIsSelectable="false"
+                android:freezesText="true"
+
                 android:layout_marginStart="12dp"
                 android:layout_marginLeft="12dp"
                 android:layout_marginTop="12dp"
@@ -112,12 +117,17 @@
                 android:layout_marginRight="12dp"
                 android:layout_marginBottom="12dp">
 
-                <TextView
+                <com.google.android.material.textfield.TextInputEditText
+                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                     android:id="@+id/show_To"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:layout_marginStart="12dp"
 
+                    android:clickable="false"
+                    android:textIsSelectable="false"
+                    android:freezesText="true"
+
                     android:layout_marginLeft="12dp"
                     android:layout_marginTop="12dp"
                     android:layout_marginEnd="12dp"