Skip to content

Commit

Permalink
Viewing new rub3 permenantly instead of just poping it up (#687)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ahmed Abdelaal authored and ahmedre committed Oct 4, 2016
1 parent b92e508 commit 415569b
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import com.quran.labs.androidquran.ui.helpers.AyahSelectedListener;
import com.quran.labs.androidquran.ui.helpers.AyahTracker;
import com.quran.labs.androidquran.ui.helpers.HighlightType;
import com.quran.labs.androidquran.ui.helpers.QuranDisplayHelper;
import com.quran.labs.androidquran.ui.helpers.QuranPageWorker;
import com.quran.labs.androidquran.ui.util.ImageAyahUtils;
import com.quran.labs.androidquran.ui.util.PageController;
Expand Down Expand Up @@ -301,7 +302,8 @@ protected void onPostExecute(RectF[] rect) {
String suraText = QuranInfo.getSuraNameFromPage(context, page, true);
String juzText = QuranInfo.getJuzString(context, page);
String pageText = QuranUtils.getLocalizedNumber(context, page);
mImageView.setOverlayText(suraText, juzText, pageText);
String rub3Text = QuranDisplayHelper.displayRub3(context,page);
mImageView.setOverlayText(suraText, juzText, pageText, rub3Text);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import com.quran.labs.androidquran.ui.helpers.AyahSelectedListener;
import com.quran.labs.androidquran.ui.helpers.AyahTracker;
import com.quran.labs.androidquran.ui.helpers.HighlightType;
import com.quran.labs.androidquran.ui.helpers.QuranDisplayHelper;
import com.quran.labs.androidquran.ui.helpers.QuranPageWorker;
import com.quran.labs.androidquran.ui.util.ImageAyahUtils;
import com.quran.labs.androidquran.ui.util.PageController;
Expand Down Expand Up @@ -319,16 +320,18 @@ protected void onPostExecute(RectF[] rect) {
if (mRightImageView != null && mLeftImageView != null) {
mRightImageView.setPageBounds(rect[0]);
mLeftImageView.setPageBounds(rect[1]);
Context context = getContext();
if (mOverlayText && context != null) {
if (mOverlayText && isAdded()) {
Context context = getContext();
String suraText = QuranInfo.getSuraNameFromPage(context, mPageNumber - 1, true);
String juzText = QuranInfo.getJuzString(context, mPageNumber - 1);
String pageText = QuranUtils.getLocalizedNumber(context, mPageNumber - 1);
mRightImageView.setOverlayText(suraText, juzText, pageText);
String rub3Text =QuranDisplayHelper.displayRub3(context,mPageNumber - 1);
mRightImageView.setOverlayText(suraText, juzText, pageText, rub3Text);
suraText = QuranInfo.getSuraNameFromPage(context, mPageNumber, true);
juzText = QuranInfo.getJuzString(context, mPageNumber);
pageText = QuranUtils.getLocalizedNumber(context, mPageNumber);
mLeftImageView.setOverlayText(suraText, juzText, pageText);
rub3Text = QuranDisplayHelper.displayRub3(context,mPageNumber);
mLeftImageView.setOverlayText(suraText, juzText, pageText, rub3Text);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,29 @@ public static long displayMarkerPopup(Context context, int page,
return System.currentTimeMillis();
}

// same logic used in displayMarkerPopup method
public static String displayRub3(Context context, int page){
int rub3 = QuranInfo.getRub3FromPage(page);
if (rub3 == -1) {
return "";
}
int hizb = (rub3 / 4) + 1;
StringBuilder sb = new StringBuilder();
sb.append(" , ");
int remainder = rub3 % 4;
if (remainder == 1) {
sb.append(context.getString(R.string.quran_rob3)).append(' ');
} else if (remainder == 2) {
sb.append(context.getString(R.string.quran_nos)).append(' ');
} else if (remainder == 3) {
sb.append(context.getString(R.string.quran_talt_arb3)).append(' ');
}
sb.append(context.getString(R.string.quran_hizb)).append(' ')
.append(QuranUtils.getLocalizedNumber(context, hizb));

return sb.toString();
}

public static PaintDrawable getPaintDrawable(int startX, int endX) {
PaintDrawable drawable = new PaintDrawable();
drawable.setShape(new RectShape());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@
import com.quran.labs.androidquran.R;
import com.quran.labs.androidquran.common.AyahBounds;
import com.quran.labs.androidquran.data.Constants;
import com.quran.labs.androidquran.data.QuranInfo;
import com.quran.labs.androidquran.ui.helpers.HighlightType;
import com.quran.labs.androidquran.util.QuranUtils;

import java.util.HashSet;
import java.util.List;
Expand Down Expand Up @@ -166,9 +168,10 @@ private static class OverlayParams {
String suraText = null;
String juzText = null;
String pageText = null;
String rub3Text = null;
}

public void setOverlayText(String suraText, String juzText, String pageText) {
public void setOverlayText(String suraText, String juzText, String pageText, String rub3Text) {
// Calculate page bounding rect from ayahinfo db
if (mPageBounds == null) {
return;
Expand All @@ -178,6 +181,7 @@ public void setOverlayText(String suraText, String juzText, String pageText) {
mOverlayParams.suraText = suraText;
mOverlayParams.juzText = juzText;
mOverlayParams.pageText = pageText;
mOverlayParams.rub3Text = rub3Text;
mOverlayParams.paint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);
mOverlayParams.paint.setTextSize(fontSize);

Expand Down Expand Up @@ -237,14 +241,15 @@ private void overlayText(Canvas canvas, Matrix matrix) {
canvas.drawText(mOverlayParams.suraText,
mOverlayParams.offsetX, mOverlayParams.topBaseline,
mOverlayParams.paint);
mOverlayParams.paint.setTextAlign(Align.RIGHT);
canvas.drawText(mOverlayParams.juzText,
getWidth() - mOverlayParams.offsetX, mOverlayParams.topBaseline,
mOverlayParams.paint);
mOverlayParams.paint.setTextAlign(Align.CENTER);
canvas.drawText(mOverlayParams.pageText,
getWidth() / 2.0f, mOverlayParams.bottomBaseline,
mOverlayParams.paint);
// Merge the current rub3 text with the juz' text
mOverlayParams.paint.setTextAlign(Align.RIGHT);
canvas.drawText(mOverlayParams.juzText + mOverlayParams.rub3Text,
getWidth() - mOverlayParams.offsetX, mOverlayParams.topBaseline,
mOverlayParams.paint);
mDidDraw = true;
}

Expand Down

0 comments on commit 415569b

Please sign in to comment.