Cannot Create A Firebase User through Sign Up - Receiving A SecurityException Relating to Package_Usage_Stats

108 views
Skip to first unread message

Troy Chuinard

unread,
Jan 5, 2016, 8:04:43 PM1/5/16
to Firebase Google Group
I am new to FIrebase and cannot figure this out. I am trying to create a new user and am receiving an error.

Here is my code
    public class SignupActivity extends FirebaseLoginBaseActivity {
    private static final String TAG = "SignupActivity";

@Bind(R.id.input_email)
EditText _emailText;
@Bind(R.id.input_password)
EditText _passwordText;
@Bind(R.id.btn_signup)
Button _signupButton;
@Bind(R.id.link_login)
TextView _loginLink;

private static final String fbaseFanPollsURL = "https://fan-polls.firebaseio.com";

Firebase mFirebaseBaseRef;
Firebase mFirebaseUserRef;
String mNewUserEmail;
String mNewUserPassowrd;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Firebase.setAndroidContext(this);
setContentView(R.layout.activity_signup);
ButterKnife.bind(this);

mFirebaseBaseRef = new Firebase(fbaseFanPollsURL);
mFirebaseUserRef = mFirebaseBaseRef.child("users");


_signupButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
signup();
}
});

_loginLink.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showFirebaseLoginPrompt();
}
});
}

@Override
protected void onStart() {
super.onStart();
setEnabledAuthProvider(SocialProvider.facebook);
setEnabledAuthProvider(SocialProvider.twitter);
setEnabledAuthProvider(SocialProvider.google);
setEnabledAuthProvider(SocialProvider.password);
}

public void signup() {
Log.d(TAG, "Signup");

if (!validate()) {
onSignupFailed();
return;
}

_signupButton.setEnabled(false);

final ProgressDialog progressDialog = new ProgressDialog(SignupActivity.this,
R.style.AppTheme);
progressDialog.setIndeterminate(true);
progressDialog.setMessage("Creating Account...");
progressDialog.show();

mNewUserEmail = _emailText.getText().toString();
mNewUserPassowrd = _passwordText.getText().toString();

// TODO: Implement your own signup logic here.

new android.os.Handler().postDelayed(
new Runnable() {
public void run() {
// On complete call either onSignupSuccess or onSignupFailed
// depending on success
onSignupSuccess();
// onSignupFailed();
progressDialog.dismiss();
}
}, 3000);
}


public void onSignupSuccess() {
_signupButton.setEnabled(true);
setResult(RESULT_OK, null);
mFirebaseUserRef.createUser(mNewUserEmail, mNewUserPassowrd, new Firebase.ResultHandler() {
@Override
public void onSuccess() {
Toast.makeText(getApplicationContext(), "testing success",Toast.LENGTH_LONG).show();
}

@Override
public void onError(FirebaseError firebaseError) {
Toast.makeText(getApplicationContext(), "Failure",Toast.LENGTH_LONG).show();


}
});



}

public void onSignupFailed() {
Toast.makeText(getBaseContext(), "Login failed", Toast.LENGTH_LONG).show();

_signupButton.setEnabled(true);
}


public boolean validate() {
boolean valid = true;

String email = _emailText.getText().toString();
String password = _passwordText.getText().toString();

if (email.isEmpty() || !android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
_emailText.setError("enter a valid email address");
valid = false;
} else {
_emailText.setError(null);
}

if (password.isEmpty() || password.length() < 4 || password.length() > 15) {
_passwordText.setError("between 4 and 15 alphanumeric characters");
valid = false;
} else {
_passwordText.setError(null);
}

return valid;
}

@Override
protected void onFirebaseLoggedIn(AuthData authData) {

}

@Override
protected void onFirebaseLoggedOut() {

}

@Override
protected void onFirebaseLoginProviderError(FirebaseLoginError firebaseLoginError) {

}

@Override
protected void onFirebaseLoginUserError(FirebaseLoginError firebaseLoginError) {

}

@Override
protected Firebase getFirebaseRef() {
return mFirebaseBaseRef;
}

}

And here is the error I am receiving:


01-05 18:51:06.617 1559-1637/? W/ApplicationsProvider: Could not fetch usage stats
                                                       java.lang.SecurityException: Neither user 10019 nor current process has android.permission.PACKAGE_USAGE_STATS.
                                                           at android.os.Parcel.readException(Parcel.java:1472)
                                                           at android.os.Parcel.readException(Parcel.java:1426)
                                                           at com.android.internal.app.IUsageStats$Stub$Proxy.getAllPkgUsageStats(IUsageStats.java:317)
                                                           at android.app.ActivityManager.getAllPackageUsageStats(ActivityManager.java:2543)
                                                           at com.android.providers.applications.ApplicationsProvider.fetchUsageStats(ApplicationsProvider.java:681)
                                                           at com.android.providers.applications.ApplicationsProvider.updateApplicationsList(ApplicationsProvider.java:519)
                                                           at com.android.providers.applications.ApplicationsProvider.access$300(ApplicationsProvider.java:70)
                                                           at com.android.providers.applications.ApplicationsProvider$UpdateHandler.handleMessage(ApplicationsProvider.java:212)
                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                           at android.os.Looper.loop(Looper.java:146)
                                                           at android.os.HandlerThread.run(HandlerThread.java:61)
01-05 18:51:06.667 1559-1637/? W/ApplicationsProvider: Could not fetch usage stats
                                                       java.lang.SecurityException: Neither user 10019 nor current process has android.permission.PACKAGE_USAGE_STATS.
                                                           at android.os.Parcel.readException(Parcel.java:1472)
                                                           at android.os.Parcel.readException(Parcel.java:1426)
                                                           at com.android.internal.app.IUsageStats$Stub$Proxy.getAllPkgUsageStats(IUsageStats.java:317)
                                                           at android.app.ActivityManager.getAllPackageUsageStats(ActivityManager.java:2543)
                                                           at com.android.providers.applications.ApplicationsProvider.fetchUsageStats(ApplicationsProvider.java:681)
                                                           at com.android.providers.applications.ApplicationsProvider.updateApplicationsList(ApplicationsProvider.java:519)
                                                           at com.android.providers.applications.ApplicationsProvider.access$300(ApplicationsProvider.java:70)
                                                           at com.android.providers.applications.ApplicationsProvider$UpdateHandler.handleMessage(ApplicationsProvider.java:209)
                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                           at android.os.Looper.loop(Looper.java:146)
                                                           at android.os.HandlerThread.run(HandlerThread.java:61)
01-05 18:51:09.927 27761-27781/? I/ProviderInstaller: Installed default security provider GmsCore_OpenSSL
01-05 18:51:22.577 1559-1637/? W/ApplicationsProvider: Could not fetch usage stats
                                                       java.lang.SecurityException: Neither user 10019 nor current process has android.permission.PACKAGE_USAGE_STATS.
                                                           at android.os.Parcel.readException(Parcel.java:1472)
                                                           at android.os.Parcel.readException(Parcel.java:1426)
                                                           at com.android.internal.app.IUsageStats$Stub$Proxy.getAllPkgUsageStats(IUsageStats.java:317)
                                                           at android.app.ActivityManager.getAllPackageUsageStats(ActivityManager.java:2543)
                                                           at com.android.providers.applications.ApplicationsProvider.fetchUsageStats(ApplicationsProvider.java:681)
                                                           at com.android.providers.applications.ApplicationsProvider.updateApplicationsList(ApplicationsProvider.java:519)
                                                           at com.android.providers.applications.ApplicationsProvider.access$300(ApplicationsProvider.java:70)
                                                           at com.android.providers.applications.ApplicationsProvider$UpdateHandler.handleMessage(ApplicationsProvider.java:212)
                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                           at android.os.Looper.loop(Looper.java:146)
                                                           at android.os.HandlerThread.run(HandlerThread.java:61)

Frank van Puffelen

unread,
Jan 5, 2016, 11:09:29 PM1/5/16
to Firebase Google Group

Troy Chuinard

unread,
Jan 6, 2016, 4:34:07 PM1/6/16
to Firebase Google Group
I was able to resolve by enabling email and password authentication.  My bad.
Reply all
Reply to author
Forward
0 new messages