Details

      Description

      Description:
      Feature
      Allow ActivityIndicator dialogs on Android to be cancelable by the user.
      Note: this is an Android only feature and doesn't require parity with iOS and MobileWeb
      since they don't use modal dialogs.
      API Changes
      New property: cancelable
      When true the indicator can be canceled by the user.
      New event: cancel
      Fired when the user has canceled the indicator. This is called after the indicator
      dialog has been hidden, so the developer does not need to call hide() manually.

      • IT IS A REGRESSION* it is not occurs on 2.1.3.v20120926141610
        Test case:

         
        var hideIndicatorTimeout = null;
         
        var win = Ti.UI.createWindow({
            backgroundColor: "red",
            layout: 'vertical'
        });
         
        var indicator = Ti.UI.createActivityIndicator({
          message: "Processing...",
          cancelable: true  // Indicator will be cancelable by setting this to true.
        });
        indicator.addEventListener('cancel', function() {
            // Fired when the user has canceled this indicator.
            clearTimeout(hideIndicatorTimeout);
            alert("Aborted processing");
        });
         
        var cancelableSwitch = Titanium.UI.createSwitch({
            title: 'Cancelable',
            style: Ti.UI.Android.SWITCH_STYLE_CHECKBOX,
            value: true
        });
        cancelableSwitch.addEventListener('change',function(e)
        {
            indicator.cancelable = e.value;
        });
        win.add(cancelableSwitch);
         
        var showIndicatorButton = Ti.UI.createButton({
            title: "Show Indicator"
        });
        showIndicatorButton.addEventListener('click', function() {
            indicator.show();
            hideIndicatorTimeout = setTimeout(function() {
                indicator.hide();
            }, 5000);
        });
        win.add(showIndicatorButton);
         
        win.open();
        

        1. Start up the application.
        2. Click "Show Indicator".
        3. Wait for it to go away (~5 seconds).
        4. Click "Show Indicator" again.
        5. Press the BACK button, the dialog should go away. You should also see an alert popup.
        6. Uncheck "Cancelable" and click "Show Indicator" again.
        7. Try hitting the BACK button, nothing should happen. Dialog should disappear in 5 seconds.
        8. Check "Cancelable" and click "Show Indicator".
        9. Try hitting the BACK button, the dialog should go away and alert popup (same as step 5).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                pwang Ping Wang
                Reporter:
                oromero Olga Romero
              • Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Titanium SDK/CLI <> Titanium Mobile
                    Synced with:
                    TIMOB-14469
                    Sync status:
                    ERROR
                    Last received:
                    Last sent:

                    Git Integration