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
|
@ -485,6 +485,12 @@ Developers:
|
||||||
|
|
||||||
musikov
|
musikov
|
||||||
Fixing a bug that missing precision when getting strokeColor and fontFillColor
|
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:
|
Retired Core Developers:
|
||||||
WenSheng Yang
|
WenSheng Yang
|
||||||
|
|
|
@ -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)
|
void Scheduler::removeUpdateFromHash(struct _listEntry *entry)
|
||||||
{
|
{
|
||||||
tHashUpdateEntry *element = NULL;
|
tHashUpdateEntry *element = NULL;
|
||||||
|
|
|
@ -159,6 +159,11 @@ public:
|
||||||
@since v0.99.3
|
@since v0.99.3
|
||||||
*/
|
*/
|
||||||
void scheduleUpdateForTarget(Object *pTarget, int nPriority, bool bPaused);
|
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.
|
/** Unschedule a selector for a given target.
|
||||||
If you want to unschedule the "update", use unscheudleUpdateForTarget.
|
If you want to unschedule the "update", use unscheudleUpdateForTarget.
|
||||||
|
|
|
@ -1039,6 +1039,11 @@ Scheduler* Node::getScheduler()
|
||||||
return _scheduler;
|
return _scheduler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Node::isScheduled(SEL_SCHEDULE selector)
|
||||||
|
{
|
||||||
|
return _scheduler->isScheduledForTarget(selector, this);
|
||||||
|
}
|
||||||
|
|
||||||
void Node::scheduleUpdate()
|
void Node::scheduleUpdate()
|
||||||
{
|
{
|
||||||
scheduleUpdateWithPriority(0);
|
scheduleUpdateWithPriority(0);
|
||||||
|
|
|
@ -45,6 +45,8 @@ NS_CC_BEGIN
|
||||||
class CC_DLL Image : public Object
|
class CC_DLL Image : public Object
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
friend class TextureCache;
|
||||||
|
|
||||||
Image();
|
Image();
|
||||||
~Image();
|
~Image();
|
||||||
|
|
||||||
|
@ -79,15 +81,6 @@ public:
|
||||||
*/
|
*/
|
||||||
bool initWithImageFile(const char * strPath, EImageFormat imageType = kFmtPng);
|
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.
|
@brief Load image from stream buffer.
|
||||||
|
|
||||||
|
@ -189,6 +182,15 @@ private:
|
||||||
// noncopyable
|
// noncopyable
|
||||||
Image(const Image& rImg);
|
Image(const Image& rImg);
|
||||||
Image & operator=(const Image&);
|
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
|
// end of platform group
|
||||||
|
|
|
@ -92,13 +92,8 @@ bool FileUtilsAndroid::isFileExist(const std::string& strFilePath)
|
||||||
{
|
{
|
||||||
const char* s = strFilePath.c_str();
|
const char* s = strFilePath.c_str();
|
||||||
|
|
||||||
if (strFilePath.find(_defaultResRootPath) != 0)
|
// Found "assets/" at the beginning of the path and we don't want it
|
||||||
{
|
if (strFilePath.find(_defaultResRootPath) == 0) s += strlen("assets/");
|
||||||
// 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/");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (s_assetmanager) {
|
if (s_assetmanager) {
|
||||||
AAsset* aa = AAssetManager_open(s_assetmanager, s, AASSET_MODE_UNKNOWN);
|
AAsset* aa = AAssetManager_open(s_assetmanager, s, AASSET_MODE_UNKNOWN);
|
||||||
|
@ -160,13 +155,14 @@ unsigned char* FileUtilsAndroid::doGetFileData(const char* pszFileName, const ch
|
||||||
|
|
||||||
if (fullPath[0] != '/')
|
if (fullPath[0] != '/')
|
||||||
{
|
{
|
||||||
if (forAsync)
|
|
||||||
|
string fullPath(pszFileName);
|
||||||
|
// fullPathForFilename is not thread safe.
|
||||||
|
if (! forAsync)
|
||||||
{
|
{
|
||||||
// Nothing to do when using the Android assetmanager APIs???
|
fullPath = fullPathForFilename(pszFileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
string fullPath = fullPathForFilename(pszFileName);
|
|
||||||
|
|
||||||
const char* relativepath = fullPath.c_str();
|
const char* relativepath = fullPath.c_str();
|
||||||
|
|
||||||
// "assets/" is at the beginning of the path and we don't want it
|
// "assets/" is at the beginning of the path and we don't want it
|
||||||
|
|
|
@ -428,7 +428,7 @@ bool Image::initWithImageFile(const char * strPath, EImageFormat eImgFmt/* = eFm
|
||||||
bool Image::initWithImageFileThreadSafe(const char *fullpath, EImageFormat imageType)
|
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;
|
bool bRet = false;
|
||||||
unsigned long nSize = 0;
|
unsigned long nSize = 0;
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/kazmath/include"/>
|
<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/libfreetype2"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libpng"/>
|
<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/libjpeg"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
<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/kazmath/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
<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/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/libjpeg"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
<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/libfreetype.a"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libcurl.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/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/libpng.a"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libjpeg.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"/>
|
<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/kazmath/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
<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/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/libjpeg"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
<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/kazmath/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
<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/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/libjpeg"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
<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/libfreetype.a"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libcurl.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/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/libpng.a"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/libjpeg.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"/>
|
<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/kazmath/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
<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/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/libjpeg"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
<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/kazmath/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
<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/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/libjpeg"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
<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/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/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/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/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/libjpeg.a"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libwebp.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/kazmath/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
<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/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/libjpeg"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
<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/kazmath/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libfreetype2"/>
|
<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/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/libjpeg"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libtiff/include"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libwebp"/>
|
<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/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/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/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/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/libjpeg.a"/>
|
||||||
<listOptionValue builtIn="false" value="../../../cocos2dx/platform/third_party/linux/libraries/lib64/libwebp.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)
|
ZipFile::ZipFile(const std::string &zipFile, const std::string &filter)
|
||||||
: _data(new ZipFilePrivate)
|
: _data(new ZipFilePrivate)
|
||||||
, _dataThread(new ZipFilePrivate)
|
|
||||||
{
|
{
|
||||||
_data->zipFile = unzOpen(zipFile.c_str());
|
_data->zipFile = unzOpen(zipFile.c_str());
|
||||||
_dataThread->zipFile = unzOpen(zipFile.c_str());
|
setFilter(filter);
|
||||||
if (_data->zipFile && _dataThread->zipFile)
|
|
||||||
{
|
|
||||||
setFilter(filter);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ZipFile::~ZipFile()
|
ZipFile::~ZipFile()
|
||||||
|
@ -472,36 +467,32 @@ ZipFile::~ZipFile()
|
||||||
{
|
{
|
||||||
unzClose(_data->zipFile);
|
unzClose(_data->zipFile);
|
||||||
}
|
}
|
||||||
if (_dataThread && _dataThread->zipFile)
|
|
||||||
{
|
|
||||||
unzClose(_dataThread->zipFile);
|
|
||||||
}
|
|
||||||
CC_SAFE_DELETE(_data);
|
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;
|
bool ret = false;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
CC_BREAK_IF(!data);
|
CC_BREAK_IF(!_data);
|
||||||
CC_BREAK_IF(!data->zipFile);
|
CC_BREAK_IF(!_data->zipFile);
|
||||||
|
|
||||||
// clear existing file list
|
// clear existing file list
|
||||||
data->fileList.clear();
|
_data->fileList.clear();
|
||||||
|
|
||||||
// UNZ_MAXFILENAMEINZIP + 1 - it is done so in unzLocateFile
|
// UNZ_MAXFILENAMEINZIP + 1 - it is done so in unzLocateFile
|
||||||
char szCurrentFileName[UNZ_MAXFILENAMEINZIP + 1];
|
char szCurrentFileName[UNZ_MAXFILENAMEINZIP + 1];
|
||||||
unz_file_info64 fileInfo;
|
unz_file_info64 fileInfo;
|
||||||
|
|
||||||
// go through all files and store position information about the required files
|
// 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);
|
szCurrentFileName, sizeof(szCurrentFileName) - 1);
|
||||||
while (err == UNZ_OK)
|
while (err == UNZ_OK)
|
||||||
{
|
{
|
||||||
unz_file_pos posInfo;
|
unz_file_pos posInfo;
|
||||||
int posErr = unzGetFilePos(data->zipFile, &posInfo);
|
int posErr = unzGetFilePos(_data->zipFile, &posInfo);
|
||||||
if (posErr == UNZ_OK)
|
if (posErr == UNZ_OK)
|
||||||
{
|
{
|
||||||
std::string currentFileName = szCurrentFileName;
|
std::string currentFileName = szCurrentFileName;
|
||||||
|
@ -512,11 +503,11 @@ bool ZipFile::setFilter(const std::string &filter, ZipFilePrivate *data)
|
||||||
ZipEntryInfo entry;
|
ZipEntryInfo entry;
|
||||||
entry.pos = posInfo;
|
entry.pos = posInfo;
|
||||||
entry.uncompressed_size = (uLong)fileInfo.uncompressed_size;
|
entry.uncompressed_size = (uLong)fileInfo.uncompressed_size;
|
||||||
data->fileList[currentFileName] = entry;
|
_data->fileList[currentFileName] = entry;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// next file - also get the information about it
|
// next file - also get the information about it
|
||||||
err = unzGoToNextFile64(data->zipFile, &fileInfo,
|
err = unzGoToNextFile64(_data->zipFile, &fileInfo,
|
||||||
szCurrentFileName, sizeof(szCurrentFileName) - 1);
|
szCurrentFileName, sizeof(szCurrentFileName) - 1);
|
||||||
}
|
}
|
||||||
ret = true;
|
ret = true;
|
||||||
|
@ -526,11 +517,6 @@ bool ZipFile::setFilter(const std::string &filter, ZipFilePrivate *data)
|
||||||
return ret;
|
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 ZipFile::fileExists(const std::string &fileName) const
|
||||||
{
|
{
|
||||||
bool ret = false;
|
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)
|
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;
|
unsigned char * pBuffer = NULL;
|
||||||
if (pSize)
|
if (pSize)
|
||||||
|
@ -559,29 +540,29 @@ unsigned char *ZipFile::getFileData(const std::string &fileName, unsigned long *
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
CC_BREAK_IF(!data->zipFile);
|
CC_BREAK_IF(!_data->zipFile);
|
||||||
CC_BREAK_IF(fileName.empty());
|
CC_BREAK_IF(fileName.empty());
|
||||||
|
|
||||||
ZipFilePrivate::FileListContainer::const_iterator it = data->fileList.find(fileName);
|
ZipFilePrivate::FileListContainer::const_iterator it = _data->fileList.find(fileName);
|
||||||
CC_BREAK_IF(it == data->fileList.end());
|
CC_BREAK_IF(it == _data->fileList.end());
|
||||||
|
|
||||||
ZipEntryInfo fileInfo = it->second;
|
ZipEntryInfo fileInfo = it->second;
|
||||||
|
|
||||||
int nRet = unzGoToFilePos(data->zipFile, &fileInfo.pos);
|
int nRet = unzGoToFilePos(_data->zipFile, &fileInfo.pos);
|
||||||
CC_BREAK_IF(UNZ_OK != nRet);
|
CC_BREAK_IF(UNZ_OK != nRet);
|
||||||
|
|
||||||
nRet = unzOpenCurrentFile(data->zipFile);
|
nRet = unzOpenCurrentFile(_data->zipFile);
|
||||||
CC_BREAK_IF(UNZ_OK != nRet);
|
CC_BREAK_IF(UNZ_OK != nRet);
|
||||||
|
|
||||||
pBuffer = new unsigned char[fileInfo.uncompressed_size];
|
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");
|
CCAssert(nSize == 0 || nSize == (int)fileInfo.uncompressed_size, "the file size is wrong");
|
||||||
|
|
||||||
if (pSize)
|
if (pSize)
|
||||||
{
|
{
|
||||||
*pSize = fileInfo.uncompressed_size;
|
*pSize = fileInfo.uncompressed_size;
|
||||||
}
|
}
|
||||||
unzCloseCurrentFile(data->zipFile);
|
unzCloseCurrentFile(_data->zipFile);
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
return pBuffer;
|
return pBuffer;
|
||||||
|
|
|
@ -171,10 +171,6 @@ namespace cocos2d
|
||||||
class ZipFile
|
class ZipFile
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
|
|
||||||
friend class FileUtilsAndroid;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor, open zip file and store file list.
|
* Constructor, open zip file and store file list.
|
||||||
*
|
*
|
||||||
|
@ -220,13 +216,8 @@ namespace cocos2d
|
||||||
unsigned char *getFileData(const std::string &fileName, unsigned long *pSize);
|
unsigned char *getFileData(const std::string &fileName, unsigned long *pSize);
|
||||||
|
|
||||||
private:
|
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 */
|
/** Internal data like zip file pointer / file list array and so on */
|
||||||
ZipFilePrivate *_data;
|
ZipFilePrivate *_data;
|
||||||
/** Another data used not in main thread */
|
|
||||||
ZipFilePrivate *_dataThread;
|
|
||||||
};
|
};
|
||||||
} // end of namespace cocos2d
|
} // end of namespace cocos2d
|
||||||
#endif // __SUPPORT_ZIPUTILS_H__
|
#endif // __SUPPORT_ZIPUTILS_H__
|
||||||
|
|
|
@ -108,6 +108,9 @@ CCBReader::CCBReader(CCBReader * pCCBReader)
|
||||||
this->mOwnerOutletNames = pCCBReader->mOwnerOutletNames;
|
this->mOwnerOutletNames = pCCBReader->mOwnerOutletNames;
|
||||||
this->mOwnerOutletNodes = pCCBReader->mOwnerOutletNodes;
|
this->mOwnerOutletNodes = pCCBReader->mOwnerOutletNodes;
|
||||||
this->mOwnerOutletNodes->retain();
|
this->mOwnerOutletNodes->retain();
|
||||||
|
|
||||||
|
this->mCCBRootPath = pCCBReader->getCCBRootPath();
|
||||||
|
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,8 @@ static const int CC_EDIT_BOX_PADDING = 5;
|
||||||
textField_.backgroundColor = [UIColor clearColor];
|
textField_.backgroundColor = [UIColor clearColor];
|
||||||
textField_.borderStyle = UITextBorderStyleNone;
|
textField_.borderStyle = UITextBorderStyleNone;
|
||||||
textField_.delegate = self;
|
textField_.delegate = self;
|
||||||
textField_.returnKeyType = UIReturnKeyDefault;
|
textField_.hidden = true;
|
||||||
|
textField_.returnKeyType = UIReturnKeyDefault;
|
||||||
[textField_ addTarget:self action:@selector(textChanged) forControlEvents:UIControlEventEditingChanged];
|
[textField_ addTarget:self action:@selector(textChanged) forControlEvents:UIControlEventEditingChanged];
|
||||||
self.editBox = editBox;
|
self.editBox = editBox;
|
||||||
|
|
||||||
|
|
|
@ -4,16 +4,16 @@
|
||||||
android:versionName="3.2.0"
|
android:versionName="3.2.0"
|
||||||
android:installLocation="preferExternal">
|
android:installLocation="preferExternal">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
|
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||||
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
|
<uses-permission android:name="android.permission.SEND_SMS"/>
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
<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.CALL_PHONE" />
|
||||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
<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"
|
<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:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
||||||
android:windowSoftInputMode="adjustPan" android:windowBackground="@null"
|
android:windowSoftInputMode="adjustPan" android:windowBackground="@null"
|
||||||
android:launchMode="singleTask"/>
|
android:launchMode="singleTask"/>
|
||||||
|
|
||||||
<activity android:name="com.nd.commplatform.activity.SNSLoginActivity"
|
<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:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
||||||
android:windowSoftInputMode="adjustPan" android:screenOrientation="landscape"
|
android:windowSoftInputMode="adjustPan" android:screenOrientation="landscape"
|
||||||
android:windowBackground="@null"
|
android:windowBackground="@null"
|
||||||
android:launchMode="singleTask"/>
|
android:launchMode="singleTask"/>
|
||||||
|
|
||||||
<activity android:name="com.nd.commplatform.activity.SNSAppPromotionActivity"
|
<activity android:name=".SNSAppPromotionActivity"
|
||||||
android:configChanges="orientation|keyboardHidden|navigation"
|
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
|
||||||
android:windowSoftInputMode="adjustPan"
|
android:windowSoftInputMode="adjustPan"
|
||||||
android:theme="@android:style/Theme.NoTitleBar"
|
android:theme="@android:style/Theme.NoTitleBar"
|
||||||
android:windowBackground="@null"/>
|
android:windowBackground="@null"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
a19769aee91a80e7148db4238e0cb6df4cc5a250
|
|
@ -0,0 +1 @@
|
||||||
|
dad94a0903f7d1b167e72bc36e0b9134d49e7b69
|
|
@ -115,7 +115,9 @@
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:hint="@string/nd3_account_login_hint_account"
|
android:hint="@string/nd3_account_login_hint_account"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:inputType="textEmailAddress">
|
android:nextFocusDown="@+id/nd3_account_login_password"
|
||||||
|
android:inputType="textEmailAddress"
|
||||||
|
android:imeOptions="actionNext">
|
||||||
</AutoCompleteTextView>
|
</AutoCompleteTextView>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
@ -160,7 +162,8 @@
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:hint="@string/nd3_account_login_hint_password"
|
android:hint="@string/nd3_account_login_hint_password"
|
||||||
android:inputType="textPassword"
|
android:inputType="textPassword"
|
||||||
android:singleLine="true" >
|
android:singleLine="true"
|
||||||
|
android:imeOptions="actionDone" >
|
||||||
</EditText>
|
</EditText>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
@ -119,7 +119,9 @@
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:hint="@string/nd3_account_login_hint_account"
|
android:hint="@string/nd3_account_login_hint_account"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:inputType="textEmailAddress">
|
android:nextFocusDown="@+id/nd3_account_login_password"
|
||||||
|
android:inputType="textEmailAddress"
|
||||||
|
android:imeOptions="actionNext">
|
||||||
</AutoCompleteTextView>
|
</AutoCompleteTextView>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
@ -164,7 +166,8 @@
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:hint="@string/nd3_account_login_hint_password"
|
android:hint="@string/nd3_account_login_hint_password"
|
||||||
android:inputType="textPassword"
|
android:inputType="textPassword"
|
||||||
android:singleLine="true" >
|
android:singleLine="true"
|
||||||
|
android:imeOptions="actionDone">
|
||||||
</EditText>
|
</EditText>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
@ -113,6 +113,7 @@
|
||||||
android:maxLength="70"
|
android:maxLength="70"
|
||||||
android:hint="@string/nd3_account_register_hint_account"
|
android:hint="@string/nd3_account_register_hint_account"
|
||||||
style="@style/nd3_option_edittext_style"
|
style="@style/nd3_option_edittext_style"
|
||||||
|
android:imeOptions="actionNext"
|
||||||
>
|
>
|
||||||
</AutoCompleteTextView>
|
</AutoCompleteTextView>
|
||||||
|
|
||||||
|
@ -152,6 +153,7 @@
|
||||||
android:maxLength="12"
|
android:maxLength="12"
|
||||||
android:hint="@string/nd3_account_register_hint_password"
|
android:hint="@string/nd3_account_register_hint_password"
|
||||||
style="@style/nd3_option_edittext_style"
|
style="@style/nd3_option_edittext_style"
|
||||||
|
android:imeOptions="actionDone"
|
||||||
>
|
>
|
||||||
</EditText>
|
</EditText>
|
||||||
|
|
||||||
|
|
|
@ -109,6 +109,7 @@
|
||||||
android:maxLength="70"
|
android:maxLength="70"
|
||||||
android:hint="@string/nd3_account_register_hint_account"
|
android:hint="@string/nd3_account_register_hint_account"
|
||||||
style="@style/nd3_option_edittext_style"
|
style="@style/nd3_option_edittext_style"
|
||||||
|
android:imeOptions="actionNext"
|
||||||
>
|
>
|
||||||
</AutoCompleteTextView>
|
</AutoCompleteTextView>
|
||||||
|
|
||||||
|
@ -188,6 +189,7 @@
|
||||||
android:maxLength="12"
|
android:maxLength="12"
|
||||||
android:hint="@string/nd3_account_register_hint_password"
|
android:hint="@string/nd3_account_register_hint_password"
|
||||||
style="@style/nd3_option_edittext_style"
|
style="@style/nd3_option_edittext_style"
|
||||||
|
android:imeOptions="actionDone"
|
||||||
>
|
>
|
||||||
</EditText>
|
</EditText>
|
||||||
|
|
||||||
|
|
|
@ -4,16 +4,16 @@
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/nd3_empty_listview_txt"
|
android:id="@+id/nd3_empty_listview_txt"
|
||||||
android:text="@string/nd3_list_item_loading"
|
android:text="@string/nd3_list_item_loading"
|
||||||
android:textColor="@color/nd3_black"
|
android:textColor="@color/nd3_black"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/nd3_margin_size"/>
|
android:layout_margin="@dimen/nd3_margin_size"/>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/nd3_horizontal_line"
|
android:background="@drawable/nd3_horizontal_line"
|
||||||
android:layout_below="@id/nd3_empty_listview_txt"/>
|
android:layout_below="@id/nd3_empty_listview_txt"/>
|
||||||
</RelativeLayout>
|
</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>
|
|
@ -38,9 +38,9 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:id="@+id/nd_app_desc"
|
android:id="@+id/nd_app_desc"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textColor="#f43f00"
|
android:textColor="#f43f00"
|
||||||
android:singleLine="true"
|
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
|
android:maxLines="2"
|
||||||
/>
|
/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
<color name="nd3_records_time_bg_color_2">#FFd8d8df</color>
|
<color name="nd3_records_time_bg_color_2">#FFd8d8df</color>
|
||||||
|
|
||||||
<color name="nd3_orchid_color">#FF9dc4ed</color>
|
<color name="nd3_orchid_color">#FF9dc4ed</color>
|
||||||
|
<color name="nd_orange_light">#ffffbb33</color>
|
||||||
|
|
||||||
<!-- 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_download">立即下载</string>
|
||||||
<string name="nd_softpromotion_none">暂时没有待推广的应用</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_start">正在请求下载地址……</string>
|
||||||
<string name="nd_softpromotion_download_url_fail">获取下载地址失败</string>
|
<string name="nd_softpromotion_download_url_fail">获取下载地址失败</string>
|
||||||
<string name="nd_softpromotion_download_fail">%1$s 下载失败</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_start">开始下载 %1$s</string>
|
||||||
<string name="nd_softpromotion_download_finish">%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>
|
</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.NdCommplatform;
|
||||||
import com.nd.commplatform.NdErrorCode;
|
import com.nd.commplatform.NdErrorCode;
|
||||||
import com.nd.commplatform.NdMiscCallbackListener;
|
import com.nd.commplatform.NdMiscCallbackListener;
|
||||||
import com.nd.commplatform.entry.NdAppInfo;
|
|
||||||
import com.nd.commplatform.entry.NdBuyInfo;
|
import com.nd.commplatform.entry.NdBuyInfo;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.ConnectivityManager;
|
|
||||||
import android.net.NetworkInfo;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
public class IAPNd91 implements InterfaceIAP {
|
public class IAPNd91 implements InterfaceIAP {
|
||||||
|
@ -70,27 +67,12 @@ public class IAPNd91 implements InterfaceIAP {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
String appId = curCPInfo.get("Nd91AppId");
|
String appId = curCPInfo.get("Nd91AppId");
|
||||||
String appKey = curCPInfo.get("Nd91AppKey");
|
String appKey = curCPInfo.get("Nd91AppKey");
|
||||||
int id = Integer.parseInt(appId);
|
int id = Integer.parseInt(appId);
|
||||||
|
|
||||||
NdAppInfo appInfo = new NdAppInfo();
|
String orientation = curCPInfo.get("Nd91Orientation");
|
||||||
appInfo.setCtx(mContext);
|
Nd91Wrapper.initSDK(mContext, id, appKey, orientation);
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LogE("Developer info is wrong!", e);
|
LogE("Developer info is wrong!", e);
|
||||||
}
|
}
|
||||||
|
@ -101,7 +83,7 @@ public class IAPNd91 implements InterfaceIAP {
|
||||||
@Override
|
@Override
|
||||||
public void payForProduct(Hashtable<String, String> info) {
|
public void payForProduct(Hashtable<String, String> info) {
|
||||||
LogD("payForProduct invoked " + info.toString());
|
LogD("payForProduct invoked " + info.toString());
|
||||||
if (! networkReachable()) {
|
if (! Nd91Wrapper.networkReachable(mContext)) {
|
||||||
payResult(IAPWrapper.PAYRESULT_FAIL, "网络不可用");
|
payResult(IAPWrapper.PAYRESULT_FAIL, "网络不可用");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -115,7 +97,7 @@ public class IAPNd91 implements InterfaceIAP {
|
||||||
PluginWrapper.runOnMainThread(new Runnable() {
|
PluginWrapper.runOnMainThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (! isLogin()) {
|
if (! Nd91Wrapper.isLogined()) {
|
||||||
userLogin();
|
userLogin();
|
||||||
} else {
|
} else {
|
||||||
addPayment(curProductInfo);
|
addPayment(curProductInfo);
|
||||||
|
@ -131,20 +113,7 @@ public class IAPNd91 implements InterfaceIAP {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getSDKVersion() {
|
public String getSDKVersion() {
|
||||||
return "Unknown version";
|
return Nd91Wrapper.getSDKVersion();
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void payResult(int ret, String msg) {
|
private static void payResult(int ret, String msg) {
|
||||||
|
@ -159,16 +128,10 @@ public class IAPNd91 implements InterfaceIAP {
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isLogin() {
|
|
||||||
boolean bRet = NdCommplatform.getInstance().isLogined();
|
|
||||||
LogD("isLogin : " + bRet);
|
|
||||||
return bRet;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void userLogin() {
|
private static void userLogin() {
|
||||||
LogD("User begin login");
|
LogD("User begin login");
|
||||||
try {
|
try {
|
||||||
NdCommplatform.getInstance().ndLogin(mContext, new NdMiscCallbackListener.OnLoginProcessListener() {
|
Nd91Wrapper.userLogin(mContext, new NdMiscCallbackListener.OnLoginProcessListener() {
|
||||||
@Override
|
@Override
|
||||||
public void finishLoginProcess(int code) {
|
public void finishLoginProcess(int code) {
|
||||||
if (code == NdErrorCode.ND_COM_PLATFORM_SUCCESS) {
|
if (code == NdErrorCode.ND_COM_PLATFORM_SUCCESS) {
|
||||||
|
@ -251,6 +214,6 @@ public class IAPNd91 implements InterfaceIAP {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPluginVersion() {
|
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[] = {
|
const std::string s_aTestCases[] = {
|
||||||
"QH360",
|
"QH360",
|
||||||
|
"ND91",
|
||||||
};
|
};
|
||||||
|
|
||||||
Scene* HelloWorld::scene()
|
Scene* HelloWorld::scene()
|
||||||
|
|
|
@ -33,6 +33,7 @@ MyUserManager* MyUserManager::s_pManager = NULL;
|
||||||
MyUserManager::MyUserManager()
|
MyUserManager::MyUserManager()
|
||||||
: _retListener(NULL)
|
: _retListener(NULL)
|
||||||
, _qh360(NULL)
|
, _qh360(NULL)
|
||||||
|
, _nd91(NULL)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -81,6 +82,25 @@ void MyUserManager::loadPlugin()
|
||||||
_qh360->setActionListener(_retListener);
|
_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()
|
void MyUserManager::unloadPlugin()
|
||||||
|
@ -90,6 +110,12 @@ void MyUserManager::unloadPlugin()
|
||||||
PluginManager::getInstance()->unloadPlugin("UserQH360");
|
PluginManager::getInstance()->unloadPlugin("UserQH360");
|
||||||
_qh360 = NULL;
|
_qh360 = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_nd91)
|
||||||
|
{
|
||||||
|
PluginManager::getInstance()->unloadPlugin("UserNd91");
|
||||||
|
_nd91 = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyUserManager::loginByMode(MyUserMode mode)
|
void MyUserManager::loginByMode(MyUserMode mode)
|
||||||
|
@ -100,6 +126,9 @@ void MyUserManager::loginByMode(MyUserMode mode)
|
||||||
case kQH360:
|
case kQH360:
|
||||||
pUser = _qh360;
|
pUser = _qh360;
|
||||||
break;
|
break;
|
||||||
|
case kND91:
|
||||||
|
pUser = _nd91;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -117,6 +146,9 @@ void MyUserManager::logoutByMode(MyUserMode mode)
|
||||||
case kQH360:
|
case kQH360:
|
||||||
pUser = _qh360;
|
pUser = _qh360;
|
||||||
break;
|
break;
|
||||||
|
case kND91:
|
||||||
|
pUser = _nd91;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -146,4 +178,7 @@ void MyUserActionResult::onActionResult(ProtocolUser* pPlugin, UserActionResultC
|
||||||
// get session ID
|
// get session ID
|
||||||
std::string sessionID = pPlugin->getSessionID();
|
std::string sessionID = pPlugin->getSessionID();
|
||||||
CCLog("User Session ID of plugin %s is : %s", pPlugin->getPluginName(), sessionID.c_str());
|
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 {
|
typedef enum {
|
||||||
kNoneMode = 0,
|
kNoneMode = 0,
|
||||||
kQH360,
|
kQH360,
|
||||||
|
kND91,
|
||||||
} MyUserMode;
|
} MyUserMode;
|
||||||
|
|
||||||
void unloadPlugin();
|
void unloadPlugin();
|
||||||
|
@ -55,6 +56,7 @@ private:
|
||||||
static MyUserManager* s_pManager;
|
static MyUserManager* s_pManager;
|
||||||
|
|
||||||
cocos2d::plugin::ProtocolUser* _qh360;
|
cocos2d::plugin::ProtocolUser* _qh360;
|
||||||
|
cocos2d::plugin::ProtocolUser* _nd91;
|
||||||
MyUserActionResult* _retListener;
|
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/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/360SDK.jar"/>
|
||||||
<classpathentry exported="true" kind="lib" path="plugin-x/plugins/qh360/android/libPluginQH360.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"/>
|
<classpathentry kind="output" path="bin/classes"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
|
@ -11,3 +11,4 @@
|
||||||
target=android-17
|
target=android-17
|
||||||
|
|
||||||
android.library.reference.1=../../../../cocos2dx/platform/android/java
|
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 initWithImageFile(const char * strPath, EImageFormat imageType = kFmtPng);
|
||||||
bool initWithImageFileThreadSafe(const char *fullpath, EImageFormat imageType = kFmtPng);
|
|
||||||
bool initWithImageData(void * pData,
|
bool initWithImageData(void * pData,
|
||||||
int nDataLen,
|
int nDataLen,
|
||||||
EImageFormat eFmt = kFmtUnKnown,
|
EImageFormat eFmt = kFmtUnKnown,
|
||||||
|
|
Loading…
Reference in New Issue