diff --git a/app/src/main/java/com/example/project/Field.java b/app/src/main/java/com/example/project/Field.java index 56eb2213a2d242e860264602b3c714b12726a4df..6a6b25bcb2f21951280cfb353f2e60a749afbdec 100644 --- a/app/src/main/java/com/example/project/Field.java +++ b/app/src/main/java/com/example/project/Field.java @@ -1,23 +1,17 @@ package com.example.project; import android.content.Context; -import android.graphics.Canvas; +import android.graphics.Color; import android.util.AttributeSet; -import android.view.LayoutInflater; import android.view.View; -import android.view.ViewGroup; -import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; - import androidx.annotation.Nullable; public class Field extends LinearLayout{ private View view; private String label; - private Context context; - private EditText editText; - private MainActivity mainActivity; + private TextView textView; public DataManip getDataManip() { return dataManip; @@ -58,7 +52,7 @@ public class Field extends LinearLayout{ */ public void init(){ this.setOrientation(LinearLayout.VERTICAL); - final TextView textView = new TextView(getContext()); + textView = new TextView(getContext()); textView.setText(label); textView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); view.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); @@ -67,4 +61,15 @@ public class Field extends LinearLayout{ } + public View getView() { + return view; + } + + public void setView(View view) { + this.view = view; + } + + public void notValid(){ + this.textView.setTextColor(Color.RED); + } } diff --git a/app/src/main/java/com/example/project/MainActivity.java b/app/src/main/java/com/example/project/MainActivity.java index d825e314fb54cf6a0c2a60f2a5108a7e46e22f34..5b9fc27872e1a9521258e1da2d792d6bef72ce71 100644 --- a/app/src/main/java/com/example/project/MainActivity.java +++ b/app/src/main/java/com/example/project/MainActivity.java @@ -18,11 +18,9 @@ public class MainActivity extends AppCompatActivity{ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - //final PWStrengthMeter pw = findViewById(R.id.pwval); - //pw.setDataManip(new PasswordValidator()); - myForm = findViewById(R.id.myForm); defaultForm(); + Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override @@ -34,21 +32,25 @@ public class MainActivity extends AppCompatActivity{ /** - * Test + * Test form + * Creates fields for username, email, password and checkbox. */ public void defaultForm(){ - final View usernameV = new EditText(this); - Field name = new Field(this, "Username", usernameV, new DataManip() { + final Field name = new Field(this, "Username", usernameV, new DataManip() { @Override public boolean validate(View v) { - return false; + if (((EditText)v).getText().length() > 6) + return true; + else { + return false; + } } @Override public String getValue(View v) { - return ((EditText) usernameV).getText().toString(); + return ((EditText) usernameV).getText().toString(); } }); @@ -60,7 +62,8 @@ public class MainActivity extends AppCompatActivity{ final Field password = new Field(this, "Password", pwStrengthMeter, new DataManip() { @Override public boolean validate(View v) { - return pwStrengthMeter.isValid(); + + return ((PWStrengthMeter)v).isValid(); // FUNKAR EJ, FIXAAAAA } @Override public String getValue(View vv) { @@ -76,12 +79,12 @@ public class MainActivity extends AppCompatActivity{ Field email = new Field(this, "Email", emailV, new DataManip() { @Override public boolean validate(View v) { + //insert validateEmail(); + return true; - return false; } @Override public String getValue(View v) { - return ((EditText) emailV).getText().toString(); } }); @@ -92,6 +95,7 @@ public class MainActivity extends AppCompatActivity{ Field checkBox = new Field(this, "Terms and Conditions", checkBoxV, new DataManip() { @Override public boolean validate(View v) { + //insert isChecked(); return true; } @Override diff --git a/app/src/main/java/com/example/project/MyForm.java b/app/src/main/java/com/example/project/MyForm.java index ce204917245885b05ea228dd2b0177d0732205c5..0144462095e00865b824548a988b54f6742bac81 100644 --- a/app/src/main/java/com/example/project/MyForm.java +++ b/app/src/main/java/com/example/project/MyForm.java @@ -59,19 +59,22 @@ public class MyForm extends LinearLayout { public List<String> getData(){ List<String> s = new ArrayList<String>(); for(Field f : list){ - s.add(f.getDataManip().getValue(field)); + if (f.getDataManip().validate(f.getView())) + s.add(f.getDataManip().getValue(f.getView())); + else + f.notValid(); + s.add(null); } System.out.println(s); return s; - } - /** * Lets the user add logic to a certain field. * @param field Field that should be modified. */ public void addLogic(Field field){ + } } diff --git a/app/src/main/java/com/example/project/PWStrengthMeter.java b/app/src/main/java/com/example/project/PWStrengthMeter.java index 71d1c53f9238676f25f452ba5e1dd91031c0f904..af0358dad6c1708d18c151bed6115a436675ffe8 100644 --- a/app/src/main/java/com/example/project/PWStrengthMeter.java +++ b/app/src/main/java/com/example/project/PWStrengthMeter.java @@ -18,7 +18,6 @@ public class PWStrengthMeter extends LinearLayout implements PasswordValidatorLi private EditText input; private TextView output; - private String pw; private int grade; private MyGUI myGUI; private PasswordValidator passwordValidator; @@ -91,9 +90,9 @@ public class PWStrengthMeter extends LinearLayout implements PasswordValidatorLi */ @Override public boolean isValid() { - if (grade >= 2) + if (grade >= 2) { return true; - else return false; + } + else {return false;} } - }