Loading core/java/com/android/internal/app/NetInitiatedActivity.java +5 −6 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ import android.os.Bundle; import android.widget.Toast; import android.util.Log; import android.location.LocationManager; import com.android.internal.R; import com.android.internal.location.GpsNetInitiatedHandler; /** Loading @@ -42,10 +44,6 @@ public class NetInitiatedActivity extends AlertActivity implements DialogInterfa private static final int POSITIVE_BUTTON = AlertDialog.BUTTON_POSITIVE; private static final int NEGATIVE_BUTTON = AlertDialog.BUTTON_NEGATIVE; // Dialog button text public static final String BUTTON_TEXT_ACCEPT = "Accept"; public static final String BUTTON_TEXT_DENY = "Deny"; // Received ID from intent, -1 when no notification is in progress private int notificationId = -1; Loading @@ -67,12 +65,13 @@ public class NetInitiatedActivity extends AlertActivity implements DialogInterfa // Set up the "dialog" final Intent intent = getIntent(); final AlertController.AlertParams p = mAlertParams; Context context = getApplicationContext(); p.mIconId = com.android.internal.R.drawable.ic_dialog_usb; p.mTitle = intent.getStringExtra(GpsNetInitiatedHandler.NI_INTENT_KEY_TITLE); p.mMessage = intent.getStringExtra(GpsNetInitiatedHandler.NI_INTENT_KEY_MESSAGE); p.mPositiveButtonText = BUTTON_TEXT_ACCEPT; p.mPositiveButtonText = String.format(context.getString(R.string.gpsVerifYes)); p.mPositiveButtonListener = this; p.mNegativeButtonText = BUTTON_TEXT_DENY; p.mNegativeButtonText = String.format(context.getString(R.string.gpsVerifNo)); p.mNegativeButtonListener = this; notificationId = intent.getIntExtra(GpsNetInitiatedHandler.NI_INTENT_KEY_NOTIF_ID, -1); Loading core/res/res/values/strings.xml +16 −0 Original line number Diff line number Diff line Loading @@ -2273,4 +2273,20 @@ <!-- Shown when the users bandwidth is reduced because of excessive data use --> <string name="throttled_notification_title">Mobile data limit exceeded</string> <string name="throttled_notification_message">Touch to learn more about mobile data use</string> <!-- Network positioning notification ticker. The name of the user (e.g. John Doe) who sent the request is shown as a dynamic string. --> <string name="gpsNotifTicker">Location request from <xliff:g id="name">%s</xliff:g></string> <!-- Network positioning notification and verification title to inform the user about an incoming location request. --> <string name="gpsNotifTitle">Location request</string> <!-- Network positioning notification message. The name of the user (e.g. John Doe) and service (SUPL-service) who sent the request is shown as dynamic strings. Translation should not be longer than master text. --> <string name="gpsNotifMessage">Requested by <xliff:g id="name">%1$s</xliff:g> (<xliff:g id="service" example="SUPL-service">%2$s</xliff:g>)</string> <!-- Network positioning verification Yes. Button to push to share location information. --> <string name="gpsVerifYes">Yes</string> <!-- Network positioning verification No. Button to push to deny sharing of location information. --> <string name="gpsVerifNo">No</string> </resources> location/java/com/android/internal/location/GpsNetInitiatedHandler.java +17 −16 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ import android.os.Bundle; import android.os.RemoteException; import android.util.Log; import com.android.internal.R; /** * A GPS Network-initiated Handler class used by LocationManager. * Loading Loading @@ -187,8 +189,8 @@ public class GpsNetInitiatedHandler { return; } String title = getNotifTitle(notif); String message = getNotifMessage(notif); String title = getNotifTitle(notif, mContext); String message = getNotifMessage(notif, mContext); if (DEBUG) Log.d(TAG, "setNiNotification, notifyId: " + notif.notificationId + ", title: " + title + Loading @@ -208,7 +210,7 @@ public class GpsNetInitiatedHandler { } mNiNotification.flags = Notification.FLAG_ONGOING_EVENT; mNiNotification.tickerText = getNotifTicker(notif); mNiNotification.tickerText = getNotifTicker(notif, mContext); // if not to popup dialog immediately, pending intent will open the dialog Intent intent = !mPopupImmediately ? getDlgIntent(notif) : new Intent(); Loading Loading @@ -239,8 +241,8 @@ public class GpsNetInitiatedHandler { private Intent getDlgIntent(GpsNiNotification notif) { Intent intent = new Intent(); String title = getDialogTitle(notif); String message = getDialogMessage(notif); String title = getDialogTitle(notif, mContext); String message = getDialogMessage(notif, mContext); // directly bring up the NI activity intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Loading Loading @@ -417,41 +419,40 @@ public class GpsNetInitiatedHandler { } // change this to configure notification display static private String getNotifTicker(GpsNiNotification notif) static private String getNotifTicker(GpsNiNotification notif, Context context) { String ticker = String.format("Position request! ReqId: [%s] ClientName: [%s]", String ticker = String.format(context.getString(R.string.gpsNotifTicker), decodeString(notif.requestorId, mIsHexInput, notif.requestorIdEncoding), decodeString(notif.text, mIsHexInput, notif.textEncoding)); return ticker; } // change this to configure notification display static private String getNotifTitle(GpsNiNotification notif) static private String getNotifTitle(GpsNiNotification notif, Context context) { String title = String.format("Position Request"); String title = String.format(context.getString(R.string.gpsNotifTitle)); return title; } // change this to configure notification display static private String getNotifMessage(GpsNiNotification notif) static private String getNotifMessage(GpsNiNotification notif, Context context) { String message = String.format( "NI Request received from [%s] for client [%s]!", String message = String.format(context.getString(R.string.gpsNotifMessage), decodeString(notif.requestorId, mIsHexInput, notif.requestorIdEncoding), decodeString(notif.text, mIsHexInput, notif.textEncoding)); return message; } // change this to configure dialog display (for verification) static public String getDialogTitle(GpsNiNotification notif) static public String getDialogTitle(GpsNiNotification notif, Context context) { return getNotifTitle(notif); return getNotifTitle(notif, context); } // change this to configure dialog display (for verification) static private String getDialogMessage(GpsNiNotification notif) static private String getDialogMessage(GpsNiNotification notif, Context context) { return getNotifMessage(notif); return getNotifMessage(notif, context); } } Loading
core/java/com/android/internal/app/NetInitiatedActivity.java +5 −6 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ import android.os.Bundle; import android.widget.Toast; import android.util.Log; import android.location.LocationManager; import com.android.internal.R; import com.android.internal.location.GpsNetInitiatedHandler; /** Loading @@ -42,10 +44,6 @@ public class NetInitiatedActivity extends AlertActivity implements DialogInterfa private static final int POSITIVE_BUTTON = AlertDialog.BUTTON_POSITIVE; private static final int NEGATIVE_BUTTON = AlertDialog.BUTTON_NEGATIVE; // Dialog button text public static final String BUTTON_TEXT_ACCEPT = "Accept"; public static final String BUTTON_TEXT_DENY = "Deny"; // Received ID from intent, -1 when no notification is in progress private int notificationId = -1; Loading @@ -67,12 +65,13 @@ public class NetInitiatedActivity extends AlertActivity implements DialogInterfa // Set up the "dialog" final Intent intent = getIntent(); final AlertController.AlertParams p = mAlertParams; Context context = getApplicationContext(); p.mIconId = com.android.internal.R.drawable.ic_dialog_usb; p.mTitle = intent.getStringExtra(GpsNetInitiatedHandler.NI_INTENT_KEY_TITLE); p.mMessage = intent.getStringExtra(GpsNetInitiatedHandler.NI_INTENT_KEY_MESSAGE); p.mPositiveButtonText = BUTTON_TEXT_ACCEPT; p.mPositiveButtonText = String.format(context.getString(R.string.gpsVerifYes)); p.mPositiveButtonListener = this; p.mNegativeButtonText = BUTTON_TEXT_DENY; p.mNegativeButtonText = String.format(context.getString(R.string.gpsVerifNo)); p.mNegativeButtonListener = this; notificationId = intent.getIntExtra(GpsNetInitiatedHandler.NI_INTENT_KEY_NOTIF_ID, -1); Loading
core/res/res/values/strings.xml +16 −0 Original line number Diff line number Diff line Loading @@ -2273,4 +2273,20 @@ <!-- Shown when the users bandwidth is reduced because of excessive data use --> <string name="throttled_notification_title">Mobile data limit exceeded</string> <string name="throttled_notification_message">Touch to learn more about mobile data use</string> <!-- Network positioning notification ticker. The name of the user (e.g. John Doe) who sent the request is shown as a dynamic string. --> <string name="gpsNotifTicker">Location request from <xliff:g id="name">%s</xliff:g></string> <!-- Network positioning notification and verification title to inform the user about an incoming location request. --> <string name="gpsNotifTitle">Location request</string> <!-- Network positioning notification message. The name of the user (e.g. John Doe) and service (SUPL-service) who sent the request is shown as dynamic strings. Translation should not be longer than master text. --> <string name="gpsNotifMessage">Requested by <xliff:g id="name">%1$s</xliff:g> (<xliff:g id="service" example="SUPL-service">%2$s</xliff:g>)</string> <!-- Network positioning verification Yes. Button to push to share location information. --> <string name="gpsVerifYes">Yes</string> <!-- Network positioning verification No. Button to push to deny sharing of location information. --> <string name="gpsVerifNo">No</string> </resources>
location/java/com/android/internal/location/GpsNetInitiatedHandler.java +17 −16 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ import android.os.Bundle; import android.os.RemoteException; import android.util.Log; import com.android.internal.R; /** * A GPS Network-initiated Handler class used by LocationManager. * Loading Loading @@ -187,8 +189,8 @@ public class GpsNetInitiatedHandler { return; } String title = getNotifTitle(notif); String message = getNotifMessage(notif); String title = getNotifTitle(notif, mContext); String message = getNotifMessage(notif, mContext); if (DEBUG) Log.d(TAG, "setNiNotification, notifyId: " + notif.notificationId + ", title: " + title + Loading @@ -208,7 +210,7 @@ public class GpsNetInitiatedHandler { } mNiNotification.flags = Notification.FLAG_ONGOING_EVENT; mNiNotification.tickerText = getNotifTicker(notif); mNiNotification.tickerText = getNotifTicker(notif, mContext); // if not to popup dialog immediately, pending intent will open the dialog Intent intent = !mPopupImmediately ? getDlgIntent(notif) : new Intent(); Loading Loading @@ -239,8 +241,8 @@ public class GpsNetInitiatedHandler { private Intent getDlgIntent(GpsNiNotification notif) { Intent intent = new Intent(); String title = getDialogTitle(notif); String message = getDialogMessage(notif); String title = getDialogTitle(notif, mContext); String message = getDialogMessage(notif, mContext); // directly bring up the NI activity intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Loading Loading @@ -417,41 +419,40 @@ public class GpsNetInitiatedHandler { } // change this to configure notification display static private String getNotifTicker(GpsNiNotification notif) static private String getNotifTicker(GpsNiNotification notif, Context context) { String ticker = String.format("Position request! ReqId: [%s] ClientName: [%s]", String ticker = String.format(context.getString(R.string.gpsNotifTicker), decodeString(notif.requestorId, mIsHexInput, notif.requestorIdEncoding), decodeString(notif.text, mIsHexInput, notif.textEncoding)); return ticker; } // change this to configure notification display static private String getNotifTitle(GpsNiNotification notif) static private String getNotifTitle(GpsNiNotification notif, Context context) { String title = String.format("Position Request"); String title = String.format(context.getString(R.string.gpsNotifTitle)); return title; } // change this to configure notification display static private String getNotifMessage(GpsNiNotification notif) static private String getNotifMessage(GpsNiNotification notif, Context context) { String message = String.format( "NI Request received from [%s] for client [%s]!", String message = String.format(context.getString(R.string.gpsNotifMessage), decodeString(notif.requestorId, mIsHexInput, notif.requestorIdEncoding), decodeString(notif.text, mIsHexInput, notif.textEncoding)); return message; } // change this to configure dialog display (for verification) static public String getDialogTitle(GpsNiNotification notif) static public String getDialogTitle(GpsNiNotification notif, Context context) { return getNotifTitle(notif); return getNotifTitle(notif, context); } // change this to configure dialog display (for verification) static private String getDialogMessage(GpsNiNotification notif) static private String getDialogMessage(GpsNiNotification notif, Context context) { return getNotifMessage(notif); return getNotifMessage(notif, context); } }