From a49f558e9a55e3a96b28ce5ce09526fe939ba29a Mon Sep 17 00:00:00 2001 From: scoute-dich Date: Sat, 19 Mar 2016 10:52:12 +0100 Subject: [PATCH] version 1.2 see changelog --- CHANGELOG.md | 4 + app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 4 +- .../de/baumann/diaspora/MainActivity.java | 1 - .../de/baumann/diaspora/PodsActivity.java | 4 +- .../de/baumann/diaspora/ShareActivity.java | 112 +++++++++++++++--- app/src/main/res/values/strings.xml | 4 + 7 files changed, 111 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c8a5c36..2b9e72a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +### v1.2 +- using strings in podactivity +- improved share activity + ### v1.1 - new about app and help dialogs - better snackbar integration diff --git a/app/build.gradle b/app/build.gradle index 64f9be07..905abd11 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { applicationId "de.baumann.diaspora" minSdkVersion 15 targetSdkVersion 23 - versionCode 10 - versionName "1.1.1" + versionCode 15 + versionName "1.2" } buildTypes { release { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index aeeebb37..6c78789b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -45,12 +45,14 @@ android:launchMode="singleInstance" android:configChanges="keyboardHidden|orientation|screenSize" android:label="@string/new_post" + android:theme="@style/AppTheme.NoActionBar" android:screenOrientation="portrait" > - + + diff --git a/app/src/main/java/de/baumann/diaspora/MainActivity.java b/app/src/main/java/de/baumann/diaspora/MainActivity.java index 8b6ee60e..0c015686 100644 --- a/app/src/main/java/de/baumann/diaspora/MainActivity.java +++ b/app/src/main/java/de/baumann/diaspora/MainActivity.java @@ -148,7 +148,6 @@ public class MainActivity extends AppCompatActivity R.color.fab_big); webView = (WebView)findViewById(R.id.webView); - webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); webView.addJavascriptInterface(new JavaScriptInterface(), "NotificationCounter"); if (savedInstanceState != null) { diff --git a/app/src/main/java/de/baumann/diaspora/PodsActivity.java b/app/src/main/java/de/baumann/diaspora/PodsActivity.java index 49ddcec8..593fbd5f 100644 --- a/app/src/main/java/de/baumann/diaspora/PodsActivity.java +++ b/app/src/main/java/de/baumann/diaspora/PodsActivity.java @@ -168,7 +168,7 @@ public class PodsActivity extends ActionBarActivity { new AlertDialog.Builder(PodsActivity.this) .setTitle(getString(R.string.confirmation)) .setMessage(getString(R.string.confirm_pod)+podDomain+"?") - .setPositiveButton("YES", + .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { @@ -199,7 +199,7 @@ public class PodsActivity extends ActionBarActivity { finish(); } }) - .setNegativeButton("NO", new DialogInterface.OnClickListener() { + .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { @TargetApi(11) public void onClick(DialogInterface dialog, int id) { dialog.cancel(); diff --git a/app/src/main/java/de/baumann/diaspora/ShareActivity.java b/app/src/main/java/de/baumann/diaspora/ShareActivity.java index 0e8dd7fc..0f0fde49 100644 --- a/app/src/main/java/de/baumann/diaspora/ShareActivity.java +++ b/app/src/main/java/de/baumann/diaspora/ShareActivity.java @@ -29,6 +29,8 @@ import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.support.design.widget.Snackbar; +import android.support.v4.widget.SwipeRefreshLayout; +import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.Menu; import android.view.MenuItem; @@ -49,7 +51,6 @@ import java.util.Date; import de.baumann.diaspora.utils.Helpers; - public class ShareActivity extends MainActivity { private WebView webView; @@ -57,28 +58,34 @@ public class ShareActivity extends MainActivity { private String podDomain; private ValueCallback mFilePathCallback; private String mCameraPhotoPath; - private TextView txtTitle; + private com.getbase.floatingactionbutton.FloatingActionsMenu fab; private ProgressBar progressBar; + private SwipeRefreshLayout swipeView; @SuppressLint("SetJavaScriptEnabled") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); progressBar = (ProgressBar)findViewById(R.id.progressBar); - txtTitle.setOnClickListener(new View.OnClickListener() { + swipeView = (SwipeRefreshLayout) findViewById(R.id.swipe); + swipeView.setColorSchemeResources(R.color.colorPrimary, + R.color.fab_big); + + toolbar.setOnClickListener(new View.OnClickListener() { @Override - public void onClick(View v) { + public void onClick(View view) { if (Helpers.isOnline(ShareActivity.this)) { - txtTitle.setText(R.string.jb_stream); - Intent i = new Intent(ShareActivity.this, MainActivity.class); - i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(i); - finish(); + Intent intent = new Intent(ShareActivity.this, MainActivity.class); + startActivityForResult(intent, 100); + overridePendingTransition(0, 0); } else { - Snackbar.make(v, R.string.no_internet, Snackbar.LENGTH_SHORT).show(); + Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show(); } } }); @@ -87,7 +94,7 @@ public class ShareActivity extends MainActivity { SharedPreferences config = getSharedPreferences("PodSettings", MODE_PRIVATE); podDomain = config.getString("podDomain", null); - com.getbase.floatingactionbutton.FloatingActionsMenu fab = (com.getbase.floatingactionbutton.FloatingActionsMenu) findViewById(R.id.multiple_actions); + fab = (com.getbase.floatingactionbutton.FloatingActionsMenu) findViewById(R.id.multiple_actions); fab.setVisibility(View.GONE); webView = (WebView)findViewById(R.id.webView); @@ -130,6 +137,18 @@ public class ShareActivity extends MainActivity { } }); + swipeView.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { + @Override + public void onRefresh() { + if (Helpers.isOnline(ShareActivity.this)) { + webView.reload(); + } else { + Snackbar.make(swipeView, R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show(); + swipeView.setRefreshing(false); + } + } + }); + /* * WebChromeClient @@ -230,7 +249,7 @@ public class ShareActivity extends MainActivity { finish(); - Snackbar.make(webView, R.string.please_reload, Snackbar.LENGTH_LONG).show(); + Snackbar.make(swipeView, R.string.please_reload, Snackbar.LENGTH_INDEFINITE).show(); Intent i = new Intent(ShareActivity.this, MainActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); @@ -242,7 +261,40 @@ public class ShareActivity extends MainActivity { webView.loadUrl("javascript:(function() { " + "document.getElementsByTagName('textarea')[0].style.height='110px'; " + - "document.getElementsByTagName('textarea')[0].innerHTML = '[" + extraSubject + "](" + extraText + ") #ViaDiasporaNativeWebApp'; " + + "document.getElementsByTagName('textarea')[0].innerHTML = '[" + extraSubject + "] (" + extraText + ") shared with #DiasporaWebApp'; " + + " if(document.getElementById(\"main_nav\")) {" + + " document.getElementById(\"main_nav\").parentNode.removeChild(" + + " document.getElementById(\"main_nav\"));" + + " } else if (document.getElementById(\"main-nav\")) {" + + " document.getElementById(\"main-nav\").parentNode.removeChild(" + + " document.getElementById(\"main-nav\"));" + + " }" + + "})();"); + + } + + if (extras.containsKey(Intent.EXTRA_TEXT)) { + final String extraText = (String) extras.get(Intent.EXTRA_TEXT); + + webView.setWebViewClient(new WebViewClient() { + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + + finish(); + + Snackbar.make(swipeView, R.string.please_reload, Snackbar.LENGTH_INDEFINITE).show(); + + Intent i = new Intent(ShareActivity.this, MainActivity.class); + i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(i); + + return false; + } + }); + + webView.loadUrl("javascript:(function() { " + + "document.getElementsByTagName('textarea')[0].style.height='110px'; " + + "document.getElementsByTagName('textarea')[0].innerHTML = ' > " + extraText + " [shared with #DiasporaWebApp]'; " + " if(document.getElementById(\"main_nav\")) {" + " document.getElementById(\"main_nav\").parentNode.removeChild(" + " document.getElementById(\"main_nav\"));" + @@ -294,8 +346,8 @@ public class ShareActivity extends MainActivity { if (Helpers.isOnline(ShareActivity.this)) { webView.reload(); return true; - } else { - Snackbar.make(getWindow().findViewById(R.id.drawer_layout), R.string.no_internet, Snackbar.LENGTH_INDEFINITE).show(); + } else { + Snackbar.make(getWindow().findViewById(R.id.drawer_layout), R.string.no_internet, Snackbar.LENGTH_SHORT).show(); return false; } } @@ -303,4 +355,32 @@ public class ShareActivity extends MainActivity { return super.onOptionsItemSelected(item); } -} + @Override + public void onBackPressed() { + fab.collapse(); + if (webView.canGoBack()) { + webView.goBack(); + setTitle(R.string.app_name); + 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(); + } else { + 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) { + finish(); + } + }); + snackbar.show(); + } + } + +} \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ed786732..3f727715 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -136,6 +136,10 @@ <i>For more informations visit the Projectsite on github:<br> https://github.com/scoute-dich/Diaspora</i><br><br> + <b>v1.2:</b><br> + • using strings in podactivity<br> + • improved share activity<br><br> + <b>v1.1:</b><br> • new about app and help dialogs<br> • better snackbar integration<br><br>