I am working on new project when I enter to RegisterActivity the logCat printing
11-07 20:12:09.305 26674-26674/com.rosheta D/NSD: curPkgName is not in list
too much and not stop printing it.
what is this? is this is an error? could this lot of logs printing reduce the performance of app?
here is my RegisterActivity
package com.rosheta.activities;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.widget.AppCompatImageButton;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.rosheta.R;
import com.rosheta.api.Api;
import com.rosheta.api.ApiHelper;
import com.rosheta.api.response.UsernameResponse;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
/**
* Created by Tefa on 07/11/2016.
*/
public class Reg extends Activity implements View.OnClickListener {
EditText fName, lName, username, email, password, confirmPassword, phone;
Button signUp;
TextView login;
AppCompatImageButton checkUsername;
Api api;
private static final String TAG = Reg.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
initializeViewItems();
}
private void initializeViewItems() {
fName = (EditText) findViewById(R.id.act_register_et_firstName);
lName = (EditText) findViewById(R.id.act_register_et_lastName);
username = (EditText) findViewById(R.id.act_register_et_username);
email = (EditText) findViewById(R.id.act_register_et_email);
password = (EditText) findViewById(R.id.act_register_et_password);
confirmPassword = (EditText) findViewById(R.id.act_register_et_confirm_password);
phone = (EditText) findViewById(R.id.act_register_et_phone);
signUp = (Button) findViewById(R.id.act_register_b_signup);
signUp.setOnClickListener(this);
login = (TextView) findViewById(R.id.act_register_tv_login);
login.setOnClickListener(this);
checkUsername = (AppCompatImageButton) findViewById(R.id.act_register_ib_check_username);
checkUsername.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.act_register_b_signup:
attemptLogin();
break;
case R.id.act_register_ib_check_username:
String inputUsername = username.getText().toString();
if (TextUtils.isEmpty(inputUsername)) {
username.setError("Username can not be blank");
return;
} else {
checkUsernameValidity(inputUsername);
}
break;
}
}
private void checkUsernameValidity(String inputUsername) {
Log.d(TAG,"checkUsernameValidity");
try {
ApiHelper.base_url = getString(R.string.base_url);
api = ApiHelper.getClient().create(Api.class);
api.checkUsername(inputUsername).enqueue(new Callback<UsernameResponse>() {
@Override
public void onResponse(Call<UsernameResponse> call, Response<UsernameResponse> response) {
if (response.code() == 200) {
Log.d(TAG, "response = 200");
UsernameResponse uResponse = response.body();
if (uResponse.getCode() == 20) {
checkUsername.setImageResource(R.drawable.ic_accepted_username);
} else if (uResponse.getCode() == 3) {
checkUsername.setImageResource(R.drawable.ic_invalid_username);
username.setError(uResponse.getErrorMessage());
}
} else {
Log.e(TAG, "response != 200");
if (!TextUtils.isEmpty(response.message())) {
Log.e(TAG, response.message());
}
}
}
@Override
public void onFailure(Call<UsernameResponse> call, Throwable t) {
Log.e(TAG, "fail");
t.printStackTrace();
}
});
}catch (Exception e){
Log.e(TAG,"Exceptio");
e.printStackTrace();
}
}
private void attemptLogin() {
String firstName = fName.getText().toString();
String lastName = lName.getText().toString();
String inputUsername = username.getText().toString();
String inputEmail = email.getText().toString();
String inputPass = password.getText().toString();
String inputCPass = confirmPassword.getText().toString();
String inputPhone = phone.getText().toString();
if (TextUtils.isEmpty(firstName)) {
fName.setError("First name can not be blank");
return;
}
if (TextUtils.isEmpty(lastName)) {
lName.setError("Last name can not be blank");
return;
}
if (TextUtils.isEmpty(inputUsername)) {
username.setError("Email can not be blank");
return;
}
if (TextUtils.isEmpty(inputEmail)) {
email.setError("Email can not be blank");
return;
}
if (TextUtils.isEmpty(inputPass)) {
password.setError("Password can not be blank");
return;
}
if (TextUtils.isEmpty(inputCPass)) {
confirmPassword.setError("Please confirm your password");
return;
}
if (inputPass.equals(inputCPass)) {
password.setError("Passwords don't match");
return;
}
//TODO handle phone number
//TODO register request
}
}
and activity_register.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_register"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/backgroundColor"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.rosheta.activities.RegisterActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true">
<LinearLayout
android:id="@+id/act_register_main_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_names_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:orientation="horizontal"
android:weightSum="1">
<EditText
android:id="@+id/act_register_et_firstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:hint="First name"
android:inputType="text" />
<EditText
android:id="@+id/act_register_et_lastName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:hint="Last name"
android:inputType="text" />
</LinearLayout>
<EditText
android:id="@+id/act_register_et_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:hint="E-mail"
android:inputType="textEmailAddress" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5dp"
>
<EditText
android:id="@+id/act_register_et_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="Username"
android:inputType="text" />
<android.support.v7.widget.AppCompatImageButton
android:id="@+id/act_register_ib_check_username"
android:layout_width="35dp"
android:layout_height="match_parent"
android:src="@drawable/ic_refresh_username"
/>
</LinearLayout>
<EditText
android:id="@+id/act_register_et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:hint="Password"
android:inputType="textPassword" />
<EditText
android:id="@+id/act_register_et_confirm_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:hint="Confirm Password"
android:inputType="textPassword" />
<EditText
android:id="@+id/act_register_et_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:hint="Phone number"
android:inputType="phone" />
<Button
android:id="@+id/act_register_b_signup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="Sign up" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_have_account"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_margin="5dp"
android:text="@string/have_account_text" />
<TextView
android:id="@+id/act_register_tv_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/tv_have_account"
android:layout_toEndOf="@+id/tv_have_account"
android:layout_toRightOf="@+id/tv_have_account"
android:text="login"
tools:textColor="?android:attr/textColorLink" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
[update]
I found a way to filter this Log from spamming my logcat
in top right corner of logcat select Edit Filter Configuration
1-in filter name write your app name
2-in package name write your app_package_name
3-in (Log message write ^((?!(?:THE_TAG_YOU_NEED_TO_IGNORE)).)$ or Log tag write ^((?!(?:THE_TAG_YOU_NEED_TO_IGNORE)).)$ )
Then it is not bug in your code. Huawei phones shows this log and they have not fixed it. So ignore it.
It seems to me this might be related to the Theme Creator tool nsd.solutions.huaweithemecreator (https://www.apk-s.com/nsd.solutions.huaweithemecreator/), e.g., the UI is changing and the theme creator is checking if a custom theme should be applied given the package name.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With