Java Code Examples for android.support.annotation.RestrictTo

The following are top voted examples for showing how to use android.support.annotation.RestrictTo. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.
Example 1
Project: JobSchedulerCompat   File: JobScheduler.java   View source code 6 votes vote down vote up
/**
 * Notify the scheduler that a job finished executing.
 *
 * Handle scheduler changes by cancelling it in the old scheduler and scheduling it in the new scheduler.
 */
@RestrictTo(RestrictTo.Scope.LIBRARY)
public void onJobCompleted(int jobId, boolean needsReschedule) {
    synchronized (JobStore.LOCK) {
        JobStatus jobStatus = jobStore.getJob(jobId);
        if (jobStatus != null) {
            jobStore.remove(jobId);
            if (needsReschedule) {
                jobStore.add(getRescheduleJobForFailure(jobStatus));
            } else if (jobStatus.isPeriodic()) {
                jobStore.add(getRescheduleJobForPeriodic(jobStatus));
            }
            getSchedulerForTag(context, jobStatus.getSchedulerTag()).onJobCompleted(jobId, needsReschedule);
        }
    }
}
 
Example 2
Project: RxAndroidBle   File: ClientOperationQueueImpl.java   View source code 6 votes vote down vote up
@Override
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public <T> Observable<T> queue(final Operation<T> operation) {
    return Observable.create(new Action1<Emitter<T>>() {
        @Override
        public void call(Emitter<T> tEmitter) {
            final FIFORunnableEntry entry = new FIFORunnableEntry<>(operation, tEmitter);
            tEmitter.setCancellation(new Cancellable() {
                @Override
                public void cancel() throws Exception {
                    if (queue.remove(entry)) {
                        logOperationRemoved(operation);
                    }
                }
            });
            logOperationQueued(operation);
            queue.add(entry);
        }
    }, Emitter.BackpressureMode.NONE);
}
 
Example 3
Project: RxAndroidBle   File: ConnectionOperationQueueImpl.java   View source code 6 votes vote down vote up
@Override
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public synchronized <T> Observable<T> queue(final Operation<T> operation) {
    if (!shouldRun) {
        return Observable.error(disconnectionException);
    }
    return Observable.create(new Action1<Emitter<T>>() {
        @Override
        public void call(Emitter<T> tEmitter) {
            final FIFORunnableEntry entry = new FIFORunnableEntry<>(operation, tEmitter);

            tEmitter.setCancellation(new Cancellable() {
                @Override
                public void cancel() throws Exception {
                    if (queue.remove(entry)) {
                        logOperationRemoved(operation);
                    }
                }
            });

            logOperationQueued(operation);
            queue.add(entry);
        }
    }, Emitter.BackpressureMode.NONE);
}
 
Example 4
Project: lottie-android   File: LottieValueCallback.java   View source code 6 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY)
public T getValueInternal(
    float startFrame,
    float endFrame,
    T startValue,
    T endValue,
    float linearKeyframeProgress,
    float interpolatedKeyframeProgress,
    float overallProgress
) {
  if (value != null) {
    return value;
  }
  return getValue(startFrame, endFrame, startValue, endValue, linearKeyframeProgress,
      interpolatedKeyframeProgress, overallProgress);
}
 
Example 5
Project: lottie-android   File: KeyPath.java   View source code 6 votes vote down vote up
/**
 * Returns whether they key matches at the specified depth.
 */
@SuppressWarnings("RedundantIfStatement")
@RestrictTo(RestrictTo.Scope.LIBRARY)
public boolean matches(String key, int depth) {
  if (isContainer(key)) {
    // This is an artificial layer we programatically create.
    return true;
  }
  if (depth >= keys.size()) {
    return false;
  }
  if (keys.get(depth).equals(key) ||
      keys.get(depth).equals("**") ||
      keys.get(depth).equals("*")) {
    return true;
  }
  return false;
}
 
Example 6
Project: lottie-android   File: KeyPath.java   View source code 6 votes vote down vote up
/**
 * For a given key and depth, returns how much the depth should be incremented by when
 * resolving a keypath to children.
 *
 * This can be 0 or 2 when there is a globstar and the next key either matches or doesn't match
 * the current key.
 */
@RestrictTo(RestrictTo.Scope.LIBRARY)
public int incrementDepthBy(String key, int depth) {
  if (isContainer(key)) {
    // If it's a container then we added programatically and it isn't a part of the keypath.
    return 0;
  }
  if (!keys.get(depth).equals("**")) {
    // If it's not a globstar then it is part of the keypath.
    return 1;
  }
  if (depth == keys.size() - 1) {
    // The last key is a globstar.
    return 0;
  }
  if (keys.get(depth + 1).equals(key)) {
    // We are a globstar and the next key is our current key so consume both.
    return 2;
  }
  return 0;
}
 
Example 7
Project: MaterialPreference   File: PreferenceManager.java   View source code 6 votes vote down vote up
/**
 * Inflates a preference hierarchy from XML. If a preference hierarchy is
 * given, the new preference hierarchies will be merged in.
 *
 * @param context The context of the resource.
 * @param resId The resource ID of the XML to inflate.
 * @param rootPreferences Optional existing hierarchy to merge the new
 *            hierarchies into.
 * @return The root hierarchy (if one was not provided, the new hierarchy's
 *         root).
 * @hide
 */
@RestrictTo(LIBRARY_GROUP)
public PreferenceScreen inflateFromResource(Context context, int resId,
                                            PreferenceScreen rootPreferences) {
    // Block commits
    setNoCommit(true);

    final PreferenceInflater inflater = new PreferenceInflater(context, this);
    inflater.setDefaultPackages(getDefaultPackages());
    rootPreferences = (PreferenceScreen) inflater.inflate(resId, rootPreferences);
    rootPreferences.onAttachedToHierarchy(this);

    // Unblock commits
    setNoCommit(false);

    return rootPreferences;
}
 
Example 8
Project: AndroidLife   File: InvalidationTracker.java   View source code 6 votes vote down vote up
/**
 * Used by the generated code.
 *
 * @hide
 */
@SuppressWarnings("WeakerAccess")
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public InvalidationTracker(RoomDatabase database, String... tableNames) {
    mDatabase = database;
    mObservedTableTracker = new ObservedTableTracker(tableNames.length);
    mTableIdLookup = new ArrayMap<>();
    final int size = tableNames.length;
    mTableNames = new String[size];
    for (int id = 0; id < size; id++) {
        final String tableName = tableNames[id].toLowerCase(Locale.US);
        mTableIdLookup.put(tableName, id);
        mTableNames[id] = tableName;
    }
    mTableVersions = new long[tableNames.length];
    Arrays.fill(mTableVersions, 0);
}
 
Example 9
Project: sectioned-recyclerview   File: SectionedRecyclerViewAdapter.java   View source code 6 votes vote down vote up
/**
 * @hide
 * @deprecated
 */
@Override
@Deprecated
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public final int getItemViewType(int position) {
  if (isHeader(position)) {
    return getHeaderViewType(positionManager.sectionId(position));
  } else if (isFooter(position)) {
    return getFooterViewType(positionManager.footerId(position));
  } else {
    ItemCoord sectionAndPos = getRelativePosition(position);
    return getItemViewType(
        sectionAndPos.section(),
        // offset section view positions
        sectionAndPos.relativePos(),
        position - (sectionAndPos.section() + 1));
  }
}
 
Example 10
Project: GitHub   File: CoreRecyclerAdapter.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override
public final void onBindViewHolder(BaseViewHolder holder, int adapterPosition,
    List<Object> payloads) {
  ItemBinder baseBinder = binders.get(holder.getItemViewType());

  int totalCount = 0;
  for (BaseDataManager dataManager : dataManagers) {
    totalCount += dataManager.getCount();
    if (adapterPosition < totalCount) {
      int itemPosition = getItemPositionInManager(adapterPosition);
      if (dataManager instanceof DataGroupManager) {
        dataManager = ((DataGroupManager) dataManager).getDataManagerForPosition(itemPosition);
      }
      //noinspection unchecked
      holder.setItem(dataManager.getItem(itemPosition));
      break;
    }
  }

  if (null == payloads || payloads.size() == 0) {
    //noinspection unchecked
    baseBinder.bindViewHolder(holder, holder.getItem());
  } else {
    //noinspection unchecked
    baseBinder.bindViewHolder(holder, holder.getItem(), payloads);
  }
}
 
Example 11
Project: GitHub   File: CoreRecyclerAdapter.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override public final int getItemCount() {
  int itemCount = 0;
  for (BaseDataManager dataManager : dataManagers) {
    itemCount += dataManager.size();
  }
  return itemCount;
}
 
Example 12
Project: GitHub   File: CoreRecyclerAdapter.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override
public final int getItemViewType(int adapterPosition) {
  ItemBinder baseBinder = getBinderForPosition(adapterPosition);
  if (null != baseBinder) {
    return binders.indexOf(baseBinder);
  }
  return super.getItemViewType(adapterPosition);
}
 
Example 13
Project: JobSchedulerCompat   File: PersistableBundle.java   View source code 5 votes vote down vote up
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@RestrictTo(RestrictTo.Scope.LIBRARY)
public PersistableBundle(android.os.PersistableBundle bundle) {
    map = new HashMap<>(bundle.size());
    for (String key : bundle.keySet()) {
        Object value = bundle.get(key);
        if (value == null || value instanceof String || value instanceof Integer || value instanceof Long
                || value instanceof Double || value instanceof Boolean || value instanceof String[]
                || value instanceof int[] || value instanceof long[] || value instanceof double[]
                || value instanceof boolean[]) {
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP_MR1 && key.startsWith(PREFIX_BOOLEAN_COMPAT)) {
                key = key.substring(PREFIX_BOOLEAN_COMPAT.length());
                if (value instanceof Integer) {
                    Integer intValue = (Integer) value;
                    value = intValue != 0;
                } else if (value instanceof int[]) {
                    int[] intArrayValue = (int[]) value;
                    boolean[] boolArrayValue = new boolean[intArrayValue.length];
                    for (int i = 0; i < boolArrayValue.length; i++) {
                        boolArrayValue[i] = intArrayValue[i] != 0;
                    }
                    value = boolArrayValue;
                }
            }
            map.put(key, value);
        } else if (value instanceof android.os.PersistableBundle) {
            map.put(key, new PersistableBundle((android.os.PersistableBundle) value));
        } else {
            throw new IllegalArgumentException("Unsupported value type key=" + key + " value=" + value);
        }
    }
}
 
Example 14
Project: JobSchedulerCompat   File: PersistableBundle.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY)
@SuppressWarnings("unchecked")
public PersistableBundle(Map<String, ?> map, int depth) {
    if (depth <= 0) {
        this.map = new HashMap<>(0);
    } else {
        this.map = new HashMap<>(map);
        for (String key : this.map.keySet()) {
            Object object = this.map.get(key);
            if (object instanceof Map) {
                this.map.put(key, new PersistableBundle((Map<String, Object>) object, depth - 1));
            }
        }
    }
}
 
Example 15
Project: JobSchedulerCompat   File: PersistableBundle.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY)
public Map<String, ?> toMap(int depth) {
    if (depth <= 0) {
        return null;
    }
    Map<String, Object> map = new HashMap<>(this.map);
    for (String key : map.keySet()) {
        Object object = map.get(key);
        if (object instanceof PersistableBundle) {
            map.put(key, ((PersistableBundle) object).toMap(depth - 1));
        }
    }
    return map;
}
 
Example 16
Project: JobSchedulerCompat   File: JobParameters.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY)
public JobParameters(int jobId, PersistableBundle extras, Bundle transientExtras, boolean overrideDeadlineExpired,
                     Uri[] triggeredContentUris, String[] triggeredContentAuthorities) {
    this.jobId = jobId;
    this.extras = extras;
    this.transientExtras = transientExtras;
    this.overrideDeadlineExpired = overrideDeadlineExpired;
    this.triggeredContentUris = triggeredContentUris;
    this.triggeredContentAuthorities = triggeredContentAuthorities;
}
 
Example 17
Project: JobSchedulerCompat   File: JobScheduler.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY)
Scheduler getSchedulerForTag(Context context, String tag) {
    Scheduler scheduler = schedulers.get(tag);
    if (scheduler == null) {
        switch (tag) {
            case JobSchedulerSchedulerV26.TAG:
                scheduler = new JobSchedulerSchedulerV26(context);
                break;
            case JobSchedulerSchedulerV24.TAG:
                scheduler = new JobSchedulerSchedulerV24(context);
                break;
            case JobSchedulerSchedulerV21.TAG:
                scheduler = new JobSchedulerSchedulerV21(context);
                break;
            case GcmScheduler.TAG:
                scheduler = new GcmScheduler(context);
                break;
            case AlarmScheduler.TAG:
                scheduler = new AlarmScheduler(context);
                break;
            default:
                throw new IllegalArgumentException("Missing scheduler for tag " + tag);
        }
        schedulers.put(tag, scheduler);
    }
    return scheduler;
}
 
Example 18
Project: ToggleButtons   File: ToggleButton.java   View source code 5 votes vote down vote up
@RestrictTo(LIBRARY_GROUP)
@Override
public void setSupportButtonTintList(@Nullable ColorStateList tint) {
	if (mCompoundButtonHelper != null) {
		mCompoundButtonHelper.setSupportButtonTintList(tint);
	}
}
 
Example 19
Project: ToggleButtons   File: ToggleButton.java   View source code 5 votes vote down vote up
@RestrictTo(LIBRARY_GROUP)
@Nullable
@Override
public ColorStateList getSupportButtonTintList() {
	return mCompoundButtonHelper != null
			? mCompoundButtonHelper.getSupportButtonTintList()
			: null;
}
 
Example 20
Project: ToggleButtons   File: ToggleButton.java   View source code 5 votes vote down vote up
@RestrictTo(LIBRARY_GROUP)
@Override
public void setSupportButtonTintMode(@Nullable PorterDuff.Mode tintMode) {
	if (mCompoundButtonHelper != null) {
		mCompoundButtonHelper.setSupportButtonTintMode(tintMode);
	}
}
 
Example 21
Project: ToggleButtons   File: ToggleButton.java   View source code 5 votes vote down vote up
@RestrictTo(LIBRARY_GROUP)
@Nullable
@Override
public PorterDuff.Mode getSupportButtonTintMode() {
	return mCompoundButtonHelper != null
			? mCompoundButtonHelper.getSupportButtonTintMode()
			: null;
}
 
Example 22
Project: MultiViewAdapter   File: CoreRecyclerAdapter.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override
public final void onBindViewHolder(ItemViewHolder holder, int adapterPosition,
    List<Object> payloads) {
  ItemBinder baseBinder = binders.get(holder.getItemViewType());

  int totalCount = 0;
  for (BaseDataManager dataManager : dataManagers) {
    totalCount += dataManager.getCount();
    if (adapterPosition < totalCount) {
      int itemPosition = getItemPositionInManager(adapterPosition);
      if (dataManager instanceof DataGroupManager) {
        dataManager = ((DataGroupManager) dataManager).getDataManagerForPosition(itemPosition);
      }
      //noinspection unchecked
      holder.setItem(dataManager.getItem(itemPosition));
      break;
    }
  }

  if (null == payloads || payloads.size() == 0) {
    //noinspection unchecked
    baseBinder.bindViewHolder(holder, holder.getItem());
  } else {
    //noinspection unchecked
    baseBinder.bindViewHolder(holder, holder.getItem(), payloads);
  }
}
 
Example 23
Project: MultiViewAdapter   File: CoreRecyclerAdapter.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override public final int getItemCount() {
  int itemCount = 0;
  for (BaseDataManager dataManager : dataManagers) {
    itemCount += dataManager.size();
  }
  return itemCount;
}
 
Example 24
Project: MultiViewAdapter   File: CoreRecyclerAdapter.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override
public final int getItemViewType(int adapterPosition) {
  ItemBinder baseBinder = getBinderForPosition(adapterPosition);
  if (null != baseBinder) {
    return binders.indexOf(baseBinder);
  }
  return super.getItemViewType(adapterPosition);
}
 
Example 25
Project: RxNetwork   File: BaseInternetObservingStrategy.java   View source code 5 votes vote down vote up
/** Base observing implementation for all internet observing stategies. */
@Override
@RestrictTo(LIBRARY_GROUP)
public Observable<Boolean> observe() {
  return Observable.interval(delay, interval, TimeUnit.MILLISECONDS).map(toConnectionState())
      .distinctUntilChanged();
}
 
Example 26
Project: LicenseAdapter   File: BaseLibrary.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
protected static String read(@NonNull BufferedReader in) throws IOException {
  StringBuilder builder = new StringBuilder();
  String line;
  while ((line = in.readLine()) != null) {
    builder.append(line).append("\n");
  }
  return builder.toString();
}
 
Example 27
Project: RxAndroidBle   File: BleCannotSetCharacteristicNotificationException.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public BleCannotSetCharacteristicNotificationException(BluetoothGattCharacteristic bluetoothGattCharacteristic, @Reason int reason,
                                                       Throwable cause) {
    super(createMessage(bluetoothGattCharacteristic, reason), cause);
    this.bluetoothGattCharacteristic = bluetoothGattCharacteristic;
    this.reason = reason;
}
 
Example 28
Project: RxAndroidBle   File: BleIllegalOperationException.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public BleIllegalOperationException(String message,
                                    UUID characteristicUUID,
                                    @BluetoothGattCharacteristicProperty int supportedProperties,
                                    @BluetoothGattCharacteristicProperty int neededProperties) {
    super(message);
    this.characteristicUUID = characteristicUUID;
    this.supportedProperties = supportedProperties;
    this.neededProperties = neededProperties;
}
 
Example 29
Project: RxAndroidBle   File: DisconnectOperation.java   View source code 5 votes vote down vote up
@SuppressWarnings("WeakerAccess")
@RestrictTo(RestrictTo.Scope.SUBCLASSES)
void considerGattDisconnected(
        final Emitter<Void> emitter,
        final QueueReleaseInterface queueReleaseInterface
) {
    connectionStateChangeListener.onConnectionStateChange(DISCONNECTED);
    queueReleaseInterface.release();
    emitter.onCompleted();
}
 
Example 30
Project: lottie-android   File: LottieImageAsset.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY)
public LottieImageAsset(int width, int height, String id, String fileName, String dirName) {
  this.width = width;
  this.height = height;
  this.id = id;
  this.fileName = fileName;
  this.dirName = dirName;
}
 
Example 31
Project: lottie-android   File: KeyPath.java   View source code 5 votes vote down vote up
/**
 * Returns a new KeyPath with the key added.
 * This is used during keypath resolution. Children normally don't know about all of their parent
 * elements so this is used to keep track of the fully qualified keypath.
 * This returns a key keypath because during resolution, the full keypath element tree is walked
 * and if this modified the original copy, it would remain after popping back up the element tree.
 */
@CheckResult
@RestrictTo(RestrictTo.Scope.LIBRARY)
public KeyPath addKey(String key) {
  KeyPath newKeyPath = new KeyPath(this);
  newKeyPath.keys.add(key);
  return newKeyPath;
}
 
Example 32
Project: lottie-android   File: KeyPath.java   View source code 5 votes vote down vote up
/**
 * Return a new KeyPath with the element resolved to the specified {@link KeyPathElement}.
 */
@RestrictTo(RestrictTo.Scope.LIBRARY)
public KeyPath resolve(KeyPathElement element) {
  KeyPath keyPath = new KeyPath(this);
  keyPath.resolvedElement = element;
  return keyPath;
}
 
Example 33
Project: MaterialPreference   File: Preference.java   View source code 5 votes vote down vote up
/**
 * Called from {@link PreferenceGroup} to pass in an ID for reuse
 * @hide
 */
@RestrictTo(LIBRARY_GROUP)
protected void onAttachedToHierarchy(PreferenceManager preferenceManager, long id) {
    mId = id;
    mHasId = true;
    try {
        onAttachedToHierarchy(preferenceManager);
    } finally {
        mHasId = false;
    }
}
 
Example 34
Project: MaterialPreference   File: TwoStatePreference.java   View source code 5 votes vote down vote up
/**
 * @hide
 */
@RestrictTo(LIBRARY_GROUP)
protected void syncSummaryView(View view) {
    if (!(view instanceof TextView)) {
        return;
    }
    TextView summaryView = (TextView) view;
    boolean useDefaultSummary = true;
    if (mChecked && !TextUtils.isEmpty(mSummaryOn)) {
        summaryView.setText(mSummaryOn);
        useDefaultSummary = false;
    } else if (!mChecked && !TextUtils.isEmpty(mSummaryOff)) {
        summaryView.setText(mSummaryOff);
        useDefaultSummary = false;
    }
    if (useDefaultSummary) {
        final CharSequence summary = getSummary();
        if (!TextUtils.isEmpty(summary)) {
            summaryView.setText(summary);
            useDefaultSummary = false;
        }
    }
    int newVisibility = View.GONE;
    if (!useDefaultSummary) {
        // Someone has written to it
        newVisibility = View.VISIBLE;
    }
    if (newVisibility != summaryView.getVisibility()) {
        summaryView.setVisibility(newVisibility);
    }
}
 
Example 35
Project: MaterialPreference   File: DropDownPreference.java   View source code 5 votes vote down vote up
/**
 * @hide
 */
@RestrictTo(LIBRARY_GROUP)
public int findSpinnerIndexOfValue(String value) {
    CharSequence[] entryValues = getEntryValues();
    if (value != null && entryValues != null) {
        for (int i = entryValues.length - 1; i >= 0; i--) {
            if (entryValues[i].equals(value)) {
                return i;
            }
        }
    }
    return Spinner.INVALID_POSITION;
}
 
Example 36
Project: MaterialPreference   File: PreferenceManager.java   View source code 5 votes vote down vote up
/**
 * @hide
 */
@RestrictTo(LIBRARY_GROUP)
public PreferenceManager(Context context) {
    mContext = context;

    setSharedPreferencesName(getDefaultSharedPreferencesName(context));
}
 
Example 37
Project: Android-Orma   File: Selector.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY)
@SuppressWarnings("unchecked")
public S resetLimitClause() {
    limit = -1;
    offset = -1;
    page = -1;
    return (S) this;
}
 
Example 38
Project: Android-Orma   File: Selector.java   View source code 5 votes vote down vote up
@RestrictTo(RestrictTo.Scope.LIBRARY)
public long getOffset() {
    assert hasOffset();

    if (offset != -1) {
        return offset;
    } else {
        return ((page - 1) * limit);
    }
}
 
Example 39
Project: AndroidLife   File: DatabaseConfiguration.java   View source code 5 votes vote down vote up
/**
 * Creates a database configuration with the given values.
 *
 * @param context The application context.
 * @param name Name of the database, can be null if it is in memory.
 * @param sqliteOpenHelperFactory The open helper factory to use.
 * @param migrationContainer The migration container for migrations.
 * @param allowMainThreadQueries Whether to allow main thread reads/writes or not.
 * @hide
 */
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public DatabaseConfiguration(@NonNull Context context, @Nullable String name,
                             @NonNull SupportSQLiteOpenHelper.Factory sqliteOpenHelperFactory,
                             @NonNull RoomDatabase.MigrationContainer migrationContainer,
                             boolean allowMainThreadQueries) {
    this.sqliteOpenHelperFactory = sqliteOpenHelperFactory;
    this.context = context;
    this.name = name;
    this.migrationContainer = migrationContainer;
    this.allowMainThreadQueries = allowMainThreadQueries;
}
 
Example 40
Project: AndroidLife   File: RoomDatabase.java   View source code 5 votes vote down vote up
/**
 * Asserts that we are not on the main thread.
 *
 * @hide
 */
@SuppressLint("RestrictedApi")
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public void assertNotMainThread() {
    if (mAllowMainThreadQueries) {
        return;
    }
    if (AppToolkitTaskExecutor.getInstance().isMainThread()) {
        throw new IllegalStateException("Cannot access database on the main thread since"
            + " it may potentially lock the UI for a long periods of time.");
    }
}