Skip to content

Commit

Permalink
Bug Fixes and Structure Updates.
Browse files Browse the repository at this point in the history
  • Loading branch information
Tim Eichinger committed May 20, 2019
1 parent 4fb006d commit 0b01c79
Show file tree
Hide file tree
Showing 24 changed files with 521 additions and 202 deletions.
6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ dependencies {
implementation 'com.google.firebase:firebase-auth:16.2.1'
implementation 'com.google.firebase:firebase-firestore:18.2.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.weiwangcn.betterspinner:library-material:1.1.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:7.3.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.google.firebase:firebase-storage:16.1.0'
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
android:theme="@style/AppTheme">
<activity android:name=".QRCodeScanActivtiy"
android:screenOrientation="portrait"/>
<activity android:name=".ProfileAcivity"
<activity android:name=".nav_activities.ProfileAcivity"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="portrait"/>
<activity
android:name=".logreg.LogRegActivity"
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/java/com/teapps/bolzer/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import com.teapps.bolzer.fragments.BolzerTicketsFragment;
import com.teapps.bolzer.fragments.StatisticFragment;
import com.teapps.bolzer.logreg.LogRegActivity;
import com.teapps.bolzer.nav_activities.ProfileAcivity;

import java.util.Calendar;

Expand Down Expand Up @@ -111,6 +112,7 @@ private void initializeNavDrawer() {
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.nav_proile:
startActivity(new Intent(MainActivity.this, ProfileAcivity.class));
return true;

case R.id.nav_logout:
Expand Down Expand Up @@ -175,5 +177,4 @@ private void showPermissionDialog() {
// Permission has already been granted
}
}

}
41 changes: 24 additions & 17 deletions app/src/main/java/com/teapps/bolzer/NewBolzerActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import android.app.AlarmManager;
import android.app.DatePickerDialog;
import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.location.Address;
import android.location.Geocoder;
import android.net.Uri;
Expand All @@ -23,7 +25,6 @@
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TimePicker;
import android.widget.Toast;
Expand Down Expand Up @@ -69,13 +70,14 @@ public class NewBolzerActivity extends AppCompatActivity {

private EditText title, country, city, postalcode, location, name;
private Spinner ageFrom, ageTo;
private ImageView imgPickLocation;
private Button btnPickLocation;

private Button btnSave, btnTime, btnDate;
private Button btnTime, btnDate;

private StorageReference mStorageRef;

private Calendar alarmCalender = Calendar.getInstance();
private ProgressDialog progressDialog;


@Override
Expand All @@ -90,14 +92,6 @@ protected void onCreate(Bundle savedInstanceState) {
initializeActionBar();
initializeObjects();
fillKnownObjects();
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
publishNewBolzer();
}
});


}

/**
Expand All @@ -109,7 +103,8 @@ private void publishNewBolzer() {

String bolzerLocationStr = location.getText().toString();
String[] bolzerLocation = bolzerLocationStr.split(", ");
String bolzerCreatorNameAndEmail = firebaseUser.getEmail() + "#" + name.getText().toString();
String bolzerCreatorNameAndEmail = firebaseUser.getEmail() + "#"
+ name.getText().toString() + "#" + firebaseUser.getUid();
String strAgeGroup = String.format(getString(R.string.age_data_to_string)
, ageFrom.getSelectedItem().toString(), ageTo.getSelectedItem().toString());
String randomId = randomID();
Expand Down Expand Up @@ -152,6 +147,12 @@ private void checkingDataAndCreateSnapshot(String bolzerLocationStr
if (isValidInput(map.get(KEY_TITLE).toString(), map.get(KEY_COUNTRY).toString()
, map.get(KEY_CITY).toString(), map.get(KEY_POSTALCODE).toString(), bolzerLocationStr)) {

progressDialog = new ProgressDialog(NewBolzerActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setMessage("wird veröffentlicht....");
progressDialog.setCancelable(false);
progressDialog.show();

MapSnapshotter.Options snapShotOptions = new MapSnapshotter
.Options(500, 350);
CameraPosition cameraPosition = new CameraPosition.Builder()
Expand Down Expand Up @@ -192,6 +193,7 @@ public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
uploadToFirebase(task, map, randomId);
} else {
progressDialog.dismiss();
Toast.makeText(getApplicationContext()
, getString(R.string.error_occurred)
, Toast.LENGTH_SHORT).show();
Expand Down Expand Up @@ -220,6 +222,7 @@ public void onComplete(@NonNull Task<Void> task) {
, getString(R.string.new_bolzer_published)
, Toast.LENGTH_SHORT).show();
setAlarm(map);
progressDialog.dismiss();
onBackPressed();
}
});
Expand Down Expand Up @@ -305,6 +308,7 @@ public void onDateSet(DatePicker view, int year,
alarmCalender.set(Calendar.YEAR, year);
alarmCalender.set(Calendar.MONTH, monthOfYear);
alarmCalender.set(Calendar.DAY_OF_MONTH, dayOfMonth);
btnDate.setTextColor(Color.parseColor("#000000"));
btnDate.setText(date);

}
Expand Down Expand Up @@ -335,9 +339,10 @@ public void onTimeSet(TimePicker view, int hourOfDay,
alarmCalender.set(Calendar.HOUR_OF_DAY, hourOfDay);
alarmCalender.set(Calendar.MINUTE, minute);
String time = hour+"."+min;
btnTime.setTextColor(Color.parseColor("#000000"));
btnTime.setText(time);
}
}, mHour, mMinute, false);
}, mHour, mMinute, true);
timePickerDialog.show();
}

Expand Down Expand Up @@ -388,10 +393,8 @@ private void initializeObjects() {
city.setEnabled(false);
postalcode.setEnabled(false);

btnSave = findViewById(R.id.btnSaveNewB);

imgPickLocation = findViewById(R.id.imageView);
imgPickLocation.setOnClickListener(new View.OnClickListener() {
btnPickLocation = findViewById(R.id.pickAdress);
btnPickLocation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pickLocation();
Expand Down Expand Up @@ -425,6 +428,7 @@ public void onClick(View v) {

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_new_bolzer, menu);
return super.onCreateOptionsMenu(menu);
}

Expand All @@ -433,6 +437,9 @@ public boolean onOptionsItemSelected(MenuItem item) {
case android.R.id.home:
onBackPressed();
break;
case R.id.action_publish_bolzer:
publishNewBolzer();
break;
}
return super.onOptionsItemSelected(item);
}
Expand Down
13 changes: 0 additions & 13 deletions app/src/main/java/com/teapps/bolzer/ProfileAcivity.java

This file was deleted.

47 changes: 44 additions & 3 deletions app/src/main/java/com/teapps/bolzer/QRCodeScanActivtiy.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.ml.vision.FirebaseVision;
import com.google.firebase.ml.vision.barcode.FirebaseVisionBarcode;
Expand All @@ -45,6 +46,9 @@
import java.util.Map;

import static com.teapps.bolzer.helper.Constants.COLLECTION_LOCATIONS;
import static com.teapps.bolzer.helper.Constants.COLLECTION_USERS;
import static com.teapps.bolzer.helper.Constants.KEY_CREATOR_NAME_AND_EMAIL;
import static com.teapps.bolzer.helper.Constants.KEY_MEMBERS_ID;

public class QRCodeScanActivtiy extends AppCompatActivity {

Expand Down Expand Up @@ -129,7 +133,7 @@ public void onSuccess(List<FirebaseVisionBarcode> barcodes) {
String rawValue = barcode.getRawValue();

drawRectangleToQRCode(rotatedImg, corners);
showConfirmDialog(rawValue, camera);
checkValidationOfQRCode(rawValue, camera);
progressDialog.dismiss();
}

Expand Down Expand Up @@ -157,6 +161,14 @@ private void noQrCodeFound(Camera camera) {
camera.startPreview();
}

private void noValidQRCode(Camera camera) {
progressDialog.dismiss();
imageView.setVisibility(View.INVISIBLE);
preview.setVisibility(View.VISIBLE);
button.setVisibility(View.VISIBLE);
camera.startPreview();
}

private void drawRectangleToQRCode(Bitmap rotatedImg, Point[] corners) {
Canvas c = new Canvas(rotatedImg);
Paint paint = new Paint();
Expand All @@ -168,8 +180,37 @@ private void drawRectangleToQRCode(Bitmap rotatedImg, Point[] corners) {
imageView.setImageBitmap(rotatedImg);
}

//TODO: Confirmation Bolzer membership
private void showConfirmDialog(String rawValue, final Camera camera) {
private void checkValidationOfQRCode(final String rawValue, final Camera camera) {
try {
String bolzer_id = rawValue.split("#")[0];
database.collection(COLLECTION_LOCATIONS).document(bolzer_id).get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
try {
String creator_id = documentSnapshot.getString(KEY_CREATOR_NAME_AND_EMAIL).split("#")[2];
if (creator_id.equals(firebaseAuth.getCurrentUser().getUid())) {
showConfirmationDialog(rawValue, camera);
} else {
Toast.makeText(getApplicationContext(), "Du bist nicht berechtigt " +
"diesen QR-Code zu scannen", Toast.LENGTH_SHORT).show();
noValidQRCode(camera);
}
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Kein gültiger QR-Code", Toast.LENGTH_SHORT).show();
noValidQRCode(camera);
}
}
});

} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Kein gültiger QR-Code", Toast.LENGTH_SHORT).show();
noValidQRCode(camera);
}
}

private void showConfirmationDialog(String rawValue, final Camera camera) {
AlertDialog.Builder builder = new AlertDialog.Builder(QRCodeScanActivtiy.this, R.style.DialogTheme);
builder.setTitle("Teilnahme bestätigen?");
final String[] values = rawValue.split("#");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ private void getListData() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
String nameValue = auth.getCurrentUser().getEmail()+"#"+documentSnapshot
.getString(KEY_FULLNAME);
.getString(KEY_FULLNAME)+"#"+auth.getCurrentUser().getUid();
database.collection(COLLECTION_LOCATIONS).whereEqualTo(KEY_CREATOR_NAME_AND_EMAIL, nameValue)
.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/java/com/teapps/bolzer/helper/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ public class Constants {
//Constants for Background Service
public static final int INTERVALL = 1000*60;

//Constants for Statistics ans Points




}
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,9 @@ private void updateDatabase(FirebaseUser user, String email, String forename, St
map.put("email", email);
map.put("id", user.getUid());
map.put("standard_points", 0);
map.put("bolzers_created", 0);
map.put("bolzers_scanned_as_creator", 0);
map.put("bolzers_completed_as_member", 0);
database.collection("users").document(user.getUid()).set(map).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Expand Down
Loading

0 comments on commit 0b01c79

Please sign in to comment.