kopia lustrzana https://github.com/ge0rg/aprsdroid
ringtone, led, vibration for messages
rodzic
dd9e04f570
commit
d0b6640da3
|
@ -8,8 +8,9 @@
|
|||
<uses-sdk android:minSdkVersion="3"
|
||||
android:targetSdkVersion="8" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
|
||||
<application android:label="@string/app_name" android:icon="@drawable/icon">
|
||||
<uses-library android:name="com.google.android.maps" />
|
||||
|
|
|
@ -40,6 +40,11 @@
|
|||
android:defaultValue="5"
|
||||
android:dialogTitle="@string/p_ssid_entry" />
|
||||
|
||||
<!-- sub-screen "Position Reports" -->
|
||||
<PreferenceScreen
|
||||
android:title="@string/p__position"
|
||||
android:summary="@string/p__position_summary">
|
||||
|
||||
<EditTextPreference
|
||||
android:key="symbol"
|
||||
android:hint="@string/default_symbol"
|
||||
|
@ -56,8 +61,6 @@
|
|||
android:summary="@string/p_status_summary"
|
||||
android:dialogTitle="@string/p_status_entry" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/p__location">
|
||||
|
||||
|
@ -92,13 +95,40 @@
|
|||
android:summary="@string/p_netloc_summary" />
|
||||
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
<!-- sub-screen "Messaging" -->
|
||||
<PreferenceScreen
|
||||
android:title="@string/p__message"
|
||||
android:summary="@string/p__message_summary">
|
||||
<PreferenceCategory
|
||||
android:title="@string/p__msg_notify">
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="keepscreen"
|
||||
android:title="@string/p_keepscreen"
|
||||
android:summary="@string/p_keepscreen_summary" />
|
||||
<CheckBoxPreference
|
||||
android:key="notify_led"
|
||||
android:title="@string/p_msg_led"
|
||||
android:summaryOn="@string/p_msg_led_on"
|
||||
android:summaryOff="@string/p_msg_led_off"
|
||||
android:defaultValue="true"
|
||||
/>
|
||||
<CheckBoxPreference
|
||||
android:key="notify_vibr"
|
||||
android:title="@string/p_msg_vibr"
|
||||
android:summaryOn="@string/p_msg_vibr_on"
|
||||
android:summaryOff="@string/p_msg_vibr_off"
|
||||
android:defaultValue="true"
|
||||
/>
|
||||
<RingtonePreference
|
||||
android:key="notify_ringtone"
|
||||
android:title="@string/p_msg_ring"
|
||||
android:summary="@string/p_msg_ring_summary"
|
||||
android:ringtoneType="notification"
|
||||
android:showDefault="true"
|
||||
android:showSilent="true"
|
||||
/>
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
</PreferenceCategory>
|
||||
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/p__connection">
|
||||
|
||||
|
@ -122,4 +152,12 @@
|
|||
</PreferenceScreen>
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/p__display">
|
||||
<CheckBoxPreference
|
||||
android:key="keepscreen"
|
||||
android:title="@string/p_keepscreen"
|
||||
android:summary="@string/p_keepscreen_summary" />
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
|
|
@ -34,7 +34,8 @@ class MessageService(s : AprsService) {
|
|||
val status = s.poster.update(ack)
|
||||
s.addPost(StorageDatabase.Post.TYPE_POST, status, ack.toString)
|
||||
}
|
||||
ServiceNotifier.instance.notifyMessage(s, ap.getSourceCall(), msg.getMessageBody())
|
||||
ServiceNotifier.instance.notifyMessage(s, s.prefs,
|
||||
ap.getSourceCall(), msg.getMessageBody())
|
||||
}
|
||||
s.sendBroadcast(new Intent(AprsService.MESSAGE).putExtra(AprsService.STATUS, ap.toString))
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import _root_.android.app.{Notification, NotificationManager, PendingIntent, Ser
|
|||
import _root_.android.content.{Context, Intent}
|
||||
import _root_.android.net.Uri
|
||||
import _root_.android.os.Build
|
||||
import _root_.android.graphics.Color
|
||||
|
||||
|
||||
object ServiceNotifier {
|
||||
|
@ -43,7 +44,7 @@ abstract class ServiceNotifier {
|
|||
val n = new Notification()
|
||||
n.icon = R.drawable.icon
|
||||
n.when = System.currentTimeMillis
|
||||
n.flags |= Notification.FLAG_AUTO_CANCEL
|
||||
n.flags = Notification.FLAG_AUTO_CANCEL
|
||||
val i = new Intent(ctx, classOf[MessageActivity])
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
i.setData(Uri.parse(call))
|
||||
|
@ -57,9 +58,22 @@ abstract class ServiceNotifier {
|
|||
def start(ctx : Service, status : String)
|
||||
def stop(ctx : Service)
|
||||
|
||||
def notifyMessage(ctx : Service, call : String, message : String) {
|
||||
def notifyMessage(ctx : Service, prefs : PrefsWrapper,
|
||||
call : String, message : String) {
|
||||
val n = newMessageNotification(ctx, call, message)
|
||||
// set notification LED
|
||||
if (prefs.getBoolean("notify_led", true)) {
|
||||
n.ledARGB = Color.YELLOW
|
||||
n.ledOnMS = 300
|
||||
n.ledOffMS = 1000
|
||||
n.flags |= Notification.FLAG_SHOW_LIGHTS
|
||||
}
|
||||
if (prefs.getBoolean("notify_vibr", true)) {
|
||||
n.vibrate = Array[Long](200, 10000)
|
||||
}
|
||||
n.sound = Uri.parse(prefs.getString("notify_ringtone", null))
|
||||
getNotificationMgr(ctx).notify(getCallNumber(call),
|
||||
newMessageNotification(ctx, call, message))
|
||||
n)
|
||||
}
|
||||
|
||||
def cancelMessage(ctx : Context, call : String) {
|
||||
|
|
Ładowanie…
Reference in New Issue