Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion app/app.iml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/resValues/debug" />
<option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" />
<option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
</configuration>
</facet>
Expand Down Expand Up @@ -103,6 +103,9 @@
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:core:1.1.0@aar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:monitor:1.1.1@aar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-idling-resource:3.1.1@aar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.mockito:mockito-core:1.10.19@jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:core:1.0.0@aar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:monitor:1.1.0@aar" level="project" />
<orderEntry type="library" name="Gradle: androidx.collection:collection:1.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.arch.core:core-common:2.0.0@jar" level="project" />
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.0.0@jar" level="project" />
Expand Down
12 changes: 12 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

testOptions {
unitTests.returnDefaultValues = true
}
}

dependencies {
Expand All @@ -29,6 +33,14 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'

// Required -- JUnit 4 framework
testImplementation 'junit:junit:4.12'
// Optional -- Robolectric environment
testImplementation 'androidx.test:core:1.0.0'
// Optional -- Mockito framework
testImplementation 'org.mockito:mockito-core:1.10.19'


implementation 'com.google.code.gson:gson:2.8.6'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'com.google.android.material:material:1.0.0'
Expand Down
123 changes: 123 additions & 0 deletions app/src/main/java/com/example/nfcapp/BCardObject/BCardObject.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
package com.example.nfcapp.BCardObject;

import android.graphics.Bitmap;
import android.graphics.Picture;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class BCardObject {

private int id; //

private Bitmap bitmapImage;
private String name;
private String position;

private List<String> phoneNumber = new ArrayList<>();
private List<String> email = new ArrayList<>();

BCardObject() {
this.id = new Random().nextInt();
this.name = new Integer(new Random().nextInt()).toString();
this.position = new Integer(new Random().nextInt()).toString();
}

public BCardObject(int id, String name, String position) {
this.id = id;
this.name = name;
this.position = position;
}

public int getId() {
return id;
}

public String getName() {
return name;
}

public void editName(String name) {
this.name = name;
}

public void setName(String name) {
this.name = name;
}

public String getPosition() {
return position;
}

public void setPosition(String position) {
this.position = position;
}

public String[] getmail() {
return email.toArray(new String[email.size()]);
}

public String[] getPhoneNumber() {
return phoneNumber.toArray(new String[phoneNumber.size()]);
}

public void addMail(String email) {
this.email.add(email);
}

public void addNumber(String phoneNumber) {
this.phoneNumber.add(phoneNumber);
}

public void addPicture(File picture) {

}

boolean hasPicture() {
if (bitmapImage == null)
return false;

return true;
}

public String getNumber1() { return phoneNumber.get(0); }

public String getEmail1() { return email.get(0); }

@Override
public String toString() {
return "BCardObject{" +
"id=" + id +
", picture=" + bitmapImage +
", name='" + name + '\'' +
", position='" + position + '\'' +
", phoneNumber=" + phoneNumber +
", email=" + email +
'}';
}

public String toTerminalString() {

StringBuilder sb = new StringBuilder();

sb.append("ID : " + id + "\n");
sb.append("Name : " + name + "\n");
sb.append("Position : "+ position + "\n");
sb.append("hasPicture : " + hasPicture() + "\n");

//PhoneNumber
sb.append("phoneNumbers : \n");
for (int i = 0; i < phoneNumber.size(); i++) {
sb.append(" " + (i+1) + " | " + phoneNumber.get(i) + "\n");
}

//email
sb.append("email : " + "\n");
for (int i = 0; i < email.size(); i++) {
sb.append(" " + (i+1) + " | " + email.get(i) + "\n");
}
return sb.toString();
}
}
29 changes: 29 additions & 0 deletions app/src/main/java/com/example/nfcapp/BCardObject/Company.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.example.nfcapp.BCardObject;

import android.location.Location;

public class Company {

String name;
String title;
Location location;
String jobDescibtion;

public Company(String name, String title, Location location, String jobDescibtion) {
this.name = name;
this.title = title;
this.location = location;
this.jobDescibtion = jobDescibtion;
}

public Company() {
}

void put(String TYPE, int input) {

}

void put(String TYPE, String input) {

}
}
66 changes: 66 additions & 0 deletions app/src/main/java/com/example/nfcapp/BCardObject/User.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package com.example.nfcapp.BCardObject;

import static android.provider.ContactsContract.CommonDataKinds.StructuredName.*;

import java.lang.reflect.Array;
import java.util.ArrayList;


public class User {

private int id;
private String prefix;
private String firstName;
private String middleName;
private String lastName;
private String suffix;
private ArrayList<String> phoneNumber = new ArrayList<>();

public User(int id, String prefix, String firstName, String middleName, String lastName, String suffix) {
this.id = id;
this.prefix = prefix;
this.firstName = firstName;
this.middleName = middleName;
this.lastName = lastName;
this.suffix = suffix;
}

public User() {

}

void put(String TYPE, int input) {
switch(TYPE) {
case CONTACT_ID :
this.id = input;
break;

default:
throw new TypeNotPresentException(TYPE, new Throwable("exception thrown in com.example.nfcapp.BCardObject.User"));
}
}

void put(String TYPE, String input) {
switch (TYPE) {
case PREFIX:
this.prefix = input;
break;

case GIVEN_NAME:
this.firstName = input;
break;

case MIDDLE_NAME:
this.middleName = input;
break;

case FAMILY_NAME:
this.lastName = input;
break;

case SUFFIX:
this.suffix = input;
break;
}
}
}
42 changes: 42 additions & 0 deletions app/src/main/java/com/example/nfcapp/ButtonControl.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.example.nfcapp;

import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class ButtonControl implements TextWatcher {

private EditText t1;
private EditText t2;
private EditText t3;
private EditText t4;
private Button button;

public ButtonControl(View t1, View t2, View t3, View t4, View b) {
this.t1 = (EditText) t1;
this.t2 = (EditText) t2;
this.t3 = (EditText) t3;
this.t4 = (EditText) t4;
this.button = (Button) b;
}

@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override
public void afterTextChanged(Editable editable) {
if (t1.length() > 0 && t2.length() > 0 && t3.length() > 0 && t4.length() > 0)
button.setClickable(true);
else
button.setClickable(false);
}
}
Loading