aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java66
1 files changed, 53 insertions, 13 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java b/src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java
index 726facac..6d6e5e3f 100644
--- a/src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java
@@ -3,8 +3,6 @@ package de.thedevstack.conversationsplus.ui;
import android.Manifest;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
-import android.app.ActionBar;
-import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.PendingIntent;
@@ -17,7 +15,6 @@ import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.IntentSender.SendIntentException;
import android.content.ServiceConnection;
-import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
@@ -38,7 +35,9 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.PowerManager;
import android.os.SystemClock;
-import android.preference.PreferenceManager;
+import android.support.annotation.StringRes;
+import android.support.v7.app.ActionBar;
+import android.support.v7.app.AppCompatActivity;
import android.text.InputType;
import android.util.DisplayMetrics;
import android.view.Menu;
@@ -86,12 +85,13 @@ import de.thedevstack.conversationsplus.services.XmppConnectionService;
import de.thedevstack.conversationsplus.services.XmppConnectionService.XmppConnectionBinder;
import de.thedevstack.conversationsplus.utils.CryptoHelper;
import de.thedevstack.conversationsplus.utils.ExceptionHelper;
+import de.thedevstack.conversationsplus.utils.ui.TextViewUtil;
import de.thedevstack.conversationsplus.xmpp.OnKeyStatusUpdated;
import de.thedevstack.conversationsplus.xmpp.OnUpdateBlocklist;
import de.thedevstack.conversationsplus.xmpp.jid.InvalidJidException;
import de.thedevstack.conversationsplus.xmpp.jid.Jid;
-public abstract class XmppActivity extends Activity {
+public abstract class XmppActivity extends AppCompatActivity {
protected static final int REQUEST_ANNOUNCE_PGP = 0x0101;
protected static final int REQUEST_INVITE_TO_CONVERSATION = 0x0102;
@@ -103,6 +103,7 @@ public abstract class XmppActivity extends Activity {
public XmppConnectionService xmppConnectionService;
public boolean xmppConnectionServiceBound = false;
protected boolean registeredListeners = false;
+ protected boolean useDefaultActionBar = true;
private DisplayMetrics metrics;
protected int mTheme;
@@ -348,12 +349,11 @@ public abstract class XmppActivity extends Activity {
super.onCreate(savedInstanceState);
metrics = getResources().getDisplayMetrics();
ExceptionHelper.init(getApplicationContext());
- this.mTheme = findTheme();
- setTheme(this.mTheme);
- final ActionBar ab = getActionBar();
- if (ab!=null) {
- ab.setDisplayHomeAsUpEnabled(true);
- }
+ if (this.useDefaultActionBar) {
+ this.mTheme = findTheme();
+ setTheme(this.mTheme);
+ enableHomeButtonAsUp();
+ }
}
@Override
@@ -369,6 +369,46 @@ public abstract class XmppActivity extends Activity {
return super.onCreateOptionsMenu(menu);
}
+ protected void enableHomeButtonAsUp() {
+ this.setHomeButtonAsUpEnabled(true);
+ }
+
+ protected void disableHomeButtonAsUp() {
+ this.setHomeButtonAsUpEnabled(false);
+ }
+
+ protected void setHomeButtonAsUpEnabled(boolean enabled) {
+ ActionBar ab = getSupportActionBar();
+ if (null != ab) {
+ ab.setHomeButtonEnabled(enabled);
+ ab.setDisplayHomeAsUpEnabled(enabled);
+ }
+ }
+
+ protected void setActionBarTitle(String titleText) {
+ if (this.useDefaultActionBar) {
+ ActionBar ab = getSupportActionBar();
+ if (null != ab) {
+ ab.setTitle(titleText);
+ }
+ } else {
+ TextView title = (TextView) findViewById(R.id.cplusTitle);
+ title.setText(titleText);
+ }
+ }
+
+ protected void setActionBarTitle(@StringRes int resid) {
+ if (this.useDefaultActionBar) {
+ ActionBar ab = getSupportActionBar();
+ if (null != ab) {
+ ab.setTitle(resid);
+ }
+ } else {
+ TextView title = (TextView) findViewById(R.id.cplusTitle);
+ title.setText(resid);
+ }
+ }
+
protected boolean isOptimizingBattery() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
@@ -960,9 +1000,9 @@ public abstract class XmppActivity extends Activity {
protected int findTheme() {
if (ConversationsPlusPreferences.useLargerFont()) {
- return R.style.ConversationsTheme_LargerText;
+ return R.style.ConversationsPlusTheme_LargerText;
} else {
- return R.style.ConversationsTheme;
+ return R.style.ConversationsPlusTheme;
}
}