<table><tr><td style="">nicolasfella added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D5876" rel="noreferrer">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D5876#110318" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;" rel="noreferrer">D5876#110318</a>, <a href="https://phabricator.kde.org/p/albertvaka/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;" rel="noreferrer">@albertvaka</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>Thanks for starting to work on this! I find your approach to not be very user-friendly, though. Since the app only requests the permission after receiving a packet from the computer, if the user is not looking at the phone, it's easy to miss the popup.</p>

<p>I think that we can do something more similar to the Notifications plugin: check if we have the permission when the plugin is instantiated (that is: after pairing) and if it's not, the initialization function returns false and we will list it on the main screen as "disabled/not working plugins". Then, when the user taps the plugin we show a popup explaining the reason we couldn't load the plugin (we don't have enough permissions) and from there we open the permission request. When you have given permissions, the plugin can load safely.</p>

<p>Can you check how it is done for the Notifications plugin and try something similar?</p></div>
</blockquote>

<p>Actually it works this way: When the Main Activity is started the user is asked to grant the Permissions for Storage, Contacts, Phone and SMS. When something happens that needs a permission it checks whether we have this permission. If not, nothing happens. You're right, thats not very user friendly because the user doesn't know why some features are not working when he/she declines a permission. I think that not loading a plugin because of lack of permission is not wise as some plugins are useful even without them (e.g. the SharePlugin can still share/receive URLs without the storage permission).</p>

<p>Our first task should be identifying all the spots where certain permissions are required and make the programm not to crash when a permission is not granted.<br />
Then we should notify the user if some features are disabled because of lack of permission</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R225 KDE Connect - Android application</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D5876" rel="noreferrer">https://phabricator.kde.org/D5876</a></div></div><br /><div><strong>To: </strong>nicolasfella, KDE Connect<br /><strong>Cc: </strong>albertvaka, seebauer, MayeulC, menasshock, ach, apol, hkaelberer<br /></div>