Skip to content

Commit

Permalink
change color too in action bar title (move uiutil compat code into no…
Browse files Browse the repository at this point in the history
…rmal compat)
  • Loading branch information
nobnago committed Aug 10, 2012
1 parent 6cfa9f6 commit 5cc8c91
Show file tree
Hide file tree
Showing 8 changed files with 44 additions and 25 deletions.
3 changes: 1 addition & 2 deletions src/com/ichi2/anki/CardBrowser.java
Expand Up @@ -749,8 +749,7 @@ public void onProgressUpdate(DeckTask.TaskData... values) {
private void updateList() {
mCardsAdapter.notifyDataSetChanged();
int count = mCards.size();
UIUtils.setActionBarSubtitle(this,
getResources().getQuantityString(R.plurals.card_browser_subtitle, count, count, mAllCards.size()));
AnkiDroidApp.getCompat().setSubtitle(this, getResources().getQuantityString(R.plurals.card_browser_subtitle, count, count, mAllCards.size()));
}


Expand Down
2 changes: 1 addition & 1 deletion src/com/ichi2/anki/DeckPicker.java
Expand Up @@ -2584,7 +2584,7 @@ private void updateDecksList(TreeSet<Object[]> decks, int eta, int count) {
if (eta != -1) {
time = res.getQuantityString(R.plurals.deckpicker_title_minutes, eta, eta);
}
UIUtils.setActionBarSubtitle(this, res.getQuantityString(R.plurals.deckpicker_title, due, due, count, time));
AnkiDroidApp.getCompat().setSubtitle(this, res.getQuantityString(R.plurals.deckpicker_title, due, due, count, time));
}
setTitle(res.getString(R.string.app_name));

Expand Down
8 changes: 4 additions & 4 deletions src/com/ichi2/anki/Reviewer.java
Expand Up @@ -931,11 +931,11 @@ protected void onCreate(Bundle savedInstanceState) {

try {
String[] title = mSched.getCol().getDecks().current().getString("name").split("::");
setTitle(title[title.length - 1]);
AnkiDroidApp.getCompat().setTitle(this, title[title.length - 1], mInvertedColors);
} catch (JSONException e) {
throw new RuntimeException(e);
}
UIUtils.setActionBarSubtitle(this, "");
AnkiDroidApp.getCompat().setSubtitle(this, "", mInvertedColors);

// Remove the status bar and title bar
if (mPrefFullscreenReview) {
Expand Down Expand Up @@ -2182,15 +2182,15 @@ private void updateScreenCounts() {

try {
String[] title = mSched.getCol().getDecks().get(mCurrentCard.getDid()).getString("name").split("::");
setTitle(title[title.length - 1]);
AnkiDroidApp.getCompat().setTitle(this, title[title.length - 1], mInvertedColors);
} catch (JSONException e) {
throw new RuntimeException(e);
}

int[] counts = mSched.counts(mCurrentCard);

int eta = mSched.eta(counts, false);
UIUtils.setActionBarSubtitle(this, getResources().getQuantityString(R.plurals.reviewer_window_title, eta, eta));
AnkiDroidApp.getCompat().setSubtitle(this, getResources().getQuantityString(R.plurals.reviewer_window_title, eta, eta), mInvertedColors);

SpannableString newCount = new SpannableString(String.valueOf(counts[0]));
SpannableString lrnCount = new SpannableString(String.valueOf(counts[1]));
Expand Down
17 changes: 0 additions & 17 deletions src/com/ichi2/anki/UIUtils.java
Expand Up @@ -79,23 +79,6 @@ private static void setShowAsActionIfRoom(MenuItem item) {
}


public static void setActionBarSubtitle(Context context, String text) {
try {
Method getActionBar = context.getClass().getMethod("getActionBar");
if (getActionBar != null) {
Object o = getActionBar.invoke(context);
o.getClass().getMethod("setSubtitle", CharSequence.class).invoke(o, text);
}
} catch (SecurityException e) {
} catch (NoSuchMethodException e) {
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
} catch (InvocationTargetException e) {
} catch (NullPointerException e) {
}
}


public static void saveCollectionInBackground() {
if (AnkiDroidApp.colIsOpen()) {
DeckTask.launchDeckTask(DeckTask.TASK_TYPE_SAVE_COLLECTION, new DeckTask.TaskListener() {
Expand Down
2 changes: 1 addition & 1 deletion src/com/ichi2/charts/ChartBuilder.java
Expand Up @@ -231,7 +231,7 @@ protected void onCreate(Bundle savedInstanceState) {
mTitle.setTextColor(Color.BLACK);
} else {
setTitle(title);
UIUtils.setActionBarSubtitle(this, subTitle);
AnkiDroidApp.getCompat().setSubtitle(this, subTitle);
mTitle.setVisibility(View.GONE);
}
for (int i = 1; i < mSeriesList.length; i++) {
Expand Down
3 changes: 3 additions & 0 deletions src/com/ichi2/compat/Compat.java
Expand Up @@ -46,4 +46,7 @@ public interface Compat {
public abstract void setOverScrollModeNever(View v);
public abstract void invalidateOptionsMenu(Activity activity);
public abstract void setActionBarBackground(Activity activity, int color);
public abstract void setTitle(Activity activity, String title, boolean inverted);
public abstract void setSubtitle(Activity activity, String title);
public abstract void setSubtitle(Activity activity, String title, boolean inverted);
}
29 changes: 29 additions & 0 deletions src/com/ichi2/compat/CompatV11.java
@@ -1,9 +1,14 @@
package com.ichi2.compat;

import com.ichi2.anki.R;

import android.annotation.TargetApi;
import android.app.ActionBar;
import android.app.Activity;
import android.graphics.drawable.ColorDrawable;
import android.text.SpannableStringBuilder;
import android.text.style.CharacterStyle;
import android.text.style.ForegroundColorSpan;

/** Implementation of {@link Compat} for SDK level 9 */
@TargetApi(11)
Expand All @@ -17,4 +22,28 @@ public void setActionBarBackground(Activity activity, int color) {
ActionBar ab = activity.getActionBar();
ab.setBackgroundDrawable(new ColorDrawable(activity.getResources().getColor(color)));
}
@Override
public void setTitle(Activity activity, String title, boolean inverted) {
ActionBar ab = activity.getActionBar();
CharacterStyle span = new ForegroundColorSpan(activity.getResources().getColor(inverted ? R.color.white : R.color.black));
SpannableStringBuilder ssb = new SpannableStringBuilder(title);
ssb.setSpan(span, 0, ssb.length(), 0);
ab.setTitle(ssb);
}
@Override
public void setSubtitle(Activity activity, String title) {
setSubtitle(activity, title, false);
}
@Override
public void setSubtitle(Activity activity, String title, boolean inverted) {
ActionBar ab = activity.getActionBar();
if (inverted) {
CharacterStyle span = new ForegroundColorSpan(activity.getResources().getColor(inverted ? R.color.white : R.color.black));
SpannableStringBuilder ssb = new SpannableStringBuilder(title);
ssb.setSpan(span, 0, ssb.length(), 0);
ab.setSubtitle(ssb);
} else {
ab.setSubtitle(title);
}
}
}
5 changes: 5 additions & 0 deletions src/com/ichi2/compat/CompatV4.java
Expand Up @@ -32,4 +32,9 @@ public void setScrollbarFadingEnabled(WebView webview, boolean enable) { }
public void setOverScrollModeNever(View v) { }
public void invalidateOptionsMenu(Activity activity) { }
public void setActionBarBackground(Activity activity, int color) { }
public void setTitle(Activity activity, String title, boolean inverted) {
activity.setTitle(title);
}
public void setSubtitle(Activity activity, String title) { }
public void setSubtitle(Activity activity, String title, boolean inverted) { }
}

0 comments on commit 5cc8c91

Please sign in to comment.