/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsmsg.java:318: Warning: Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead [DefaultLocale]
    String s = String.format("%d", value);
               ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsmsg.java:885: Warning: Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead [DefaultLocale]
      lenbuf = lenbuf.format("%02d", f.length);
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsmsg.java:895: Warning: Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead [DefaultLocale]
      lenbuf = lenbuf.format("%03d", f.length);
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsmsg.java:905: Warning: Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead [DefaultLocale]
      lenbuf = lenbuf.format("%06d", f.length);
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsmsg.java:941: Warning: Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead [DefaultLocale]
    lenbuf = lenbuf.format("%04d", messageType);
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "DefaultLocale":
   Calling String#toLowerCase() or #toUpperCase() without specifying an
   explicit locale is a common source of bugs. The reason for that is that
   those methods will use the current locale on the user's device, and even
   though the code appears to work correctly when you are developing the app,
   it will fail in some locales. For example, in the Turkish locale, the
   uppercase replacement for i is not I.

   If you want the methods to just perform ASCII replacement, for example to
   convert an enum name, call String#toUpperCase(Locale.ROOT) instead. If you
   really want to use the current locale, call
   String#toUpperCase(Locale.getDefault()) instead.

   https://developer.android.com/reference/java/util/Locale.html#default_locale

/home/johns/AndroidStudioProjects/dap/app/build.gradle:17: Warning: Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this version. Consult the android.os.Build.VERSION_CODES javadoc for details. [OldTargetApi]
        targetSdk 33
        ~~~~~~~~~~~~

   Explanation for issues of type "OldTargetApi":
   When your application or sdk runs on a version of Android that is more
   recent than your targetSdkVersion specifies that it has been tested with,
   various compatibility modes kick in. This ensures that your application
   continues to work, but it may look out of place. For example, if the
   targetSdkVersion is less than 14, your app may get an option button in the
   UI.

   To fix this issue, set the targetSdkVersion to the highest available value.
   Then test your app to make sure everything works correctly. You may want to
   consult the compatibility notes to see what changes apply to each version
   you are adding support for:
   https://developer.android.com/reference/android/os/Build.VERSION_CODES.html
   as well as follow this guide:
   https://developer.android.com/distribute/best-practices/develop/target-sdk.
   html

   https://developer.android.com/distribute/best-practices/develop/target-sdk.html

/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientService.java:1221: Warning: mBroadcastReceiver is missing RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED flag for unprotected broadcasts registered for DAPWAKE [UnspecifiedRegisterReceiverFlag]
    registerReceiver(mBroadcastReceiver, filter, null, null);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "UnspecifiedRegisterReceiverFlag":
   In Android U, all receivers registering for non-system broadcasts are
   required to include a flag indicating the receiver's exported state. Apps
   registering for non-system broadcasts should use the
   ContextCompat#registerReceiver APIs with flags set to either
   RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED.

   If you are not expecting broadcasts from other apps on the device, register
   your receiver with RECEIVER_NOT_EXPORTED to protect your receiver on all
   platform releases.

   https://developer.android.com/reference/androidx/core/content/ContextCompat#registerReceiver(android.content.Context,android.content.BroadcastReceiver,android.content.IntentFilter,int)

/home/johns/AndroidStudioProjects/dap/app/build.gradle:34: Warning: A newer version of compileSdkVersion than 34 is available: 35 [GradleDependency]
    compileSdkVersion 34
    ~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/build.gradle:41: Warning: A newer version of androidx.appcompat:appcompat than 1.7.0 is available: 1.7.1 [GradleDependency]
    implementation 'androidx.appcompat:appcompat:1.7.0'
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/build.gradle:42: Warning: A newer version of com.google.android.material:material than 1.4.0 is available: 1.12.0 [GradleDependency]
    implementation 'com.google.android.material:material:1.4.0'
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/build.gradle:45: Warning: A newer version of androidx.test.ext:junit than 1.1.3 is available: 1.2.1 [GradleDependency]
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/build.gradle:46: Warning: A newer version of androidx.test.espresso:espresso-core than 3.4.0 is available: 3.6.1 [GradleDependency]
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "GradleDependency":
   This detector looks for usages of libraries where the version you are using
   is not the current stable release. Using older versions is fine, and there
   are cases where you deliberately want to stick with an older version.
   However, you may simply not be aware that a more recent version is
   available, and that is what this lint check helps find.

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:57: Warning: android:capitalize is deprecated: Use inputType instead [Deprecated]
                android:capitalize="none"
                ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:58: Warning: android:autoText is deprecated: Use inputType instead [Deprecated]
                android:autoText="false"
                ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:74: Warning: android:capitalize is deprecated: Use inputType instead [Deprecated]
                android:capitalize="none"
                ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:75: Warning: android:autoText is deprecated: Use inputType instead [Deprecated]
                android:autoText="false"
                ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:100: Warning: android:capitalize is deprecated: Use inputType instead [Deprecated]
                android:capitalize="none"
                ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:101: Warning: android:autoText is deprecated: Use inputType instead [Deprecated]
                android:autoText="false"
                ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:102: Warning: android:password is deprecated: Use inputType instead [Deprecated]
                android:password="true"
                ~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/pin_activity.xml:56: Warning: android:capitalize is deprecated: Use inputType instead [Deprecated]
                android:capitalize="none"
                ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/pin_activity.xml:57: Warning: android:autoText is deprecated: Use inputType instead [Deprecated]
                android:autoText="false"
                ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/pin_activity.xml:59: Warning: android:password is deprecated: Use inputType instead [Deprecated]
                android:password="true"
                ~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "Deprecated":
   Deprecated views, attributes and so on are deprecated because there is a
   better way to do something. Do it that new way. You've been warned.

/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsio.java:1043: Warning: Using SERIAL to get device identifiers is not recommended [HardwareIds]
      serial = Build.SERIAL;
                     ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsio.java:1048: Warning: Using getString to get device identifiers is not recommended [HardwareIds]
    String androidId = Secure.getString(ctx.getContentResolver(), Secure.ANDROID_ID);
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "HardwareIds":
   Using these device identifiers is not recommended other than for high value
   fraud prevention and advanced telephony use-cases. For advertising
   use-cases, use AdvertisingIdClient$Info#getId and for analytics, use
   InstanceId#getId.

   https://developer.android.com/training/articles/user-data-ids.html

/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientService.java:1767: Warning: Use of SSLCertificateSocketFactory.getInsecure() can cause insecure network traffic due to trusting arbitrary TLS/SSL certificates presented by peers [SSLCertificateSocketFactoryGetInsecure]
        (SSLCertificateSocketFactory)SSLCertificateSocketFactory.getInsecure(10000, null);
                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientService.java:1869: Warning: Use of SSLCertificateSocketFactory.getInsecure() can cause insecure network traffic due to trusting arbitrary TLS/SSL certificates presented by peers [SSLCertificateSocketFactoryGetInsecure]
        (SSLCertificateSocketFactory)SSLCertificateSocketFactory.getInsecure(10000, null);
                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "SSLCertificateSocketFactoryGetInsecure":
   The SSLCertificateSocketFactory.getInsecure() method returns an
   SSLSocketFactory with all TLS/SSL security checks disabled, which could
   result in insecure network traffic caused by trusting arbitrary TLS/SSL
   certificates presented by peers. This method should be avoided unless
   needed for a special circumstance such as debugging. Instead,
   SSLCertificateSocketFactory.getDefault() should be used.

   https://goo.gle/SSLCertificateSocketFactoryGetInsecure

/home/johns/AndroidStudioProjects/dap/app/src/main/AndroidManifest.xml:49: Warning: Exported service does not require permission [ExportedService]
        <service android:name=".client.ClientService" android:stopWithTask="true" android:exported="true" />
         ~~~~~~~

   Explanation for issues of type "ExportedService":
   Exported services (services which either set exported=true or contain an
   intent-filter and do not specify exported=false) should define a permission
   that an entity must have in order to launch the service or bind to it.
   Without this, any application can use this service.

   https://goo.gle/ExportedService

/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientService.java:1652: Warning: Found a wakelock acquire() but no release() calls anywhere [Wakelock]
      wl.acquire();
      ~~~~~~~~~~~~

   Explanation for issues of type "Wakelock":
   Failing to release a wakelock properly can keep the Android device in a
   high power mode, which reduces battery life. There are several causes of
   this, such as releasing the wake lock in onDestroy() instead of in
   onPause(), failing to call release() in all possible code paths after an
   acquire(), and so on.

   NOTE: If you are using the lock just to keep the screen on, you should
   strongly consider using FLAG_KEEP_SCREEN_ON instead. This window flag will
   be correctly managed by the platform as the user moves between applications
   and doesn't require a special permission. See
   https://developer.android.com/reference/android/view/WindowManager.LayoutPa
   rams.html#FLAG_KEEP_SCREEN_ON.

/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientService.java:1652: Warning: Provide a timeout when requesting a wakelock with PowerManager.Wakelock.acquire(long timeout). This will ensure the OS will cleanup any wakelocks that last longer than you intend, and will save your user's battery. [WakelockTimeout]
      wl.acquire();
      ~~~~~~~~~~~~

   Explanation for issues of type "WakelockTimeout":
   Wakelocks have two acquire methods: one with a timeout, and one without.
   You should generally always use the one with a timeout. A typical timeout
   is 10 minutes. If the task takes longer than it is critical that it happens
   (i.e. can't use JobScheduler) then maybe they should consider a foreground
   service instead (which is a stronger run guarantee and lets the user know
   something long/important is happening).

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/confirm_activity.xml:31: Warning: Invalid layout param in a ScrollView: layout_weight [ObsoleteLayoutParam]
            android:layout_weight="1"
            ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dapmain.xml:43: Warning: Invalid layout param in a ScrollView: layout_weight [ObsoleteLayoutParam]
            android:layout_weight="1"
            ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dechomain.xml:47: Warning: Invalid layout param in a RelativeLayout: layout_weight [ObsoleteLayoutParam]
            android:layout_weight="1">
            ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dechomain.xml:53: Warning: Invalid layout param in a ScrollView: layout_weight [ObsoleteLayoutParam]
            android:layout_weight="1"
            ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:32: Warning: Invalid layout param in a ScrollView: layout_weight [ObsoleteLayoutParam]
            android:layout_weight="1"
            ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/pin_activity.xml:31: Warning: Invalid layout param in a ScrollView: layout_weight [ObsoleteLayoutParam]
            android:layout_weight="1"
            ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/prompt_activity.xml:32: Warning: Invalid layout param in a ScrollView: layout_weight [ObsoleteLayoutParam]
            android:layout_weight="1"
            ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitemain.xml:39: Warning: Invalid layout param in a ScrollView: layout_weight [ObsoleteLayoutParam]
            android:layout_weight="1"
            ~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "ObsoleteLayoutParam":
   The given layout_param is not defined for the given layout, meaning it has
   no effect. This usually happens when you change the parent layout or move
   view code around without updating the layout params. This will cause
   useless attribute processing at runtime, and is misleading for others
   reading the layout so the parameter should be removed.

/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsio.java:1042: Warning: Unnecessary; SDK_INT is always >= 28 [ObsoleteSdkInt]
    if(Build.VERSION.SDK_INT > Build.VERSION_CODES.FROYO) 
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values-v11: Warning: This folder configuration (v11) is unnecessary; minSdkVersion is 28. Merge all the resources in this folder into values. [ObsoleteSdkInt]
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values-v21: Warning: This folder configuration (v21) is unnecessary; minSdkVersion is 28. Merge all the resources in this folder into values. [ObsoleteSdkInt]
/home/johns/AndroidStudioProjects/dap/app/src/main/res/xml-v11: Warning: This folder configuration (v11) is unnecessary; minSdkVersion is 28. Merge all the resources in this folder into xml. [ObsoleteSdkInt]
/home/johns/AndroidStudioProjects/dap/app/src/main/res/xml-v14: Warning: This folder configuration (v14) is unnecessary; minSdkVersion is 28. Merge all the resources in this folder into xml. [ObsoleteSdkInt]

   Explanation for issues of type "ObsoleteSdkInt":
   This check flags version checks that are not necessary, because the
   minSdkVersion (or surrounding known API level) is already at least as high
   as the version checked for.

   Similarly, it also looks for resources in -vNN folders, such as values-v14
   where the version qualifier is less than or equal to the minSdkVersion,
   where the contents should be merged into the best folder.

/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/authenticator/AuthenticatorActivity.java:557: Warning: This AsyncTask class should be static or leaks might occur (com.dwanta.android.dap.authenticator.AuthenticatorActivity.UserLoginTask) [StaticFieldLeak]
    public class UserLoginTask extends AsyncTask<Void, Void, String> {
                 ~~~~~~~~~~~~~

   Explanation for issues of type "StaticFieldLeak":
   A static field will leak contexts.

   Non-static inner classes have an implicit reference to their outer class.
   If that outer class is for example a Fragment or Activity, then this
   reference means that the long-running handler/loader/task will hold a
   reference to the activity which prevents it from getting garbage
   collected.

   Similarly, direct field references to activities and fragments from these
   longer running instances can cause leaks.

   ViewModel classes should never point to Views or non-application Contexts.

/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpscamera.java:377: Warning: This Handler class should be static or leaks might occur (anonymous android.os.Handler) [HandlerLeak]
    private Handler mMessageHandler = new Handler() {
                                      ^

   Explanation for issues of type "HandlerLeak":
   Since this Handler is declared as an inner class, it may prevent the outer
   class from being garbage collected. If the Handler is using a Looper or
   MessageQueue for a thread other than the main thread, then there is no
   issue. If the Handler is using the Looper or MessageQueue of the main
   thread, you need to fix your Handler declaration, as follows: Declare the
   Handler as a static class; In the outer class, instantiate a WeakReference
   to the outer class and pass this object to your Handler when you
   instantiate the Handler; Make all references to members of the outer class
   using the WeakReference object.

/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientService.java:1552: Warning: Use Float.valueOf(new String(msg.get(dpsmsg.amount))) instead [UseValueOf]
          float m = new Float(new String(msg.get(dpsmsg.amount))).floatValue();
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientServiceActivities.java:151: Warning: Use Integer.valueOf(msg.getPromptId(i)) instead [UseValueOf]
            int p = new Integer(msg.getPromptId(i)).intValue();
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientServiceActivities.java:152: Warning: Use Integer.valueOf(msg.getPromptLen(i)) instead [UseValueOf]
            int len = new Integer(msg.getPromptLen(i)).intValue();
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientServiceActivities.java:233: Warning: Use Integer.valueOf(msg.getPromptId(i)) instead [UseValueOf]
                int p = new Integer(msg.getPromptId(i)).intValue();
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:267: Warning: Use Integer.valueOf(which) instead [UseValueOf]
          int i2 = new Integer(which).intValue();
                   ~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:353: Warning: Use Integer.valueOf(oneObject.getInt("volume")) instead [UseValueOf]
        int volume = new Integer(oneObject.getInt("volume") );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:354: Warning: Use Integer.valueOf(oneObject.getInt("max_volume")) instead [UseValueOf]
        int maxvolume = new Integer(oneObject.getInt("max_volume"));
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:254: Warning: Use Integer.valueOf(which) instead [UseValueOf]
          int i2 = new Integer(which).intValue();
                   ~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:361: Warning: Use Integer.valueOf(cid) instead [UseValueOf]
          int i2 = new Integer(cid).intValue();
                   ~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:558: Warning: Use Float.valueOf(mSelectedQty) instead [UseValueOf]
    float m = new Float(mSelectedQty).floatValue();
              ~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:624: Warning: Use Float.valueOf(mSelectedQty) instead [UseValueOf]
    float m = new Float(mSelectedQty).floatValue();
              ~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsmsg.java:413: Warning: Use Integer.valueOf(new String(buf, 0, buf.length)) instead [UseValueOf]
      return new Integer(new String(buf, 0, buf.length)).intValue();
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsmsg.java:449: Warning: Use Integer.valueOf(new String(buf1, 0, 2)) instead [UseValueOf]
      int len = new Integer(new String(buf1, 0, 2)).intValue();
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsmsg.java:471: Warning: Use Integer.valueOf(new String(buf1, 0, 3)) instead [UseValueOf]
      int len = new Integer(new String(buf1, 0, 3)).intValue();
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsmsg.java:493: Warning: Use Integer.valueOf(new String(buf1, 0, 6)) instead [UseValueOf]
      int len = new Integer(new String(buf1, 0, 6)).intValue();
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/dpsmsg.java:632: Warning: Use Integer.valueOf(new String(buf, 0, len1)) instead [UseValueOf]
    messageType = new Integer(new String(buf, 0, len1)).intValue();
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "UseValueOf":
   You should not call the constructor for wrapper classes directly, such
   as`new Integer(42)`. Instead, call the valueOf factory method, such as
   Integer.valueOf(42). This will typically use less memory because common
   integers such as 0 and 1 will share a single instance.

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/channel.xml:49: Warning: Use a layout_height of 0dp instead of wrap_content for better performance [InefficientWeight]
        <EditText android:layout_height="wrap_content"
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteprice.xml:43: Warning: Use a layout_height of 0dp instead of wrap_content for better performance [InefficientWeight]
        <EditText android:layout_height="wrap_content"
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteprod.xml:35: Warning: Use a layout_height of 0dp instead of wrap_content for better performance [InefficientWeight]
        <Spinner android:layout_height="wrap_content"
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteqty.xml:43: Warning: Use a layout_height of 0dp instead of wrap_content for better performance [InefficientWeight]
        <EditText android:layout_height="wrap_content"
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitesubprod.xml:35: Warning: Use a layout_height of 0dp instead of wrap_content for better performance [InefficientWeight]
        <Spinner android:layout_height="wrap_content"
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "InefficientWeight":
   When only a single widget in a LinearLayout defines a weight, it is more
   efficient to assign a width/height of 0dp to it since it will absorb all
   the remaining space anyway. With a declared width/height of 0dp it does not
   have to measure its own size first.

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/activity_camera.xml:21: Warning: Possible overdraw: Root element paints background #000 with a theme that also paints a background (inferred theme is @android:style/Theme.Holo) [Overdraw]
    android:background="#000"
    ~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "Overdraw":
   If you set a background drawable on a root view, then you should use a
   custom theme where the theme background is null. Otherwise, the theme
   background will be painted first, only to have your custom background
   completely cover it; this is called "overdraw".

   NOTE: This detector relies on figuring out which layouts are associated
   with which activities based on scanning the Java code, and it's currently
   doing that using an inexact pattern matching algorithm. Therefore, it can
   incorrectly conclude which activity the layout is associated with and then
   wrongly complain that a background-theme is hidden.

   If you want your custom background on multiple pages, then you should
   consider making a custom theme with your custom background and just using
   that theme instead of a root element background.

   Of course it's possible that your custom drawable is translucent and you
   want it to be mixed with the background. However, you will get better
   performance if you pre-mix the background with your drawable and use that
   resulting image or color as a custom theme background instead.

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/activity_camera.xml:16: Warning: The resource R.layout.activity_camera appears to be unused [UnusedResources]
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
^
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/colors.xml:4: Warning: The resource R.color.my_spinner_text_color appears to be unused [UnusedResources]
<color name="my_spinner_text_color">#808080</color>
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/xml/contacts.xml:20: Warning: The resource R.xml.contacts appears to be unused [UnusedResources]
<ContactsSource
^
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/dimens.xml:23: Warning: The resource R.dimen.contact_name_text_size appears to be unused [UnusedResources]
    <dimen name="contact_name_text_size">18sp</dimen>
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/fragment_camera2_basic.xml:16: Warning: The resource R.layout.fragment_camera2_basic appears to be unused [UnusedResources]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
^
/home/johns/AndroidStudioProjects/dap/app/src/main/res/drawable-hdpi/ic_action_info.png: Warning: The resource R.drawable.ic_action_info appears to be unused [UnusedResources]
/home/johns/AndroidStudioProjects/dap/app/src/main/res/drawable-hdpi/ic_launcher.png: Warning: The resource R.drawable.ic_launcher appears to be unused [UnusedResources]
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/main.xml:2: Warning: The resource R.layout.main appears to be unused [UnusedResources]
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
^
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:21: Warning: The resource R.string.picture appears to be unused [UnusedResources]
    <string name="picture">Picture</string>
            ~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:22: Warning: The resource R.string.description_info appears to be unused [UnusedResources]
    <string name="description_info">Info</string>
            ~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:31: Warning: The resource R.string.permlab_samplesyncadapterAuthPassword appears to be unused [UnusedResources]
        name="permlab_samplesyncadapterAuthPassword">access to passwords for dap accounts</string>
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:34: Warning: The resource R.string.permdesc_samplesyncadapterAuthPassword appears to be unused [UnusedResources]
        name="permdesc_samplesyncadapterAuthPassword">Allows applications direct access to the passwords for the
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:39: Warning: The resource R.string.permlab_samplesyncadapterAuth appears to be unused [UnusedResources]
        name="permlab_samplesyncadapterAuth">view configured accounts</string>
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:42: Warning: The resource R.string.permdesc_samplesyncadapterAuth appears to be unused [UnusedResources]
        name="permdesc_samplesyncadapterAuth">Allows applications to see the usernames (email addresses) of
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:45: Warning: The resource R.string.notification_login_error appears to be unused [UnusedResources]
        name="notification_login_error">Touch to sign into your dap account.</string>
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:84: Warning: The resource R.string.login_activity_loginfail_text_both appears to be unused [UnusedResources]
        name="login_activity_loginfail_text_both">The username or password isn\'t valid. A dap account is
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:88: Warning: The resource R.string.login_activity_loginfail_text_pwonly appears to be unused [UnusedResources]
        name="login_activity_loginfail_text_pwonly">You entered the wrong password or your account has changed.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:102: Warning: The resource R.string.sign_in_button_label appears to be unused [UnusedResources]
        name="sign_in_button_label">Sign in</string>
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:105: Warning: The resource R.string.back_button_label appears to be unused [UnusedResources]
        name="back_button_label">Back</string>
        ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:108: Warning: The resource R.string.cancel_button_label appears to be unused [UnusedResources]
        name="cancel_button_label">Cancel</string>
        ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:110: Warning: The resource R.string.profile_action appears to be unused [UnusedResources]
        name="profile_action">Sample profile</string>
        ~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:112: Warning: The resource R.string.view_profile appears to be unused [UnusedResources]
        name="view_profile">View Profile</string>
        ~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:114: Warning: The resource R.string.header_account_type appears to be unused [UnusedResources]
    <string name="header_account_type">SampleSync contact</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:116: Warning: The resource R.string.label_name appears to be unused [UnusedResources]
    <string name="label_name">Name</string>
            ~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:117: Warning: The resource R.string.label_phone_home appears to be unused [UnusedResources]
    <string name="label_phone_home">Home Phone</string>
            ~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:118: Warning: The resource R.string.label_phone_mobile appears to be unused [UnusedResources]
    <string name="label_phone_mobile">Mobile Phone</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:119: Warning: The resource R.string.label_phone_work appears to be unused [UnusedResources]
    <string name="label_phone_work">Work Phone</string>
            ~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:120: Warning: The resource R.string.label_email appears to be unused [UnusedResources]
    <string name="label_email">Email</string>
            ~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:122: Warning: The resource R.string.menu_done appears to be unused [UnusedResources]
        name="menu_done">Done</string>
        ~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:124: Warning: The resource R.string.menu_cancel appears to be unused [UnusedResources]
        name="menu_cancel">Cancel</string>
        ~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:130: Warning: The resource R.string.invite_action_label appears to be unused [UnusedResources]
    <string name="invite_action_label">Add to Dap</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:133: Warning: The resource R.string.invite_contact_description appears to be unused [UnusedResources]
    <string name="invite_contact_description">Congratulations! The user wants to add the contact
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:145: Warning: The resource R.string.view_group_action_label appears to be unused [UnusedResources]
    <string name="view_group_action_label">Show sample group details</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:148: Warning: The resource R.string.view_group_description appears to be unused [UnusedResources]
    <string name="view_group_description">This would now show the details of the group.
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:153: Warning: The resource R.string.view_stream_item_description appears to be unused [UnusedResources]
    <string name="view_stream_item_description">This would now show the details of the stream item.
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:158: Warning: The resource R.string.view_stream_item_photo_description appears to be unused [UnusedResources]
    <string name="view_stream_item_photo_description">This would now show the details of the stream item photo.
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:162: Warning: The resource R.string.btn_send appears to be unused [UnusedResources]
    <string name="btn_send">Send</string>
            ~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:164: Warning: The resource R.string.txt_hint appears to be unused [UnusedResources]
    <string name="txt_hint">Type Message</string>
            ~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:166: Warning: The resource R.string.remote_service_started appears to be unused [UnusedResources]
    <string name="remote_service_started">Remote service has started</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:167: Warning: The resource R.string.remote_service_stopped appears to be unused [UnusedResources]
    <string name="remote_service_stopped">Remote service has stopped</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:168: Warning: The resource R.string.remote_service_label appears to be unused [UnusedResources]
    <string name="remote_service_label">Sample Remote Service</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:169: Warning: The resource R.string.remote_service_connected appears to be unused [UnusedResources]
    <string name="remote_service_connected">Connected to remote service</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:170: Warning: The resource R.string.remote_service_disconnected appears to be unused [UnusedResources]
    <string name="remote_service_disconnected">Disconnected from remote service</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:171: Warning: The resource R.string.activity_authentication_service_binding appears to be unused [UnusedResources]
    <string name="activity_authentication_service_binding">authentication service binding</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:175: Warning: The resource R.string.dap_service_label appears to be unused [UnusedResources]
    <string name="dap_service_label">Dap Service</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:179: Warning: The resource R.string.dap_service_controller appears to be unused [UnusedResources]
    <string name="dap_service_controller">Dap Service</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:180: Warning: The resource R.string.start_service appears to be unused [UnusedResources]
    <string name="start_service">Start Dap Service</string>
            ~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:181: Warning: The resource R.string.stop_service appears to be unused [UnusedResources]
    <string name="stop_service">Stop Dap Service</string>
            ~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:183: Warning: The resource R.string.bind_service appears to be unused [UnusedResources]
    <string name="bind_service">Bind Service</string>
            ~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:184: Warning: The resource R.string.unbind_service appears to be unused [UnusedResources]
    <string name="unbind_service">Unbind Service</string>
            ~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:185: Warning: The resource R.string.dap_service_connected appears to be unused [UnusedResources]
    <string name="dap_service_connected">Connected to Dap service</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:186: Warning: The resource R.string.dap_service_disconnected appears to be unused [UnusedResources]
    <string name="dap_service_disconnected">Disconnected from Dap service</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:187: Warning: The resource R.string.service_created appears to be unused [UnusedResources]
    <string name="service_created">Service created.</string>
            ~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:200: Warning: The resource R.string.edit_message appears to be unused [UnusedResources]
    <string name="edit_message">Enter a message</string>
            ~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:205: Warning: The resource R.string.alert_dialog_two_buttons_msg appears to be unused [UnusedResources]
    <string name="alert_dialog_two_buttons_msg">Header title</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:209: Warning: The resource R.string.prod_button appears to be unused [UnusedResources]
    <string name="prod_button">Add Product</string>
            ~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:210: Warning: The resource R.string.edit_carddpsid appears to be unused [UnusedResources]
    <string name="edit_carddpsid">Enter CardID</string>
            ~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/strings.xml:212: Warning: The resource R.string.productSpinnerLabel appears to be unused [UnusedResources]
    <string name="productSpinnerLabel">Product</string>
            ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/styles.xml:18: Warning: The resource R.style.MaterialTheme appears to be unused [UnusedResources]
    <style name="MaterialTheme" parent="android:Theme.Material.Light.NoActionBar.Fullscreen" />
           ~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/styles.xml:20: Warning: The resource R.style.boldText appears to be unused [UnusedResources]
    <style name="boldText">
           ~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/styles.xml:25: Warning: The resource R.style.normalText appears to be unused [UnusedResources]
    <style name="normalText">
           ~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/styles.xml:30: Warning: The resource R.style.AppBaseTheme appears to be unused [UnusedResources]
    <style name="AppBaseTheme" parent="android:Theme.Light">
           ~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/xml/syncadapter.xml:32: Warning: The resource R.xml.syncadapter appears to be unused [UnusedResources]
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
^
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/template-dimens.xml:21: Warning: The resource R.dimen.margin_tiny appears to be unused [UnusedResources]
    <dimen name="margin_tiny">4dp</dimen>
           ~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/template-dimens.xml:22: Warning: The resource R.dimen.margin_small appears to be unused [UnusedResources]
    <dimen name="margin_small">8dp</dimen>
           ~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/template-dimens.xml:23: Warning: The resource R.dimen.margin_medium appears to be unused [UnusedResources]
    <dimen name="margin_medium">16dp</dimen>
           ~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/template-dimens.xml:24: Warning: The resource R.dimen.margin_large appears to be unused [UnusedResources]
    <dimen name="margin_large">32dp</dimen>
           ~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/template-dimens.xml:25: Warning: The resource R.dimen.margin_huge appears to be unused [UnusedResources]
    <dimen name="margin_huge">64dp</dimen>
           ~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/template-dimens.xml:29: Warning: The resource R.dimen.horizontal_page_margin appears to be unused [UnusedResources]
    <dimen name="horizontal_page_margin">@dimen/margin_medium</dimen>
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values/template-dimens.xml:30: Warning: The resource R.dimen.vertical_page_margin appears to be unused [UnusedResources]
    <dimen name="vertical_page_margin">@dimen/margin_medium</dimen>
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/values-v11/template-styles.xml:20: Warning: The resource R.style.Theme_Base appears to be unused [UnusedResources]
    <style name="Theme.Base" parent="android:Theme.Holo.Light" />
           ~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/drawable-hdpi/tile.9.png: Warning: The resource R.drawable.tile appears to be unused [UnusedResources]

   Explanation for issues of type "UnusedResources":
   Unused resources make applications larger and slow down builds.


   The unused resource check can ignore tests. If you want to include
   resources that are only referenced from tests, consider packaging them in a
   test source set instead.

   You can include test sources in the unused resource check by setting the
   system property lint.unused-resources.include-tests =true, and to exclude
   them (usually for performance reasons), use
   lint.unused-resources.exclude-tests =true.
   ,

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/main.xml:8: Warning: This namespace declaration is redundant [RedundantNamespace]
        xmlns:android="http://schemas.android.com/apk/res/android"
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "RedundantNamespace":
   In Android XML documents, only specify the namespace on the root/document
   element. Namespace declarations elsewhere in the document are typically
   accidental leftovers from copy/pasting XML from other files or
   documentation.

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/main.xml:8: Warning: Unused namespace declaration xmlns:android; already declared on the root element [UnusedNamespace]
        xmlns:android="http://schemas.android.com/apk/res/android"
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "UnusedNamespace":
   Unused namespace declarations take up space and require processing that is
   not necessary

/home/johns/AndroidStudioProjects/dap/app/src/main/res/drawable-hdpi/icon.png: Warning: Notification icons must be entirely white [IconColors]
    /home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientService.java:1617: Icon used in notification here
/home/johns/AndroidStudioProjects/dap/app/src/main/res/drawable-ldpi/icon.png: Warning: Notification icons must be entirely white [IconColors]
    /home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientService.java:1617: Icon used in notification here
/home/johns/AndroidStudioProjects/dap/app/src/main/res/drawable-mdpi/icon.png: Warning: Notification icons must be entirely white [IconColors]
    /home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/client/ClientService.java:1617: Icon used in notification here

   Explanation for issues of type "IconColors":
   Notification icons and Action Bar icons should only white and shades of
   gray. See the Android Design Guide for more details. Note that the way Lint
   decides whether an icon is an action bar icon or a notification icon is
   based on the filename prefix: ic_menu_ for action bar icons, ic_stat_ for
   notification icons etc. These correspond to the naming conventions
   documented in
   https://d.android.com/r/studio-ui/designer/material/iconography

/home/johns/AndroidStudioProjects/dap/app/src/main/res/drawable-mdpi: Warning: Missing the following drawables in drawable-mdpi: tile.9.png (found in drawable-hdpi) [IconDensities]
/home/johns/AndroidStudioProjects/dap/app/src/main/res/drawable-xhdpi: Warning: Missing the following drawables in drawable-xhdpi: icon.png, tile.9.png [IconDensities]
/home/johns/AndroidStudioProjects/dap/app/src/main/res/drawable-xxhdpi: Warning: Missing the following drawables in drawable-xxhdpi: icon.png, tile.9.png [IconDensities]

   Explanation for issues of type "IconDensities":
   Icons will look best if a custom version is provided for each of the major
   screen density classes (low, medium, high, extra high). This lint check
   identifies icons which do not have complete coverage across the densities.

   Low density is not really used much anymore, so this check ignores the ldpi
   density. To force lint to include it, set the environment variable
   ANDROID_LINT_INCLUDE_LDPI=true. For more information on current density
   usage, see https://developer.android.com/about/dashboards

   https://developer.android.com/guide/practices/screens_support.html

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:130: Warning: Cancel button should be on the left (was ""Sign in" | Cancel", should be "Cancel | "Sign in"") [ButtonOrder]
        <Button
         ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/pin_activity.xml:85: Warning: Cancel button should be on the left (was ""Send PIN" | Cancel", should be "Cancel | "Send PIN"") [ButtonOrder]
        <Button
         ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/prompt_activity.xml:56: Warning: Cancel button should be on the left (was ""Send Prompt" | Cancel", should be "Cancel | "Send Prompt"") [ButtonOrder]
        <Button
         ~~~~~~

   Explanation for issues of type "ButtonOrder":
   According to the Android Design Guide,

   "Action buttons are typically Cancel and/or OK, with OK indicating the
   preferred or most likely action. However, if the options consist of
   specific actions such as Close or Wait rather than a confirmation or
   cancellation of the action described in the content, then all the buttons
   should be active verbs. As a rule, the dismissive action of a dialog is
   always on the left whereas the affirmative actions are on the right."

   This check looks for button bars and buttons which look like cancel
   buttons, and makes sure that these are on the left.

   https://d.android.com/r/studio-ui/designer/material/dialogs

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:122: Warning: Buttons in button bars should be borderless; use style="?android:attr/buttonBarButtonStyle" (and ?android:attr/buttonBarStyle on the parent) [ButtonStyle]
        <Button
         ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:130: Warning: Buttons in button bars should be borderless; use style="?android:attr/buttonBarButtonStyle" (and ?android:attr/buttonBarStyle on the parent) [ButtonStyle]
        <Button
         ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/pin_activity.xml:78: Warning: Buttons in button bars should be borderless; use style="?android:attr/buttonBarButtonStyle" (and ?android:attr/buttonBarStyle on the parent) [ButtonStyle]
        <Button
         ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/pin_activity.xml:85: Warning: Buttons in button bars should be borderless; use style="?android:attr/buttonBarButtonStyle" (and ?android:attr/buttonBarStyle on the parent) [ButtonStyle]
        <Button
         ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/prompt_activity.xml:48: Warning: Buttons in button bars should be borderless; use style="?android:attr/buttonBarButtonStyle" (and ?android:attr/buttonBarStyle on the parent) [ButtonStyle]
        <Button
         ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/prompt_activity.xml:56: Warning: Buttons in button bars should be borderless; use style="?android:attr/buttonBarButtonStyle" (and ?android:attr/buttonBarStyle on the parent) [ButtonStyle]
        <Button
         ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitesubtot.xml:39: Warning: Buttons in button bars should be borderless; use style="?android:attr/buttonBarButtonStyle" (and ?android:attr/buttonBarStyle on the parent) [ButtonStyle]
        <Button
         ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitesubtot.xml:48: Warning: Buttons in button bars should be borderless; use style="?android:attr/buttonBarButtonStyle" (and ?android:attr/buttonBarStyle on the parent) [ButtonStyle]
        <Button
         ~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitesubtot.xml:57: Warning: Buttons in button bars should be borderless; use style="?android:attr/buttonBarButtonStyle" (and ?android:attr/buttonBarStyle on the parent) [ButtonStyle]
        <Button
         ~~~~~~

   Explanation for issues of type "ButtonStyle":
   Button bars typically use a borderless style for the buttons. Set the
   style="?android:attr/buttonBarButtonStyle" attribute on each of the
   buttons, and set style="?android:attr/buttonBarStyle" on the parent layout

   https://d.android.com/r/studio-ui/designer/material/dialogs

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/channel.xml:49: Warning: This text field does not specify an inputType [TextFields]
        <EditText android:layout_height="wrap_content"
         ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitecard.xml:21: Warning: This text field does not specify an inputType [TextFields]
       <EditText
        ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteprice.xml:43: Warning: This text field does not specify an inputType [TextFields]
        <EditText android:layout_height="wrap_content"
         ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteqty.xml:43: Warning: This text field does not specify an inputType [TextFields]
        <EditText android:layout_height="wrap_content"
         ~~~~~~~~

   Explanation for issues of type "TextFields":
   Providing an inputType attribute on a text field improves usability because
   depending on the data to be input, optimized keyboards can be shown to the
   user (such as just digits and parentheses for a phone number). 

   The lint detector also looks at the id of the view, and if the id offers a
   hint of the purpose of the field (for example, the id contains the phrase
   phone or email), then lint will also ensure that the inputType contains the
   corresponding type attributes.

   If you really want to keep the text field generic, you can suppress this
   warning by setting inputType="text".

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/channel.xml:49: Warning: Missing autofillHints attribute [Autofill]
        <EditText android:layout_height="wrap_content"
         ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:50: Warning: Missing autofillHints attribute [Autofill]
            <EditText
             ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:67: Warning: Missing autofillHints attribute [Autofill]
            <EditText
             ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:93: Warning: Missing autofillHints attribute [Autofill]
            <EditText
             ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/pin_activity.xml:49: Warning: Missing autofillHints attribute [Autofill]
            <EditText
             ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitecard.xml:21: Warning: Missing autofillHints attribute [Autofill]
       <EditText
        ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteprice.xml:43: Warning: Missing autofillHints attribute [Autofill]
        <EditText android:layout_height="wrap_content"
         ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteqty.xml:43: Warning: Missing autofillHints attribute [Autofill]
        <EditText android:layout_height="wrap_content"
         ~~~~~~~~

   Explanation for issues of type "Autofill":
   Specify an autofillHints attribute when targeting SDK version 26 or higher
   or explicitly specify that the view is not important for autofill. Your app
   can help an autofill service classify the data correctly by providing the
   meaning of each view that could be autofillable, such as views representing
   usernames, passwords, credit card fields, email addresses, etc.

   The hints can have any value, but it is recommended to use predefined
   values like 'username' for a username or 'creditCardNumber' for a credit
   card number. For a list of all predefined autofill hint constants, see the
   AUTOFILL_HINT_ constants in the View reference at
   https://developer.android.com/reference/android/view/View.html.

   You can mark a view unimportant for autofill by specifying an
   importantForAutofill attribute on that view or a parent view. See
   https://developer.android.com/reference/android/view/View.html#setImportant
   ForAutofill(int).

   https://developer.android.com/guide/topics/text/autofill.html

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/channel.xml:49: Warning: Missing accessibility label: provide either a view with an android:labelFor that references this view or provide an android:hint [LabelFor]
        <EditText android:layout_height="wrap_content"
         ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:50: Warning: Missing accessibility label: provide either a view with an android:labelFor that references this view or provide an android:hint [LabelFor]
            <EditText
             ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:67: Warning: Missing accessibility label: provide either a view with an android:labelFor that references this view or provide an android:hint [LabelFor]
            <EditText
             ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/login_activity.xml:93: Warning: Missing accessibility label: provide either a view with an android:labelFor that references this view or provide an android:hint [LabelFor]
            <EditText
             ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/pin_activity.xml:49: Warning: Missing accessibility label: provide either a view with an android:labelFor that references this view or provide an android:hint [LabelFor]
            <EditText
             ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitecard.xml:21: Warning: Missing accessibility label: provide either a view with an android:labelFor that references this view or provide an android:hint [LabelFor]
       <EditText
        ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteprice.xml:43: Warning: Missing accessibility label: provide either a view with an android:labelFor that references this view or provide an android:hint [LabelFor]
        <EditText android:layout_height="wrap_content"
         ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteqty.xml:43: Warning: Missing accessibility label: provide either a view with an android:labelFor that references this view or provide an android:hint [LabelFor]
        <EditText android:layout_height="wrap_content"
         ~~~~~~~~

   Explanation for issues of type "LabelFor":
   Editable text fields should provide an android:hint or, provided your
   minSdkVersion is at least 17, they may be referenced by a view with a
   android:labelFor attribute.

   When using android:labelFor, be sure to provide an android:text or an
   android:contentDescription.

   If your view is labeled but by a label in a different layout which includes
   this one, just suppress this warning from lint.

/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/authenticator/AuthenticatorActivity.java:300: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
            mMessage.setText("please enter user/pass and device.");
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DapActivity.java:352: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
      sitebutton.setText("run store #" + mSiteDevice);
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DapActivity.java:352: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
      sitebutton.setText("run store #" + mSiteDevice);
                         ~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:275: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
                jsonbuttons[i].setText(tag + " UPDATED VALUE " + val);
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:275: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
                jsonbuttons[i].setText(tag + " UPDATED VALUE " + val);
                                             ~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:295: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview.setText("Channel ID: " + cid);
                     ~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:295: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview.setText("Channel ID: " + cid);
                     ~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:297: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview2.setText("Channel name: " + cname);
                      ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:297: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview2.setText("Channel name: " + cname);
                      ~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:299: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview3.setText("Channel type: " + ctype);
                      ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:299: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview3.setText("Channel type: " + ctype);
                      ~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:362: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
        jsonbuttons[0].setText(" status " + response_code );
                               ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:362: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
        jsonbuttons[0].setText(" status " + response_code );
                               ~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:364: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
        jsonbuttons[1].setText(" power " + power );
                               ~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:364: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
        jsonbuttons[1].setText(" power " + power );
                               ~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:366: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
        jsonbuttons[2].setText(" volume " + volume + "/" + maxvolume );
                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:366: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
        jsonbuttons[2].setText(" volume " + volume + "/" + maxvolume );
                               ~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:368: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
        jsonbuttons[3].setText(" sleep " + sleep );
                               ~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:368: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
        jsonbuttons[3].setText(" sleep " + sleep );
                               ~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:370: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
        jsonbuttons[4].setText(" mute " + mute );
                               ~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DechoActivity.java:370: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
        jsonbuttons[4].setText(" mute " + mute );
                               ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:262: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
                jsonbuttons[i].setText(tag + " UPDATED VALUE " + val);
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:262: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
                jsonbuttons[i].setText(tag + " UPDATED VALUE " + val);
                                             ~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:282: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview.setText("Channel ID: " + cid);
                     ~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:282: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview.setText("Channel ID: " + cid);
                     ~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:284: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview2.setText("Channel name: " + cname);
                      ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:284: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview2.setText("Channel name: " + cname);
                      ~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:286: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview3.setText("Channel type: " + ctype);
                      ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:286: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview3.setText("Channel type: " + ctype);
                      ~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:360: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
          jsonbuttons[j].setText(cname + " current value " + channel_val);
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/DioActivity.java:360: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
          jsonbuttons[j].setText(cname + " current value " + channel_val);
                                         ~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:285: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview.setText("Card: " + mBoundService.mCardId + " " + mBoundService.mEmboss1);
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:285: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview.setText("Card: " + mBoundService.mCardId + " " + mBoundService.mEmboss1);
                     ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:355: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview.setText("Card: " + mBoundService.mCardId + " " + mBoundService.mEmboss1);
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:355: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview.setText("Card: " + mBoundService.mCardId + " " + mBoundService.mEmboss1);
                     ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:494: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview.setText("Card: " + mBoundService.mCardId + " " + mBoundService.mEmboss1);
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:494: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview.setText("Card: " + mBoundService.mCardId + " " + mBoundService.mEmboss1);
                     ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:582: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview.setText("Card: " + mBoundService.mCardId + " " + mBoundService.mEmboss1);
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:582: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview.setText("Card: " + mBoundService.mCardId + " " + mBoundService.mEmboss1);
                     ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:636: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview.setText("Card: " + mBoundService.mCardId + " " + mBoundService.mEmboss1);
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:636: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview.setText("Card: " + mBoundService.mCardId + " " + mBoundService.mEmboss1);
                     ~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:645: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
    textview.setText("Item: " + t[0] + " " + mSelectedQty + " " + unit);
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/java/com/dwanta/android/dap/activities/SiteActivity.java:645: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
    textview.setText("Item: " + t[0] + " " + mSelectedQty + " " + unit);
                     ~~~~~~~~

   Explanation for issues of type "SetTextI18n":
   When calling TextView#setText
   * Never call Number#toString() to format numbers; it will not handle
   fraction separators and locale-specific digits properly. Consider using
   String#format with proper format specifications (%d or %f) instead.
   * Do not pass a string literal (e.g. "Hello") to display text. Hardcoded
   text can not be properly translated to other languages. Consider using
   Android resource strings instead.
   * Do not build messages by concatenating text chunks. Such messages can not
   be properly translated.

   https://developer.android.com/guide/topics/resources/localization.html

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/channel.xml:46: Warning: Hardcoded string "New Value", should use @string resource [HardcodedText]
            android:text="New Value"
            ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dapmain.xml:17: Warning: Hardcoded string "Connected Status: ", should use @string resource [HardcodedText]
            android:text="Connected Status: "
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dapmain.xml:24: Warning: Hardcoded string "On", should use @string resource [HardcodedText]
           android:textOn="On"
           ~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dapmain.xml:25: Warning: Hardcoded string "Off", should use @string resource [HardcodedText]
           android:textOff="Off"
           ~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dechomain.xml:15: Warning: Hardcoded string "Volume", should use @string resource [HardcodedText]
            android:text="Volume"
            ~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dechomain.xml:33: Warning: Hardcoded string "min", should use @string resource [HardcodedText]
            android:text="min" >
            ~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dechomain.xml:42: Warning: Hardcoded string "max", should use @string resource [HardcodedText]
            android:text="max" />
            ~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/prompt_activity.xml:54: Warning: Hardcoded string "Send Prompt", should use @string resource [HardcodedText]
            android:text="Send Prompt"
            ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitecard.xml:18: Warning: Hardcoded string "Card #", should use @string resource [HardcodedText]
            android:text="Card #"
            ~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitemain.xml:18: Warning: Hardcoded string "Site Admin", should use @string resource [HardcodedText]
            android:text="Site Admin"
            ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteprice.xml:40: Warning: Hardcoded string "Enter Price", should use @string resource [HardcodedText]
            android:text="Enter Price"
            ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteprod.xml:32: Warning: Hardcoded string "Enter Product ID", should use @string resource [HardcodedText]
            android:text="Enter Product ID"
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/siteqty.xml:40: Warning: Hardcoded string "Enter Qty", should use @string resource [HardcodedText]
            android:text="Enter Qty"
            ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitesubprod.xml:32: Warning: Hardcoded string "Enter Product ID", should use @string resource [HardcodedText]
            android:text="Enter Product ID"
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "HardcodedText":
   Hardcoding text attributes directly in layout files is bad for several
   reasons:

   * When creating configuration variations (for example for landscape or
   portrait) you have to repeat the actual text (and keep it up to date when
   making changes)

   * The application cannot be translated to other languages by just adding
   new translations for existing string resources.

   There are quickfixes to automatically extract this hardcoded string into a
   resource lookup.

/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dechomain.xml:13: Warning: Consider replacing android:layout_alignParentLeft with android:layout_alignParentStart="true" to better support right-to-left layouts [RtlHardcoded]
            android:layout_alignParentLeft="true"
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dechomain.xml:23: Warning: Consider replacing android:layout_alignParentLeft with android:layout_alignParentStart="true" to better support right-to-left layouts [RtlHardcoded]
            android:layout_alignParentLeft="true"
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/dechomain.xml:40: Warning: Consider replacing android:layout_alignParentRight with android:layout_alignParentEnd="true" to better support right-to-left layouts [RtlHardcoded]
            android:layout_alignParentRight="true"
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout-land/fragment_camera2_basic.xml:35: Warning: Consider replacing android:layout_toRightOf with android:layout_toEndOf="@id/texture" to better support right-to-left layouts [RtlHardcoded]
        android:layout_toRightOf="@id/texture"
        ~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/fragment_camera2_basic.xml:48: Warning: Use "end" instead of "right" to ensure correct behavior in right-to-left locales [RtlHardcoded]
            android:layout_gravity="center_vertical|right"
                                    ~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/myspinner.xml:8: Warning: Use "start" instead of "left" to ensure correct behavior in right-to-left locales [RtlHardcoded]
    android:gravity="left"
                     ~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/product_entry.xml:9: Warning: Consider replacing android:layout_alignParentRight with android:layout_alignParentEnd="true" to better support right-to-left layouts [RtlHardcoded]
        android:layout_alignParentRight="true"
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitesubtot.xml:28: Warning: Consider replacing android:paddingLeft with android:paddingStart="15dip" to better support right-to-left layouts [RtlHardcoded]
            android:paddingLeft="15dip"
            ~~~~~~~~~~~~~~~~~~~
/home/johns/AndroidStudioProjects/dap/app/src/main/res/layout/sitesubtot.xml:29: Warning: Consider replacing android:paddingRight with android:paddingEnd="2dip" to better support right-to-left layouts [RtlHardcoded]
            android:paddingRight="2dip">
            ~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "RtlHardcoded":
   Using Gravity#LEFT and Gravity#RIGHT can lead to problems when a layout is
   rendered in locales where text flows from right to left. Use Gravity#START
   and Gravity#END instead. Similarly, in XML gravity and layout_gravity
   attributes, use start rather than left.

   For XML attributes such as paddingLeft and layout_marginLeft, use
   paddingStart and layout_marginStart. NOTE: If your minSdkVersion is less
   than 17, you should add both the older left/right attributes as well as the
   new start/end attributes. On older platforms, where RTL is not supported
   and the start/end attributes are unknown and therefore ignored, you need
   the older left/right attributes. There is a separate lint check which
   catches that type of error.

   (Note: For Gravity#LEFT and Gravity#START, you can use these constants even
   when targeting older platforms, because the start bitmask is a superset of
   the left bitmask. Therefore, you can use gravity="start" rather than
   gravity="left|start".)

0 errors, 244 warnings
