Loading api/current.xml +23 −0 Original line number Diff line number Diff line Loading @@ -143781,6 +143781,29 @@ </parameter> </method> </interface> <interface name="LeadingMarginSpan.LeadingMarginSpan2" abstract="true" static="true" final="false" deprecated="not deprecated" visibility="public" > <implements name="android.text.style.LeadingMarginSpan"> </implements> <implements name="android.text.style.WrapTogetherSpan"> </implements> <method name="getLeadingMarginLineCount" return="int" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> </interface> <class name="LeadingMarginSpan.Standard" extends="java.lang.Object" abstract="false" core/java/android/text/Layout.java +13 −2 Original line number Diff line number Diff line Loading @@ -294,7 +294,12 @@ public abstract class Layout { lbaseline, lbottom, buf, start, end, par, this); left += margin.getLeadingMargin(par); boolean useMargin = par; if (margin instanceof LeadingMarginSpan.LeadingMarginSpan2) { int count = ((LeadingMarginSpan.LeadingMarginSpan2)margin).getLeadingMarginLineCount(); useMargin = count > i; } left += margin.getLeadingMargin(useMargin); } } } Loading Loading @@ -1293,7 +1298,13 @@ public abstract class Layout { LeadingMarginSpan.class); for (int i = 0; i < spans.length; i++) { left += spans[i].getLeadingMargin(par); boolean margin = par; LeadingMarginSpan span = spans[i]; if (span instanceof LeadingMarginSpan.LeadingMarginSpan2) { int count = ((LeadingMarginSpan.LeadingMarginSpan2)span).getLeadingMarginLineCount(); margin = count >= line; } left += span.getLeadingMargin(margin); } } } Loading core/java/android/text/StaticLayout.java +8 −1 Original line number Diff line number Diff line Loading @@ -161,6 +161,7 @@ extends Layout else end++; int firstWidthLineCount = 1; int firstwidth = outerwidth; int restwidth = outerwidth; Loading @@ -171,8 +172,12 @@ extends Layout sp = spanned.getSpans(start, end, LeadingMarginSpan.class); for (int i = 0; i < sp.length; i++) { LeadingMarginSpan lms = sp[i]; firstwidth -= sp[i].getLeadingMargin(true); restwidth -= sp[i].getLeadingMargin(false); if (lms instanceof LeadingMarginSpan.LeadingMarginSpan2) { firstWidthLineCount = ((LeadingMarginSpan.LeadingMarginSpan2)lms).getLeadingMarginLineCount(); } } chooseht = spanned.getSpans(start, end, LineHeightSpan.class); Loading Loading @@ -750,10 +755,12 @@ extends Layout fitascent = fitdescent = fittop = fitbottom = 0; okascent = okdescent = oktop = okbottom = 0; if (--firstWidthLineCount <= 0) { width = restwidth; } } } } if (end != here) { if ((fittop | fitbottom | fitdescent | fitascent) == 0) { Loading core/java/android/text/style/LeadingMarginSpan.java +5 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,11 @@ extends ParagraphStyle CharSequence text, int start, int end, boolean first, Layout layout); public interface LeadingMarginSpan2 extends LeadingMarginSpan, WrapTogetherSpan { public int getLeadingMarginLineCount(); }; public static class Standard implements LeadingMarginSpan, ParcelableSpan { private final int mFirst, mRest; Loading Loading
api/current.xml +23 −0 Original line number Diff line number Diff line Loading @@ -143781,6 +143781,29 @@ </parameter> </method> </interface> <interface name="LeadingMarginSpan.LeadingMarginSpan2" abstract="true" static="true" final="false" deprecated="not deprecated" visibility="public" > <implements name="android.text.style.LeadingMarginSpan"> </implements> <implements name="android.text.style.WrapTogetherSpan"> </implements> <method name="getLeadingMarginLineCount" return="int" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> </interface> <class name="LeadingMarginSpan.Standard" extends="java.lang.Object" abstract="false"
core/java/android/text/Layout.java +13 −2 Original line number Diff line number Diff line Loading @@ -294,7 +294,12 @@ public abstract class Layout { lbaseline, lbottom, buf, start, end, par, this); left += margin.getLeadingMargin(par); boolean useMargin = par; if (margin instanceof LeadingMarginSpan.LeadingMarginSpan2) { int count = ((LeadingMarginSpan.LeadingMarginSpan2)margin).getLeadingMarginLineCount(); useMargin = count > i; } left += margin.getLeadingMargin(useMargin); } } } Loading Loading @@ -1293,7 +1298,13 @@ public abstract class Layout { LeadingMarginSpan.class); for (int i = 0; i < spans.length; i++) { left += spans[i].getLeadingMargin(par); boolean margin = par; LeadingMarginSpan span = spans[i]; if (span instanceof LeadingMarginSpan.LeadingMarginSpan2) { int count = ((LeadingMarginSpan.LeadingMarginSpan2)span).getLeadingMarginLineCount(); margin = count >= line; } left += span.getLeadingMargin(margin); } } } Loading
core/java/android/text/StaticLayout.java +8 −1 Original line number Diff line number Diff line Loading @@ -161,6 +161,7 @@ extends Layout else end++; int firstWidthLineCount = 1; int firstwidth = outerwidth; int restwidth = outerwidth; Loading @@ -171,8 +172,12 @@ extends Layout sp = spanned.getSpans(start, end, LeadingMarginSpan.class); for (int i = 0; i < sp.length; i++) { LeadingMarginSpan lms = sp[i]; firstwidth -= sp[i].getLeadingMargin(true); restwidth -= sp[i].getLeadingMargin(false); if (lms instanceof LeadingMarginSpan.LeadingMarginSpan2) { firstWidthLineCount = ((LeadingMarginSpan.LeadingMarginSpan2)lms).getLeadingMarginLineCount(); } } chooseht = spanned.getSpans(start, end, LineHeightSpan.class); Loading Loading @@ -750,10 +755,12 @@ extends Layout fitascent = fitdescent = fittop = fitbottom = 0; okascent = okdescent = oktop = okbottom = 0; if (--firstWidthLineCount <= 0) { width = restwidth; } } } } if (end != here) { if ((fittop | fitbottom | fitdescent | fitascent) == 0) { Loading
core/java/android/text/style/LeadingMarginSpan.java +5 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,11 @@ extends ParagraphStyle CharSequence text, int start, int end, boolean first, Layout layout); public interface LeadingMarginSpan2 extends LeadingMarginSpan, WrapTogetherSpan { public int getLeadingMarginLineCount(); }; public static class Standard implements LeadingMarginSpan, ParcelableSpan { private final int mFirst, mRest; Loading