diff --git a/rcs/presencepolling/src/com/android/service/ims/presence/AlarmBroadcastReceiver.java b/rcs/presencepolling/src/com/android/service/ims/presence/AlarmBroadcastReceiver.java
index 2ce4da9..7cddb30 100644
--- a/rcs/presencepolling/src/com/android/service/ims/presence/AlarmBroadcastReceiver.java
+++ b/rcs/presencepolling/src/com/android/service/ims/presence/AlarmBroadcastReceiver.java
@@ -75,5 +75,5 @@
             logger.debug("No interest in this intent: " + action);
         }
     }
-};
+}
 
diff --git a/rcs/presencepolling/src/com/android/service/ims/presence/EABContactManager.java b/rcs/presencepolling/src/com/android/service/ims/presence/EABContactManager.java
index 8ba2967..2b589ad 100644
--- a/rcs/presencepolling/src/com/android/service/ims/presence/EABContactManager.java
+++ b/rcs/presencepolling/src/com/android/service/ims/presence/EABContactManager.java
@@ -47,6 +47,7 @@
 import com.android.ims.internal.Logger;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 public class EABContactManager {
@@ -625,7 +626,7 @@
             StringBuilder sb = new StringBuilder(512);
             sb.append("EABContactManager.Query { ");
             sb.append("\nSelection: " + selection);
-            sb.append("\nSelectionArgs: " + selectionArgs);
+            sb.append("\nSelectionArgs: " + Arrays.toString(selectionArgs));
             sb.append("\nOrderBy: " + orderBy);
             sb.append(" }");
             return sb.toString();
diff --git a/rcs/presencepolling/tests/Android.bp b/rcs/presencepolling/tests/Android.bp
index 9f0bdd1..c792111 100644
--- a/rcs/presencepolling/tests/Android.bp
+++ b/rcs/presencepolling/tests/Android.bp
@@ -40,4 +40,7 @@
     certificate: "platform",
     test_suites: ["device-tests"],
 
+    data: [
+        ":PresencePolling",
+    ],
 }
diff --git a/rcs/rcsmanager/src/java/com/android/ims/RcsPresence.java b/rcs/rcsmanager/src/java/com/android/ims/RcsPresence.java
index ba7a7d5..c429336 100644
--- a/rcs/rcsmanager/src/java/com/android/ims/RcsPresence.java
+++ b/rcs/rcsmanager/src/java/com/android/ims/RcsPresence.java
@@ -40,7 +40,7 @@
  */
 public class RcsPresence {
     static final String TAG = "RcsPresence";
-    private boolean DBG = true;
+    private boolean DBG = false;
     private IRcsPresence mIRcsPresence = null;
 
     /**
diff --git a/rcs/rcsservice/src/com/android/service/ims/AlarmBroadcastReceiver.java b/rcs/rcsservice/src/com/android/service/ims/AlarmBroadcastReceiver.java
index e06b4a4..9c06a5e 100644
--- a/rcs/rcsservice/src/com/android/service/ims/AlarmBroadcastReceiver.java
+++ b/rcs/rcsservice/src/com/android/service/ims/AlarmBroadcastReceiver.java
@@ -68,5 +68,4 @@
             logger.debug("not interest in intent=" + intent);
         }
     }
-};
-
+}
diff --git a/rcs/rcsservice/src/com/android/service/ims/PresenceInfoParser.java b/rcs/rcsservice/src/com/android/service/ims/PresenceInfoParser.java
index dac1401..710c046 100644
--- a/rcs/rcsservice/src/com/android/service/ims/PresenceInfoParser.java
+++ b/rcs/rcsservice/src/com/android/service/ims/PresenceInfoParser.java
@@ -36,6 +36,7 @@
 
 import java.lang.String;
 import java.util.ArrayList;
+import java.util.Arrays;
 
 import com.android.ims.internal.Logger;
 import com.android.ims.internal.uce.presence.PresTupleInfo;
@@ -59,7 +60,7 @@
     static public RcsPresenceInfo getPresenceInfoFromTuple(String pPresentityURI,
             PresTupleInfo[] pTupleInfo){
         logger.debug("getPresenceInfoFromTuple: pPresentityURI=" + pPresentityURI +
-                " pTupleInfo=" + pTupleInfo);
+                " pTupleInfo=" + Arrays.toString(pTupleInfo));
 
         if(pPresentityURI == null){
             logger.error("pPresentityURI=" + pPresentityURI);
diff --git a/rcs/rcsservice/src/com/android/service/ims/RcsService.java b/rcs/rcsservice/src/com/android/service/ims/RcsService.java
index 7d7b744..1823656 100644
--- a/rcs/rcsservice/src/com/android/service/ims/RcsService.java
+++ b/rcs/rcsservice/src/com/android/service/ims/RcsService.java
@@ -248,7 +248,7 @@
         IntentFilter filter = new IntentFilter(TelecomManager.ACTION_TTY_PREFERRED_MODE_CHANGED);
         filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
         filter.addAction(SubscriptionManager.ACTION_DEFAULT_SUBSCRIPTION_CHANGED);
-        registerReceiver(mReceiver, filter);
+        registerReceiver(mReceiver, filter, android.Manifest.permission.MODIFY_PHONE_STATE, null);
     }
 
     private void unregisterBroadcastReceiver() {
diff --git a/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java b/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
index e279c83..6cc32f0 100644
--- a/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
+++ b/rcs/rcsservice/src/com/android/service/ims/RcsStackAdaptor.java
@@ -62,6 +62,8 @@
 import com.android.service.ims.presence.PresencePublisher;
 import com.android.service.ims.presence.SubscribePublisher;
 
+import java.util.Arrays;
+
 public class RcsStackAdaptor implements PresencePublisher, SubscribePublisher {
     private static final boolean DEBUG = true;
 
@@ -309,7 +311,7 @@
 
     @Override
     public int requestCapability(String[] formattedContacts, int taskId) {
-        logger.print("requestCapability formattedContacts=" + formattedContacts);
+        logger.print("requestCapability formattedContacts=" + Arrays.toString(formattedContacts));
 
         int ret = ResultCode.SUCCESS;
         try {
diff --git a/rcs/rcsservice/src/com/android/service/ims/StackListener.java b/rcs/rcsservice/src/com/android/service/ims/StackListener.java
index 7edf080..a89f459 100644
--- a/rcs/rcsservice/src/com/android/service/ims/StackListener.java
+++ b/rcs/rcsservice/src/com/android/service/ims/StackListener.java
@@ -56,6 +56,7 @@
 import com.android.service.ims.presence.PresenceSubscriber;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 
 public class StackListener extends Handler{
     /*
@@ -436,7 +437,7 @@
         public void listCapInfoReceived(PresRlmiInfo pRlmiInfo, PresResInfo[] pResInfo)
                 throws RemoteException {
             if(pRlmiInfo == null || pResInfo == null){
-                logger.error("pRlmiInfo=" + pRlmiInfo + " pResInfo=" + pResInfo);
+                logger.error("pRlmiInfo=" + pRlmiInfo + " pResInfo=" + Arrays.toString(pResInfo));
             }else{
                 logger.debug("pRlmiInfo.getListName "+pRlmiInfo.getListName());
                 logger.debug("pRlmiInfo.isFullState "+pRlmiInfo.isFullState());
@@ -507,8 +508,8 @@
         public void capInfoReceived(String presentityURI, PresTupleInfo[] pTupleInfo)
                 throws RemoteException {
             logger.debug("ListenerHandler : CapInfoReceived");
-            if(presentityURI == null || presentityURI == null){
-                logger.error("presentityURI=null or presentityURI=null");
+            if(presentityURI == null) {
+                logger.error("presentityURI=null");
                 return;
             }
 
diff --git a/rcs/rcsservice/src/com/android/service/ims/Task.java b/rcs/rcsservice/src/com/android/service/ims/Task.java
index 61e85b4..ce4ef34 100644
--- a/rcs/rcsservice/src/com/android/service/ims/Task.java
+++ b/rcs/rcsservice/src/com/android/service/ims/Task.java
@@ -78,5 +78,4 @@
                 " mSipResponseCode=" + mSipResponseCode +
                 " mSipReasonPhrase=" + mSipReasonPhrase;
     }
-};
-
+}
diff --git a/rcs/rcsservice/src/com/android/service/ims/presence/PresenceAvailabilityTask.java b/rcs/rcsservice/src/com/android/service/ims/presence/PresenceAvailabilityTask.java
index 08a5b32..6f53fa6 100644
--- a/rcs/rcsservice/src/com/android/service/ims/presence/PresenceAvailabilityTask.java
+++ b/rcs/rcsservice/src/com/android/service/ims/presence/PresenceAvailabilityTask.java
@@ -69,5 +69,4 @@
         return super.toString() +
                 " mNotifyTimeStamp=" + mNotifyTimeStamp;
     }
-};
-
+}
diff --git a/rcs/rcsservice/src/com/android/service/ims/presence/PresenceBase.java b/rcs/rcsservice/src/com/android/service/ims/presence/PresenceBase.java
index 6a82d6b..fd39c93 100644
--- a/rcs/rcsservice/src/com/android/service/ims/presence/PresenceBase.java
+++ b/rcs/rcsservice/src/com/android/service/ims/presence/PresenceBase.java
@@ -40,6 +40,7 @@
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.util.Arrays;
 
 public class PresenceBase {
     static private Logger logger = Logger.getLogger("PresenceBase");
@@ -193,7 +194,8 @@
     protected boolean isInConfigList(int errorNo, String phrase, String[] errorArray) {
         String inErrorString = ("" + errorNo).trim();
 
-        logger.debug("errorArray length=" + errorArray.length + " errorArray=" + errorArray);
+        logger.debug("errorArray length=" + errorArray.length
+                + " errorArray=" + Arrays.toString(errorArray));
         for (String errorStr : errorArray) {
             if (errorStr != null && errorStr.startsWith(inErrorString)) {
                 String errorPhrase = errorStr.substring(inErrorString.length());
diff --git a/rcs/rcsservice/src/com/android/service/ims/presence/PresenceCapabilityTask.java b/rcs/rcsservice/src/com/android/service/ims/presence/PresenceCapabilityTask.java
index fb22b5e..f93b317 100644
--- a/rcs/rcsservice/src/com/android/service/ims/presence/PresenceCapabilityTask.java
+++ b/rcs/rcsservice/src/com/android/service/ims/presence/PresenceCapabilityTask.java
@@ -161,4 +161,4 @@
 
         TaskManager.getDefault().removeTask(mTaskId);
     }
-};
+}
diff --git a/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublishTask.java b/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublishTask.java
index 24d1ada..49bd1e2 100644
--- a/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublishTask.java
+++ b/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublishTask.java
@@ -61,5 +61,4 @@
                 " mCreateTimestamp=" + mCreateTimestamp +
                 " mRetryCount=" + mRetryCount;
     }
-};
-
+}
diff --git a/rcs/rcsservice/src/com/android/service/ims/presence/PresenceTask.java b/rcs/rcsservice/src/com/android/service/ims/presence/PresenceTask.java
index 5465e10..1f24507 100644
--- a/rcs/rcsservice/src/com/android/service/ims/presence/PresenceTask.java
+++ b/rcs/rcsservice/src/com/android/service/ims/presence/PresenceTask.java
@@ -55,5 +55,4 @@
                 " mSipResponseCode=" + mSipResponseCode +
                 " mSipReasonPhrase=" + mSipReasonPhrase;
     }
-};
-
+}
