/* abstract */
}
- public void dispalyBrightness(boolean on) {
- if (on == true) {
- displayOn();
- } else {
- displayOff();
- }
+ public void updateProgressBar(final int progress) {
+ getShell().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ if (bootingProgress != null) {
+ bootingProgress.setSelection(progress);
+
+ if (progress == 100 | progress == 0) {
+ /* this means progressbar will be disposed */
+ if (bootingProgress != null) {
+ bootingProgress = null;
+ }
+ }
+ }
+ }
+ });
+ }
+
+ public void updateBrightness(final boolean on) {
+ getShell().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ if (on == true) {
+ displayOn();
+ } else {
+ displayOff();
+ }
+ }
+ });
}
protected void displayOn() {
/**
+ * Custom Progress Bar
*
- *
- * Copyright (C) 2011 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (C) 2011 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
*
* Contact:
* GiWoong Kim <giwoong.kim@samsung.com>
import java.util.logging.Logger;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Color;
private Composite parent;
private int selection;
+ private Color colorProgress;
+ /**
+ * Constructor
+ */
public CustomProgressBar(final Composite parent, int style) {
super(parent, style);
this.parent = parent;
this.selection = 0;
+ this.colorProgress = new Color(parent.getDisplay(), PROGRESS_COLOR);
+
+ addProgressBarListener();
- this.addPaintListener(new PaintListener() {
+ /* default is hidden */
+ parent.getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ setVisible(false);
+ }
+ });
+ }
+
+ protected void addProgressBarListener() {
+ addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
- e.gc.setBackground(
- new Color(parent.getDisplay(), PROGRESS_COLOR));
+ e.gc.setBackground(colorProgress);
Rectangle bounds = getBounds();
int width = (bounds.width * selection) / 100;
}
});
- /* default is hidden */
- parent.getDisplay().asyncExec(new Runnable() {
+ addDisposeListener(new DisposeListener() {
@Override
- public void run() {
- setVisible(false);
+ public void widgetDisposed(DisposeEvent e) {
+ logger.info("progress bar is disposed");
+
+ colorProgress.dispose();
}
});
}
public void setSelection(int value) {
- parent.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- setVisible(true);
- }
- });
+ if (isDisposed() == true) {
+ return;
+ }
+
+ if (isVisible() == false) {
+ parent.getDisplay().syncExec(new Runnable() {
+ @Override
+ public void run() {
+ setVisible(true);
+ }
+ });
+ }
if (value < 0) {
value = 0;
enum {
/* This values must match the Java definitions
- in Skin process */
+ in Skin process */
RECV_START = 1,
RECV_MOUSE_EVENT = 10,
static int start_heart_beat(void);
static void stop_heart_beat(void);
+
int start_skin_server(int argc, char** argv,
int qemu_argc, char** qemu_argv)
{
NULL, QEMU_THREAD_JOINABLE);
return 1;
-
}
void shutdown_skin_server(void)
}
if (success_send) {
-
int count = 0;
int max_sleep_count = 10;
ERR("fail to send SEND_RAMDUMP_COMPLETE to skin.\n");
}
+ } else {
+ INFO("skin client socket is not connected yet\n");
}
}
void notify_booting_progress(int progress_value)
{
#define PROGRESS_DATA_LENGTH 4
-
char progress_data[PROGRESS_DATA_LENGTH] = { 0, };
- int len = 1;
TRACE("notify_booting_progress\n");
- /* percentage */
- if (progress_value < 0) {
- progress_value = 0;
- len = 1;
- } else if (progress_value < 10) {
- len = 1;
- } else if (progress_value < 100) {
- len = 2;
- } else {
- progress_value = 100;
- len = 3;
- }
-
- snprintf(progress_data, len + 1, "%d", progress_value);
+ snprintf(progress_data,
+ PROGRESS_DATA_LENGTH, "%03d", progress_value);
TRACE("booting...%s\%\n", progress_data);
if (client_sock) {
if (0 > send_skin_data(client_sock,
- SEND_BOOTING_PROGRESS, (unsigned char *)progress_data, len + 1, 0)) {
+ SEND_BOOTING_PROGRESS,
+ (unsigned char *)progress_data, PROGRESS_DATA_LENGTH, 0)) {
ERR("fail to send SEND_BOOTING_PROGRESS to skin.\n");
}
#else
usleep(1000);
#endif
+ } else {
+ INFO("skin client socket is not connected yet\n");
}
}
void notify_brightness(bool on)
{
- char brightness_data[2] = { 0, };
+#define BRIGHTNESS_DATA_LENGTH 2
+ char brightness_data[BRIGHTNESS_DATA_LENGTH] = { 0, };
int brightness_value = 1;
if (on == FALSE) {
brightness_value = 0;
}
- snprintf(brightness_data, 2, "%d", brightness_value);
+ snprintf(brightness_data,
+ BRIGHTNESS_DATA_LENGTH, "%d", brightness_value);
TRACE("brightness value = %s\n", brightness_data);
if (client_sock) {
if (0 > send_skin_data(client_sock,
- SEND_BRIGHTNESS_VALUE, (unsigned char *)brightness_data, 2, 0)) {
+ SEND_BRIGHTNESS_VALUE,
+ (unsigned char *)brightness_data, BRIGHTNESS_DATA_LENGTH, 0)) {
ERR("fail to send SEND_BRIGHTNESS_VALUE to skin.\n");
}
+ } else {
+ INFO("skin client socket is not connected yet\n");
}
}