Skip to content

Commit

Permalink
initial RTL test code
Browse files Browse the repository at this point in the history
  • Loading branch information
suwhs committed Sep 4, 2015
1 parent 8124eab commit 47f8a67
Show file tree
Hide file tree
Showing 6 changed files with 159 additions and 3 deletions.
6 changes: 6 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,12 @@
android:name="android.support.PARENT_ACTIVITY"
android:value="su.whs.watl.samples.MainActivity" />
</activity>
<activity android:name=".RTLTestActivity" android:label="RTL Test"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="su.whs.watl.samples.MainActivity" />
</activity>
</application>

</manifest>
40 changes: 40 additions & 0 deletions app/src/main/assets/articles/rtl_test.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<h3><span class="mw-headline" id=".D8.A8.D8.AF.D8.A7.D9.8A.D8.A9_.D8.A7.D9.84.D9.86.D8.B8.D8.A7.D9.85">بداية النظام</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=%D8%A3%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF&amp;action=edit&amp;section=2" title="عدل القسم: بداية النظام">عدل</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>تأسست أندرويد (Android) في بالو ألتو، كاليفورنيا (Palo Alto, California) في أكتوبر 2003 من قبل أندي روبين (Andy Rubin) المؤسس المشارك Danger)، وريتش مينر (Rich Miner) المؤسس المشارك Wildfire Communications, Inc.)، ونيك سيرز(NickSears) (أحد نوَاب رئيس T-Mobile) وكريس وايت (Chris White) رئيس تصميم الواجهات في (WebTV) لتطوير "أجهزة نقالة أكثر ذكاء ومعرفةً بمكان مالكها وتفضيلاته الخاصة". كما قال أندي روبين (Andy Rubin) . كانت نوايا الشركة أن تطور نظام تشغيل متقدم للكاميرات الرقمية، وعندما تبين أن سوق الكاميرات الرقمية ليس كبير بما فيه الكفاية، حولوا جهودهم لإنتاج نظام تشغيل للهواتف الذكية لمنافسة انظمة سيمبيان (Symbian) وويندوز موبايل (Windows Mobile) (لم يكن نظام iOS الخاص بتشغيل أجهزةIPhone موجودا في ذلك الوقت). وعلى الرغم من الإنجازات التي قام بها المؤسسين والموظفين في وقت مبكر، إلا أنهم كانوا يعملون سرا، ولم يكشفوا إلا عن أنهم يعملون على برمجيات للهواتف النقالة.</p>
<h3><span class="mw-headline" id=".D8.B4.D8.B1.D8.A7.D8.A1_.D8.AC.D9.88.D8.AC.D9.84_.D9.84.D9.84.D9.86.D8.B8.D8.A7.D9.85">شراء جوجل للنظام</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=%D8%A3%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF&amp;action=edit&amp;section=3" title="عدل القسم: شراء جوجل للنظام">عدل</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>في أغسطس 2005، قامت شركة جوجل بشراء النظام من الشركة المالكة وضم المؤسسين السابقين وعلى رأسهم المهندس <a href="/wiki/%D8%A3%D9%86%D8%AF%D8%B1%D9%88_%D8%B1%D9%88%D8%A8%D9%86" title="أندرو روبن">أندرو روبن</a> الذي استمر بالعمل على تطوير النظام، ويعتبر هو المسؤول المباشر عن وصول نظام أندرويد إلى النجاح الذي نشهده حالياً.</p>
<h3><span class="mw-headline" id=".D8.A3.D8.B5.D9.84_.D8.A7.D9.84.D9.83.D9.84.D9.85.D8.A9">أصل الكلمة</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=%D8%A3%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF&amp;action=edit&amp;section=4" title="عدل القسم: أصل الكلمة">عدل</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>كلمة android <a href="/wiki/%D8%A7%D9%84%D8%A5%D9%86%D8%AC%D9%84%D9%8A%D8%B2%D9%8A%D8%A9" title="الإنجليزية" class="mw-redirect">الإنجليزية</a> تعني الإنسان الآلي الذي يكون على شكل إنسان (<a href="/wiki/%D8%A5%D9%86%D8%B3%D8%A7%D9%84%D8%A9" title="إنسالة" class="mw-redirect">الإنسالة</a>).</p>
<h2><span class="mw-headline" id=".D8.A7.D9.84.D9.85.D9.85.D9.8A.D8.B2.D8.A7.D8.AA">المميزات</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=%D8%A3%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF&amp;action=edit&amp;section=5" title="عدل القسم: المميزات">عدل</a><span class="mw-editsection-bracket">]</span></span></h2>
<div style="overflow-x: unset;" class="rellink hlist">
<ul>
<li><b>طالع أيضًا</b>: <a href="/w/index.php?title=%D9%82%D8%A7%D8%A6%D9%85%D8%A9_%D9%85%D9%85%D9%8A%D8%B2%D8%A7%D8%AA_%D8%A3%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF&amp;action=edit&amp;redlink=1" class="new" title="قائمة مميزات أندرويد (الصفحة غير موجودة)">قائمة مميزات أندرويد</a></li>
</ul>
</div>
<h3><span class="mw-headline" id=".D8.A7.D9.84.D9.88.D8.A7.D8.AC.D9.87.D8.A9">الواجهة</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=%D8%A3%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF&amp;action=edit&amp;section=6" title="عدل القسم: الواجهة">عدل</a><span class="mw-editsection-bracket">]</span></span></h3>
<div class="thumb tleft">
<div class="thumbinner" style="width:222px;"><a href="/wiki/%D9%85%D9%84%D9%81:Android_notification_area.png" class="image"></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/%D9%85%D9%84%D9%81:Android_notification_area.png" class="internal" title="كبّر"></a></div>
</div>
</div>
</div>
<p>واجهة نظام أندرويد مبنية على <a href="/w/index.php?title=%D8%A7%D9%84%D8%AA%D9%84%D8%A7%D8%B9%D8%A8_%D8%A7%D9%84%D9%85%D8%A8%D8%A7%D8%B4%D8%B1&amp;action=edit&amp;redlink=1" class="new" title="التلاعب المباشر (الصفحة غير موجودة)">التلاعب المباشر</a><sup id="cite_ref-touch_1-0" class="reference"><a href="#cite_note-touch-1">[1]</a></sup>. الاستجابة للمسات الواجهة مبنية لتكون فوريَّة.</p>
<h2><span class="mw-headline" id=".D8.A7.D9.84.D8.AA.D8.B7.D8.A8.D9.8A.D9.82.D8.A7.D8.AA">التطبيقات</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=%D8%A3%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF&amp;action=edit&amp;section=7" title="عدل القسم: التطبيقات">عدل</a><span class="mw-editsection-bracket">]</span></span></h2>
<div style="overflow-x: unset;" class="rellink hlist">
<ul>
<li><imga alt="Crystal Clear app kdict.png" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/61/Crystal_Clear_app_kdict.png/18px-Crystal_Clear_app_kdict.png" width="18" height="18" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/61/Crystal_Clear_app_kdict.png/27px-Crystal_Clear_app_kdict.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/61/Crystal_Clear_app_kdict.png/36px-Crystal_Clear_app_kdict.png 2x" data-file-width="128" data-file-height="128" /><b>طالع أيضًا</b>: <a href="/wiki/%D8%AC%D9%88%D8%AC%D9%84_%D8%A8%D9%84%D8%A7%D9%8A" title="جوجل بلاي">جوجل بلاي</a></li>
</ul>
</div>
<p>متجر <a href="/wiki/%D8%AC%D9%88%D8%AC%D9%84_%D8%A8%D9%84%D8%A7%D9%8A" title="جوجل بلاي">جوجل بلاي</a> هو متجر على الويب للبرامج تديره جوجل لأجهزة أندرويد، التطبيق "Google play" مثبت على معظم أجهزة أندرويد، حتى اغسطس 2013 هناك 900,000 تطبيق وجدت في المتجر. جوجل لديها العديد من البرامج في المتجر منها Googles وEarth وSkymap وBBM</p>
<p>على عكس معظم الأنظمة الأخرى، يسمح نظام الأندرويد بتنصيب متاجر تطبيقات بديلة، من أشهر هذه المتاجر متجر أمازون المسمى Amazon Appstore</p>
<dl>
<dt>المجانية</dt>
<dd>يعتبر نظام أندرويد أكثر نظام مجاني حيث التطبيقات المجانية فيه يفوق عددها التطبيقات المدفوعة.</dd>
</dl>
<dl>
<dt>الويدجيت</dt>
</dl>
<dl>
<dd>هي تطبيقات صغيرة توجد على واجهة المستخدم مثل&#160;: تطبيق حي لحالة الطقس في الوقت الحالي، صندوق البريد الإلكتروني للمستخدم</dd>
</dl>
<p><b>التخزين</b></p>
9 changes: 7 additions & 2 deletions app/src/main/java/su/whs/watl/samples/ContentLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,11 @@ public class ContentLoader {
public static final String ARTICLE_SCIENCE1 = "science1";
public static final String ARTICLE_SCIENCE2 = "science2";
public static final String GIF_ANIMATION = "gif_animation";

public static final String RTL_TEST = "rtl";
private static Map<String,String> mArticles = new HashMap<String,String>();
static {
mArticles.put("lorem", null);
mArticles.put("rtl","rtl_test.html");
mArticles.put("sheakspeare", null);
mArticles.put("wesnoth", null);
mArticles.put("gif_animation",null);
Expand Down Expand Up @@ -147,8 +148,12 @@ public String getTitle() {
return "Android OpenGL ES Tutorial";
} else if (mUuid.equals("science1")) {
return "Sciene article 1";
} else {
} else if (mUuid.equals("science2")){
return "Science article 2";
} else if (mUuid.equals("rtl")) {
return "RTL Test";
} else {
return null;
}
} else {
if (mUuid==null) {
Expand Down
9 changes: 9 additions & 0 deletions app/src/main/java/su/whs/watl/samples/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ protected void onCreate(Bundle savedInstanceState) {
data.add(getRowData(4));
data.add(getRowData(5));
data.add(getRowData(6));
data.add(getRowData(7));
SimpleAdapter adapter = new SimpleAdapter(this,data,R.layout.samples_list_item, new String[] {
"img", "title", "description"
}, new int[] { R.id.imageView, R.id.itemTitle, R.id.itemSnippet }) {
Expand Down Expand Up @@ -85,6 +86,9 @@ public void onItemClick(AdapterView<?> parent, View view, int position, long id)
case 6:
i.setClass(getBaseContext(), AnimationActivity.class);
break;
case 7:
i.setClass(getBaseContext(), RTLTestActivity.class);
break;
default:
return;
}
Expand Down Expand Up @@ -147,6 +151,11 @@ private Map<String,Object> getRowData(int index) {
description = "gif in html sample";
img = R.drawable.ic_launcher;
break;
case 7:
title = "RTL Test";
description = "test Right-To-Left direction";
img = R.drawable.abc_tab_indicator_material;
break;
}
result.put("img",img);
result.put("title",title);
Expand Down
87 changes: 87 additions & 0 deletions app/src/main/java/su/whs/watl/samples/RTLTestActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
package su.whs.watl.samples;

import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;

import su.whs.watl.ui.TextViewEx;


public class RTLTestActivity extends ActionBarActivity implements ArticleView {
private TextOptionsHandler opts;
private static final String[] articles = new String[] {
ContentLoader.RTL_TEST,
ContentLoader.ARTICLE_SCIENCE2,
ContentLoader.ARTICLE_OPENGLES,
};
private int currentArticle = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text_view_ex_scroll);

TextViewEx tv = (TextViewEx) findViewById(R.id.textView);
((wATLApp)getApplication()).getArticle(ContentLoader.RTL_TEST,this);
opts = new TextOptionsHandler(this,tv.getOptions());
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_text_view_ex_scroll, menu);
opts.restoreState(menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (opts.onOptionsItemSelected(item))
return true;
//noinspection SimplifiableIfStatement
// if (id == R.id.test_set_text) {
// if (currentArticle>2) currentArticle=0;
// ((wATLApp)getApplication()).getArticle(articles[currentArticle],this);
// // currentArticle++;
// return true;
// }

return super.onOptionsItemSelected(item);
}

@Override
public void onSaveInstanceState(Bundle out) {
super.onSaveInstanceState(out);
TextViewEx tv = (TextViewEx) findViewById(R.id.textView);
out.putBundle("OPTIONS",tv.getOptions().getState());
}

@Override
public void onRestoreInstanceState(Bundle in) {
super.onRestoreInstanceState(in);
if (in.containsKey("OPTIONS")) {
TextViewEx tv = (TextViewEx) findViewById(R.id.textView);
tv.getOptions().set(in.getBundle("OPTIONS"));
}
}

@Override
public void setLoadingState(boolean state, int percents) {

}

@Override
public void setContent(String title, String author, String source, CharSequence content) {
TextViewEx tv = (TextViewEx) findViewById(R.id.textView);
tv.setText(content);
tv.setTextIsSelectable(true);
if (Build.VERSION.SDK_INT>10)
tv.setCustomSelectionActionModeCallback(new SampleActionModeCallback(tv));
}
}
11 changes: 10 additions & 1 deletion app/src/main/res/layout/activity_text_view_ex_scroll.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
Expand All @@ -14,7 +15,15 @@
<su.whs.watl.ui.TextViewEx
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
app:asyncReflow="false"
app:justificationEnabled="true"
app:selectionColor="@color/accent_material_light"
app:paragraphMarginTop="8dp"
app:paragraphMarginLeft="4dp"
app:urlHighlightColor="@color/abc_search_url_text"
app:minColumnWidth="12dp"
>

</su.whs.watl.ui.TextViewEx>
</ScrollView>
Expand Down

0 comments on commit 47f8a67

Please sign in to comment.