virtual void OnComplete(void);
virtual void OnError(void);
- virtual void OnUsbConnected(void);
+ virtual void OnUsbStatusChanged(SUsbStorageStatus status);
virtual void OnUpdateContent(void);
};
class IMusicControllerListener {
public:
+ enum SUsbStorageStatus {
+ USB_STORAGE_CONNECTED,
+ USB_STORAGE_DISCONNECTED
+ };
+
+public:
static void s_CbComplete(void *cookie);
static void s_CbError(void *cookie);
- static void s_CbUsbConnected(void *cookie);
+ static void s_CbUsbStatusChagned(void *cookie, SUsbStorageStatus status);
static void s_CbUpdateContent(void *cookie);
virtual void OnComplete(void) = 0;
virtual void OnError(void) = 0;
- virtual void OnUsbConnected(void) = 0;
+ virtual void OnUsbStatusChanged(SUsbStorageStatus status) = 0;
virtual void OnUpdateContent(void) = 0;
};
ERepeatStatus RepeatState(void);
public:
- virtual void OnConnect(void);
+ virtual void OnStatusChanged(SUsbHostDeviceStatus status);
};
virtual void OnComplete(void);
virtual void OnError(void);
- virtual void OnUsbConnected(void);
+ virtual void OnUsbStatusChanged(SUsbStorageStatus status);
virtual void OnUpdateContent(void);
};
}
-void IMusicControllerListener::s_CbUsbConnected(void *cookie)
+void IMusicControllerListener::s_CbUsbStatusChagned(void *cookie, SUsbStorageStatus status)
{
IMusicControllerListener *root = (IMusicControllerListener *)cookie;
if (root)
- root->OnUsbConnected();
+ root->OnUsbStatusChanged(status);
}
}
-void CMusicController::OnConnect(void)
+void CMusicController::OnStatusChanged(SUsbHostDeviceStatus status)
{
if (!m)
return;
IMusicControllerListener *mcListener = NULL;;
void *obj;
- if (CInfo::SourceType() == SOURCE_TYPE_USB) {
- if (!FlagConnected())
- CInfo::SetSourceType(SOURCE_TYPE_ALL);
+ if (status == USB_HOST_DEV_CONNECTED) {
+ if (CInfo::SourceType() == SOURCE_TYPE_USB) {
+ if (!FlagConnected())
+ CInfo::SetSourceType(SOURCE_TYPE_ALL);
+ }
+
+ EINA_LIST_FOREACH(m->elListener, l, obj) {
+ mcListener = (IMusicControllerListener *)obj;
+ if (mcListener)
+ mcListener->s_CbUsbStatusChagned(mcListener,
+ IMusicControllerListener::USB_STORAGE_CONNECTED);
+ }
}
+ else {
+ if (CInfo::SourceType() == SOURCE_TYPE_USB) {
+ CInfo::SetSourceType(SOURCE_TYPE_ALL);
+ }
- EINA_LIST_FOREACH(m->elListener, l, obj) {
- mcListener = (IMusicControllerListener *)obj;
- if (mcListener)
- mcListener->s_CbUsbConnected(mcListener);
+ EINA_LIST_FOREACH(m->elListener, l, obj) {
+ mcListener = (IMusicControllerListener *)obj;
+ if (mcListener)
+ mcListener->s_CbUsbStatusChagned(mcListener,
+ IMusicControllerListener::USB_STORAGE_DISCONNECTED);
+ }
}
}
\ No newline at end of file
elm_transit_object_add(m->transit, icon);
elm_transit_effect_rotation_add(m->transit, 0, 360);
elm_transit_duration_set(m->transit, 1);
- elm_transit_repeat_times_set(m->transit, 5);
+ elm_transit_repeat_times_set(m->transit, MAX_SHOW_TIME);
elm_transit_objects_final_state_keep_set(m->transit, EINA_TRUE);
elm_transit_go(m->transit);
}
-void CMusicBaseView::OnUsbConnected(void)
+void CMusicBaseView::OnUsbStatusChanged(SUsbStorageStatus status)
{
- m->popup = m_CreateLoadingPopup();
+ switch (status) {
+ case USB_STORAGE_CONNECTED:
+ m_DestroyPopup();
+ m->popup = m_CreateLoadingPopup();
+ break;
+
+ case USB_STORAGE_DISCONNECTED:
+ m_DestroyPopup();
+ break;
+
+ default:
+ ASSERT(!"Invalid Status");
+ break;
+ }
}
}
-void CPlaybackView::OnUsbConnected(void)
+void CPlaybackView::OnUsbStatusChanged(SUsbStorageStatus status)
{
}