package gueei.binding.markupDemoICS.viewModels;
import android.app.Activity;
import gueei.binding.Observable;
import gueei.binding.collections.ArrayListObservable;
import gueei.binding.observables.IntegerObservable;
public class ShowDemoViewModel {
public final Observable<CharSequence> DemoName = new Observable<CharSequence>(CharSequence.class);
public final IntegerObservable DemoLayout =
new IntegerObservable(0);
public final Observable<Object> DemoVm = new Observable<Object>(Object.class);
public final IntegerObservable DemoLayoutRaw =
new IntegerObservable(0);
public final ArrayListObservable<RawEntry> Raws =
new ArrayListObservable<RawEntry>(RawEntry.class);
public ShowDemoViewModel(Activity activity, DemoEntry entry){
DemoName.set(entry.Name.get());
DemoLayout.set(entry.LayoutId.get());
DemoVm.set(createVm(activity, entry.ModelClassName.get()));
Raws.setAll(entry.Raws);
}
private Object createVm(Activity activity, String demoClassName){
try {
return Class.forName(demoClassName).newInstance();
} catch (Exception e) {
try {
return Class.forName(demoClassName).getConstructor(Activity.class).newInstance(activity);
} catch (Exception e1) {
e1.printStackTrace();
}
}
return null;
}
}