Files
cuidamais/app/build/reports/lint-results-debug.txt

735 lines
57 KiB
Plaintext

/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/medication/MedicationDialog.java:351: Warning: Implicitly using the default locale is a common source of bugs: Use toLowerCase(Locale) instead. For strings meant to be internal use Locale.ROOT, otherwise Locale.getDefault(). [DefaultLocale]
String lowerQuery = query.toLowerCase();
~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/medication/MedicationDialog.java:353: Warning: Implicitly using the default locale is a common source of bugs: Use toLowerCase(Locale) instead. For strings meant to be internal use Locale.ROOT, otherwise Locale.getDefault(). [DefaultLocale]
if (p.nome != null && p.nome.toLowerCase().contains(lowerQuery)) {
~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/schedule/ScheduleAppointmentFragment.java:82: Warning: Implicitly using the default locale is a common source of bugs: Use toLowerCase(Locale) instead. For strings meant to be internal use Locale.ROOT, otherwise Locale.getDefault(). [DefaultLocale]
String lowerReason = reason.toLowerCase();
~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/schedule/ScheduleViewModel.java:80: Warning: Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead [DefaultLocale]
String date = String.format("%02d/%02d/%04d", dayOfMonth, month + 1, year);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/schedule/ScheduleViewModel.java:188: Warning: Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead [DefaultLocale]
String todayStr = String.format("%02d/%02d/%04d",
^
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/schedule/ScheduleViewModel.java:202: Warning: Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead [DefaultLocale]
addSlot(slots, String.format("%02d:00", hour), bookedTimes);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/schedule/ScheduleViewModel.java:206: Warning: Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead [DefaultLocale]
addSlot(slots, String.format("%02d:30", hour), bookedTimes);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
/Users/230405/Desktop/papcuida/app/build.gradle:13: 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 35
~~~~~~~~~~~~
Explanation for issues of type "OldTargetApi":
When your application or sdk runs on a version of Android that is more
recent than your targetSdk 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 targetSdk is
less than 14, your app may get an option button in the UI.
To fix this issue, set the targetSdk 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
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_main.xml:9: Warning: Replace the <fragment> tag with FragmentContainerView. [FragmentTagUsage from androidx.fragment]
<fragment
~~~~~~~~
Explanation for issues of type "FragmentTagUsage":
FragmentContainerView replaces the <fragment> tag as the preferred
way of adding fragments via XML. Unlike the <fragment> tag,
FragmentContainerView uses a normal FragmentTransaction
under the hood to add the initial fragment, allowing
further FragmentTransaction operations on the FragmentContainerView
and providing a consistent timing for lifecycle events.
https://developer.android.com/reference/androidx/fragment/app/FragmentContainerView.html
Vendor: Android Open Source Project
Identifier: androidx.fragment
Feedback: https://issuetracker.google.com/issues/new?component=460964
/Users/230405/Desktop/papcuida/app/src/main/AndroidManifest.xml:53: Warning: Consider splitting data tag into multiple tags with individual attributes to avoid confusion [IntentFilterUniqueDataAttributes]
<data
^
/Users/230405/Desktop/papcuida/app/src/main/AndroidManifest.xml:56: Warning: Consider splitting data tag into multiple tags with individual attributes to avoid confusion [IntentFilterUniqueDataAttributes]
<data
^
Explanation for issues of type "IntentFilterUniqueDataAttributes":
<intent-filter> <data> tags should only declare a single unique attribute
(i.e. scheme OR host, but not both). This better matches the runtime
behavior of intent filters, as they combine all of the declared data
attributes into a single matcher which is allowed to handle any combination
across attribute types.
For example, the following two <intent-filter> declarations are the same:
<intent-filter>
<data android:scheme="http" android:host="example.com" />
<data android:scheme="https" android:host="example.org" />
</intent-filter>
<intent-filter>
<data android:scheme="http"/>
<data android:scheme="https"/>
<data android:host="example.com" />
<data android:host="example.org" />
</intent-filter>
They both handle all of the following:
* http://example.com
* https://example.com
* http://example.org
* https://example.org
The second one better communicates the combining behavior and is clearer to
an external reader that one should not rely on the scheme/host being self
contained. It is not obvious in the first that http://example.org is also
matched, which can lead to confusion (or incorrect behavior) with a more
complex set of schemes/hosts.
Note that this does not apply to host + port, as those must be declared in
the same <data> tag and are only associated with each other.
https://developer.android.com/guide/components/intents-filters
/Users/230405/Desktop/papcuida/app/build.gradle:8: Warning: A newer version of compileSdk than 35 is available: 37 [GradleDependency]
compileSdk 35
~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:39: Warning: A newer version of androidx.appcompat:appcompat than 1.6.1 is available: 1.7.1 [GradleDependency]
implementation 'androidx.appcompat:appcompat:1.6.1'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:41: Warning: A newer version of com.google.android.material:material than 1.11.0 is available: 1.13.0 [GradleDependency]
implementation 'com.google.android.material:material:1.11.0'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:42: Warning: A newer version of androidx.constraintlayout:constraintlayout than 2.1.4 is available: 2.2.1 [GradleDependency]
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:43: Warning: A newer version of androidx.lifecycle:lifecycle-livedata-ktx than 2.7.0 is available: 2.10.0 [GradleDependency]
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.7.0'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:44: Warning: A newer version of androidx.lifecycle:lifecycle-viewmodel-ktx than 2.7.0 is available: 2.10.0 [GradleDependency]
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:45: Warning: A newer version of androidx.navigation:navigation-fragment than 2.7.7 is available: 2.9.7 [GradleDependency]
implementation 'androidx.navigation:navigation-fragment:2.7.7'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:46: Warning: A newer version of androidx.navigation:navigation-ui than 2.7.7 is available: 2.9.7 [GradleDependency]
implementation 'androidx.navigation:navigation-ui:2.7.7'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:50: Warning: A newer version of androidx.credentials:credentials than 1.5.0 is available: 1.6.0 [GradleDependency]
implementation 'androidx.credentials:credentials:1.5.0'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:51: Warning: A newer version of androidx.credentials:credentials-play-services-auth than 1.5.0 is available: 1.6.0 [GradleDependency]
implementation 'androidx.credentials:credentials-play-services-auth:1.5.0'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:53: Warning: A newer version of com.google.android.libraries.identity.googleid:googleid than 1.1.1 is available: 1.2.0 [GradleDependency]
implementation 'com.google.android.libraries.identity.googleid:googleid:1.1.1'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:57: Warning: A newer version of androidx.test.ext:junit than 1.1.5 is available: 1.3.0 [GradleDependency]
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:58: Warning: A newer version of androidx.test.espresso:espresso-core than 3.5.1 is available: 3.7.0 [GradleDependency]
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:61: Warning: A newer version of com.google.android.gms:play-services-location than 21.0.1 is available: 21.3.0 [GradleDependency]
implementation 'com.google.android.gms:play-services-location:21.0.1'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:69: Warning: A newer version of com.google.firebase:firebase-bom than 32.7.2 is available: 34.12.0 [GradleDependency]
implementation platform('com.google.firebase:firebase-bom:32.7.2')
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.
/Users/230405/Desktop/papcuida/app/build.gradle:64: Warning: A newer version of com.squareup.retrofit2:retrofit than 2.9.0 is available: 3.0.0 [NewerVersionAvailable]
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:65: Warning: A newer version of com.squareup.retrofit2:converter-gson than 2.9.0 is available: 3.0.0 [NewerVersionAvailable]
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/build.gradle:66: Warning: A newer version of com.squareup.okhttp3:okhttp than 4.10.0 is available: 5.3.2 [NewerVersionAvailable]
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Explanation for issues of type "NewerVersionAvailable":
This detector checks with a central repository to see if there are newer
versions available for the dependencies used by this project. This is
similar to the GradleDependency check, which checks for newer versions
available in the Android SDK tools and libraries, but this works with any
MavenCentral dependency, and connects to the library every time, which
makes it more flexible but also much slower.
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/schedule/ScheduleAppointmentFragment.java:140: Warning: Use of this function is discouraged because resource reflection makes it harder to perform build optimizations and compile-time verification of code. It is much more efficient to retrieve resources by identifier (e.g. R.foo.bar) than by name (e.g. getIdentifier("bar", "foo", null)). [DiscouragedApi]
int yearSpinnerId = android.content.res.Resources.getSystem().getIdentifier("year", "id", "android");
~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/schedule/ScheduleAppointmentFragment.java:149: Warning: Use of this function is discouraged because resource reflection makes it harder to perform build optimizations and compile-time verification of code. It is much more efficient to retrieve resources by identifier (e.g. R.foo.bar) than by name (e.g. getIdentifier("bar", "foo", null)). [DiscouragedApi]
int daySpinnerId = android.content.res.Resources.getSystem().getIdentifier("day", "id", "android");
~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/schedule/ScheduleAppointmentFragment.java:150: Warning: Use of this function is discouraged because resource reflection makes it harder to perform build optimizations and compile-time verification of code. It is much more efficient to retrieve resources by identifier (e.g. R.foo.bar) than by name (e.g. getIdentifier("bar", "foo", null)). [DiscouragedApi]
int monthSpinnerId = android.content.res.Resources.getSystem().getIdentifier("month", "id", "android");
~~~~~~~~~~~~~
Explanation for issues of type "DiscouragedApi":
Discouraged APIs are allowed and are not deprecated, but they may be unfit
for common use (e.g. due to slow performance or subtle behavior).
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/appointments/AppointmentAdapter.java:20: Warning: It will always be more efficient to use more specific change events if you can. Rely on notifyDataSetChanged as a last resort. [NotifyDataSetChanged]
notifyDataSetChanged();
~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/medication/MedicationAdapter.java:32: Warning: It will always be more efficient to use more specific change events if you can. Rely on notifyDataSetChanged as a last resort. [NotifyDataSetChanged]
notifyDataSetChanged();
~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/medication/MedicationDialog.java:347: Warning: It will always be more efficient to use more specific change events if you can. Rely on notifyDataSetChanged as a last resort. [NotifyDataSetChanged]
recyclerAdapter.notifyDataSetChanged();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/medication/MedicationDialog.java:358: Warning: It will always be more efficient to use more specific change events if you can. Rely on notifyDataSetChanged as a last resort. [NotifyDataSetChanged]
recyclerAdapter.notifyDataSetChanged();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/schedule/TimeSlotAdapter.java:28: Warning: It will always be more efficient to use more specific change events if you can. Rely on notifyDataSetChanged as a last resort. [NotifyDataSetChanged]
notifyDataSetChanged();
~~~~~~~~~~~~~~~~~~~~~~
Explanation for issues of type "NotifyDataSetChanged":
The RecyclerView adapter's onNotifyDataSetChanged method does not specify
what about the data set has changed, forcing any observers to assume that
all existing items and structure may no longer be valid. `LayoutManager`s
will be forced to fully rebind and relayout all visible views.
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/utils/AlarmScheduler.java:36: Warning: Unnecessary; Build.VERSION.SDK_INT >= Build.VERSION_CODES.M is always true here (SDK_INT ≥ 24 and < 31) [ObsoleteSdkInt]
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_register.xml:59: Warning: Set android:baselineAligned="false" on this element for better performance [DisableBaselineAlignment]
<LinearLayout
~~~~~~~~~~~~
Explanation for issues of type "DisableBaselineAlignment":
When a LinearLayout is used to distribute the space proportionally between
nested layouts, the baseline alignment property should be turned off to
make the layout computation faster.
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_forgot_password.xml:8: Warning: Possible overdraw: Root element paints background @color/background_color with a theme that also paints a background (inferred theme is @style/Theme.Cuida) [Overdraw]
android:background="@color/background_color">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_login.xml:7: Warning: Possible overdraw: Root element paints background @color/background_color with a theme that also paints a background (inferred theme is @style/Theme.Cuida) [Overdraw]
android:background="@color/background_color">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_register.xml:7: Warning: Possible overdraw: Root element paints background @color/background_color with a theme that also paints a background (inferred theme is @style/Theme.Cuida) [Overdraw]
android:background="@color/background_color">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_reset_password.xml:8: Warning: Possible overdraw: Root element paints background @color/background_color with a theme that also paints a background (inferred theme is @style/Theme.Cuida) [Overdraw]
android:background="@color/background_color">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_profile.xml:9: Warning: Possible overdraw: Root element paints background @color/background_color with a theme that also paints a background (inferred theme is @style/Theme.Cuida) [Overdraw]
android:background="@color/background_color">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.
/Users/230405/Desktop/papcuida/app/src/main/res/drawable/bg_search_results.xml:2: Warning: The resource R.drawable.bg_search_results appears to be unused [UnusedResources]
<shape xmlns:android="http://schemas.android.com/apk/res/android">
^
/Users/230405/Desktop/papcuida/app/src/main/res/values/colors.xml:5: Warning: The resource R.color.primary_light_color appears to be unused [UnusedResources]
<color name="primary_light_color">#E3F2FD</color>
~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/values/colors.xml:18: Warning: The resource R.color.purple_200 appears to be unused [UnusedResources]
<color name="purple_200">#90CAF9</color>
~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/values/colors.xml:19: Warning: The resource R.color.purple_500 appears to be unused [UnusedResources]
<color name="purple_500">#0066CC</color>
~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/values/colors.xml:20: Warning: The resource R.color.purple_700 appears to be unused [UnusedResources]
<color name="purple_700">#004C99</color>
~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/values/colors.xml:21: Warning: The resource R.color.teal_200 appears to be unused [UnusedResources]
<color name="teal_200">#69F0AE</color>
~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/drawable/ic_launcher.xml:1: Warning: The resource R.drawable.ic_launcher appears to be unused [UnusedResources]
<vector xmlns:android="http://schemas.android.com/apk/res/android"
^
/Users/230405/Desktop/papcuida/app/src/main/res/drawable/ic_launcher_round.xml:1: Warning: The resource R.drawable.ic_launcher_round appears to be unused [UnusedResources]
<vector xmlns:android="http://schemas.android.com/apk/res/android"
^
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.
Available options:
**skip-libraries** (default is true):
Whether the unused resource check should skip reporting unused resources in libraries.
Many libraries will declare resources that are part of the library surface; other modules depending on the library will also reference the resources. To avoid reporting all these resources as unused (in the context of a library), the unused resource check normally skips reporting unused resources in libraries. Instead, run the unused resource check on the consuming app module (along with `checkDependencies=true`).
However, there are cases where you want to check that all the resources declared in a library are used; in that case, you can disable the skip option.
To configure this option, use a `lint.xml` file with an <option> like this:
```xml
<lint>
<issue id="UnusedResources">
<option name="skip-libraries" value="true" />
</issue>
</lint>
```
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_appointments.xml:6: Warning: This LinearLayout layout or its FrameLayout parent is unnecessary [UselessParent]
<LinearLayout
~~~~~~~~~~~~
Explanation for issues of type "UselessParent":
A layout with children that has no siblings, is not a scrollview or a root
layout, and does not have a background, can be removed and have its
children moved directly into the parent for a flatter and more efficient
layout hierarchy.
/Users/230405/Desktop/papcuida/app/src/main/res/drawable-v26/ic_launcher_final.xml:2: Warning: The application adaptive icon is missing a monochrome tag [MonochromeLauncherIcon]
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
^
Explanation for issues of type "MonochromeLauncherIcon":
The system may use the coloring of the user's chosen wallpaper and theme to
tint app icons. Providing a <monochrome> layer (which will be used for
tinting) for every adaptive icon is strongly recommended, otherwise Android
16 QPR 2 and above will simply tint the color version of the icon, which
may look unusual. Devices running earlier Android versions will (with no
monochrome layer) show the untinted color icon for your app, which will
look inconsistent.
/Users/230405/Desktop/papcuida/app/src/main/res/drawable/ic_logo.png: Warning: Found bitmap drawable res/drawable/ic_logo.png in densityless folder [IconLocation]
Explanation for issues of type "IconLocation":
The res/drawable folder is intended for density-independent graphics such
as shapes defined in XML. For bitmaps, move it to drawable-mdpi and
consider providing higher and lower resolution versions in drawable-ldpi,
drawable-hdpi and drawable-xhdpi. If the icon really is density independent
(for example a solid color) you can place it in drawable-nodpi.
https://developer.android.com/guide/practices/screens_support.html
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_forgot_password.xml:10: Warning: Missing contentDescription attribute on image [ContentDescription]
<ImageView
~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_reset_password.xml:10: Warning: Missing contentDescription attribute on image [ContentDescription]
<ImageView
~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/item_medication.xml:20: Warning: Missing contentDescription attribute on image [ContentDescription]
<ImageView
~~~~~~~~~
Explanation for issues of type "ContentDescription":
Non-textual widgets like ImageViews and ImageButtons should use the
contentDescription attribute to specify a textual description of the widget
such that screen readers and other accessibility tools can adequately
describe the user interface.
Note that elements in application screens that are purely decorative and do
not provide any content or enable a user action should not have
accessibility content descriptions. In this case, set their descriptions to
@null. If your app's minSdkVersion is 16 or higher, you can instead set
these graphical elements' android:importantForAccessibility attributes to
no.
Note that for text fields, you should not set both the hint and the
contentDescription attributes since the hint will never be shown. Just set
the hint.
https://developer.android.com/guide/topics/ui/accessibility/apps#special-cases
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_register.xml:105: Warning: Missing accessibility label: provide either a view with an android:labelFor that references this view or provide an android:hint [LabelFor]
<AutoCompleteTextView
~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_schedule_appointment.xml:64: Warning: Missing accessibility label: provide either a view with an android:labelFor that references this view or provide an android:hint [LabelFor]
<AutoCompleteTextView
~~~~~~~~~~~~~~~~~~~~
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.
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/appointments/AppointmentAdapter.java:36: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
holder.textReason.setText("Motivo: " + (appointment.reason != null ? appointment.reason : "--"));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/appointments/AppointmentAdapter.java:36: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
holder.textReason.setText("Motivo: " + (appointment.reason != null ? appointment.reason : "--"));
~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/home/HomeFragment.java:44: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
binding.textGreeting.setText("Olá, " + firstName + "!");
~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/home/HomeFragment.java:44: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.textGreeting.setText("Olá, " + firstName + "!");
~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/home/HomeFragment.java:46: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.textGreeting.setText("Olá, Utilizador!");
~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/home/HomeFragment.java:62: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.textGreeting.setText("Olá, Utilizador!");
~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/home/HomeFragment.java:65: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.textGreeting.setText("Olá, Utilizador!");
~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/home/HomeFragment.java:72: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
binding.nextMedName.setText(medication.name + " (" + medication.dosage + ")");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/home/HomeFragment.java:73: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
binding.nextMedTime.setText("Hoje, " + medication.time);
~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/home/HomeFragment.java:73: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.nextMedTime.setText("Hoje, " + medication.time);
~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/home/HomeFragment.java:75: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.nextMedName.setText("Sem medicação");
~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/auth/LoginActivity.java:116: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.loginButton.setText("A entrar...");
~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/auth/LoginActivity.java:143: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.loginButton.setText("A entrar...");
~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/auth/RegisterActivity.java:57: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.registerButton.setText("A registar...");
~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/auth/RegisterActivity.java:80: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.registerButton.setText("Registar");
~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/auth/RegisterActivity.java:85: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.registerButton.setText("Registar");
~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/auth/RegisterActivity.java:114: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.registerButton.setText("Registar");
~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/auth/ResetPasswordActivity.java:62: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.saveNewPasswordButton.setText("A guardar...");
~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/auth/ResetPasswordActivity.java:75: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.saveNewPasswordButton.setText("Guardar Palavra-passe");
~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/sns24/Sns24Fragment.java:68: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.textAiResult.setText("A analisar sintomas...");
~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/sns24/Sns24Fragment.java:104: Warning: Do not concatenate text displayed with setText. Use resource string with placeholders. [SetTextI18n]
binding.textAiResult.setText("Erro na ligação: " + t.getMessage());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/java/com/example/cuida/ui/sns24/Sns24Fragment.java:104: Warning: String literal in setText can not be translated. Use Android resources instead. [SetTextI18n]
binding.textAiResult.setText("Erro na ligação: " + t.getMessage());
~~~~~~~~~~~~~~~~~~~
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
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_forgot_password.xml:29: Warning: Hardcoded string "Insira o seu email para recuperar a palavra-passe.", should use @string resource [HardcodedText]
android:text="Insira o seu email para recuperar a palavra-passe."
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_forgot_password.xml:51: Warning: Hardcoded string "Recuperar Palavra-passe", should use @string resource [HardcodedText]
android:text="Recuperar Palavra-passe"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_forgot_password.xml:59: Warning: Hardcoded string "Voltar ao Login", should use @string resource [HardcodedText]
android:text="Voltar ao Login"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_login.xml:78: Warning: Hardcoded string "Lembrar-me", should use @string resource [HardcodedText]
android:text="Lembrar-me"
~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_login.xml:96: Warning: Hardcoded string "Login com Biometria", should use @string resource [HardcodedText]
android:text="Login com Biometria"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_register.xml:92: Warning: Hardcoded string "Nº Utente", should use @string resource [HardcodedText]
android:hint="Nº Utente"
~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_register.xml:103: Warning: Hardcoded string "Sexo", should use @string resource [HardcodedText]
android:hint="Sexo">
~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_reset_password.xml:20: Warning: Hardcoded string "Nova Palavra-passe", should use @string resource [HardcodedText]
android:text="Nova Palavra-passe"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_reset_password.xml:29: Warning: Hardcoded string "Insira e confirme a sua nova palavra-passe.", should use @string resource [HardcodedText]
android:text="Insira e confirme a sua nova palavra-passe."
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_reset_password.xml:43: Warning: Hardcoded string "Nova palavra-passe", should use @string resource [HardcodedText]
android:hint="Nova palavra-passe"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_reset_password.xml:56: Warning: Hardcoded string "Confirmar palavra-passe", should use @string resource [HardcodedText]
android:hint="Confirmar palavra-passe"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/activity_reset_password.xml:64: Warning: Hardcoded string "Guardar Palavra-passe", should use @string resource [HardcodedText]
android:text="Guardar Palavra-passe"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_add_medication.xml:13: Warning: Hardcoded string "Nome do Medicamento", should use @string resource [HardcodedText]
android:hint="Nome do Medicamento"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_add_medication.xml:42: Warning: Hardcoded string "Horários", should use @string resource [HardcodedText]
android:text="Horários"
~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_add_medication.xml:54: Warning: Hardcoded string "Adicionar", should use @string resource [HardcodedText]
android:text="Adicionar"
~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_add_medication.xml:68: Warning: Hardcoded string "Via de Administração", should use @string resource [HardcodedText]
android:text="Via de Administração"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_add_medication.xml:85: Warning: Hardcoded string "Via Oral (Pela boca)", should use @string resource [HardcodedText]
android:text="Via Oral (Pela boca)" />
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_add_medication.xml:91: Warning: Hardcoded string "Via Tópica (Na pele)", should use @string resource [HardcodedText]
android:text="Via Tópica (Na pele)" />
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_add_medication.xml:97: Warning: Hardcoded string "Via Inalatória (Pela nariz/boca)", should use @string resource [HardcodedText]
android:text="Via Inalatória (Pela nariz/boca)" />
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_add_medication.xml:104: Warning: Hardcoded string "Notas (Opcional)", should use @string resource [HardcodedText]
android:hint="Notas (Opcional)"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_change_password.xml:11: Warning: Hardcoded string "Alterar Palavra-passe", should use @string resource [HardcodedText]
android:text="Alterar Palavra-passe"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_change_password.xml:26: Warning: Hardcoded string "Nova Palavra-passe", should use @string resource [HardcodedText]
android:hint="Nova Palavra-passe"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_change_password.xml:41: Warning: Hardcoded string "Cancelar", should use @string resource [HardcodedText]
android:text="Cancelar"
~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_change_password.xml:48: Warning: Hardcoded string "Salvar", should use @string resource [HardcodedText]
android:text="Salvar" />
~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_edit_profile.xml:31: Warning: Hardcoded string "Mudar Foto", should use @string resource [HardcodedText]
android:text="Mudar Foto"
~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_edit_profile.xml:37: Warning: Hardcoded string "Editar Dados", should use @string resource [HardcodedText]
android:text="Editar Dados"
~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_edit_profile.xml:52: Warning: Hardcoded string "Nome", should use @string resource [HardcodedText]
android:hint="Nome"
~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_edit_profile.xml:65: Warning: Hardcoded string "Idade", should use @string resource [HardcodedText]
android:hint="Idade"
~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_edit_profile.xml:79: Warning: Hardcoded string "Nº Utente", should use @string resource [HardcodedText]
android:hint="Nº Utente"
~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_edit_profile.xml:93: Warning: Hardcoded string "Email", should use @string resource [HardcodedText]
android:hint="Email"
~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_edit_profile.xml:103: Warning: Hardcoded string "Alterar Palavra-passe", should use @string resource [HardcodedText]
android:text="Alterar Palavra-passe"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_edit_profile.xml:117: Warning: Hardcoded string "Cancelar", should use @string resource [HardcodedText]
android:text="Cancelar"
~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/dialog_edit_profile.xml:124: Warning: Hardcoded string "Salvar", should use @string resource [HardcodedText]
android:text="Salvar" />
~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_appointments.xml:25: Warning: Hardcoded string "Futuras", should use @string resource [HardcodedText]
android:text="Futuras"
~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_appointments.xml:38: Warning: Hardcoded string "Passadas", should use @string resource [HardcodedText]
android:text="Passadas"
~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_home.xml:23: Warning: Hardcoded string "Olá, utilizador!", should use @string resource [HardcodedText]
android:text="Olá, utilizador!"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_home.xml:52: Warning: Hardcoded string "Próxima Medicação", should use @string resource [HardcodedText]
android:text="Próxima Medicação"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_home.xml:61: Warning: Hardcoded string "Paracetamol 500mg", should use @string resource [HardcodedText]
android:text="Paracetamol 500mg"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_home.xml:69: Warning: Hardcoded string "Hoje, 14:00", should use @string resource [HardcodedText]
android:text="Hoje, 14:00"
~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_home.xml:80: Warning: Hardcoded string "Marcar Consulta", should use @string resource [HardcodedText]
android:text="Marcar Consulta"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_medication.xml:34: Warning: Hardcoded string "Ainda não tem medicamentos guardados.", should use @string resource [HardcodedText]
android:text="Ainda não tem medicamentos guardados."
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_medication.xml:52: Warning: Hardcoded string "Adicionar Medicamento", should use @string resource [HardcodedText]
android:contentDescription="Adicionar Medicamento"/>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_profile.xml:39: Warning: Hardcoded string "Nome do Utilizador", should use @string resource [HardcodedText]
android:text="Nome do Utilizador"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_profile.xml:49: Warning: Hardcoded string "email@exemplo.com", should use @string resource [HardcodedText]
android:text="email@exemplo.com"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_profile.xml:70: Warning: Hardcoded string "Idade: ", should use @string resource [HardcodedText]
android:text="Idade: "
~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_profile.xml:78: Warning: Hardcoded string "--", should use @string resource [HardcodedText]
android:text="--"
~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_profile.xml:93: Warning: Hardcoded string "Nº Utente: ", should use @string resource [HardcodedText]
android:text="Nº Utente: "
~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_profile.xml:101: Warning: Hardcoded string "--", should use @string resource [HardcodedText]
android:text="--"
~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_profile.xml:114: Warning: Hardcoded string "Editar Dados", should use @string resource [HardcodedText]
android:text="Editar Dados"
~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_profile.xml:125: Warning: Hardcoded string "Terminar Sessão", should use @string resource [HardcodedText]
android:text="Terminar Sessão"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_schedule_appointment.xml:11: Warning: Hardcoded string "Agendar Consulta", should use @string resource [HardcodedText]
android:text="Agendar Consulta"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_schedule_appointment.xml:20: Warning: Hardcoded string "Selecionar Data", should use @string resource [HardcodedText]
android:text="Selecionar Data"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_schedule_appointment.xml:37: Warning: Hardcoded string "Selecionar Horário", should use @string resource [HardcodedText]
android:text="Selecionar Horário"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_schedule_appointment.xml:52: Warning: Hardcoded string "Selecionar Médico/Especialidade", should use @string resource [HardcodedText]
android:text="Selecionar Médico/Especialidade"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_schedule_appointment.xml:62: Warning: Hardcoded string "Escolha o médico", should use @string resource [HardcodedText]
android:hint="Escolha o médico">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_schedule_appointment.xml:81: Warning: Hardcoded string "Motivo da Consulta", should use @string resource [HardcodedText]
android:hint="Motivo da Consulta"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_schedule_appointment.xml:91: Warning: Hardcoded string "Confirmar Agendamento", should use @string resource [HardcodedText]
android:text="Confirmar Agendamento"/>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_sns24.xml:23: Warning: Hardcoded string "Ligar SNS 24 (808 24 24 24)", should use @string resource [HardcodedText]
android:text="Ligar SNS 24 (808 24 24 24)"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_sns24.xml:39: Warning: Hardcoded string "Triagem com Inteligência Artificial", should use @string resource [HardcodedText]
android:text="Triagem com Inteligência Artificial"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_sns24.xml:48: Warning: Hardcoded string "Descreva o que está a sentir...", should use @string resource [HardcodedText]
android:hint="Descreva o que está a sentir..."
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_sns24.xml:65: Warning: Hardcoded string "Analisar Sintomas", should use @string resource [HardcodedText]
android:text="Analisar Sintomas"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/fragment_sns24.xml:85: Warning: Hardcoded string "Hospital mais próximo", should use @string resource [HardcodedText]
android:text="Hospital mais próximo"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/item_appointment.xml:23: Warning: Hardcoded string "Tipo de Consulta", should use @string resource [HardcodedText]
android:text="Tipo de Consulta"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/item_appointment.xml:38: Warning: Hardcoded string "dd/MM/yyyy", should use @string resource [HardcodedText]
android:text="dd/MM/yyyy"
~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/item_appointment.xml:45: Warning: Hardcoded string "HH:mm", should use @string resource [HardcodedText]
android:text="HH:mm"
~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/item_appointment.xml:53: Warning: Hardcoded string "Motivo: --", should use @string resource [HardcodedText]
android:text="Motivo: --"
~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/item_medication.xml:37: Warning: Hardcoded string "Nome Medicamento", should use @string resource [HardcodedText]
android:text="Nome Medicamento"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/item_medication.xml:46: Warning: Hardcoded string "Dosagem", should use @string resource [HardcodedText]
android:text="Dosagem"
~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/item_medication.xml:53: Warning: Hardcoded string "Observações", should use @string resource [HardcodedText]
android:text="Observações"
~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/item_medication.xml:62: Warning: Hardcoded string "HH:mm", should use @string resource [HardcodedText]
android:text="HH:mm"
~~~~~~~~~~~~~~~~~~~~
/Users/230405/Desktop/papcuida/app/src/main/res/layout/item_time_slot.xml:6: Warning: Hardcoded string "09:00", should use @string resource [HardcodedText]
android:text="09:00"
~~~~~~~~~~~~~~~~~~~~
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.
0 errors, 153 warnings