mirror of https://github.com/MISP/misp-bump
fixed thread problem; added QrReviewFragment; added more strings for multilanguage support
parent
70dbbeb479
commit
995e1070f5
|
@ -1,26 +1,14 @@
|
||||||
package de.overview.wg.its.mispauth.activity;
|
package de.overview.wg.its.mispauth.activity;
|
||||||
|
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
|
||||||
import android.support.v4.app.FragmentManager;
|
|
||||||
import android.support.v4.app.FragmentTransaction;
|
import android.support.v4.app.FragmentTransaction;
|
||||||
import android.support.v7.app.AlertDialog;
|
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import de.overview.wg.its.mispauth.R;
|
import de.overview.wg.its.mispauth.R;
|
||||||
import de.overview.wg.its.mispauth.auxiliary.OrganisationDialog;
|
|
||||||
import de.overview.wg.its.mispauth.auxiliary.PreferenceManager;
|
import de.overview.wg.its.mispauth.auxiliary.PreferenceManager;
|
||||||
import de.overview.wg.its.mispauth.fragment.ScanQrFragment;
|
import de.overview.wg.its.mispauth.fragment.*;
|
||||||
import de.overview.wg.its.mispauth.fragment.ShowQrFragment;
|
|
||||||
import de.overview.wg.its.mispauth.fragment.SyncStartFragment;
|
|
||||||
import de.overview.wg.its.mispauth.fragment.UploadFragment;
|
|
||||||
import de.overview.wg.its.mispauth.model.Organisation;
|
|
||||||
import org.json.JSONException;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
public class SyncActivity extends AppCompatActivity {
|
public class SyncActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
@ -84,13 +72,19 @@ public class SyncActivity extends AppCompatActivity {
|
||||||
case 0:
|
case 0:
|
||||||
prevButton.setEnabled(false);
|
prevButton.setEnabled(false);
|
||||||
nextButton.setEnabled(false);
|
nextButton.setEnabled(false);
|
||||||
|
|
||||||
|
prevButton.setText(R.string.back);
|
||||||
|
nextButton.setText(R.string.next);
|
||||||
|
|
||||||
transaction.replace(R.id.fragmentContainer, new SyncStartFragment());
|
transaction.replace(R.id.fragmentContainer, new SyncStartFragment());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
|
|
||||||
prevButton.setEnabled(true);
|
prevButton.setEnabled(true);
|
||||||
|
|
||||||
|
prevButton.setText(R.string.back);
|
||||||
|
nextButton.setText(R.string.next);
|
||||||
|
|
||||||
if (partnerChoice == 1) {
|
if (partnerChoice == 1) {
|
||||||
|
|
||||||
nextButton.setEnabled(false);
|
nextButton.setEnabled(false);
|
||||||
|
@ -109,6 +103,10 @@ public class SyncActivity extends AppCompatActivity {
|
||||||
|
|
||||||
prevButton.setEnabled(true);
|
prevButton.setEnabled(true);
|
||||||
nextButton.setEnabled(true);
|
nextButton.setEnabled(true);
|
||||||
|
|
||||||
|
prevButton.setText(R.string.back);
|
||||||
|
nextButton.setText(R.string.next);
|
||||||
|
|
||||||
transaction.replace(R.id.fragmentContainer, new ShowQrFragment(), "FRAGMENT_SHOW");
|
transaction.replace(R.id.fragmentContainer, new ShowQrFragment(), "FRAGMENT_SHOW");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -116,14 +114,27 @@ public class SyncActivity extends AppCompatActivity {
|
||||||
prevButton.setEnabled(true);
|
prevButton.setEnabled(true);
|
||||||
nextButton.setEnabled(false);
|
nextButton.setEnabled(false);
|
||||||
|
|
||||||
|
prevButton.setText(R.string.back);
|
||||||
|
nextButton.setText(R.string.next);
|
||||||
|
|
||||||
transaction.replace(R.id.fragmentContainer, new ScanQrFragment(), "FRAGMENT_SCAN");
|
transaction.replace(R.id.fragmentContainer, new ScanQrFragment(), "FRAGMENT_SCAN");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
|
prevButton.setEnabled(true);
|
||||||
|
nextButton.setEnabled(true);
|
||||||
|
|
||||||
nextButton.setText("Finish");
|
prevButton.setText(R.string.reject);
|
||||||
nextButton.setEnabled(false);
|
nextButton.setText(R.string.accept);
|
||||||
|
|
||||||
|
transaction.replace(R.id.fragmentContainer, new ReviewQrFragment());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
|
||||||
|
nextButton.setText(R.string.done);
|
||||||
|
nextButton.setEnabled(true);
|
||||||
|
|
||||||
transaction.replace(R.id.fragmentContainer, new UploadFragment());
|
transaction.replace(R.id.fragmentContainer, new UploadFragment());
|
||||||
|
|
||||||
|
@ -148,19 +159,33 @@ public class SyncActivity extends AppCompatActivity {
|
||||||
|
|
||||||
public void setScannedQr(String qr) {
|
public void setScannedQr(String qr) {
|
||||||
|
|
||||||
final FragmentManager manager = getSupportFragmentManager();
|
runOnUiThread(new Runnable() {
|
||||||
final ScanQrFragment scanFragment = (ScanQrFragment) manager.findFragmentByTag("FRAGMENT_SCAN");
|
@Override
|
||||||
|
public void run() {
|
||||||
|
getFragment(3, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
scanFragment.setReadQr(false);
|
// try {
|
||||||
try {
|
// OrganisationDialog d = new OrganisationDialog(this);
|
||||||
OrganisationDialog d = new OrganisationDialog(this);
|
// Organisation o = new Organisation();
|
||||||
Organisation o = new Organisation();
|
// o.fromJSON(new JSONObject(qr));
|
||||||
o.fromJSON(new JSONObject(qr));
|
// d.createAcceptDialog(o, new OrganisationDialog.DialogCallback() {
|
||||||
d.createDialog(o);
|
// @Override
|
||||||
|
// public void onAccept() {
|
||||||
} catch (JSONException e) {
|
// nextButton.setEnabled(true);
|
||||||
e.printStackTrace();
|
// }
|
||||||
}
|
//
|
||||||
|
// @Override
|
||||||
|
// public void onReject() {
|
||||||
|
// scanFragment.setReadQr(true);
|
||||||
|
// scanFragment.openCamera();
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// } catch (JSONException e) {
|
||||||
|
// e.printStackTrace();
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@ package de.overview.wg.its.mispauth.adapter;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.v7.app.AlertDialog;
|
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -39,7 +38,7 @@ public class ExtOrgAdapter extends RecyclerView.Adapter<ExtOrgAdapter.ViewHolder
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
OrganisationDialog d = new OrganisationDialog(context);
|
OrganisationDialog d = new OrganisationDialog(context);
|
||||||
d.createDialog(dataSet[position]);
|
d.createInfoDialog(dataSet[position]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package de.overview.wg.its.mispauth.auxiliary;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.support.v7.app.AlertDialog;
|
import android.support.v7.app.AlertDialog;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -19,7 +20,7 @@ public class OrganisationDialog {
|
||||||
inflater = ((Activity)context).getLayoutInflater();
|
inflater = ((Activity)context).getLayoutInflater();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void createDialog(Organisation org) {
|
public void createInfoDialog(Organisation org) {
|
||||||
|
|
||||||
View dialogContent = inflater.inflate(R.layout.view_holder_organisation, null);
|
View dialogContent = inflater.inflate(R.layout.view_holder_organisation, null);
|
||||||
dialogBuilder.setView(dialogContent);
|
dialogBuilder.setView(dialogContent);
|
||||||
|
@ -42,9 +43,52 @@ public class OrganisationDialog {
|
||||||
TextView userCount = dialogContent.findViewById(R.id.organisation_user_count);
|
TextView userCount = dialogContent.findViewById(R.id.organisation_user_count);
|
||||||
userCount.setText("" + org.getUserCount());
|
userCount.setText("" + org.getUserCount());
|
||||||
|
|
||||||
|
dialogBuilder.setPositiveButton("OK", null);
|
||||||
|
dialogBuilder.setCancelable(true);
|
||||||
|
dialogBuilder.create().show();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void createAcceptDialog(Organisation org, final DialogCallback callback) {
|
||||||
|
View dialogContent = inflater.inflate(R.layout.view_holder_organisation, null);
|
||||||
|
dialogBuilder.setView(dialogContent);
|
||||||
|
|
||||||
|
TextView title = dialogContent.findViewById(R.id.organisation_title);
|
||||||
|
title.setText(org.getName());
|
||||||
|
|
||||||
|
TextView uuid = dialogContent.findViewById(R.id.organisation_uuid);
|
||||||
|
uuid.setText(org.getUuid());
|
||||||
|
|
||||||
|
TextView description = dialogContent.findViewById(R.id.organisation_description);
|
||||||
|
description.setText(org.getDescription());
|
||||||
|
|
||||||
|
TextView sector = dialogContent.findViewById(R.id.organisation_sector);
|
||||||
|
sector.setText(org.getSector());
|
||||||
|
|
||||||
|
TextView nationality = dialogContent.findViewById(R.id.organisation_nationality);
|
||||||
|
nationality.setText(org.getNationality());
|
||||||
|
|
||||||
|
TextView userCount = dialogContent.findViewById(R.id.organisation_user_count);
|
||||||
|
userCount.setText("" + org.getUserCount());
|
||||||
|
|
||||||
|
dialogBuilder.setNegativeButton("REJECT", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
callback.onReject();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dialogBuilder.setPositiveButton("ACCEPT", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
callback.onAccept();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
dialogBuilder.setCancelable(false);
|
dialogBuilder.setCancelable(false);
|
||||||
dialogBuilder.setNegativeButton("REJECT", null);
|
dialogBuilder.create().show();
|
||||||
dialogBuilder.setPositiveButton("ACCEPT", null);
|
}
|
||||||
dialogBuilder.show();
|
|
||||||
|
public interface DialogCallback {
|
||||||
|
void onAccept();
|
||||||
|
void onReject();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
package de.overview.wg.its.mispauth.custom_viewpager;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.support.v4.view.ViewPager;
|
|
||||||
import android.util.AttributeSet;
|
|
||||||
import android.view.MotionEvent;
|
|
||||||
|
|
||||||
public class ExtendedViewPager extends ViewPager {
|
|
||||||
|
|
||||||
private boolean enabled;
|
|
||||||
|
|
||||||
public ExtendedViewPager(Context context, AttributeSet attrs) {
|
|
||||||
super(context, attrs);
|
|
||||||
this.enabled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onTouchEvent(MotionEvent event) {
|
|
||||||
if (this.enabled) {
|
|
||||||
return super.onTouchEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onInterceptTouchEvent(MotionEvent event) {
|
|
||||||
if (this.enabled) {
|
|
||||||
return super.onInterceptTouchEvent(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPagingEnabled(boolean enabled) {
|
|
||||||
this.enabled = enabled;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
package de.overview.wg.its.mispauth.fragment;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.annotation.NonNull;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v4.app.Fragment;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import de.overview.wg.its.mispauth.R;
|
||||||
|
|
||||||
|
public class ReviewQrFragment extends Fragment {
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
View v = inflater.inflate(R.layout.fragment_review_qr, null);
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<android.support.constraint.ConstraintLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="REVIEW QR"/>
|
||||||
|
|
||||||
|
</android.support.constraint.ConstraintLayout>
|
|
@ -11,4 +11,11 @@
|
||||||
<string name="title_activity_settings">Settings</string>
|
<string name="title_activity_settings">Settings</string>
|
||||||
<string name="title_activity_sync">Synchronise</string>
|
<string name="title_activity_sync">Synchronise</string>
|
||||||
|
|
||||||
|
// Sync
|
||||||
|
<string name="next">NEXT</string>
|
||||||
|
<string name="back">BACK</string>
|
||||||
|
<string name="accept">ACCEPT</string>
|
||||||
|
<string name="reject">REJECT</string>
|
||||||
|
<string name="done">DONE</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in New Issue