Link to profile; Move menu actions; Refactoring part1
|
@ -1,13 +0,0 @@
|
|||
package de.baumann.diaspora;
|
||||
|
||||
import android.app.Application;
|
||||
import android.test.ApplicationTestCase;
|
||||
|
||||
/**
|
||||
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
|
||||
*/
|
||||
public class ApplicationTest extends ApplicationTestCase<Application> {
|
||||
public ApplicationTest() {
|
||||
super(Application.class);
|
||||
}
|
||||
}
|
32
app/src/main/java/de/baumann/diaspora/AppSettings.java
Normal file
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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<Uri[]> 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<Uri[]> 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,14 +304,15 @@ 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() {
|
||||
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("\\*", "");
|
||||
|
@ -321,7 +325,8 @@ public class MainActivity extends AppCompatActivity
|
|||
setTitle(R.string.fab2_title_person);
|
||||
}
|
||||
}
|
||||
}).setNegativeButton(R.string.search_alert_tag,
|
||||
})
|
||||
.setNegativeButton(R.string.search_alert_tag,
|
||||
new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int whichButton) {
|
||||
String inputTag = input.getText().toString().trim();
|
||||
|
@ -336,16 +341,15 @@ public class MainActivity extends AppCompatActivity
|
|||
}
|
||||
}
|
||||
});
|
||||
alert.show();
|
||||
}
|
||||
else {
|
||||
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,9 +481,8 @@ public class MainActivity extends AppCompatActivity
|
|||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
int id = item.getItemId();
|
||||
|
||||
if (id == R.id.notifications) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_notifications: {
|
||||
if (Helpers.isOnline(MainActivity.this)) {
|
||||
webView.loadUrl("https://" + podDomain + "/notifications");
|
||||
setTitle(R.string.jb_notifications);
|
||||
|
@ -490,7 +493,7 @@ public class MainActivity extends AppCompatActivity
|
|||
}
|
||||
}
|
||||
|
||||
if (id == R.id.conversations) {
|
||||
case R.id.action_conversations: {
|
||||
if (Helpers.isOnline(MainActivity.this)) {
|
||||
webView.loadUrl("https://" + podDomain + "/conversations");
|
||||
setTitle(R.string.jb_conversations);
|
||||
|
@ -501,7 +504,7 @@ public class MainActivity extends AppCompatActivity
|
|||
}
|
||||
}
|
||||
|
||||
if (id == R.id.exit) {
|
||||
case R.id.action_exit: {
|
||||
Snackbar snackbar = Snackbar
|
||||
.make(swipeView, R.string.confirm_exit, Snackbar.LENGTH_LONG)
|
||||
.setAction(R.string.yes, new View.OnClickListener() {
|
||||
|
@ -512,144 +515,22 @@ public class MainActivity extends AppCompatActivity
|
|||
});
|
||||
snackbar.show();
|
||||
}
|
||||
break;
|
||||
|
||||
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) };
|
||||
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.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();
|
||||
}
|
||||
|
||||
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)) {
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
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)))
|
||||
|
||||
{
|
||||
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 (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) {
|
||||
|
@ -668,46 +549,36 @@ public class MainActivity extends AppCompatActivity
|
|||
.show();
|
||||
return;
|
||||
}
|
||||
requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE},
|
||||
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());
|
||||
|
@ -716,17 +587,13 @@ public class MainActivity extends AppCompatActivity
|
|||
+ 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 (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) {
|
||||
|
@ -745,64 +612,52 @@ public class MainActivity extends AppCompatActivity
|
|||
.show();
|
||||
return;
|
||||
}
|
||||
requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE},
|
||||
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) {
|
||||
|
@ -928,87 +793,109 @@ 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) {
|
||||
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) {
|
||||
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;
|
||||
|
||||
// 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_aspects) {
|
||||
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_activities) {
|
||||
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_liked) {
|
||||
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_commented) {
|
||||
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_mentions) {
|
||||
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_public) {
|
||||
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;
|
||||
|
||||
} 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) };
|
||||
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());
|
||||
|
@ -1018,27 +905,23 @@ public class MainActivity extends AppCompatActivity
|
|||
} else {
|
||||
Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
} 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) };
|
||||
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))
|
||||
|
@ -1065,25 +948,21 @@ public class MainActivity extends AppCompatActivity
|
|||
} else {
|
||||
Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
} 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) };
|
||||
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.help_license)))
|
||||
|
||||
{
|
||||
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 )
|
||||
.setMessage(s)
|
||||
.setPositiveButton(getString(R.string.yes),
|
||||
new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int id) {
|
||||
|
@ -1091,18 +970,14 @@ public class MainActivity extends AppCompatActivity
|
|||
}
|
||||
}).show();
|
||||
d.show();
|
||||
((TextView)d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||
((TextView) d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||
}
|
||||
|
||||
if (options[item].equals(getString(R.string.help_about)))
|
||||
|
||||
{
|
||||
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 )
|
||||
.setMessage(s)
|
||||
.setPositiveButton(getString(R.string.yes),
|
||||
new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int id) {
|
||||
|
@ -1110,12 +985,9 @@ public class MainActivity extends AppCompatActivity
|
|||
}
|
||||
}).show();
|
||||
d.show();
|
||||
((TextView)d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||
((TextView) d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||
}
|
||||
|
||||
if (options[item].equals(getString(R.string.help_help)))
|
||||
|
||||
{
|
||||
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)))
|
||||
|
@ -1126,10 +998,7 @@ public class MainActivity extends AppCompatActivity
|
|||
}
|
||||
}).show();
|
||||
}
|
||||
|
||||
if (options[item].equals(getString(R.string.help_donate)))
|
||||
|
||||
{
|
||||
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),
|
||||
|
@ -1147,11 +1016,11 @@ public class MainActivity extends AppCompatActivity
|
|||
}
|
||||
}).show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}).show();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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());" +
|
||||
" } " +
|
||||
"})();");
|
||||
}
|
||||
}
|
||||
|
|
BIN
app/src/main/res/drawable-hdpi/ic_person_black_24dp.png
Normal file
After Width: | Height: | Size: 269 B |
BIN
app/src/main/res/drawable-hdpi/ic_share_white_24dp.png
Normal file
After Width: | Height: | Size: 397 B |
BIN
app/src/main/res/drawable-mdpi/ic_person_black_24dp.png
Normal file
After Width: | Height: | Size: 189 B |
BIN
app/src/main/res/drawable-mdpi/ic_share_white_24dp.png
Normal file
After Width: | Height: | Size: 268 B |
BIN
app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png
Normal file
After Width: | Height: | Size: 307 B |
BIN
app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png
Normal file
After Width: | Height: | Size: 496 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png
Normal file
After Width: | Height: | Size: 428 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png
Normal file
After Width: | Height: | Size: 698 B |
BIN
app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png
Normal file
After Width: | Height: | Size: 565 B |
BIN
app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png
Normal file
After Width: | Height: | Size: 938 B |
|
@ -3,42 +3,49 @@
|
|||
|
||||
<group android:checkableBehavior="single">
|
||||
<item
|
||||
android:id="@+id/jb_stream"
|
||||
android:id="@+id/nav_stream"
|
||||
android:icon="@drawable/jb_stream"
|
||||
android:title="@string/jb_stream" />
|
||||
|
||||
<item
|
||||
android:id="@+id/jb_followed_tags"
|
||||
android:id="@+id/nav_profile"
|
||||
android:icon="@drawable/ic_person_black_24dp"
|
||||
android:title="@string/jb_profile" />
|
||||
|
||||
<!-- TODO followed_tags currently not implemented as single viewable page
|
||||
(0.5.7.1-paf04894e, 2016 March 20) -->
|
||||
<item
|
||||
android:visible="false"
|
||||
android:id="@+id/nav_followed_tags"
|
||||
android:icon="@drawable/jb_tag2"
|
||||
android:title="@string/jb_followed_tags" />
|
||||
|
||||
<item
|
||||
android:id="@+id/jb_aspects"
|
||||
android:id="@+id/nav_aspects"
|
||||
android:icon="@drawable/jb_aspects"
|
||||
android:title="@string/jb_aspects" />
|
||||
|
||||
<item
|
||||
android:id="@+id/jb_activities"
|
||||
android:id="@+id/nav_activities"
|
||||
android:icon="@drawable/jb_activities"
|
||||
android:title="@string/jb_activities" />
|
||||
|
||||
<item
|
||||
android:id="@+id/jb_liked"
|
||||
android:id="@+id/nav_liked"
|
||||
android:icon="@drawable/jb_heart"
|
||||
android:title="@string/jb_liked" />
|
||||
|
||||
<item
|
||||
android:id="@+id/jb_commented"
|
||||
android:id="@+id/nav_commented"
|
||||
android:icon="@drawable/jb_commented"
|
||||
android:title="@string/jb_commented" />
|
||||
|
||||
<item
|
||||
android:id="@+id/jb_mentions"
|
||||
android:id="@+id/nav_mentions"
|
||||
android:icon="@drawable/jb_mentions"
|
||||
android:title="@string/jb_mentions" />
|
||||
|
||||
<item
|
||||
android:id="@+id/jb_public"
|
||||
android:id="@+id/nav_public"
|
||||
android:icon="@drawable/jb_aspects"
|
||||
android:title="@string/jb_public" />
|
||||
</group>
|
||||
|
@ -46,17 +53,17 @@
|
|||
<item android:title="@string/jb_menu_1">
|
||||
<menu>
|
||||
<item
|
||||
android:id="@+id/jb_settings_view"
|
||||
android:id="@+id/nav_settings_view"
|
||||
android:icon="@drawable/jb_settings"
|
||||
android:title="@string/jb_settings_view" />
|
||||
|
||||
<item
|
||||
android:id="@+id/jb_settings_diaspora"
|
||||
android:id="@+id/nav_settings_diaspora"
|
||||
android:icon="@drawable/jb_stream"
|
||||
android:title="@string/jb_settings_diaspora" />
|
||||
|
||||
<item
|
||||
android:id="@+id/jb_license_help"
|
||||
android:id="@+id/nav_license_help"
|
||||
android:icon="@drawable/jb_license"
|
||||
android:title="@string/jb_help_license" />
|
||||
</menu>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
|
||||
|
||||
<item
|
||||
android:id="@+id/reload"
|
||||
android:id="@+id/action_reload"
|
||||
android:icon="@drawable/ic_sync_white_24dp"
|
||||
android:title="@string/reload"
|
||||
android:orderInCategory="109"
|
||||
|
|
|
@ -3,34 +3,25 @@
|
|||
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
|
||||
|
||||
<item
|
||||
android:id="@+id/notifications"
|
||||
android:id="@+id/action_notifications"
|
||||
android:icon="@drawable/ic_bell_outline_white_24dp"
|
||||
android:title="@string/notifications"
|
||||
app:showAsAction="always" />
|
||||
|
||||
<item
|
||||
android:id="@+id/conversations"
|
||||
android:id="@+id/action_conversations"
|
||||
android:icon="@drawable/ic_message_text_outline_white_24dp"
|
||||
android:title="@string/messages"
|
||||
app:showAsAction="always" />
|
||||
|
||||
<item
|
||||
android:id="@+id/help_license"
|
||||
android:title="@string/jb_help_license"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/view"
|
||||
android:title="@string/jb_settings_view"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/share"
|
||||
android:id="@+id/action_share"
|
||||
android:icon="@drawable/ic_share_white_24dp"
|
||||
android:title="@string/jb_share"
|
||||
app:showAsAction="never" />
|
||||
app:showAsAction="ifRoom" />
|
||||
|
||||
<item
|
||||
android:id="@+id/exit"
|
||||
android:id="@+id/action_exit"
|
||||
android:icon="@drawable/ic_sync_white_24dp"
|
||||
android:title="@string/exit_app"
|
||||
app:showAsAction="never" />
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
tools:context="ar.com.tristeslostrestigres.diasporanativewebapp.PodsActivity">
|
||||
|
||||
<item
|
||||
android:id="@+id/reload"
|
||||
android:id="@+id/action_reload"
|
||||
android:title="@string/reload"
|
||||
android:icon="@drawable/ic_sync_white_24dp"
|
||||
android:orderInCategory="100"
|
||||
|
|
|
@ -29,15 +29,15 @@
|
|||
<string name="jb_stream">Stream</string>
|
||||
<string name="jb_notifications">Benachrichtigungen</string>
|
||||
<string name="jb_conversations">Unterhaltungen</string>
|
||||
<string name="jb_liked">Gelikete Beiträge</string>
|
||||
<string name="jb_liked">Gelikte Beiträge</string>
|
||||
<string name="jb_commented">Kommentierte Beiträge</string>
|
||||
<string name="jb_contacts">Kontakte</string>
|
||||
<string name="jb_mentions">Erwähnungen</string>
|
||||
<string name="jb_activities">Meine Aktivitäten</string>
|
||||
<string name="jb_activities">Aktivitäten</string>
|
||||
<string name="jb_followed_tags">Verfolgte Tags</string>
|
||||
<string name="jb_manage_tags">Tags verwalten</string>
|
||||
<string name="jb_settings">Persönliche Einstellungen</string>
|
||||
<string name="jb_aspects">Meine Aspekte</string>
|
||||
<string name="jb_aspects">Aspekte</string>
|
||||
<string name="jb_pod">Pod wechseln</string>
|
||||
<string name="jb_public">Öffentliche Aktivitäten</string>
|
||||
|
||||
|
@ -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></string>
|
||||
<string name="fab2_title_person">Suche nach Personen ...</string>
|
||||
<string name="fab2_title_tag">Suche nach Tags ...</string>
|
||||
<string name="fab2_title_person">Suche nach Personen …</string>
|
||||
<string name="fab2_title_tag">Suche nach Tags …</string>
|
||||
<string name="donate_1">per Bitcoin</string>
|
||||
<string name="donate_text">Wenn dir die App gefällt, kannst du dem Entwickler der original \"DiasporaNativeWebApp\"
|
||||
eine Kleinigkeit spenden:</string>
|
||||
|
@ -155,5 +155,6 @@ along with this program. If not, see http://www.gnu.org/licenses.<br> <br
|
|||
<string name="new_notifications">Ungelesene Benachrichtigung. Lesen?</string>
|
||||
<string name="help_about">Changelog</string>
|
||||
<string name="new_post2">Titel und Text</string>
|
||||
<string name="jb_profile">Profil</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<color name="fab_small">#607d8b</color>
|
||||
<color name="fab_small_pressed">#90a4ae</color>
|
||||
|
||||
<color name="label_background">#99212121</color>
|
||||
<color name="label_background">#BC212121</color>
|
||||
<color name="label_text">#ffffff</color>
|
||||
|
||||
<color name="white">#ffffff</color>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<string name="podlist_source_note">Note: This list is populated with only the secure pods from podupti.me</string>
|
||||
<string name="valid_pod">Please enter a valid domain name</string>
|
||||
<string name="podlist_error">Error: Could not retrieve list of pods!</string>
|
||||
<string name="loading_podlist">Loading pod list ...</string>
|
||||
<string name="loading_podlist">Loading pod list …</string>
|
||||
|
||||
|
||||
<string name="no_internet">Sorry, you must be connected to the Internet to proceed</string>
|
||||
|
@ -48,11 +48,11 @@
|
|||
<string name="jb_commented">Commented</string>
|
||||
<string name="jb_contacts">Contacts</string>
|
||||
<string name="jb_mentions">Mentions</string>
|
||||
<string name="jb_activities">My activity</string>
|
||||
<string name="jb_activities">Activities</string>
|
||||
<string name="jb_followed_tags">Followed Hashtags</string>
|
||||
<string name="jb_manage_tags">Manage Hashtags</string>
|
||||
<string name="jb_settings">Personal settings</string>
|
||||
<string name="jb_aspects">My aspects</string>
|
||||
<string name="jb_aspects">Aspects</string>
|
||||
<string name="jb_pod">Change pod</string>
|
||||
<string name="jb_public">Public activities</string>
|
||||
<string name="jb_settings_view">View settings</string>
|
||||
|
@ -71,15 +71,15 @@
|
|||
<string name="help_donate">Donate</string>
|
||||
<string name="help_about">Changelog</string>
|
||||
|
||||
<string name="toast_screenshot">Taking screenshot ...</string>
|
||||
<string name="toast_screenshot">Taking screenshot …</string>
|
||||
|
||||
|
||||
// Floating Action Buttons - Titles
|
||||
|
||||
<string name="fab3_title">Go to top</string>
|
||||
<string name="fab2_title">Search by tags or persons</string>
|
||||
<string name="fab2_title_tag">Search for tag ...</string>
|
||||
<string name="fab2_title_person">Search for person ...</string>
|
||||
<string name="fab2_title_tag">Search for tag …</string>
|
||||
<string name="fab2_title_person">Search for person …</string>
|
||||
<string name="fab1_title">New message</string>
|
||||
|
||||
|
||||
|
@ -186,6 +186,7 @@
|
|||
<string name="large">Large</string>
|
||||
<string name="huge">Huge</string>
|
||||
<string name="image">Unable to get image</string>
|
||||
<string name="jb_profile">Profile</string>
|
||||
|
||||
<array name="splash_images">
|
||||
<item>@drawable/splashscreen1</item>
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|