blob: c0d3d567dfb4853dc92a486b87736e7a24eb48ef [file] [log] [blame]
/*
* Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.wallpaper.effects;
import android.net.Uri;
import android.os.Bundle;
/**
* Utility class to provide methods to generate effects for the wallpaper.
*/
public abstract class EffectsController {
public static final int RESULT_SUCCESS = 0;
public static final int RESULT_ERROR_TRY_ANOTHER_PHOTO = 1;
public static final int RESULT_ERROR_TRY_AGAIN_LATER = 2;
public static final int RESULT_ERROR_CONTINUE = 4;
public static final int RESULT_ERROR_DISCONNECT_NO_BUTTON = 8;
/**
* Interface of the Effect enum.
*/
public interface EffectEnumInterface {
}
public enum Effect implements EffectEnumInterface {
NONE,
}
protected boolean mBound = false;
/**
* Call to generate an effect.
*
* @param effect the effect type we want to generate.
* @param image the image that will have the effect applied.
*/
public void generateEffect(Effect effect, Uri image) {
}
/**
* Binds the Effects Service.
*/
public void bindEffectsService() {
}
/**
* Destroys the controller
*/
public void destroy() {
}
/**
* If the Effects Service is bound.
*
* @return if the Effects Service is bound.
*/
public boolean isBound() {
return mBound;
}
/**
* Interface to listen to different key moments of the connection with the Effects Service.
*/
public interface EffectsServiceListener {
/**
* Called when an effect has finished being processed.
*
* @param effect The effect that was generated.
* @param bundle The data that the Service might have sent to the picker.
* @param error The error code. if there's an error, value is greater than zero.
* @param errorMessage The error message.
*/
void onEffectFinished(EffectEnumInterface effect, Bundle bundle, int error,
String errorMessage);
}
}