From 506ddc8f7a2abdfb91b6d5176dde0fe5f2491f04 Mon Sep 17 00:00:00 2001 From: Eric House Date: Mon, 21 Jan 2019 20:44:16 -0800 Subject: [PATCH] fix logic error in permissions callback Somehow I forgot what params were and decided that array's length needed to match another's. --- .../java/org/eehouse/android/xw4/Perms23.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Perms23.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Perms23.java index d4ea7541e..43ec939ea 100644 --- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Perms23.java +++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Perms23.java @@ -201,20 +201,18 @@ public class Perms23 { } builder.asyncQuery( m_delegate.getActivity(), new PermCbck() { @Override - public void onPermissionResult( Map perms ) { + public void onPermissionResult( Map permsMap ) { if ( Action.SKIP_CALLBACK != m_action ) { - Set keys = perms.keySet(); // We need all the sought perms to have been granted - boolean allGood = keys.size() == m_params.length; - for ( Iterator iter = keys.iterator(); - allGood && iter.hasNext(); ) { - if ( !perms.get(iter.next()) ) { - allGood = false; - } + boolean allGranted = true; + Iterator iter = permsMap.keySet().iterator(); + while ( allGranted && iter.hasNext() ) { + Perm perm = iter.next(); + allGranted = allGranted && permsMap.get( perm ); } - if ( allGood ) { + if ( allGranted ) { m_delegate.onPosButton( m_action, m_params ); } else { m_delegate.onNegButton( m_action, m_params );