diff --git a/app/src/main/java/lu/circl/mispbump/activities/ProfileActivity.java b/app/src/main/java/lu/circl/mispbump/activities/ProfileActivity.java index d87366b..acef7bd 100644 --- a/app/src/main/java/lu/circl/mispbump/activities/ProfileActivity.java +++ b/app/src/main/java/lu/circl/mispbump/activities/ProfileActivity.java @@ -6,6 +6,7 @@ import android.graphics.Shader; import android.graphics.drawable.AnimatedVectorDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -122,6 +123,11 @@ public class ProfileActivity extends AppCompatActivity { MaterialPreferenceText description = findViewById(R.id.description); description.setSubtitle(organisation.getDescription()); + + Role[] roles = preferenceManager.getRoles(); + for (Role role : roles) { + Log.d("ROLES", role.toString()); + } } diff --git a/app/src/main/java/lu/circl/mispbump/activities/SyncInfoDetailActivity.java b/app/src/main/java/lu/circl/mispbump/activities/SyncInfoDetailActivity.java index e63699a..e985365 100644 --- a/app/src/main/java/lu/circl/mispbump/activities/SyncInfoDetailActivity.java +++ b/app/src/main/java/lu/circl/mispbump/activities/SyncInfoDetailActivity.java @@ -16,7 +16,6 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import com.google.android.material.floatingactionbutton.FloatingActionButton; -import com.google.android.material.snackbar.Snackbar; import java.util.UUID; @@ -36,8 +35,17 @@ public class SyncInfoDetailActivity extends AppCompatActivity { private SyncInformation syncInformation; private boolean fabMenuExpanded; - private boolean dataLocallyChanged; + private View.OnClickListener onUploadClicked = v -> { + preferenceManager.addSyncInformation(syncInformation); + Intent upload = new Intent(SyncInfoDetailActivity.this, UploadActivity.class); + upload.putExtra(UploadActivity.EXTRA_SYNC_INFO_UUID, syncInformation.getUuid().toString()); + startActivity(upload); + }; + + private View.OnClickListener onDownloadClicked = v -> { + + }; @Override protected void onCreate(Bundle savedInstanceState) { @@ -59,11 +67,6 @@ public class SyncInfoDetailActivity extends AppCompatActivity { @Override protected void onPause() { super.onPause(); - - if (dataLocallyChanged) { - syncInformation.setSyncedWithRemote(false); - } - preferenceManager.addSyncInformation(syncInformation); } @@ -185,6 +188,7 @@ public class SyncInfoDetailActivity extends AppCompatActivity { menuBackground.setClickable(false); fab.setImageDrawable(close); + assert close != null; close.start(); closeAnimation.start(); @@ -193,6 +197,7 @@ public class SyncInfoDetailActivity extends AppCompatActivity { menuBackground.setClickable(true); fab.setImageDrawable(open); + assert open != null; open.start(); openAnimation.start(); @@ -204,17 +209,8 @@ public class SyncInfoDetailActivity extends AppCompatActivity { menuBackground.setClickable(false); fab.setOnClickListener(expandCollapseClick); - fabUpload.setOnClickListener(view -> { - preferenceManager.addSyncInformation(syncInformation); - Intent upload = new Intent(SyncInfoDetailActivity.this, UploadActivity.class); - upload.putExtra(UploadActivity.EXTRA_SYNC_INFO_UUID, syncInformation.getUuid().toString()); - startActivity(upload); - }); - - fabDownload.setOnClickListener(view -> { - // TODO download content from MISP instance - Snackbar.make(view, "Not implemented yet", Snackbar.LENGTH_LONG).show(); - }); + fabUpload.setOnClickListener(onUploadClicked); + fabDownload.setOnClickListener(onDownloadClicked); } private void populateContent() { @@ -239,28 +235,28 @@ public class SyncInfoDetailActivity extends AppCompatActivity { allowSelfSigned.setChecked(syncInformation.getRemote().getServer().getSelfSigned()); allowSelfSigned.setOnCheckedChangeListener((cb, b) -> { syncInformation.getRemote().getServer().setSelfSigned(b); - dataLocallyChanged = true; + syncInformation.setHasUnpublishedChanges(true); }); MaterialPreferenceSwitch allowPush = findViewById(R.id.switch_allow_push); allowPush.setChecked(syncInformation.getRemote().getServer().getPush()); allowPush.setOnCheckedChangeListener((cb, b) -> { syncInformation.getRemote().getServer().setPush(b); - dataLocallyChanged = true; + syncInformation.setHasUnpublishedChanges(true); }); MaterialPreferenceSwitch allowPull = findViewById(R.id.switch_allow_pull); allowPull.setChecked(syncInformation.getRemote().getServer().getPull()); allowPull.setOnCheckedChangeListener((cb, b) -> { syncInformation.getRemote().getServer().setPull(b); - dataLocallyChanged = true; + syncInformation.setHasUnpublishedChanges(true); }); MaterialPreferenceSwitch allowCache = findViewById(R.id.switch_allow_cache); allowCache.setChecked(syncInformation.getRemote().getServer().getCachingEnabled()); allowCache.setOnCheckedChangeListener((cb, b) -> { syncInformation.getRemote().getServer().setCachingEnabled(b); - dataLocallyChanged = true; + syncInformation.setHasUnpublishedChanges(true); }); // credentials diff --git a/app/src/main/java/lu/circl/mispbump/activities/UploadActivity.java b/app/src/main/java/lu/circl/mispbump/activities/UploadActivity.java index 4f1fe1c..da31a7b 100644 --- a/app/src/main/java/lu/circl/mispbump/activities/UploadActivity.java +++ b/app/src/main/java/lu/circl/mispbump/activities/UploadActivity.java @@ -172,7 +172,7 @@ public class UploadActivity extends AppCompatActivity { server.setPull(syncInformation.getRemote().getServer().getPull()); server.setPush(syncInformation.getRemote().getServer().getPush()); server.setCachingEnabled(syncInformation.getRemote().getServer().getCachingEnabled()); - server.setSelfSigned(syncInformation.getRemote().getServer().getCachingEnabled()); + server.setSelfSigned(syncInformation.getRemote().getServer().getSelfSigned()); return server; } @@ -259,6 +259,7 @@ public class UploadActivity extends AppCompatActivity { private void serverAdded(Server server) { if (server != null) { serverAction.done(); + syncInformation.setHasUnpublishedChanges(false); preferenceManager.addSyncInformation(syncInformation); } else { serverAction.error("Could not create Sync Server"); diff --git a/app/src/main/java/lu/circl/mispbump/adapters/SyncInfoAdapter.java b/app/src/main/java/lu/circl/mispbump/adapters/SyncInfoAdapter.java index a5a097a..e346686 100644 --- a/app/src/main/java/lu/circl/mispbump/adapters/SyncInfoAdapter.java +++ b/app/src/main/java/lu/circl/mispbump/adapters/SyncInfoAdapter.java @@ -53,7 +53,7 @@ public class SyncInfoAdapter extends RecyclerView.Adapter