当前位置: 首页>>代码示例>>Java>>正文


Java IExtension类代码示例

本文整理汇总了Java中com.google.android.apps.dashclock.api.internal.IExtension的典型用法代码示例。如果您正苦于以下问题:Java IExtension类的具体用法?Java IExtension怎么用?Java IExtension使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


IExtension类属于com.google.android.apps.dashclock.api.internal包,在下文中一共展示了IExtension类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: _createUpdateOperation

import com.google.android.apps.dashclock.api.internal.IExtension; //导入依赖的package包/类
private static void _createUpdateOperation(final int reason) {
    UPDATE_OPERATIONS.put(reason, new ExtensionHost.Operation() {
        @Override
        public void run(IExtension extension) throws RemoteException {
            // Note that this is protected from ANRs since it runs in the AsyncHandler thread.
            // Also, since this is a 'oneway' call, when used with remote extensions, this call
            // does not block.
            extension.onUpdate(reason);
        }
    });
}
 
开发者ID:mridang,项目名称:dashbar,代码行数:12,代码来源:ExtensionHost.java

示例2: createConnection

import com.google.android.apps.dashclock.api.internal.IExtension; //导入依赖的package包/类
private Connection createConnection(final ComponentName cn, final boolean isReconnect) {
    final Connection conn = new Connection();
    conn.componentName = cn;
    conn.contentObserver = new ContentObserver(mClientThreadHandler) {
        @Override
        public void onChange(boolean selfChange) {
            execute(conn.componentName,
                    UPDATE_OPERATIONS.get(DashClockExtension.UPDATE_REASON_CONTENT_CHANGED));
        }
    };
    conn.hostInterface = makeHostInterface(conn);
    conn.serviceConnection = new ServiceConnection() {
        @Override
        public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
            conn.ready = true;
            conn.binder = IExtension.Stub.asInterface(iBinder);

            // Initialize the service
            execute(conn, new Operation() {
                @Override
                public void run(IExtension extension) throws RemoteException {
                    // Note that this is protected from ANRs since it runs in the
                    // AsyncHandler thread. Also, since this is a 'oneway' call,
                    // when used with remote extensions, this call does not block.
                    extension.onInitialize(conn.hostInterface, isReconnect);
                }
            });

            if (!isReconnect) {
                execute(conn.componentName,
                        UPDATE_OPERATIONS.get(DashClockExtension.UPDATE_REASON_INITIAL));
            }

            // Execute operations that were deferred until the service was available.
            // TODO: handle service disruptions that occur here
            Iterator<Operation> it = conn.deferredOps.iterator();
            while (it.hasNext()) {
                if (conn.ready) {
                    execute(conn, it.next());
                    it.remove();
                }
            }
        }

        @Override
        public void onServiceDisconnected(final ComponentName componentName) {
            conn.serviceConnection = null;
            conn.binder = null;
            conn.ready = false;
            mClientThreadHandler.post(new Runnable() {
                @Override
                public void run() {
                    mExtensionConnections.remove(componentName);
                }
            });
        }
    };

    try {
        if (!mContext.bindService(new Intent().setComponent(cn), conn.serviceConnection,
                Context.BIND_AUTO_CREATE)) {
            LOGE(TAG, "Error binding to extension " + cn.flattenToShortString());
            return null;
        }
    } catch (SecurityException e) {
        LOGE(TAG, "Error binding to extension " + cn.flattenToShortString(), e);
        return null;
    }

    return conn;
}
 
开发者ID:JesusM,项目名称:DashClock,代码行数:72,代码来源:ExtensionHost.java

示例3: run

import com.google.android.apps.dashclock.api.internal.IExtension; //导入依赖的package包/类
void run(IExtension extension) throws RemoteException; 
开发者ID:mridang,项目名称:dashbar,代码行数:2,代码来源:ExtensionHost.java


注:本文中的com.google.android.apps.dashclock.api.internal.IExtension类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。