diff --git a/.gitignore b/.gitignore
index c6cbe562..26ef1d09 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,53 @@
-*.iml
+*~
+
+# Gradle
+.gradle/
.gradle
-/local.properties
-/.idea/workspace.xml
-/.idea/libraries
+build/
+/*/build/
+
+# User-specific configurations
+local.properties
+
+.idea
+.idea/libraries/
+.idea/runConfigurations.xml
+.idea/gradle.xml
+.idea/workspace.xml
+.idea/tasks.xml
+.idea/.name
+.idea/compiler.xml
+.idea/copyright/profiles_settings.xml
+.idea/encodings.xml
+.idea/misc.xml
+.idea/modules.xml
+.idea/scopes/scope_settings.xml
+.idea/vcs.xml
+*.iml
+
+# OS-specific files
.DS_Store
-/build
-/captures
+.DS_Store?
+._*
+.Trashes
+ehthumbs.db
+Thumbs.db
+
+# Built application files
+*.apk
+*.ap_
+
+# Files for the Dalvik VM
+*.dex
+
+# Java class files
+*.class
+
+# Generated files
+bin/
+gen/
+
+local.properties
+proguard/
+*.log
+.navigation/
diff --git a/.idea/.name b/.idea/.name
deleted file mode 100644
index 27df2eec..00000000
--- a/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-Diaspora
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index 96cc43ef..00000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
deleted file mode 100644
index e7bedf33..00000000
--- a/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
deleted file mode 100644
index 39139a6c..00000000
--- a/.idea/gradle.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index fbb68289..00000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index b52c2f0c..00000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
deleted file mode 100644
index 7f68460d..00000000
--- a/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7f..00000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 88aecec1..faf1c4ef 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -27,7 +27,7 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
- compile 'com.android.support:appcompat-v7:23.1.1'
- compile 'com.android.support:design:23.1.1'
+ compile 'com.android.support:appcompat-v7:23.2.1'
+ compile 'com.android.support:design:23.2.1'
compile 'com.getbase:floatingactionbutton:1.9.1'
}
diff --git a/app/src/androidTest/java/de/baumann/diaspora/ApplicationTest.java b/app/src/androidTest/java/de/baumann/diaspora/ApplicationTest.java
deleted file mode 100644
index 4e7d2ba8..00000000
--- a/app/src/androidTest/java/de/baumann/diaspora/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.baumann.diaspora;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/de/baumann/diaspora/AppSettings.java b/app/src/main/java/de/baumann/diaspora/AppSettings.java
new file mode 100644
index 00000000..41488584
--- /dev/null
+++ b/app/src/main/java/de/baumann/diaspora/AppSettings.java
@@ -0,0 +1,32 @@
+package de.baumann.diaspora;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+/**
+ * Created by de-live-gdev on 20.03.16.
+ */
+public class AppSettings {
+ private Context context;
+ private SharedPreferences pref;
+
+ public AppSettings(Context context){
+ this.context = context.getApplicationContext();
+ pref = this.context.getSharedPreferences("app", Context.MODE_PRIVATE);
+ }
+
+ private void setString(String key, String value){
+ pref.edit().putString(key,value).apply();
+ }
+
+ /*
+ // Setters & Getters
+ */
+ private static final String PREF_PROFILE_ID = "profileID";
+ public String getProfileId(){
+ return pref.getString(PREF_PROFILE_ID, "");
+ }
+ public void setProfileId(String profileId){
+ setString(PREF_PROFILE_ID, profileId);
+ }
+}
diff --git a/app/src/main/java/de/baumann/diaspora/MainActivity.java b/app/src/main/java/de/baumann/diaspora/MainActivity.java
index 4f39e3f7..fab696d5 100644
--- a/app/src/main/java/de/baumann/diaspora/MainActivity.java
+++ b/app/src/main/java/de/baumann/diaspora/MainActivity.java
@@ -57,7 +57,6 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.JavascriptInterface;
-import android.webkit.JsResult;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
@@ -82,24 +81,26 @@ public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
- private static final String URL_MESSAGE = "URL_MESSAGE";
- final Handler myHandler = new Handler();
- WebView webView;
- static final String TAG = "Diaspora Main";
- String podDomain;
- Menu menu;
- int notificationCount = 0;
- int conversationCount = 0;
- ValueCallback mFilePathCallback;
- String mCameraPhotoPath;
public static final int INPUT_FILE_REQUEST_CODE = 1;
- com.getbase.floatingactionbutton.FloatingActionsMenu fab;
- TextView txtTitle;
- ProgressBar progressBar;
- WebSettings wSettings;
- PrefManager pm;
+ private static final int REQUEST_CODE_ASK_PERMISSIONS = 123;
+ private static final String URL_MESSAGE = "URL_MESSAGE";
+
+ private AppSettings appSettings;
+ private final Handler myHandler = new Handler();
+ private WebView webView;
+ private String podDomain;
+ private Menu menu;
+ private int notificationCount = 0;
+ private int conversationCount = 0;
+ private String profileId = "";
+ private ValueCallback mFilePathCallback;
+ private String mCameraPhotoPath;
+ private com.getbase.floatingactionbutton.FloatingActionsMenu fab;
+ private TextView txtTitle;
+ private ProgressBar progressBar;
+ private WebSettings wSettings;
+ private PrefManager pm;
private SwipeRefreshLayout swipeView;
- final private int REQUEST_CODE_ASK_PERMISSIONS = 123;
@SuppressLint("SetJavaScriptEnabled")
@Override
@@ -125,6 +126,11 @@ public class MainActivity extends AppCompatActivity
}
});
+
+ // Load app settings
+ appSettings = new AppSettings(getApplicationContext());
+ profileId = appSettings.getProfileId();
+
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
@@ -134,7 +140,7 @@ public class MainActivity extends AppCompatActivity
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
- progressBar = (ProgressBar)findViewById(R.id.progressBar);
+ progressBar = (ProgressBar) findViewById(R.id.progressBar);
pm = new PrefManager(MainActivity.this);
SharedPreferences config = getSharedPreferences("PodSettings", MODE_PRIVATE);
@@ -147,8 +153,8 @@ public class MainActivity extends AppCompatActivity
swipeView.setColorSchemeResources(R.color.colorPrimary,
R.color.fab_big);
- webView = (WebView)findViewById(R.id.webView);
- webView.addJavascriptInterface(new JavaScriptInterface(), "NotificationCounter");
+ webView = (WebView) findViewById(R.id.webView);
+ webView.addJavascriptInterface(new JavaScriptInterface(), "AndroidBridge");
if (savedInstanceState != null) {
webView.restoreState(savedInstanceState);
@@ -209,6 +215,7 @@ public class MainActivity extends AppCompatActivity
if (progress > 60) {
Helpers.hideTopBar(wv);
+ Helpers.getProfileId(wv);
fab.setVisibility(View.VISIBLE);
}
@@ -269,17 +276,13 @@ public class MainActivity extends AppCompatActivity
return true;
}
-
- public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
- return super.onJsAlert(view, url, message, result);
- }
});
if (savedInstanceState == null) {
if (Helpers.isOnline(MainActivity.this)) {
webView.loadData("", "text/html", null);
- webView.loadUrl("https://"+podDomain);
+ webView.loadUrl("https://" + podDomain);
} else {
Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
}
@@ -291,7 +294,7 @@ public class MainActivity extends AppCompatActivity
* Fab button events
*/
- public void fab1_click (View v){
+ public void fab1_click(View v) {
fab.collapse();
if (Helpers.isOnline(MainActivity.this)) {
webView.loadUrl("https://" + podDomain + "/status_messages/new");
@@ -301,51 +304,52 @@ public class MainActivity extends AppCompatActivity
}
}
- public void fab2_click(View v){
+ public void fab2_click(View v) {
fab.collapse();
if (Helpers.isOnline(MainActivity.this)) {
- final AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
- alert.setView(input);
- alert.setTitle(R.string.search_alert_title);
- alert.setPositiveButton(R.string.search_alert_people, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- String inputTag = input.getText().toString().trim();
- String cleanTag = inputTag.replaceAll("\\*", "");
- // this validate the input data for tagfind
- if (cleanTag == null || cleanTag.equals("")) {
- dialog.cancel(); // if user don�t have added a tag
- Snackbar.make(swipeView, R.string.search_alert_bypeople_validate_needsomedata, Snackbar.LENGTH_LONG).show();
- } else { // User have added a search tag
- webView.loadUrl("https://" + podDomain + "/people.mobile?q=" + cleanTag);
- setTitle(R.string.fab2_title_person);
- }
- }
- }).setNegativeButton(R.string.search_alert_tag,
- new DialogInterface.OnClickListener() {
+ final AlertDialog.Builder dialog = new AlertDialog.Builder(this)
+ .setView(input)
+ .setIcon(R.drawable.ic_launcher)
+ .setTitle(R.string.search_alert_title)
+ .setPositiveButton(R.string.search_alert_people, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String inputTag = input.getText().toString().trim();
- String cleanTag = inputTag.replaceAll("\\#", "");
+ String cleanTag = inputTag.replaceAll("\\*", "");
// this validate the input data for tagfind
if (cleanTag == null || cleanTag.equals("")) {
- dialog.cancel(); // if user hasn't added a tag
- Snackbar.make(swipeView, R.string.search_alert_bytags_validate_needsomedata, Snackbar.LENGTH_LONG).show();
+ dialog.cancel(); // if user don�t have added a tag
+ Snackbar.make(swipeView, R.string.search_alert_bypeople_validate_needsomedata, Snackbar.LENGTH_LONG).show();
} else { // User have added a search tag
- webView.loadUrl("https://" + podDomain + "/tags/" + cleanTag);
- setTitle(R.string.fab2_title_tag);
+ webView.loadUrl("https://" + podDomain + "/people.mobile?q=" + cleanTag);
+ setTitle(R.string.fab2_title_person);
}
}
- });
- alert.show();
- }
- else {
+ })
+ .setNegativeButton(R.string.search_alert_tag,
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int whichButton) {
+ String inputTag = input.getText().toString().trim();
+ String cleanTag = inputTag.replaceAll("\\#", "");
+ // this validate the input data for tagfind
+ if (cleanTag == null || cleanTag.equals("")) {
+ dialog.cancel(); // if user hasn't added a tag
+ Snackbar.make(swipeView, R.string.search_alert_bytags_validate_needsomedata, Snackbar.LENGTH_LONG).show();
+ } else { // User have added a search tag
+ webView.loadUrl("https://" + podDomain + "/tags/" + cleanTag);
+ setTitle(R.string.fab2_title_tag);
+ }
+ }
+ });
+ dialog.show();
+ } else {
Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
}
}
- public void fab3_click(View v){
+ public void fab3_click(View v) {
fab.collapse();
- webView.scrollTo(0,0);
+ webView.scrollTo(0, 0);
}
private File createImageFile() throws IOException {
@@ -363,15 +367,15 @@ public class MainActivity extends AppCompatActivity
@Override
- public void onActivityResult (int requestCode, int resultCode, Intent data) {
- if(requestCode != INPUT_FILE_REQUEST_CODE || mFilePathCallback == null) {
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode != INPUT_FILE_REQUEST_CODE || mFilePathCallback == null) {
super.onActivityResult(requestCode, resultCode, data);
return;
}
Uri[] results = null;
- if(resultCode == Activity.RESULT_OK) {
- if(data == null) {
- if(mCameraPhotoPath != null) {
+ if (resultCode == Activity.RESULT_OK) {
+ if (data == null) {
+ if (mCameraPhotoPath != null) {
results = new Uri[]{Uri.parse(mCameraPhotoPath)};
}
} else {
@@ -432,7 +436,7 @@ public class MainActivity extends AppCompatActivity
}
}
- private BroadcastReceiver brLoadUrl = new BroadcastReceiver() {
+ private final BroadcastReceiver brLoadUrl = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
@@ -457,7 +461,7 @@ public class MainActivity extends AppCompatActivity
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
this.menu = menu;
- MenuItem itemNotification = menu.findItem(R.id.notifications);
+ MenuItem itemNotification = menu.findItem(R.id.action_notifications);
if (itemNotification != null) {
if (notificationCount > 0) {
itemNotification.setIcon(R.drawable.ic_bell_ring_white_24dp);
@@ -465,7 +469,7 @@ public class MainActivity extends AppCompatActivity
itemNotification.setIcon(R.drawable.ic_bell_outline_white_24dp);
}
- MenuItem itemConversation = menu.findItem(R.id.conversations);
+ MenuItem itemConversation = menu.findItem(R.id.action_conversations);
if (conversationCount > 0) {
itemConversation.setIcon(R.drawable.ic_message_text_white_24dp);
} else {
@@ -477,332 +481,183 @@ public class MainActivity extends AppCompatActivity
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- int id = item.getItemId();
-
- if (id == R.id.notifications) {
- if (Helpers.isOnline(MainActivity.this)) {
- webView.loadUrl("https://" + podDomain + "/notifications");
- setTitle(R.string.jb_notifications);
- return true;
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
- return false;
+ switch (item.getItemId()) {
+ case R.id.action_notifications: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/notifications");
+ setTitle(R.string.jb_notifications);
+ return true;
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ return false;
+ }
}
- }
- if (id == R.id.conversations) {
- if (Helpers.isOnline(MainActivity.this)) {
- webView.loadUrl("https://" + podDomain + "/conversations");
- setTitle(R.string.jb_conversations);
- return true;
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
- return false;
+ case R.id.action_conversations: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/conversations");
+ setTitle(R.string.jb_conversations);
+ return true;
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ return false;
+ }
}
- }
- if (id == R.id.exit) {
- Snackbar snackbar = Snackbar
- .make(swipeView, R.string.confirm_exit, Snackbar.LENGTH_LONG)
- .setAction(R.string.yes, new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- moveTaskToBack(true);
- }
- });
- snackbar.show();
- }
-
- if (id == R.id.help_license) {
- final CharSequence[] options = { getString(R.string.help_license), getString(R.string.help_about), getString(R.string.help_help), getString(R.string.help_donate) };
- new AlertDialog.Builder(MainActivity.this)
- .setItems(options, new DialogInterface.OnClickListener() {
-
- @Override
-
- public void onClick(DialogInterface dialog, int item) {
-
- if (options[item].equals(getString(R.string.help_license)))
-
- {
- final SpannableString s = new SpannableString(Html.fromHtml(getString(R.string.license_text)));
- Linkify.addLinks(s, Linkify.WEB_URLS);
-
- final AlertDialog d = new AlertDialog.Builder(MainActivity.this)
- .setTitle(R.string.license_title)
- .setMessage( s )
- .setPositiveButton(getString(R.string.yes),
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- }).show();
- d.show();
- ((TextView)d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
+ case R.id.action_exit: {
+ Snackbar snackbar = Snackbar
+ .make(swipeView, R.string.confirm_exit, Snackbar.LENGTH_LONG)
+ .setAction(R.string.yes, new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ moveTaskToBack(true);
}
+ });
+ snackbar.show();
+ }
+ break;
- if (options[item].equals(getString(R.string.help_about)))
-
- {
- final SpannableString s = new SpannableString(Html.fromHtml(getString(R.string.about_text)));
- Linkify.addLinks(s, Linkify.WEB_URLS);
-
- final AlertDialog d = new AlertDialog.Builder(MainActivity.this)
- .setTitle(R.string.help_about)
- .setMessage(s)
- .setPositiveButton(getString(R.string.yes),
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- }).show();
- d.show();
- ((TextView)d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
- }
-
- if (options[item].equals(getString(R.string.help_help)))
-
- {
- new AlertDialog.Builder(MainActivity.this)
- .setTitle(R.string.help_help)
- .setMessage(Html.fromHtml(getString(R.string.markdown_text)))
- .setPositiveButton(getString(R.string.yes),
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- }).show();
- }
-
- if (options[item].equals(getString(R.string.help_donate)))
-
- {
- new AlertDialog.Builder(MainActivity.this)
- .setMessage(getString(R.string.donate_text))
- .setPositiveButton(getString(R.string.yes),
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- })
- .setNegativeButton(getString(R.string.donate_1),
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://martinv.tip.me/"));
- startActivity(i);
- dialog.cancel();
- }
- }).show();
- }
-
- }
-
- }).show();
- }
-
- if (id == R.id.view) {
- final CharSequence[] options = { getString(R.string.settings_font), getString(R.string.settings_view),getString(R.string.settings_image) };
- if (Helpers.isOnline(MainActivity.this)) {
+ case R.id.action_share: {
+ final CharSequence[] options = {getString(R.string.share_link), getString(R.string.share_screenshot), getString(R.string.take_screenshot)};
new AlertDialog.Builder(MainActivity.this)
.setItems(options, new DialogInterface.OnClickListener() {
-
@Override
-
public void onClick(DialogInterface dialog, int item) {
-
- if (options[item].equals(getString(R.string.settings_font)))
- alertFormElements();
-
- if (options[item].equals(getString(R.string.settings_view)))
- webView.loadUrl("https://" + podDomain + "/mobile/toggle");
-
- if (options[item].equals(getString(R.string.settings_image)))
- wSettings.setLoadsImagesAutomatically(!pm.getLoadImages());
- pm.setLoadImages(!pm.getLoadImages());
- webView.loadUrl(webView.getUrl());
+ if (options[item].equals(getString(R.string.share_link))) {
+ Intent sharingIntent = new Intent(Intent.ACTION_SEND);
+ sharingIntent.setType("image/png");
+ sharingIntent.putExtra(Intent.EXTRA_SUBJECT, webView.getTitle());
+ sharingIntent.putExtra(Intent.EXTRA_TEXT, webView.getUrl());
+ startActivity(Intent.createChooser(sharingIntent, "Share using"));
+ }
+ if (options[item].equals(getString(R.string.share_screenshot))) {
+ if (android.os.Build.VERSION.SDK_INT >= 23) {
+ int hasWRITE_EXTERNAL_STORAGE = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
+ if (hasWRITE_EXTERNAL_STORAGE != PackageManager.PERMISSION_GRANTED) {
+ if (!shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
+ new AlertDialog.Builder(MainActivity.this)
+ .setMessage(R.string.permissions)
+ .setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (android.os.Build.VERSION.SDK_INT >= 23)
+ requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
+ REQUEST_CODE_ASK_PERMISSIONS);
+ }
+ })
+ .setNegativeButton(getString(R.string.no), null)
+ .show();
+ return;
+ }
+ requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
+ REQUEST_CODE_ASK_PERMISSIONS);
+ return;
+ }
+ }
+ Snackbar.make(swipeView, R.string.toast_screenshot, Snackbar.LENGTH_LONG).show();
+ File directory = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/");
+ if (!directory.exists()) {
+ directory.mkdirs();
+ }
+ Date date = new Date();
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm");
+ Picture picture = webView.capturePicture();
+ Bitmap b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888);
+ Canvas c = new Canvas(b);
+ File screen = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
+ + dateFormat.format(date) + ".jpg");
+ if (screen.exists())
+ screen.delete();
+ picture.draw(c);
+ FileOutputStream fos = null;
+ try {
+ fos = new FileOutputStream(screen);
+ if (fos != null) {
+ b.compress(Bitmap.CompressFormat.JPEG, 90, fos);
+ fos.close();
+ }
+ } catch (Exception e) {
+ e.getMessage();
+ }
+ Intent sharingIntent = new Intent(Intent.ACTION_SEND);
+ sharingIntent.setType("image/png");
+ sharingIntent.putExtra(Intent.EXTRA_SUBJECT, webView.getTitle());
+ sharingIntent.putExtra(Intent.EXTRA_TEXT, webView.getUrl());
+ Uri bmpUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
+ + dateFormat.format(date) + ".jpg"));
+ sharingIntent.putExtra(Intent.EXTRA_STREAM, bmpUri);
+ startActivity(Intent.createChooser(sharingIntent, "Share using"));
+ File file = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
+ + dateFormat.format(date) + ".jpg");
+ Uri uri = Uri.fromFile(file);
+ Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
+ sendBroadcast(intent);
+ }
+ if (options[item].equals(getString(R.string.take_screenshot))) {
+ if (android.os.Build.VERSION.SDK_INT >= 23) {
+ int hasWRITE_EXTERNAL_STORAGE = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
+ if (hasWRITE_EXTERNAL_STORAGE != PackageManager.PERMISSION_GRANTED) {
+ if (!shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
+ new AlertDialog.Builder(MainActivity.this)
+ .setMessage(R.string.permissions)
+ .setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (android.os.Build.VERSION.SDK_INT >= 23)
+ requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
+ REQUEST_CODE_ASK_PERMISSIONS);
+ }
+ })
+ .setNegativeButton(getString(R.string.no), null)
+ .show();
+ return;
+ }
+ requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
+ REQUEST_CODE_ASK_PERMISSIONS);
+ return;
+ }
+ }
+ Snackbar.make(swipeView, R.string.toast_screenshot, Snackbar.LENGTH_LONG).show();
+ File directory = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/");
+ if (!directory.exists()) {
+ directory.mkdirs();
+ }
+ Date date = new Date();
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm");
+ Picture picture = webView.capturePicture();
+ Bitmap b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888);
+ Canvas c = new Canvas(b);
+ File screen = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
+ + dateFormat.format(date) + ".jpg");
+ if (screen.exists())
+ screen.delete();
+ picture.draw(c);
+ FileOutputStream fos = null;
+ try {
+ fos = new FileOutputStream(screen);
+ if (fos != null) {
+ b.compress(Bitmap.CompressFormat.JPEG, 90, fos);
+ fos.close();
+ }
+ } catch (Exception e) {
+ e.getMessage();
+ }
+ File file = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
+ + dateFormat.format(date) + ".jpg");
+ Uri uri = Uri.fromFile(file);
+ Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
+ sendBroadcast(intent);
+ }
}
-
}).show();
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
}
- }
-
- if (id == R.id.share) {
- final CharSequence[] options = { getString(R.string.share_link), getString(R.string.share_screenshot),getString(R.string.take_screenshot) };
- new AlertDialog.Builder(MainActivity.this)
- .setItems(options, new DialogInterface.OnClickListener() {
-
- @Override
-
- public void onClick(DialogInterface dialog, int item) {
-
- if (options[item].equals(getString(R.string.share_link)))
-
- {
- Intent sharingIntent = new Intent(Intent.ACTION_SEND);
- sharingIntent.setType("image/png");
- sharingIntent.putExtra(Intent.EXTRA_SUBJECT, webView.getTitle());
- sharingIntent.putExtra(Intent.EXTRA_TEXT, webView.getUrl());
- startActivity(Intent.createChooser(sharingIntent, "Share using"));
- }
-
- if (options[item].equals(getString(R.string.share_screenshot)))
-
- {
- if (android.os.Build.VERSION.SDK_INT >= 23) {
- int hasWRITE_EXTERNAL_STORAGE = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
- if (hasWRITE_EXTERNAL_STORAGE != PackageManager.PERMISSION_GRANTED) {
- if (!shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
- new AlertDialog.Builder(MainActivity.this)
- .setMessage(R.string.permissions)
- .setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if (android.os.Build.VERSION.SDK_INT >= 23)
- requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
- REQUEST_CODE_ASK_PERMISSIONS);
- }
- })
- .setNegativeButton(getString(R.string.no), null)
- .show();
- return;
- }
- requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE},
- REQUEST_CODE_ASK_PERMISSIONS);
- return;
- }
- }
-
- Snackbar.make(swipeView, R.string.toast_screenshot, Snackbar.LENGTH_LONG).show();
- File directory = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/");
- if (!directory.exists()) {
- directory.mkdirs();
- }
-
- Date date = new Date();
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm");
-
- Picture picture = webView.capturePicture();
- Bitmap b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888);
- Canvas c = new Canvas(b);
-
- File screen = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
- + dateFormat.format(date) + ".jpg");
- if (screen.exists())
- screen.delete();
-
- picture.draw(c);
-
- FileOutputStream fos = null;
- try {
-
- fos = new FileOutputStream(screen);
- if (fos != null) {
- b.compress(Bitmap.CompressFormat.JPEG, 90, fos);
-
- fos.close();
- }
- } catch (Exception e) {
- e.getMessage();
-
- }
-
- Intent sharingIntent = new Intent(Intent.ACTION_SEND);
- sharingIntent.setType("image/png");
- sharingIntent.putExtra(Intent.EXTRA_SUBJECT, webView.getTitle());
- sharingIntent.putExtra(Intent.EXTRA_TEXT, webView.getUrl());
- Uri bmpUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
- + dateFormat.format(date) + ".jpg"));
- sharingIntent.putExtra(Intent.EXTRA_STREAM, bmpUri);
- startActivity(Intent.createChooser(sharingIntent, "Share using"));
-
- File file = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
- + dateFormat.format(date) + ".jpg");
- Uri uri = Uri.fromFile(file);
- Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
- sendBroadcast(intent);
- }
-
- if (options[item].equals(getString(R.string.take_screenshot)))
-
- {
- if (android.os.Build.VERSION.SDK_INT >= 23) {
- int hasWRITE_EXTERNAL_STORAGE = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
- if (hasWRITE_EXTERNAL_STORAGE != PackageManager.PERMISSION_GRANTED) {
- if (!shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
- new AlertDialog.Builder(MainActivity.this)
- .setMessage(R.string.permissions)
- .setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if (android.os.Build.VERSION.SDK_INT >= 23)
- requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
- REQUEST_CODE_ASK_PERMISSIONS);
- }
- })
- .setNegativeButton(getString(R.string.no), null)
- .show();
- return;
- }
- requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE},
- REQUEST_CODE_ASK_PERMISSIONS);
- return;
- }
- }
-
- Snackbar.make(swipeView, R.string.toast_screenshot, Snackbar.LENGTH_LONG).show();
-
- File directory = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/");
- if (!directory.exists()) {
- directory.mkdirs();
- }
-
- Date date = new Date();
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm");
-
- Picture picture = webView.capturePicture();
- Bitmap b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888);
- Canvas c = new Canvas(b);
-
- File screen = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
- + dateFormat.format(date) + ".jpg");
- if (screen.exists())
- screen.delete();
-
- picture.draw(c);
-
- FileOutputStream fos = null;
- try {
-
- fos = new FileOutputStream(screen);
- if (fos != null) {
- b.compress(Bitmap.CompressFormat.JPEG, 90, fos);
-
- fos.close();
- }
- } catch (Exception e) {
- e.getMessage();
-
- }
-
- File file = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
- + dateFormat.format(date) + ".jpg");
- Uri uri = Uri.fromFile(file);
- Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
- sendBroadcast(intent);
- }
-
- }
-
- }).show();
+ break;
}
return super.onOptionsItemSelected(item);
}
-
- public void alertFormElements() {
+ private void alertFormElements() {
/*
* Inflate the XML view. activity_main is in
@@ -851,13 +706,13 @@ public class MainActivity extends AppCompatActivity
public class JavaScriptInterface {
@JavascriptInterface
- public void setNotificationCount(final String webMessage){
+ public void setNotificationCount(final String webMessage) {
myHandler.post(new Runnable() {
@Override
public void run() {
notificationCount = Integer.valueOf(webMessage);
- MenuItem item = menu.findItem(R.id.notifications);
+ MenuItem item = menu.findItem(R.id.action_notifications);
if (item != null) {
if (notificationCount > 0) {
@@ -887,13 +742,23 @@ public class MainActivity extends AppCompatActivity
}
@JavascriptInterface
- public void setConversationCount(final String webMessage){
+ public void setProfileId(final String webMessage) {
+ if(profileId.equals("") || !profileId.equals(webMessage)) {
+ profileId = webMessage;
+ appSettings.setProfileId(profileId);
+ }
+ }
+
+
+
+ @JavascriptInterface
+ public void setConversationCount(final String webMessage) {
myHandler.post(new Runnable() {
@Override
public void run() {
conversationCount = Integer.valueOf(webMessage);
- MenuItem item = menu.findItem(R.id.conversations);
+ MenuItem item = menu.findItem(R.id.action_conversations);
if (item != null) {
if (conversationCount > 0) {
@@ -927,229 +792,233 @@ public class MainActivity extends AppCompatActivity
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
- int id = item.getItemId();
-
- if (id == R.id.jb_stream) {
- if (Helpers.isOnline(MainActivity.this)) {
- webView.loadUrl("https://" + podDomain + "/stream");
- setTitle(R.string.jb_stream);
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ switch (item.getItemId()) {
+ case R.id.nav_stream: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/stream");
+ setTitle(R.string.jb_stream);
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
}
+ break;
- } else if (id == R.id.jb_followed_tags) {
- if (Helpers.isOnline(MainActivity.this)) {
- webView.loadUrl("https://" + podDomain + "/followed_tags");
- setTitle(R.string.jb_followed_tags);
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ case R.id.nav_profile: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/people/" + profileId);
+ setTitle(R.string.jb_profile);
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
}
+ break;
- } else if (id == R.id.jb_aspects) {
- if (Helpers.isOnline(MainActivity.this)) {
- webView.loadUrl("https://" + podDomain + "/aspects");
- setTitle(R.string.jb_aspects);
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ // TODO followed_tags currently not implemented as single viewable page (0.5.7.1-paf04894e, 2016 March 20)
+ case R.id.nav_followed_tags: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/followed_tags");
+ setTitle(R.string.jb_followed_tags);
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
}
+ break;
- } else if (id == R.id.jb_activities) {
- if (Helpers.isOnline(MainActivity.this)) {
- webView.loadUrl("https://" + podDomain + "/activity");
- setTitle(R.string.jb_activities);
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ case R.id.nav_aspects: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/aspects");
+ setTitle(R.string.jb_aspects);
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
}
+ break;
- } else if (id == R.id.jb_liked) {
- if (Helpers.isOnline(MainActivity.this)) {
- webView.loadUrl("https://" + podDomain + "/liked");
- setTitle(R.string.jb_liked);
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ case R.id.nav_activities: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/activity");
+ setTitle(R.string.jb_activities);
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
}
+ break;
- } else if (id == R.id.jb_commented) {
- if (Helpers.isOnline(MainActivity.this)) {
- webView.loadUrl("https://" + podDomain + "/commented");
- setTitle(R.string.jb_commented);
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ case R.id.nav_liked: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/liked");
+ setTitle(R.string.jb_liked);
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
}
+ break;
- } else if (id == R.id.jb_mentions) {
- if (Helpers.isOnline(MainActivity.this)) {
- webView.loadUrl("https://" + podDomain + "/mentions");
- setTitle(R.string.jb_mentions);
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ case R.id.nav_commented: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/commented");
+ setTitle(R.string.jb_commented);
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
}
+ break;
- } else if (id == R.id.jb_public) {
- if (Helpers.isOnline(MainActivity.this)) {
- webView.loadUrl("https://" + podDomain + "/public");
- setTitle(R.string.jb_public);
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ case R.id.nav_mentions: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/mentions");
+ setTitle(R.string.jb_mentions);
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
}
+ break;
- } else if (id == R.id.jb_settings_view) {
- final CharSequence[] options = { getString(R.string.settings_font), getString(R.string.settings_view),getString(R.string.settings_image) };
- if (Helpers.isOnline(MainActivity.this)) {
+ case R.id.nav_public: {
+ if (Helpers.isOnline(MainActivity.this)) {
+ webView.loadUrl("https://" + podDomain + "/public");
+ setTitle(R.string.jb_public);
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
+ }
+ break;
+
+ case R.id.nav_settings_view: {
+ final CharSequence[] options = {getString(R.string.settings_font), getString(R.string.settings_view), getString(R.string.settings_image)};
+ if (Helpers.isOnline(MainActivity.this)) {
+ new AlertDialog.Builder(MainActivity.this)
+ .setItems(options, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int item) {
+ if (options[item].equals(getString(R.string.settings_font)))
+ alertFormElements();
+ if (options[item].equals(getString(R.string.settings_view)))
+ webView.loadUrl("https://" + podDomain + "/mobile/toggle");
+ if (options[item].equals(getString(R.string.settings_image)))
+ wSettings.setLoadsImagesAutomatically(!pm.getLoadImages());
+ pm.setLoadImages(!pm.getLoadImages());
+ webView.loadUrl(webView.getUrl());
+ }
+ }).show();
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
+ }
+ break;
+
+ case R.id.nav_settings_diaspora: {
+ final CharSequence[] options2 = {getString(R.string.jb_settings), getString(R.string.jb_manage_tags),
+ getString(R.string.jb_contacts), getString(R.string.jb_pod)};
+ if (Helpers.isOnline(MainActivity.this)) {
+ new AlertDialog.Builder(MainActivity.this)
+ .setItems(options2, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int item) {
+ if (options2[item].equals(getString(R.string.jb_settings)))
+ webView.loadUrl("https://" + podDomain + "/user/edit");
+ if (options2[item].equals(getString(R.string.jb_manage_tags)))
+ webView.loadUrl("https://" + podDomain + "/tag_followings/manage");
+ if (options2[item].equals(getString(R.string.jb_contacts)))
+ webView.loadUrl("https://" + podDomain + "/contacts");
+ if (options2[item].equals(getString(R.string.jb_pod)))
+ new AlertDialog.Builder(MainActivity.this)
+ .setTitle(getString(R.string.confirmation))
+ .setMessage(getString(R.string.change_pod_warning))
+ .setPositiveButton(getString(R.string.yes),
+ new DialogInterface.OnClickListener() {
+ @TargetApi(11)
+ public void onClick(DialogInterface dialog, int id) {
+ webView.clearCache(true);
+ dialog.cancel();
+ Intent i = new Intent(MainActivity.this, PodsActivity.class);
+ startActivity(i);
+ finish();
+ }
+ })
+ .setNegativeButton(getString(R.string.no), new DialogInterface.OnClickListener() {
+ @TargetApi(11)
+ public void onClick(DialogInterface dialog, int id) {
+ dialog.cancel();
+ }
+ }).show();
+ }
+ }).show();
+ } else {
+ Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
+ }
+ }
+ break;
+
+ case R.id.nav_license_help: {
+ final CharSequence[] options = {getString(R.string.help_license), getString(R.string.help_about), getString(R.string.help_help), getString(R.string.help_donate)};
new AlertDialog.Builder(MainActivity.this)
.setItems(options, new DialogInterface.OnClickListener() {
-
@Override
public void onClick(DialogInterface dialog, int item) {
-
- if (options[item].equals(getString(R.string.settings_font)))
- alertFormElements();
-
- if (options[item].equals(getString(R.string.settings_view)))
- webView.loadUrl("https://" + podDomain + "/mobile/toggle");
-
- if (options[item].equals(getString(R.string.settings_image)))
- wSettings.setLoadsImagesAutomatically(!pm.getLoadImages());
- pm.setLoadImages(!pm.getLoadImages());
- webView.loadUrl(webView.getUrl());
- }
- }).show();
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
- }
-
- } else if (id == R.id.jb_settings_diaspora) {
-
- final CharSequence[] options2 = { getString(R.string.jb_settings), getString(R.string.jb_manage_tags),
- getString(R.string.jb_contacts), getString(R.string.jb_pod) };
- if (Helpers.isOnline(MainActivity.this)) {
- new AlertDialog.Builder(MainActivity.this)
- .setItems(options2, new DialogInterface.OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int item) {
-
- if (options2[item].equals(getString(R.string.jb_settings)))
- webView.loadUrl("https://" + podDomain + "/user/edit");
-
- if (options2[item].equals(getString(R.string.jb_manage_tags)))
- webView.loadUrl("https://" + podDomain + "/tag_followings/manage");
-
- if (options2[item].equals(getString(R.string.jb_contacts)))
- webView.loadUrl("https://" + podDomain + "/contacts");
-
- if (options2[item].equals(getString(R.string.jb_pod)))
- new AlertDialog.Builder(MainActivity.this)
- .setTitle(getString(R.string.confirmation))
- .setMessage(getString(R.string.change_pod_warning))
+ if (options[item].equals(getString(R.string.help_license))) {
+ final SpannableString s = new SpannableString(Html.fromHtml(getString(R.string.license_text)));
+ Linkify.addLinks(s, Linkify.WEB_URLS);
+ final AlertDialog d = new AlertDialog.Builder(MainActivity.this)
+ .setTitle(R.string.license_title)
+ .setMessage(s)
+ .setPositiveButton(getString(R.string.yes),
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ dialog.cancel();
+ }
+ }).show();
+ d.show();
+ ((TextView) d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
+ }
+ if (options[item].equals(getString(R.string.help_about))) {
+ final SpannableString s = new SpannableString(Html.fromHtml(getString(R.string.about_text)));
+ Linkify.addLinks(s, Linkify.WEB_URLS);
+ final AlertDialog d = new AlertDialog.Builder(MainActivity.this)
+ .setTitle(R.string.help_about)
+ .setMessage(s)
+ .setPositiveButton(getString(R.string.yes),
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ dialog.cancel();
+ }
+ }).show();
+ d.show();
+ ((TextView) d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
+ }
+ if (options[item].equals(getString(R.string.help_help))) {
+ new AlertDialog.Builder(MainActivity.this)
+ .setTitle(R.string.help_help)
+ .setMessage(Html.fromHtml(getString(R.string.markdown_text)))
+ .setPositiveButton(getString(R.string.yes),
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ dialog.cancel();
+ }
+ }).show();
+ }
+ if (options[item].equals(getString(R.string.help_donate))) {
+ new AlertDialog.Builder(MainActivity.this)
+ .setMessage(getString(R.string.donate_text))
.setPositiveButton(getString(R.string.yes),
new DialogInterface.OnClickListener() {
- @TargetApi(11)
public void onClick(DialogInterface dialog, int id) {
- webView.clearCache(true);
dialog.cancel();
- Intent i = new Intent(MainActivity.this, PodsActivity.class);
- startActivity(i);
- finish();
}
})
- .setNegativeButton(getString(R.string.no), new DialogInterface.OnClickListener() {
- @TargetApi(11)
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- }).show();
+ .setNegativeButton(getString(R.string.donate_1),
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://martinv.tip.me/"));
+ startActivity(i);
+ dialog.cancel();
+ }
+ }).show();
+ }
}
}).show();
- } else {
- Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
}
-
- } else if (id == R.id.jb_license_help) {
- final CharSequence[] options = { getString(R.string.help_license), getString(R.string.help_about), getString(R.string.help_help), getString(R.string.help_donate) };
- new AlertDialog.Builder(MainActivity.this)
- .setItems(options, new DialogInterface.OnClickListener() {
-
- @Override
-
- public void onClick(DialogInterface dialog, int item) {
-
- if (options[item].equals(getString(R.string.help_license)))
-
- {
- final SpannableString s = new SpannableString(Html.fromHtml(getString(R.string.license_text)));
- Linkify.addLinks(s, Linkify.WEB_URLS);
-
- final AlertDialog d = new AlertDialog.Builder(MainActivity.this)
- .setTitle(R.string.license_title)
- .setMessage( s )
- .setPositiveButton(getString(R.string.yes),
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- }).show();
- d.show();
- ((TextView)d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
- }
-
- if (options[item].equals(getString(R.string.help_about)))
-
- {
- final SpannableString s = new SpannableString(Html.fromHtml(getString(R.string.about_text)));
- Linkify.addLinks(s, Linkify.WEB_URLS);
-
- final AlertDialog d = new AlertDialog.Builder(MainActivity.this)
- .setTitle(R.string.help_about)
- .setMessage( s )
- .setPositiveButton(getString(R.string.yes),
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- }).show();
- d.show();
- ((TextView)d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
- }
-
- if (options[item].equals(getString(R.string.help_help)))
-
- {
- new AlertDialog.Builder(MainActivity.this)
- .setTitle(R.string.help_help)
- .setMessage(Html.fromHtml(getString(R.string.markdown_text)))
- .setPositiveButton(getString(R.string.yes),
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- }).show();
- }
-
- if (options[item].equals(getString(R.string.help_donate)))
-
- {
- new AlertDialog.Builder(MainActivity.this)
- .setMessage(getString(R.string.donate_text))
- .setPositiveButton(getString(R.string.yes),
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- })
- .setNegativeButton(getString(R.string.donate_1),
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://martinv.tip.me/"));
- startActivity(i);
- dialog.cancel();
- }
- }).show();
- }
-
- }
-
- }).show();
+ break;
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
diff --git a/app/src/main/java/de/baumann/diaspora/PodsActivity.java b/app/src/main/java/de/baumann/diaspora/PodsActivity.java
index 593fbd5f..a70da4a4 100644
--- a/app/src/main/java/de/baumann/diaspora/PodsActivity.java
+++ b/app/src/main/java/de/baumann/diaspora/PodsActivity.java
@@ -241,7 +241,7 @@ public class PodsActivity extends ActionBarActivity {
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
- if (id == R.id.reload) {
+ if (id == R.id.action_reload) {
if (Helpers.isOnline(PodsActivity.this)) {
progressDialog.show();
Intent i= new Intent(PodsActivity.this, GetPodsService.class);
diff --git a/app/src/main/java/de/baumann/diaspora/ShareActivity.java b/app/src/main/java/de/baumann/diaspora/ShareActivity.java
index f3b80bfc..feb460ec 100644
--- a/app/src/main/java/de/baumann/diaspora/ShareActivity.java
+++ b/app/src/main/java/de/baumann/diaspora/ShareActivity.java
@@ -43,7 +43,6 @@ import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
-import android.widget.TextView;
import java.io.File;
import java.io.IOException;
@@ -333,7 +332,7 @@ public class ShareActivity extends MainActivity {
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
- if (id == R.id.reload) {
+ if (id == R.id.action_reload) {
if (Helpers.isOnline(ShareActivity.this)) {
webView.reload();
return true;
diff --git a/app/src/main/java/de/baumann/diaspora/ShareActivity2.java b/app/src/main/java/de/baumann/diaspora/ShareActivity2.java
index 03b85152..7ad2b66d 100644
--- a/app/src/main/java/de/baumann/diaspora/ShareActivity2.java
+++ b/app/src/main/java/de/baumann/diaspora/ShareActivity2.java
@@ -333,7 +333,7 @@ public class ShareActivity2 extends MainActivity {
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
- if (id == R.id.reload) {
+ if (id == R.id.action_reload) {
if (Helpers.isOnline(ShareActivity2.this)) {
webView.reload();
return true;
diff --git a/app/src/main/java/de/baumann/diaspora/utils/Helpers.java b/app/src/main/java/de/baumann/diaspora/utils/Helpers.java
index 489cefc3..7a9a8e2b 100644
--- a/app/src/main/java/de/baumann/diaspora/utils/Helpers.java
+++ b/app/src/main/java/de/baumann/diaspora/utils/Helpers.java
@@ -33,7 +33,7 @@ public class Helpers {
return ni != null && ni.isConnectedOrConnecting();
}
- public static void hideTopBar(WebView wv) {
+ public static void hideTopBar(final WebView wv) {
wv.loadUrl("javascript: ( function() {" +
" if(document.getElementById('main_nav')) {" +
" document.getElementById('main_nav').parentNode.removeChild(" +
@@ -45,20 +45,29 @@ public class Helpers {
"})();");
}
- public static void getNotificationCount(WebView wv) {
+ public static void getNotificationCount(final WebView wv) {
wv.loadUrl("javascript: ( function() {" +
- " if (document.getElementById('notification')) {" +
+ "if (document.getElementById('notification')) {" +
" var count = document.getElementById('notification').innerHTML;" +
- " NotificationCounter.setNotificationCount(count.replace(/(\\r\\n|\\n|\\r)/gm, \"\"));" +
+ " AndroidBridge.setNotificationCount(count.replace(/(\\r\\n|\\n|\\r)/gm, \"\"));" +
" } else {" +
- " NotificationCounter.setNotificationCount('0');" +
+ " AndroidBridge.setNotificationCount('0');" +
" }" +
" if (document.getElementById('conversation')) {" +
" var count = document.getElementById('conversation').innerHTML;" +
- " NotificationCounter.setConversationCount(count.replace(/(\\r\\n|\\n|\\r)/gm, \"\"));" +
+ " AndroidBridge.setConversationCount(count.replace(/(\\r\\n|\\n|\\r)/gm, \"\"));" +
" } else {" +
- " NotificationCounter.setConversationCount('0');" +
+ " AndroidBridge.setConversationCount('0');" +
" }" +
"})();");
}
+
+ public static void getProfileId(final WebView wv) {
+ wv.loadUrl("javascript: ( function() {" +
+ " if (typeof gon !== 'undefined' && typeof gon.user !== 'undefined' && typeof gon.user.guid !== 'undefined') {" +
+ " var guid = gon.user.guid;" +
+ " AndroidBridge.setProfileId(guid.toString());" +
+ " } " +
+ "})();");
+ }
}
diff --git a/app/src/main/res/drawable-hdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_person_black_24dp.png
new file mode 100644
index 00000000..6fbcc6d4
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_person_black_24dp.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png
new file mode 100644
index 00000000..b09a6926
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_person_black_24dp.png
new file mode 100644
index 00000000..57da32af
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_person_black_24dp.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_share_white_24dp.png
new file mode 100644
index 00000000..e944fd70
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_share_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png
new file mode 100644
index 00000000..360a32f2
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png
new file mode 100644
index 00000000..22a8783e
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png
new file mode 100644
index 00000000..f1e14849
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png
new file mode 100644
index 00000000..a35b3cd1
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png
new file mode 100644
index 00000000..1ebc37be
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png
new file mode 100644
index 00000000..e351c7be
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png differ
diff --git a/app/src/main/res/menu/activity_main_drawer.xml b/app/src/main/res/menu/activity_main_drawer.xml
index 8d15fa2c..947379b1 100644
--- a/app/src/main/res/menu/activity_main_drawer.xml
+++ b/app/src/main/res/menu/activity_main_drawer.xml
@@ -3,42 +3,49 @@
+
+
+
-
@@ -46,17 +53,17 @@
-
diff --git a/app/src/main/res/menu/menu_compose.xml b/app/src/main/res/menu/menu_compose.xml
index bf90ed68..9b4f21de 100644
--- a/app/src/main/res/menu/menu_compose.xml
+++ b/app/src/main/res/menu/menu_compose.xml
@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
-
-
-
-
-
+ app:showAsAction="ifRoom" />
diff --git a/app/src/main/res/menu/menu_pods.xml b/app/src/main/res/menu/menu_pods.xml
index 44943da0..bfbae4f9 100644
--- a/app/src/main/res/menu/menu_pods.xml
+++ b/app/src/main/res/menu/menu_pods.xml
@@ -4,7 +4,7 @@
tools:context="ar.com.tristeslostrestigres.diasporanativewebapp.PodsActivity">
- Stream
Benachrichtigungen
Unterhaltungen
- Gelikete Beiträge
+ Gelikte Beiträge
Kommentierte Beiträge
Kontakte
Erwähnungen
- Meine Aktivitäten
+ Aktivitäten
Verfolgte Tags
Tags verwalten
Persönliche Einstellungen
- Meine Aspekte
+ Aspekte
Pod wechseln
Öffentliche Aktivitäten
@@ -144,8 +144,8 @@ along with this program. If not, see http://www.gnu.org/licenses.<br> <br
<i>Die Bilder des Startbildschirms können auf Flickr gefunden werden:
https://www.flickr.com/photos/129581906@N06/sets/72157651933980136/with/16594947123.
Sie wurden von \"Lydia\" veröffentlicht und stehen unter der cc by-nc-sa Lizenz.</i>
- Suche nach Personen ...
- Suche nach Tags ...
+ Suche nach Personen …
+ Suche nach Tags …
per Bitcoin
Wenn dir die App gefällt, kannst du dem Entwickler der original \"DiasporaNativeWebApp\"
eine Kleinigkeit spenden:
@@ -155,5 +155,6 @@ along with this program. If not, see http://www.gnu.org/licenses.<br> <br
Ungelesene Benachrichtigung. Lesen?
Changelog
Titel und Text
+ Profil
diff --git a/app/src/main/res/values-w820dp/strings.xml b/app/src/main/res/values-w820dp/strings.xml
deleted file mode 100644
index 03fdcf71..00000000
--- a/app/src/main/res/values-w820dp/strings.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
- Diaspora Native WebApp
- Reload
- Select Pod
- Enter pod domain
- Exit app
- Confirm pod url
- Diaspora
- Note: This list is populated with only the secure pods from podupti.me
- Please enter a valid domain name
- Error: Could not retrieve list of pods!
- Loading pod list ...
- Sorry, you must be connected to the Internet to proceed
- Confirmation
- Do you want to use the pod:
- Are you sure you want to exit?
- YES
- NO
- This will erase all cookies and session data. Do you really want to change pods?
- New post
-
diff --git a/app/src/main/res/values/color.xml b/app/src/main/res/values/color.xml
index b4ade840..94d9c6a8 100644
--- a/app/src/main/res/values/color.xml
+++ b/app/src/main/res/values/color.xml
@@ -10,7 +10,7 @@
#607d8b
#90a4ae
- #99212121
+ #BC212121
#ffffff
#ffffff
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b01e8da5..c1bbad4e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -21,7 +21,7 @@
Note: This list is populated with only the secure pods from podupti.me
Please enter a valid domain name
Error: Could not retrieve list of pods!
- Loading pod list ...
+ Loading pod list …
Sorry, you must be connected to the Internet to proceed
@@ -48,11 +48,11 @@
Commented
Contacts
Mentions
- My activity
+ Activities
Followed Hashtags
Manage Hashtags
Personal settings
- My aspects
+ Aspects
Change pod
Public activities
View settings
@@ -71,15 +71,15 @@
Donate
Changelog
- Taking screenshot ...
+ Taking screenshot …
// Floating Action Buttons - Titles
Go to top
Search by tags or persons
- Search for tag ...
- Search for person ...
+ Search for tag …
+ Search for person …
New message
@@ -186,6 +186,7 @@
Large
Huge
Unable to get image
+ Profile
- @drawable/splashscreen1
@@ -195,4 +196,7 @@
- @drawable/splashscreen5
- @drawable/splashscreen6
-
\ No newline at end of file
+
+ Exit app
+ Diaspora
+
diff --git a/app/src/test/java/de/baumann/diaspora/ExampleUnitTest.java b/app/src/test/java/de/baumann/diaspora/ExampleUnitTest.java
deleted file mode 100644
index 807b065f..00000000
--- a/app/src/test/java/de/baumann/diaspora/ExampleUnitTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package de.baumann.diaspora;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * To work on unit tests, switch the Test Artifact in the Build Variants view.
- */
-public class ExampleUnitTest {
- @Test
- public void addition_isCorrect() throws Exception {
- assertEquals(4, 2 + 2);
- }
-}
\ No newline at end of file