diff --git a/app/src/main/java/com/etesync/syncadapter/ui/ViewCollectionActivity.java b/app/src/main/java/com/etesync/syncadapter/ui/ViewCollectionActivity.java index 56ca2027..34f6fb77 100644 --- a/app/src/main/java/com/etesync/syncadapter/ui/ViewCollectionActivity.java +++ b/app/src/main/java/com/etesync/syncadapter/ui/ViewCollectionActivity.java @@ -10,11 +10,13 @@ package com.etesync.syncadapter.ui; import android.accounts.Account; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.provider.CalendarContract; import android.provider.ContactsContract; +import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.view.Gravity; import android.view.Menu; @@ -52,7 +54,9 @@ public class ViewCollectionActivity extends AppCompatActivity implements Refresh EXTRA_COLLECTION_INFO = "collectionInfo"; private Account account; + private JournalEntity journalEntity; protected CollectionInfo info; + private boolean isOwner; public static Intent newIntent(Context context, Account account, CollectionInfo info) { Intent intent = new Intent(context, ViewCollectionActivity.class); @@ -65,13 +69,14 @@ public class ViewCollectionActivity extends AppCompatActivity implements Refresh public void refresh() { EntityDataStore data = ((App) getApplicationContext()).getData(); - final JournalEntity journalEntity = JournalEntity.fetch(data, info.getServiceEntity(data), info.uid); + journalEntity = JournalEntity.fetch(data, info.getServiceEntity(data), info.uid); if ((journalEntity == null) || journalEntity.isDeleted()) { finish(); return; } info = journalEntity.getInfo(); + isOwner = account.name.equals(journalEntity.getOwner()); final View colorSquare = findViewById(R.id.color); if (info.type == CollectionInfo.Type.CALENDAR) { @@ -161,7 +166,21 @@ public class ViewCollectionActivity extends AppCompatActivity implements Refresh } public void onEditCollection(MenuItem item) { - startActivity(EditCollectionActivity.newIntent(this, account, info)); + if (isOwner) { + startActivity(EditCollectionActivity.newIntent(this, account, info)); + } else { + AlertDialog dialog = new AlertDialog.Builder(this) + .setIcon(R.drawable.ic_info_dark) + .setTitle(R.string.not_allowed_title) + .setMessage(getString(R.string.edit_owner_only, journalEntity.getOwner())) + .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + } + }).create(); + dialog.show(); + } } public void onImport(MenuItem item) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 929cfd21..79ae6a1c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -104,6 +104,8 @@ Change Journal In order to import contacts and calendars into EteSync, you need to click on the menu, and choose \"Import\". Only the owner of this collection (%s) is allowed to view its members. + Not Allowed + Only the owner of this collection (%s) is allowed to edit it. Members