Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
DoraemonKit
提交
0a94ffbd
D
DoraemonKit
项目概览
DiDi
/
DoraemonKit
12 个月 前同步成功
通知
166
Star
19623
Fork
3062
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DoraemonKit
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0a94ffbd
编写于
2月 27, 2020
作者:
Y
yixiangboy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
卡顿堆栈支持导出
上级
28d50b2b
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
61 addition
and
23 deletion
+61
-23
iOS/DoraemonKit/Src/Core/Base/DoraemonBaseViewController.h
iOS/DoraemonKit/Src/Core/Base/DoraemonBaseViewController.h
+2
-0
iOS/DoraemonKit/Src/Core/Base/DoraemonBaseViewController.m
iOS/DoraemonKit/Src/Core/Base/DoraemonBaseViewController.m
+13
-0
iOS/DoraemonKit/Src/Core/Plugin/ANR/Detail/DoraemonANRDetailViewController.h
.../Core/Plugin/ANR/Detail/DoraemonANRDetailViewController.h
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/ANR/Detail/DoraemonANRDetailViewController.m
.../Core/Plugin/ANR/Detail/DoraemonANRDetailViewController.m
+13
-0
iOS/DoraemonKit/Src/Core/Plugin/ANR/List/DoraemonANRListViewController.m
.../Src/Core/Plugin/ANR/List/DoraemonANRListViewController.m
+1
-1
iOS/DoraemonKit/Src/Core/Plugin/Sanbox/VC/DoraemonSandboxViewController.m
...Src/Core/Plugin/Sanbox/VC/DoraemonSandboxViewController.m
+2
-21
iOS/DoraemonKit/Src/Core/Util/DoraemonUtil.h
iOS/DoraemonKit/Src/Core/Util/DoraemonUtil.h
+3
-0
iOS/DoraemonKit/Src/Core/Util/DoraemonUtil.m
iOS/DoraemonKit/Src/Core/Util/DoraemonUtil.m
+26
-0
未找到文件。
iOS/DoraemonKit/Src/Core/Base/DoraemonBaseViewController.h
浏览文件 @
0a94ffbd
...
...
@@ -17,5 +17,7 @@
-
(
void
)
setLeftNavBarItems
:(
NSArray
*
)
items
;
-
(
void
)
leftNavBackClick
:(
id
)
clickView
;
-
(
void
)
setRightNavTitle
:(
NSString
*
)
title
;
-
(
void
)
rightNavTitleClick
:(
id
)
clickView
;
@end
iOS/DoraemonKit/Src/Core/Base/DoraemonBaseViewController.m
浏览文件 @
0a94ffbd
...
...
@@ -122,6 +122,15 @@
}
}
-
(
void
)
setRightNavTitle
:(
NSString
*
)
title
{
DoraemonNavBarItemModel
*
item
=
[[
DoraemonNavBarItemModel
alloc
]
initWithText
:
title
color
:[
UIColor
doraemon_blue
]
selector
:
@selector
(
rightNavTitleClick
:
)];
NSArray
*
barItems
=
[
self
navigationItems
:@[
item
]];
if
(
barItems
)
{
self
.
navigationItem
.
rightBarButtonItems
=
barItems
;
}
}
-
(
NSArray
*
)
navigationItems
:(
NSArray
*
)
items
{
NSMutableArray
*
barItems
=
[
NSMutableArray
array
];
//距离左右的间距
...
...
@@ -174,6 +183,10 @@
[
self
leftNavBackClick
:
nil
];
}
-
(
void
)
rightNavTitleClick
:(
id
)
clickView
{
}
//点击屏幕空白处收起键盘
-
(
void
)
touchesBegan
:(
NSSet
<
UITouch
*>
*
)
touches
withEvent
:(
UIEvent
*
)
event
{
[
self
.
view
endEditing
:
YES
];
...
...
iOS/DoraemonKit/Src/Core/Plugin/ANR/Detail/DoraemonANRDetailViewController.h
浏览文件 @
0a94ffbd
...
...
@@ -9,6 +9,6 @@
@interface
DoraemonANRDetailViewController
:
DoraemonBaseViewController
@property
(
nonatomic
,
strong
)
NS
Dictionary
*
anrInfo
;
@property
(
nonatomic
,
strong
)
NS
String
*
filePath
;
@end
iOS/DoraemonKit/Src/Core/Plugin/ANR/Detail/DoraemonANRDetailViewController.m
浏览文件 @
0a94ffbd
...
...
@@ -7,11 +7,13 @@
#import "DoraemonANRDetailViewController.h"
#import "DoraemonDefine.h"
#import "DoraemonUtil.h"
@interface
DoraemonANRDetailViewController
()
@property
(
nonatomic
,
strong
)
UILabel
*
anrTimeLabel
;
@property
(
nonatomic
,
strong
)
UILabel
*
contentLabel
;
@property
(
nonatomic
,
strong
)
NSDictionary
*
anrInfo
;
@end
...
...
@@ -20,6 +22,9 @@
-
(
void
)
viewDidLoad
{
[
super
viewDidLoad
];
self
.
title
=
DoraemonLocalizedString
(
@"卡顿详情"
);
[
self
setRightNavTitle
:
@"导出"
];
self
.
anrInfo
=
[
NSDictionary
dictionaryWithContentsOfFile
:
self
.
filePath
];
_contentLabel
=
[[
UILabel
alloc
]
init
];
_contentLabel
.
textColor
=
[
UIColor
doraemon_black_2
];
...
...
@@ -38,7 +43,15 @@
[
_anrTimeLabel
sizeToFit
];
_anrTimeLabel
.
frame
=
CGRectMake
(
20
,
_contentLabel
.
doraemon_bottom
+
20
,
_anrTimeLabel
.
doraemon_width
,
_anrTimeLabel
.
doraemon_height
);
[
self
.
view
addSubview
:
_anrTimeLabel
];
}
-
(
void
)
rightNavTitleClick
:(
id
)
clickView
{
[
DoraemonUtil
shareFileWithPath
:
self
.
filePath
formVC
:
self
];
}
@end
iOS/DoraemonKit/Src/Core/Plugin/ANR/List/DoraemonANRListViewController.m
浏览文件 @
0a94ffbd
...
...
@@ -154,7 +154,7 @@
DoraemonSandboxModel
*
model
=
[
self
.
anrArray
objectAtIndex
:
indexPath
.
row
];
if
(
model
.
type
==
DoraemonSandboxFileTypeFile
)
{
DoraemonANRDetailViewController
*
vc
=
[[
DoraemonANRDetailViewController
alloc
]
init
];
vc
.
anrInfo
=
[
NSDictionary
dictionaryWithContentsOfFile
:
model
.
path
]
;
vc
.
filePath
=
model
.
path
;
[
self
.
navigationController
pushViewController
:
vc
animated
:
YES
];
}
else
if
(
model
.
type
==
DoraemonSandboxFileTypeDirectory
)
{
[
self
loadPath
:
model
.
path
];
...
...
iOS/DoraemonKit/Src/Core/Plugin/Sanbox/VC/DoraemonSandboxViewController.m
浏览文件 @
0a94ffbd
...
...
@@ -12,6 +12,7 @@
#import "DoraemonAppInfoUtil.h"
#import "DoraemonDefine.h"
#import "DoraemonSandboxCell.h"
#import "DoraemonUtil.h"
@interface
DoraemonSandboxViewController
()
<
UITableViewDelegate
,
UITableViewDataSource
>
...
...
@@ -223,27 +224,7 @@
-
(
void
)
shareFileWithPath
:(
NSString
*
)
filePath
{
NSURL
*
url
=
[
NSURL
fileURLWithPath
:
filePath
];
NSArray
*
objectsToShare
=
@[
url
];
UIActivityViewController
*
controller
=
[[
UIActivityViewController
alloc
]
initWithActivityItems
:
objectsToShare
applicationActivities
:
nil
];
NSArray
*
excludedActivities
=
@[
UIActivityTypePostToTwitter
,
UIActivityTypePostToFacebook
,
UIActivityTypePostToWeibo
,
UIActivityTypeMessage
,
UIActivityTypeMail
,
UIActivityTypePrint
,
UIActivityTypeCopyToPasteboard
,
UIActivityTypeAssignToContact
,
UIActivityTypeSaveToCameraRoll
,
UIActivityTypeAddToReadingList
,
UIActivityTypePostToFlickr
,
UIActivityTypePostToVimeo
,
UIActivityTypePostToTencentWeibo
];
controller
.
excludedActivityTypes
=
excludedActivities
;
if
([
DoraemonAppInfoUtil
isIpad
]){
if
(
[
controller
respondsToSelector
:
@selector
(
popoverPresentationController
)]
)
{
controller
.
popoverPresentationController
.
sourceView
=
self
.
view
;
}
[
self
presentViewController
:
controller
animated
:
YES
completion
:
nil
];
}
else
{
[
self
presentViewController
:
controller
animated
:
YES
completion
:
nil
];
}
[
DoraemonUtil
shareFileWithPath
:
filePath
formVC
:
self
];
}
-
(
void
)
deleteByDoraemonSandboxModel
:(
DoraemonSandboxModel
*
)
model
{
...
...
iOS/DoraemonKit/Src/Core/Util/DoraemonUtil.h
浏览文件 @
0a94ffbd
...
...
@@ -47,6 +47,9 @@
+
(
void
)
clearLocalDatas
;
//分享文件
+
(
void
)
shareFileWithPath
:(
NSString
*
)
filePath
formVC
:(
UIViewController
*
)
vc
;
+
(
void
)
openPlugin
:(
UIViewController
*
)
vc
__attribute__
((
deprecated
(
"此方法已弃用,请使用[DoraemonHomeWindow openPlugin:vc];"
)));
+
(
UIViewController
*
)
rootViewControllerForKeyWindow
__attribute__
((
deprecated
(
"此方法已弃用,请使用[UIViewController rootViewControllerForKeyWindow]"
)));
...
...
iOS/DoraemonKit/Src/Core/Util/DoraemonUtil.m
浏览文件 @
0a94ffbd
...
...
@@ -9,6 +9,7 @@
#import "DoraemonUtil.h"
#import "UIViewController+Doraemon.h"
#import "DoraemonHomeWindow.h"
#import "DoraemonAppInfoUtil.h"
@implementation
DoraemonUtil
...
...
@@ -243,4 +244,29 @@
return
[
UIViewController
topViewControllerForKeyWindow
];
}
//分享文件
+
(
void
)
shareFileWithPath
:(
NSString
*
)
filePath
formVC
:(
UIViewController
*
)
vc
{
NSURL
*
url
=
[
NSURL
fileURLWithPath
:
filePath
];
NSArray
*
objectsToShare
=
@[
url
];
UIActivityViewController
*
controller
=
[[
UIActivityViewController
alloc
]
initWithActivityItems
:
objectsToShare
applicationActivities
:
nil
];
NSArray
*
excludedActivities
=
@[
UIActivityTypePostToTwitter
,
UIActivityTypePostToFacebook
,
UIActivityTypePostToWeibo
,
UIActivityTypeMessage
,
UIActivityTypeMail
,
UIActivityTypePrint
,
UIActivityTypeCopyToPasteboard
,
UIActivityTypeAssignToContact
,
UIActivityTypeSaveToCameraRoll
,
UIActivityTypeAddToReadingList
,
UIActivityTypePostToFlickr
,
UIActivityTypePostToVimeo
,
UIActivityTypePostToTencentWeibo
];
controller
.
excludedActivityTypes
=
excludedActivities
;
if
([
DoraemonAppInfoUtil
isIpad
]){
if
(
[
controller
respondsToSelector
:
@selector
(
popoverPresentationController
)]
)
{
controller
.
popoverPresentationController
.
sourceView
=
vc
.
view
;
}
[
vc
presentViewController
:
controller
animated
:
YES
completion
:
nil
];
}
else
{
[
vc
presentViewController
:
controller
animated
:
YES
completion
:
nil
];
}
}
@end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录