mirror of https://github.com/axmolengine/axmol.git
Merge branch 'develop' into js_mac
This commit is contained in:
commit
5bb256e837
6
AUTHORS
6
AUTHORS
|
@ -486,6 +486,12 @@ Developers:
|
|||
musikov
|
||||
Fixing a bug that missing precision when getting strokeColor and fontFillColor
|
||||
|
||||
hawkwood (Justin Hawkwood)
|
||||
Fixing a bug that EditBox doesn't show any text if it's initialized with text.
|
||||
|
||||
wtyqm (zhang peng)
|
||||
Fixing a bug that ccbRootPath wasn't passed to sub ccb nodes.
|
||||
|
||||
Retired Core Developers:
|
||||
WenSheng Yang
|
||||
Author of windows port, CCTextField,
|
||||
|
|
|
@ -491,6 +491,40 @@ void Scheduler::scheduleUpdateForTarget(Object *pTarget, int nPriority, bool bPa
|
|||
}
|
||||
}
|
||||
|
||||
bool Scheduler::isScheduledForTarget(SEL_SCHEDULE pfnSelector, Object *pTarget)
|
||||
{
|
||||
CCAssert(pfnSelector, "Argument selector must be non-NULL");
|
||||
CCAssert(pTarget, "Argument target must be non-NULL");
|
||||
|
||||
tHashTimerEntry *pElement = NULL;
|
||||
HASH_FIND_INT(_hashForTimers, &pTarget, pElement);
|
||||
|
||||
if (!pElement)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (pElement->timers == NULL)
|
||||
{
|
||||
return false;
|
||||
}else
|
||||
{
|
||||
for (unsigned int i = 0; i < pElement->timers->num; ++i)
|
||||
{
|
||||
Timer *timer = (Timer*)pElement->timers->arr[i];
|
||||
|
||||
if (pfnSelector == timer->getSelector())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false; // should never get here
|
||||
}
|
||||
|
||||
void Scheduler::removeUpdateFromHash(struct _listEntry *entry)
|
||||
{
|
||||
tHashUpdateEntry *element = NULL;
|
||||
|
|
|
@ -160,6 +160,11 @@ public:
|
|||
*/
|
||||
void scheduleUpdateForTarget(Object *pTarget, int nPriority, bool bPaused);
|
||||
|
||||
/** Checks whether a selector for a given taget is scheduled.
|
||||
@since v3.0.0
|
||||
*/
|
||||
bool isScheduledForTarget(SEL_SCHEDULE pfnSelector, Object *pTarget);
|
||||
|
||||
/** Unschedule a selector for a given target.
|
||||
If you want to unschedule the "update", use unscheudleUpdateForTarget.
|
||||
@since v0.99.3
|
||||
|
|
|
@ -1039,6 +1039,11 @@ Scheduler* Node::getScheduler()
|
|||
return _scheduler;
|
||||
}
|
||||
|
||||
bool Node::isScheduled(SEL_SCHEDULE selector)
|
||||
{
|
||||
return _scheduler->isScheduledForTarget(selector, this);
|
||||
}
|
||||
|
||||
void Node::scheduleUpdate()
|
||||
{
|
||||
scheduleUpdateWithPriority(0);
|
||||
|
|
|
@ -45,6 +45,8 @@ NS_CC_BEGIN
|
|||
class CC_DLL Image : public Object
|
||||
{
|
||||
public:
|
||||
friend class TextureCache;
|
||||
|
||||
Image();
|
||||
~Image();
|
||||
|
||||
|
@ -79,15 +81,6 @@ public:
|
|||
*/
|
||||
bool initWithImageFile(const char * strPath, EImageFormat imageType = kFmtPng);
|
||||
|
||||
/*
|
||||
@brief The same result as with initWithImageFile, but thread safe. It is caused by
|
||||
loadImage() in TextureCache.cpp.
|
||||
@param fullpath full path of the file.
|
||||
@param imageType the type of image, currently only supporting two types.
|
||||
@return true if loaded correctly.
|
||||
*/
|
||||
bool initWithImageFileThreadSafe(const char *fullpath, EImageFormat imageType = kFmtPng);
|
||||
|
||||
/**
|
||||
@brief Load image from stream buffer.
|
||||
|
||||
|
@ -189,6 +182,15 @@ private:
|
|||
// noncopyable
|
||||
Image(const Image& rImg);
|
||||
Image & operator=(const Image&);
|
||||
|
||||
/*
|
||||
@brief The same result as with initWithImageFile, but thread safe. It is caused by
|
||||
loadImage() in TextureCache.cpp.
|
||||
@param fullpath full path of the file.
|
||||
@param imageType the type of image, currently only supporting two types.
|
||||
@return true if loaded correctly.
|
||||
*/
|
||||
bool initWithImageFileThreadSafe(const char *fullpath, EImageFormat imageType = kFmtPng);
|
||||
};
|
||||
|
||||
// end of platform group
|
||||
|
|
|
@ -92,13 +92,8 @@ bool FileUtilsAndroid::isFileExist(const std::string& strFilePath)
|
|||
{
|
||||
const char* s = strFilePath.c_str();
|
||||
|
||||
if (strFilePath.find(_defaultResRootPath) != 0)
|
||||
{
|
||||
// Didn't find "assets/" at the beginning of the path
|
||||
} else {
|
||||
// Found "assets/" at the beginning of the path and we don't want it
|
||||
s += strlen("assets/");
|
||||
}
|
||||
// Found "assets/" at the beginning of the path and we don't want it
|
||||
if (strFilePath.find(_defaultResRootPath) == 0) s += strlen("assets/");
|
||||
|
||||
if (s_assetmanager) {
|
||||
AAsset* aa = AAssetManager_open(s_assetmanager, s, AASSET_MODE_UNKNOWN);
|
||||
|
@ -160,12 +155,13 @@ unsigned char* FileUtilsAndroid::doGetFileData(const char* pszFileName, const ch
|
|||
|
||||
if (fullPath[0] != '/')
|
||||
{
|
||||
if (forAsync)
|
||||
{
|
||||
// Nothing to do when using the Android assetmanager APIs???
|
||||
}
|
||||
|
||||
string fullPath = fullPathForFilename(pszFileName);
|
||||
string fullPath(pszFileName);
|
||||
// fullPathForFilename is not thread safe.
|
||||
if (! forAsync)
|
||||
{
|
||||
fullPath = fullPathForFilename(pszFileName);
|
||||
}
|
||||
|
||||
const char* relativepath = fullPath.c_str();
|
||||
|
||||
|
|
|
@ -428,7 +428,7 @@ bool Image::initWithImageFile(const char * strPath, EImageFormat eImgFmt/* = eFm
|
|||
bool Image::initWithImageFileThreadSafe(const char *fullpath, EImageFormat imageType)
|
||||
{
|
||||
/*
|
||||
* FileUtils::fullPathFromRelativePath() is not thread-safe, it use autorelease().
|
||||
* FileUtils::fullPathFromRelativePath() is not thread-safe.
|
||||
*/
|
||||
bool bRet = false;
|
||||
unsigned long nSize = 0;
|
||||
|
|
|
@ -37,7 +37,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/kazmath/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libpng"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libjpeg"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
||||
|
@ -60,7 +59,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/kazmath/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libpng"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libjpeg"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
||||
|
@ -87,7 +85,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libfreetype.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libcurl.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libtiff.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libxml2.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libpng.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libjpeg.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libwebp.a"/>
|
||||
|
@ -170,7 +167,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/kazmath/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libpng"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libjpeg"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
||||
|
@ -192,7 +188,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/kazmath/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libpng"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libjpeg"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
||||
|
@ -218,7 +213,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libfreetype.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libcurl.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libtiff.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libxml2.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libpng.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libjpeg.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libwebp.a"/>
|
||||
|
@ -302,7 +296,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/kazmath/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libpng"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libjpeg"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
||||
|
@ -325,7 +318,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/kazmath/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libpng"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libjpeg"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
||||
|
@ -352,7 +344,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libfreetype.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libcurl.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libtiff.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libxml2.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libpng.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libjpeg.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libwebp.a"/>
|
||||
|
@ -435,7 +426,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/kazmath/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libpng"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libjpeg"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
||||
|
@ -458,7 +448,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/kazmath/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libpng"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libjpeg"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
||||
|
@ -485,7 +474,6 @@
|
|||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libfreetype.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libcurl.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libtiff.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libxml2.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libpng.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libjpeg.a"/>
|
||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libwebp.a"/>
|
||||
|
|
|
@ -456,14 +456,9 @@ public:
|
|||
|
||||
ZipFile::ZipFile(const std::string &zipFile, const std::string &filter)
|
||||
: _data(new ZipFilePrivate)
|
||||
, _dataThread(new ZipFilePrivate)
|
||||
{
|
||||
_data->zipFile = unzOpen(zipFile.c_str());
|
||||
_dataThread->zipFile = unzOpen(zipFile.c_str());
|
||||
if (_data->zipFile && _dataThread->zipFile)
|
||||
{
|
||||
setFilter(filter);
|
||||
}
|
||||
setFilter(filter);
|
||||
}
|
||||
|
||||
ZipFile::~ZipFile()
|
||||
|
@ -472,36 +467,32 @@ ZipFile::~ZipFile()
|
|||
{
|
||||
unzClose(_data->zipFile);
|
||||
}
|
||||
if (_dataThread && _dataThread->zipFile)
|
||||
{
|
||||
unzClose(_dataThread->zipFile);
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(_data);
|
||||
CC_SAFE_DELETE(_dataThread);
|
||||
}
|
||||
|
||||
bool ZipFile::setFilter(const std::string &filter, ZipFilePrivate *data)
|
||||
bool ZipFile::setFilter(const std::string &filter)
|
||||
{
|
||||
bool ret = false;
|
||||
do
|
||||
{
|
||||
CC_BREAK_IF(!data);
|
||||
CC_BREAK_IF(!data->zipFile);
|
||||
CC_BREAK_IF(!_data);
|
||||
CC_BREAK_IF(!_data->zipFile);
|
||||
|
||||
// clear existing file list
|
||||
data->fileList.clear();
|
||||
_data->fileList.clear();
|
||||
|
||||
// UNZ_MAXFILENAMEINZIP + 1 - it is done so in unzLocateFile
|
||||
char szCurrentFileName[UNZ_MAXFILENAMEINZIP + 1];
|
||||
unz_file_info64 fileInfo;
|
||||
|
||||
// go through all files and store position information about the required files
|
||||
int err = unzGoToFirstFile64(data->zipFile, &fileInfo,
|
||||
int err = unzGoToFirstFile64(_data->zipFile, &fileInfo,
|
||||
szCurrentFileName, sizeof(szCurrentFileName) - 1);
|
||||
while (err == UNZ_OK)
|
||||
{
|
||||
unz_file_pos posInfo;
|
||||
int posErr = unzGetFilePos(data->zipFile, &posInfo);
|
||||
int posErr = unzGetFilePos(_data->zipFile, &posInfo);
|
||||
if (posErr == UNZ_OK)
|
||||
{
|
||||
std::string currentFileName = szCurrentFileName;
|
||||
|
@ -512,11 +503,11 @@ bool ZipFile::setFilter(const std::string &filter, ZipFilePrivate *data)
|
|||
ZipEntryInfo entry;
|
||||
entry.pos = posInfo;
|
||||
entry.uncompressed_size = (uLong)fileInfo.uncompressed_size;
|
||||
data->fileList[currentFileName] = entry;
|
||||
_data->fileList[currentFileName] = entry;
|
||||
}
|
||||
}
|
||||
// next file - also get the information about it
|
||||
err = unzGoToNextFile64(data->zipFile, &fileInfo,
|
||||
err = unzGoToNextFile64(_data->zipFile, &fileInfo,
|
||||
szCurrentFileName, sizeof(szCurrentFileName) - 1);
|
||||
}
|
||||
ret = true;
|
||||
|
@ -526,11 +517,6 @@ bool ZipFile::setFilter(const std::string &filter, ZipFilePrivate *data)
|
|||
return ret;
|
||||
}
|
||||
|
||||
bool ZipFile::setFilter(const std::string &filter)
|
||||
{
|
||||
return (setFilter(filter, _data) && setFilter(filter, _dataThread));
|
||||
}
|
||||
|
||||
bool ZipFile::fileExists(const std::string &fileName) const
|
||||
{
|
||||
bool ret = false;
|
||||
|
@ -545,11 +531,6 @@ bool ZipFile::fileExists(const std::string &fileName) const
|
|||
}
|
||||
|
||||
unsigned char *ZipFile::getFileData(const std::string &fileName, unsigned long *pSize)
|
||||
{
|
||||
return getFileData(fileName, pSize, _data);
|
||||
}
|
||||
|
||||
unsigned char *ZipFile::getFileData(const std::string &fileName, unsigned long *pSize, ZipFilePrivate *data)
|
||||
{
|
||||
unsigned char * pBuffer = NULL;
|
||||
if (pSize)
|
||||
|
@ -559,29 +540,29 @@ unsigned char *ZipFile::getFileData(const std::string &fileName, unsigned long *
|
|||
|
||||
do
|
||||
{
|
||||
CC_BREAK_IF(!data->zipFile);
|
||||
CC_BREAK_IF(!_data->zipFile);
|
||||
CC_BREAK_IF(fileName.empty());
|
||||
|
||||
ZipFilePrivate::FileListContainer::const_iterator it = data->fileList.find(fileName);
|
||||
CC_BREAK_IF(it == data->fileList.end());
|
||||
ZipFilePrivate::FileListContainer::const_iterator it = _data->fileList.find(fileName);
|
||||
CC_BREAK_IF(it == _data->fileList.end());
|
||||
|
||||
ZipEntryInfo fileInfo = it->second;
|
||||
|
||||
int nRet = unzGoToFilePos(data->zipFile, &fileInfo.pos);
|
||||
int nRet = unzGoToFilePos(_data->zipFile, &fileInfo.pos);
|
||||
CC_BREAK_IF(UNZ_OK != nRet);
|
||||
|
||||
nRet = unzOpenCurrentFile(data->zipFile);
|
||||
nRet = unzOpenCurrentFile(_data->zipFile);
|
||||
CC_BREAK_IF(UNZ_OK != nRet);
|
||||
|
||||
pBuffer = new unsigned char[fileInfo.uncompressed_size];
|
||||
int CC_UNUSED nSize = unzReadCurrentFile(data->zipFile, pBuffer, fileInfo.uncompressed_size);
|
||||
int CC_UNUSED nSize = unzReadCurrentFile(_data->zipFile, pBuffer, fileInfo.uncompressed_size);
|
||||
CCAssert(nSize == 0 || nSize == (int)fileInfo.uncompressed_size, "the file size is wrong");
|
||||
|
||||
if (pSize)
|
||||
{
|
||||
*pSize = fileInfo.uncompressed_size;
|
||||
}
|
||||
unzCloseCurrentFile(data->zipFile);
|
||||
unzCloseCurrentFile(_data->zipFile);
|
||||
} while (0);
|
||||
|
||||
return pBuffer;
|
||||
|
|
|
@ -171,10 +171,6 @@ namespace cocos2d
|
|||
class ZipFile
|
||||
{
|
||||
public:
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
|
||||
friend class FileUtilsAndroid;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Constructor, open zip file and store file list.
|
||||
*
|
||||
|
@ -220,13 +216,8 @@ namespace cocos2d
|
|||
unsigned char *getFileData(const std::string &fileName, unsigned long *pSize);
|
||||
|
||||
private:
|
||||
bool setFilter(const std::string &filer, ZipFilePrivate *data);
|
||||
unsigned char *getFileData(const std::string &fileName, unsigned long *pSize, ZipFilePrivate *data);
|
||||
|
||||
/** Internal data like zip file pointer / file list array and so on */
|
||||
ZipFilePrivate *_data;
|
||||
/** Another data used not in main thread */
|
||||
ZipFilePrivate *_dataThread;
|
||||
};
|
||||
} // end of namespace cocos2d
|
||||
#endif // __SUPPORT_ZIPUTILS_H__
|
||||
|
|
|
@ -108,6 +108,9 @@ CCBReader::CCBReader(CCBReader * pCCBReader)
|
|||
this->mOwnerOutletNames = pCCBReader->mOwnerOutletNames;
|
||||
this->mOwnerOutletNodes = pCCBReader->mOwnerOutletNodes;
|
||||
this->mOwnerOutletNodes->retain();
|
||||
|
||||
this->mCCBRootPath = pCCBReader->getCCBRootPath();
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
|
|
|
@ -77,7 +77,8 @@ static const int CC_EDIT_BOX_PADDING = 5;
|
|||
textField_.backgroundColor = [UIColor clearColor];
|
||||
textField_.borderStyle = UITextBorderStyleNone;
|
||||
textField_.delegate = self;
|
||||
textField_.returnKeyType = UIReturnKeyDefault;
|
||||
textField_.hidden = true;
|
||||
textField_.returnKeyType = UIReturnKeyDefault;
|
||||
[textField_ addTarget:self action:@selector(textChanged) forControlEvents:UIControlEventEditingChanged];
|
||||
self.editBox = editBox;
|
||||
|
||||
|
|
|
@ -4,16 +4,16 @@
|
|||
android:versionName="3.2.0"
|
||||
android:installLocation="preferExternal">
|
||||
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
|
||||
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.SEND_SMS"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
|
||||
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
|
||||
<uses-permission android:name="android.permission.CALL_PHONE" />
|
||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission>
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
||||
|
||||
|
||||
|
||||
|
@ -22,22 +22,22 @@
|
|||
|
||||
|
||||
<activity android:name="com.nd.commplatform.activity.SNSControlCenterActivity"
|
||||
android:configChanges="orientation|keyboardHidden|navigation"
|
||||
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
|
||||
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
||||
android:windowSoftInputMode="adjustPan" android:windowBackground="@null"
|
||||
android:launchMode="singleTask"/>
|
||||
|
||||
<activity android:name="com.nd.commplatform.activity.SNSLoginActivity"
|
||||
android:configChanges="orientation|keyboardHidden|navigation"
|
||||
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
|
||||
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
||||
android:windowSoftInputMode="adjustPan" android:screenOrientation="landscape"
|
||||
android:windowBackground="@null"
|
||||
android:launchMode="singleTask"/>
|
||||
|
||||
<activity android:name="com.nd.commplatform.activity.SNSAppPromotionActivity"
|
||||
android:configChanges="orientation|keyboardHidden|navigation"
|
||||
<activity android:name=".SNSAppPromotionActivity"
|
||||
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
android:theme="@android:style/Theme.NoTitleBar"
|
||||
android:theme="@android:style/Theme.NoTitleBar"
|
||||
android:windowBackground="@null"/>
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
a19769aee91a80e7148db4238e0cb6df4cc5a250
|
|
@ -0,0 +1 @@
|
|||
dad94a0903f7d1b167e72bc36e0b9134d49e7b69
|
|
@ -115,7 +115,9 @@
|
|||
android:layout_weight="1"
|
||||
android:hint="@string/nd3_account_login_hint_account"
|
||||
android:singleLine="true"
|
||||
android:inputType="textEmailAddress">
|
||||
android:nextFocusDown="@+id/nd3_account_login_password"
|
||||
android:inputType="textEmailAddress"
|
||||
android:imeOptions="actionNext">
|
||||
</AutoCompleteTextView>
|
||||
|
||||
<ImageView
|
||||
|
@ -160,7 +162,8 @@
|
|||
android:layout_weight="1"
|
||||
android:hint="@string/nd3_account_login_hint_password"
|
||||
android:inputType="textPassword"
|
||||
android:singleLine="true" >
|
||||
android:singleLine="true"
|
||||
android:imeOptions="actionDone" >
|
||||
</EditText>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
|
|
@ -119,7 +119,9 @@
|
|||
android:layout_weight="1"
|
||||
android:hint="@string/nd3_account_login_hint_account"
|
||||
android:singleLine="true"
|
||||
android:inputType="textEmailAddress">
|
||||
android:nextFocusDown="@+id/nd3_account_login_password"
|
||||
android:inputType="textEmailAddress"
|
||||
android:imeOptions="actionNext">
|
||||
</AutoCompleteTextView>
|
||||
|
||||
<ImageView
|
||||
|
@ -164,7 +166,8 @@
|
|||
android:layout_weight="1"
|
||||
android:hint="@string/nd3_account_login_hint_password"
|
||||
android:inputType="textPassword"
|
||||
android:singleLine="true" >
|
||||
android:singleLine="true"
|
||||
android:imeOptions="actionDone">
|
||||
</EditText>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
|
|
@ -113,6 +113,7 @@
|
|||
android:maxLength="70"
|
||||
android:hint="@string/nd3_account_register_hint_account"
|
||||
style="@style/nd3_option_edittext_style"
|
||||
android:imeOptions="actionNext"
|
||||
>
|
||||
</AutoCompleteTextView>
|
||||
|
||||
|
@ -152,6 +153,7 @@
|
|||
android:maxLength="12"
|
||||
android:hint="@string/nd3_account_register_hint_password"
|
||||
style="@style/nd3_option_edittext_style"
|
||||
android:imeOptions="actionDone"
|
||||
>
|
||||
</EditText>
|
||||
|
||||
|
|
|
@ -109,6 +109,7 @@
|
|||
android:maxLength="70"
|
||||
android:hint="@string/nd3_account_register_hint_account"
|
||||
style="@style/nd3_option_edittext_style"
|
||||
android:imeOptions="actionNext"
|
||||
>
|
||||
</AutoCompleteTextView>
|
||||
|
||||
|
@ -188,6 +189,7 @@
|
|||
android:maxLength="12"
|
||||
android:hint="@string/nd3_account_register_hint_password"
|
||||
style="@style/nd3_option_edittext_style"
|
||||
android:imeOptions="actionDone"
|
||||
>
|
||||
</EditText>
|
||||
|
||||
|
|
|
@ -4,16 +4,16 @@
|
|||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<TextView
|
||||
android:id="@+id/nd3_empty_listview_txt"
|
||||
android:text="@string/nd3_list_item_loading"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/nd3_margin_size"/>
|
||||
android:id="@+id/nd3_empty_listview_txt"
|
||||
android:text="@string/nd3_list_item_loading"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/nd3_margin_size"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_horizontal_line"
|
||||
android:layout_below="@id/nd3_empty_listview_txt"/>
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_horizontal_line"
|
||||
android:layout_below="@id/nd3_empty_listview_txt"/>
|
||||
</RelativeLayout>
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
android:orientation="vertical"
|
||||
android:layout_margin="5dip" >
|
||||
<TextView
|
||||
android:id="@+id/nd_title"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="50dip"
|
||||
android:text="@string/nd_feedback_choose_problem_type"
|
||||
android:textSize="16dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:padding="5dip"
|
||||
android:gravity="center_vertical"/>
|
||||
<ImageView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_horizontal_line" />
|
||||
<TextView
|
||||
android:id="@+id/nd_problem"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:textSize="14dip"
|
||||
android:textColor="@color/nd_font_color"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<ListView
|
||||
android:id="@+id/nd_feedback_faq_list"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:headerDividersEnabled="false"
|
||||
android:footerDividersEnabled="false"
|
||||
android:divider="@drawable/nd3_horizontal_line"
|
||||
android:fastScrollEnabled="true"
|
||||
android:cacheColorHint="#00000000"
|
||||
android:fadingEdge="none"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
android:layout_margin="5dip"
|
||||
android:layout_alignParentTop="true"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/nd_tips"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_tips4"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
android:layout_margin="10dip"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,234 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
android:orientation="vertical"
|
||||
android:layout_margin="10dip" >
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="5dip">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_choose_problem_type"
|
||||
android:textSize="16dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center_vertical"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_star"
|
||||
android:textColor="@color/nd3_red"
|
||||
android:gravity="center_vertical"/>
|
||||
</LinearLayout>
|
||||
<ImageView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_horizontal_line" />
|
||||
<LinearLayout
|
||||
android:id="@+id/nd_fb_problem_type_layout"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="40dip"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingRight="5dip"
|
||||
android:paddingLeft="5dip">
|
||||
<TextView
|
||||
android:id="@+id/nd_fb_problem_type"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="16dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:src="@drawable/nd3_switch_image"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginLeft="10dip"
|
||||
android:layout_marginRight="10dip" >
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingLeft="5dip" >
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_problem"
|
||||
android:textSize="16dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center_vertical"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_star"
|
||||
android:textColor="@color/nd3_red"
|
||||
android:gravity="center_vertical"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<EditText
|
||||
android:id="@+id/nd_fb_problem"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd_goods_count_input_bg"
|
||||
android:hint="@string/nd_feedback_input_tip"
|
||||
android:gravity="top"
|
||||
android:minLines="3"
|
||||
android:maxLength="500"
|
||||
android:nextFocusDown="@+id/nd_my_phone"
|
||||
android:imeOptions="actionNext"
|
||||
/>
|
||||
<!-- <RelativeLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="5dip" >
|
||||
<EditText
|
||||
android:id="@+id/nd_fb_problem"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd_goods_count_input_bg"
|
||||
android:hint="@string/nd_feedback_input_tip"
|
||||
android:gravity="top"
|
||||
android:minLines="4"
|
||||
android:layout_alignParentTop="true"
|
||||
android:maxLength="500"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/nd_fb_problem_count"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dip"
|
||||
android:textColor="@color/nd3_font_color"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:text="@string/nd_feedback_input_count"
|
||||
android:layout_marginRight="5dip"/>
|
||||
</RelativeLayout> -->
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="5dip" >
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_phoneno"
|
||||
android:textSize="16dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center_vertical"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_star"
|
||||
android:textColor="@color/nd3_red"
|
||||
android:gravity="center_vertical"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
<EditText
|
||||
android:id="@+id/nd_my_phone"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd_goods_count_input_bg"
|
||||
android:gravity="top"
|
||||
android:inputType="phone"
|
||||
android:imeOptions="actionDone"/>
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<Button
|
||||
android:id="@+id/nd_feedback_submit"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd_blue"
|
||||
android:text="@string/nd3_submit"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="bold"
|
||||
android:textSize="@dimen/nd3_pay_tip_text_size"
|
||||
android:textColor="@color/nd3_white"
|
||||
android:layout_marginLeft="5dip"
|
||||
android:layout_marginRight="5dip"
|
||||
android:layout_marginTop="10dip"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
android:layout_margin="10dip"
|
||||
>
|
||||
<ImageView
|
||||
android:layout_width="40dip"
|
||||
android:layout_height="40dip"
|
||||
android:src="@drawable/nd3_icon_more01"
|
||||
android:layout_gravity="center_vertical"/>
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
>
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="50dip"
|
||||
android:layout_marginLeft="5dip"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/nd_feedback_service_phone"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:textSize="18dip" />
|
||||
<TextView
|
||||
android:id="@+id/nd_fb_service_phone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="50dip"
|
||||
android:layout_marginLeft="5dip"
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:textSize="18dip" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/nd_fb_service_time"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_service_time"
|
||||
android:textColor="@color/nd_font_color"
|
||||
android:layout_marginLeft="5dip"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dip"
|
||||
android:layout_weight="1"
|
||||
android:layout_margin="5dip" >
|
||||
|
||||
<ListView
|
||||
android:id="@+id/nd_feedback_menu_list"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:headerDividersEnabled="false"
|
||||
android:footerDividersEnabled="false"
|
||||
android:divider="@drawable/nd3_horizontal_line"
|
||||
android:fastScrollEnabled="true"
|
||||
android:cacheColorHint="#00000000"
|
||||
android:fadingEdge="none"
|
||||
android:scrollbarStyle="outsideOverlay"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_margin="5dip" >
|
||||
<TextView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_reply8"
|
||||
android:textColor="@color/nd_orange_light"
|
||||
android:textSize="16dip"/>
|
||||
<Button
|
||||
android:id="@+id/nd_feedback"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd_blue"
|
||||
android:text="@string/nd_feedback_i_fb"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="bold"
|
||||
android:textSize="@dimen/nd3_pay_tip_text_size"
|
||||
android:textColor="@color/nd3_white"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="40dip"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/nd_menu_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="40dip"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:textSize="18dip"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center_vertical"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:src="@drawable/nd3_switch_image"/>
|
||||
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="60dip"
|
||||
android:layout_margin="@dimen/nd3_margin_size"
|
||||
>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_weight="1"
|
||||
android:layout_margin="5dip">
|
||||
<TextView
|
||||
android:id="@+id/nd_title"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:textSize="16dip"
|
||||
android:textStyle="bold"
|
||||
android:singleLine="true"
|
||||
android:layout_weight="1" />
|
||||
<TextView
|
||||
android:id="@+id/nd_time"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/nd_font_color"
|
||||
android:textSize="12dip"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="5dip">
|
||||
<TextView
|
||||
android:id="@+id/nd_pj"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/nd_font_color"
|
||||
android:textSize="16dip"
|
||||
android:layout_gravity="center"/>
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/nd3_switch_image"
|
||||
android:layout_gravity="center"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
<LinearLayout
|
||||
android:layout_margin="@dimen/nd3_margin_size"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dip"
|
||||
android:layout_weight="1" >
|
||||
<ListView
|
||||
android:id="@+id/nd_feedback_list"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:headerDividersEnabled="false"
|
||||
android:footerDividersEnabled="false"
|
||||
android:divider="@drawable/nd3_horizontal_line"
|
||||
android:fastScrollEnabled="true"
|
||||
android:cacheColorHint="#00000000"
|
||||
android:fadingEdge="none"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/nd_tips"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_tips4"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
android:layout_margin="@dimen/nd3_margin_size"
|
||||
android:id="@+id/nd_feedback"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd_blue"
|
||||
android:text="@string/nd_feedback_i_fb"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="bold"
|
||||
android:textSize="@dimen/nd3_pay_tip_text_size"
|
||||
android:textColor="@color/nd3_white"
|
||||
/>
|
||||
</LinearLayout>
|
|
@ -0,0 +1,169 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
><!-- android:visibility="gone" -->
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_reply1"
|
||||
android:textSize="14dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_reply2"
|
||||
android:textSize="14dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center"/>
|
||||
</LinearLayout>
|
||||
<ImageView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_horizontal_line" />
|
||||
|
||||
<!-- <LinearLayout
|
||||
android:id="@+id/nd_fb_problem_type_layout"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:weightSum="3">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/nd_image1"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd_satisfied"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/nd_image2"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd_ordinary"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/nd_image3"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd_unsatisfied"
|
||||
android:layout_weight="1"/>
|
||||
</LinearLayout> -->
|
||||
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/nd_radiogroup"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="3"
|
||||
android:checkedButton="@+id/nd_radio_2">
|
||||
<LinearLayout
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center">
|
||||
<ImageView
|
||||
android:id="@+id/nd_image1"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd_satisfied"/>
|
||||
<RadioButton
|
||||
android:id="@+id/nd_radio_1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:button="@null"
|
||||
android:background="@null"
|
||||
android:gravity="top|center_horizontal"
|
||||
android:textSize="14dip"
|
||||
android:text="@string/nd_feedback_reply3"
|
||||
android:textColor="@color/nd3_black"/>
|
||||
<!-- android:drawableLeft="@drawable/nd3_regist_checked" -->
|
||||
|
||||
<!-- <TextView
|
||||
android:id="@+id/nd_text1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="5dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:text="@string/nd_feedback_reply3"/> -->
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center">
|
||||
<ImageView
|
||||
android:id="@+id/nd_image2"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd_ordinary"/>
|
||||
<RadioButton
|
||||
android:id="@+id/nd_radio_2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:button="@null"
|
||||
android:background="@null"
|
||||
android:gravity="top|center_horizontal"
|
||||
android:textSize="14dip"
|
||||
android:text="@string/nd_feedback_reply4"
|
||||
android:textColor="@color/nd3_black"/>
|
||||
<!-- android:drawableLeft="@drawable/nd3_regist_checked" -->
|
||||
|
||||
<!-- <TextView
|
||||
android:id="@+id/nd_text2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="5dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:text="@string/nd_feedback_reply4"/> -->
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center">
|
||||
<ImageView
|
||||
android:id="@+id/nd_image3"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd_unsatisfied"/>
|
||||
<RadioButton
|
||||
android:id="@+id/nd_radio_3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:button="@null"
|
||||
android:background="@null"
|
||||
android:gravity="top|center_horizontal"
|
||||
android:textSize="14dip"
|
||||
android:text="@string/nd_feedback_reply5"
|
||||
android:textColor="@color/nd3_black"/>
|
||||
<!-- android:drawableLeft="@drawable/nd3_regist_checked" -->
|
||||
|
||||
<!-- <TextView
|
||||
android:id="@+id/nd_text3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="5dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:text="@string/nd_feedback_reply5"/> -->
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</RadioGroup>
|
||||
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,152 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
><!-- android:visibility="gone" -->
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:padding="5dip"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_reply1"
|
||||
android:textSize="14dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nd_feedback_reply2"
|
||||
android:textSize="14dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center"/>
|
||||
</LinearLayout>
|
||||
<ImageView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_horizontal_line" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/nd_fb_problem_type_layout"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:weightSum="3">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/nd_image1"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd_satisfied"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/nd_image2"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd_ordinary"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/nd_image3"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd_unsatisfied"
|
||||
android:layout_weight="1"/>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/nd_radiogroup"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="3"
|
||||
android:checkedButton="@+id/nd_radio_2"
|
||||
android:layout_marginBottom="5dip">
|
||||
<LinearLayout
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center">
|
||||
<RadioButton
|
||||
android:id="@+id/nd_radio_1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:button="@null"
|
||||
android:background="@null"
|
||||
android:gravity="top|center_horizontal"
|
||||
android:textSize="14dip"
|
||||
android:text="@string/nd_feedback_reply3"
|
||||
android:textColor="@color/nd3_black"/>
|
||||
<!-- android:drawableLeft="@drawable/nd3_regist_checked" -->
|
||||
<!-- <TextView
|
||||
android:id="@+id/nd_text1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="5dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:text="@string/nd_feedback_reply3"/> -->
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center">
|
||||
<RadioButton
|
||||
android:id="@+id/nd_radio_2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:button="@null"
|
||||
android:background="@null"
|
||||
android:gravity="top|center_horizontal"
|
||||
android:textSize="14dip"
|
||||
android:text="@string/nd_feedback_reply4"
|
||||
android:checked="true"
|
||||
android:textColor="@color/nd3_black"/>
|
||||
<!-- android:drawableLeft="@drawable/nd3_regist_checked" -->
|
||||
<!-- <TextView
|
||||
android:id="@+id/nd_text2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="5dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:text="@string/nd_feedback_reply4"/> -->
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center">
|
||||
<RadioButton
|
||||
android:id="@+id/nd_radio_3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:button="@null"
|
||||
android:background="@null"
|
||||
android:gravity="top|center_horizontal"
|
||||
android:text="@string/nd_feedback_reply5"
|
||||
android:textSize="14dip"
|
||||
android:textColor="@color/nd3_black"/>
|
||||
<!-- android:drawableLeft="@drawable/nd3_regist_checked" -->
|
||||
<!-- <TextView
|
||||
android:id="@+id/nd_text3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="5dip"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:text="@string/nd_feedback_reply5"/> -->
|
||||
</LinearLayout>
|
||||
|
||||
</RadioGroup>
|
||||
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/nd_pjlayout"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="5dip"
|
||||
android:layout_marginLeft="5dip"
|
||||
android:layout_marginRight="5dip"
|
||||
android:visibility="gone"
|
||||
android:clickable="false"
|
||||
><!-- android:visibility="gone" -->
|
||||
|
||||
<!-- <include layout="@layout/nd_feedback_pj_landscape"/> -->
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/nd_reply_layout"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_bk1"
|
||||
android:layout_margin="5dip"
|
||||
android:orientation="vertical"
|
||||
><!-- android:visibility="gone" -->>
|
||||
|
||||
<ListView
|
||||
android:id="@+id/nd_feedback_reply_list"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dip"
|
||||
android:headerDividersEnabled="false"
|
||||
android:footerDividersEnabled="false"
|
||||
android:fastScrollEnabled="true"
|
||||
android:cacheColorHint="#00000000"
|
||||
android:fadingEdge="none"
|
||||
android:layout_weight="1"
|
||||
android:stackFromBottom="true"
|
||||
android:transcriptMode="alwaysScroll"
|
||||
android:divider="@null"
|
||||
/>
|
||||
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/nd_feedback"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="5dip"
|
||||
android:layout_marginTop="10dip"
|
||||
>
|
||||
<EditText
|
||||
android:id="@+id/nd_input"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd_goods_count_input_bg"
|
||||
android:gravity="top"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginRight="20dip"
|
||||
android:layout_marginTop="3dip"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/nd_submit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_title_bar_action_btn_xml"
|
||||
android:paddingLeft="10dip"
|
||||
android:paddingRight="10dip"
|
||||
android:layout_marginRight="5dip"
|
||||
android:text="@string/nd3_submit"
|
||||
android:textColor="@color/nd3_white"
|
||||
android:textSize="18dip"
|
||||
android:textStyle="bold"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center">
|
||||
<ImageView
|
||||
android:layout_width="60dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="10dip"
|
||||
android:background="@drawable/nd3_horizontal_line" />
|
||||
<TextView
|
||||
android:id="@+id/nd_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center"/>
|
||||
<ImageView
|
||||
android:layout_width="60dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dip"
|
||||
android:background="@drawable/nd3_horizontal_line" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="bottom">
|
||||
<ImageView
|
||||
android:id="@+id/nd_head"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd3_default_portrait_big"
|
||||
android:layout_marginLeft="5dip"/>
|
||||
<TextView
|
||||
android:id="@+id/nd_msge"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_msge_owen"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:layout_marginRight="20dip"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center">
|
||||
<ImageView
|
||||
android:layout_width="60dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="10dip"
|
||||
android:background="@drawable/nd3_horizontal_line" />
|
||||
<TextView
|
||||
android:id="@+id/nd_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:gravity="center"/>
|
||||
<ImageView
|
||||
android:layout_width="60dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dip"
|
||||
android:background="@drawable/nd3_horizontal_line" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="bottom">
|
||||
<TextView
|
||||
android:id="@+id/nd_msge"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/nd3_msge_friend"
|
||||
android:textColor="@color/nd3_black"
|
||||
android:layout_marginLeft="20dip"
|
||||
android:layout_weight="1"
|
||||
/>
|
||||
<ImageView
|
||||
android:id="@+id/nd_head"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:src="@drawable/nd_service"
|
||||
android:layout_marginRight="5dip"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/llToast"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#ffffffff"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTitleToast"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="1dip"
|
||||
android:background="#bb000000"
|
||||
android:gravity="center"
|
||||
android:textColor="#ffffffff" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/llToastContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="1dip"
|
||||
android:layout_marginLeft="1dip"
|
||||
android:layout_marginRight="1dip"
|
||||
android:background="#44000000"
|
||||
android:orientation="vertical"
|
||||
android:padding="15dip" >
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/tvImageToast"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTextToast"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:paddingLeft="10dip"
|
||||
android:paddingRight="10dip"
|
||||
android:textColor="#ff000000" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,161 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
android:background="@color/nd_gcsdk_translucent"
|
||||
>
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
<!-- 头部 -->
|
||||
<LinearLayout
|
||||
android:layout_width="310dip"
|
||||
android:layout_height="48dip"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:background="@drawable/nd_gcsdk_box_tit_bg"
|
||||
>
|
||||
<!-- 标题 -->
|
||||
<TextView
|
||||
android:id="@+id/txt_title"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingLeft="14dip"
|
||||
android:paddingRight="14dip"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:text="@string/nd_gcsdk_pausepage_title"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/nd_gcsdk_android_white"
|
||||
android:gravity="center_vertical"
|
||||
/>
|
||||
<View
|
||||
android:layout_width="1dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="3dip"
|
||||
android:layout_marginBottom="3dip"
|
||||
android:background="@drawable/nd_gcsdk_box_title_line"
|
||||
/>
|
||||
<ImageButton
|
||||
android:id="@+id/imgbtn_close"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:padding="3dip"
|
||||
android:src="@drawable/nd_gcsdk_box_close"
|
||||
android:background="@color/nd_gcsdk_transparent"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<!-- 广告 -->
|
||||
<RelativeLayout
|
||||
android:id="@+id/rlt_ad"
|
||||
android:layout_width="310dip"
|
||||
android:layout_height="150dip"
|
||||
>
|
||||
<!-- 图片 -->
|
||||
<ImageView
|
||||
android:id="@+id/img_ad"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:scaleType="fitXY"
|
||||
android:padding="2dip"
|
||||
android:src="@drawable/nd_gcsdk_image_default"
|
||||
android:background="@color/nd_gcsdk_box_bg"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/txt_summary"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:padding="3dip"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/nd_gcsdk_android_white"
|
||||
android:gravity="center"
|
||||
android:background="@color/nd_gcsdk_translucent"
|
||||
/>
|
||||
</RelativeLayout>
|
||||
<!-- 靓点推荐 -->
|
||||
<TableLayout
|
||||
android:id="@+id/table_project"
|
||||
android:layout_width="310dip"
|
||||
android:layout_height="150dip"
|
||||
android:background="@color/nd_gcsdk_box_bg"
|
||||
>
|
||||
<TableRow
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dip"
|
||||
android:layout_weight="1"
|
||||
>
|
||||
<!-- 1号位 -->
|
||||
<com.nd.commplatform.gc.widget.NdProjectView
|
||||
android:id="@+id/pv_1"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:padding="2dip"
|
||||
/>
|
||||
<!-- 2号位 -->
|
||||
<com.nd.commplatform.gc.widget.NdProjectView
|
||||
android:id="@+id/pv_2"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:padding="2dip"
|
||||
/>
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dip"
|
||||
android:layout_weight="1"
|
||||
>
|
||||
<!-- 3号位 -->
|
||||
<com.nd.commplatform.gc.widget.NdProjectView
|
||||
android:id="@+id/pv_3"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:padding="2dip"
|
||||
/>
|
||||
<!-- 4号位 -->
|
||||
<com.nd.commplatform.gc.widget.NdProjectView
|
||||
android:id="@+id/pv_4"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:padding="2dip"
|
||||
/>
|
||||
</TableRow>
|
||||
</TableLayout>
|
||||
<!-- 底部 -->
|
||||
<LinearLayout
|
||||
android:layout_width="310dip"
|
||||
android:layout_height="61dip"
|
||||
android:background="@drawable/nd_gcsdk_box_bg"
|
||||
android:gravity="center"
|
||||
>
|
||||
<Button
|
||||
android:id="@+id/btn_exit"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_marginLeft="14dip"
|
||||
android:layout_marginRight="14dip"
|
||||
android:layout_marginTop="12dip"
|
||||
android:layout_marginBottom="12dip"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:textSize="22sp"
|
||||
android:textColor="@color/nd_gcsdk_android_white"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/nd_gcsdk_box_btn_bg"
|
||||
/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
android:background="@color/nd_gcsdk_translucent"
|
||||
>
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
<!-- 头部 -->
|
||||
<LinearLayout
|
||||
android:layout_width="310dip"
|
||||
android:layout_height="48dip"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:background="@drawable/nd_gcsdk_box_tit_bg"
|
||||
>
|
||||
<!-- 标题 -->
|
||||
<TextView
|
||||
android:id="@+id/txt_title"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingLeft="14dip"
|
||||
android:paddingRight="14dip"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:text="@string/nd_gcsdk_pausepage_title"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/nd_gcsdk_android_white"
|
||||
android:drawableLeft="@drawable/nd_gcsdk_box_logo"
|
||||
android:drawablePadding="5dip"
|
||||
android:gravity="center_vertical"
|
||||
/>
|
||||
<View
|
||||
android:layout_width="1dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="3dip"
|
||||
android:layout_marginBottom="3dip"
|
||||
android:background="@drawable/nd_gcsdk_box_title_line"
|
||||
/>
|
||||
<ImageButton
|
||||
android:id="@+id/imgbtn_close"
|
||||
android:layout_width="48dip"
|
||||
android:layout_height="48dip"
|
||||
android:padding="3dip"
|
||||
android:src="@drawable/nd_gcsdk_box_close"
|
||||
android:background="@color/nd_gcsdk_transparent"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<!-- 图片 -->
|
||||
<ImageView
|
||||
android:id="@+id/img_ad"
|
||||
android:layout_width="310dip"
|
||||
android:layout_height="150dip"
|
||||
android:scaleType="fitXY"
|
||||
android:padding="2dip"
|
||||
android:background="@color/nd_gcsdk_box_bg"
|
||||
/>
|
||||
<!-- 底部 -->
|
||||
<TextView
|
||||
android:id="@+id/txt_summary"
|
||||
android:layout_width="310dip"
|
||||
android:layout_height="45dip"
|
||||
android:paddingLeft="14sp"
|
||||
android:paddingRight="14sp"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:textSize="15sp"
|
||||
android:textColor="@color/nd_gcsdk_android_white"
|
||||
android:gravity="center_vertical"
|
||||
android:background="@drawable/nd_gcsdk_box_bg"
|
||||
/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -0,0 +1,29 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- 靓点推荐——图片类型 -->
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:orientation="vertical" >
|
||||
<!-- 大号图片 -->
|
||||
<ImageView
|
||||
android:id="@+id/img_logo"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:scaleType="fitXY"
|
||||
/>
|
||||
<!-- 主标题 -->
|
||||
<TextView
|
||||
android:id="@+id/txt_main_title"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@id/img_logo"
|
||||
android:padding="2dip"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:textSize="13sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/nd_gcsdk_android_white"
|
||||
android:gravity="center"
|
||||
android:background="@color/nd_gcsdk_translucent"
|
||||
/>
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- 靓点推荐——专题类型 -->
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:padding="8dip"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
<!-- 主标题 -->
|
||||
<TextView
|
||||
android:id="@+id/txt_main_title"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingRight="20dip"
|
||||
android:maxLines="2"
|
||||
style="@style/nd_gcsdk_project_main_title"
|
||||
/>
|
||||
<!-- 副标题 -->
|
||||
<TextView
|
||||
android:id="@+id/txt_sub_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:maxLength="8"
|
||||
style="@style/nd_gcsdk_project_sub_title"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<!-- 标签 -->
|
||||
<TextView
|
||||
android:id="@+id/txt_label"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_margin="8dip"
|
||||
style="@style/nd_gcsdk_project_label"
|
||||
/>
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- 靓点推荐——游戏类型 -->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:padding="8dip"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dip"
|
||||
android:layout_weight="1"
|
||||
>
|
||||
<!-- 游戏Logo -->
|
||||
<ImageView
|
||||
android:id="@+id/img_logo"
|
||||
android:layout_width="35dip"
|
||||
android:layout_height="35dip"
|
||||
android:scaleType="fitXY"
|
||||
/>
|
||||
<!-- 游戏名称 -->
|
||||
<TextView
|
||||
android:id="@+id/txt_main_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="5dip"
|
||||
android:paddingRight="8dip"
|
||||
android:maxLines="2"
|
||||
style="@style/nd_gcsdk_project_main_title"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingRight="3dip"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
<!-- 副标题 -->
|
||||
<TextView
|
||||
android:id="@+id/txt_sub_title"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:singleLine="true"
|
||||
android:maxLength="8"
|
||||
style="@style/nd_gcsdk_project_sub_title"
|
||||
/>
|
||||
<!-- 标签 -->
|
||||
<TextView
|
||||
android:id="@+id/txt_label"
|
||||
style="@style/nd_gcsdk_project_label"
|
||||
/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -39,8 +39,8 @@
|
|||
android:id="@+id/nd_app_desc"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#f43f00"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="2"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
<color name="nd3_records_time_bg_color_2">#FFd8d8df</color>
|
||||
|
||||
<color name="nd3_orchid_color">#FF9dc4ed</color>
|
||||
<color name="nd_orange_light">#ffffbb33</color>
|
||||
|
||||
<!-- color -->
|
||||
|
||||
|
|
|
@ -779,10 +779,10 @@
|
|||
|
||||
|
||||
|
||||
<string name="nd_softpromotion_title">推广墙</string>
|
||||
<string name="nd_softpromotion_title">精品游戏推荐</string>
|
||||
<string name="nd_softpromotion_download">立即下载</string>
|
||||
<string name="nd_softpromotion_none">暂时没有待推广的应用</string>
|
||||
<string name="nd_softpromotion_fail">获取推广墙数据失败</string>
|
||||
<string name="nd_softpromotion_fail">获取精品游戏推荐数据失败</string>
|
||||
<string name="nd_softpromotion_download_url_start">正在请求下载地址……</string>
|
||||
<string name="nd_softpromotion_download_url_fail">获取下载地址失败</string>
|
||||
<string name="nd_softpromotion_download_fail">%1$s 下载失败</string>
|
||||
|
@ -790,4 +790,40 @@
|
|||
<string name="nd_softpromotion_download_start">开始下载 %1$s</string>
|
||||
<string name="nd_softpromotion_download_finish">%1$s 下载完成</string>
|
||||
|
||||
|
||||
|
||||
<string name="nd_feedback_title">意见反馈</string>
|
||||
<string name="nd_feedback_reply">客服答复</string>
|
||||
<string name="nd_feedback_reply_0">新回复</string>
|
||||
<string name="nd_feedback_i_fb">我要反馈</string>
|
||||
<string name="nd_feedback_choose_problem_type">请选择问题类型</string>
|
||||
<string name="nd_star">*</string>
|
||||
<string name="nd_feedback_problem">您遇到的问题</string>
|
||||
<string name="nd_feedback_input_tip">输入要求最少10字</string>
|
||||
<string name="nd_feedback_input_count">500</string>
|
||||
<string name="nd_feedback_phoneno">您的联系电话</string>
|
||||
<string name="nd_feedback_service_phone">客服电话:</string>
|
||||
<string name="nd_feedback_service_time">服务时间:%1$s</string>
|
||||
<string name="nd_feedback_reply1">您对我的服务是否满意?</string>
|
||||
<string name="nd_feedback_reply2">麻烦亲抽一点时间帮我打一下分哦</string>
|
||||
<string name="nd_feedback_reply3">满意</string>
|
||||
<string name="nd_feedback_reply4">问题未解决</string>
|
||||
<string name="nd_feedback_reply5">态度不满意</string>
|
||||
<string name="nd_feedback_reply6">客服答复</string>
|
||||
<string name="nd_feedback_reply7">请输入您的反馈信息</string>
|
||||
<string name="nd_feedback_reply8">亲,上面常见问题,可能有您的答案哦</string>
|
||||
<string name="nd_feedback_phoneno1">请输入您的联系电话</string>
|
||||
<string name="nd_feedback_faq">常见问题</string>
|
||||
<string name="nd_feedback_my_fb">我的反馈</string>
|
||||
<string name="nd_feedback_status0">处理中</string>
|
||||
<string name="nd_feedback_status1">未评价</string>
|
||||
<string name="nd_feedback_status2">已评价</string>
|
||||
<string name="nd_feedback_tips0">谢谢亲的肯定!我一定再接再厉为您提供更优质的服务</string>
|
||||
<string name="nd_feedback_tips1">您可以继续说明问题</string>
|
||||
<string name="nd_feedback_tips2">谢谢亲的反馈!我一定尽力改正,期待下次给我好评噢~</string>
|
||||
<string name="nd_feedback_tips3">谢谢您的回复,我们将在3个工作日之内给你回复,请注意查询回复结果。</string>
|
||||
<string name="nd_feedback_tips4">暂时没有信息</string>
|
||||
<string name="nd_feedback_tips5">联系电话格式不正确</string>
|
||||
<string name="nd_feedback_tips6">您有新的回复</string>
|
||||
<string name="nd_detail">详情</string>
|
||||
</resources>
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="nd_gcsdk_android_white">#FFFFFF</color>
|
||||
<!-- 半透明 -->
|
||||
<color name="nd_gcsdk_translucent">#90000000</color>
|
||||
<!-- 全透明 -->
|
||||
<color name="nd_gcsdk_transparent">#00000000</color>
|
||||
|
||||
<!-- 背景颜色 -->
|
||||
<color name="nd_gcsdk_box_bg">#0C64AB</color>
|
||||
</resources>
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="nd_gcsdk_dialog">
|
||||
<item name="android:windowFrame">@null</item>
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:windowIsFloating">true</item>
|
||||
<item name="android:windowIsTranslucent">true</item>
|
||||
<item name="android:backgroundDimEnabled">true</item>
|
||||
<item name="android:windowBackground">@color/nd_gcsdk_transparent</item>
|
||||
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
<resources>
|
||||
<string name="nd_gcsdk_pausepage_title">继续游戏?</string>
|
||||
<string name="nd_gcsdk_pausepage_default_text">点击进入游戏专区</string>
|
||||
|
||||
<string name="nd_gcsdk_exitpage_recently_play">最近在玩的其他91游戏</string>
|
||||
<string name="nd_gcsdk_exitpage_exit_title">退出%1$s?</string>
|
||||
<string name="nd_gcsdk_exitpage_project_title">接着玩其他精品游戏吗?</string>
|
||||
<string name="nd_gcsdk_exitpage_project_btn">不玩啦,退出</string>
|
||||
<string name="nd_gcsdk_exitpage_exit_btn">退出</string>
|
||||
|
||||
<string name="nd_gcsdk_version_update_tips">新版本正在下载,请到桌面的消息通知栏查看下载进度。</string>
|
||||
|
||||
<string name="nd_gcsdk_enter_sdk_gamecenter_download">请先安装游戏中心</string>
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<!-- 靓点推荐-主标题 -->
|
||||
<style name="nd_gcsdk_project_main_title">
|
||||
<item name="android:textColor">#ffffffff</item>
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="android:textSize">17sp</item>
|
||||
</style>
|
||||
|
||||
<!-- 靓点推荐-副标题 -->
|
||||
<style name="nd_gcsdk_project_sub_title">
|
||||
<item name="android:textColor">#7fffffff</item>
|
||||
<item name="android:textSize">13sp</item>
|
||||
</style>
|
||||
|
||||
<!-- 靓点推荐-标签 -->
|
||||
<style name="nd_gcsdk_project_label">
|
||||
<item name="android:layout_width">50dip</item>
|
||||
<item name="android:layout_height">21dip</item>
|
||||
<item name="android:textColor">#ff8b8b8b</item>
|
||||
<item name="android:textSize">13sp</item>
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:background">@drawable/nd_gcsdk_label_bg</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
|
@ -1 +1 @@
|
|||
5c8912fd6b26ff821f7f36d90c210af9c3041f87
|
||||
921633367143def1d9627cc893bf0a5513b00bb8
|
|
@ -29,13 +29,10 @@ import java.util.UUID;
|
|||
import com.nd.commplatform.NdCommplatform;
|
||||
import com.nd.commplatform.NdErrorCode;
|
||||
import com.nd.commplatform.NdMiscCallbackListener;
|
||||
import com.nd.commplatform.entry.NdAppInfo;
|
||||
import com.nd.commplatform.entry.NdBuyInfo;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.util.Log;
|
||||
|
||||
public class IAPNd91 implements InterfaceIAP {
|
||||
|
@ -70,27 +67,12 @@ public class IAPNd91 implements InterfaceIAP {
|
|||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
String appId = curCPInfo.get("Nd91AppId");
|
||||
String appKey = curCPInfo.get("Nd91AppKey");
|
||||
int id = Integer.parseInt(appId);
|
||||
String appId = curCPInfo.get("Nd91AppId");
|
||||
String appKey = curCPInfo.get("Nd91AppKey");
|
||||
int id = Integer.parseInt(appId);
|
||||
|
||||
NdAppInfo appInfo = new NdAppInfo();
|
||||
appInfo.setCtx(mContext);
|
||||
|
||||
appInfo.setAppId(id);
|
||||
appInfo.setAppKey(appKey);
|
||||
|
||||
NdCommplatform.getInstance().initial(0, appInfo);
|
||||
|
||||
String orientation = curCPInfo.get("Nd91Orientation");
|
||||
if (null != orientation) {
|
||||
if (orientation.equals("landscape")) {
|
||||
NdCommplatform.getInstance().ndSetScreenOrientation(NdCommplatform.SCREEN_ORIENTATION_LANDSCAPE);
|
||||
} else
|
||||
if (orientation.equals("auto")) {
|
||||
NdCommplatform.getInstance().ndSetScreenOrientation(NdCommplatform.SCREEN_ORIENTATION_AUTO);
|
||||
}
|
||||
}
|
||||
String orientation = curCPInfo.get("Nd91Orientation");
|
||||
Nd91Wrapper.initSDK(mContext, id, appKey, orientation);
|
||||
} catch (Exception e) {
|
||||
LogE("Developer info is wrong!", e);
|
||||
}
|
||||
|
@ -101,7 +83,7 @@ public class IAPNd91 implements InterfaceIAP {
|
|||
@Override
|
||||
public void payForProduct(Hashtable<String, String> info) {
|
||||
LogD("payForProduct invoked " + info.toString());
|
||||
if (! networkReachable()) {
|
||||
if (! Nd91Wrapper.networkReachable(mContext)) {
|
||||
payResult(IAPWrapper.PAYRESULT_FAIL, "网络不可用");
|
||||
return;
|
||||
}
|
||||
|
@ -115,7 +97,7 @@ public class IAPNd91 implements InterfaceIAP {
|
|||
PluginWrapper.runOnMainThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (! isLogin()) {
|
||||
if (! Nd91Wrapper.isLogined()) {
|
||||
userLogin();
|
||||
} else {
|
||||
addPayment(curProductInfo);
|
||||
|
@ -131,20 +113,7 @@ public class IAPNd91 implements InterfaceIAP {
|
|||
|
||||
@Override
|
||||
public String getSDKVersion() {
|
||||
return "Unknown version";
|
||||
}
|
||||
|
||||
private boolean networkReachable() {
|
||||
boolean bRet = false;
|
||||
try {
|
||||
ConnectivityManager conn = (ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
NetworkInfo netInfo = conn.getActiveNetworkInfo();
|
||||
bRet = (null == netInfo) ? false : netInfo.isAvailable();
|
||||
} catch (Exception e) {
|
||||
LogE("Fail to check network status", e);
|
||||
}
|
||||
LogD("NetWork reachable : " + bRet);
|
||||
return bRet;
|
||||
return Nd91Wrapper.getSDKVersion();
|
||||
}
|
||||
|
||||
private static void payResult(int ret, String msg) {
|
||||
|
@ -159,16 +128,10 @@ public class IAPNd91 implements InterfaceIAP {
|
|||
return text;
|
||||
}
|
||||
|
||||
private static boolean isLogin() {
|
||||
boolean bRet = NdCommplatform.getInstance().isLogined();
|
||||
LogD("isLogin : " + bRet);
|
||||
return bRet;
|
||||
}
|
||||
|
||||
private static void userLogin() {
|
||||
LogD("User begin login");
|
||||
try {
|
||||
NdCommplatform.getInstance().ndLogin(mContext, new NdMiscCallbackListener.OnLoginProcessListener() {
|
||||
Nd91Wrapper.userLogin(mContext, new NdMiscCallbackListener.OnLoginProcessListener() {
|
||||
@Override
|
||||
public void finishLoginProcess(int code) {
|
||||
if (code == NdErrorCode.ND_COM_PLATFORM_SUCCESS) {
|
||||
|
@ -251,6 +214,6 @@ public class IAPNd91 implements InterfaceIAP {
|
|||
|
||||
@Override
|
||||
public String getPluginVersion() {
|
||||
return "0.2.0";
|
||||
return Nd91Wrapper.getPluginVersion();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
/****************************************************************************
|
||||
Copyright (c) 2012-2013 cocos2d-x.org
|
||||
|
||||
http://www.cocos2d-x.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
package org.cocos2dx.plugin;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
|
||||
import com.nd.commplatform.NdCommplatform;
|
||||
import com.nd.commplatform.NdMiscCallbackListener.OnLoginProcessListener;
|
||||
import com.nd.commplatform.entry.NdAppInfo;
|
||||
|
||||
public class Nd91Wrapper {
|
||||
|
||||
private static boolean isInited = false;
|
||||
|
||||
public static void initSDK(Context ctx, int appId, String appKey, String orientation) {
|
||||
if (isInited) {
|
||||
return;
|
||||
}
|
||||
|
||||
NdAppInfo appInfo = new NdAppInfo();
|
||||
appInfo.setCtx(ctx);
|
||||
|
||||
appInfo.setAppId(appId);
|
||||
appInfo.setAppKey(appKey);
|
||||
|
||||
NdCommplatform.getInstance().initial(0, appInfo);
|
||||
|
||||
if (null != orientation) {
|
||||
if (orientation.equals("landscape")) {
|
||||
NdCommplatform.getInstance().ndSetScreenOrientation(NdCommplatform.SCREEN_ORIENTATION_LANDSCAPE);
|
||||
} else
|
||||
if (orientation.equals("auto")) {
|
||||
NdCommplatform.getInstance().ndSetScreenOrientation(NdCommplatform.SCREEN_ORIENTATION_AUTO);
|
||||
}
|
||||
}
|
||||
|
||||
isInited = true;
|
||||
}
|
||||
|
||||
public static boolean isLogined() {
|
||||
boolean bRet = NdCommplatform.getInstance().isLogined();
|
||||
return bRet;
|
||||
}
|
||||
|
||||
public static void userLogin(Context ctx, OnLoginProcessListener listener) {
|
||||
NdCommplatform.getInstance().ndLogin(ctx, listener);
|
||||
}
|
||||
|
||||
public static String getSDKVersion() {
|
||||
return "20130607_3.2.5.1";
|
||||
}
|
||||
|
||||
public static String getPluginVersion() {
|
||||
return "0.2.0";
|
||||
}
|
||||
|
||||
public static boolean networkReachable(Context ctx) {
|
||||
boolean bRet = false;
|
||||
try {
|
||||
ConnectivityManager conn = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
NetworkInfo netInfo = conn.getActiveNetworkInfo();
|
||||
bRet = (null == netInfo) ? false : netInfo.isAvailable();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return bRet;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,165 @@
|
|||
/****************************************************************************
|
||||
Copyright (c) 2012-2013 cocos2d-x.org
|
||||
|
||||
http://www.cocos2d-x.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
package org.cocos2dx.plugin;
|
||||
|
||||
import java.util.Hashtable;
|
||||
import com.nd.commplatform.NdCommplatform;
|
||||
import com.nd.commplatform.NdErrorCode;
|
||||
import com.nd.commplatform.NdMiscCallbackListener;
|
||||
import com.nd.commplatform.NdMiscCallbackListener.OnSwitchAccountListener;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
public class UserNd91 implements InterfaceUser {
|
||||
|
||||
private static final String LOG_TAG = "UserNd91";
|
||||
private static Activity mContext = null;
|
||||
private static UserNd91 mNd91 = null;
|
||||
private static boolean bDebug = false;
|
||||
|
||||
protected static void LogE(String msg, Exception e) {
|
||||
Log.e(LOG_TAG, msg, e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
protected static void LogD(String msg) {
|
||||
if (bDebug) {
|
||||
Log.d(LOG_TAG, msg);
|
||||
}
|
||||
}
|
||||
|
||||
public UserNd91(Context context) {
|
||||
mContext = (Activity) context;
|
||||
mNd91 = this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configDeveloperInfo(Hashtable<String, String> cpInfo) {
|
||||
LogD("initDeveloperInfo invoked " + cpInfo.toString());
|
||||
final Hashtable<String, String> curCPInfo = cpInfo;
|
||||
PluginWrapper.runOnMainThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
String appId = curCPInfo.get("Nd91AppId");
|
||||
String appKey = curCPInfo.get("Nd91AppKey");
|
||||
int id = Integer.parseInt(appId);
|
||||
|
||||
String orientation = curCPInfo.get("Nd91Orientation");
|
||||
Nd91Wrapper.initSDK(mContext, id, appKey, orientation);
|
||||
|
||||
NdCommplatform.getInstance().setOnSwitchAccountListener(new OnSwitchAccountListener() {
|
||||
@Override
|
||||
public void onSwitchAccount(int arg0) {
|
||||
switch (arg0) {
|
||||
case NdErrorCode.ND_COM_PLATFORM_ERROR_USER_RESTART:
|
||||
break;
|
||||
case NdErrorCode.ND_COM_PLATFORM_ERROR_USER_SWITCH_ACCOUNT:
|
||||
break;
|
||||
case NdErrorCode.ND_COM_PLATFORM_SUCCESS:
|
||||
UserWrapper.onActionResult(mNd91, UserWrapper.ACTION_RET_LOGIN_SUCCEED, "User login succeed");
|
||||
break;
|
||||
case NdErrorCode.ND_COM_PLATFORM_ERROR_CANCEL:
|
||||
break;
|
||||
default:
|
||||
UserWrapper.onActionResult(mNd91, UserWrapper.ACTION_RET_LOGOUT_SUCCEED, "User logout");
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (Exception e) {
|
||||
LogE("Developer info is wrong!", e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDebugMode(boolean debug) {
|
||||
bDebug = debug;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSDKVersion() {
|
||||
return Nd91Wrapper.getSDKVersion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPluginVersion() {
|
||||
return Nd91Wrapper.getPluginVersion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void login() {
|
||||
if (isLogined()) {
|
||||
UserWrapper.onActionResult(mNd91, UserWrapper.ACTION_RET_LOGIN_SUCCEED, "Already logined!");
|
||||
return;
|
||||
}
|
||||
|
||||
PluginWrapper.runOnMainThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Nd91Wrapper.userLogin(mContext, new NdMiscCallbackListener.OnLoginProcessListener() {
|
||||
@Override
|
||||
public void finishLoginProcess(int code) {
|
||||
if (code == NdErrorCode.ND_COM_PLATFORM_SUCCESS) {
|
||||
UserWrapper.onActionResult(mNd91, UserWrapper.ACTION_RET_LOGIN_SUCCEED, "User login succeed");
|
||||
} else if (code == NdErrorCode.ND_COM_PLATFORM_ERROR_CANCEL) {
|
||||
UserWrapper.onActionResult(mNd91, UserWrapper.ACTION_RET_LOGIN_FAILED, "User canceled");
|
||||
} else {
|
||||
UserWrapper.onActionResult(mNd91, UserWrapper.ACTION_RET_LOGIN_FAILED, "User login failed");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void logout() {
|
||||
PluginWrapper.runOnMainThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
NdCommplatform.getInstance().ndLogout(NdCommplatform.LOGOUT_TO_NON_RESET_AUTO_LOGIN_CONFIG, mContext);
|
||||
UserWrapper.onActionResult(mNd91, UserWrapper.ACTION_RET_LOGOUT_SUCCEED, "User logout");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLogined() {
|
||||
return Nd91Wrapper.isLogined();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSessionID() {
|
||||
String strRet = "";
|
||||
if (isLogined()) {
|
||||
strRet = NdCommplatform.getInstance().getSessionId();
|
||||
}
|
||||
return strRet;
|
||||
}
|
||||
}
|
|
@ -5,6 +5,7 @@ USING_NS_CC;
|
|||
|
||||
const std::string s_aTestCases[] = {
|
||||
"QH360",
|
||||
"ND91",
|
||||
};
|
||||
|
||||
Scene* HelloWorld::scene()
|
||||
|
|
|
@ -33,6 +33,7 @@ MyUserManager* MyUserManager::s_pManager = NULL;
|
|||
MyUserManager::MyUserManager()
|
||||
: _retListener(NULL)
|
||||
, _qh360(NULL)
|
||||
, _nd91(NULL)
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -81,6 +82,25 @@ void MyUserManager::loadPlugin()
|
|||
_qh360->setActionListener(_retListener);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
_nd91 = dynamic_cast<ProtocolUser*>(PluginManager::getInstance()->loadPlugin("UserNd91"));
|
||||
if (NULL != _nd91)
|
||||
{
|
||||
TUserDeveloperInfo pNdInfo;
|
||||
pNdInfo["Nd91AppId"] = "100010";
|
||||
pNdInfo["Nd91AppKey"] = "C28454605B9312157C2F76F27A9BCA2349434E546A6E9C75";
|
||||
pNdInfo["Nd91Orientation"] = "landscape";
|
||||
if (pNdInfo.empty()) {
|
||||
char msg[256] = { 0 };
|
||||
sprintf(msg, "Developer info is empty. PLZ fill your Nd91 info in %s(nearby line %d)", __FILE__, __LINE__);
|
||||
MessageBox(msg, "Nd91 Warning");
|
||||
}
|
||||
_nd91->configDeveloperInfo(pNdInfo);
|
||||
_nd91->setDebugMode(true);
|
||||
_nd91->setActionListener(_retListener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MyUserManager::unloadPlugin()
|
||||
|
@ -90,6 +110,12 @@ void MyUserManager::unloadPlugin()
|
|||
PluginManager::getInstance()->unloadPlugin("UserQH360");
|
||||
_qh360 = NULL;
|
||||
}
|
||||
|
||||
if (_nd91)
|
||||
{
|
||||
PluginManager::getInstance()->unloadPlugin("UserNd91");
|
||||
_nd91 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void MyUserManager::loginByMode(MyUserMode mode)
|
||||
|
@ -100,6 +126,9 @@ void MyUserManager::loginByMode(MyUserMode mode)
|
|||
case kQH360:
|
||||
pUser = _qh360;
|
||||
break;
|
||||
case kND91:
|
||||
pUser = _nd91;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -117,6 +146,9 @@ void MyUserManager::logoutByMode(MyUserMode mode)
|
|||
case kQH360:
|
||||
pUser = _qh360;
|
||||
break;
|
||||
case kND91:
|
||||
pUser = _nd91;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -146,4 +178,7 @@ void MyUserActionResult::onActionResult(ProtocolUser* pPlugin, UserActionResultC
|
|||
// get session ID
|
||||
std::string sessionID = pPlugin->getSessionID();
|
||||
CCLog("User Session ID of plugin %s is : %s", pPlugin->getPluginName(), sessionID.c_str());
|
||||
|
||||
std::string strStatus = pPlugin->isLogined() ? "online" : "offline";
|
||||
CCLog("User status of plugin %s is : %s", pPlugin->getPluginName(), strStatus.c_str());
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ public:
|
|||
typedef enum {
|
||||
kNoneMode = 0,
|
||||
kQH360,
|
||||
kND91,
|
||||
} MyUserMode;
|
||||
|
||||
void unloadPlugin();
|
||||
|
@ -55,6 +56,7 @@ private:
|
|||
static MyUserManager* s_pManager;
|
||||
|
||||
cocos2d::plugin::ProtocolUser* _qh360;
|
||||
cocos2d::plugin::ProtocolUser* _nd91;
|
||||
MyUserActionResult* _retListener;
|
||||
};
|
||||
|
||||
|
|
|
@ -7,5 +7,7 @@
|
|||
<classpathentry exported="true" kind="lib" path="plugin-x/protocols/android/libPluginProtocol.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="plugin-x/plugins/qh360/android/360SDK.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="plugin-x/plugins/qh360/android/libPluginQH360.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="plugin-x/plugins/nd91/android/libPluginNd91.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="plugin-x/plugins/nd91/android/NdComPlatform.jar"/>
|
||||
<classpathentry kind="output" path="bin/classes"/>
|
||||
</classpath>
|
||||
|
|
|
@ -11,3 +11,4 @@
|
|||
target=android-17
|
||||
|
||||
android.library.reference.1=../../../../cocos2dx/platform/android/java
|
||||
android.library.reference.2=../../../publish/plugins/nd91/android/DependProject
|
||||
|
|
|
@ -1 +1 @@
|
|||
253f988944cc6a6bcf53f404c88bed043d4b9610
|
||||
cc6d51ba9715ed20f35723c4a40d03a4f5d95d0f
|
|
@ -28,7 +28,6 @@ class CCImage : public CCObject
|
|||
|
||||
|
||||
bool initWithImageFile(const char * strPath, EImageFormat imageType = kFmtPng);
|
||||
bool initWithImageFileThreadSafe(const char *fullpath, EImageFormat imageType = kFmtPng);
|
||||
bool initWithImageData(void * pData,
|
||||
int nDataLen,
|
||||
EImageFormat eFmt = kFmtUnKnown,
|
||||
|
|
Loading…
Reference in New Issue