Skip to content

Commit 8d839e9

Browse files
author
michelou
committed
added/updated Android examples (cnt'd)
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@22194 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
1 parent 8270b92 commit 8d839e9

File tree

140 files changed

+9524
-970
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+9524
-970
lines changed
Lines changed: 55 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,63 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<project name="build-scala">
33

4-
<!-- Scala SDK (www.scala-lang.org) -->
5-
<property name="scala-compiler.jar" value="${scala.dir}/lib/scala-compiler.jar" />
6-
<property name="scala-library.jar" value="${scala.dir}/lib/scala-library.jar" />
7-
<!-- YGuard SDK (www.yworks.com/products/yguard) -->
8-
<property name="yguard.jar" value="${yguard.dir}/lib/yguard.jar" />
9-
<!-- Ant generated files -->
10-
<property name="scala-library_shr.jar" value="${out.dir}/scala-library_shr.jar" />
11-
<property name="myapp.jar" value="${out.dir}/${ant.project.name}.jar" />
4+
<!-- Scala SDK (www.scala-lang.org) -->
5+
<property name="scala-compiler.jar" value="${scala.dir}/lib/scala-compiler.jar" />
6+
<property name="scala-library.jar" value="${scala.dir}/lib/scala-library.jar" />
7+
<!-- YGuard SDK (www.yworks.com/products/yguard) -->
8+
<property name="yguard.jar" value="${yguard.dir}/lib/yguard.jar" />
9+
<!-- Ant generated files -->
10+
<property name="scala-library_shr.jar" value="${out.dir}/scala-library_shr.jar" />
11+
<property name="myapp.jar" value="${out.dir}/${ant.project.name}.jar" />
1212

13-
<path id="scala.path">
14-
<pathelement path="${scala-compiler.jar}" />
15-
<pathelement path="${scala-library.jar}" />
16-
</path>
17-
<taskdef
18-
resource="scala/tools/ant/antlib.xml"
19-
classpathref="scala.path"
20-
/>
21-
<property prefix="scala" resource="library.properties" classpathref="scala.path" />
22-
<echo message="Scala Version: ${scala.version.number}" level="info" />
23-
<taskdef
24-
name="yguard" classname="com.yworks.yguard.YGuardTask"
25-
classpath="${yguard.jar}"
26-
/>
13+
<path id="scala.path">
14+
<pathelement path="${scala-compiler.jar}" />
15+
<pathelement path="${scala-library.jar}" />
16+
</path>
17+
<taskdef
18+
resource="scala/tools/ant/antlib.xml"
19+
classpathref="scala.path"
20+
/>
21+
<property prefix="scala" resource="library.properties" classpathref="scala.path" />
22+
<echo message="Scala Version: ${scala.version.number}" level="info" />
23+
<taskdef
24+
name="yguard" classname="com.yworks.yguard.YGuardTask"
25+
classpath="${yguard.jar}"
26+
/>
2727

28-
<uptodate property="myapp.isUpToDate" targetfile="${myapp.jar}">
29-
<srcfiles dir="${source.dir}" includes="**/*.scala,**/*.java" />
30-
<srcfiles dir="${resource.dir}" />
31-
</uptodate>
28+
<uptodate property="myapp.isUpToDate" targetfile="${myapp.jar}">
29+
<srcfiles dir="${source.dir}" includes="**/*.scala,**/*.java" />
30+
<srcfiles dir="${resource.dir}" />
31+
</uptodate>
3232

33-
<target name="scala-compile" unless="myapp.isUpToDate">
34-
<scalac
35-
srcdir="${source.dir}" includes="**/*.scala"
36-
destdir="${out.classes.dir}"
37-
addparams="${scalac.addparams}">
38-
<classpath>
39-
<pathelement location="${scala-library.jar}" />
40-
<pathelement location="${android.jar}" />
41-
<pathelement location="${out.classes.dir}" />
42-
</classpath>
43-
</scalac>
44-
<jar destfile="${myapp.jar}" basedir="${out.classes.dir}" />
45-
<yguard>
46-
<inoutpair in="${scala-library.jar}" out="${scala-library_shr.jar}" />
47-
<externalclasses>
48-
<pathelement location="${android.jar}" />
49-
</externalclasses>
50-
<shrink logfile="${out.dir}/yshrinklog.xml">
51-
<entrypointjar name="${myapp.jar}" />
52-
</shrink>
53-
</yguard>
54-
<unjar src="${scala-library_shr.jar}" dest="${out.classes.dir}" />
55-
</target>
33+
<target name="scala-compile" depends="compile"
34+
description="Compiles project's .scala files into .class files"
35+
unless="myapp.isUpToDate">
36+
<scalac
37+
srcdir="${source.dir}" includes="**/*.scala"
38+
destdir="${out.classes.dir}"
39+
addparams="${scalac.addparams}">
40+
<classpath>
41+
<pathelement location="${scala-library.jar}" />
42+
<pathelement location="${android.jar}" />
43+
<pathelement location="${out.classes.dir}" />
44+
</classpath>
45+
</scalac>
46+
</target>
47+
48+
<target name="scala-shrink" depends="scala-compile"
49+
description="Shrink code size of Scala library">
50+
<jar destfile="${myapp.jar}" basedir="${out.classes.dir}" />
51+
<yguard>
52+
<inoutpair in="${scala-library.jar}" out="${scala-library_shr.jar}" />
53+
<externalclasses>
54+
<pathelement location="${android.jar}" />
55+
</externalclasses>
56+
<shrink logfile="${out.dir}/yshrinklog.xml">
57+
<entrypointjar name="${myapp.jar}" />
58+
</shrink>
59+
</yguard>
60+
<unjar src="${scala-library_shr.jar}" dest="${out.classes.dir}" />
61+
</target>
5662

5763
</project>

docs/android-examples/ApiDemos/build.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
<import file="build-scala.xml"/>
6868

6969
<!-- Converts this project's .class files into .dex files -->
70-
<target name="-dex" depends="compile, scala-compile">
70+
<target name="-dex" depends="compile, scala-compile, scala-shrink">
7171
<dex-helper />
7272
</target>
7373

docs/android-examples/ApiDemos/src/com/example/android/apis/ApiDemos.scala

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,8 @@ import java.text.Collator
2727
import java.util.{ArrayList, Collections, Comparator, HashMap => JHashMap,
2828
List => JList, Map => JMap}
2929

30-
object ApiDemos {
31-
private final val sDisplayNameComparator = new Comparator[JMap[String, AnyRef]] {
32-
private final val collator = Collator.getInstance
33-
34-
def compare(map1: JMap[String, AnyRef], map2: JMap[String, AnyRef]): Int = {
35-
collator.compare(map1 get "title", map2 get "title")
36-
}
37-
}
38-
}
39-
4030
class ApiDemos extends ListActivity {
31+
import ApiDemos._ // companion object
4132

4233
override def onCreate(savedInstanceState: Bundle) {
4334
super.onCreate(savedInstanceState)
@@ -107,7 +98,7 @@ class ApiDemos extends ListActivity {
10798
}
10899
}
109100

110-
Collections.sort(myData, ApiDemos.sDisplayNameComparator)
101+
Collections.sort(myData, sDisplayNameComparator)
111102

112103
myData
113104
}
@@ -125,18 +116,32 @@ class ApiDemos extends ListActivity {
125116
result
126117
}
127118

128-
protected def addItem(data: JList[JMap[String, AnyRef]], name: String, intent: Intent) {
119+
protected def addItem(data: JList[JMap[String, AnyRef]],
120+
name: String, intent: Intent) {
129121
val temp = new JHashMap[String, Object]
130122
temp.put("title", name)
131123
temp.put("intent", intent)
132124
data add temp
133125
}
134126

135-
override protected def onListItemClick(l: ListView, v: View, position: Int, id: Long) {
127+
override protected def onListItemClick(l: ListView, v: View,
128+
position: Int, id: Long) {
136129
val map = l.getItemAtPosition(position).asInstanceOf[JMap[String, AnyRef]]
137130

138131
val intent = map.get("intent").asInstanceOf[Intent]
139132
startActivity(intent)
140133
}
141134

142135
}
136+
137+
object ApiDemos {
138+
139+
private final val sDisplayNameComparator = new Comparator[JMap[String, AnyRef]] {
140+
private final val collator = Collator.getInstance
141+
142+
def compare(map1: JMap[String, AnyRef], map2: JMap[String, AnyRef]): Int = {
143+
collator.compare(map1 get "title", map2 get "title")
144+
}
145+
}
146+
147+
}

docs/android-examples/ApiDemos/src/com/example/android/apis/app/AdvancedPreferences.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ package com.example.android.apis.app
1818

1919
import com.example.android.apis.R
2020

21-
import _root_.android.content.SharedPreferences
22-
import _root_.android.content.SharedPreferences.OnSharedPreferenceChangeListener
23-
import _root_.android.os.{Bundle, Handler}
24-
import _root_.android.preference.{PreferenceActivity, CheckBoxPreference}
25-
import _root_.android.widget.Toast
21+
import android.content.SharedPreferences
22+
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
23+
import android.os.{Bundle, Handler}
24+
import android.preference.{PreferenceActivity, CheckBoxPreference}
25+
import android.widget.Toast
2626

2727
/**
2828
* Example that shows finding a preference from the hierarchy and a custom

docs/android-examples/ApiDemos/src/com/example/android/apis/app/AlarmController.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ package com.example.android.apis.app
2020
// class is in a sub-package.
2121
import com.example.android.apis.R
2222

23-
import _root_.android.app.{Activity, AlarmManager, PendingIntent}
24-
import _root_.android.content.Intent
25-
import _root_.android.content.Context._
26-
import _root_.android.os.{Bundle, SystemClock}
27-
import _root_.android.view.View
28-
import _root_.android.view.View.OnClickListener
29-
import _root_.android.widget.{Button, Toast}
23+
import android.app.{Activity, AlarmManager, PendingIntent}
24+
import android.content.Intent
25+
import android.content.Context._
26+
import android.os.{Bundle, SystemClock}
27+
import android.view.View
28+
import android.view.View.OnClickListener
29+
import android.widget.{Button, Toast}
3030

3131
import java.util.Calendar
3232

@@ -119,7 +119,7 @@ class AlarmController extends Activity {
119119
val intent = new Intent(AlarmController.this, classOf[RepeatingAlarm])
120120
val sender =
121121
PendingIntent.getBroadcast(AlarmController.this, 0, intent, 0)
122-
122+
123123
// We want the alarm to go off 30 seconds from now.
124124
var firstTime = SystemClock.elapsedRealtime
125125
firstTime += 15*1000
@@ -146,7 +146,7 @@ class AlarmController extends Activity {
146146
val intent = new Intent(AlarmController.this, classOf[RepeatingAlarm])
147147
val sender =
148148
PendingIntent.getBroadcast(AlarmController.this, 0, intent, 0)
149-
149+
150150
// And cancel the alarm.
151151
val am = getSystemService(ALARM_SERVICE).asInstanceOf[AlarmManager]
152152
am.cancel(sender)

docs/android-examples/ApiDemos/src/com/example/android/apis/app/AlarmService.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ package com.example.android.apis.app
2020
// class is in a sub-package.
2121
import com.example.android.apis.R
2222

23-
import _root_.android.app.{Activity, AlarmManager, PendingIntent}
24-
import _root_.android.content.Intent
25-
import _root_.android.content.Context._
26-
import _root_.android.os.{Bundle, SystemClock}
27-
import _root_.android.view.View
28-
import _root_.android.view.View.OnClickListener
29-
import _root_.android.widget.{Button, Toast}
23+
import android.app.{Activity, AlarmManager, PendingIntent}
24+
import android.content.Intent
25+
import android.content.Context._
26+
import android.os.{Bundle, SystemClock}
27+
import android.view.View
28+
import android.view.View.OnClickListener
29+
import android.widget.{Button, Toast}
3030

3131

3232
/**

docs/android-examples/ApiDemos/src/com/example/android/apis/app/AlarmService_Service.scala

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,11 @@ package com.example.android.apis.app
2020
// class is in a sub-package.
2121
import com.example.android.apis.R
2222

23-
import _root_.android.app.{Notification, NotificationManager,
24-
PendingIntent, Service}
25-
import _root_.android.content.Intent
26-
import _root_.android.content.Context._
27-
import _root_.android.os.{Binder, IBinder, Parcel, RemoteException}
28-
import _root_.android.widget.Toast
23+
import android.app.{Notification, NotificationManager, PendingIntent, Service}
24+
import android.content.Intent
25+
import android.content.Context._
26+
import android.os.{Binder, IBinder, Parcel, RemoteException}
27+
import android.widget.Toast
2928

3029
/**
3130
* This is an example of implementing an application service that will run in
@@ -93,7 +92,7 @@ class AlarmService_Service extends Service {
9392
private def showNotification() {
9493
// In this sample, we'll use the same text for the ticker and the
9594
// expanded notification
96-
val text = getText(R.string.alarm_service_started);
95+
val text = getText(R.string.alarm_service_started)
9796

9897
// Set the icon, scrolling text and timestamp
9998
val notification = new Notification(R.drawable.stat_sample, text,

docs/android-examples/ApiDemos/src/com/example/android/apis/app/AlertDialogSamples.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616

1717
package com.example.android.apis.app
1818

19-
import _root_.android.app.{Activity, AlertDialog, Dialog, ProgressDialog}
20-
import _root_.android.content.DialogInterface
21-
import _root_.android.content.DialogInterface._
22-
import _root_.android.os.{Bundle, Handler, Message}
23-
import _root_.android.view.{LayoutInflater, View}
24-
import _root_.android.view.View.OnClickListener
25-
import _root_.android.widget.Button
19+
import android.app.{Activity, AlertDialog, Dialog, ProgressDialog}
20+
import android.content.DialogInterface
21+
import android.content.DialogInterface._
22+
import android.os.{Bundle, Handler, Message}
23+
import android.view.{LayoutInflater, View}
24+
import android.view.View.OnClickListener
25+
import android.widget.Button
2626

2727
import com.example.android.apis.R
2828

docs/android-examples/ApiDemos/src/com/example/android/apis/app/Animation.scala

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,12 @@ package com.example.android.apis.app
2121
import com.example.android.apis.R
2222
import com.example.android.apis.view.Controls1
2323

24-
import _root_.android.app.Activity
25-
import _root_.android.content.{ComponentName, Intent}
26-
import _root_.android.os.Bundle
27-
import _root_.android.view.View
28-
import _root_.android.view.View.OnClickListener
29-
import _root_.android.widget.Button
30-
24+
import android.app.Activity
25+
import android.content.{ComponentName, Intent}
26+
import android.os.Bundle
27+
import android.view.View
28+
import android.view.View.OnClickListener
29+
import android.widget.Button
3130

3231
/**
3332
* <p>Example of explicitly starting and stopping the {@link LocalService}.

docs/android-examples/ApiDemos/src/com/example/android/apis/app/ContactsFilter.scala

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,14 @@ package com.example.android.apis.app
1818

1919
// Need the following import to get access to the app resources, since this
2020
// class is in a sub-package.
21-
import _root_.android.app.Activity
22-
import _root_.android.content.{ComponentName, Context}
23-
import _root_.android.os.{Bundle, RemoteException}
24-
import _root_.android.view.View
25-
import _root_.android.view.View.OnClickListener
26-
import _root_.android.widget.Button
27-
2821
import com.example.android.apis.R
2922

23+
import android.app.Activity
24+
import android.content.{ComponentName, Context}
25+
import android.os.{Bundle, RemoteException}
26+
import android.view.View
27+
import android.view.View.OnClickListener
28+
import android.widget.Button
3029

3130
/**
3231
* Front-end for launching {@link ContactsFilterInstrumentation} example

docs/android-examples/ApiDemos/src/com/example/android/apis/app/ContactsFilterInstrumentation.scala

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,11 @@
1616

1717
package com.example.android.apis.app
1818

19-
import _root_.android.app.{Activity, Instrumentation}
20-
import _root_.android.content.Intent
21-
import _root_.android.os.Bundle
22-
import _root_.android.view.KeyEvent
23-
import _root_.android.util.Log
24-
25-
import java.util.Map;
19+
import android.app.{Activity, Instrumentation}
20+
import android.content.Intent
21+
import android.os.Bundle
22+
import android.view.KeyEvent
23+
import android.util.Log
2624

2725
/**
2826
* This is an example implementation of the {@link android.app.Instrumentation}
@@ -31,6 +29,7 @@ import java.util.Map;
3129
* process, for controlling and monitoring what it does.
3230
*/
3331
class ContactsFilterInstrumentation extends Instrumentation {
32+
3433
override def onCreate(arguments: Bundle) {
3534
super.onCreate(arguments)
3635

docs/android-examples/ApiDemos/src/com/example/android/apis/app/ContactsSelectInstrumentation.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616

1717
package com.example.android.apis.app
1818

19-
import _root_.android.app.{Activity, Instrumentation}
20-
import _root_.android.content.{Intent, IntentFilter}
21-
import _root_.android.os.{Bundle, IBinder}
22-
import _root_.android.view.KeyEvent
23-
import _root_.android.provider.Contacts
24-
import _root_.android.util.Log
19+
import android.app.{Activity, Instrumentation}
20+
import android.content.{Intent, IntentFilter}
21+
import android.os.{Bundle, IBinder}
22+
import android.view.KeyEvent
23+
import android.provider.Contacts
24+
import android.util.Log
2525

2626
import java.util.Map;
2727

0 commit comments

Comments
 (0)