Java 类android.support.design.widget.Snackbar.Callback 实例源码

项目:SnackbarBuilder    文件:SnackbarBuilderTest.java   
@Test
public void givenCallback_whenBuild_thenCallbackSet() {
  RuntimeEnvironment.application.setTheme(R.style.TestSnackbarBuilder_AppTheme);
  CoordinatorLayout parent = new CoordinatorLayout(RuntimeEnvironment.application);

  Snackbar snackbar = new SnackbarBuilder(parent)
      .message("message")
      .actionText("action")
      .duration(Snackbar.LENGTH_SHORT)
      .callback(callback)
      .build();
  snackbar.show();

  snackbar.dismiss();
  verify(callback).onDismissed(snackbar, Callback.DISMISS_EVENT_MANUAL);
}
项目:SnackbarBuilder    文件:SnackbarWrapper.java   
/**
 * Add a callback to the Snackbar for various events.
 *
 * @param callback The callback to be added.
 * @return This instance.
 */
@NonNull
@SuppressWarnings("WeakerAccess")
public SnackbarWrapper addCallback(Callback callback) {
  snackbar.addCallback(callback);
  return this;
}
项目:SnackbarBuilder    文件:SnackbarWrapper.java   
/**
 * Adds multiple callbacks to the Snackbar for various events.
 *
 * @param callbacks The callbacks to be added.
 * @return This instance.
 */
@NonNull
@SuppressWarnings("WeakerAccess")
public SnackbarWrapper addCallbacks(List<Callback> callbacks) {
  int callbacksSize = callbacks.size();
  for (int i = 0; i < callbacksSize; i++) {
    addCallback(callbacks.get(i));
  }
  return this;
}
项目:SnackbarBuilder    文件:SnackbarCallbackTest.java   
@Test
public void whenOnSnackbarDismissedWithEventType_thenSnackbarDismissedMessageLogged() {
  callbackUnderTest.onSnackbarDismissed(snackbar, Callback.DISMISS_EVENT_TIMEOUT);

  List<LogItem> logs = ShadowLog.getLogsForTag(SnackbarCallback.class.getSimpleName());
  assertThat(logs).hasSize(1);
  assertThat(logs.get(0).msg).isEqualTo("onSnackbarDismissed method = 2");
}
项目:SnackbarBuilder    文件:SnackbarCallbackWrapperTest.java   
@Test
public void whenOnDismissed_thenCallbackInformedOfEvent() {
  int dismissEvent = Callback.DISMISS_EVENT_MANUAL;

  callbackUnderTest.onDismissed(snackbar, dismissEvent);

  verify(callback).onDismissed(snackbar, dismissEvent);
}
项目:SnackbarBuilder    文件:SnackbarWrapperTest.java   
@Test
public void whenAddCallback_thenCallbackAdded() {
  wrapper.addCallback(callback);
  wrapper.show();

  wrapper.dismiss();
  verify(callback).onDismissed(snackbar, Callback.DISMISS_EVENT_MANUAL);
}
项目:SnackbarBuilder    文件:SnackbarWrapperTest.java   
@Test
public void whenAddCallbacks_thenCallbacksAdded() {
  List<Snackbar.Callback> callbacks = new ArrayList<>();
  callbacks.add(callback);
  callbacks.add(snackbarCallback);

  wrapper.addCallbacks(callbacks);
  wrapper.show();

  wrapper.dismiss();
  verify(callback).onDismissed(snackbar, Callback.DISMISS_EVENT_MANUAL);
  verify(snackbarCallback).onSnackbarManuallyDismissed(snackbar);
}
项目:SnackbarBuilder    文件:SnackbarBuilderTest.java   
@Test
public void whenCallback_thenCallbackSet() {
  SnackbarBuilder builder = createBuilder();
  Callback callback = new Callback() {
    @Override
    public void onDismissed(Snackbar snackbar, int event) {
      super.onDismissed(snackbar, event);
    }
  };

  builder.callback(callback);

  assertThat(builder.callbacks).containsOnly(callback);
}
项目:photon-tinker-android    文件:DeviceListFragment.java   
void onDeviceLoadFinished(final Loader<DevicesLoadResult> loader, DevicesLoadResult result) {
    if (!result.isPartialResult) {
        reset();
        return;
    }

    retryCount++;
    if (retryCount > MAX_RETRIES) {
        // tried too many times, giving up. :(
        partialContentBar.setVisibility(View.INVISIBLE);
        return;
    }

    if (!isLoadingSnackbarVisible) {
        isLoadingSnackbarVisible = true;
        View view = getView();
        if (view != null) {
            Snackbar.make(view, "Unable to load all devices", Snackbar.LENGTH_SHORT)
                    .addCallback(new Callback() {
                        @Override
                        public void onDismissed(Snackbar snackbar, int event) {
                            super.onDismissed(snackbar, event);
                            isLoadingSnackbarVisible = false;
                        }
                    }).show();
        }
    }

    partialContentBar.setVisibility(View.VISIBLE);
    ((DevicesLoader) loader).setUseLongTimeoutsOnNextLoad(true);
    // FIXME: is it OK to call forceLoad() in loader callbacks?  Test and be certain.
    EZ.runOnMainThread(() -> {
        if (isResumed()) {
            loader.forceLoad();
        }
    });
}
项目:SnackbarBuilder    文件:SnackbarCallbackTest.java   
@Before
public void before() {
  MockitoAnnotations.initMocks(this);

  callbackUnderTest = new SnackbarCallback() {
    @Override
    public void onSnackbarShown(Snackbar snackbar) {
      super.onSnackbarShown(snackbar);
      Log.v(SnackbarCallback.class.getSimpleName(), "onSnackbarShown");
    }

    @Override
    public void onSnackbarDismissed(Snackbar snackbar) {
      super.onSnackbarDismissed(snackbar);
      Log.v(SnackbarCallback.class.getSimpleName(), "onSnackbarDismissed");
    }

    @Override
    public void onSnackbarDismissed(Snackbar snackbar, @Callback.DismissEvent int dismissEvent) {
      super.onSnackbarDismissed(snackbar, dismissEvent);
      Log.v(SnackbarCallback.class.getSimpleName(), "onSnackbarDismissed method = " + dismissEvent);
    }

    @Override
    public void onSnackbarActionPressed(Snackbar snackbar) {
      super.onSnackbarActionPressed(snackbar);
      Log.v(SnackbarCallback.class.getSimpleName(), "onSnackbarActionPressed");
    }

    @Override
    public void onSnackbarSwiped(Snackbar snackbar) {
      super.onSnackbarSwiped(snackbar);
      Log.v(SnackbarCallback.class.getSimpleName(), "onSnackbarSwiped");
    }

    @Override
    public void onSnackbarTimedOut(Snackbar snackbar) {
      super.onSnackbarTimedOut(snackbar);
      Log.v(SnackbarCallback.class.getSimpleName(), "onSnackbarTimedOut");
    }

    @Override
    public void onSnackbarManuallyDismissed(Snackbar snackbar) {
      super.onSnackbarManuallyDismissed(snackbar);
      Log.v(SnackbarCallback.class.getSimpleName(), "onSnackbarManuallyDismissed");
    }

    @Override
    public void onSnackbarDismissedAfterAnotherShown(Snackbar snackbar) {
      super.onSnackbarDismissedAfterAnotherShown(snackbar);
      Log.v(SnackbarCallback.class.getSimpleName(), "onSnackbarDismissedAfterAnotherShown");
    }
  };
}
项目:SnackbarBuilder    文件:SnackbarCallbackWrapper.java   
/**
 * Create the callback wrapper from a standard Callback.
 *
 * @param callback The callback to wrap.
 */
public SnackbarCallbackWrapper(Callback callback) {
  this.callback = callback;
}