ECode CAboutActivity::OnCreate( /* [in] */ IBundle* savedInstanceState) { Logger::D(TAG, "OnCreate()---"); Activity::OnCreate(savedInstanceState); SetContentView(R::layout::activity_about); AutoPtr<MyListener> l = new MyListener(this); AutoPtr<IView> view = FindViewById(R::id::about_back); mBackButton = IImageView::Probe(view); assert(mBackButton != NULL); mBackButton->SetOnClickListener(l.Get()); view = FindViewById(R::id::about_version); AutoPtr<ITextView> versionView = ITextView::Probe(view); assert(versionView != NULL); String pkgName, pkgVersion; AutoPtr<IPackageManager> pkgMgr; AutoPtr<IPackageInfo> pkgInfo; GetPackageName(&pkgName); GetPackageManager((IPackageManager**)&pkgMgr); pkgMgr->GetPackageInfo(pkgName, 0, (IPackageInfo**)&pkgInfo); pkgInfo->GetVersionName(&pkgVersion); Logger::D(TAG, "OnCreate()---pkgVersion:%s", pkgVersion.string()); AutoPtr<ICharSequence> cs; CStringWrapper::New(pkgVersion, (ICharSequence**)&cs); versionView->SetText(cs); return NOERROR; }
int Exec(const TCHAR *Package, DWORD dwPackParam, DWORD dwCmdLine, const TCHAR *output, const TCHAR *args) { wstring _pack((wchar_t*)Package); wstring packName = GetPackageName(_pack); setlocale(0, "Japanese"); FILE* f = _wfopen(Package, L"rb"); if (f) { fseek(f, 0, SEEK_END); size_t flength = ftell(f); fseek(f, 0, SEEK_SET); buf = (unsigned char*)malloc(flength); fread(buf, flength, 1, f); fclose(f); //FILE* txt = _wfopen(L"test.txt",L"wb"); wchar_t new_name[1024]; wsprintf(new_name, L"%s.txt", packName.c_str()); FILE* txt = _wfopen(new_name, L"wb"); SCENEHEADER *sce_header = (SCENEHEADER*)buf; PFILE_INFO string_index = (PFILE_INFO)&buf[sce_header->string_index_pair.offset]; wchar_t* string_data = (wchar_t*)&buf[sce_header->string_data_pair.offset]; fwrite("\xFF\xFE", 2, 1, txt); for (DWORD x = 0; x<sce_header->string_index_pair.count; x++) { PFILE_INFO info = &string_index[x]; wchar_t* info_str = &string_data[info->offset]; wchar_t* new_str = new wchar_t[info->length * 2]; memset(new_str, 0, sizeof(wchar_t)* info->length * 2); decrypt_string(info_str, new_str, info->length, x); for (int i = 0; i<info->length; i++) { fwprintf(txt, L"%c", new_str[i]); } fwprintf(txt, L"\r\n"); delete new_str; } } return 0; }
Int32 SystemProperties::CheckIfPackagesAllowed() { // try{ if (mPrivacySettingsManager == NULL) { // Log.e(PRIVACY_TAG,"return GOT_ERROR, because pSetMan is NULL"); return GOT_ERROR; } AutoPtr<IPrivacySettings> settings; AutoPtr<ArrayOf<String> > packageNames = GetPackageName(); Int32 uid = Process::MyUid(); if (packageNames != NULL){ Byte cs; for (Int32 i = 0; i < packageNames->GetLength(); i++) { settings = NULL; mPrivacySettingsManager->GetSettings((*packageNames)[i], uid, (IPrivacySettings**)&settings); //if settings is NULL, we allow application to access to mic if (settings != NULL) { settings->GetCameraSetting(&cs); if (cs != IPrivacySettings::REAL) { return IS_NOT_ALLOWED; } } } return IS_ALLOWED; } // Log.e(PRIVACY_TAG,"return GOT_ERROR, because package_names are NULL"); return GOT_ERROR; // } // catch (Exception e){ // e.printStackTrace(); // Log.e(PRIVACY_TAG,"Got exception in checkIfPackagesAllowed"); // return GOT_ERROR; // } }