Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is (D/NSD: curPkgName is not in list)?

Tags:

android

logcat

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)).)$ )

like image 348
Tefa Avatar asked Nov 07 '16 18:11

Tefa


2 Answers

Then it is not bug in your code. Huawei phones shows this log and they have not fixed it. So ignore it.

like image 199
Divyesh Patel Avatar answered Nov 15 '22 02:11

Divyesh Patel


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.

like image 23
Beat Nideröst Avatar answered Nov 15 '22 00:11

Beat Nideröst