diff options
author | steckbrief <steckbrief@chefmail.de> | 2016-06-07 15:22:51 +0200 |
---|---|---|
committer | steckbrief <steckbrief@chefmail.de> | 2016-06-07 15:22:51 +0200 |
commit | f7d2e1560377b36d3730922a2fadaee05a570b49 (patch) | |
tree | 1c99bd75d863d82a82495fabe434892ee76b9842 /src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java | |
parent | c5c5b417ddd66b4611b0493c0e0a8349adbd34a4 (diff) |
Related to FS#140, Logo implementation moved to FloatingActionButton
- Appcompat v7 dependency added
- References adjusted to work correctly with appcompat v7
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/ui/XmppActivity.java | 60 |
1 files changed, 50 insertions, 10 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,11 +349,10 @@ public abstract class XmppActivity extends Activity { super.onCreate(savedInstanceState); metrics = getResources().getDisplayMetrics(); ExceptionHelper.init(getApplicationContext()); + if (this.useDefaultActionBar) { this.mTheme = findTheme(); setTheme(this.mTheme); - final ActionBar ab = getActionBar(); - if (ab!=null) { - ab.setDisplayHomeAsUpEnabled(true); + enableHomeButtonAsUp(); } } @@ -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; } } |